版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第5 5章章 存儲系統(tǒng)和結構存儲系統(tǒng)和結構存儲系統(tǒng)的組成存儲系統(tǒng)的組成5.1主存儲器的組織主存儲器的組織5.2半導體隨機存儲器和只讀存儲器半導體隨機存儲器和只讀存儲器5.3主存儲器的鏈接與控制主存儲器的鏈接與控制5.4提高主存讀寫速度的技術提高主存讀寫速度的技術5.5多體交叉存儲技術多體交叉存儲技術5.6高速緩沖存儲器高速緩沖存儲器5.7虛擬存儲器虛擬存儲器5.85.1 5.1 存儲系統(tǒng)的組成存儲系統(tǒng)的組成5.1.1 存儲器分類存儲器分類5.1.2 存儲系統(tǒng)層次結構存儲系統(tǒng)層次結構5.1.1 5.1.1 存儲器分類存儲器分類隨著計算機系統(tǒng)結構和存儲技術的發(fā)展,存儲器的種類日益繁多,根據(jù)隨著計
2、算機系統(tǒng)結構和存儲技術的發(fā)展,存儲器的種類日益繁多,根據(jù)不同的特征可對存儲器進行分類。不同的特征可對存儲器進行分類。1. 按存儲器在計算機系統(tǒng)中的作用分類按存儲器在計算機系統(tǒng)中的作用分類(1)高速緩沖存儲器)高速緩沖存儲器 (2)主存儲器)主存儲器 (3)輔助存儲器)輔助存儲器2. 按存取方式分類按存取方式分類(1)隨機存取存儲器()隨機存取存儲器(Random Access Memory,RAM)(2)只讀存儲器()只讀存儲器(Read Only Memory,ROM)(3)順序存取存儲器()順序存取存儲器(Sequential Access Menory, SAM)(4)直接存取存儲器()
3、直接存取存儲器(Direct Access Memory, DAM)3. 按存儲介質(zhì)分類按存儲介質(zhì)分類(1)磁芯存儲器)磁芯存儲器 (2)半導體存儲器)半導體存儲器(3)磁表面存儲器()磁表面存儲器(4)光存儲器)光存儲器4. 按信息的可保存性分類按信息的可保存性分類5.1.2 5.1.2 存儲系統(tǒng)層次結構存儲系統(tǒng)層次結構 Cache存儲系統(tǒng)是為解決主存速度不足而提出來的。在存儲系統(tǒng)是為解決主存速度不足而提出來的。在Cache和主存之和主存之間,增加輔助硬件,讓他們構成一個整體。從間,增加輔助硬件,讓他們構成一個整體。從CPU看,速度接近看,速度接近Cache的速度,容量是主存的容量,每位價格
4、接近于主存的價格。由于的速度,容量是主存的容量,每位價格接近于主存的價格。由于Cache存儲系統(tǒng)全部用硬件來調(diào)度,因此它對系統(tǒng)程序員和應用程序員都是透存儲系統(tǒng)全部用硬件來調(diào)度,因此它對系統(tǒng)程序員和應用程序員都是透明的。明的。虛擬存儲系統(tǒng)是為解決主存容量不足而提出來的。在主存和輔存之間,虛擬存儲系統(tǒng)是為解決主存容量不足而提出來的。在主存和輔存之間,增加輔助的軟硬件,讓他們構成一個整體。從增加輔助的軟硬件,讓他們構成一個整體。從CPU看,速度接近主存的看,速度接近主存的速度,容量是虛擬的地址空間,每位價格接近于輔存的價格。由于虛擬速度,容量是虛擬的地址空間,每位價格接近于輔存的價格。由于虛擬存儲系
5、統(tǒng)需要通過操作系統(tǒng)來調(diào)度,因此對系統(tǒng)程序員是不透明的,但存儲系統(tǒng)需要通過操作系統(tǒng)來調(diào)度,因此對系統(tǒng)程序員是不透明的,但對應用程序員是透明的。對應用程序員是透明的。5.2 5.2 主存儲器的組織主存儲器的組織 5.2.1 5.2.1 主存儲器的基本結構主存儲器的基本結構5.2.2 5.2.2 主存儲器的存儲單元主存儲器的存儲單元位是二進制的最基本單位,也是存儲器存儲信息的最小單位。一個二進位是二進制的最基本單位,也是存儲器存儲信息的最小單位。一個二進制數(shù)由若干位組成,當這個二進制數(shù)作為一個整體存入或取出時,這個制數(shù)由若干位組成,當這個二進制數(shù)作為一個整體存入或取出時,這個數(shù)稱為存儲字。存放存儲字
6、或存儲字節(jié)的主存空間稱為存儲單元或主存數(shù)稱為存儲字。存放存儲字或存儲字節(jié)的主存空間稱為存儲單元或主存單元,大量存儲單元的集合構成一個存儲體,為了區(qū)別存儲體中的各個單元,大量存儲單元的集合構成一個存儲體,為了區(qū)別存儲體中的各個存儲單元,必須將它們逐一編號。存儲單元的編號稱為地址,地址和存存儲單元,必須將它們逐一編號。存儲單元的編號稱為地址,地址和存儲單元之間有一對一的對應關系,就像一座大樓的每個房間都有房間號儲單元之間有一對一的對應關系,就像一座大樓的每個房間都有房間號一樣。一樣。一個存儲單元可能存放一個字,也可能存放一個字節(jié),這是由計算機的一個存儲單元可能存放一個字,也可能存放一個字節(jié),這是由
7、計算機的結構確定的。對于字節(jié)編址的計算機,最小尋址單位是一個字節(jié),相鄰結構確定的。對于字節(jié)編址的計算機,最小尋址單位是一個字節(jié),相鄰的存儲單元地址指向相鄰的存儲字節(jié);對于字編址的計算機,最小尋址的存儲單元地址指向相鄰的存儲字節(jié);對于字編址的計算機,最小尋址單位是一個字,相鄰的存儲單元地址指向相鄰的存儲字。所以,存儲單單位是一個字,相鄰的存儲單元地址指向相鄰的存儲字。所以,存儲單元是元是CPU對主存可訪問操作的最小存儲單位。對主存可訪問操作的最小存儲單位。5.2.3 5.2.3 主存儲器的主要技術指標主存儲器的主要技術指標5.2.4 5.2.4 數(shù)據(jù)在主存中的存放數(shù)據(jù)在主存中的存放目前大多數(shù)存儲
8、器采用字節(jié)編址,數(shù)據(jù)在主存中有目前大多數(shù)存儲器采用字節(jié)編址,數(shù)據(jù)在主存中有3種不同存放方法,如種不同存放方法,如圖圖5-5所示。設存儲字長為所示。設存儲字長為64位(位(8個字節(jié)),即一個存取周期最多能夠個字節(jié)),即一個存取周期最多能夠從主存讀或?qū)憦闹鞔孀x或?qū)?4位數(shù)據(jù)。圖位數(shù)據(jù)。圖5-5所示中最左邊一列字地址(所示中最左邊一列字地址(16進制),字進制),字地址的最末地址的最末3個二進制位必定為個二進制位必定為000。假設不同,讀寫的數(shù)據(jù)有。假設不同,讀寫的數(shù)據(jù)有4種不同長種不同長度,它們分別是字節(jié)(度,它們分別是字節(jié)(8位)、半字(位)、半字(16位)、單字(位)、單字(32位)和雙字(位
9、)和雙字(64位)。位)。5.3.1 RAM5.3.1 RAM記憶單元電路記憶單元電路通常把存放一個二進制位的物理器件稱為記憶單元,它是存儲器的最基通常把存放一個二進制位的物理器件稱為記憶單元,它是存儲器的最基本構件,地址碼相同的多個記憶單元構成一個存儲單元。記憶單元可以本構件,地址碼相同的多個記憶單元構成一個存儲單元。記憶單元可以由各種材料制成,但最常見的由由各種材料制成,但最常見的由MOS電路組成。電路組成。RAM又可分為靜態(tài)又可分為靜態(tài)RAM(Static RAM,SRAM)和動態(tài))和動態(tài)RAM(Dynamic RAM,DRAM)兩種。兩種。1. 6管管SRAM記憶單元電路記憶單元電路2
10、. 4 管管DRAM記憶單元電路記憶單元電路3. 單管單管DRAM記憶單元電路記憶單元電路5.3.2 5.3.2 動態(tài)動態(tài)RAMRAM的刷新的刷新1.刷新間隔刷新間隔前面已經(jīng)說過,為了維持前面已經(jīng)說過,為了維持DRAM記憶單元的存儲信息,每隔一定時間必須記憶單元的存儲信息,每隔一定時間必須刷新。那么每隔多少時間進行一次刷新操作呢?這主要是根據(jù)柵極電容上刷新。那么每隔多少時間進行一次刷新操作呢?這主要是根據(jù)柵極電容上電荷的泄放速度來決定的。一般選定的最大刷新間隔為電荷的泄放速度來決定的。一般選定的最大刷新間隔為2ms或或4ms甚至更甚至更大,也就是說,應在規(guī)定的時間內(nèi),將全部存儲體刷新一遍。大,
11、也就是說,應在規(guī)定的時間內(nèi),將全部存儲體刷新一遍。注意:刷新和重寫(再生)是兩個完全不同的概念,切不可加以混淆。重注意:刷新和重寫(再生)是兩個完全不同的概念,切不可加以混淆。重寫是隨機的,某個存儲單元只有在破壞性讀出之后才需要重寫。而刷新是寫是隨機的,某個存儲單元只有在破壞性讀出之后才需要重寫。而刷新是定時的,即使許多記憶單元長期未被訪問,若不及時補充電荷的話,信息定時的,即使許多記憶單元長期未被訪問,若不及時補充電荷的話,信息也會丟失。重寫一般是按存儲單元進行的,而刷新通常以存儲體矩陣中的也會丟失。重寫一般是按存儲單元進行的,而刷新通常以存儲體矩陣中的一行為單位進行的。一行為單位進行的。5
12、.3.3 RAM5.3.3 RAM芯片分析芯片分析5.3.4 5.3.4 半導體只讀存儲器半導體只讀存儲器ROM的最大優(yōu)點是具有非易失性,即使電源斷電,的最大優(yōu)點是具有非易失性,即使電源斷電,ROM中存儲的信息也不會丟失。中存儲的信息也不會丟失。1. ROM的類型的類型ROM工作時只能讀出,不能寫入,那么工作時只能讀出,不能寫入,那么ROM中的內(nèi)容是如何事先存入的呢?把向中的內(nèi)容是如何事先存入的呢?把向ROM寫入寫入數(shù)據(jù)的過程稱為對數(shù)據(jù)的過程稱為對ROM進行編程,根據(jù)編程方法的不同,進行編程,根據(jù)編程方法的不同,ROM通??梢苑譃橐韵聨最悾和ǔ?梢苑譃橐韵聨最悾海?)掩膜式)掩膜式ROM(MR
13、OM)(2)一次可編程)一次可編程ROM(PROM) (3)可擦除可編程)可擦除可編程ROM(EPROM) (4)閃速存儲器)閃速存儲器2. ROM芯片芯片ROM中使用最多的是可擦除可編程中使用最多的是可擦除可編程ROM(EPROM)。各種。各種EPROM芯片的外引腳主要有:芯片的外引腳主要有:地址線:地址線:Ai。數(shù)據(jù)線:數(shù)據(jù)線:Di。片選線片選線: 編程線編程線: 。電源線電源線: Vcc+5V,工作電源;,工作電源;Vpp編程電源;編程電源;GND地。地。Vpp平時平時接接+5V,編程寫入時,需接高于,編程寫入時,需接高于Vcc若干倍的編程電壓。若干倍的編程電壓。5.3.5 5.3.5
14、半導體存儲器的封裝半導體存儲器的封裝1. DIP存儲芯片存儲芯片過去,一般芯片都是雙列直插封裝的,簡稱過去,一般芯片都是雙列直插封裝的,簡稱DIP(Dual In-line Package)。)。DIP芯片的容量一般不可能很大,如芯片的容量一般不可能很大,如64K1或或2561的芯片,表示每個芯片具有的芯片,表示每個芯片具有64K或或256K個記憶單元,若要存儲個記憶單元,若要存儲256KB的信息,則需要的信息,則需要8個個2561的芯片(非奇偶校驗)或的芯片(非奇偶校驗)或9個這樣的芯片(奇偶校驗)。個這樣的芯片(奇偶校驗)。2. 內(nèi)存條內(nèi)存條目前,廠家廣泛使用單列直插存儲模塊(目前,廠家廣
15、泛使用單列直插存儲模塊(Single In-line Memory Module,SIMM)、雙)、雙列直插存儲模塊(列直插存儲模塊(Dual In-line Memory Module,DIMM)以及)以及Rambus直接存儲模塊(直接存儲模塊(Rambus In-line Memory Module,RIMM),這些就是通常所說的內(nèi)存條。內(nèi)存條實際),這些就是通常所說的內(nèi)存條。內(nèi)存條實際上是一條焊有多片存儲芯片的印刷電路板,插在主板內(nèi)存插槽中。上是一條焊有多片存儲芯片的印刷電路板,插在主板內(nèi)存插槽中。SIMM有有30線和線和72線兩種。線兩種。30線的線的SIMM誕生于誕生于286時代,數(shù)
16、據(jù)線的寬度只有時代,數(shù)據(jù)線的寬度只有8位(部分位(部分另加有另加有1為校驗位),需要有為校驗位),需要有4條條SIMM組成一組,來構成具有某種容量和組成一組,來構成具有某種容量和32位數(shù)據(jù)寬度位數(shù)據(jù)寬度的主存儲器。的主存儲器。72線的線的SIMM,數(shù)據(jù)線的寬度有,數(shù)據(jù)線的寬度有32位(非奇偶校驗)或位(非奇偶校驗)或36位(奇偶校驗)位(奇偶校驗),每一個就可以構成具有某種容量和,每一個就可以構成具有某種容量和32位數(shù)據(jù)寬度的主存儲器。位數(shù)據(jù)寬度的主存儲器。 DIMM也有兩種類型;標準的也有兩種類型;標準的DIMM和和DDR DIMM。標準的。標準的DIMM每面每面84線,雙面共有線,雙面共有
17、842=168線內(nèi)存條。而線內(nèi)存條。而DDR DDIM每面每面92線,雙面共有線,雙面共有184線。所有線。所有DIMM的數(shù)據(jù)線寬的數(shù)據(jù)線寬度都是度都是64位(非奇偶校驗)或位(非奇偶校驗)或72位(奇偶校驗),所以在位(奇偶校驗),所以在pentium機中,只需一個機中,只需一個DIMM就可以具有某種容量和就可以具有某種容量和64位數(shù)據(jù)寬度的主存儲器。位數(shù)據(jù)寬度的主存儲器。大多數(shù)主板不允許用戶把不同容量的內(nèi)存條混用,用戶應在滿足主存容量的同時,使內(nèi)大多數(shù)主板不允許用戶把不同容量的內(nèi)存條混用,用戶應在滿足主存容量的同時,使內(nèi)存條的數(shù)目盡可能少,這些為進一步擴充主存容量留余地。存條的數(shù)目盡可能少
18、,這些為進一步擴充主存容量留余地。 5.45.4主存儲器的鏈接與控制主存儲器的鏈接與控制5.4.1 主存容量的擴展 5.4.2 存儲芯片的地址分配和片選 5.4.3 主存儲器和CPU的連接 5.4.4 主存的校驗 5.4.5 PC系列微型計算機的存儲器接口 5.4.1 5.4.1 主存容量的擴展主存容量的擴展5.4.2 5.4.2 存儲芯片的地址分配和片選存儲芯片的地址分配和片選CPU與存儲器連接時,特別是在擴展存儲容量的場合下,主存的地址分配是一與存儲器連接時,特別是在擴展存儲容量的場合下,主存的地址分配是一個重要的問題。確定地址分配后,又有一個存儲芯片的片選信號的產(chǎn)生問題。個重要的問題。確
19、定地址分配后,又有一個存儲芯片的片選信號的產(chǎn)生問題。CPU要實現(xiàn)對存儲單元的訪問,首先要選擇存儲芯片,即進行片選;然后再從要實現(xiàn)對存儲單元的訪問,首先要選擇存儲芯片,即進行片選;然后再從選中的芯片中依地址碼選擇出相應的存儲單元,以進行數(shù)據(jù)的存取,這稱為字選中的芯片中依地址碼選擇出相應的存儲單元,以進行數(shù)據(jù)的存取,這稱為字選。片內(nèi)的字選是由選。片內(nèi)的字選是由CPU送出的送出的N條低位地址線完成的,地址線直接接到所有存條低位地址線完成的,地址線直接接到所有存儲芯片的地址輸入端(儲芯片的地址輸入端(N由片內(nèi)存儲容量由片內(nèi)存儲容量2N決定)。而存儲芯片的片選信號則決定)。而存儲芯片的片選信號則大多是通
20、過高位地址譯碼或直接連接產(chǎn)生的。大多是通過高位地址譯碼或直接連接產(chǎn)生的。片選信號的產(chǎn)生可細分為線選法、全譯碼法和部分譯碼法。片選信號的產(chǎn)生可細分為線選法、全譯碼法和部分譯碼法。 1.線選法線選法線選法就是用除片內(nèi)尋址外的高位地址線直接(或經(jīng)反相器)分別接至各個存線選法就是用除片內(nèi)尋址外的高位地址線直接(或經(jīng)反相器)分別接至各個存儲芯片的片選端,當某地址線信息為儲芯片的片選端,當某地址線信息為“0”時,就選中與之對應的存儲芯片。時,就選中與之對應的存儲芯片。注意:這些片選地址線每次尋址時只能有一位有效,不允許同時有多位有效,注意:這些片選地址線每次尋址時只能有一位有效,不允許同時有多位有效,這樣
21、才能保證每次只選中一個芯片(或組)。這樣才能保證每次只選中一個芯片(或組)。線選法的優(yōu)點是不需要地址譯碼器,線路簡單,選擇芯片無須外加邏輯電路,線選法的優(yōu)點是不需要地址譯碼器,線路簡單,選擇芯片無須外加邏輯電路,但僅適用于連接存儲芯片較少的場合。同時,線選法不能充分利用系統(tǒng)的存儲但僅適用于連接存儲芯片較少的場合。同時,線選法不能充分利用系統(tǒng)的存儲器空間,且把地址空間分成了相互隔離的區(qū)域,給編程帶來了一定的困難。器空間,且把地址空間分成了相互隔離的區(qū)域,給編程帶來了一定的困難。2. 全譯碼法全譯碼法全譯碼法將除片內(nèi)尋址外的全部高位地址線都作為地址譯碼器的輸入,譯碼器的全譯碼法將除片內(nèi)尋址外的全部
22、高位地址線都作為地址譯碼器的輸入,譯碼器的輸出作為各芯片的片選信號,將它們分別接到存儲芯片的片選端,以實現(xiàn)對存儲輸出作為各芯片的片選信號,將它們分別接到存儲芯片的片選端,以實現(xiàn)對存儲芯片的選擇。芯片的選擇。全譯碼法的優(yōu)點是每片(或組)芯片的地址范圍是唯一確定的,而且是連續(xù)的,全譯碼法的優(yōu)點是每片(或組)芯片的地址范圍是唯一確定的,而且是連續(xù)的,也便于擴展,不會產(chǎn)生地址重疊的存儲區(qū),但全譯碼法對譯碼電路要求較高。也便于擴展,不會產(chǎn)生地址重疊的存儲區(qū),但全譯碼法對譯碼電路要求較高。 5.4.3 5.4.3 主存儲器和主存儲器和CPUCPU的連接的連接5.4.4 5.4.4 主存的校驗主存的校驗計算
23、機在運行過程中,主存要與計算機在運行過程中,主存要與CPU頻繁地交換數(shù)據(jù)。為了檢測和正在頻繁地交換數(shù)據(jù)。為了檢測和正在存儲過程中的錯誤,主存中常設置有差錯校驗電路。存儲過程中的錯誤,主存中常設置有差錯校驗電路。1.主存的奇偶校驗主存的奇偶校驗最簡單的主存校驗方法是奇偶校驗。在危急中通常采用奇校驗,即每個最簡單的主存校驗方法是奇偶校驗。在危急中通常采用奇校驗,即每個存儲單元中共存存儲單元中共存9位信息(其中位信息(其中8位數(shù)據(jù),位數(shù)據(jù),1位奇偶校驗位),信息中位奇偶校驗位),信息中“1”的個數(shù)總是奇數(shù)。的個數(shù)總是奇數(shù)。當向主存寫入數(shù)據(jù)時,奇偶校驗電路首先會對一個字節(jié)的數(shù)據(jù)計算出奇當向主存寫入數(shù)據(jù)
24、時,奇偶校驗電路首先會對一個字節(jié)的數(shù)據(jù)計算出奇偶校驗位的值,然后再把所有的偶校驗位的值,然后再把所有的9位值一起送到主存中去。位值一起送到主存中去。讀出數(shù)據(jù)時,某一存儲單元的讀出數(shù)據(jù)時,某一存儲單元的9位數(shù)據(jù)被同時讀出,當位數(shù)據(jù)被同時讀出,當9位數(shù)據(jù)里位數(shù)據(jù)里“1”的的個數(shù)為奇數(shù)時,表示讀出的個數(shù)為奇數(shù)時,表示讀出的9位數(shù)據(jù)正確(當然不排除有位數(shù)據(jù)正確(當然不排除有2位同時出錯的位同時出錯的可能,但其概率極?。?;當可能,但其概率極?。?;當“1”的個數(shù)為偶數(shù)時,表示讀出數(shù)據(jù)出錯,的個數(shù)為偶數(shù)時,表示讀出數(shù)據(jù)出錯,向向CPU發(fā)出不可屏蔽中斷。使系統(tǒng)停機并顯示奇偶檢驗出錯的信息。發(fā)出不可屏蔽中斷。使
25、系統(tǒng)停機并顯示奇偶檢驗出錯的信息。5.4.5 PC5.4.5 PC系列微型計算機的存儲器接口系列微型計算機的存儲器接口5.5 5.5 提高主存讀寫速度的技術提高主存讀寫速度的技術5.5.1 主存與CPU速度匹配 5.5.2 FPM DRAM 5.5.3 EDO DRAM 5.5.4 SDRAM 5.5.5 DDR SDRAM 5.5.6 DDR2 SDRAM和DDR3 SDRAM 5.5.7 Rambus DRAM 5.5.8 雙通道內(nèi)存技術 5.5.1 5.5.1 主存與主存與CPUCPU速度匹配速度匹配過去,主存的速度通常以納秒(過去,主存的速度通常以納秒(ns)表示,而)表示,而CPU速
26、度總是被表示為兆赫茲速度總是被表示為兆赫茲(MHz),最近一些更快更新的主存也用),最近一些更快更新的主存也用MHz來表示速度。來表示速度。如果主存總線的速度與如果主存總線的速度與CPU總線速度相等,那么主存的性能將是最優(yōu)的。然總線速度相等,那么主存的性能將是最優(yōu)的。然而通常主存的速度落后于而通常主存的速度落后于CPU的速度,以的速度,以PC為例,在為例,在1998年以前,年以前,DRAM的的存取時間為存取時間為60ns或更大,這相當于或更大,這相當于16.7MHz或更慢的速度,而當時或更慢的速度,而當時CPU的速的速度已達到度已達到300MHz或更高的速度,兩者之間存在著很大的差距,這就是為
27、什么或更高的速度,兩者之間存在著很大的差距,這就是為什么需要高速緩沖存儲器(需要高速緩沖存儲器(Cache)的原因。)的原因。當當1GHz CPU要從要從133MHz主存讀多個字節(jié)的數(shù)據(jù)時會出現(xiàn)大量的等待狀態(tài),主存讀多個字節(jié)的數(shù)據(jù)時會出現(xiàn)大量的等待狀態(tài),所謂等待狀態(tài)就是處理器在等待數(shù)據(jù)就緒之前必須執(zhí)行的一個額外所謂等待狀態(tài)就是處理器在等待數(shù)據(jù)就緒之前必須執(zhí)行的一個額外“什么都什么都不做不做”的周期。由于主存周期為的周期。由于主存周期為7.5ns,CPU周期為周期為1ns,CPU需要執(zhí)行需要執(zhí)行6個等個等待周期,然后數(shù)據(jù)才會在第七個周期準備好。增加等待周期實際上是將待周期,然后數(shù)據(jù)才會在第七個周
28、期準備好。增加等待周期實際上是將CPU速度減慢至主存速度。為了減少所需的等待周期數(shù),許多系統(tǒng)開始引入新型速度減慢至主存速度。為了減少所需的等待周期數(shù),許多系統(tǒng)開始引入新型的存儲芯片,這些存儲芯片在存儲器總線的性能已與的存儲芯片,這些存儲芯片在存儲器總線的性能已與CPU總線的性能相差無總線的性能相差無幾。幾。5.5.2 FPM DRAM5.5.2 FPM DRAM5.5.3 EDO DRAM5.5.3 EDO DRAM5.5.4 SDRAM5.5.4 SDRAM5.5.5 DDR SDRAM5.5.5 DDR SDRAM5.5.6 DDR2 SDRAM5.5.6 DDR2 SDRAM和和DDR3
29、 SDRAMDDR3 SDRAM5.5.7 Rambus DRAM5.5.7 Rambus DRAM5.5.8 5.5.8 雙通道內(nèi)存技術雙通道內(nèi)存技術 5.6 5.6 多體交叉存儲技術多體交叉存儲技術5.6.1 并行訪問并行訪問存儲器存儲器5.6.2 交叉訪問交叉訪問存儲器存儲器5.6.1 5.6.1 并行訪問存儲器并行訪問存儲器5.6.2 5.6.2 交叉訪問存儲器交叉訪問存儲器5.7 5.7 高速緩沖存儲器高速緩沖存儲器5.7.1 高速緩存工作原理 5.7.2 Cache的讀寫操作 5.7.3 地址映象 5.7.4 替換算法 5.7.5 更新策略 5.7.6 PC機中Cache技術的實現(xiàn)
30、 5.7.1 5.7.1 高速緩存工作原理高速緩存工作原理1. 程序的局部性原理程序的局部性原理程序的局部性有兩個方面的含義:時間局部性和空間局部性。時間局部程序的局部性有兩個方面的含義:時間局部性和空間局部性。時間局部性是指如果一個存儲單元被訪問,則可能該單元會很快被再次訪問。這性是指如果一個存儲單元被訪問,則可能該單元會很快被再次訪問。這是因為程序存在著循環(huán)。空間局部性是指如果一個存儲單元被訪問,則是因為程序存在著循環(huán)??臻g局部性是指如果一個存儲單元被訪問,則該單元鄰近的單元也可能很快被訪問。這是因為程序中大部分指令是順該單元鄰近的單元也可能很快被訪問。這是因為程序中大部分指令是順序存儲、
31、順序執(zhí)行的,數(shù)據(jù)一般也是以向量、數(shù)組、樹、表等形式簇聚序存儲、順序執(zhí)行的,數(shù)據(jù)一般也是以向量、數(shù)組、樹、表等形式簇聚地存儲在一起的。地存儲在一起的。高速緩沖技術就是利用程序的局部性原理,把程序中正在使用的部分存高速緩沖技術就是利用程序的局部性原理,把程序中正在使用的部分存放在一個高速的容量較小的放在一個高速的容量較小的Cache中,使中,使CPU的訪存操作大多數(shù)針對的訪存操作大多數(shù)針對Cache進行,從而使程序的執(zhí)行速度大大提高。進行,從而使程序的執(zhí)行速度大大提高。 5.7.2 Cache5.7.2 Cache的讀寫操作的讀寫操作1. Cache的讀操作的讀操作 當當CPU發(fā)出讀請求時,如果發(fā)
32、出讀請求時,如果Cache命中,就直接對命中,就直接對Cache進行讀操作,與主進行讀操作,與主存無關;如果存無關;如果Cache不命中,則仍需訪問主存,并把該塊信息一次從主存調(diào)入不命中,則仍需訪問主存,并把該塊信息一次從主存調(diào)入Cache內(nèi)。若此時內(nèi)。若此時Cache已滿,則須根據(jù)某種替換算法,用這個塊替換掉已滿,則須根據(jù)某種替換算法,用這個塊替換掉Cache中原來的某塊信息。中原來的某塊信息。 2. Cache的寫操作的寫操作由于由于Cache中保存的只是主存的部分副本,這些副本與主存中的內(nèi)容能否保持中保存的只是主存的部分副本,這些副本與主存中的內(nèi)容能否保持一致,是一致,是Cache能否可
33、靠工作的一個關鍵問題。當能否可靠工作的一個關鍵問題。當CPU發(fā)出寫請求時,如果發(fā)出寫請求時,如果Cache命中,有可能會遇到命中,有可能會遇到Cache與主存中的內(nèi)容不一致的問題,例如,由于與主存中的內(nèi)容不一致的問題,例如,由于CPU寫寫Cache,把,把Cache某單元中的內(nèi)容從某單元中的內(nèi)容從 X修改為修改為X,而主存對應單元中的,而主存對應單元中的內(nèi)容仍然是內(nèi)容仍然是X,沒有改變。所以如果,沒有改變。所以如果Cache命中,需要進行一定的寫處理,處命中,需要進行一定的寫處理,處理的方法有:寫直達法和寫回法,詳見理的方法有:寫直達法和寫回法,詳見5.7.5節(jié)。節(jié)。如果寫如果寫Cache不命
34、中,就直接把信息寫入主存,并有兩種處理方法:不命中,就直接把信息寫入主存,并有兩種處理方法: 不按寫分配法,即只把所要寫的信息寫入主存。不按寫分配法,即只把所要寫的信息寫入主存。 按寫分配法,即在把所寫的信息寫入主存后還把這個塊從主存按寫分配法,即在把所寫的信息寫入主存后還把這個塊從主存中讀入中讀入Cache。5.7.3 5.7.3 地址映象地址映象3. 組相聯(lián)映像 組相聯(lián)映像將Cache分成若干組,組存中的塊可以直接映像裝入Cache中對應組內(nèi)的 任何一塊位置上,即組間采取直接映像,組內(nèi)采取全相聯(lián)映像。組相聯(lián)映像實際上是全相聯(lián)映像和直接映像的折衷方案,所以其優(yōu)點和缺點介于全相聯(lián)和直接映像方式
35、的優(yōu)缺點之間。組相連映像的具體實現(xiàn)方案有兩種,他們之間的區(qū)別在于是否需要將主存空間按Cache大小再分成區(qū)。圖5-28(c)是采用主存分區(qū)的方案,主存分成2區(qū),每區(qū)4組,每組2塊;Cache分成4組,每組2塊。主存的第9塊將可以映像到Cache 的第0塊或第1塊的位置上。也可以采用主存不分區(qū)的方案,此方案的映像關系與直接映像的公式相同,只不過公式中K代表Cache的組號,Q代表Cache的組數(shù)而已。兩種方案下主存塊映像的位置有所不同。5.7.4 5.7.4 替換算法替換算法在采用全相聯(lián)映像和組相聯(lián)映像方式從主存向在采用全相聯(lián)映像和組相聯(lián)映像方式從主存向Cache傳送一個新塊,而傳送一個新塊,而
36、Cache中的空中的空間已被占滿時,就需要把原來存儲的一塊替換掉。常用的替換算法有下述間已被占滿時,就需要把原來存儲的一塊替換掉。常用的替換算法有下述3種。種。1. 隨機算法隨機算法最簡單的替換方法是隨機法。隨機法完全不管最簡單的替換方法是隨機法。隨機法完全不管Cache塊過去、現(xiàn)在及將來的使用情塊過去、現(xiàn)在及將來的使用情況,簡單地根據(jù)一個隨機數(shù),選擇一塊替換掉。況,簡單地根據(jù)一個隨機數(shù),選擇一塊替換掉。2. 先進先出(先進先出(FIFO)算法)算法 FIFO算法的思想是:按調(diào)入算法的思想是:按調(diào)入Cache的先后決定淘汰的順序,即在需要更新時,將的先后決定淘汰的順序,即在需要更新時,將最先進
37、入最先進入Cache的塊作為被替換的塊。這種方法要求為每塊做一記錄,記下它們進的塊作為被替換的塊。這種方法要求為每塊做一記錄,記下它們進入入Cache的先后次序。這種方法容易實現(xiàn),而且系統(tǒng)開銷小。其缺點是可能會把一的先后次序。這種方法容易實現(xiàn),而且系統(tǒng)開銷小。其缺點是可能會把一些需要經(jīng)常使用的程序塊(如循環(huán)程序)也作為最早進入些需要經(jīng)常使用的程序塊(如循環(huán)程序)也作為最早進入Cache的塊替換掉。的塊替換掉。 3. 近期最少使用(近期最少使用(LRU)算法)算法LRU算法是把算法是把CPU近期最少使用的塊作為被替換的塊。這種替換方法需要隨時記錄近期最少使用的塊作為被替換的塊。這種替換方法需要隨
38、時記錄Cache中各塊的使用情況,以便確定哪個塊是近期最少使用的塊。中各塊的使用情況,以便確定哪個塊是近期最少使用的塊。LRU算法相對合算法相對合理,但實現(xiàn)起來比較復雜,系統(tǒng)開銷較大。通常需要對每一塊設置一個稱為理,但實現(xiàn)起來比較復雜,系統(tǒng)開銷較大。通常需要對每一塊設置一個稱為“年齡年齡計數(shù)器計數(shù)器”的硬件或軟件計數(shù)器,用以記錄其被使用的情況。的硬件或軟件計數(shù)器,用以記錄其被使用的情況。5.7.5 5.7.5 更新策略更新策略為了解決為了解決Cache與主存中內(nèi)容不一致問題,首先要選擇合適的與主存中內(nèi)容不一致問題,首先要選擇合適的Cache更新更新策略。策略。Cache有兩種更新策略:寫直達法
39、和寫回法。有兩種更新策略:寫直達法和寫回法。寫直達法是指寫直達法是指CPU在執(zhí)行寫操作時,必須把數(shù)據(jù)同時寫入在執(zhí)行寫操作時,必須把數(shù)據(jù)同時寫入Cache和主存。和主存。當某一塊需要替換時,也不必把這一塊寫回到主存中去,新調(diào)入的塊可以當某一塊需要替換時,也不必把這一塊寫回到主存中去,新調(diào)入的塊可以立即把這一塊覆蓋掉。這種方法實現(xiàn)簡單,而且能隨時保持主存數(shù)據(jù)的正立即把這一塊覆蓋掉。這種方法實現(xiàn)簡單,而且能隨時保持主存數(shù)據(jù)的正確性,但可能增加多次不必要的主存寫入,會降低存取速度。確性,但可能增加多次不必要的主存寫入,會降低存取速度。寫回法是指寫回法是指CPU在執(zhí)行寫操作時,被寫數(shù)據(jù)只寫入在執(zhí)行寫操作
40、時,被寫數(shù)據(jù)只寫入Cache,不寫入主存。,不寫入主存。僅當需要替換時,才把已經(jīng)修改過的僅當需要替換時,才把已經(jīng)修改過的Cache塊寫回到主存。在采用這種更塊寫回到主存。在采用這種更新策略的新策略的Cache塊表中,一般有一個標志位,當一塊中的任何一個單元被塊表中,一般有一個標志位,當一塊中的任何一個單元被修改時,標志位被置修改時,標志位被置“1”。在需要替換掉這一塊時,如果標志位為。在需要替換掉這一塊時,如果標志位為“1”,則必須先把這一塊寫回到主存中去之后,才能再調(diào)入新的塊;如果標志位則必須先把這一塊寫回到主存中去之后,才能再調(diào)入新的塊;如果標志位為為“0”,則這一塊不必寫回主存,只要用新
41、調(diào)入的塊覆蓋掉這一塊即可。,則這一塊不必寫回主存,只要用新調(diào)入的塊覆蓋掉這一塊即可。這種方法操作速度快,但因主存中的字塊未隨時修改而有可能出錯。這種方法操作速度快,但因主存中的字塊未隨時修改而有可能出錯。5.7.6 PC5.7.6 PC機中機中CacheCache技術的實現(xiàn)技術的實現(xiàn)5.8 5.8 虛擬存儲器虛擬存儲器5.8.1 5.8.1 虛擬存儲器的基本概念虛擬存儲器的基本概念虛擬存儲器將主存或輔存的地址空間統(tǒng)一編址,形成一個龐大的存儲空間。在虛擬存儲器將主存或輔存的地址空間統(tǒng)一編址,形成一個龐大的存儲空間。在這個大空間里,用戶可以自由編程,完全不必考慮程序在主存是否裝得下以及這個大空間里
42、,用戶可以自由編程,完全不必考慮程序在主存是否裝得下以及這些程序?qū)碓谥鞔嬷械膶嶋H存放位置。這些程序?qū)碓谥鞔嬷械膶嶋H存放位置。用戶編程的地址稱為虛地址或邏輯地址,實際的主存單元地址稱為實地址或物用戶編程的地址稱為虛地址或邏輯地址,實際的主存單元地址稱為實地址或物理地址。顯然,虛地址要比實地址大得多。理地址。顯然,虛地址要比實地址大得多。在實際的物理存儲層次上,所編程序和數(shù)據(jù)在操作系統(tǒng)管理下,先送入磁盤,在實際的物理存儲層次上,所編程序和數(shù)據(jù)在操作系統(tǒng)管理下,先送入磁盤,然后操作系統(tǒng)將當前運行所需要的部分調(diào)入主存,供然后操作系統(tǒng)將當前運行所需要的部分調(diào)入主存,供CPU使用,其余暫不運行使用,其
43、余暫不運行部分留在磁盤中。部分留在磁盤中。程序運行時,程序運行時,CPU以虛地址來訪問主存,由輔助硬件找出虛地址和實地址之間以虛地址來訪問主存,由輔助硬件找出虛地址和實地址之間的對應關系,并判斷這個虛地址指示的存儲單元內(nèi)容是否已裝入主存。如果已的對應關系,并判斷這個虛地址指示的存儲單元內(nèi)容是否已裝入主存。如果已在主存中,則通過地址變換,在主存中,則通過地址變換,CPU可直接訪問主存的實際單元;如果不在主存可直接訪問主存的實際單元;如果不在主存中,則把包含這個字的一頁或一個程序段調(diào)入主存后再由中,則把包含這個字的一頁或一個程序段調(diào)入主存后再由CPU訪問。如果主存訪問。如果主存已滿,則由替換算法從
44、主存中將暫不運行的一頁或一段調(diào)回輔存,再從輔存調(diào)已滿,則由替換算法從主存中將暫不運行的一頁或一段調(diào)回輔存,再從輔存調(diào)入新的一頁或一段到主存。從原理的角度看,虛擬存儲器和入新的一頁或一段到主存。從原理的角度看,虛擬存儲器和Cache-主存有不少主存有不少相同之處。實際上,前面提到的各種方法是先應用于虛擬儲存器中,后來才發(fā)相同之處。實際上,前面提到的各種方法是先應用于虛擬儲存器中,后來才發(fā)展到展到Cache-主存層次中去的。主存層次中去的。5.8.2 5.8.2 頁式虛擬存儲器頁式虛擬存儲器 以頁為單位的虛擬存儲器叫頁式虛擬儲存器。各類計算機頁面大小不等,以頁為單位的虛擬存儲器叫頁式虛擬儲存器。各
45、類計算機頁面大小不等,一般為一般為512B到幾到幾KB。主存空間和虛存空間都劃分成若干個大小相等的頁。主存空間和虛存空間都劃分成若干個大小相等的頁。主存即實存的稱為實頁,虛存的頁稱為虛頁。主存即實存的稱為實頁,虛存的頁稱為虛頁。程序虛地址分為兩個字段:高位字段為虛頁號,低位字段為頁內(nèi)地址。虛程序虛地址分為兩個字段:高位字段為虛頁號,低位字段為頁內(nèi)地址。虛地址到實地址之間的變換是由頁表來實現(xiàn)的。頁表是一張存放在主存中的地址到實地址之間的變換是由頁表來實現(xiàn)的。頁表是一張存放在主存中的虛頁號和實頁號的對照表,記錄著程序的虛頁調(diào)入主存時被安排在主存中虛頁號和實頁號的對照表,記錄著程序的虛頁調(diào)入主存時被
46、安排在主存中的位置。若計算機采用多道程序工作方式,則可為每個用戶作業(yè)建立一個的位置。若計算機采用多道程序工作方式,則可為每個用戶作業(yè)建立一個頁表,硬件中設置一個頁表基址寄存器,存放當前所運行程序的頁表的起頁表,硬件中設置一個頁表基址寄存器,存放當前所運行程序的頁表的起始地址。始地址。頁表的每一行記錄了與某個虛頁對應的若干信息,包括虛頁號、裝入位和頁表的每一行記錄了與某個虛頁對應的若干信息,包括虛頁號、裝入位和實頁號等。頁表基址寄存器和虛頁號拼接成頁表索引地址。根據(jù)這個索引實頁號等。頁表基址寄存器和虛頁號拼接成頁表索引地址。根據(jù)這個索引地址可讀到一個頁表信息字,然后檢測頁表信息字中裝入位的狀態(tài)。若裝地址可讀到一個頁表信息字,然后檢測頁表信息字中裝入位的狀態(tài)。若裝入位為入位為“1”,表示該頁面已在主存中,將對應的實頁號與虛地址中的頁內(nèi),表示該頁面已在主存中,將對應的實頁號與虛地址中的頁內(nèi)地址相拼接就得到了完整的實地址;若裝入位為地址相拼接就得到了完整的實地址;若裝入位為“0”,表示該頁面不在主,表示該頁面不在主存中,于是要啟動存中,于是要啟動I/O系統(tǒng),把該頁從輔存中調(diào)入主存后再供系統(tǒng),把該頁從輔存中調(diào)入主存后再供CPU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年新修訂短期派遣合同
- 2024年房屋首款支付協(xié)議
- 2024年改造工程清包勞務協(xié)議
- 2024年文化創(chuàng)意產(chǎn)業(yè)投資基金合同
- 2024年技術咨詢與服務采購合同
- 2024年房地產(chǎn)中介合同范本
- 國網(wǎng)英大:國網(wǎng)英大2020年年度報告摘要
- 2024年技術服務合同范本及標的描述
- 2024年新園林建設合同
- 2024年影視制作與版權購買合同
- 廣鐵集團校園招聘機考題庫
- 第一章、總體概述:施工組織總體設想、工程概述、方案針對性及施工標段劃分
- 2024-2030年中國語言服務行業(yè)發(fā)展規(guī)劃與未來前景展望研究報告
- 2024-2030年白玉蝸牛養(yǎng)殖行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展前景與投資機會研究報告
- HGT 2902-2024《模塑用聚四氟乙烯樹脂》
- 2024 年上海市普通高中學業(yè)水平等級性考試 物理 試卷
- 國家開放大學??啤斗ɡ韺W》(第三版教材)形成性考核試題及答案
- 計量基礎知識考核試題及參考答案
- 眼科學基礎病例分析
- 混合痔中醫(yī)護理 方案
- 美國刑法制度
評論
0/150
提交評論