版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一講:第四章存儲(chǔ)器系統(tǒng)回 顧:微型計(jì)算機(jī)系統(tǒng)的硬件組成,存儲(chǔ)器在微機(jī)系統(tǒng)中的功能和作用。本講重點(diǎn):微機(jī)存儲(chǔ)器系統(tǒng)的基本概況,存儲(chǔ)器的分類,內(nèi)部存儲(chǔ)器的系統(tǒng)結(jié) 構(gòu),動(dòng)、靜態(tài)讀寫存儲(chǔ)器RAM的基本存儲(chǔ)單元與芯片。講授內(nèi)容:4.1 概述存儲(chǔ)器是計(jì)算機(jī)中的記憶部件,用來(lái)存儲(chǔ)程序和數(shù)據(jù),是計(jì)算機(jī)的基本組成 部分。人們把計(jì)算機(jī)之所以稱為電腦,就是因?yàn)橛?jì)算機(jī)中的存儲(chǔ)器具有存儲(chǔ)能 力,能實(shí)現(xiàn)程序存儲(chǔ)、程序控制,使計(jì)算機(jī)能自動(dòng)高速地進(jìn)行各種復(fù)雜運(yùn)算。在計(jì)算機(jī)所有組成部件中,惟有存儲(chǔ)器種類最多,原因就在于各種存儲(chǔ)部 件具有不同的存儲(chǔ)特點(diǎn),到目前為止,還沒(méi)有找到一種在性能(速度)、容量、 價(jià)格上都能滿足需要的存儲(chǔ)
2、器件,所以,現(xiàn)在計(jì)算機(jī)的存儲(chǔ)部件是由各種性能 的存儲(chǔ)器件構(gòu)成的存儲(chǔ)器系統(tǒng),綜合滿足存儲(chǔ)需要。所以要了解存儲(chǔ)器系統(tǒng)的 性能,必須從每種存儲(chǔ)器部件研究開始。4.1.1 存儲(chǔ)器分類及特點(diǎn)存儲(chǔ)器種類很多,每種具有各自不同的存儲(chǔ)特點(diǎn)。1 .按構(gòu)成存儲(chǔ)器的器件和存儲(chǔ)介質(zhì)分類可分為:磁芯存儲(chǔ)器、半導(dǎo)體存儲(chǔ)器、光電存儲(chǔ)器、磁膜、磁泡和其它磁表 面存儲(chǔ)器以及光盤存儲(chǔ)器等。2 .按存取方式分類可將存儲(chǔ)器分為隨機(jī)存取存儲(chǔ)器、只讀存儲(chǔ)器兩種形式。(1)隨機(jī)存儲(chǔ)器 RAM(Random Access Memory)乂稱讀寫存儲(chǔ)器,指能夠通過(guò)指令隨機(jī)地、個(gè)別地對(duì)其中各個(gè)單元進(jìn)行讀/ 寫操作的一類存儲(chǔ)器,隨機(jī)存儲(chǔ)器讀寫快慢
3、與信息存儲(chǔ)位置無(wú)關(guān)。按照存放信息原理的不同,隨機(jī)存儲(chǔ)器乂可分為靜態(tài)和動(dòng)態(tài)兩種。靜態(tài) RAM即SRAM,是以雙穩(wěn)態(tài)元件作為基本的存儲(chǔ)單元來(lái)保存信息的,因此,其 保存的信息在不斷電的情況下,是不會(huì)被自動(dòng)破壞的;而動(dòng)態(tài)RAM (DRAM) 是靠電容的充、放電原理來(lái)存放信息的,由于保存在電容上的電荷,會(huì)隨著時(shí)間 而泄露,因而會(huì)使得這種器件中存放的信息丟失,必須定時(shí)進(jìn)行刷新。(2)只讀存儲(chǔ)器 ROM (Read-Only Memory)在微機(jī)系統(tǒng)的在線運(yùn)行過(guò)程中,只能對(duì)其進(jìn)行讀操作,而不能進(jìn)行寫操作的 一類存儲(chǔ)器。ROM通常用來(lái)存放固定不變的程序、漢字字型庫(kù)、字符及圖形符 號(hào)等。隨著半導(dǎo)體技術(shù)的發(fā)展,只
4、讀存儲(chǔ)器也出現(xiàn)了不同的種類,如可編程的只 讀存儲(chǔ)器PROM(Programmable ROM),可擦除的可編程的只讀存儲(chǔ)器 EPROM(Erasible Programmable ROM)和 EEPROM(Electric Erasible Programmable ROM)以及掩膜型只讀存儲(chǔ)器MROM(Masked ROM)等,近年來(lái)發(fā)展起來(lái)的快擦 型存儲(chǔ)器(Flash Memory)具有EEPROM的特點(diǎn)。3 .按在微機(jī)系統(tǒng)中位置分類分為主存儲(chǔ)器(內(nèi)存)、輔助存儲(chǔ)器(外存)、緩沖存儲(chǔ)器等。主存儲(chǔ)器乂稱為 系統(tǒng)的主存或者內(nèi)存,位于系統(tǒng)主機(jī)的內(nèi)部,CPU可以直接對(duì)其中的單元進(jìn)行 讀/寫操作;輔
5、存存儲(chǔ)器乂稱外存,位于系統(tǒng)主機(jī)的外部,CPU對(duì)其進(jìn)行的存/ 取操作,必須通過(guò)內(nèi)存才能進(jìn)行;緩沖存儲(chǔ)器位于主存與CPU之間,其存取速 度非??欤鎯?chǔ)容量更小,可用來(lái)解決存取速度與存儲(chǔ)容量之間的矛盾,提高 整個(gè)系統(tǒng)的運(yùn)行速度。另外,還可根據(jù)所存信息是否容易丟失,而把存儲(chǔ)器分成易失性存儲(chǔ)器和 非易失性存儲(chǔ)器。如半導(dǎo)體存儲(chǔ)器(DRAM, SRAM),停電后信息會(huì)丟失,屬易 失性;而磁帶和磁盤等磁表面存儲(chǔ)器,屬非易失性存儲(chǔ)器。存儲(chǔ)器分類表如下所示(P87):r 雙極型半導(dǎo)體存儲(chǔ)器隨機(jī)存儲(chǔ)器(RAM)一I MOS存儲(chǔ)器(靜態(tài)、動(dòng)態(tài))r可編程只讀存儲(chǔ)器PROM只讀存儲(chǔ)器(ROM)可擦除可編程只讀存儲(chǔ)器EP
6、ROM, EEPROMI掩膜型只讀存儲(chǔ)器MROM快擦型存儲(chǔ)器存儲(chǔ)器磁盤(軟盤、硬盤、盤組)存儲(chǔ)器輔助存儲(chǔ)器J磁帶存儲(chǔ)器I光盤存儲(chǔ)器緩沖存儲(chǔ)器圖4-1存儲(chǔ)器分類圖4 .1.2存儲(chǔ)器的組成結(jié)構(gòu)一般情況下,一個(gè)存儲(chǔ)器系統(tǒng)由以下幾部分組成。1 .基本存儲(chǔ)單元一個(gè)基本存儲(chǔ)單元可以存放一位二進(jìn)制信息,其內(nèi)部具有兩個(gè)穩(wěn)定的且相互 對(duì)立的狀態(tài),并能夠在外部對(duì)其狀態(tài)進(jìn)行識(shí)別和改變。不同類型的基本存儲(chǔ)單元, 決定了由其所組成的存儲(chǔ)器件的類型不同。2 .存儲(chǔ)體一個(gè)基本存儲(chǔ)單元只能保存一位二進(jìn)制信息,若要存放MXN個(gè)二進(jìn)制信 息,就需要用MXN個(gè)基本存儲(chǔ)單元,它們按一定的規(guī)則排列起來(lái),由這些基 本存儲(chǔ)單元所構(gòu)成的陣列
7、稱為存儲(chǔ)體或存儲(chǔ)矩陣。3 .地址譯碼器由于存儲(chǔ)器系統(tǒng)是由許多存儲(chǔ)單元構(gòu)成的,每個(gè)存儲(chǔ)單元一般存放8位二進(jìn) 制信息,為了加以區(qū)分,我們必須首先為這些存儲(chǔ)單元編號(hào),即分配給這些存儲(chǔ) 單元不同的地址。地址譯碼器的作用就是用來(lái)接受CPU送來(lái)的地址信號(hào)并對(duì)它 進(jìn)行譯碼,選擇與此地址碼相對(duì)應(yīng)的存儲(chǔ)單元,以便對(duì)該單元進(jìn)行讀/寫操作。 4.片選與讀/寫控制電路片選信號(hào)用以實(shí)現(xiàn)芯片的選擇。對(duì)于一個(gè)芯片來(lái)講,只有當(dāng)片選信號(hào)有效時(shí), 才能對(duì)其進(jìn)行讀/寫操作。片選信號(hào)一般由地址譯碼器的輸出及一些控制信號(hào)來(lái) 形成,而讀/寫控制電路則用來(lái)控制對(duì)芯片的讀/寫操作。5.1 /O電路I/O電路位于系統(tǒng)數(shù)據(jù)總線與被選中的存儲(chǔ)單元
8、之間,用來(lái)控制信息的讀出 與寫入,必要時(shí),還可包含對(duì)I/O信號(hào)的驅(qū)動(dòng)及放大處理功能。6.集電極開路或三態(tài)輸出緩沖器為了擴(kuò)充存儲(chǔ)器系統(tǒng)的容量,常常需要將幾片RAM芯片的數(shù)據(jù)線并聯(lián)使用 或與雙向的數(shù)據(jù)線相連,這就要用到集電極開路或三態(tài)輸出緩沖器。7.其它外圍電路對(duì)不同類型的存儲(chǔ)器系統(tǒng),有時(shí),還專門需要一些特殊的外圍電路,如動(dòng)態(tài) RAM中的預(yù)充電及刷新操作控制電路等,這也是存儲(chǔ)器系統(tǒng)的重要組成部分。 4.1.3存儲(chǔ)器的操作存儲(chǔ)器的操作主要由CPU控制完成,CPU對(duì)存儲(chǔ)器的操作分為讀操作和寫操 作。對(duì)于動(dòng)態(tài)存儲(chǔ)器DRAM還有刷新操作。讀操作:CFU發(fā)出要訪問(wèn)存儲(chǔ)單元的地址碼和讀控制信號(hào),把選中單元的數(shù)
9、 據(jù)取出來(lái)通過(guò)系統(tǒng)總線的數(shù)據(jù)線讀到CPU內(nèi)寄存器的過(guò)程。寫操作:CPU發(fā)出要訪問(wèn)存儲(chǔ)單元的地址碼、寫控制信號(hào)和要寫入的數(shù)據(jù), 通過(guò)系統(tǒng)總線把要寫入的數(shù)據(jù)寫到選中單元中去的過(guò)程。刷新操作:對(duì)于動(dòng)態(tài)存儲(chǔ)器DRAM,由于電容放電現(xiàn)象,需要定期把其內(nèi)容讀出再寫 入的過(guò)程。4.2存儲(chǔ)器系統(tǒng)存儲(chǔ)器元件種類繁多,每種都有各自的特點(diǎn),由于但到目前為止還沒(méi)找到一 個(gè)在速度、性能、價(jià)格、三方面都能滿足人類不同需要的存儲(chǔ)器,所以,為了 滿足人類不同需要,就將這些存儲(chǔ)器組織起來(lái),綜合發(fā)揮各自性能,這就構(gòu)成了存儲(chǔ)器系統(tǒng)。存儲(chǔ)器系統(tǒng)由將兩個(gè)或兩個(gè)以上速度、容量和價(jià)格各不相同的存儲(chǔ)器用硬 件、軟件或軟硬件相結(jié)合的方法組織起
10、來(lái),充分發(fā)揮各存儲(chǔ)器在速度、容量、成 本上的不同優(yōu)勢(shì),而從總體上滿足我們對(duì)存儲(chǔ)器的大容量、快速、低成本的要求。4.2.1 存儲(chǔ)器系統(tǒng)的組成計(jì)算機(jī)中存儲(chǔ)器系統(tǒng)的構(gòu)成見(jiàn)圖4-2.CPU內(nèi)核圖4-寄存器堆計(jì)算機(jī)多率存儲(chǔ)體系中, 輔助存儲(chǔ)遞”構(gòu)成的虛擬但4.2.1存儲(chǔ)器系統(tǒng)的4度-系統(tǒng)廠*一, 容量),U高速緩存儲(chǔ)器級(jí)和存一主存儲(chǔ)器聯(lián)機(jī)外存儲(chǔ)器4.3高速緩沖脫機(jī)外存儲(chǔ)器量1.1 .1問(wèn)題的提出微機(jī)系統(tǒng)中的內(nèi)部存儲(chǔ)器通常采用動(dòng)態(tài)RAM構(gòu)成,具有價(jià)格低,容量大的 特點(diǎn),但由于動(dòng)態(tài)RAM采用MOS管電容的充放電原理來(lái)表示與存儲(chǔ)信息,其 存取速度相對(duì)于CPU的信息處理速度來(lái)說(shuō)較低。這就導(dǎo)致了兩者速度的不匹配,
11、 也就是說(shuō),慢速的存儲(chǔ)器限制了高速CPU的性能,影響了微機(jī)系統(tǒng)的運(yùn)行速度, 并限制了計(jì)算機(jī)性能的進(jìn)一步發(fā)揮和提高。高速緩沖存儲(chǔ)器就是在這種情況下產(chǎn) 生的。1.2 存儲(chǔ)器訪問(wèn)的局部性微機(jī)系統(tǒng)進(jìn)行信息處理的過(guò)程就是執(zhí)行程序的過(guò)程,這時(shí).,CPU需要頻繁地 與內(nèi)存進(jìn)行數(shù)據(jù)交換,包括取指令代碼及數(shù)據(jù)的讀寫操作。通過(guò)對(duì)大量典型程序 的運(yùn)行情況分析結(jié)果表明,在一個(gè)較短的時(shí)間內(nèi),取指令代碼的操作往往集中在 存儲(chǔ)器邏輯地址空間的很小范圍內(nèi)(因?yàn)樵诙鄶?shù)情況下,指令是順序執(zhí)行的,因 此指令代碼地址的分布就是連續(xù)的,再加上循環(huán)程序段和子程序段都需要重復(fù)執(zhí) 行多次,因此對(duì)這些局部存儲(chǔ)單元的訪問(wèn)就自然具有時(shí)間上集中分布
12、的傾向); 數(shù)據(jù)讀寫操作的這種集中性傾向雖不如取指令代碼那么明顯,但對(duì)數(shù)組的存儲(chǔ)和 訪問(wèn)以及I作單元的選擇也可以使存儲(chǔ)器單元相對(duì)集中。這種對(duì)局部范圍的存儲(chǔ) 器單元的防問(wèn)比較頻繁,而對(duì)此范圍以外的存儲(chǔ)單元訪問(wèn)相對(duì)甚少的現(xiàn)象,稱為 程序訪問(wèn)的局部性。1.3 Cache-主存”存儲(chǔ)結(jié)構(gòu)及其實(shí)現(xiàn)為了解決存儲(chǔ)器系統(tǒng)的容量、存取速度及單位成本之間的矛盾,可以采用 Cache-主存存儲(chǔ)結(jié)構(gòu),即在主存和CPU之間設(shè)置高速緩沖存儲(chǔ)器Cache,把正 在執(zhí)行的指令代碼單元附近的一部分指令代碼或數(shù)據(jù)從主存裝入Cache中,供 CPU在一段時(shí)間內(nèi)使用,由于存儲(chǔ)器訪問(wèn)的局部性,在一定容量Cache的條件 下,我們可以做
13、到使CPU大部分取指令代碼及進(jìn)行數(shù)據(jù)讀寫的操作都只要通過(guò) 訪問(wèn)Cache,而不是訪問(wèn)主存而實(shí)現(xiàn)。由于Cache的讀寫速度幾乎能夠與CPU匹配,所以“Cache-主存”存儲(chǔ)結(jié) 構(gòu)使微機(jī)系統(tǒng)的存取速度可以大大提高;另外,Cache的容量相對(duì)主存來(lái)說(shuō)并不 是太大,所以整個(gè)存儲(chǔ)器系統(tǒng)的成本并沒(méi)有上升很多。采用了 Cache-主存存儲(chǔ)結(jié)構(gòu)以后,整個(gè)存儲(chǔ)器系統(tǒng)的容量及單位成本能夠主 存相當(dāng),而存取速度可以與Cache的讀寫速度相當(dāng),這就很好地解決了存儲(chǔ)器系 統(tǒng)的上述三個(gè)方面性能之間的矛盾。圖4-3 Cache-主存結(jié)構(gòu)示意圖如圖4-3所示,在主存和CPU之間增加了一個(gè)容量相對(duì)較小的雙極型靜態(tài) RAM作為高
14、速緩沖存儲(chǔ)器Cache,為了實(shí)現(xiàn)Cache與主存之間的數(shù)據(jù)交換,系 統(tǒng)中還相應(yīng)地增加了輔助的硬件電路。管理這兩級(jí)存儲(chǔ)器的部件為Cache控制器,CPU與主存之間的數(shù)據(jù)傳輸必 須由Cache控制器控制進(jìn)行,Cache控制器將來(lái)自CPU的數(shù)據(jù)讀寫請(qǐng)求,轉(zhuǎn)向 Cache存儲(chǔ)器,如果數(shù)據(jù)在Cache中,則CPU對(duì)Cache進(jìn)行讀寫操作,稱為一 次命中。命中時(shí),CPU從Cache中讀(寫)數(shù)據(jù)。由于Cache速度與CPU速度相 也配,因此不需要插入等待狀態(tài),故CPU處于零等待狀態(tài),也就是說(shuō)也就是說(shuō) CPU與Cache達(dá)到了同步;若數(shù)據(jù)不在Cache中,則CPU對(duì)主存操作,稱為一 次失敗。失敗時(shí),CPU必
15、須在其總線周期中插入等待周期Tw。地址總線、Cache/字寬 存儲(chǔ)器CPU單字寬數(shù)據(jù)總線圖4-4Cache存儲(chǔ)系統(tǒng)基本結(jié)構(gòu)在主存一Cache存儲(chǔ)體系中,所有的程序代碼和數(shù)據(jù)仍然都存放在主存中, Cache存儲(chǔ)器只是在系統(tǒng)運(yùn)行過(guò)程中,動(dòng)態(tài)地存放了主存中的一部分程序塊和數(shù) 據(jù)塊的副本,這是一種以塊為單位的存儲(chǔ)方式。塊的大小稱為“塊長(zhǎng)”,塊長(zhǎng)一 般取一個(gè)主存周期所能調(diào)出的信息長(zhǎng)度。假設(shè)主存的地址碼為n位,則其共有2n個(gè)單元,將主存分塊(block),每塊 有B個(gè)字節(jié),則一共可以分成不/B塊。Cache也由同樣大小的塊組成,由于其 容量小,所以塊的數(shù)目小得多,也就是說(shuō),主存中只有一小部分塊的內(nèi)容可存放
16、 在Cache中在Cache中,每一塊外加有一個(gè)標(biāo)記,指明它是主存中哪一塊的副本,所以 該標(biāo)記的內(nèi)容相當(dāng)于主存中塊的編號(hào)。假定主存地址為=乂 + 6位,其中M稱 為主存的塊地址,而b則稱為主存的塊內(nèi)地址,即:主存的塊數(shù)為2,塊內(nèi)字 節(jié)數(shù)為2h;同樣,假定Cache地址n=N十b位,其中N稱為Cache塊地址,而 b為Cache的塊內(nèi)地址,即Cache的塊數(shù)為2%塊內(nèi)字節(jié)數(shù)為2、通常使主存與 Cache的塊內(nèi)地址碼數(shù)量相同,即6 = 即Cache的塊內(nèi)字節(jié)數(shù)與主存的塊內(nèi)字 節(jié)數(shù)相同。當(dāng)CPU發(fā)出讀請(qǐng)求時(shí),將主存地址M位(或M位中的一部分)與Cache某塊 的標(biāo)記相比較,根據(jù)其比較結(jié)果是否相等而區(qū)
17、分出兩種情況:當(dāng)比較結(jié)果相等時(shí), 說(shuō)明需要的數(shù)據(jù)已在Cache中,那么直接訪問(wèn)Cache就行了,在CPU與Cache 之間,通常一次傳送一個(gè)字;當(dāng)比較結(jié)果不相等時(shí),說(shuō)明需要的數(shù)據(jù)尚未調(diào)入 Cache,那么就要把該數(shù)據(jù)所在的整個(gè)字塊從主存一次調(diào)進(jìn)來(lái)。4.3.4 Cache 主存存儲(chǔ)結(jié)構(gòu)的命中率命中率指CPU所要訪問(wèn)的信息在Cache中的比率,相應(yīng)地將所要訪問(wèn)的信 息不在Cache中的比率稱為失效率。Cache的命中率除了與Cache的容量有關(guān)外,還與地址映象的方式有關(guān)。目前,Cache存儲(chǔ)器容量主要有256KB和512KB等。這些大容量的Cache 存儲(chǔ)器,使CPU訪問(wèn)Cache的命中率高達(dá)90
18、%至99%,大大提高了 CPU訪問(wèn) 數(shù)據(jù)的速度,提高了系統(tǒng)的性能。4.3.5 兩級(jí)Cache-主存存儲(chǔ)結(jié)構(gòu)CPU內(nèi)部的Cache與主機(jī)板上的Cache就形成兩級(jí)Cache結(jié)構(gòu)。CPU工作時(shí),首先在第一級(jí)Cache(微處理器內(nèi)的Cache)中查找數(shù)據(jù),如果 找不到,則在第二級(jí)Cache(主機(jī)板上的Cache)中查找,若數(shù)據(jù)在第二級(jí)Cache 中,Cache控制器在傳輸據(jù)的同時(shí),修改第一級(jí)Cache;如果數(shù)據(jù)既不在第一級(jí) Cache也不在第二級(jí)Cache中,Cache控制器則從主存中獲取數(shù)據(jù),同時(shí)將數(shù)據(jù) 提供給CPU并修改兩級(jí)Cache。兩級(jí)Cache結(jié)構(gòu),提高了命中率,加快了處理 速度,使CPU
19、對(duì)Cache的操作命中率高達(dá)98%以上。圖4-4給出了主板上Cache 存儲(chǔ)器系統(tǒng)的基本結(jié)構(gòu)。4.3.6 Cache的基本操作1 .讀操作當(dāng)CPU發(fā)出讀操作命令時(shí),要根據(jù)它產(chǎn)生的主存地址分兩種情形:一種是 需要的數(shù)據(jù)已在Cache存儲(chǔ)器中,那么只需直接訪問(wèn)Cache存儲(chǔ)器,從對(duì)應(yīng)單元 中讀取信息到數(shù)據(jù)總線;另一種是所需要的數(shù)據(jù)尚未裝入Cache存儲(chǔ)器,CPU 在從主存讀取信息的同時(shí),由Cache替換部件把該地址所在的那塊存儲(chǔ)內(nèi)容從主 存拷貝到Cache中。Cache存儲(chǔ)器中保存的字塊是主存相應(yīng)字塊的副本。2 .寫操作當(dāng)CPU發(fā)出寫操作命令時(shí),也要根據(jù)它產(chǎn)生的主存地址分兩種情形:其一,命中時(shí),不
20、但要把新的內(nèi)容寫入Cache存儲(chǔ)器中,必須同時(shí)寫入主存, 使主存和Cache內(nèi)容同時(shí)修改,保證主存和副本內(nèi)容一致,這種方法稱寫直達(dá)法 或稱通過(guò)式寫(Write-through,簡(jiǎn)稱通寫法)。其二,未命中時(shí),許多微機(jī)系統(tǒng)只向主存寫入信息,而不必同時(shí)把這個(gè)地址 單元所在的主存中的整塊內(nèi)容調(diào)入Cache存儲(chǔ)器。3 3.7地址映象及其方式我們知道,主存與Cache之間的信息交換,是以數(shù)據(jù)塊的形式來(lái)進(jìn)行的,為 了把信息從主存調(diào)入Cache,必須應(yīng)用某種函數(shù)把主存塊映象到Cache塊,稱作 地址映象。當(dāng)信息按這種映象關(guān)系裝入Cache后,系統(tǒng)在執(zhí)行程序時(shí),應(yīng)將主存 地址變換為Cache地址,這個(gè)變換過(guò)程叫
21、做地址變換(由于Cache的存儲(chǔ)空間較 小,因此,Cache中的一個(gè)存儲(chǔ)塊要與主存中的若干個(gè)存儲(chǔ)塊相對(duì)應(yīng),即若干個(gè) 主存塊將映象到同一個(gè)Cache塊)。根據(jù)不同的地址對(duì)應(yīng)方法,地址映象的方式通常有直接映象、全相聯(lián)映象和 組相聯(lián)映象三種。1 .直接映象每個(gè)主存塊映象到Cache中的一個(gè)指定塊的方式稱為直接映象。在直接映象 方式下,主存中某一特定存儲(chǔ)塊只可調(diào)入Cache中的一個(gè)指定位置,如果主存中 另一個(gè)存儲(chǔ)塊也要調(diào)入該位置,則將發(fā)生沖突。地址映象的方法:將主存塊地址對(duì)Cache的塊號(hào)取模,即可得到Cache中的塊地址,這相當(dāng)于將主存的空間按Cache的大小進(jìn)行分區(qū),每區(qū)內(nèi)相同的塊號(hào)映象到Cach
22、e中相同 的塊的位置。一般來(lái)說(shuō),如果Cache被分成2N塊,主存被分成同樣大小的2M塊,則主 存與Cache中塊的對(duì)應(yīng)關(guān)系如圖4-5所示。直接映象函數(shù)可定義為:j = imod 2n其中j是Cache中的塊號(hào);i是主存中的塊號(hào)。在這種映象方式中,主存的 第。塊,第2雙塊,第2刈塊,只能映象到Cache的第。塊,而主存的第1 塊,第2N十1塊,第2附】十1塊,只能映象到Cache的第1塊,依次類推。例如,一個(gè)Cache的大小為2K字,每個(gè)塊為16字,這樣Cache中共有128 個(gè)塊。假設(shè)主存的容量是256K字,則共有16384個(gè)塊。主存的地址碼將有18 位。在直接映象方式下,主存中的第1128塊
23、映象到Cache中的第1128塊, 第129塊則映象到Cache中的第1塊,第130塊映象到Cache中的第2塊,依 次類推。直接映象函數(shù)的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,缺點(diǎn)是不夠靈活,尤其是當(dāng)程序往返訪問(wèn) 兩個(gè)相互沖突的塊中的數(shù)據(jù)時(shí),Cache的命中率將急劇下降。2 .全相聯(lián)映象如圖4-5所示,它允許主存中的每一個(gè)字塊映象到Cache存儲(chǔ)器的任何一個(gè) 字塊位置上,也允許從確實(shí)已被占滿的Cache存儲(chǔ)器中替換出任何一個(gè)舊字塊當(dāng) 訪問(wèn)一個(gè)塊中的數(shù)據(jù)時(shí).,塊地址要與Cache塊表中的所有地址標(biāo)記進(jìn)行比較以確 定是否命中。在數(shù)據(jù)塊調(diào)入時(shí),存在著一個(gè)比較復(fù)雜的替換策略問(wèn)題,即決定將 數(shù)據(jù)塊調(diào)入Cache中什么位置,
24、將Cache中哪一塊數(shù)據(jù)調(diào)出到主存。全相聯(lián)方法塊沖突的概率低,Cache的利用率高,是一種最理想的解決方案,但 全相聯(lián)Cache中塊表查找的速度慢,由于Cache的速度要求高,因此全部比較和 替換策略都要用硬件實(shí)現(xiàn),控制復(fù)雜,實(shí)現(xiàn)起來(lái)也比較困難。主存第1區(qū)主存:第2區(qū)圖4-53.組相聯(lián)映象直接映像示意圖圖4-6全相聯(lián)映像示意圖-18-組相聯(lián)映象方式是全相聯(lián)映象和直接映象的一種折衷方案。這種方法將存儲(chǔ) 空間分成若干組,各組之間是直接映象,而組內(nèi)各塊之間則是全相聯(lián)映象。如圖4-7所示,在組相聯(lián)映象方式下,主存中存儲(chǔ)塊的數(shù)據(jù)可調(diào)入Cache中一個(gè) 指定組內(nèi)的任意塊中。它是上述兩種映象方式的一般形式,
25、如果組的大小為1 時(shí)就變成了直接映象;如果組的大小為整個(gè)Cache的大小時(shí)就變成了全相聯(lián)映 象。例如,把Cache子塊分成2c組,每組包含2口個(gè)字塊,那么,主存字塊Mm(0 Wit、)可以用下列映象函數(shù)映象到Cache字塊MN(j)( 0j2N-l):j = (i mod 2C)X2r 十 k( 0k2R-l)例如,設(shè)C = 3位,R=1位,考慮主存字塊15可映象到Cache的哪一個(gè)字 塊中。根據(jù)公式,可得:j =(i mod 2c)X2R+k= (15 mod 23)X2】十 k=7義2十k=14 + k又:0WkW2R-l=2-l = l即: k=0或1代入后得j=14(k=0)或15(k
26、=l)o所以主存模塊15可映象到Cache字塊14 或15,在第7組。同樣可計(jì)算出主存字塊17可映象到Cache的第0塊或第1塊, 在第1組。組相聯(lián)映象方法在判斷塊命中以及替換算法上都要比全相聯(lián)映象方法簡(jiǎn)單, 塊沖突的概率比直接映象方法的低,其命中率介于直接映象和全相聯(lián)映象方法之 間。4. 3. 8替換策略主存與Cache之間的信息交換,是以存儲(chǔ)塊的形式來(lái)進(jìn)行的,主存的塊長(zhǎng)與 Cache的塊長(zhǎng)相同,但由于Cache的存儲(chǔ)空間較小,主存的存儲(chǔ)空間較大,因此, Cache中的一個(gè)存儲(chǔ)塊要與主存中的若干個(gè)存儲(chǔ)塊相對(duì)應(yīng),若在調(diào)入主存中一個(gè) 存儲(chǔ)塊時(shí),Cache中相應(yīng)的位置已被其它存儲(chǔ)塊占有,則必須去掉
27、一個(gè)舊的字塊, 讓位于一個(gè)新的字塊。這稱為替換策略或替換算法。常用的兩種替換策略是:先進(jìn)先出(FIFO)策略和近期最少使用(LRU)策 略。1 .先進(jìn)先出(FIFO)策略FIFO (First In First Out)策略總是把一組中最先調(diào)入Cache存儲(chǔ)器的字塊替 換出去,它不需要隨時(shí)記錄各個(gè)字塊的使用情況,所以實(shí)現(xiàn)容易,開銷小。2 .近期最少使用(LRU)策略LRU(Least Recently Used)策略是把一組中近期最少使用的字塊替換出去, 這種替換策略需隨時(shí)記錄Cache存儲(chǔ)器中各個(gè)字塊的使用情況,以便確定哪個(gè) 字塊是近期最少使用的字塊。LRU替換策略的平均命中率比FIFO要高
28、,并且 當(dāng)分組容量加大時(shí),能提高該替換策略的命中率。圖49 LRU算法替換登記表LRU實(shí)現(xiàn)方法是:把組中各塊的使用情況記錄在一張表上(如圖4-9所示), 并把最近使用過(guò)的塊放在表的最上面,設(shè)組內(nèi)有8個(gè)信息塊,其地址編號(hào)為0, 1,,7o當(dāng)要求替換時(shí),首先更新7號(hào)信息塊的內(nèi)容;如要訪問(wèn)7號(hào)信息塊, 則將7寫到表的頂部,其它號(hào)向下順移。接著訪問(wèn)5號(hào)信息塊,如果此時(shí)命中, 不需要替換,也要將5移到表的頂部,其它號(hào)向下順移。6號(hào)數(shù)據(jù)塊是以后要首 先被替換的,oLRU策略的另一種實(shí)現(xiàn)方法是:對(duì)Cache存儲(chǔ)器中的每一個(gè)字塊都附設(shè)一個(gè) 計(jì)數(shù)器,記錄其被使用的情況。每當(dāng)Cache中的一塊信息被命中時(shí),,比命
29、中塊計(jì) 數(shù)值低的信息塊的計(jì)數(shù)器均加1,而命中塊的計(jì)數(shù)器則清0。顯然,采用這種計(jì) 數(shù)方法,各信息塊的計(jì)數(shù)值總是不相同的。一旦不命中的情況發(fā)生時(shí),新信息塊 就要從主存調(diào)入Cache存儲(chǔ)器,以替換計(jì)數(shù)值最大的那片存儲(chǔ)區(qū)。這時(shí),新信息 塊的計(jì)數(shù)值為0,而其余信息塊的計(jì)數(shù)值均加1,從而保證了那些活躍的信息塊 (即經(jīng)常被命中或最近被命中的信息塊)的計(jì)數(shù)值要小,而近來(lái)越不活躍的信息 塊的計(jì)數(shù)值越大。這樣,系統(tǒng)就可以根據(jù)信息塊的計(jì)數(shù)值來(lái)決定先替換誰(shuí)。439 PHI中采用的Cache技術(shù)為了提高CPU訪問(wèn)存儲(chǔ)器的速度,在486和Pentium機(jī)中都設(shè)計(jì)了一定容量 的數(shù)據(jù)Cache和指令Cache (L1),并且
30、還可以使用處理器外部的第二級(jí)Cache (L2)oPentium Pro在片內(nèi)第一級(jí)Cache的設(shè)計(jì)方案中,也分別設(shè)置了指令Cache 與數(shù)據(jù)Cache,指令Cache的容量為8kB,采用2路組相聯(lián)映像方式。數(shù)據(jù)Cache 的容量也為8kB,但采用4路組相聯(lián)映像方式。它采用了內(nèi)嵌式或稱捆綁式L2 Cache,大小為256kB或512kB。此時(shí)的L2已經(jīng)用線路直接連到CPU上,益處 之一就是減少了對(duì)急劇增多LI Cache的需求。L2 Cache還能與CPU同步運(yùn)行, 即當(dāng)LI Cache不命中時(shí),立刻訪問(wèn)L2 Cache,不產(chǎn)生附加延遲。Pentiunill是Pentium Pro的改進(jìn)型,同
31、樣有2級(jí)Cache, L1為32kB(指令和 數(shù)據(jù) Cache 各 16kB)是 Pentium Pro 的兩倍,L2 為 512kBo Pentium II 與 Pentium Pro在L2 Cache的不同是由于制作成本的原因。此時(shí),L2 Cache已不在內(nèi)嵌芯 片上,而是與CPU通過(guò)專用64位高速緩存總線相聯(lián),與其它元器件共同被組裝 在同一基板上,即“單邊接觸盒”上。PentiumlH也是基于Pentium Pro結(jié)構(gòu)為核心,它具有32kB非鎖定LI Cache 和512kB非鎖定L2 Cache。L2可擴(kuò)充到12MB,具有更合理的內(nèi)存管理,可 以有效地對(duì)大于L2緩存的數(shù)據(jù)塊進(jìn)行處理,使
32、CPU、Cache和主存存取更趨合 理,提高了系統(tǒng)整體性能。在執(zhí)行視頻回放和訪問(wèn)大型數(shù)據(jù)庫(kù)時(shí),高效率的高速 緩存管理使PHI避免了對(duì)L2 Cache的不必要的存取。由于消除了緩沖失敗,多 媒體和其它對(duì)時(shí)間敏感的操作性能更高了。對(duì)于可緩存的內(nèi)容,PHI通過(guò)預(yù)先讀 取期望的數(shù)據(jù)到高速緩存里來(lái)提高速度,這一特色提高了高速緩存的命中率,減 少了存取時(shí)間。為進(jìn)一步發(fā)揮Cache的作用,改進(jìn)內(nèi)存性能并使之與CPU發(fā)展同步來(lái)維護(hù) 系統(tǒng)平衡,一些制造CPU的廠家增加了控制緩存的指令。Intel公司也在 Pentiumlll處理器中新增加了 70條3D及多媒體的SSE指令集,其中有很重要的 一組指令是緩存控制指
33、令。AMD公司在K6-2和K6-3中的3DNow多媒體指令 中,也有從L1數(shù)據(jù)Cache中預(yù)取最新數(shù)據(jù)的數(shù)據(jù)預(yù)取指令(Prefetch)。Pentiumlll處理器有兩類緩存控制指令 一類是數(shù)據(jù)據(jù)預(yù)存取(Prefetch)指 令,能夠增加從主存到緩存的數(shù)據(jù)流;另一類是內(nèi)存流優(yōu)化處理(Memory Streaming)指令,能夠增加從處理器到主存的數(shù)據(jù)流。這兩類指令都賦予了應(yīng)用 開發(fā)人員對(duì)緩存內(nèi)容更大的控制能力,使他們能夠控制緩存操作以滿足其應(yīng)用的 需求,同時(shí)也提高了 Cache的效率。4.4虛擬存儲(chǔ)器4.4.1 “主存.輔存”層次結(jié)構(gòu)操作系統(tǒng)的形成和發(fā)展使得程序員盡可能擺脫主、輔存之間的地址定
34、位,同 時(shí)形成了支持這些功能的“輔助硬件”,通過(guò)軟件、硬件結(jié)合,把主存和輔存統(tǒng) 一成了一個(gè)整體,如圖4-10所示。這時(shí),由“主存-輔存”形成了一個(gè)存儲(chǔ)層次, 即存儲(chǔ)系統(tǒng)?!爸鞔?輔存”層次解決了存儲(chǔ)器的大容量要求和低成本之間的矛 盾,從整體看,其速度接近于主存的速度,其容量則接近于輔存的容量,而每位 平均價(jià)格也接近于廉價(jià)的慢速的輔存平均價(jià)格。這種系統(tǒng)不斷發(fā)展和完善,就逐 步形成了現(xiàn)在廣泛使用的虛擬存儲(chǔ)系統(tǒng)。圖4T0主存一輔存層次結(jié)構(gòu)4.4.2 什么叫虛擬存儲(chǔ)器(Vlrtal Memory)當(dāng)CPU輸出地址碼的位數(shù)較多,而實(shí)際主存容量較小的情況下,微機(jī)系統(tǒng) 可以將一部分輔存當(dāng)作主存來(lái)使用的機(jī)制,
35、就是虛擬存儲(chǔ)器系統(tǒng)。虛擬存儲(chǔ)器是建立在主存-輔存物理結(jié)構(gòu)基礎(chǔ)之上,由附加硬件裝置及操作系 統(tǒng)存儲(chǔ)管理軟件組成的一種存儲(chǔ)體系,它將主存和輔存的地址空間統(tǒng)一編址,形 成一個(gè)龐大的存儲(chǔ)空間。在這個(gè)大空間里,用戶自由編程,完全不必考慮程序在 主存是否裝得下,或者放在輔存的程序?qū)?lái)在主存中的實(shí)際位置。編好的程序由 計(jì)算機(jī)操作系統(tǒng)裝入輔助存儲(chǔ)器,程序運(yùn)行時(shí),附加的輔助硬件機(jī)構(gòu)和存儲(chǔ)管理 軟件會(huì)把輔存的程序一塊塊自動(dòng)調(diào)入主存由CPU執(zhí)行,或從主存調(diào)出。用戶感 覺(jué)到的不再是處處受主存容量限制的存儲(chǔ)系統(tǒng),而是好象具有一個(gè)容量充分大的 存儲(chǔ)器。4.4.3 虛地址和實(shí)地址的基本概念及其相互關(guān)系1 .虛地址虛擬存儲(chǔ)器
36、的輔存部分也能讓用戶象內(nèi)存一樣使用,用戶編程時(shí)指令地址允 許涉及輔存大小的空間范圍,這種指令地址稱為“虛地址”(即虛擬地址)或叫“邏 輯地址”,虛地址對(duì)應(yīng)的存儲(chǔ)空間稱為“虛存空間”或叫“邏輯空間”。2 .實(shí)地址:實(shí)際的主存儲(chǔ)器單元的地址則稱為“實(shí)地址”(即主存地址)或叫“物理地址”, 實(shí)地址對(duì)應(yīng)的是“主存空間”,亦稱物理空間。虛擬存儲(chǔ)器的用戶程序以虛地址編址并存放在輔存里,程序運(yùn)行時(shí),CPU 以虛地址訪問(wèn)主存,由輔助硬件找出虛地址和物理地址的對(duì)應(yīng)關(guān)系,判斷由這個(gè) 虛地址指示的存儲(chǔ)單元的內(nèi)容是否已裝入主存,如果在主存,CPU就直接執(zhí)行 已在主存的程序;如果不在主存,就要進(jìn)行輔存內(nèi)容向主存的調(diào)度,
37、這種調(diào)度同 樣以程序塊為單位進(jìn)行。計(jì)算機(jī)系統(tǒng)存儲(chǔ)管理軟件和相應(yīng)的硬件把欲訪問(wèn)單元所 在的程序塊從輔存調(diào)入主存,且把程序虛地址變換成實(shí)地址,然后再由CPU訪 問(wèn)主存。444虛擬存儲(chǔ)器和Cache的異同點(diǎn)虛擬存儲(chǔ)器和“主存-Cache”存儲(chǔ)器是兩個(gè)不同存儲(chǔ)層次的存儲(chǔ)體系。在概 念上兩者有不少相同之處,但由“主存-輔存”組成的虛擬存儲(chǔ)器和“主存-Cache” 存儲(chǔ)器亦有很多不同之處:1. Cache存儲(chǔ)器采用與CPU速度匹配的快速存儲(chǔ)元件彌補(bǔ)了主存和CPU之間 的速度差距,而虛擬存儲(chǔ)器雖然最大限度地減少了慢速輔存對(duì)CPU的影響, 但它的主要功能是用來(lái)彌補(bǔ)主存和輔存之間的容量差距,具有提供大容量和 程
38、序編址方便的優(yōu)點(diǎn)。2. 兩個(gè)存儲(chǔ)體系均以信息塊作為存儲(chǔ)層次之間基本信息的傳送單位,Cache存 儲(chǔ)器每次傳送的信息塊是定長(zhǎng)的,只有幾十字節(jié),而虛擬存儲(chǔ)器信息塊劃分 方案很多,有頁(yè)、段等等,長(zhǎng)度均在幾百幾百K字節(jié)左右。3. CPU訪問(wèn)快速Cache存儲(chǔ)器的速度比訪問(wèn)慢速主存快51。倍。虛擬存儲(chǔ)器 中主存的速度要比輔存縮短1001000倍以上。4. “主存-Cache”存儲(chǔ)體系中CPU與Cache和主存都建立了直接訪問(wèn)的通道, 一旦不命中時(shí),CFU就直接訪問(wèn)主存并同時(shí)向Cache調(diào)度信息塊,從而減少 了 CPU等待的時(shí)間。而輔助存儲(chǔ)器與CPU之間沒(méi)有直接通路,一旦在主存 不命中時(shí),只能從輔存調(diào)塊到
39、主存。因?yàn)檩o存的速度相對(duì)CPU的差距太大, 調(diào)度需要亳秒級(jí)時(shí)間,因此,CPU一般改換執(zhí)行另一個(gè)程序,等到調(diào)度完成 后才返回原程序繼續(xù)工作。5. Cache存儲(chǔ)器存取信息的過(guò)程、地址變換和替換策略全部用硬件實(shí)現(xiàn),對(duì)程 序員均是透明的。而“主存-輔存”層次的虛擬存儲(chǔ)器基本上是由操作系統(tǒng)的存 儲(chǔ)管理軟件并輔助一些硬件來(lái)進(jìn)行信息塊的劃分和“主存-輔存”之間的調(diào)度, 所以對(duì)設(shè)計(jì)存儲(chǔ)管理軟件的系統(tǒng)程序員來(lái)說(shuō),它是不透明的,而對(duì)廣大用戶,因 為虛擬存儲(chǔ)路提供了龐大的邏輯空間可以任意使川,所以對(duì)應(yīng)用程序員是透明 的。4. 4. 5虛擬存儲(chǔ)器的幾種實(shí)現(xiàn)方法按虛擬存儲(chǔ)器信息塊的劃分方案不同,虛擬存儲(chǔ)器的實(shí)現(xiàn),可以
40、分為頁(yè)式虛擬存 儲(chǔ)器、段式虛擬存儲(chǔ)器、段頁(yè)式虛擬存儲(chǔ)器等集中形式,其中,段頁(yè)式虛擬存儲(chǔ) 器綜合了段式和頁(yè)式結(jié)構(gòu)的優(yōu)點(diǎn),是一種較好的虛擬存儲(chǔ)器信息塊的劃分方案, 也是目前大中型計(jì)算機(jī)系統(tǒng)中普遍采用的一種方式。4. 5存儲(chǔ)器芯片的擴(kuò)展及其與系統(tǒng)總線的連接4.5.1 存儲(chǔ)器芯片的擴(kuò)展及其與系統(tǒng)總線的連接微機(jī)系統(tǒng)的規(guī)模、應(yīng)用場(chǎng)合不同,對(duì)存儲(chǔ)器系統(tǒng)的容量、類型的要求也必不 相同,一般情況下,需要用不同類型,不同規(guī)格的存儲(chǔ)器芯片,通過(guò)適當(dāng)?shù)挠布?連接,來(lái)構(gòu)成所需要的存儲(chǔ)器系統(tǒng),這就是本節(jié)所需要討論的內(nèi)容。一、存儲(chǔ)器芯片與CPU的連接在微型系統(tǒng)中,CPU對(duì)存儲(chǔ)器進(jìn)行讀寫操作,首先要由地址總線給出地址 信號(hào),
41、選擇要進(jìn)行讀/寫操作的存儲(chǔ)單元,然后通過(guò)控制總線發(fā)出相應(yīng)的讀/寫控 制信號(hào),最后才能在數(shù)據(jù)總線上進(jìn)行數(shù)據(jù)交換。所以,存儲(chǔ)器芯片與CPU之間 的連接,實(shí)質(zhì)上就是其與系統(tǒng)總線的連接,包括: 地址線的連接; 數(shù)據(jù)線的連接; 控制線的連接;在連接中要考慮的問(wèn)題有以下幾個(gè)方面:1 . CPU總線的負(fù)載能力在設(shè)計(jì)CPU芯片時(shí),一般考慮其輸出線的直流負(fù)載能力,為帶一個(gè)TTL負(fù) 載。現(xiàn)在的存儲(chǔ)器一般都為MOS電路,直流負(fù)載很小,主要的負(fù)載是電容負(fù)載, 故在小型系統(tǒng)中,CPU是可以直接與存儲(chǔ)器相連的,而較大的系統(tǒng)中,若CPU 的負(fù)教能力不能滿足要求,可以(就要考慮CPU能否帶得動(dòng),需要時(shí)就要加上 緩沖器,)由緩
42、沖器的輸出再帶負(fù)載。2 . CPU的時(shí)序和存儲(chǔ)器的存取速度之間的配合問(wèn)題CPU在取指和存儲(chǔ)器讀或?qū)懖僮鲿r(shí),是有固定時(shí)序的,用戶要根據(jù)這些來(lái) 確定對(duì)存儲(chǔ)器存取速度的要求,或在存儲(chǔ)器已經(jīng)確定的情況下,考慮是否需要Tw周期,以及如何實(shí)現(xiàn)。3 .存儲(chǔ)器的地址分配和片選問(wèn)題內(nèi)存通常分為RAM和ROM兩大部分,而RAM 乂分為系統(tǒng)區(qū)(即機(jī)器的監(jiān) 控程序或操作系統(tǒng)占用的區(qū)域)和用戶區(qū),用戶區(qū)乂要分成數(shù)據(jù)區(qū)和程序區(qū), ROM的分配也類似,所以內(nèi)存的地址分配是一個(gè)重要的問(wèn)題。另外,目前生產(chǎn) 的存儲(chǔ)器芯片,單片的容量仍然是有限的,通??偸且稍S多片才能組成一個(gè)存 儲(chǔ)器,這里就有一個(gè)如何產(chǎn)生片選信號(hào)的問(wèn)題。4 .控
43、制信號(hào)的連接CPU在與存儲(chǔ)器交換信息時(shí),通常有以下幾個(gè)控制信號(hào)(對(duì)8088/8086來(lái)說(shuō)): IO/M (IO/M ),記,頓以及WAIT信號(hào)。這些信號(hào)如何與存儲(chǔ)器要求的控制 信號(hào)相連,以實(shí)現(xiàn)所需的控制功能。二、存儲(chǔ)器芯片的擴(kuò)展存儲(chǔ)器芯片擴(kuò)展的方法有以下兩種:1 .存儲(chǔ)器芯片的位擴(kuò)充適用場(chǎng)合:存儲(chǔ)器芯片的容量滿足存儲(chǔ)器系統(tǒng)的要求,但其字長(zhǎng)小于存儲(chǔ)器系統(tǒng) 的要求。例1用1KX4的2114芯片構(gòu)成1KX8的存儲(chǔ)器系統(tǒng)。分析:由于每個(gè)芯片的容量為1K,故滿足存儲(chǔ)器系統(tǒng)的容量要求。但由于每 個(gè)芯片只能提供4位數(shù)據(jù),故需用2片這樣的芯片,它們分別提供4位數(shù)據(jù)至系 統(tǒng)的數(shù)據(jù)總線,以滿足存儲(chǔ)器系統(tǒng)的字長(zhǎng)要求
44、。設(shè)計(jì)要點(diǎn): 將每個(gè)芯片的10位地址線按引腳名稱一一并聯(lián),按次序逐根接至系統(tǒng)地址總 線的低10位。 數(shù)據(jù)線則按芯片編號(hào)連接,1號(hào)芯片的4位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的 Do-D3, 2號(hào)芯片的4位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D4-D7c 兩個(gè)芯片的麗端并在一起后接至系統(tǒng)控制總線的存儲(chǔ)器寫信號(hào)(如CPU為 8086/8088,也可由麗和15 / M或IO/而的組合來(lái)承擔(dān))。 話引腳也分別并聯(lián)后接至地址譯碼器的輸出,而地址譯碼器的輸入則由系統(tǒng) 地址總線的高位來(lái)承擔(dān)。具體連線見(jiàn)圖4-11。當(dāng)存儲(chǔ)器工作時(shí)。,系統(tǒng)根據(jù)高位地址的譯碼同時(shí)選中兩個(gè)芯片,而地址碼的 低位也同時(shí)到達(dá)每一個(gè)芯片,從而選中它們的同
45、一個(gè)單元。在讀/寫信號(hào)的作用 下,兩個(gè)芯片的數(shù)據(jù)同時(shí)讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個(gè)字節(jié)的輸出,或者 同時(shí)將來(lái)自數(shù)據(jù)總線上的字節(jié)數(shù)據(jù)寫入存儲(chǔ)器。圖4-11用2114組成1KX8的存儲(chǔ)器連線根據(jù)硬件連線圖,我們還可以進(jìn)一步分析出該存儲(chǔ)器的地址分配范圍如下: (假設(shè)只考慮16位地址)地址碼芯片的地址范圍Ais . Aiz An Aio A9 .AoXX 000 00000H XX 001103FFHX表示可以任選值,在這里我們均選0。這種擴(kuò)展存儲(chǔ)器的方法就稱為位擴(kuò)展,它可以適用于多種芯片,如可以用8 片2164A組成一個(gè)64KX8的存儲(chǔ)器等。2 .存儲(chǔ)器芯片的字?jǐn)U充適用場(chǎng)合:存儲(chǔ)器芯片的字長(zhǎng)符合存
46、儲(chǔ)器系統(tǒng)的要求,但其容量太小。例2用2KX 8的2716 A存儲(chǔ)器芯片組成8KX 8的存儲(chǔ)器系統(tǒng)。分折由于每個(gè)芯片的字長(zhǎng)為8位,故滿足存儲(chǔ)器系統(tǒng)的字長(zhǎng)要求。但由于每個(gè) 芯片只能提供2K個(gè)存儲(chǔ)單元,故需用4片這樣的芯片,以滿足存儲(chǔ)器系統(tǒng)的容 量要求。設(shè)計(jì)要點(diǎn):同位擴(kuò)充方式相似。 先將每個(gè)芯片的11位地址線按引腳名稱一一并聯(lián),然后按次序逐根接至系統(tǒng) 地址總線的低11位。 將每個(gè)芯片的8位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的Do-D-o 兩個(gè)芯片的麗端并在一起后接至系統(tǒng)控制總線的存儲(chǔ)器讀信號(hào)(這樣連接的 原因同位擴(kuò)充方式), 它們的K引腳分別接至地址譯碼器的不同輸出,地址譯碼器的輸入則由系統(tǒng) 地址總線的高位來(lái)承擔(dān)。連線見(jiàn)圖4-17。圖4-12用2716組成8KX 8的存儲(chǔ)器連線當(dāng)存儲(chǔ)器工作時(shí),根據(jù)高位地址的不同,系統(tǒng)通過(guò)譯碼器分別選中不同的芯 片,低位地址碼則同時(shí)到達(dá)每一個(gè)芯片,選中它們的相應(yīng)單元。在讀信號(hào)的作用 下,選中芯片的數(shù)據(jù)被讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個(gè)字節(jié)的輸出。同樣,根據(jù)硬件連線圖,我們也可以進(jìn)一步分析出該存儲(chǔ)器的地址分配
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海高考語(yǔ)文三年模擬真題(21-23年)知識(shí)點(diǎn)匯編-語(yǔ)言文字應(yīng)用
- 2024年業(yè)務(wù)代表協(xié)議書范例
- 2024年轉(zhuǎn)讓林權(quán)合同
- 建筑工地砂石運(yùn)輸合同示范
- 專利翻譯權(quán)授權(quán)合同
- 863計(jì)劃保密課題承擔(dān)協(xié)議范本
- 廣州市勞動(dòng)合同書模板
- 部編版四年級(jí)上冊(cè)語(yǔ)文第四單元 快樂(lè)讀書吧《中國(guó)古代神話傳說(shuō)》 讀前指導(dǎo)課公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 2024年離婚協(xié)議書經(jīng)典范文
- 廣州市房屋租賃合同-合同示例
- 企業(yè)志目錄編纂提綱
- 中國(guó)人民財(cái)產(chǎn)保險(xiǎn)股份有限公司雇主責(zé)任保險(xiǎn)條款(2004版)
- 煤礦建設(shè)項(xiàng)目安全設(shè)施設(shè)計(jì)審查和竣工驗(yàn)收規(guī)范
- 風(fēng)力滅火機(jī)操作使用教案
- GB-Z19579—2012卓越績(jī)效評(píng)價(jià)準(zhǔn)則實(shí)施指引
- ISO50001能源管理體系簡(jiǎn)介(課堂PPT)
- (完整版)小學(xué)一年級(jí)10以內(nèi)數(shù)的分解與組合練習(xí)題.doc
- 液壓與氣動(dòng)課程設(shè)計(jì)-四柱萬(wàn)能液壓機(jī)
- 各種閥門的用途及分類
- 排油煙設(shè)施清洗作業(yè)的風(fēng)險(xiǎn)識(shí)別、評(píng)價(jià)及控制
- 初一七年級(jí)化簡(jiǎn)求值100題(1)
評(píng)論
0/150
提交評(píng)論