【阿摩網站-置頂欄顏色票選問卷】只要填寫就能獲得500Y,結束時間 2024/04/25 11:59:59。 前往查看

計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)題庫下載題庫

上一題
以下兩種不同版本的 C 程式,所有的變數皆為整數。 版本一: for (j=0; j<20; j++) /* Version 1 */ for (i=0; i<10000; i++) x[i][j] = x[i][j]+1; 版本二: for (i=0; i<10000; i++) /* Version 2 */ for (j=0; j<20; j++) x[i][j] = x[i][j]+1; 2 個程式先後在同一台電腦上面執行,該電腦的處理器中有 1 個直接對應的(direct-mapped)資料快取記憶體(data cache),其容量為 8KB,區塊長度(block size)為 16 位元組,假設軟體環境維持不變,也未受到其他程式的干擾,且程式執行時未發生任何錯誤(error),請問下列敘述何者正確?
(A)版本一比版本二快,因為版本一的資料快取記憶體的失誤率(cache miss rate)比較低
(B)版本一比版本二慢,因為版本一的資料快取記憶體的失誤率(cache miss rate)比較高
(C)兩種版本速度相同,因為兩版本的資料快取記憶體的失誤率(cache miss rate)相同
(D)兩種版本的程式結果不同,不能比較


答案:B
難度: 困難
1F
coolpanda771 國二下 (2013/10/25)
怎樣分辨?
2F
Adam Lin 高一上 (2016/04/06)
版本二再進行陣列的加減時,只需要執行迴圈20次,外圈雖要執行10000次,但沒有實際要操作的敘述
版本一,要進行陣列的加減10000次,次數越高,失誤率就越高,因此速度也會較慢。
3F
張育騰(已考上初、普、高考 大三下 (2017/10/03)
題目不完整,謝謝

以下兩種不同版本的 C 程式,所有的變數皆為整數。 版本一: for (..-阿摩線上測驗