計算機組成原理-白中英編第3章.ppt_第1頁
計算機組成原理-白中英編第3章.ppt_第2頁
計算機組成原理-白中英編第3章.ppt_第3頁
計算機組成原理-白中英編第3章.ppt_第4頁
計算機組成原理-白中英編第3章.ppt_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2020/7/27,1,計算機組成原理,任課教師:宋 梅 北航北海學(xué)院軟件與信息工程學(xué)院,2,第一章 計算機系統(tǒng)概論 第二章 運算方法和運算器 第三章 存儲系統(tǒng) 第四章 指令系統(tǒng) 第五章 中央處理器 第六章 總線系統(tǒng) 第七章 外圍設(shè)備 第八章 輸入輸出系統(tǒng) 第九章 并行組織,目錄,3.1 存儲器概述 3.2 隨機讀寫存儲器 3.3 只讀存儲器和閃速存儲器 3.4 高速存儲器 3.5 cache存儲器 3.6 虛擬存儲器 3.7 存儲保護(hù),第3章 存儲系統(tǒng),3.1 存儲器概述,存儲器是計算機系統(tǒng)中的記憶設(shè)備,用來存放程序和數(shù)據(jù)。 一個二進(jìn)制代碼位是存儲器中最小的存儲單位,稱為一個存儲位或存儲元。

2、 由若干個存儲元組成一個存儲單元,由許多存儲單位組成一個存儲器。,3.1.1 存儲器分類,半導(dǎo)體存儲器:用半導(dǎo)體器件組成的存儲器 磁表面存儲器:用磁性材料做成的存儲器, 按存儲介質(zhì)分, 按存儲器的讀寫功能分:ROM,RAM 按信息的可保存性分:非永久記憶,永久記憶 按在計算機系統(tǒng)中的作用分:主存、輔存、高速緩存、控制存儲器,3.1.2 存儲器的分級結(jié)構(gòu),寄存器 微處理器內(nèi)部的存儲單元 高速緩存(Cache) 完全用硬件實現(xiàn)主存儲器的速度提高 主存儲器 存放當(dāng)前運行程序和數(shù)據(jù),采用半導(dǎo)體存儲器構(gòu)成 輔助存儲器 磁記錄或光記錄方式 磁盤或光盤形式存放可讀可寫或只讀內(nèi)容 以外設(shè)方式連接和訪問,示意圖

3、,虛擬存儲器,存儲訪問的局部性原理,分級結(jié)構(gòu)解決存儲器件的容量、速度和價格矛盾 出色效率來源于存儲器訪問的局部性原理: 處理器訪問存儲器時,所訪問的存儲單元在一段時間內(nèi)都趨向于一個較小的連續(xù)區(qū)域中 空間局部:緊鄰被訪問單元的地方也將被訪問 時間局部:剛被訪問的單元很快將再次被訪問 程序運行過程中,絕大多數(shù)情況都能夠直接從快速的存儲器中獲取指令和讀寫數(shù)據(jù);當(dāng)需要從慢速的下層存儲器獲取指令或數(shù)據(jù)時,每次都將一個程序段或一個較大數(shù)據(jù)塊讀入上層存儲器,后續(xù)操作就可以直接訪問快速的上層存儲器,3.1.3 主存儲器的技術(shù)指標(biāo),存儲容量 主存存儲容量:以字節(jié)B(Byte)為基本單位 半導(dǎo)體存儲器芯片:以位b

4、 (Bit)為基本單位 存儲容量以2101024規(guī)律表達(dá)KB,MB,GB和TB 廠商常以1031000規(guī)律表達(dá)KB,MB,GB和TB 存取時間(訪問時間) 發(fā)出讀/寫命令到數(shù)據(jù)傳輸操作完成所經(jīng)歷的時間 存取周期 兩次存儲器訪問所允許的最小時間間隔(單位ns) 存取周期略大于存取時間 存儲器帶寬(數(shù)據(jù)傳輸速率) 單位時間里存儲器所存取的信息量(單位 位/秒),3.2 隨機讀寫存儲器,SRAM(靜態(tài)RAM:Static RAM) 以觸發(fā)器為基本存儲單元 不需要額外的刷新電路 速度快,但集成度低,功耗和價格較高 DRAM(動態(tài)RAM:Dynamic RAM) 以單個MOS管為基本存儲單元 要不斷進(jìn)行

5、刷新(Refresh)操作 集成度高、價格低、功耗小,但速度較SRAM慢 NVRAM(非易失RAM:Non-Volatile RAM) 帶有后備電池的SRAM芯片 斷電后由電池維持供電,3.2.1 SRAM存儲器,6個開關(guān)管組成一個存儲元,存儲一位信息 N(=1/4/8/16/32)個存儲元組成一個存儲單元 存儲器芯片的大量存儲單元構(gòu)成存儲體 存儲器芯片結(jié)構(gòu): 存儲單元數(shù)每個存儲單元的數(shù)據(jù)位數(shù) 2MN芯片的存儲容量 M芯片地址線的個數(shù) N數(shù)據(jù)線的個數(shù),SRAM的控制信號,片選(CS*或CE*) 片選有效,才可以對芯片進(jìn)行讀/寫操作 無效時,數(shù)據(jù)引腳呈現(xiàn)高阻狀態(tài),并可降低功耗 讀控制(OE*)

6、芯片被選中有效,數(shù)據(jù)輸出到數(shù)據(jù)引腳 對應(yīng)存儲器讀MEMR* 寫控制(WE*) 芯片被選中的前提下,若有效,將數(shù)據(jù)寫入 對應(yīng)存儲器寫MEMW*,SRAM 2114,靜態(tài)MOS存儲器,用靜態(tài)MOS存儲片組成RAM 位擴(kuò)展法: 例如:用8的RAM存儲芯片,組成8K8位的存儲器,按8位m1的關(guān)系來確定位擴(kuò)展所需要的芯片數(shù)。共需8片,每一芯片的數(shù)據(jù)線分別接到數(shù)據(jù)總線的相應(yīng)位。 字?jǐn)U展法: 字?jǐn)U展:字向擴(kuò)展而位數(shù)不變,將芯片的地址線、數(shù)據(jù)線、讀寫控制線并聯(lián),而由片選信號來區(qū)分各片地址。 例如:用16k8位的芯片采用字?jǐn)U展法組成64k8位的存儲器:4個芯片。 地址分配:地址總線低位地址A0A13與各芯片的1

7、4位地址端相連,而高兩位的地址A14、A15經(jīng)2:4譯碼器和4個芯片的片選端CE相連。,靜態(tài)MOS存儲器,用靜態(tài)MOS存儲片組成RAM 字位同時擴(kuò)展法: 一個存儲器的容量假定為MN位,若使用lk位的芯片(lM,kN)需要在字向和位向同時進(jìn)行擴(kuò)展。此時共需要(Ml)(Nk)個存儲器芯片。 其中,Ml表示把MN的空間分成(Ml)個部分(稱為頁或區(qū)),每頁(Nk)個芯片。 地址分配: (A)用log2 l位表示低位地址:用來選擇訪問頁內(nèi)的l個字 (B) 用log2(Ml)位表示高位地址:用來經(jīng)片選譯碼器產(chǎn)生片選信號。,CPU對存儲器進(jìn)行讀/寫操作,首先由地址總線給出地址信號,然后要對存儲器發(fā)出讀操作

8、或?qū)懖僮鞯目刂菩盘?,最后在?shù)據(jù)總線上進(jìn)行信息交流。所以,存儲器與CPU之間,要完成: 地址線的連接; 數(shù)據(jù)線的連接; 控制線的連接。 存儲器芯片的容量是有限的,為了滿足實際存儲器的容量要求,需要對存儲器進(jìn)行擴(kuò)展。,存儲器與CPU連接,位擴(kuò)展法:只加長每個存儲單元的字長,而不增加存儲單元的數(shù)量,字?jǐn)U展法:僅增加存儲單元的數(shù)量,而各單元的位數(shù)不變,字位同時擴(kuò)展法:既增加存儲單元的數(shù)量,也加長各單元的位數(shù),存儲器系統(tǒng)的存儲容量: MN位 使用芯片的存儲容量:LK位(LM,KN) 需要存儲器芯片個數(shù):(MN)/(LK) 例: 利用2K4位的存儲芯片,組成16K8位的存儲器,共需要多少塊芯片? 解:(1

9、6K8)/(2K4)8216 即:共需16塊芯片。(既需要位擴(kuò)展,又需要字?jǐn)U展) 又例:利用1K4位的存儲芯片,組成2K8位的存儲器,共需要芯片數(shù): (2K8)/(1K4)= 22=4,字、位同時擴(kuò)展法:,計算機是一個有嚴(yán)格時序控制要求的機器。與CPU連接時,CPU的控制信號與存儲器的讀、寫周期之間的配合問題是非常重要的。 注意: 讀出時間與讀周期是兩個不同的概念。 讀出時間:是指從CPU給出有效地址開始,到外部數(shù)據(jù)總線上穩(wěn)定地出現(xiàn)所讀出的數(shù)據(jù)信息所經(jīng)歷的時間。 讀周期時間:則是指對存儲片進(jìn)行兩次連續(xù)讀操作時所必須間隔的時間。 顯然總有:讀周期 讀出時間,存儲器的讀、寫周期,靜態(tài) RAM (2

10、114) 讀 時序,靜態(tài) RAM (2114) 寫 時序,3.2.2 DRAM 動態(tài)MOS存儲器,DRAM(Dynamic RAM)即動態(tài)RAM,因為它的集成度高(單片容量可達(dá)64M位)、價格便宜且可讀可寫,因此系統(tǒng)內(nèi)存的主要容量空間是由DRAM構(gòu)成的。,DRAM的刷新(Refresh),刷新是對動態(tài)存儲元不斷充電的過程 DRAM不進(jìn)行刷新,存儲的信息會丟失 DRAM內(nèi)部 有“讀出再生放大電路”的刷新電路 設(shè)計有僅行地址有效的刷新周期 每次刷新一行存儲單元 存儲系統(tǒng)的外部刷新控制電路 將刷新行地址同時送達(dá)所有DRAM芯片 所有DRAM芯片同時進(jìn)行一行的刷新 在一定時間間隔內(nèi)啟動一次刷新(異步刷

11、新) 每次行地址增量,刷新周期 從上次對整個存儲器刷新結(jié)束時刻,到本次對整個存儲器完成全部刷新一遍為止的時間間隔 一般為2ms,4ms或8ms 刷新方式 集中式 分散式 異步式,刷新方式,在刷新間隔內(nèi),前段時間進(jìn)行正常操作,不刷新;需要刷新時,暫停讀/寫周期,集中刷新整個存儲器 由于刷新集中進(jìn)行,會造成芯片“死時間”過長;因為芯片在刷新過程中,禁止了正常的讀/寫操作,把一個存儲周期分為兩半,前半段時間用來讀/寫操作或維持信息,后半段時間作為刷新操作時間 加長了系統(tǒng)周期,刷新過于頻繁,前兩種方式的結(jié)合,把刷新操作平均分散到整個刷新周期(PC機采用的刷新方式) 例如:將6116芯片在2ms內(nèi)分散地

12、把128行刷新一遍 2000s128 =15.625 s 15.5 s 即每隔15.5 s刷新一行,說明1M1位(5122048) DRAM芯片的刷新方法,刷新周期定為8ms,【例】,【解】逐行進(jìn)行刷新 512行,每行2048個存儲元同時進(jìn)行刷新,整個芯片在8ms內(nèi)進(jìn)行512次刷新操作 集中刷新 在8ms中某個時間段,連續(xù)進(jìn)行512次刷新操作 “死時間”:t0=512 T (T為存儲器讀寫周期) 異步刷新 8ms分成512個時間段,每隔8ms51215.625s 對芯片刷新一次(一行),消除長時間的“死時間”,DRAM存儲器的刷新需要有硬件電路的支持,包括刷新計數(shù)器、刷新/訪存裁決、刷新控制邏

13、輯等。這些控制線路形成DRAM控制器。,存儲器控制電路,(1)地址多路開關(guān):刷新時需要提供刷新地址,非刷新時需提供讀寫地址,由多路開關(guān)進(jìn)行選擇。 (2)刷新定時器: 定時電路用來提供刷新請求。 (3)刷新地址計數(shù)器:只用RAS信號的刷新操作,需要提供刷新地址計數(shù)器。 (4)仲裁電路:對同時產(chǎn)生的來自CPU的訪問存儲器的請求和來自刷新定時器的刷新請求的優(yōu)先權(quán)進(jìn)行裁定。 (5)定時發(fā)生器:提供行地址選通信號RAS、列地址選通信號CAS和寫信號WE.,3.3.1 系統(tǒng)ROM BIOS ROM(Read Only Memory)即只讀存儲器IC。它的特點是只能讀不能寫,即它存儲的內(nèi)容不會被改寫,并且關(guān)

14、機后也不會丟失。因此ROM被用來存放開機就要首先執(zhí)行的BIOS程序。 BIOS(Basic Input Output System)即基本輸入輸出系統(tǒng),它是微機系統(tǒng)的最基礎(chǔ)程序,它“固化”在主板上的ROM芯片中,加電開機后首先執(zhí)行BIOS,并引導(dǎo)系統(tǒng)進(jìn)入正常工作狀態(tài)。所謂“固化”是說BIOS程序是以物理的方式保存在ROM芯片中的,即使關(guān)機也不會丟失,所以也叫做ROM BIOS。,3.3 ROM存儲器,BIOS程序中包括系統(tǒng)的啟動引導(dǎo)代碼、系統(tǒng)加電自檢程序POST(Power On Self Test)、系統(tǒng)硬件配置程序(BIOS Setup或CMOS Setup)、基本硬件驅(qū)動程序(如鍵盤、低

15、分辨率顯示、軟盤、硬盤、通信接口等)以及BIOS的輸入輸出管理程序等。 在微機加電之前,CPU的指令地址指向ROM BIOS的系統(tǒng)啟動引導(dǎo)代碼。加電后,CPU便首先自動執(zhí)行引導(dǎo)代碼,并開始運行BIOS程序,使BIOS獲得系統(tǒng)控制權(quán)。BIOS的POST程序根據(jù)CMOS存儲芯片中的硬件配置數(shù)據(jù)逐一檢測CPU、內(nèi)存、顯示卡、鍵盤、軟盤驅(qū)動器和硬盤等,如果各個部分均正常,則引導(dǎo)程序就去引導(dǎo)磁盤操作系統(tǒng)(DOS、Windows等)。,3.3.2 ROM存儲芯片 1PROM PROM(Programmable ROM)即可編程ROM。它允許用戶根據(jù)自己的需要,利用專門的寫ROM設(shè)備寫入內(nèi)容,但只允許寫一次

16、,使用起來仍然不方便。 2EPROM EPROM(Erasable Programmable ROM)即可擦除可編程ROM。它允許用戶根據(jù)自己的需要,利用專門的EPROM寫入器改寫其內(nèi)容,可以多次改寫,更新程序比較方便。因此在早期的PC機中都使用EPROM作為BIOS程序的存儲器。EPROM的外形見后圖。它可以用紫外線照射擦除存儲數(shù)據(jù),用EPROM編程器進(jìn)行程序編寫和輸入。,3EEPROM EEPROM或E2PROM(Electrical EPROM)即電可擦除可編程ROM。外形見后圖,目前的主板都使用EEPROM保存BIOS。EEPROM存儲器也叫做閃速存儲器(Flash ROM),簡稱為閃

17、存BIOS。閃存的特點是程序改寫、升級方便,只需在機器運行的正常情況下使用專門的應(yīng)用程序,將來自廠家或網(wǎng)站上的最新版本的BIOS寫入閃存即可。閃存ROM的擦除條件是加上12V電壓,這可以在主板上用跳線設(shè)置成高電壓的擦除寫入狀態(tài)。因此目前主板的BIOS升級是容易而及時的,由此主板可以充分發(fā)揮最佳效能。,顯然閃存BIOS也有致命弱點,它很容易被CIH類的病毒改寫破壞,致使主板癱瘓。為此,在主板上采取了硬件跳線禁止寫閃存BIOS、軟件COMS設(shè)置禁止寫閃存BIOS和雙BIOS閃存芯片等保護(hù)性措施。,圖 EPROM和EEPROM,3.3.3 ROM BIOS的新特點 ROM BIOS芯片和它在主板上的

18、位置如圖所示。目前的ROM BIOS具有如下一些新的特點: 1目前BIOS程序存儲在閃速存儲器(Flash Memory)中,改寫和升級比較容易。主板上還有專門的跳線來設(shè)置閃存BIOS的允許或不允許改寫狀態(tài),以便保護(hù)BIOS程序不被病毒破壞。 2不僅能自動檢測硬盤的類型參數(shù),還能自動檢測CPU類型、主頻和工作電壓。也還能自動檢測具有PnP功能的擴(kuò)展卡,并能為之合理分配系統(tǒng)資源。,3除了用軟盤A、硬盤C啟動操作系統(tǒng)外,還可以用CD-ROM光盤啟動系統(tǒng)。 4支持SMM(Source Management Mode)即電源管理模式,滿足“綠色電腦”的基本要求。它能在主板暫停工作時進(jìn)入省電狀態(tài),即低功

19、耗運行。 5具有DMI(Desktop Management Interface)即桌面管理接口,用戶可以利用各種支持DMI的工具軟件(如Norton等)查看和修改硬件數(shù)據(jù),可以直接管理硬件配置。 6支持ESCD(Extended System Configuration Data)即擴(kuò)展系統(tǒng)配置數(shù)據(jù),它包括各擴(kuò)展卡和集成在主板上的設(shè)備的IRQ號、I/O口地址和DMA通道號。在開機完成系統(tǒng)檢測后,屏幕顯示系統(tǒng)硬件配置表,在表中除了顯示上述DMI的數(shù)據(jù)外,還顯示ESCD的數(shù)據(jù)。,ROM BIOS,在選擇一個主板時,要特別注意它配備的BIOS程序的版本、功能和兼容性。 ROM的讀取速度都比較慢,為

20、了提高BIOS讀取速度,ROM BIOS本身提供了將自身程序代碼復(fù)制到RAM上執(zhí)行的功能,這叫做映象,即Shadow RAM,可在CMOS Setup中加以設(shè)置。,Flash Memory(閃速存儲器) 新型的電擦除可編程ROM 快速擦除整片或數(shù)據(jù)塊 閃速存儲器是在EPROM功能基礎(chǔ)上增加了芯片的電擦除和重新編程能力 閃速存儲器特點: 廉價的高密度 可直接執(zhí)行 固態(tài)性能,3.3.4 閃速存儲器,加速CPU與存儲器之間有效傳輸?shù)拇胧?縮短存儲器讀出時間,或加長存儲器的字長。 采用并行操作的雙端口存儲器。 在CPU和主存儲器之間插入一個高速緩沖存儲器(cache),以縮短讀出時間。 在每個存儲器周

21、期中存取幾個字。,3.4 并行存儲器,3.4.1 雙端口存儲器 同一個存儲器具有兩組相互獨立的讀寫控制線路,提供了兩個相互獨立的端口,都可以對存儲器中任何位置上的數(shù)據(jù)進(jìn)行獨立的存取操作 因其進(jìn)行的是并行的獨立操作,因而是一種高速工作的存儲器。 兩個端口的地址不相同時,在兩個端口上進(jìn)行讀寫操作,一定不會發(fā)生沖突。 當(dāng)兩個端口同時存取存儲器同一存儲單元時,通過BUSY標(biāo)志解決沖突問題。,3.4.2 多模塊存儲器,方案一:順序方式 (a) 主存地址被分成高n位和低m位,高位(n)表示模塊號,低位(m位)表示塊內(nèi)地址; (b) 在一個模塊內(nèi),程序是從低位地址連續(xù)存放; (c) 對連續(xù)單元存取,一般僅對

22、一個模塊操作。 (d) 特點: 易擴(kuò)充容量 故障局部性。 (e) 缺點: 各模塊串行工作,帶寬受到限制。,方案二:交叉方式 (a) 主存地址被分成高n位和低m位,低位(m位)表示模塊號,高位(n)表示塊內(nèi)地址; (b) 各模塊間采用多模塊交叉編址; (c)對連續(xù)字的成塊傳送可以重疊進(jìn)行實現(xiàn)流水線并行存取。 (d) 特點: 多模塊并行工作,速度快 不易擴(kuò)展 故障全局性。,交叉方式多模塊存儲器,3.5Cache存儲器,在相對容量較大而速度較慢的主存與高速處理器(cpu)之間設(shè)置的少量但快速的存儲器 主要目的:提高存儲器速度 為追求高速,包括管理在內(nèi)的全部功能由硬件實現(xiàn),在開機時進(jìn)入CMOS Set

23、up的高級設(shè)置表,會看到有“Internal Cache”和“External Cache”兩個設(shè)置項,其中前一項的內(nèi)部Cache指的是486或Pentium CPU內(nèi)建的Cache,常稱為“Level1 Cache”或“L1 Cache”,而后一項的外部Cache指的是CPU外部的主板上的Cache,常稱為“Level2 Cache”或“L2 Cache”。L1 Cache比L2 Cache的效能要高許多,但容量很有限,因此系統(tǒng)必需有L2 Cache來提高系統(tǒng)速度。對386、486和586主板來說,一般都裝有128KB或256KB或512KB的SRAM存儲器芯片構(gòu)成的Cache。 高速緩存技

24、術(shù)也用于圖形加速卡、硬盤、光驅(qū)、掃描儀和數(shù)碼相機等高速設(shè)備。 Cache的工作原理是:,3.5.1 Cache基本原理,CPU與cache之間的數(shù)據(jù)交換以字(字節(jié))為單位 Cache與主存間的數(shù)據(jù)傳送以數(shù)據(jù)塊為單位 一個塊(Block)由若干字組成,是定長的。,Cache的讀操作,高速命中(Hit):微處理器讀取主存的內(nèi)容已包含在Cache中,可以直接讀取Cache,不用訪問主存,高速失效(Miss)、缺失、未命中:微處理器讀取主存的內(nèi)容不在Cache中,需要訪問主存讀取一個數(shù)據(jù)塊,Cache的工作原理,1、Cache以塊為單位進(jìn)行操作 2、當(dāng)CPU發(fā)出訪內(nèi)操作請求后,首先由Cache控制器判

25、斷當(dāng)前請求的字是否在Cache中,若在,叫命中,否則,不命中 3、若命中: 若是“讀”請求,則直接對Cache讀,與主存無關(guān) 若是“寫”請求: Cache單元與主存單元同時寫(Write through寫) 只更新Cache單元并加標(biāo)記,移出時修改主存(寫回Copy back) 只寫入主存,并在Cache中加標(biāo)記,下次從MM讀出,保證正確。 4、未命中時: 若是“讀”請求,則從主存讀出所需字送CPU,且把含該字的一塊送Cache,稱“裝入通過”,若Cache已滿,置換算法; 若是“寫”請求,直接寫入主存。,Cache的命中率,命中率(Hit Rate):高速命中的概率,cache/主存系統(tǒng)的平

26、均訪問時間ta: ta=htc+(1-h)tm tc命中時的cache訪問時間 tm未命中時的主存訪問時間,h命中率 Nccache完成存取的總次數(shù) Nm主存完成存取的總次數(shù),設(shè)r=tm/tc表示主存慢于cache的倍率,=,Cache的訪問效率e,【例5】CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時間。 【解】 h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)

27、=1/(5+(1-5)0.95)=83.3% ta=tc/e=50ns/0.833=60ns 或者,ta=htc+(1-h)tm=60ns,Cache結(jié)構(gòu),Cache的數(shù)據(jù)塊稱為行(線Line,槽Slot) 用Li表示,其中i=0,1,m-1 主存的數(shù)據(jù)塊稱為塊(Block) 用Bj表示,其中j=0,1,n-1 行與塊是等長的 字是CPU每次訪問存儲器時可存取的最小單位 Cache由數(shù)據(jù)存儲器和標(biāo)簽存儲器組成 數(shù)據(jù)存儲器:高速緩存主存數(shù)據(jù) 標(biāo)簽存儲器:保存數(shù)據(jù)所在主存的地址信息,3.5.2 主存與Cache的地址映射,Cache通過地址映射(mapping)的方法確定主存塊與Cache行之間的

28、對應(yīng)關(guān)系,確定一個主存塊應(yīng)該存放到哪個Cache行中 全相聯(lián)映射(fully associative mapping) 可以將一個主存塊存儲到任意一個Cache行 直接映射(direct mapping) 將一個主存塊存儲到唯一的一個Cache行 組相聯(lián)映射(set associative mapping) 可以將一個主存塊存儲到唯一的一個Cache組中任意一個行,直接映射、2/4/8路組相聯(lián)映射使用較多,全相聯(lián)映射,優(yōu)點:命中率較高,Cache的存儲空間利用率高 缺點:線路復(fù)雜,成本高,速度低,直接映射,優(yōu)點:硬件簡單,容易實現(xiàn) 缺點:命中率低, Cache的存儲空間利用率低,組相聯(lián)映射,組

29、間采用直接映射,組內(nèi)為全相聯(lián) 硬件較簡單,速度較快,命中率較高,3.5.3 替換策略,替換問題 新主存塊要進(jìn)入Cache,決定替換哪個原主存塊 直接映射,只能替換唯一的一個Cache行 全相聯(lián)和組相聯(lián),需要選擇替換策略(算法) 1. 最不常用(LFU: least-frequently used) 替換使用次數(shù)最少的塊,不能嚴(yán)格反應(yīng)近期訪問情況。 2. 最近最少使用法(LRU: least-recently used) 本指替換近期最少使用的塊,實際實現(xiàn)的是替換最久沒有被使用的塊,符合cache工作原理,有較高命中率。 3. 隨機法(random) 隨意選擇被替換的塊,不依賴以前的使用情況。但

30、換出的數(shù)據(jù)很可能馬上又要使用,從而降低了命中率和cache工作效率。,LRU替換算法,LRU能較好地反映程序的局部性,因而其命中率較高,但實現(xiàn)的硬件較復(fù)雜 2路組相聯(lián):使用一個二進(jìn)制位進(jìn)行標(biāo)記。 4/8路組相聯(lián):運用堆棧型算法。最近訪問的塊放上面,最下面存放最久沒有訪問的塊。替換最下面的塊,3.5.4 寫入策略,處理器對Cache讀占大多數(shù),也容易提高速度 寫入Cache有些問題: 確認(rèn)命中,才可以對Cache塊寫入 寫入的數(shù)據(jù)字?jǐn)?shù)不定 寫入后可能導(dǎo)致與主存內(nèi)容不一致 寫入策略解決主存內(nèi)容的更新問題,保持正確 直寫法(write through)全寫法 寫入Cache的同時也寫入主存(下一級存

31、儲器) 回寫法(write back)寫回法 只寫入Cache,在被替換時才寫回主存,直寫和回寫的比較,直寫策略 優(yōu)點:簡單可靠 缺點:總線操作頻繁、影響工作速度 解決方法:在Cache與主存間設(shè)置一級/多級緩沖器,形成實用的“緩沖直寫”方式,提高速度 回寫策略 優(yōu)點:可以減少寫入主存次數(shù)、提高速度 缺點:硬件結(jié)構(gòu)比較復(fù)雜 實現(xiàn)方法:為了表明Cache是否被修改,需要設(shè)置一個更新位(update,污染位dirty bit)。替換時只需將被修改的Cache塊內(nèi)容寫入主存,寫未命中的處理方法,寫訪問并不需要Cache塊中所有數(shù)據(jù)。寫未命中時,寫入的數(shù)據(jù)是否還要將其讀回Cache呢? 寫分配法( w

32、rite allocate,WTWA ) 先把數(shù)據(jù)所在的塊調(diào)入Cache,然后再進(jìn)行寫入。類似讀失效的方式,也稱fetch on write 不寫分配法( no-write allocate,WTNWA ) 直接把數(shù)據(jù)寫入下一級存儲器,不將相應(yīng)的塊調(diào)入Cache,也稱write around 直寫策略通常配合不寫分配法,回寫策略一般采用寫分配法,寫一次法,將直寫法與寫回法相結(jié)合。 寫命中與寫未命中的處理方法與寫回法基本相同,只是第一次寫命中時要同時寫入主存。,Cache一致性,有了Cache,同一個數(shù)據(jù)會在主存也會在Cache 有了多級Cache,在主存、一級、二級或三級Cache中可能存在同

33、一個數(shù)據(jù)的多個拷貝 多處理器系統(tǒng)存在有多個Cache,同一個數(shù)據(jù)的拷貝份數(shù)會更多 如何保證它們都相同,或者說如何保證程序獲得最新的正確的數(shù)據(jù),就是Cache數(shù)據(jù)的一致性問題,實現(xiàn)Cache一致性的基本方案,軟件方法:由編譯程序和操作系統(tǒng)在編譯時分析代碼,避免共享變量進(jìn)入Cache 硬件方法:程序運行時動態(tài)處理,對程序員和編譯員透明,稱為Cache一致性協(xié)議(Cache coherence protocol) 目錄(directory):物理主存中共享數(shù)據(jù)的狀態(tài)及相關(guān)信息保存在目錄中,通常由中央控制器集中維護(hù) 監(jiān)聽(snoopy):各個Cache除保存數(shù)據(jù)拷貝外,也保存數(shù)據(jù)的共享狀態(tài)信息,通過監(jiān)

34、聽總線操作判斷,MESI協(xié)議,商業(yè)化多處理器系統(tǒng)中,Cache塊常利用標(biāo)簽中額外的2位記錄其數(shù)據(jù)共享的4種狀態(tài):修改(modified)、唯一(exclusive)、共享(shared)和無效(invalid);所以也稱為MESI協(xié)議 修改M:該Cache塊已經(jīng)被修改(與主存不同),而且只在這個Cache中可用 唯一E:該Cache塊與對應(yīng)主存塊相同,而且不存在于其它Cache中 共享S:該Cache塊與對應(yīng)主存塊相同,但可能存在于其它Cache中 無效I:該Cache塊包含的數(shù)據(jù)無效,3.6 虛擬存儲器,虛擬存儲器: 在主存-外存層次間 借助于磁盤輔助存儲器實現(xiàn) 由系統(tǒng)軟件和輔助硬件管理 以

35、透明方式提供給用戶 一個比實際主存空間大得多的程序地址空間 作用:擴(kuò)大主存容量,提高輔存訪問速度,有效管理存儲系統(tǒng),虛擬:利用其他部件實現(xiàn)的本來不存在的事物或?qū)傩?透明:本來存在的事物或?qū)傩?,從某種角度看似乎不存在,3.6.1 虛擬存儲器的基本概念,物理地址(實地址):(對應(yīng)主存物理空間)由CPU地址引腳送出,用于訪問主存的地址 虛擬地址(虛地址):(對應(yīng)主存邏輯空間)由編譯程序生成的,是程序的邏輯地址 CPU理解虛擬地址,并將其轉(zhuǎn)換成物理地址,主存-外存層次的基本信息傳送單位 段:按程序邏輯劃分為可變長的塊,稱為段 頁:機械地劃分為大小相同的塊,稱為頁面 段頁:程序按模塊分段,段內(nèi)分頁,段式

36、管理:把主存按段分配的存儲管理方式 優(yōu)點:段的界線分明,段易于編譯、管理、修改和保護(hù),便于多道程序共享 缺點:段的長度各不相同,主存空間分配麻煩 頁式管理:以定長頁面進(jìn)行存儲管理的方式 優(yōu)點:頁的起點和終點地址固定,方便造頁表,新頁調(diào)入主存也很容易掌握,比段式空間浪費小 缺點:處理、保護(hù)和共享都不及段式來得方便 段頁式管理:分段和分頁相結(jié)合的存儲管理方式 優(yōu)點:綜合段式和頁式管理方式的特點 缺點:需要多次查表過程,虛擬存儲器的管理,3.6.2 頁式虛擬存儲器,邏輯頁:頁式虛擬存儲系統(tǒng)中,虛擬空間分成頁; 物理頁:主存空間也分成同樣大小的頁。 虛存地址分為兩個字段:高字段為邏輯頁號,低字段為頁內(nèi)行地址。 實存地址也分兩個字段:高字段為物理頁號,低字段為頁內(nèi)行地址。,頁式管理的地址變換:用頁表,快表與慢表,3.6.3 段式虛擬存儲器,段式管理的地址變換:用段表,3.6.4 段頁式虛擬存儲器,3.6.5 替換算法,虛擬存儲器的頁面替換策略和cache的行替換策略有很多相似之處,但有三點顯著不同: 缺頁至少要涉及一次磁盤存取,使系統(tǒng)蒙受的損失

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論