『壹』 計算機題目,根據指令定址方式哪幾種指令執行時間訪問內存一次,哪幾種指令執行需訪問內存兩次
指令進行有三個階段:取指令;解碼;執行;
立即定址在取指令階段,訪問一次內存;在執行階段,不需要訪問內存;(一次)
直接定址在取指令階段,訪問一次內存;在執行階段,訪問一次內存;(兩次)
間接定址在取指令階段,訪問一次內存;在執行階段,訪問兩次內存;(三次)
寄存器直接定址在取指令階段,訪問一次內存;在執行階段,不需要訪問內存;(一次)
寄存器間接定址在取指令階段,訪問一次內存;在執行階段,訪問一內存;(兩次)
注意一般問訪問內存次數是指在執行階段;
『貳』 對一個將頁表放在內存中的分頁系統: (1) 如果訪問內存需要0.2μs,有效訪問時間為多少
分頁系統要訪問兩次:
1、第一次要訪問頁表,將頁號換成頁地址,並與偏移量相加,得出實際地址。
2、第二次要訪問實際的地址的,所以所用時間是0.4μs,如果有快表,命中率為90%,則訪問時間為0.2*90%+0.4*10%=0.18+0.04=0.22μs。
盡管在整個運行過程中程序引用的不同頁面總數(也就是虛擬內存大小)可能超出物理存儲器(DRAM)總大小,但是程序常常在較小的活動頁面(active page)上活動,這個集合叫作工作集(working set)或常駐集(resident set)。在工作集被緩存後,對它的反復調用將使程序命中提高,從而提高性能。
(2)訪問一次計算機內存所花的時間擴展閱讀:
分頁系統的時間計算:
輔助存儲器會用分頁的方式將文件存在經過平均分配大小的頁上,等到隨機存取存儲器需要使用時再寫回。如果在隨機存取存儲器釋放數據過後還需要更新數據,系統必須將數據先寫回後更新,再存入輔助存儲器中。高性能的系統需要在替換隨機存取存儲器上的數據時消耗較少的時間,所以一般的系統會採取最近最少使用演算法(LFU)來達到較高的效果。
『叄』 計算機訪問一次內存,ssd硬碟,sata硬碟的時間大概分別是多少
我拿點數據作為大致的參考哈,不過不確定和當今時代的差別有多大;;
訪問內存一次是100個時鍾周期以上,
訪問一次普通的硬碟在幾十萬盜數百萬個時鍾周期,
ssd速度是普通硬碟的十倍了,
訪問一次L1 cache大概是十個時鍾周期之內,
訪問一次L2 cache在20個時鍾周期之內,
訪問一次L3 cache在40個時鍾周期之內;
訪問一次寄存器在3-5個時鍾周期之內;
流水線寄存器在1個時鍾周期之內,大概是20ps(1ps=10^-12s)