版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第四章存儲器系統(tǒng)
內容概覽
?存儲器的基本概念、分類、性能指標
?分級存儲一
?SRAM和DRAM存儲元電路
?主存
?高速緩存Cache
?虛擬存儲器的原理與作用
?存儲器與CPU的連接
Pentium機的存儲系統(tǒng)
4.1存儲器概述
?4.1.1存儲器的作用
計算機真正工作的場所!
而現(xiàn)代計算機系統(tǒng)中存儲系統(tǒng)的存儲結
構是多層次的,除了主存外,高速緩存
(Cache),輔助存儲器在計算機系統(tǒng)中都
起著非常重要的作用!
4.1.2存儲器的分類
(1)按存儲介質:半導體器件和磁性材料
(2)按存取方式:隨機存儲器,順序存儲器
(3)按存儲器的讀寫功能分:只讀存儲器(ROM)
和隨機存儲器(RAM)
(4)按信息的可保存性:非永久記憶的存儲器
和永久記憶的存儲器
(5)按在計算機系統(tǒng)中的作用分:主存儲器、
輔助存儲器、高速緩沖存儲器、控制存儲器等。
4.1.3存儲器的主要性能指標
?存儲容量:存儲器能夠存儲的二進制信息的數(shù)量。
?存取速度:存取操作的時間越短,則單位時間內,CPU
與存儲器交換的信息就越多,常用存取時間和存取周期
來衡量。
?存取時間:啟動一次存儲器操作到完成該操作所經歷的
時間。
?存儲周期:連續(xù)兩次讀操作所需間隔的最小時間。
傳輸率:數(shù)據(jù)存入存儲器或者從存儲器讀取出的速率。
413存儲器的主要性能指標
可靠性:指存儲器對電磁場、溫度變化等因素造成干擾
的抵抗能力(亦稱電磁兼容性),以及在高速使用時也
能正確地存?。ǚQ動態(tài)可靠性)。
?集成度:存儲器芯片的集成度越高,構成相同容量的存
儲器的芯片數(shù)就越少。
?存儲器帶寬:單位時間里存儲器所存取的信息量,通常
以位/秒或字節(jié)/秒做度量單位。帶寬是衡量數(shù)據(jù)傳輸?shù)?/p>
重要技術指標
存取時間、存儲周期、存儲器帶寬都反映了存儲器的速
度指標。
4.1.4多級結構的存儲器系統(tǒng)
三級結構的存儲器系統(tǒng)-將高速緩沖存儲器、主存儲
器和輔助(虛擬)存儲器組成的統(tǒng)一管理、調度的
一體化三級結構的存儲器系統(tǒng)。
?三種存儲器比較:
A.高速緩存(Cache):速度快,容量小,用于臨
時存放運行中的指令和少量數(shù)據(jù)
B.主存:速度、容量一般,用于臨時存放運行中的
大量程序和數(shù)據(jù)
C.輔存:速度慢,容量大,用于永久存放大型程序
軟件和數(shù)據(jù)庫
cache
主存
磁帶光盤
存儲器的分級結構
采用三級結構的目的和方法
A.Cache■主存層次:解決CPU與主存間速度不匹配
問題,使系統(tǒng)具有主存容量和接近于cache速度。采
用地址映像方式,以字塊為基本信息單位。
B.虛擬存儲器.主存層次:解決主存容量小、運行成
本高的問題,使系統(tǒng)具有輔存容量和接近主存速度,
且造價和運行成本低。采用地址變換方式,以段、頁
為基本信息單位。
存儲器的分級結構
微處理器(CPU)
f
主存
什么是局部性原理、一致性原則
和包含性原則?
(1)三級結構存儲器系統(tǒng)運行原理基礎-局部性原理:
A.時間局部性:在較小的時間間隔內,最近被訪問
的指令和數(shù)據(jù)很可能再次被訪問。
B.空間局部性:最近被訪問的指令和數(shù)據(jù)往往集中
在一小片存儲區(qū)域中。
C指令執(zhí)行方式局部性:順序執(zhí)行較轉移執(zhí)行可能
性大。
(2)三級存儲器存放信息必須滿足的原則
A.一致性原則:同時存放在三類存儲器中的信息,
在三類存儲器中必須保持同值。
B.包含性原則:處在內層的存儲器的信息一定包含
在各外層的存儲器中。即內層存儲器中的信息是外層存
儲器所存信息的一小部分的副本。
4.2隨機讀寫存儲器
?4.2.1SRAM存儲器
1、基本存儲單元:基本存儲單元是組成存儲器的
基礎和核心,它用來存儲一位二進制信息0或1。
六管SRAM存儲元是由兩個MOS反相器交叉耦
合而成的觸發(fā)器。一個存儲元存儲一位二進制代
碼,如果一個存儲單元為n位,則需由n個存儲
元才能組成一個存儲單元。
原理:利用4個MOS管組成的觸發(fā)器存儲一位二
進制信息。
上圖中,T3,T4管是負載管,ThT2管為工作管,若T1截止,
A點為高電平,使T2管導通,此時B點處于低電位,而B點的
低電位又使T1更加截止,因此,這是一個穩(wěn)定狀態(tài)。反之,
如果T1導通,則A點處于低電位,使T2管截止,這時B點處于
高電位,而B點處于高電位又使T1管更導通,因此,這是一
個穩(wěn)定狀態(tài)。顯然,這種電路有兩個穩(wěn)定狀態(tài),并且A、B兩
點的電位總是互為相反的。如果我們假定A點高電位代表”:T
A點低電位代表“0L那么,這個觸發(fā)器電路就能表示一位二
進制的1和0。
T5,T6,T7,T8為控制管和開關管。由存儲元組成存儲
器時,必須能夠控制按地址選擇存儲元的操作。如果某存儲
元被選中,則X地址譯碼器和Y地址譯碼器均處壬高電位,使
T5—T8四個晶體管都導通,輸入輸出電路I/O及I/O就分別與A
點和晦相接,這時,A點和B點的電位狀態(tài)0或1,就能輸出到
I/O和/線上。
422動態(tài)存儲元
寫入"0”的過程
1
?
四
管
動
態(tài)
存
儲
元
而電壓1
低電壓。
在六管靜態(tài)存儲元電路中,信息暫存于Tl,T2管的柵
極,這是因為管子總是存在著一定的電容。負載管T3,
T4是為了給這些存儲電容補充電荷用的。由于MOS的柵
極電阻很高,故泄露電流很小,在一定的時間內這些信息
電荷可以維持住。為了減少管子的數(shù)量以提高集成度,故
把T3,T4去掉,這樣就變成了四管動態(tài)存儲電路,如上
圖。
為了進一步提高存儲器的集成度,人們又設計了單管
動態(tài)存儲元電路。如下圖。
它有一個管子T1和一個電容C構成,寫入時字選擇線
為“1、T1管導通,寫入信息由位線(數(shù)據(jù)線)存入電容
C中;讀出時字選擇線為“1、存儲在電容C上的電荷,
通過T1輸出到數(shù)據(jù)線上,通過讀出放大器即可得到存儲信
息。
2.單管動態(tài)存儲元
(b)中管動.任療他也珞
四管和單管存儲元電路之比較
四管電路的缺點是管子多,占用芯片面積大,
優(yōu)點是外圍電路簡單,讀出過程也就是刷新過
程,在刷新時不需要另加外部邏輯。
?單管電路的元件數(shù)量少,集成度高,但因讀
“1”和“0”時,數(shù)據(jù)線上的電平差別很小,需
要有高鑒別能力的讀出放大器配合工作,外圍
電路比較復雜。
DRAM的電氣特征
①集成度高,功耗低
②具有易失性,必須刷新
③破壞性讀出,必須讀后重寫
④讀后重寫,刷新均經由刷新放大器進行。
3.DRAM與刷新機制
?動態(tài)MOS存儲器采用“讀出”方式進行刷新。
因為在讀出過程中恢復了存儲單元MOS柵極電
容電荷,并保持原單元的內容,所以讀出過
程就是再生過程。通常,在再生過程中只改變
行選擇線地址,每次再生一行。依次對存儲器
的每一行進行讀出,就可以完成對整個DRAM
的刷新。從上一次對整個存儲器刷新結束到下
一次對整個存儲器全部刷新一遍位置,這一段
時間間隔叫涮新周期,一般為2ms,4ms,8mso
常用的刷新方式有三種:集中式、分散式和異
止T
工IO
集中式刷新
在允許的最大刷新時間間隔(2ms)內,按照
存儲器容量大小集中安排刷新時間,刷新期間
要停止讀/寫操作。
___________刷新
讀/寫操作(1936Ms)
共64|js
2mS
集中式刷新
采用集中式刷新的系統(tǒng)存取周期不受刷新工作
的影響。讀寫操作和刷新工作在最大刷新周期
中分開進行,因此,系統(tǒng)的存取速度比較高,
它只取決于單元電路和外圍電路的延時。但在
集中刷新期間內不能進行任何讀/寫操作,這段
時間稱為死時間,在這段時間內主機不能進行
任何操作。如果存儲芯片的單元數(shù)目更多,則
死時間更長,意味著主機在更長的時間內不能
進行任何操作。
分散式刷新
?與集中式刷新相反,如果將系統(tǒng)的存取周期分成
兩部分,前半部分進行讀/寫操作或處于保持狀
態(tài),后半部分時間用于存儲器刷新,在一個周期
內刷新存儲單元矩陣的一行。這種刷新方式稱為
分散式刷新。
讀/寫刷新
刷新間隔128個周期(64us)
分散式刷新
?分散式刷新將刷新操作安排在系統(tǒng)的存
儲周期內進行,對CPU而言沒有“死時
間”的問題,這是其優(yōu)點。但是,分散
式刷新加長了計算機的存取時間,刷新
次數(shù)過多,降低了整機的運行速度。因
此,分散式刷新不適用于高速存儲器。
異步式刷新
?異步式刷新是集中式和分散式兩種刷新方式的結
合,這種方法充分利用了最大刷新間隔時間,即
在2ms間隔時間內將刷新操作平均分配到整個最
大間隔時間內進行。相鄰兩行的刷新間隔等于最
大刷新間隔時間(2ms)除以行數(shù)。
異步式刷新
?異步式刷新同集中式刷新一樣,也存在死時間
的問題,但與集中式刷新相比,它的死區(qū)時間
小得多,僅為0.5口s。這種方式可以避免使
CPU連續(xù)等待太長的時間,并減少了刷新次數(shù),
是一種比較實用的方法,實際使用中用得較多。
異步式刷新還可以采取不定期刷新方式,即將
刷新操作安排在CPU不訪問內存的時間里進行。
4.2.3SRAM與DRAM的比較
SRAMDRAM
存儲信息觸發(fā)器
_______________________小_;
面積大
容量__________少___________多
集成度_________低___________高
存儲成本高___________低
破壞性讀出非____________________是
需要刷新不要需要
存取速度快_____________________慢
送行/列地址同時送分兩次送
功率損耗少多
4.3存儲器的組成
?實際應用的SRAM和DRAM存儲器除了用于存
儲信息的存儲體外,還有一些附屬電路,如地
址譯碼電路、驅動電路、讀寫電路和控制電路
等組成。
4.3存儲器的組成
1.存儲體
存儲體由眾多存儲元構成,是存儲信息的場所。存儲體
中的各存儲元通常組成一定的結構,一般是組織成二維
矩陣的形式。
2.地址譯碼電路
地址譯碼電路用于將從地址線送來的地址信號翻譯成對
應存儲單元的選擇信號。其中輸入的信息來自CPU的地
址寄存器。地址寄存器用于存放要訪問的存儲單元的地
址。
地址譯碼有兩種方式,一種是單譯碼方式,適用于容量
不大的存儲器;另一種是雙譯碼方式,適用于容量較大
的存儲器。
單譯碼方式
雙譯碼方式
4.3存儲器的組成
3.驅動器
在雙譯碼結構中,每條X方向的選擇線要驅動
一條字線上的所有存儲元電路,電容負載很大。
因此,為了能夠驅動掛在X方向選擇線上的所
有存儲元電路,必須在譯碼后增加一個驅動器。
4.I/O電路
I/O電路處于數(shù)據(jù)總線和被選中的單元之間,
用于控制被選中的存儲單元讀出或寫入,該電
路兼有信號放大作用。
4.3存儲器的組成
5.片選與讀/寫控制電路
目前每一片存儲器的存儲容量終究還是有限的,
所以,一個存儲體總是要由一定數(shù)量的存儲芯片
組成。在進行地址選擇時,首先要選片,故需要
片選電路。
究竟對存儲芯片是讀還是寫,這一任務由讀/寫
控制電路來完成。
6.輸出驅動
為了擴展存儲器的字數(shù),常需將幾片RAM的數(shù)據(jù)
線并聯(lián)使用;或與雙向的數(shù)據(jù)總線相接。這就需
要用到集電極開路或三態(tài)輸出緩沖器。
4.3.2SRAM實例-Intel2114
A
九4
As行GND
遇64X64存儲矩陣
AG擇
AT
A-8
|血含游人參
列I/O電路
l/0
2刊遇擇
l/D3
依4UWU
CS詬
SRAM實例-Intel2114
讀周期寫周期
4.3.3DRAM存儲器-Intel2116
RAS
CAS
圖4.916Kxi動態(tài)存儲器框圖
434存儲器擴展
單個存儲芯片的容量還不能滿足人們實際對存
儲器的容量要求。因此為了獲得更大容量的存
儲器,往往需要將多個存儲芯片按字向、位向
進行擴展,或者按字向和位向同時擴展,以滿
足實際存儲器的容量要求。
?根據(jù)存儲器所需的容量需求和所提供的芯片的
實際容量需求,可以計算出總的芯片數(shù)。例如,
設要求的存儲器容量為MXN位,實際提供的存
儲芯片容量為IXk位(1WM,kWN),則:
所需的存儲器芯片數(shù)=(M/l)X(N/k)
1.位擴展
?如果存儲器與存儲芯片字數(shù)一致(如上式中M=l)而位
數(shù)不同(k<N),則需要進行位擴展。位擴展是指只在
位數(shù)方向進行的擴展,即加大字長。位擴展要將各存儲
芯片的地址線、片選信號線和讀/寫控制信號線并聯(lián),
而各芯片的數(shù)據(jù)線根據(jù)單獨列出。
2.字擴展
?如果存儲器與存儲芯片位數(shù)一致(N=k)而字數(shù)不同
(1<M),則需要進行字擴展,即位向不變,只在字向
擴充。字擴展的具體方法是將芯片的地址線、數(shù)據(jù)線和
讀/寫控制線都并聯(lián),由片選信號來區(qū)分各個芯片的地
址,片選信號連接到選片譯碼器的輸出端。
3.字位同時擴展
?如果存儲器與存儲芯片位數(shù)不一致
(k<N),字數(shù)也不相同(1<M),則需
要進行字位同時擴展,即既要進行位向上
的擴充,又要進行字向上的擴充。字位同
時擴展是前兩種擴展方式的組合,實現(xiàn)時
只要遵循各自的擴展規(guī)律即可。
字位同時擴展常常用于構造容量更大的存
儲器。
3.字位同時擴展
4.3.5主存儲器與CPU的連接
CPU與存儲器之間的連接主要是地址線、數(shù)據(jù)
線與控制線方面的連接。
4.4高性能DRAM結構
4.4.1微處理器與DRAM的延遲差距
時間
4.4.2EDRAM芯片
EDRAM芯片又稱為增強型DRAM(Enhanced
DRAM)芯片,由Ramtron開發(fā)。它是在
DRAM上集成了一小片由SRAM實現(xiàn)的高速緩
沖存儲器(Cache),SRAM中保存的是最后一
次讀操作所在行的全部內容,這使CPU有更多
的機會訪問更快速的Cache而不是DRAM,因
而使DRAM芯片的性能得到了顯著改進。
1MX4位EDRAM芯片的結構框圖
443FPMDRAM
?FPMDRAM又稱為快頁模式DRAM(FastPage
modeDRAM),是傳統(tǒng)DRAM的改進型產品。
這種DRAM在Intel286、386時代很流行。
?主要特點是采用了不同于早期DRAM的列地址
讀出方言,隹統(tǒng)DRAM左右取一位數(shù)搪疝必
須分別輸入行地址和列地址信息。FPMDRAM
對這一尋址方式作了改進,輸入行地址后,如
果CPU需要的數(shù)據(jù)在同一行地址內,則可以在
同一行連續(xù)輸入列地址而不必再輸入行地址。
由于使用了同一電路來存取數(shù)據(jù),因此也帶來
一些弊端。
444EDODRAM
?EDODRAM即擴展數(shù)據(jù)輸出DRAM
(Extendeddata-outDRAM),是一種比
快頁模式性能更高的DRAM。它的工作
原理基本與FPMDRAM類似,但取消了
擴展數(shù)據(jù)輸出內存與傳輸內存兩個存儲
周期之間的時間間隔,可在把數(shù)據(jù)發(fā)給
CPU的同時去訪問下一個頁面。
445SDRAM
?SDRAM又稱為同步型DRAM(Synchronous
DRAM),SDRAM是動態(tài)存儲器系列中使用最廣
泛的高速、高容量存儲器,其內部存儲體的單
元存儲電路仍然是標準的DRAM存儲體結構,只
是隹工藝上進行了改進,如功耗更低、集成度
更IWJ等。
?SDRAM基于雙存儲體結構,內含兩個相互交錯
的存儲矩陣,當CPU從一個存儲矩陣訪問數(shù)據(jù)
的同時,另一個存儲矩陣已經準備好讀/寫數(shù)
據(jù)。通過兩個存儲矩陣的緊密配合,讀取的效
率得到成倍提高。
446DDRSDRAM
?DDRSDRAM即雙倍速率SDRAM(DoubleDate
RateSDRAM),其最大特點便是能在時鐘觸發(fā)
沿的上、下沿都能進行數(shù)據(jù)傳輸(SDRAM僅能
在上升沿傳輸數(shù)據(jù)),所以相對于SDRAM來說
能將內存的傳輸速率提高一倍。
?DDR內存沿襲了SDRAM內存的制造體系,其制造
成本比普通SDRAM高不了多少,遠遠小于RDRAM。
447RDRAM
RDRAM(RambusDynamicRandomAccess
Memory)即內存總線動態(tài)隨機存取內存,是一
種存儲總線式DRAM存儲器。
?RDRAM內存接口為各種消費型電子、網絡和運
算應用提供相當優(yōu)秀的系統(tǒng)頻寬與成本比。
RDRAM接口已實用于數(shù)以千萬計消費型、運算
和網絡系統(tǒng)和產品中的RDRAM內存裝置、控制
器、處理器和芯片組。
448SLDRAM
?SLDRAM又稱同步鏈接DRAM(SyncLink
DRAM)o它在速度上最接近于RDRAM,
SLDRAM是一種增強和擴展的SDRAM架構,
它將當前的4體(Bank)結構擴展到16體,
并增加了新接口和控制邏輯電路。
SLDRAM像SDRAM一樣使用每個脈沖的邊沿
傳送數(shù)據(jù)。
449VCM
?VCM又稱為虛擬通道內存(Virtual
ChannelMemory),是NEC公司開發(fā)出來
的新一代DRAM,其原理是在一般的DRAM
中加入一個塊SRAM作為數(shù)據(jù)緩存,以此
維持數(shù)據(jù)的快速訪問,相當于一種具有
緩存的存儲器。
4.50只讀存儲器
只讀存儲器是一種為非揮發(fā)性(Non-Volatile)的存儲
器。ROM有兩個顯著的優(yōu)點,一是結構簡單,位密度
比可讀/寫存儲器高;二是具有非易失性,所以可靠
性高。
①掩膜式只讀存儲器(Mask-ProgrammableROM)
②一次編程只讀存儲器(ProgrammableROM,PROM)
③光擦除可編程只讀存儲器(ErasableProgrammable
ROM,EPROM)
④電擦除型可編程只讀存儲器(Electrically
ErasableProgrammableROM,EEPROM)
⑤閃速存儲器(FlashMemory)
451掩模式只讀存儲器
(MPROM)
?掩模式ROM需要生產廠家先按給定的程序
或數(shù)據(jù)對芯片圖形(掩膜)進行2次光刻
而形成,所以生產第一片這樣的ROM費用
很大,但復制同樣內容的ROM就很便宜。
因而掩模式ROM適用于成批生產的定型產
品,如用于存放計算機系統(tǒng)初始化信息
的BIOS(BasicInputOutputSystem)
等。
4.5.2可編程只讀存儲器(PROM)
?PROM又稱為可編程一次的ROM(OneTimePROM,簡稱
OTPROM)o在出廠時,所有存儲元均被加工成同一狀態(tài)
“0”(或“「),用戶可根據(jù)需要通過編程將某些存儲元
的狀態(tài)改變成另一狀態(tài)“1”(或“0”)。但這種編程只能
進行一次,一旦編程完畢,其內容便不能再改變。
4.5.3光擦除可編程只讀存儲
器(EPROM)
?光擦除可編程只讀存儲器簡稱為EPROM。這種存儲器是
將PROM的保險絲改成由MOSFET構成的電子開關。其還
原方法為在紫外燈光下照射一段時間(15?20分鐘左右),
理論上EPROM可無限次使用,但因材料壽命關系仍有一
定限度(100次左右)。
4.5.4電擦除型可編程只讀存
儲器(EEPROM)
?電擦除型的可編程只讀存儲器也簡稱為EAROM(Electrically
AlterableROM),其存儲元與EPROM類似,但電子開關還原
時不必用紫外光,只需電子信號即可完成擦除操作。
EEPROM和EPROM是目前應用最廣泛的只讀存儲器。
?EPROM雖然具有可反復編程的優(yōu)點而被廣泛使用,但
EPROM只能整體擦除,不能一個存儲單元一個存儲單元地
獨立擦除,而且擦除操作比較麻煩。而EEPROM克服了
EPROM的這一不足。
EEPROM的結構與EPROM相似,都是具浮動柵極的MOS,
其特性似無錯絲開關一樣,跳開后可再還原回去。但
EEPROM在浮柵上增加了一個隧道二極管,編程時可使電荷
通過它流向浮柵,而擦除時可使電荷通過它流走,即擦除和
編程均用電完成。
455閃速存儲器(FlashMemory)
?閃速存儲器(FlashMemory)簡稱閃存,1988年由
Intel公司首先推出,也是一類非易失性存儲器NVM
(Non-VolatileMemory)即使在供電電源關閉后仍能
保持片內信息,這一特性與ROM相同。
?與EEPROM相比,閃速存儲器也可以進行電擦除和可重復
編程,但并不需要特殊的高電壓,并且成本更低、存儲
密度更大。其獨特的性能使其現(xiàn)在廣泛地運用于各個領
域。
閃速存儲器一Am28F256
4.6高速存儲器
4.6.1雙端口存儲器
雙端口存儲工作
1.數(shù)據(jù)A<〉數(shù)據(jù)B
原理
?雙端口存儲器是
一種具有兩個單
獨的讀/寫端口及
控制電路的存儲
-O
?雙端口存儲器通
過增加一個讀/寫
端口的方法擴展
了存儲器的信息
交換能力。
地址A地址B
461雙端口存儲器
雙端口存儲器與兩個獨立的存儲器不相同,其
兩個讀/寫端口可訪問的存儲空間是相同的,可
以訪問同一個存儲單元(兩個獨立的存儲器不
能做到這一點)。當然,雙端口存儲器的兩個
端口對同一個存儲單元進行讀/寫操作時,需要
有相應的控制機制,以免發(fā)生讀寫沖突。通常
雙端口存儲器的每個端口都設有判忙標志位
),訪問同一存儲單元時,兩個端口根據(jù)
其BUSY的狀態(tài)確定哪個端口優(yōu)先進行讀/寫操作。
2.雙端口存儲器一DS1609
ADoADo
AD7AD?
WEOECEWEOECE
2.雙端口存儲器一DS1609
(1)讀操作
(2)寫操作
2.雙端口存儲器一DS1609
(3)仲裁
DS1609有一個特別的存儲單元結構設計,
允許兩個端口同時對存儲單元進行訪問。
因此不需要通常雙端口存儲器讀周期中
不可缺少的仲裁邏輯。但是,如果兩個
端口同時對同一個存儲單元進行訪問時,
還是會產生需要仲裁的競爭。
47高速緩沖存儲器
?高速緩沖存儲器(簡稱高速緩存或Cache)在現(xiàn)代計算
機系統(tǒng)中起著非常重要的作用。Cache的出現(xiàn)主要是為
了解決CPU運算速度與主存讀寫速度不匹配的矛盾。與
存儲器的讀寫速度相比,CPU運算速度要快很多。
?Cache在慢速的主存和快速的CPU之間起到緩沖作用,使
CPU既可以以較快速度存取Cache中的數(shù)據(jù),提高系統(tǒng)整
體性能,又不使系統(tǒng)成本上升過高。
4.7高速緩沖存儲器
4.7.1cache基本原理
1、cache的功能:cache是一種高速緩沖存儲器,是
為了解決CPU和主存之間速度不匹配而采用的一項重要
技未。
cache是介于CPU和主存之間的小容量存儲器,但
存取速度比主存快。目前主存容量配置在幾百MB情況
下,cache的典型值為幾百KB。cache能高速地向CPU提
供指令和數(shù)據(jù),從而加快了程序的執(zhí)行速度。從功能上
看,它是主存的緩沖存儲器,由高速的SRAM組成,為
追求高速,包括管理在內的全部功能由硬件實現(xiàn),因而
對程序員是透明的。
當前隨著半導體集成度的進一步提高,cache已放
入CPU中,其工作速度接近于CPU的速度,從而能組成
兩級以上的cache系統(tǒng)。
CPU
中央處理器
r期的計算機只有1"和外",
沒有Cachu.
M2M3
外存
Cache能。泌向(TI提
供指令和數(shù)據(jù),加快
程序的執(zhí)行速度.
M2M3
現(xiàn)在的Cache分片內Cache利
片外Cache,片內Cache速度
己接近CPU的速度.(完)
4.7高速緩沖存儲器
?Cache除SRAM外,還要有控制邏輯。若cache在CPU芯
片外,它的控制邏輯一般與主存控制邏輯合成在一起,
稱為主存/cache控制器;若cache在CPU內,貝帥CPU提
供它的控制邏輯。
CPU與cache之間的數(shù)據(jù)交換是以字為單位,而cache與
主存之間的數(shù)據(jù)交換是以塊為單位。一個塊由若干字組
成,是定長的。當CPU讀取主存中一個字時,便發(fā)出此
字的內存地址到cache和主存。止匕時cache控制邏輯依據(jù)
地址判斷此字當前是否在cache中,若是,此字立即傳
送給CPU;若非,則用主存讀周期把此字從主存讀出送
至UCPU,與此同時,把含有這個字的整個數(shù)據(jù)塊從主存
讀出送到cache中。
4.7.2Cache/主存結構
4.7.2Cache/主存結構
?Cache通常由相聯(lián)存儲器實現(xiàn),相聯(lián)存儲
器是一種按內容訪問的存儲器。其每一
個存儲塊都具有額外的存儲信息,稱為
標記(Tag)。當訪問相聯(lián)存儲器時,將地
址和每一個標記同時進行比較,從而對
標記相同的存儲塊進行訪問。
LRU管理邏輯
CAM
地址
總線相聯(lián)
—?--存儲圖表
CPL與Cache之間的
數(shù)據(jù)交換是以不為
單位,而Cache與主
存之間的數(shù)據(jù)交換是
以現(xiàn)為單位.
CPI
存
cache
數(shù)據(jù)總線
4.7.3Cache的命中率
在程序執(zhí)行期間,設Nc表示cache完成存取的總次數(shù),Nm表示主
存完成存取的總次數(shù),定義為命中率,則有:
hN
h=5-
NC+N
若%表不命中時的cache訪問時間,?表不未命中時的主存訪問時
間,1-h表示未命中率,則cache/主存系統(tǒng)的平均訪問時間ta為:
由表達式看出,為提高訪問效率,命中率h越接近1越好,r值取5-
10為宜,不宜太大。
命中率h與程序的行為、cache的容量、組織方式、塊的大小有關。
4.7.4Cache的讀/寫操作
i).寫返回法
CPU向Cache寫入內容時,先只修改Cache中的內容,并
不立即寫入主存,寫入Cache的數(shù)據(jù)塊用標志位(也稱
臟位,Dirtybit)力口以注明,直國j該數(shù)搪塊要從Cache
中替換出去時才將該Cache塊的數(shù)據(jù)寫回主存。
2).寫通過法
也稱寫穿透法或全寫法,是指CPU在寫操作時,要將數(shù)
據(jù)同時寫入Cache和主存。這種方法能夠保證Cache與主
存之間任何時刻數(shù)據(jù)都是一致的。
3).寫一次法
寫返回法和寫通過法的綜合。其寫命中時和寫未命中時
的處理方法與寫返回法基本相同,只是在第一次寫
Cache時要同時寫入主存。
4.7.5Cache與主存之間的地
址映射
與主存容量相比,cache的容量很小,它保存的內容只
是主存內容的一個子集,且cache與主存的數(shù)據(jù)交換是
以塊%單位。為了把主存塊放到cache中,必須應用
某種方法把主存地址定位到cache中,稱為地址映射。
“映射”一詞的物理含義是確定位置的對應關系,
并用硬件來實現(xiàn)。這樣,當CPU訪問存儲器時,它
所給出的一個字的內存地址會自動變換成cache的地
址。由于采用硬件,這個地址變換過程很快,軟件
人員絲毫未感覺到cache的存在。這種特性稱為
cache的透明性。
?地址映射有全相聯(lián)方式、直接方式和組相聯(lián)方式三
種。
1、全相聯(lián)映射方式
Cache的數(shù)據(jù)塊大小稱為行,用L表示,其中i=0,1,2,……,
m-1,共有m=2r行。主存的數(shù)據(jù)塊大小稱為塊,用Bj表示,其中
>0,1,2,……,n-1,共有n=2s塊。行與塊是等長治,設每個
塊(行)由k=2w個連續(xù)的字組成,字是CPU每次訪問存儲器時存
取的最小單位。
?全相聯(lián)映射中,將主存中的一個塊的地址(塊號)與塊的內容
(字)一起存于cache的行中,其中塊地址存于cache行的標記部
分中。這種帶全部塊地址一起保存的方法,可使主存的一個塊直
接拷貝至Ucache中的任意一行上,非常靈活。如圖。
?全相聯(lián)映射的檢索過程:CPU訪存指令指定了一個內存地址(包
括主在和cache),為了快速檢未,指令中的塊號與cache中所有
行的標記同時在比較器中進行比較。如果塊號命中,則按字地址
從cache中讀取一個字;如果塊號耒命中,則按內存地址從主存中
讀取這個字。在全相聯(lián)映射中,全部標記用一個相聯(lián)存儲器來實
現(xiàn),全部數(shù)據(jù)用一個普通的RAM來實現(xiàn)。全相聯(lián)映射的主要缺
點是比較器電路難于設計和實現(xiàn),因此只適合于小容量cache的
采用。
3訓聯(lián)映射的c-I織
內存
Cache
行號
不意佟I”(ache位8行,上存為256)塊.
支相聯(lián)映射的CachMl織
苜先,CPU訪存指令指定一個內
在地址,它有塊弓和字組成.
全相聯(lián)映射的Cache組織
為了加快檢索,指令中的塊號與
Cache中所仃行的標記卜可時
進行比較.
全相聯(lián)映射的Cache組織
如果塊號命中,則按字節(jié)從Ca<h'
M讀取一個字.
全相聯(lián)映射的Cache組織
s+w
生存
內存地址Cache
0標id
塊號Bo
標記L7
>Li
字
標記
比較器
命中
不命中
如果塊號不命中,則按內仃
地”詼取這個字;同時把內
"塊讀入C;M'h"川I.(完)
2、直接映射方式
直接映射方式也是一種多對一的映射關系,即一個主存塊只能
拷貝至ijcache6勺一個特定位置上去。Cacle的行號i和塊號j看立口
下函數(shù)關系:
i弓modm
式中m為cache的總行數(shù)。顯然,主存的第0塊、第m
塊,……,第2s-m塊只能映射到cache的第0行;而主存的第1
塊,第m+1",第2m+l塊,,第2s-m+l塊只能映射到
cache的第1行。
在直接映射中,cache將s位的塊地址分成兩部分:I?位作為
cache的行地址,s-i?位作為標記(tag)與塊數(shù)搪一起彳呆存在該
行。當CPU以一個給定的內存地址訪問cache時,首先用r位行
號找到cache中的此一行,然后用地址中的s-r位標記部分與此
行的標記在比較器中做比較。若相符即命中,在cache中找到
了所要求的塊,而后用地址中最低的W位讀取所要求的字。若
不符,則未命中,由主存讀取所要求的字。
2、直接映射方式
?直接相聯(lián)映射的優(yōu)點是硬件簡單,成本
低。缺點是每個主存塊只有一個固定的
行位置可存放。如果塊號相距m整數(shù)倍的
兩個塊存于同一cache中,就要發(fā)生沖突。
發(fā)生沖突時就要將原先存入的行換出去,
但很可能過一段時間又要換入。頻繁的
置換會使cache的效率下降。因此直接映
射方式適合于需要大容量cache的場合,
更多的行數(shù)可以減少沖突的機會。
抬.39克接相聯(lián)映射的CHCM組織
內存
Bo
Bi
i
B;
I
B15
Biti
>
I
B?3
BUS
示意圖WCache為8行,主存為256塊.
B255
主存的每一塊只能映射到cache的特定一
行上去。
H接和聯(lián)映射的Cache組織
內存
Bo
如圖BO,BlB255主存
塊只映射到Cache的第0行
直接相聯(lián)映射的Giche組織
內存
行號Cache
B7,B15,...B8K+7只口J映射到Cache的第7塊.
至于為何B0,B8,...,B255映射到L。,而不是Bo,B”..B3i映射到L0,是因為基
于程序的局部性原理。
克接相聯(lián)映射的Cache組織
s+w
內存地址
命111
不命中
首先,CPU訪存指令指定一個內行
地址,它有l(wèi)ag,行號和字組成.
,接相聯(lián)映射的Cache組織
s+w
地址『位行號找到Cache
中的此一行.
宜接相聯(lián)映射的Cache組織
s+w
然后用地址中的(、
r)位標記部分與此行
的標記在比較藤中做
比較.
若相符即命中,在Cache'|版到了所
要求的塊,然后用地址中最低的“位
讀取所需求的字.
宜接相聯(lián)映射的Cache組織
s+w
若不符合則不命中,從i仃
中讀取所要求的塊.(完)
3、組相聯(lián)映射方式
全相聯(lián)映射前直接映射兩種方式的優(yōu)缺點恰好相反。從
存放位置的靈活性和命中率來看,前者為優(yōu);從比較器
控制電路簡單及硬件投資來說,后者為佳。
?組相聯(lián)映射方式是全相聯(lián)映射和直接相聯(lián)映射的折衷方
案,它適度地兼顧了二者的優(yōu)點,盡量避免二者的缺點,
因此被普遍采用。
?組相聯(lián)映射將cache分成u組,每組v行。主存塊存放到
哪個組是固定的,但存放到該組哪一行是靈活的,猶如
下函數(shù)關系:
m=uxv(m為cache的總行數(shù))
3、組相聯(lián)映射方式
?內存地址中主存S位的塊號被劃分成兩部分:低序的d位
(2d=u)用于表示cache組號,高序白勺s-d位作為標記(tag)
與塊數(shù)據(jù)一起存于此組的某行中。
?組相聯(lián)映射的示意圖
?組相聯(lián)映射的檢索過程
?組相聯(lián)映射方式中的每組行數(shù)v一般取值較小,典型值
是2,4,8,16。這種規(guī)模的v路比較器容易設計和實現(xiàn)。
而塊在每組中的排放又有一定的靈活性,使沖突減少。
為強調比較器的規(guī)模和存放的靈活程度,常稱之為v路
組相聯(lián)cache。
組由聯(lián)映射的Cache組織
內存塊號
示意圖11(ache位8行,主存為256塊.
主存的每一塊可以存入cache特定一組的任意行中。
細川聯(lián)映射的Cache組織
內存塊號
如圖,Bo,Bl,…,Bl!52可以存入
Cache的So組的任總L行?卜.
組相聯(lián)映射的Cacht、組織
內存塊號
Bi,B5….,B253可以存入Cache
的SMI的任意一行中.
細川聯(lián)映射的Cache組織
內存塊號
Cache
組號
S
標記(6位)
同理對團,Be,...B附及其它.
組相聯(lián)映射的(、組織
2
不命中
初始化,CPU訪存指令指定一個內
在地址,它有匕電,組號和宇組成
組相聯(lián)映射的(“”2組織
首先川塊號域的第d位找
到Cache的川應絹.
組相聯(lián)映射的(Ah,組織
?Bo
然后將塊號域的高(、
d)位勺該組行中的所
有標記同時進行比較.
組相聯(lián)映射的(“”2組織
如果有行的標記與之
相符,則此行命中.
組相聯(lián)映射的(“”2組織
s+w
內存地址
不命中
以內存地址的“位字域部分檢索
此行的具體字,并完成所需要求
的存取操作.
組相聯(lián)映射的(“”2組織
s+w
內存地址Cache
標記行
如果任意行的標記與之不相符,
則Cache不命中,按內存地對訪
問主存.(完)
3種映射Cache的命中率與檢
索速度比較
Cache類型命中率檢索速度
直接映射高最快
一般
很高,路數(shù)越大命中率更
N路組相聯(lián)映射快,路數(shù)增加速度會減慢
高
Cache的命中率與那些因素有關?
(1)Cache容量與命中率的關系:在一定范圍內
容量大,命中率高。
(2)Cache行容量與命中率的關系:Cache行容
量(一次按幾個字傳送)大,則命中率高。但
太大會造成傳送速度慢,且資源浪費。
(3)多級Cache與命中率的關系:級數(shù)多,命中
率高,但3級以上沒有必要。
(4)映射方式與命中率的關系。
4.7.6Cache塊的替換算法
當通過全相聯(lián)映射和組相聯(lián)映射方式從主存向
Cache傳送一個薪鋌時,如巢Cache已經填滿,
就必須將Cache中某個已有的Cache塊替換出去,
但審換哪個Cache塊最好呢?鳥就產生了替換
算法(replacementalgorithm)的問題。
?隨機(random)替換算法
?先進先出(FirstIn,FirstOut,簡稱FIFO)算法
?最近最少使用(LeastRecentlyUsed,簡稱LRU)
算法
1.隨機替換算法
?當需要從Cache中替換出一個塊時,操作
部件只是隨機地從Cache中選取一行替換
出去即可。這種替換方式在硬件上容易
實現(xiàn),速度比FIFO算法和LRU算法都快。
缺點是很可能將馬上又要使用的塊也替
換出去了,這將降低Cache的命中率和
Cache的工作效率。但模擬實驗表明,隨
機替換算法在性能上只稍遜于其他算法。
2FIF0算法
?FIFO算法是根據(jù)調入Cache的塊的先后順
序進行置換,既先調入Cache的塊先被置
換出去。這種方法也比較容易實現(xiàn),系
統(tǒng)開銷小,缺點是可能會把一些需要經
常使用的塊替換出去,從而影響了Cache
的命中率和工作效率。
3.LRU算法
?把CPU最近最少使用的塊作為被替換的對象。
這種替換算法需要隨時跟蹤Cache中各塊的使
用情況,以便確定哪個塊是最近使用最少的塊。
?LRU算法的優(yōu)點是保護了剛調入Cache的塊,
符合Cache的工作原理,能夠保證Cache有較高
的命中率,是一種比較合理的替換算法。但是
需要以硬件或軟件方式給每個Cache塊設置一
個計數(shù)器,因此實現(xiàn)起來較復雜,系統(tǒng)開銷較
大。
4.7.7多層次Cache結構
處理器名
Pentium
PentiumPentiumProPentiumIIIPentium4
II
03/2379
提出日期11/01/9505/07/9702/26/9911/20/00
3
12KBpiOPCache*+
LICache16KB16KB32KB32KB
8KB數(shù)據(jù)Cache
1MB512KB512KB512KB
L2Cache—
(片內)(片內)(片內)(片內)
1MB
L3Cache———
(片外)
(*|1OP="微運算碼(Micro-Operation/Operand)”,這是Intel賦予微處理器中,執(zhí)行單元能直接理
解的指令集名稱。)
4.7.7多層次Cache結構
?采用多層次
Cache的主要
優(yōu)勢在于:多
層次Cache結
構可以使CPU
更多的主存申
請在Cache中
完成,進一步
減少CPU訪問
主存的次數(shù),
從而提高了處
理器的性能,
加快了計算機
系統(tǒng)的運行速
度。
478Pentium機中的Cache結構
Pentium處理器的結構框圖
4.7.8Pentium機中的Cache結構
內存地址
tag組號雙字字節(jié)
31121154210
組號目錄o第0路目錄1第1路
標記M數(shù)據(jù)0標記I數(shù)據(jù)
標記E數(shù)據(jù)1標記S數(shù)據(jù)
????
??;?
???
標記S數(shù)據(jù)0標記E數(shù)據(jù)
20位2位32字節(jié)/行1位20位2位32字節(jié)/行
PentiumCPU內部數(shù)據(jù)的Cache結構
4.7.9Pentium4中的Cache結構
系統(tǒng)愚線
4.8虛擬存儲器
4.8.1虛擬存儲器的基本概念
虛擬存儲器是指僅將應用程序的一部分裝入主
存便可以運行的存儲器系統(tǒng)。具體地講,虛擬
存儲器是指具有請求調入功能和置換功能,能
從邏輯上對主存容量進行擴充的一種存儲器系
統(tǒng),實際上,用戶所看到的大容量主存只是一
種感覺,是虛擬的,因此稱為虛擬存儲器。
優(yōu)點
?使用虛擬存儲器的計算機系統(tǒng)具有以下優(yōu)點:
①不必將整個程序完全加載主存儲器便可以執(zhí)行,因此
程序不再受到實際主存可用空間限制,程序大小可以大
于主存的容量。
②可以支持更多程序同時執(zhí)行(增加了CPU的使用率)。
③加載程序或置換程序所需I/O次數(shù)減少(速度增快)。
虛擬存儲器可以分為頁式虛擬存儲器、段式虛擬存儲
器和段頁式虛擬存儲器3種。
482頁式虛擬存儲器
在頁式虛擬存儲器中,程序的邏輯地址由頁號和頁內地
址兩部分組成。
邏輯地址
頁號頁內地址
在頁式虛擬存儲器中,邏輯地址到主存地址(物理地
址)的變換由頁表(PageTable)來實現(xiàn)。頁表是一張存
放在主存中的邏輯頁號與物理塊號的對照表,記錄著程序
的邏輯頁調入主存時被安排在主存中的位置。
4.8.2頁式虛擬存儲器一地址轉換
頁表控制寄存器
具有快表的地址變換機構
?頁表可以存放在一組寄存器中,地址轉換時只要從相應
寄存器中取值就可得到塊號,這雖然方便了地址轉換,
但硬件花費代價太高,如果把頁表放在主存中就可降低
計算機的成本。但是,當要按給定的邏輯地址進行讀/
寫時,必須兩次訪問主存。第一次按頁號讀出頁表中相
應欄內容的塊號,第二次根據(jù)計算出來的絕對地址進行
讀/寫,降低了運算速度。
?為了提高運算速度,通常都設置一個專用的高速存儲器
用來存放頁表的一部分,這種高速存儲器稱為相聯(lián)存儲
器(associativememory),存放在相聯(lián)存儲器中的頁
表稱為快表。相聯(lián)存儲器的存取時間是遠小于主存的,
但造價高,故一般都是小容量的,例如Intel80486的
快表為32個單元。
多級頁表
?采用多級頁表可以解決頁表太長的問題。
主存
頁目錄頁號偏移
邏輯地址
DPK
一
級PK
頁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年標準砌體工程分包合同樣本一
- 美食springboot課程設計
- 專題01基礎知識綜合(原卷版)
- 用戶畫像課程設計
- 自然課程設計營銷推廣
- 換熱網絡課程設計
- 理論課程設計需要考慮
- 湖南省株洲市2024-2025學年高三上學期期末考試政治試題(解析版)
- 直播器材培訓課程設計
- 汽修行業(yè)修理工技能提升總結
- 41.脅痛(膽囊結石)中醫(yī)臨床路徑
- 車間現(xiàn)場安全培訓內容課件參考
- 油藏工程-油藏物質平衡方法-1課件
- 三上書法《撇》教學課件
- 河北省廊坊市藥品零售藥店企業(yè)藥房名單目錄
- 超星爾雅學習通《三國志導讀》章節(jié)測試(含答案)
- 簡單的個人原因辭職報告(通用17篇)
- 交響曲欣賞-完整版PPT
- 公司軟件銷售管理制度
- micro810可編程控制器用戶手冊
- CVC導管維護技術評分標準
評論
0/150
提交評論