第三章存儲(chǔ)器_第1頁(yè)
第三章存儲(chǔ)器_第2頁(yè)
第三章存儲(chǔ)器_第3頁(yè)
第三章存儲(chǔ)器_第4頁(yè)
第三章存儲(chǔ)器_第5頁(yè)
已閱讀5頁(yè),還剩61頁(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、第三章第三章 內(nèi)部存儲(chǔ)器內(nèi)部存儲(chǔ)器3.1 存儲(chǔ)器概述存儲(chǔ)器概述 存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備,用來(lái)存放程序和數(shù)據(jù),在計(jì)算機(jī)中具有十分重要的地位。 存儲(chǔ)器中最小的存儲(chǔ)單位就是一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路或一個(gè)CMOS晶體管或磁性材料的存儲(chǔ)元存儲(chǔ)元,它可存儲(chǔ)一個(gè)二進(jìn)制代碼。由若干個(gè)存儲(chǔ)元組成一個(gè)存儲(chǔ)單元存儲(chǔ)單元,然后再由許多存儲(chǔ)單元組成一個(gè)存儲(chǔ)器存儲(chǔ)器。 存儲(chǔ)器分類(lèi)存儲(chǔ)器分類(lèi)(1)按存儲(chǔ)介質(zhì)分:半導(dǎo)體存儲(chǔ)器、磁表面存儲(chǔ)器、光盤(pán)存儲(chǔ)器和其它新型材料存儲(chǔ)器。(2)按信息的易失性分:易失性存儲(chǔ)器和非易失性存儲(chǔ)器。 (3)按存取方式分:隨機(jī)讀/寫(xiě)存儲(chǔ)器、只讀存儲(chǔ)器、順序存取存儲(chǔ)器、直接存取存儲(chǔ)器、相聯(lián)存儲(chǔ)器,快

2、擦型存儲(chǔ)器。(4)按在計(jì)算機(jī)中的作用分:控制存儲(chǔ)器、高速緩沖存儲(chǔ)器(Cache)、主存儲(chǔ)器、輔助存儲(chǔ)器。l存儲(chǔ)器的層次結(jié)構(gòu)(分級(jí))存儲(chǔ)器的層次結(jié)構(gòu)(分級(jí)) 存儲(chǔ)層次:存儲(chǔ)層次:指把各種不同存儲(chǔ)容量、不同存指把各種不同存儲(chǔ)容量、不同存取速度的存儲(chǔ)器,按照一定的體系結(jié)構(gòu)有機(jī)地組織取速度的存儲(chǔ)器,按照一定的體系結(jié)構(gòu)有機(jī)地組織起來(lái),使所存放的程序和數(shù)據(jù)按層次分布在各種存起來(lái),使所存放的程序和數(shù)據(jù)按層次分布在各種存儲(chǔ)器中,以實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)對(duì)存儲(chǔ)器大容量、高速儲(chǔ)器中,以實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)對(duì)存儲(chǔ)器大容量、高速度和低成本的要求。度和低成本的要求。 Cache主存層次:采用全硬件實(shí) 現(xiàn)信息交換 。 信息通路:CPU

3、Cache主存 CPU主存 主存輔存層次:采用軟、硬結(jié)合 的方法實(shí)現(xiàn)信息 交換。 信息通路:CPU主存輔存CPUCache主存輔存 存儲(chǔ)層次的性能參數(shù)(主存存儲(chǔ)層次的性能參數(shù)(主存輔存層次)輔存層次)主存(M1):容量S1,位價(jià)格C1,存取時(shí)間TA1。輔存(M2):容量S2,位價(jià)格C2,存取時(shí)間TA2。(1)存儲(chǔ)層次的平均位價(jià)格 C =(C1S1 + C2S2)/( S1 + S2)(2)命中率:指所需信息可在M1中找到的概率。 H = N1 /( N1 + N2),失效率 F = 1- H N1為訪問(wèn)M1的次數(shù), N2為訪問(wèn)M2的次數(shù)。(3)存儲(chǔ)層次的平均存取時(shí)間)存儲(chǔ)層次的平均存取時(shí)間 T

4、A = H* TA1 +(1 H)* TA2 , TA2 = TB + TA1(4)存儲(chǔ)層次的訪問(wèn)效率 e = TA1 / TA例1:CPU 執(zhí)行一段程序時(shí),訪問(wèn)M1(主存)命中2000次,訪問(wèn)M2(輔存)命中50 次,已知 M1存取周期為 50ns,主存M2存取周期為 200ns,求 主存-輔存層次的命中率、平均訪問(wèn)時(shí)間和訪問(wèn)效率。解:(1)主存M1命中率: h = Nm /(Nm + Ns)= 2000 /(2000 + 50)= 0. .97(2)系統(tǒng)的平均訪問(wèn)時(shí)間 ta = htm+(1 - - h)tS= 0. .9750 +(1 - - 0. .97)200=54.5ns (3)訪

5、問(wèn)效率 e = tm / ta = 50 / 54.5 = 91.7.7%3.2 主存儲(chǔ)器(主存儲(chǔ)器(SRAM存儲(chǔ)器)存儲(chǔ)器) 一般由RAM和ROM組成,其中RAM占主導(dǎo)地位。主存儲(chǔ)器通過(guò)地址總線、 數(shù)據(jù)總線、控制總線與 CPU或其它部件相連。lRAM的基本結(jié)構(gòu)的基本結(jié)構(gòu) 數(shù)據(jù)總線 讀/寫(xiě)控制線 片選線 地址總線CPUMDRMAR譯碼驅(qū)動(dòng)電路存儲(chǔ)矩陣讀寫(xiě)電路主存l主存儲(chǔ)器的基本操作主存儲(chǔ)器的基本操作(1)讀操作讀操作 將指定單元的地址送地址總線將指定單元的地址送地址總線 地址譯碼地址譯碼 發(fā)讀命令發(fā)讀命令 將指定單元的內(nèi)容讀出至數(shù)據(jù)總將指定單元的內(nèi)容讀出至數(shù)據(jù)總線線。(2)寫(xiě)操作寫(xiě)操作 將指定

6、單元的地址送地址總線將指定單元的地址送地址總線 地址譯碼地址譯碼 將所要寫(xiě)的數(shù)據(jù)送數(shù)據(jù)總線將所要寫(xiě)的數(shù)據(jù)送數(shù)據(jù)總線 發(fā)寫(xiě)命令發(fā)寫(xiě)命令 將數(shù)據(jù)寫(xiě)入指定單元。將數(shù)據(jù)寫(xiě)入指定單元。 高位字節(jié)高位字節(jié) 地址為字地址地址為字地址 低位字節(jié)低位字節(jié) 地址為字地址地址為字地址設(shè)地址線設(shè)地址線 24 根根按按 字節(jié)字節(jié) 尋址尋址按按 字字 尋址尋址若字長(zhǎng)為若字長(zhǎng)為 16 位位按按 字字 尋址尋址若字長(zhǎng)為若字長(zhǎng)為 32 位位字地址字地址字節(jié)地址字節(jié)地址11109876543210840字節(jié)地址字節(jié)地址字地址字地址452301420l 主存中存儲(chǔ)單元地址的分配主存中存儲(chǔ)單元地址的分配224 = 16 M8 M4

7、Ml主存的技術(shù)指標(biāo)主存的技術(shù)指標(biāo) (1)存儲(chǔ)容量:)存儲(chǔ)容量:指主存能存放的二進(jìn)制信息量。指主存能存放的二進(jìn)制信息量。 S = M * W * BM模塊數(shù),W每個(gè)模塊的字(或單元)數(shù),B字長(zhǎng)。 (2)存儲(chǔ)速度)存儲(chǔ)速度 存取時(shí)間TA:指啟動(dòng)一次存儲(chǔ)器操作(讀或?qū)?到完 成該操作所需的全部時(shí)間。 存取周期TM:指連續(xù)兩次啟動(dòng)存儲(chǔ)器所需的最小時(shí) 間間隔。 通常 TA TM。 存儲(chǔ)器帶寬存儲(chǔ)器帶寬BM:指單位時(shí)間內(nèi)從存儲(chǔ)器進(jìn)出信息的指單位時(shí)間內(nèi)從存儲(chǔ)器進(jìn)出信息的 最大數(shù)量,單位:位最大數(shù)量,單位:位/秒或字節(jié)秒或字節(jié)/秒。秒。 例2: TM = 500ns,B = 16位,則: BM = 32M位/

8、秒。 RAM的基本存儲(chǔ)元的基本存儲(chǔ)元 基本存儲(chǔ)元電路是用來(lái)存儲(chǔ)1位二進(jìn)制信息的電路,是組成存儲(chǔ)器的基礎(chǔ)和核心。對(duì)于存儲(chǔ)元電路的基本要求是: (1)有兩種穩(wěn)定的狀態(tài)(0或1),且是可逆的。 (2)在外部信號(hào)的激勵(lì)下,兩種狀態(tài)能進(jìn)行無(wú)限次的相互轉(zhuǎn)換,且長(zhǎng)期存儲(chǔ)可靠。 (3)在外部信號(hào)的激勵(lì)下,能讀出兩種穩(wěn)定狀態(tài)。 根據(jù)信息存儲(chǔ)的機(jī)理不同可以分為兩類(lèi): 靜態(tài)讀寫(xiě)存儲(chǔ)器(SRAM):存取速度快。 動(dòng)態(tài)讀寫(xiě)存儲(chǔ)器(DRAM):存儲(chǔ)容量大。 RAM的地址譯碼方式的地址譯碼方式 半導(dǎo)體存儲(chǔ)芯片的譯碼方式有兩種: (1)線選法(一維地址譯碼) 將容量為 S 的存儲(chǔ)器分成 W 個(gè)字,每個(gè)字 b 位,則RAM陣列

9、結(jié)構(gòu)為:W 行 * b 列。 字線的數(shù)目 W 與地址碼位數(shù) n 的關(guān)系為:W=2n。 優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單、速度快。 缺點(diǎn):外圍電路多、結(jié)構(gòu)不合理、成本高。 (2)重合法(二維地址譯碼) 將容量為 W 字 * b 位的RAM,分成 b 個(gè)存儲(chǔ)片,每片是 W 字 * 1 位。再將每一片中的 W 個(gè)字排成Wx行和Wy列,同時(shí)將 n 位地址碼按 X 方向和 Y 方向分為2組nX和nY。由 xi ,yi電流重合同時(shí)選中b個(gè)片中對(duì)應(yīng)存儲(chǔ)元(一個(gè)b位單元)。 SRAM的讀/寫(xiě)周期波形圖 讀周期(WE = 高電平)3.3 主存儲(chǔ)器(主存儲(chǔ)器(DRAM存儲(chǔ)器)存儲(chǔ)器) SRAM存儲(chǔ)器的存儲(chǔ)位元是一個(gè)觸發(fā)器,存儲(chǔ)器的

10、存儲(chǔ)位元是一個(gè)觸發(fā)器,它具有兩個(gè)穩(wěn)定的狀態(tài)。而它具有兩個(gè)穩(wěn)定的狀態(tài)。而DRAM存儲(chǔ)器的存儲(chǔ)器的存儲(chǔ)位元是由一個(gè)存儲(chǔ)位元是由一個(gè)MOS晶體管和電容器組成晶體管和電容器組成的記憶電路的記憶電路。 單管(MOS)動(dòng)態(tài)存儲(chǔ)元電路規(guī)定 : 電容CS上有電荷表示存“1 ”。 電容CS上無(wú)電荷表示存“0 ”。特點(diǎn):讀操作結(jié)束時(shí),Cs的電荷已泄放完畢,故是破 壞性讀出,必須再生。數(shù)據(jù)線 BTCS字線 W讀出:W=1,T導(dǎo)通;若CS上 有電荷(存1),則數(shù) 據(jù)線B上有電流;若CS 上無(wú)電荷(存0),則數(shù) 據(jù)線B上無(wú)電流。寫(xiě)入:W=1,T導(dǎo)通;寫(xiě)1時(shí), B=1 經(jīng)T管對(duì)CS充電;寫(xiě)0時(shí),B=0 CS經(jīng)T放電。 D

11、RAM的刷新的刷新 為了保持DRAM中存儲(chǔ)的信息不丟失,必須每隔一定時(shí)間(如 2ms)就對(duì)存儲(chǔ)器中的全部存儲(chǔ)電容進(jìn)行充電,以補(bǔ)充所消失的電荷,維持原存信息不變,這個(gè)過(guò)程稱(chēng)為刷新。刷新以行為單位,以 16K1 動(dòng)態(tài) RAM 為例,共 128行128 列。每行的字線相通,選中某字線時(shí),所有位均被讀出并刷新。通常 2ms 內(nèi)所有行都必須刷新一次。刷新周期:刷新周期:指從上一次對(duì)整個(gè)存儲(chǔ)器刷新結(jié)束到下一次對(duì)整個(gè)存儲(chǔ)器全部刷新一遍為止所用的時(shí)間(一般為 2ms)。 常用的刷新方式有三種,一種是集中式,另一種是分散式,第三種是異步式。 (1)集中式刷新 指在一個(gè)刷新周期內(nèi),集中利用一段固定時(shí)間,依次對(duì)存儲(chǔ)

12、器逐行進(jìn)行刷新,在此期間必須停止對(duì)存儲(chǔ)器的讀/寫(xiě)操作。例3:某存儲(chǔ)器陣列為128*128,讀/寫(xiě)周期為 0.5us,刷新周期為 2ms,則在 2ms內(nèi)共有4000個(gè)讀/寫(xiě)周期。其中:用于刷新的讀/寫(xiě)周期為128個(gè),所需時(shí)間128*0.5=64us 用于讀/寫(xiě)操作或維持周期為3872個(gè),所需時(shí)間1936us。 0.5us0123871387239993872個(gè)周期(1936us)128個(gè)周期(64us)刷新周期(2ms)讀/寫(xiě)或維持刷新01周期序號(hào)死區(qū)優(yōu)點(diǎn):主存利用率高,控制簡(jiǎn)單。缺點(diǎn):在集中刷新?tīng)顟B(tài)中不能使用存儲(chǔ)器,因而形成一段死區(qū)。(2)分散式刷新 指對(duì)每一行存儲(chǔ)元的刷新分散到每個(gè)讀/寫(xiě)周期

13、內(nèi)完成,即把存取周期分成兩段,前半段用來(lái)讀/寫(xiě)或維持,后半段用來(lái)刷新。例4:某存儲(chǔ)器陣列為128*128,存取周期為 1us,則 刷新周期 = 128 * 1us = 128usR/W REF R/W REF01REFR/W127周期序號(hào)0.5us 0.5us1us刷新周期(128us)優(yōu)點(diǎn):控制簡(jiǎn)單,主存工作沒(méi)有長(zhǎng)的死區(qū)。缺點(diǎn):主存利用率低,工作速度約降低一倍。(3)異步(集中與分散結(jié)合)式刷新 指按芯片行數(shù)決定所需的刷新周期數(shù),并分散安排在2ms的最大刷新周期之中。例5:某存儲(chǔ)器陣列為128*128,讀/寫(xiě)周期為 0.5us,刷新周期為 2ms,則每隔 2ms/128=15.6us 刷新一

14、行 (死區(qū)縮短為0.5us)。R/WR/WREFR/WR/W REF0.5us0.5us 0.5us0.5us15.6us15.6usl存儲(chǔ)器容量的擴(kuò)充存儲(chǔ)器容量的擴(kuò)充 單個(gè)RAM芯片的容量往往較小,要組成一定容量和一定字長(zhǎng)的主存儲(chǔ)器,必須用多個(gè)芯片進(jìn)行有機(jī)地組合。設(shè)主存的容量為:設(shè)主存的容量為:W字字*b位,芯片的容量為:位,芯片的容量為:Ws字字*bs位。位。(1)位擴(kuò)展)位擴(kuò)展 W = Ws ,b bs 。例6:用16k*4位的芯片組成16k*8位的存儲(chǔ)器。16k*416k*4A13A0D0D7W = Ws= 16kb = 2bs(共需2片)(2)字?jǐn)U展)字?jǐn)U展 W Ws ,b = bs

15、 。例7: 用16k*8位的芯片組成64k*8位的存儲(chǔ)器。16k*816k*816k*816k*8CS譯碼CSCSCSA15A14A13A0D0D7W = 4Wsb = bs= 8(共需4片)(3)字位擴(kuò)展)字位擴(kuò)展 W Ws ,b bs ,共需,共需 (W / Ws)*(b / bs)片。片。例8:用1k*4位的芯片組成4k*8位的存儲(chǔ)器。1k*41k*41k*41k*4A11A10A9A0D0D3D4D7CSCSCSCSCSCSCSCS 共需芯片(W / Ws)*(b / bs) = 8 片,分為4個(gè)組,每組2片。地址A11A10譯碼后選中一個(gè)組,再由A9 A0選中組內(nèi)某個(gè)單元,進(jìn)行讀/寫(xiě)

16、操作。 存儲(chǔ)器模塊條 存儲(chǔ)器通常以插槽用模塊條形式供應(yīng)市場(chǎng)。這種模塊條常稱(chēng)為內(nèi)存條,它們是在一個(gè)條狀形的小印制電路板上,用一定數(shù)量的存儲(chǔ)器芯片,組成一個(gè)存儲(chǔ)容量固定的存儲(chǔ)模塊。 存儲(chǔ)芯片與CPU連接存儲(chǔ)芯片與CPU連接時(shí)特別要注意以下幾點(diǎn):(1)地址線的連接(2)數(shù)據(jù)線的連接(3)讀/寫(xiě)命令線的連接(4)片選線的連接(5)合理選擇存儲(chǔ)芯片例9:設(shè)CPU有16根地址線,8根數(shù)據(jù)線,并用MREQ作訪存控制信號(hào)(低電平有效)用WR作讀/寫(xiě)控制信號(hào)(高電平為讀,低電平為寫(xiě))?,F(xiàn)有下列存儲(chǔ)芯片、各種門(mén)電路及74LS138譯碼器。 RAM:1K4,4K8,8K8。 ROM:2K8,4K8,8K8要求:(1

17、)主存地址空間分配:6000H 67FFH為系統(tǒng)程序區(qū) 6800H 6BFFH為用戶(hù)程序區(qū)(2)合理選用上述存儲(chǔ)芯片,說(shuō)明各選幾片?(3)詳細(xì)畫(huà)出存儲(chǔ)芯片的片選邏輯圖。(1) 寫(xiě)出對(duì)應(yīng)的二進(jìn)制地址碼寫(xiě)出對(duì)應(yīng)的二進(jìn)制地址碼(2) 確定芯片的數(shù)量及類(lèi)型確定芯片的數(shù)量及類(lèi)型0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15A14A13 A11 A10 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K8位位1K8位位RAM

18、2片片1K4位位ROM1片片 2K8位位解:解:(3) 分配地址線分配地址線A10 A0 接接 2K 8位位 ROM 的地址線的地址線A9 A0 接接 1K 4位位 RAM 的地址線的地址線(4) 確定片選信號(hào)確定片選信號(hào)C B A0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15 A13 A11 A10 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K 8位位1片片 ROM1K 4位位2片片RAM 2K 8位位

19、ROM 1K 4位位 RAM1K 4位位 RAM&PD/ProgrY5Y4G1CBAG2BG2AMREQA14A15A13A12A11A10A9A0D7D4D3D0WR CPU 與存儲(chǔ)器的連接圖與存儲(chǔ)器的連接圖3.4 只讀存儲(chǔ)器和閃速存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器 只讀存儲(chǔ)器(只讀存儲(chǔ)器(ROM) 指信息寫(xiě)入存儲(chǔ)器后就固定了,斷電后信息仍然存在,訪問(wèn)時(shí)只能讀出而不能寫(xiě)入新的內(nèi)容一類(lèi)存儲(chǔ)器。只讀存儲(chǔ)器由于工作可靠,保密性強(qiáng),在計(jì)算機(jī)系統(tǒng)中得到廣泛的應(yīng)用。 用途:存放不需要修改的程序和信息。如微程序、固定子程序、字符編碼等等。(1)MROM(掩膜只讀存儲(chǔ)器)優(yōu)點(diǎn):可靠性高、集成度高、價(jià)格便宜

20、、適宜大批量生產(chǎn)。缺點(diǎn):只能讀出,不能重寫(xiě),這種器件只能專(zhuān)用。(2)PROM(可編程只讀存儲(chǔ)器)特點(diǎn):用戶(hù)只能在現(xiàn)場(chǎng)進(jìn)行一次性編程(現(xiàn)場(chǎng)片),一旦編程完畢其內(nèi)容便是永久性的,再無(wú)法進(jìn)行更改。(3)EPROM(光擦編程只讀存儲(chǔ)器)特點(diǎn):一種以讀為主的可讀可寫(xiě)存儲(chǔ)器。通常處于讀狀態(tài),寫(xiě)入時(shí),先用紫外光照射擦除原來(lái)寫(xiě)入的數(shù)據(jù),然后再加電重新寫(xiě)入新的數(shù)據(jù)。(4)EEPROM(電擦編程只讀存儲(chǔ)器)特點(diǎn):可在聯(lián)機(jī)的條件下,對(duì)存儲(chǔ)器內(nèi)容進(jìn)行擦除(既可局部擦除,又可全部擦除)后再寫(xiě)入新的信息。 Flash Memory(閃速存儲(chǔ)器) 是一種高密度非失易失性的讀/寫(xiě)存儲(chǔ)器。高密度意味著它具有巨大比特?cái)?shù)目的存儲(chǔ)容

21、量。非易失性意味著存放的數(shù)據(jù)在沒(méi)有電源的情況下可以長(zhǎng)期保存??傊?,它既有RAM的優(yōu)點(diǎn),又有ROM的優(yōu)點(diǎn),稱(chēng)得上是存儲(chǔ)技術(shù)劃時(shí)代的進(jìn)展。 特點(diǎn):是在EPROM和EEPROM工藝基礎(chǔ)上生產(chǎn)的一種新 型的、具有性能價(jià)格比更好、可靠性更高的可擦寫(xiě)非易性存儲(chǔ)器(快擦型存儲(chǔ)器),即在芯片中加入指令寄存器實(shí)現(xiàn)電擦除和重新編程。擦寫(xiě)/編程次數(shù)可達(dá)10000次。3.5 并行存儲(chǔ)器并行存儲(chǔ)器 由于CPU和主存儲(chǔ)器在速度上不匹配,而且在一個(gè)CPU周期中可能需要用幾個(gè)存儲(chǔ)器字,為了提高訪存速度,可以采取一些加速CPU和存儲(chǔ)器之間有效傳輸?shù)奶厥獯胧?單體多字存儲(chǔ)器單體多字存儲(chǔ)器 在單體單字的基礎(chǔ)上,采用提高存儲(chǔ)器帶寬

22、的辦法(增加主存的存取信息寬度),使 CPU 在一個(gè)存儲(chǔ)周期內(nèi)不是讀出一個(gè)字,而是讀出順序的多個(gè)字,使存儲(chǔ)系統(tǒng)的工作速度得到改善。W位n位MDRMARMB單體單字存儲(chǔ)器W位W位 W位 W位 W位m位MARMBMDR單字長(zhǎng)寄存器單體多字存儲(chǔ)器特點(diǎn):在單體多字存儲(chǔ)器中要求信息(指令或數(shù)據(jù))必 須按順序存放,才能一次并行讀出,使存儲(chǔ)器的 速度最高。若信息未按順序存放,則要多次訪問(wèn) 主存,使主存的帶寬降低。 雙端口存儲(chǔ)器 雙端口存儲(chǔ)器是指同一存儲(chǔ)器具有兩組相互獨(dú)立的讀寫(xiě)控制線路,是一種高速工作的存儲(chǔ)器。 雙端口存儲(chǔ)器提供左、右兩個(gè)獨(dú)立端口,分別具有獨(dú)立的地址、數(shù)據(jù)和控制線,可對(duì)存儲(chǔ)器任意單元中數(shù)據(jù)進(jìn)行

23、獨(dú)立存取操作。圖中,用 L 表示左端口,用 R 表示右端口。(1)無(wú)沖突讀寫(xiě)控制 當(dāng)兩個(gè)端口的地址不相同時(shí),在兩個(gè)端口上進(jìn)行讀寫(xiě)操作,一定不會(huì)發(fā)生沖突。當(dāng)任一端口被選中驅(qū)動(dòng)時(shí),就可對(duì)整個(gè)存儲(chǔ)器進(jìn)行存取,每一個(gè)端口都有自己的片選控制和輸出驅(qū)動(dòng)控制。(2)有沖突的讀寫(xiě)控制 有沖突的讀寫(xiě)控制:當(dāng)兩個(gè)端口同時(shí)存取存儲(chǔ)器同一存儲(chǔ)單元時(shí),便發(fā)生讀寫(xiě)沖突。為解決此問(wèn)題,特設(shè)置了BUSY標(biāo)志。由片上的判斷邏輯決定對(duì)哪個(gè)端口優(yōu)先進(jìn)行讀寫(xiě)操作,而暫時(shí)關(guān)閉另一個(gè)被延遲的端口。 多模塊交叉存儲(chǔ)器 由若干個(gè)模塊組成的主存儲(chǔ)器,采用線性編址,地址在各模塊有兩種安排方式:一種是順序方式順序方式,一種是交叉方式交叉方式。(1

24、)順序方式 用地址高位選擇模塊,用地址低位選擇模塊內(nèi)的字,每次訪問(wèn)一個(gè)字。某模塊存取時(shí),其他模塊不工作,某一模塊出現(xiàn)故障時(shí),其他模塊可以照常工作。這種方式通過(guò)增添模塊擴(kuò)充存儲(chǔ)器容量較方便,但各模塊串行工作,存儲(chǔ)器的帶寬受到限制。但該方式適用于多機(jī)系統(tǒng)。例例10: M0M3共四個(gè)模塊,則每個(gè)模塊8個(gè)字順序方式為: M0: 07 M1:815 M2:1623 M3:2431 5位地址組織如下: X X X X X 高位選模塊,低位選塊內(nèi)地址。 4 3 2 1 0 內(nèi)存地址M0 M1 M2 M3順序方式存儲(chǔ)結(jié)構(gòu)012345678910111213141516171819202122232425262

25、728293031 模 塊 字 數(shù)據(jù)總線(2)交叉方式 指存儲(chǔ)器由多個(gè)模塊組成,每個(gè)模塊都有自己的MAR和MDR,各模塊之間采用交叉編址。通過(guò)對(duì)不同的模塊給定不同地址的方式,實(shí)現(xiàn)對(duì)多個(gè)字的并行讀出。特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個(gè)模塊內(nèi)的地址都是不連續(xù)的。只要各模塊地址不發(fā)生沖突,哪怕信息未順序存放,仍能并行讀出。因此該方式的帶寬比單體多字方式的帶寬要高。 這種方式用地址低位選擇模塊,用地址高位選擇模塊內(nèi)的字,每次訪問(wèn)若干字。特別適合對(duì)連續(xù)字的成塊傳送,可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲(chǔ)器的帶寬。使用場(chǎng)合為成批數(shù)據(jù)讀取。 (a)交叉編址(低位交叉)方法: 設(shè)存儲(chǔ)器有m個(gè)模塊,

26、每個(gè)模塊的容量為k。則第i個(gè)模塊Mi的編址為: m * j + i 其中:?jiǎn)卧?hào) j = 0,1,k 1。 模塊號(hào) i = 0,1,m 1 。存儲(chǔ)器總?cè)萘浚?S = m * k地址碼長(zhǎng)度:n = log2k + log2m 例11:設(shè)主存容量 S = 32KB,分為4個(gè)模塊(m = 4),則 單模塊容量 k = 32 / 4 = 8KB。 模塊地址字長(zhǎng) log2k = 13位。 模號(hào)字長(zhǎng) log2m = 2位。 主存地址字長(zhǎng) n = log2k + log2m = 15位。 交叉方式存儲(chǔ)結(jié)構(gòu) 4 3 2 1 0 內(nèi)存地址M0 M1 M2 M304812162024281591317212529

27、2610141822263037111519232731 字 模塊 數(shù)據(jù)總線低位交叉的特點(diǎn)低位交叉的特點(diǎn)在不改變存取周期的前提下,增加存儲(chǔ)器的帶寬在不改變存取周期的前提下,增加存儲(chǔ)器的帶寬時(shí)間時(shí)間 單單模塊模塊訪存周期訪存周期 單單模塊模塊訪存周期訪存周期啟動(dòng)存儲(chǔ)啟動(dòng)存儲(chǔ)模塊模塊0啟動(dòng)存儲(chǔ)啟動(dòng)存儲(chǔ)模塊模塊1啟動(dòng)存儲(chǔ)啟動(dòng)存儲(chǔ)模塊模塊2啟動(dòng)存儲(chǔ)啟動(dòng)存儲(chǔ)模塊模塊3 設(shè)四設(shè)四模塊模塊低位交叉存儲(chǔ)器,存取周期為低位交叉存儲(chǔ)器,存取周期為T(mén),總線傳輸周,總線傳輸周期為期為,為實(shí)現(xiàn)流水線方式存取,應(yīng)滿足,為實(shí)現(xiàn)流水線方式存取,應(yīng)滿足 T 4。連續(xù)讀取連續(xù)讀取 4 個(gè)字所需的時(shí)間為個(gè)字所需的時(shí)間為 T(4 1

28、)(b)定量分析 模塊字長(zhǎng)等于數(shù)據(jù)總線寬度,模塊存取一個(gè)字的存儲(chǔ)周期為 T,總線傳送周期為,存儲(chǔ)器的交叉模塊數(shù)為 m,為了實(shí)現(xiàn)流水線方式存取,應(yīng)當(dāng)滿足: T = m ( m 稱(chēng)為交叉存取度,m = T / ) 交叉方式下,啟動(dòng)某模塊后經(jīng) m 時(shí)間再次啟動(dòng)該模塊時(shí),它的上次存取操作已經(jīng)完成。連續(xù)讀取 n 個(gè)字所需時(shí)間為:t1 = T + ( n 1 )。順序方式下,存儲(chǔ)器連續(xù)讀取 n 個(gè)字所需時(shí)間為 t2 = n T。 顯然, T + ( n 1 ) n T,可見(jiàn)交叉存儲(chǔ)器的帶寬得到提高。例12:存儲(chǔ)器容量為 32 字,字長(zhǎng) 64 位,模塊數(shù) m = 4,存儲(chǔ)周期 T = 200ns,數(shù)據(jù)總線寬

29、度為 64 位,總線傳送周期= 50ns。問(wèn)順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬各是多少?解:順序存儲(chǔ)器和交叉存儲(chǔ)器讀出 4 個(gè)字的信息總量為: q = 64 位4 = 256位順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出 4 個(gè)字的時(shí)間為: t2 = n T = 4200ns = 800ns = 810-7s t1 = T + ( n 1 )= 200 +( 350)= 350ns = 3.510-7s順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬分別為: W2 = q / t2 = 256 / 810-7s = 32107(位 / s) W1 = q / t1 = 256 / 3.510-7s = 73107(位 / s)3.6

30、 高速緩沖(高速緩沖(Cache)存儲(chǔ)器)存儲(chǔ)器 cache基本原理基本原理 Cache是介于是介于CPU和主存之間的小型高速存和主存之間的小型高速存儲(chǔ)器,用于禰補(bǔ)主存的速度不足。儲(chǔ)器,用于禰補(bǔ)主存的速度不足。在高性能計(jì)算機(jī)中,有指令高速緩存(I-Cache)和數(shù)據(jù)高速緩存(D-Cache),而D-Cache又可分成一級(jí)高速緩存和二級(jí)高速緩存。(1)cache的功能 Cache的存取速度比主存快,作為主存的高速緩沖區(qū),它能高速地向CPU提供指令和數(shù)據(jù),加快程序的執(zhí)行速度。Cache用于解決用于解決 CPU 與主存的與主存的速度差異,采用全由硬件調(diào)度,對(duì)用戶(hù)透明。速度差異,采用全由硬件調(diào)度,對(duì)用

31、戶(hù)透明。提出Cache的理論基礎(chǔ)是程序訪問(wèn)的局部性原理。 所謂程序訪問(wèn)的局部性原理是指:大多數(shù)程序在任何時(shí)間窗口上,常常在它們地址空間的某一部分活動(dòng),即對(duì)局部范圍的存儲(chǔ)器地址頻繁訪問(wèn),而對(duì)此范圍以外的地址訪問(wèn)甚少的現(xiàn)象。兩種局部性:(a)時(shí)間局部性:時(shí)間局部性:最近被訪問(wèn)的信息很可能還要被訪問(wèn)。 將最近被訪問(wèn)的信息項(xiàng)裝入到Cache中。 (b)空間局部性:空間局部性:最近被訪問(wèn)的信息臨近的信息也可能被訪問(wèn)。 將最近被訪問(wèn)的信息項(xiàng)臨近的信息一起裝入到Cache中。(2)cache的命中率 命中率衡量Cache效率的指標(biāo),是指CPU要訪問(wèn)的信息已在Cache內(nèi)的比率。一般而言,Cache容量越大,

32、其命中率就越高。但當(dāng)Cache的容量達(dá)到一定值時(shí),命中率已不因容量的增大而有明顯的提高。 在一個(gè)程序執(zhí)行期間,設(shè) Nc 表示 Cache 完成存取的總次數(shù),Nm表示主存完成存取的總次數(shù),h 定義為命中率,則有:這里 Nc + Nm 表示總的訪問(wèn)次數(shù)。CCmNh = NN例13:CPU 執(zhí)行一段程序時(shí),Cache 完成存取的次數(shù)為 1900 次,主存完成存取的次數(shù)為 100 次,已知 Cache 存取周期為 50ns,主存存取周期為 250ns,求 Cache 的命中率、 系統(tǒng)平均訪問(wèn)時(shí)間和訪問(wèn)效率。解:h = Nc /(Nc + Nm)= 1900 /(1900 + 100) = 0. .95

33、 ta = htc+(1 - - h)tm = 0. .9550 +(1 - - 0. .95) 250 = 47. .5 + 12. .5 = 60ns e = tc / ta = 50 / 60 = 83. .3%(3)Cache的工作原理的工作原理(a)Cache的基本組成 Cache由Cache存儲(chǔ)體、地址映射變換機(jī)構(gòu)、Cache替換機(jī)構(gòu)等幾大模塊組成。主存替換機(jī)構(gòu)Cache存儲(chǔ)體CPU地址映射變換機(jī)構(gòu)命中可裝進(jìn)塊號(hào)塊內(nèi)地址塊號(hào) 塊內(nèi)地址主存地址Cache地址地址總線(A-BUS)數(shù)據(jù)總線(D-BUS)YNYN訪問(wèn)主存裝入Cache直接通路訪問(wèn)主存替換Cache(b)Cache的讀/寫(xiě)

34、操作 通常將當(dāng)前正在執(zhí)行的程序和所需的數(shù)據(jù)放在Cache中,CPU在大多數(shù)情況下以字為單位通過(guò)Cache交換信息(命中)。Cache與主存之間的信息交換是以字塊為單位進(jìn)行的,Cache中的字塊為主存相應(yīng)字塊的副本,兩者位置的對(duì)應(yīng)關(guān)系由映射函數(shù)決定。該函數(shù)把來(lái)自CPU的主存地址映射成Cache地址,再由地址變換機(jī)構(gòu)完成主存地址到Cache地址的變換。讀操作:CPU發(fā)出讀請(qǐng)求,產(chǎn)生訪問(wèn)主存地址,若所需 數(shù)據(jù)已在Cache中(命中),則經(jīng)地址映射變換機(jī)構(gòu)將主存地址變換成 Cache 地址,直接訪問(wèn) Cache。若所需數(shù)據(jù)未裝入Cache(失效),且 Cache未滿,則將把包含該數(shù)據(jù)的整個(gè)字塊裝入Ca

35、che,同時(shí)把所需的數(shù)據(jù)直接送給CPU(通過(guò)式讀)。如果失效時(shí)Cache已滿,則必須按一定的替換策略將一個(gè)舊字塊替換出去(送回主存),然后再裝入新字塊。 寫(xiě)操作:要考慮Cache與主存內(nèi)容保持一致的問(wèn)題。目前主要采用以下幾種方法。寫(xiě)直達(dá)法(WT)- CPU向Cache寫(xiě)入的同時(shí)也向主存相 應(yīng)單元寫(xiě)入,隨時(shí)保證主存與Cache的數(shù)據(jù)始終一致。又稱(chēng)通過(guò)式寫(xiě)或通過(guò)式存。寫(xiě)回法(WB)- CPU暫時(shí)只向Cache寫(xiě)入,并用標(biāo)志將該塊加以注明,直至該塊從Cache替換出時(shí),才寫(xiě)入主存。又稱(chēng)標(biāo)志交換法。直接寫(xiě)入主存 - 若被修改的單元根本不在Cache內(nèi),則寫(xiě)操作只對(duì)主存進(jìn)行。l Cache主存的地址映射

36、與變換主存的地址映射與變換 設(shè)主存容量為Sm,Cache容量為Sc,則一般有SmSc。于是提出了如何把主存字塊裝入Cache的問(wèn)題。 地址映射是指每個(gè)主存字塊按什么規(guī)則(函數(shù))裝入Cache,而地址變換則是把主存地址轉(zhuǎn)換成Cache地址的過(guò)程,兩者是密切相關(guān)的。 無(wú)論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。 同時(shí)要考慮以下幾點(diǎn): (a)硬件是否容易實(shí)現(xiàn); (b)地址變換的速度是否快; (c)主存空間的利用率是否高;(d)主存裝入一塊時(shí),發(fā)生沖突的概率。 主存空間:M0,M1,M2m-1。共2m 個(gè)字塊,每塊2b 個(gè)字。Cache空間: C0,C1,C2c-1。共2c個(gè)字

37、塊,每塊2b 個(gè)字。(1)全相聯(lián)映射)全相聯(lián)映射 指主存中的任一字塊可以映射到指主存中的任一字塊可以映射到Cache中的任中的任一塊位置(一塊位置(多對(duì)多的映射關(guān)系)多對(duì)多的映射關(guān)系)。如果。如果Cache已滿,已滿,可用替換算法替換出一個(gè)舊字塊,然后裝入相應(yīng)的可用替換算法替換出一個(gè)舊字塊,然后裝入相應(yīng)的新字塊。新字塊。(a)相聯(lián)存儲(chǔ)器 所謂相聯(lián)存儲(chǔ)是指其信息的存儲(chǔ)、檢索和修改是基于數(shù)據(jù)本身而不是絕對(duì)的存儲(chǔ)位置。按這種技術(shù)研制的存儲(chǔ)器就是相聯(lián)存儲(chǔ)器。這是一種基于內(nèi)容尋址的存儲(chǔ)器,又稱(chēng)按內(nèi)容尋址存儲(chǔ)器、并行搜索存儲(chǔ)器和數(shù)據(jù)尋址存儲(chǔ)器。 (b)全相聯(lián)地址變換 全相聯(lián)地址變換通常采用目錄表法,目錄表

38、存于相聯(lián)存儲(chǔ)器中,表的行數(shù)等于Cache的塊數(shù)。查表時(shí),將來(lái)自CPU的主存地址中m字段(主存塊號(hào)或標(biāo)記)作為關(guān)鍵字,同目錄表中各行內(nèi)容(已裝入Cache的主存塊號(hào))進(jìn)行相聯(lián)比較,若查找成功(命中),則表示該主存塊已裝入Cache,取出對(duì)應(yīng)的Cache塊號(hào),拼接塊內(nèi)地址后訪問(wèn)Cache。若查找不成功,表示該主存塊未裝入Cache。優(yōu)點(diǎn):塊沖突概率低、Cache空間利用率高。缺點(diǎn):查表過(guò)程復(fù)雜、成本高。例14:設(shè)主存有16個(gè)字塊(M0 M15),Cache有4個(gè)字塊(C0 C3),每塊16字,則:主存地址各字段:b = 4位,m = 4位Cache地址各字段: b = 4位,c = 2位當(dāng)主存地址

39、 = 0100 1010 時(shí),地址變換為:主存塊號(hào)塊內(nèi)地址m位b位0 1 0 0101010100 0 0 10 0 1 00 1 0 01 1 1 10 10 01 11 01 1主存地址Cache地址訪問(wèn)Cache 目錄表2c行比較(2)直接映射)直接映射 指每個(gè)主存字塊只能映射到指每個(gè)主存字塊只能映射到Cache中一中一個(gè)指定的字塊個(gè)指定的字塊(多對(duì)一的映射關(guān)系)(多對(duì)一的映射關(guān)系)。 映射規(guī)則為:映射規(guī)則為: i = j mod 2c其中 i 為Cache塊號(hào),j 為主存塊號(hào),2c 為Cache的字塊數(shù)。 主存中存儲(chǔ)塊的數(shù)據(jù)只能調(diào)入 Cache 中的對(duì)應(yīng)位置。主存容量大于Cache 容

40、量,因此會(huì)有多個(gè)主存塊映射到同一個(gè) Cache 塊。標(biāo)記標(biāo)記2c個(gè)字塊t位塊0塊2c-1Cache塊0塊2c-1塊2c塊2m-1 2b個(gè)字主存直接(地址)映射標(biāo)記表2c行t位標(biāo)記相等比較t位c位b位c位b位命中失效m位(主存塊號(hào))塊內(nèi)地址Cache 塊號(hào)塊內(nèi)地址主存地址Cache地址地址變換 當(dāng)主存第j塊按 i = j mod 2c 裝入Cache第i塊時(shí),其t位標(biāo)記也裝入Cache i 塊對(duì)應(yīng)的標(biāo)記表項(xiàng)中。CPU訪問(wèn)Cache時(shí),映射與變換部件收到來(lái)自CPU的主存地址,根據(jù)c位字段選中標(biāo)記表中的一行(標(biāo)記),然后與主存地址中的t位標(biāo)記比較。若相等(命中),則從主存地址中截取Cache地址,訪

41、問(wèn)Cache。否則(失效)訪問(wèn)主存,將所需的字塊按直接映射規(guī)則裝入Cache,并改變相應(yīng)的標(biāo)記。優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單、成本低且速度快。缺點(diǎn):命中率低、塊沖突率高且不靈活(即2t 個(gè)c位字段相同的主存字塊只能對(duì)應(yīng)唯一的Cache字塊)。例15:設(shè)主存有8個(gè)字塊(M0 M7),Cache有4個(gè)字塊(C0 C3),每塊16字,則:主存地址各字段:b = 4位,c = 2位,t = 1位Cache主存映射映射012306457321比較主存地址Cache地址tcb1101001000110111011101001訪問(wèn)Cache變換變換(3)組相聯(lián)映射)組相聯(lián)映射 組相聯(lián)映射是對(duì)直接映射和全相聯(lián)映射的一種折衷

42、,也是商用計(jì)算機(jī)中最為流行的高速緩存設(shè)計(jì)方案。 兩種實(shí)現(xiàn)組相聯(lián)映射方法:(a)Cache分組,主存也分組(組間直接映射,組內(nèi)全相聯(lián)映射)。(b)Cache分組,主存不分組,映射函數(shù)為:分組,主存不分組,映射函數(shù)為: i =(j mod 2q) 2r + k ,0 k 2r - 1 其中i 為Cache塊號(hào),j 為主存塊號(hào),2q為Cache的組數(shù), 2r為每組中的字塊數(shù)。 將將Cache中的中的2c個(gè)字塊分為個(gè)字塊分為2q個(gè)組,每組個(gè)組,每組2r個(gè)字塊個(gè)字塊( 2r路組相聯(lián)),則有路組相聯(lián)),則有c = q + r。主存第。主存第j個(gè)字塊與個(gè)字塊與2q個(gè)組之間是直接映射,與第個(gè)組之間是直接映射,與第j mod 2q組內(nèi)組內(nèi)2r個(gè)字塊之間個(gè)字塊之間是全相聯(lián)映射。是全相聯(lián)映射。塊0塊2r-

溫馨提示

  • 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)論