1、如果你的程式需要的資料是儲存在CPU寄存器中的,那麼在執行期間,在零個周期內就能訪問到它們。如果儲存在高速緩衝中,需要1~10個周期。如果儲存在主存中,需要50~100個周期。如果儲存在磁碟上,需要約20000000個周期。
2、隨機訪問儲存空間(RAM,Random-access memory)分為兩類-靜態和動態。靜態RAM(SRAM)比動態RAM(DRAM)更快,但也貴很多。SRAM用來作為快取儲存空間,即可以在CPU晶片上,也可以不在CPU晶片上。DRAM用來作為主存以及圖形系統的框架緩衝區。
3、靜態RAM
SRAM將每個位儲存在一個雙穩態(bistable)儲存空間單元(cell)中。每個單元是用一個六晶體管電路來實現的。這個電路的一個屬性是:它可以無限制地保持在兩個不同的電壓配置(configuration)或狀態(state)之一。其他任何狀態都是不穩定的。
由於SRAM的雙穩態特性,只要有電,它就會永遠地保持它的值,即使有幹擾,如電子噪音,當幹擾消除,電路也能恢複到穩定值。
4、動態RAM
DRAM將每個位儲存為對電容的充電。電容約為30×10-15F。
泄露電流的各種因素會導致DRAM單元在10~100毫秒內失去電荷。電腦啟動並執行刻度是以納秒來衡量的。
電腦界,傾向於把DRAM的陣列單元稱為單元(cell),電路設計者傾向於稱之為字(word)。這裡稱為supercell。
可以看出,二維陣列組織的缺點就是必須分兩步發送地址,這增加了訪問時間。
5、168個管腳的雙列直插儲存空間模組(Dual Inline Memory Module,DIMM),它以64位為塊傳送資料到儲存控制器和從儲存控制器傳出資料;72個管腳的單列直插儲存空間模組(Single Inline Memory Module,SIMM),它以32位為塊傳送資料。
6、SDRAM(synchronous DARM,同步DRAM),SDRAM用與驅動儲存空間相同的外部時鐘訊號的上升沿來代替許多這樣的控制訊號。
DDR SDRAM(double data-rate synchronous DRAM,雙倍資料數率同步DRAM)。DDR SDARM是對SDRAM的一種增加,它通過使用時鐘的兩個邊沿作為控制訊號,從而使DRAM的速度翻倍。
7、EEPROM(electrically erasable programmable ROM,電子可擦除PROM),類似於DPROM,但是它不需要一個物理上獨立的編程裝置,因此可以直接在印製電路卡上編程。EEPROM能夠編程的次數量級可達10e5次。快閃記憶體(flash memory)是一個類小的非易失性儲存空間,基於EEPROM,支援插撥。
8、儲存在ROM裝置中的程式通常稱為韌體(firmware)。
9、訪問主存
讀事務(read transaction)從主存傳送資料到CPU;寫事務(write transcation)從CPU傳送資料到主存。
匯流排是一組並行的導線,能攜帶地址,資料,的控制訊號。
1)讀事務語句
movl A,%eax;
CPU將地址A放到儲存空間匯流排->主存從匯流排讀出A,接收字x,然後將x放到匯流排上->CPU從匯流排讀出字x,並將它copy到寄存器eax中。
2)寫事務語句
movl %eax,A
CPU將地址A放到儲存空間匯流排,主存讀出這個地址,等待接收資料字->CPU將資料字y放到總路上->主存從匯流排讀資料字y,並將它儲存在地址A。
<Computer Systems:A Programmer's Perspective>