計(jì)算機(jī)組成原理-白中英編第3章ppt課件_第1頁(yè)
計(jì)算機(jī)組成原理-白中英編第3章ppt課件_第2頁(yè)
計(jì)算機(jī)組成原理-白中英編第3章ppt課件_第3頁(yè)
計(jì)算機(jī)組成原理-白中英編第3章ppt課件_第4頁(yè)
計(jì)算機(jī)組成原理-白中英編第3章ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

10、2114) 讀 時(shí)序,靜態(tài) RAM (2114) 寫(xiě) 時(shí)序,3.2.2 DRAM 動(dòng)態(tài)MOS存儲(chǔ)器,DRAM(Dynamic RAM)即動(dòng)態(tài)RAM,因?yàn)樗募啥雀撸▎纹萘靠蛇_(dá)64M位)、價(jià)格便宜且可讀可寫(xiě),因此系統(tǒng)內(nèi)存的主要容量空間是由DRAM構(gòu)成的。,DRAM的刷新(Refresh),刷新是對(duì)動(dòng)態(tài)存儲(chǔ)元不斷充電的過(guò)程 DRAM不進(jìn)行刷新,存儲(chǔ)的信息會(huì)丟失 DRAM內(nèi)部 有“讀出再生放大電路”的刷新電路 設(shè)計(jì)有僅行地址有效的刷新周期 每次刷新一行存儲(chǔ)單元 存儲(chǔ)系統(tǒng)的外部刷新控制電路 將刷新行地址同時(shí)送達(dá)所有DRAM芯片 所有DRAM芯片同時(shí)進(jìn)行一行的刷新 在一定時(shí)間間隔內(nèi)啟動(dòng)一次刷新(異步

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26、平均訪問(wèn)時(shí)間ta: ta=htc+(1-h)tm tc命中時(shí)的cache訪問(wèn)時(shí)間 tm未命中時(shí)的主存訪問(wèn)時(shí)間,h命中率 Nccache完成存取的總次數(shù) Nm主存完成存取的總次數(shù),設(shè)r=tm/tc表示主存慢于cache的倍率,=,Cache的訪問(wèn)效率e,【例5】CPU執(zhí)行一段程序時(shí),cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問(wèn)時(shí)間。 【解】 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ù)塊稱(chēng)為行(線(xiàn)Line,槽Slot) 用Li表示,其中i=0,1,m-1 主存的數(shù)據(jù)塊稱(chēng)為塊(Block) 用Bj表示,其中j=0,1,n-1 行與塊是等長(zhǎng)的 字是CPU每次訪問(wèn)存儲(chǔ)器時(shí)可存取的最小單位 Cache由數(shù)據(jù)存儲(chǔ)器和標(biāo)簽存儲(chǔ)器組成 數(shù)據(jù)存儲(chǔ)器:高速緩存主存數(shù)據(jù) 標(biāo)簽存儲(chǔ)器:保存數(shù)據(jù)所在主存的地址信息,3.5.2 主存與Cache的地址映射,Cache通過(guò)地址映射(mapping)的方法確定主存塊與Cache行之間

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論