存儲器系統可以簡(jiǎn)單的認為CPU存放指令和數據的地方,但是現實(shí)中,它是一個(gè)具有不同容量,成本和訪(fǎng)問(wèn)時(shí)間的存儲設備的層次結構。CPU寄存器保存著(zhù)最常用的數據,靠近CPU的小的快速的高速緩存存儲器作為存儲在相對慢速的主存儲器中數據和指令子集的緩沖區域。主存暫時(shí)存放存儲在較大的慢速磁盤(pán)上的數據,而這些磁盤(pán)又作為存儲在通過(guò)網(wǎng)絡(luò )連接的其他機器的磁盤(pán)或磁帶上的數據的緩沖區域。
如果你的程序需要的數據時(shí)存儲在CPU寄存器中的,那么在執行期間,在0個(gè)周期內,就能訪(fǎng)問(wèn)到它們。如果存儲在高速緩存中,需要1~10個(gè)周期,如果存儲在主存中,需要50~100個(gè)周期,如果存在磁盤(pán)上,需要大約20000000個(gè)周期!
存儲技術(shù)
隨機訪(fǎng)問(wèn)存儲器(random-access memory,RAM)分為兩類(lèi)---靜態(tài)的和動(dòng)態(tài)的。靜態(tài)RAM,SRAM比動(dòng)態(tài)RAM,DRAM快,也貴。SRAM用來(lái)作為高速緩存存儲器,既可以在CPU芯片上,也可以不在CPU芯片上,DRAM用來(lái)作為主存以及圖形系統的幀緩沖區。
靜態(tài)RAM,SRAM
將每個(gè)位存儲在一個(gè)雙穩態(tài)的存儲器單元里,每個(gè)單元是用一個(gè)六晶體管電路來(lái)實(shí)現的。由于SRAM存儲器單元的雙穩態(tài)特性,只要有點(diǎn)電,它就會(huì )永久地保持它的值,即使有干擾,例如電子噪音,來(lái)擾亂電壓,當干擾消除時(shí),電路就會(huì )恢復到穩定值。
動(dòng)態(tài)RAM,DRAM

非易失性存儲器
如果斷電,SRAM和DRAM會(huì )丟失他們的信息,從這個(gè)意義上說(shuō),他們是易失的(volatile),另一方面,非易失性存儲器(nonvolatile memory)即使是在關(guān)電后,仍然保持著(zhù)他們的信息,有很多種非失性存儲器,整體上都是稱(chēng)為ROM(read-only memory,只讀存儲器)。
總線(xiàn)和訪(fǎng)問(wèn)主存
數據流通過(guò)稱(chēng)為總線(xiàn)的共享電,在處理器和DRAM主存之間來(lái)來(lái)回回,每次CPU都和主存之間的數據傳送都是通過(guò)一系列步驟來(lái)完成的,這些步驟稱(chēng)為總線(xiàn)事務(wù)(bus transaction)。讀事務(wù)(read trnsaction)從主存傳送數據到CPU,寫(xiě)事務(wù)(write transaction)從CPU傳送數據到主存。

一個(gè)指令:move A,%eax
這里,要求地址A的內容,被加載到寄存器%eax中。CPU芯片上稱(chēng)為總線(xiàn)接口的電路發(fā)起總線(xiàn)上的讀事務(wù)。讀事務(wù)時(shí)由三個(gè)步驟組成的:
首先CPU將地址A放到系統總線(xiàn)上,I/O連接器將信號傳遞到存儲器總線(xiàn);
接下來(lái),主存儲器感覺(jué)到存儲器總線(xiàn)上的地址信號,從存儲器總線(xiàn)讀地址,從DRAM取出數據字,并將數據寫(xiě)到存儲器總線(xiàn)。
I/O橋接器將存儲器總線(xiàn)信號翻譯成系統總線(xiàn)信號,然后傳遞到系統總線(xiàn),
最后,CPU感覺(jué)到系統總線(xiàn)上的數據,從總線(xiàn)上讀數據,并將數據拷貝到寄存器%eax。
當CPU執行一個(gè)寫(xiě)事務(wù)時(shí):
首先,CPU將地址放到系統總線(xiàn)上,存儲器從主存從主存總線(xiàn)讀出地址,并等待數據到達
接下來(lái),CPU將%eax中的數據字拷貝到系統總線(xiàn)
最后,主存從存儲器總線(xiàn)讀出數據字,然后再將這些存儲到DRAM中。
磁盤(pán)存儲
磁盤(pán)時(shí)為了保存大量數據的存儲設備,存儲數據的數量級可以大大幾十到幾百千兆字節,而基于RAM的存儲器只能有幾百或者幾千兆字節,不過(guò),從磁盤(pán)上讀取信息需要幾百毫秒,比從DRAM讀慢了10萬(wàn)倍,比從SRAM讀慢了100萬(wàn)倍。
磁盤(pán)構造
磁盤(pán)時(shí)由盤(pán)片構成的,每個(gè)盤(pán)片有兩面,表面覆蓋著(zhù)磁性記錄材料,盤(pán)片中間,有一個(gè)可以旋轉地主軸,它使得盤(pán)片以固定的旋轉速率旋轉,通常是5400~15000(轉每分鐘)。磁 盤(pán)通常包含一個(gè)或者多個(gè)這樣的盤(pán)片,且裝在一個(gè)密封的容器內。

磁盤(pán)時(shí)由一個(gè)或者多個(gè)疊放在一起的盤(pán)片組成的,他們存放在一個(gè)密封的包裝內,如圖所示,整個(gè)裝置被稱(chēng)為磁盤(pán)驅動(dòng)器(disk drive)。通常稱(chēng)為磁盤(pán)。

術(shù)語(yǔ)柱面,用來(lái)描述多個(gè)盤(pán)片驅動(dòng)器的構造,這里,柱面是所有盤(pán)片表面上到中心主軸的距離相等的磁道的集合。
磁盤(pán)容量
由以下三個(gè)因素決定:
記錄密度(recording density位/英寸):磁道一英寸的段中可以放入的位數
磁道密度(track density道/英寸):從盤(pán)片中心出發(fā)半徑為一英寸的段內可以有的磁道數。
面密度(areal density,位/平方米):記錄密度與磁道密度的乘積。
磁盤(pán)操作:
磁盤(pán)用連接到一個(gè)傳動(dòng)臂(actuator arm)的讀/寫(xiě)頭(read/write head)來(lái)讀寫(xiě)存儲在磁性表面的位,驅動(dòng)器可以將讀/寫(xiě)頭定位到任何期望的磁道上,讀/寫(xiě)頭垂直排列,一直行動(dòng),在任何時(shí)刻,所有的讀/寫(xiě)頭都位于同一個(gè)柱面上。
存儲器層次結構
一般而言,從高層往底層走,存儲設備變得越來(lái)越大,越來(lái)越慢,越來(lái)越便宜,在最高層是一少量的快速CPU寄存器,CPU可以在一個(gè)始終周期內訪(fǎng)問(wèn)他們,接下來(lái)是一個(gè)或多個(gè)小型/中型的機遇SRAM的高速緩存存儲器,可以在幾個(gè)時(shí)鐘周期內訪(fǎng)問(wèn)他們。然后是一個(gè)大的基于DRAM的主存,可以在幾十或者幾百個(gè)周期內訪(fǎng)問(wèn)他們,接下來(lái)是慢速但是容量很大的本地磁盤(pán)。最后,有些系統甚至包括了一層附加的遠程服務(wù)器上的磁盤(pán),要通過(guò)網(wǎng)絡(luò )來(lái)訪(fǎng)問(wèn)他們

高速緩存存儲器
早期只有三層:CPU寄存器、主DRAM存儲器和磁盤(pán)存儲設備、不過(guò)由于CPU和主存之家逐漸增大的差距,系統設計者被迫在CPU寄存器堆和主存之間插入了一個(gè)小的SRAM存儲區,稱(chēng)為L1高速緩存,后來(lái)又插入了一個(gè)L2高速緩存。
聯(lián)系客服