20135223何偉欽 第六章家庭作業

2022-07-20 08:27:10 字數 776 閱讀 6111

(由於題6.36與6.35基本題型一樣,只是快取記憶體的資料位元組不一樣,我直接把6.35題目修改後作為6.36題目)

考慮下面的矩陣轉置函式:

typedef	int array[4][4];

void transpose2(array dst,array src)}}

假設這段**執行在一台具有如下屬性的機器上:

對於每個row和col,指明對src[row][col]和dst[row][col]的訪問是命中(h)還是不命中(m)。

(1)對於寫分配的快取記憶體,每次寫不命中時,需要讀取資料到快取記憶體中。

該快取記憶體只有 2 個組,src[0] src[2] 對應組 0,src[1] src[3] 對應組 1。

同理,dst[0] dst[2] 對應組 0,dst[1] dst[3] 對應組 1。

(2)快取能完全容得下兩個陣列,所以只會出現冷不命中。

}for(;i用10000*10000的陣列測試(linux下需要取消stack的大小限制才執行這麼大的陣列)

書上的程式平均需要 9.301s

優化後評價需要 3.830秒

mysql第六章 第六章 mysql日誌

第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...

20135223何偉欽 第三章家庭作業

3.54解析 此題較為簡單,只要對號入座,即可寫出相應的c語言 3.56解析 1 由c 函式的定義可先猜測得 esi x,ebx n 由result mask初始化以迴圈表示式的mask的使用可得 edi result,edx為mask,即是 暫存器 變數 esi x ebx n edi resul...

第六章 指標

1.多位元組資料的位址是在最左邊還是最右邊的位置,不同的機器有不同的規定,這也正是大端和小端的區別,位址也要遵從邊界對齊 2.高階語言的乙個特性就是通過名字而不是位址來訪問記憶體的位置,但是硬體仍然通過位址訪問記憶體位置 3.記憶體中的變數都是義序列的0或1的位,他們可以被解釋為整數或者其他,這取決...