微型計算機技術(shù)課件5_第1頁
微型計算機技術(shù)課件5_第2頁
微型計算機技術(shù)課件5_第3頁
微型計算機技術(shù)課件5_第4頁
微型計算機技術(shù)課件5_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章:存儲器和高速緩存技術(shù)教學(xué)重點存儲器的分類內(nèi)部存儲器的系統(tǒng)結(jié)構(gòu)動、靜態(tài)讀寫存儲器RAM的基本存儲單元與芯片

2023/7/1514.1存儲器和存儲器件4.1.1存儲器的分類4.1.2存儲器的系統(tǒng)結(jié)構(gòu)4.1.3選擇存儲器器件的考慮因素4.1.4隨機存取存儲器RAM4.1.5只讀存儲器ROM4.1.6存儲器在系統(tǒng)中的連接考慮和使用舉例2023/7/152存儲器是計算機(包括微機)硬件系統(tǒng)的重要組成部分,有了存儲器,計算機才具有“記憶”功能,才能把程序及數(shù)據(jù)的代碼保存起來,才能使計算機系統(tǒng)脫離人的干預(yù),而自動完成信息處理的功能。存儲器系統(tǒng)的三項主要性能是指標(biāo)容量、速度和成本。存儲容量是存儲器系統(tǒng)的首要性能指標(biāo),因為存儲容量越大,則系統(tǒng)能夠保存的信息量就越多,相應(yīng)計算機系統(tǒng)的功能就越強;存儲器的存取速度直接決定了整個微機系統(tǒng)的運行速度,因此,存取速度也是存儲器系統(tǒng)的重要的性能指標(biāo);存儲器的成本也是存儲器系統(tǒng)的重要性能指標(biāo)。為了在存儲器系統(tǒng)中兼顧以上三個方面的指標(biāo),目前在計算機系統(tǒng)中通常采用三級存儲器結(jié)構(gòu),即使用高速緩沖存儲器、主存儲器和輔助存儲器,由這三者構(gòu)成一個統(tǒng)一的存儲系統(tǒng)。從整體看,其速度接近高速緩存的速度,其容量接近輔存的容量,而其成本則接近廉價慢速的輔存平均價格。

1.存儲器的概述2023/7/1534.1.1存儲器的分類

(1)按構(gòu)成存儲器的器件和存儲介質(zhì)分類按構(gòu)成存儲器的器件和存儲介質(zhì)主要可分為:磁芯存儲器、半導(dǎo)體存儲器、光電存儲器、磁膜、磁泡和其它磁表面存儲器以及光盤存儲器等。2.存儲器分類2023/7/154(2)按存取方式分類可將存儲器分為隨機存取存儲器、只讀存儲器兩種形式。隨機存儲器RAM(RandomAccessMemory)又稱讀寫存儲器,指能夠通過指令隨機地、個別地對其中各個單元進行讀/寫操作的一類存儲器。

按照存放信息原理的不同,隨機存儲器又可分為靜態(tài)和動態(tài)兩種。靜態(tài)RAM是以雙穩(wěn)態(tài)元件作為基本的存儲單元來保存信息的,因此,其保存的信息在不斷電的情況下,是不會被破壞的;而動態(tài)RAM是靠電容的充、放電原理來存放信息的,由于保存在電容上的電荷,會隨著時間而泄露,因而會使得這種器件中存放的信息丟失,必須定時進行刷新。2.存儲器分類2023/7/155

在微機系統(tǒng)的在線運行過程中,只能對其進行讀操作,而不能進行寫操作的一類存儲器。ROM通常用來存放固定不變的程序、漢字字型庫、字符及圖形符號等。隨著半導(dǎo)體技術(shù)的發(fā)展,只讀存儲器也出現(xiàn)了不同的種類,如可編程的只讀存儲器PROM(ProgrammableROM),可擦除的可編程的只讀存儲器EPROM(ErasibleProgrammableROM)和EEPROM(ElectricErasibleProgrammableROM)以及掩膜型只讀存儲器MROM(MaskedROM)等,近年來發(fā)展起來的快擦型存儲器(F1ashMemory)具有EEPROM的特點。

只讀存儲器ROM(Read-OnlyMemory)2023/7/156

分為主存儲器(內(nèi)存)、輔助存儲器(外存)、緩沖存儲器等,主存儲器又稱為系統(tǒng)的主存或者內(nèi)存,位于系統(tǒng)主機的內(nèi)部,CPU可以直接對其中的單元進行讀/寫操作;輔存存儲器又稱外存,位于系統(tǒng)主機的外部,CPU對其進行的存/取操作,必須通過內(nèi)存才能進行;緩沖存儲器位于主存與CPU之間,其存取速度非???,但存儲容量更小,可用來解決存取速度與存儲容量之間的矛盾,提高整個系統(tǒng)的運行速度。

另外,還可根據(jù)所存信息是否容易丟失,而把存儲器分成易失性存儲器和非易失性存儲器。如半導(dǎo)體存儲器(DRAM,SRAM),停電后信息會丟失,屬易失性;而磁帶和磁盤等磁表面存儲器,屬非易失性存儲器。(3)按在微機系統(tǒng)中位置分類2023/7/157存儲器分類表如下所示:存儲器主存儲器

隨機存儲器(RAM)

只讀存儲器(ROM)

雙極型半導(dǎo)體存儲器MOS存儲器(靜態(tài)、動態(tài))

可編程只讀存儲器PROM可擦除可編程只讀存儲器EPROM,EEPROM掩膜型只讀存儲器MROM輔助存儲器

磁盤(軟盤、硬盤、盤組)存儲器磁帶存儲器光盤存儲器緩沖存儲器2023/7/158半導(dǎo)體存儲器只讀存儲器(ROM)隨機存取存儲器(RAM)靜態(tài)RAM(SRAM)動態(tài)RAM(DRAM)非易失RAM(NVRAM)掩膜式ROM一次性可編程ROM(PROM)紫外線擦除可編程ROM(EPROM)電擦除可編程ROM(EEPROM)詳細展開,注意對比2023/7/159組成單元速度集成度應(yīng)用SRAM觸發(fā)器快低小容量系統(tǒng)DRAM極間電容慢高大容量系統(tǒng)NVRAM帶微型電池慢低小容量非易失2023/7/1510一般情況下,一個存儲器系統(tǒng)由以下幾部分組成。1.基本存儲單元一個基本存儲單元可以存放一位二進制信息,其內(nèi)部具有兩個穩(wěn)定的且相互對立的狀態(tài),并能夠在外部對其狀態(tài)進行識別和改變。不同類型的基本存儲單元,決定了由其所組成的存儲器件的類型不同。2.存儲體(以圖示講解說明)一個基本存儲單元只能保存一位二進制信息,若要存放M×N個二進制信息,就需要用M×N個基本存儲單元,它們按一定的規(guī)則排列起來,由這些基本存儲單元所構(gòu)成的陣列稱為存儲體或存儲矩陣。4.1.2

存儲器的系統(tǒng)結(jié)構(gòu)2023/7/1511由于存儲器系統(tǒng)是由許多存儲單元構(gòu)成的,每個存儲單元一般存放8位二進制信息,為了加以區(qū)分,我們必須首先為這些存儲單元編號,即分配給這些存儲單元不同的地址。地址譯碼器的作用就是用來接受CPU送來的地址信號并對它進行譯碼,選擇與此地址碼相對應(yīng)的存儲單元,以便對該單元進行讀/寫操作。存儲器地址譯碼有兩種方式,通常稱為單譯碼與雙譯碼。(1)

單譯碼

單譯碼方式又稱字結(jié)構(gòu),適用于小容量存儲器。(2)

雙譯碼

在雙譯碼結(jié)構(gòu)中,將地址譯碼器分成兩部分,即行譯碼器(又叫X譯碼器)和列譯碼器(又叫Y譯碼器)。X譯碼器輸出行地址選擇信號,Y譯碼器輸出列地址選擇信號。行列選擇線交叉處即為所選中的內(nèi)存單元,這種方式的特點是譯碼輸出線較少。3.地址譯碼器2023/7/1512譯碼器A5A4A3A2A1A06301存儲單元64個單元行譯碼A2A1A0710列譯碼A3A4A501764個單元單譯碼雙譯碼單譯碼結(jié)構(gòu)雙譯碼結(jié)構(gòu)雙譯碼可簡化芯片設(shè)計主要采用的譯碼結(jié)構(gòu)3.地址譯碼器(續(xù))2023/7/15134.片選與讀/寫控制電路片選信號用以實現(xiàn)芯片的選擇。對于一個芯片來講,只有當(dāng)片選信號有效時,才能對其進行讀/寫操作。片選信號一般由地址譯碼器的輸出及一些控制信號來形成,而讀/寫控制電路則用來控制對芯片的讀/寫操作。5.I/O電路I/O電路位于系統(tǒng)數(shù)據(jù)總線與被選中的存儲單元之間,用來控制信息的讀出與寫入,必要時,還可包含對I/O信號的驅(qū)動及放大處理功能。4.1.2

存儲器的系統(tǒng)結(jié)構(gòu)2023/7/15144.1.2

存儲器的系統(tǒng)結(jié)構(gòu)6.集電極開路或三態(tài)輸出緩沖器為了擴充存儲器系統(tǒng)的容量,常常需要將幾片RAM芯片的數(shù)據(jù)線并聯(lián)使用或與雙向的數(shù)據(jù)線相連,這就要用到集電極開路或三態(tài)輸出緩沖器。7.其它外圍電路對不同類型的存儲器系統(tǒng),有時,還專門需要一些特殊的外圍電路,如動態(tài)RAM中的預(yù)充電及刷新操作控制電路等,這也是存儲器系統(tǒng)的重要組成部分。2023/7/15154.1.2

存儲器的系統(tǒng)結(jié)構(gòu)2023/7/15164.1.3

選擇存儲器器件的考慮因素1.易失性

易失性是區(qū)分存儲器種類的重要外部特性之一。易失性是指電源斷開之后,存儲器的內(nèi)容是否丟失。如果某種存儲器在斷電之后,仍能保存其中的內(nèi)容,則為非易失性存儲器(外部存儲器、ROM);否則,就叫易失性存儲器(RAM)。2023/7/15174.1.3

選擇存儲器器件的考慮因素2.只讀性

只讀性是區(qū)分存儲器種類的又一個重要特性。如果某個存儲器中寫入數(shù)據(jù)后,只能被讀出,但不能寫入,那么這種存儲器叫只讀存儲器,即ROM(readonlymemory);如果一個存儲器在寫入數(shù)據(jù)后,既可對它進行讀出,又可再對它修改,那么就叫可讀寫存儲器。2023/7/15184.1.3

選擇存儲器器件的考慮因素3.存儲容量

每個芯片中的存儲單元的總數(shù)即存儲容量。存儲容量和芯片集成度有關(guān),也和器件基本單元的工作原理和類型有關(guān)。 內(nèi)存條有8位數(shù)據(jù)寬度的30引線的SIMM(singleinlinememorymodule)、32位數(shù)據(jù)寬度的72引線的SIMM和64位數(shù)據(jù)寬度的168引線DIMM(dualinlinememorymodule)2023/7/15194.1.3

選擇存儲器器件的考慮因素4.速度

存儲器的速度是用存儲器訪問時間來衡量的。訪問時間就是指存儲器接收到穩(wěn)定的地址信號到完成操作的時間。訪問時間的長短決定于許多因素,主要與制造器件的工藝有關(guān)。當(dāng)前,半導(dǎo)體存儲器主要用兩大類工藝,一類是雙極性的TTL技術(shù),一類是金屬氧化物半導(dǎo)體MOS技術(shù),后者又分CMOS和HMOS等技術(shù)2023/7/15204.1.3

選擇存儲器器件的考慮因素4.功耗

在用電池供電的系統(tǒng)中,功耗是非常重要的問題。CMOS能夠很好地滿足低功耗要求。但CMOS能夠很好地滿足低功耗要求。但CMOS器件容量較小,并且速度慢。功耗和速度是成正比的。2023/7/15214.1.4

隨機存取存儲器RAMRAM按其結(jié)構(gòu)和工作原理分為靜態(tài)RAM即SRAM(staticRAM)和動態(tài)RAM即DRAM(dynamicRAM)。SRAM速度快,不需要刷新,但片容量低,功耗大。DRAM片容量高,但需要刷新,否則其中的信息就會丟失。2023/7/15221.SRAM4.1.4

隨機存取存儲器RAMSRAM保存信息的機制是基于雙穩(wěn)態(tài)觸發(fā)器的工作原理,組成雙穩(wěn)態(tài)觸發(fā)器的A、B兩管中,A導(dǎo)通B截止時為1,反之,A截止B導(dǎo)通時為0。其內(nèi)部基本電路中,用2個晶體管構(gòu)成雙穩(wěn)態(tài)觸發(fā)器,2個晶體管作為負載電路,還有2個晶體管用來控制雙穩(wěn)態(tài)觸發(fā)器。

缺點:容量小、功耗大優(yōu)點:不需要刷新,簡化了外部電路2023/7/1523(a)六管靜態(tài)存儲單元的原理示意圖

(b)六管基本存儲電路

2023/7/15242.DRAM(1)DRAM器件DRAM是利用電容存儲電荷的原理來保存信息的,它將晶體管結(jié)電容的充電狀態(tài)和放電狀態(tài)分別作為1和0。DRAM的基本單元電路簡單,最簡單的DRAM單元只需一個管子構(gòu)成,這使DRAM器件的芯片容量很高,而且功耗低。但是由于電容會逐漸放電,所以對DRAM必須不斷進行讀出和再寫入,以使泄放的電荷得到補充,也就是刷新。一次刷新過程實際上就是對存儲器進行一次讀取、放大和再寫入。2023/7/1525動態(tài)RAM基本存儲單元

它由一個MOS管T1和位于其柵極上的分布電容c構(gòu)成。當(dāng)柵極電容C上充有電荷時,表示該存儲單元保存信息“1”。反之,當(dāng)柵極電容上沒有電荷時,表示該單元保存信息“0”。由于柵極電容上的充電與放電是兩個對立的狀態(tài),因此,它可以作為一種基本的存儲單元。2023/7/1526寫操作:字選擇線為高電平,T1管導(dǎo)通,寫信號通過位線存入電容C中讀操作:字選擇線仍為高電平,存儲在電容C上的電荷,通過T1輸出到數(shù)據(jù)線上,通過讀出放大器,即可得到所保存的信息。動態(tài)RAM基本存儲單元刷新:動態(tài)RAM存儲單元實質(zhì)上是依靠T1管柵極電容的充放電原理來保存信息的。時間一長,電容上所保存的電荷就會泄漏,造成了信息的丟失。因此,在動態(tài)RAM的使用過程中,必須及時地向保存“1”的那些存儲單元補充電荷,以維持信息的存在。這一過程,就稱為動態(tài)存儲器的刷新操作2023/7/1527Intel2164A是一種64K×1的動態(tài)RAM存儲器芯片,它的基本存儲單元就是采用單管存儲電路,其它的典型芯片有Ietel21256/21464等。(2)動態(tài)RAM存儲器芯片Intel2164A2023/7/1528Intel2164A的內(nèi)部結(jié)構(gòu)

存儲體:64K×1的存儲體由4個128×128的存儲陣列構(gòu)成;

地址鎖存器:由于Intel2164A采用雙譯碼方式,故其16位地址信息要分兩次送入芯片內(nèi)部。但由于封裝的限制,這16位地址信息必須通過同一組引腳分兩次接收,因此,在芯片內(nèi)部有一個能保存8位地址信息的地址鎖存器;

數(shù)據(jù)輸入緩沖器:用以暫存輸入的數(shù)據(jù);

數(shù)據(jù)輸出緩沖器:用以暫存要輸出的數(shù)據(jù);2023/7/1529

1/4I/O門電路:由行、列地址信號的最高位控制,能從相應(yīng)的4個存儲矩陣中選擇一個進行輸入/輸出操作;

行、列時鐘緩沖器:用以協(xié)調(diào)行、列地址的選通信號;

寫允許時鐘緩沖器:用以控制芯片的數(shù)據(jù)傳送方向;

128讀出放大器:與4個128×128存儲陣列相對應(yīng),共有4個128讀出放大器,它們能接收由行地址選通的4×128個存儲單元的信息,經(jīng)放大后,再寫回原存儲單元,是實現(xiàn)刷新操作的重要部分;

1/128行、列譯碼器:分別用來接收7位的行、列地址,經(jīng)譯碼后,從128×128個存儲單元中選擇一個確定的存儲單元,以便對其進行讀/寫操作。Intel2164A的內(nèi)部結(jié)構(gòu)(續(xù))2023/7/1530Intel2164A的外部結(jié)構(gòu)Intel2164A是具有16個引腳的雙列直插式集成電路芯片,其引腳安排如圖4-6所示。?A0~A7:地址信號的輸入引腳,用來分時接收CPU送來的8位行、列地址;

?RAS

:行地址選通信號輸入引腳,低電平有效,兼作芯片選擇信號。當(dāng)RAS為低電平時,表明芯片當(dāng)前接收的是行地址;

?CAS:列地址選通信號輸入引腳,低電平有效,表明當(dāng)前正在接收的是列地址(此時RAS應(yīng)保持為低電平);?WE

寫允許控制信號輸入引腳,當(dāng)其為低電平時,執(zhí)行寫操作;否則,執(zhí)行讀操作。?DIN:數(shù)據(jù)輸入引腳;

?DOUT:數(shù)據(jù)輸出引腳;

?VDD:十5V電源引腳;

?Css:地;

?N/C:未用引腳。圖4-6Intel2164A引腳2023/7/1531(3)DRAM的刷新和DRAM控制器

刷新的方法有多種,但最常用的是“只有行地址有效”的方法,按照這種方法,刷新時,存儲體的列地址無效,一次選中存儲體中的一行進行刷新。具體執(zhí)行時,每當(dāng)一個行地址信號RAS有效選中某一行時,該行的所有存儲體單元都分別和讀出放大電路接通,在定時時鐘作用下,讀出放大電路分別對該行存儲單元進行一次讀出、放大和重寫,既進行刷新。只要在刷新時限2ms中對DRAM系統(tǒng)進行逐行選中,就可實現(xiàn)全面刷新。2023/7/1532(3)DRAM的刷新和DRAM控制器(續(xù))為了實現(xiàn)刷新,DRAM控制器具有如下功能:①時序功能:DRAM控制器需要按固定的時序提供行地址選通信號RAS,為此,用一個計數(shù)器產(chǎn)生刷新地址,同時用一個刷新定時器產(chǎn)生刷新請求信號,以次啟動一個刷新周期,刷新地址和刷新請求信號聯(lián)合產(chǎn)生行地址選通信號RAS,每刷新一行,又產(chǎn)生下一個行地址選通信號。②地址處理功能:DRAM控制器一方面要在刷新周期中順序提供行地址,以保證在2ms中使所有的DRAM單元都被刷新一次,另一方面,要用一個多路開關(guān)對地址進行切換,因為正常讀寫時,行地址和列地址來自地址總線,刷新時只有來自刷新地址計數(shù)器的行地址而沒有列地址,總線地址則被封鎖。③仲裁功能:當(dāng)來自CPU對內(nèi)存的正常讀寫請求和來自刷新電路的刷新請求同時出現(xiàn)時,仲裁電路要作出仲裁,原則上,CPU的讀寫請求優(yōu)先于刷新請求。內(nèi)部的“讀寫和刷新的仲裁和切換”電路一方面會實現(xiàn)仲裁功能,另一方面完成總線地址和刷新地址之間的切換。2023/7/1533(3)DRAM的刷新和DRAM控制器(續(xù))刷新定時器刷新地址計數(shù)器控制邏輯電路地址譯碼和行/列地址切換地址總線控制總線讀寫地址控制信號讀寫和刷新的仲裁和切換時序發(fā)生器RAS0~RASnCAS0~CASnWE其他信號刷新周期啟動刷新請求刷新地址圖4.2DRAM控制器的原理圖2023/7/15344.1.5只讀存儲器ROM指在微機系統(tǒng)的在線運行過程中,只能對其進行讀操作,而不能進行寫操作的一類存儲器,在不斷發(fā)展變化的過程中,也產(chǎn)生了掩模型ROM、可編程只讀性PROM、可擦出可編程EPROM、EEPROM、閃爍存儲器FLASH等各種不同類型。ROM器件有兩個顯著的優(yōu)點:結(jié)構(gòu)簡單,所以位密度比可讀寫存儲器高。具有非易失性,所以可靠性高。2023/7/1535。如圖4-11所示,是一個簡單的4×4位的MOSROM存儲陣列,采用單譯碼方式。這時,有兩位地址輸入,經(jīng)譯碼后,輸出四條字選擇線,每條字選擇線選中一個字,此時位線的輸出即為這個字的每一位。此時,若有管子與其相連(如位線1和位線4),則相應(yīng)的MOS管就導(dǎo)通,這些位線的輸出就是低電表平,表示邏輯“0”;而沒有管子與其相連的位線(如位線2和位線3),則輸出就是高電平,表示邏輯“1”。一、掩膜型ROM

掩膜型ROM中的信息是廠家根據(jù)用戶給定的程序或數(shù)據(jù)對芯片掩膜進行二次光刻而決定的。根據(jù)制造技術(shù),掩膜型ROM又可分為MOS型和雙極性兩種。MOS型功耗小,但速度比較慢,微型機系統(tǒng)中用的ROM主要是這種類型。雙極性速度比MOS型快,但功耗大,只用在速度較高的系統(tǒng)中。圖4-11簡單的4×4位的MOSROM存儲陣列2023/7/1536

掩膜ROM的存儲單元在生產(chǎn)完成之后,其所保存的信息就已經(jīng)固定下來了,這給使用者帶來了不便。為了解決這個矛盾,設(shè)計制造了一種可由用戶通過簡易設(shè)備寫入信息的ROM器件,即可編程的ROM,又稱為PROM。PROM的類型有多種,我們以二極管破壞型PROM為例來說明其存儲原理。這種PROM存儲器在出廠時,存儲體中每條字線和位線的交叉處都是兩個反向串聯(lián)的二極管的PN結(jié),字線與位線之間不導(dǎo)通,此時,意味著該存儲器中所有的存儲內(nèi)容均為“1”。如果用戶需要寫入程序,則要通過專門的PROM寫入電路,產(chǎn)生足夠大的電流把要寫入“1”的那個存儲位上的二極管擊穿,造成這個PN結(jié)短路,只剩下順向的二極管跨連字線和位線,這時,此位就意味著寫入了“1”。讀出的操作同掩模ROM。

二、可編程的ROM(PROM)2023/7/1537二、可編程的ROM(PROM)(續(xù))除此之外,還有一種熔絲式PROM,用戶編程時,靠專用寫入電路產(chǎn)生脈沖電流,來燒斷指定的熔絲,以達到寫入“1”的目的。對PROM來講,這個寫入的過程稱之為固化程序。由于擊穿的二極管不能再正常工作,燒斷后的熔絲不能再接上,所以這種ROM器件只能固化一次程序,數(shù)據(jù)寫入后,就不能再改變了。2023/7/1538與普通的P溝道增強型MOS電路相似,這種EPROM電路在N型的基片上擴展了兩個高濃度的P型區(qū),分別引出源極(S)和漏極(D),在源極與漏極之間有一個由多晶硅做成的柵極,但它是浮空的,被絕緣物SiO2所包圍。在芯片制作完成時,每個單元的浮動?xùn)艠O上都沒有電荷,所以管子內(nèi)沒有導(dǎo)電溝道,源極與漏極之間不導(dǎo)電,其相應(yīng)的等效電路如圖4-12(b)所示,此時表示該存儲單元保存的信息為“1”??刹脸删幊痰腞OM又稱為EPROM。它的基本存儲單元的結(jié)構(gòu)和工作原理如圖4-12所示。三、可擦除、可編程的ROM(EPROM)1.基本存儲電路

圖4-12P溝道EPROM結(jié)構(gòu)示意圖2023/7/1539向該單元寫入信息“0”:在漏極和源極(即S)之間加上十25v的電壓,同時加上編程脈沖信號(寬度約為50ns),所選中的單元在這個電壓的作用下,漏極與源極之間被瞬時擊穿,就會有電子通過SiO2絕緣層注入到浮動?xùn)拧T诟邏弘娫慈コ?,因為浮動?xùn)疟籗iO2絕緣層包圍,所以注入的電子無泄漏通道,浮動?xùn)艦樨?,就形成了?dǎo)電溝道,從而使相應(yīng)單元導(dǎo)通,此時說明將0寫入該單元。清除存儲單元中所保存的信息:必須用一定波長的紫外光照射浮動?xùn)?,使負電荷獲取足夠的能量,擺脫SiO2的包圍,以光電流的形式釋放掉,這時,原來存儲的信息也就不存在了。由這種存儲單元所構(gòu)成的ROM存儲器芯片,在其上方有一個石英玻璃的窗口,紫外線正是通過這個窗口來照射其內(nèi)部電路而擦除信息的,一般擦除信息需用紫外線照射l5~20分鐘。1.基本存儲電路(續(xù))

2023/7/1540Intel2716是一種2K×8的EPROM存儲器芯片,雙列直插式封裝,24個引腳,其最基本的存儲單元,就是采用如上所述的帶有浮動?xùn)诺腗OS管,其它的典型芯片有Ietel2732/27128/27512等。芯片的內(nèi)部結(jié)構(gòu)Intel2716存儲器芯片的內(nèi)部結(jié)構(gòu)框圖如圖所示,其主要組成部分包括:2.EPROM芯片Intel2716(a)引腳分配圖(b)內(nèi)部結(jié)構(gòu)框圖?存儲陣列:Intel2716存儲器芯片的存儲陣列由2K×8個帶有浮動?xùn)诺腗OS管構(gòu)成,共可保存2K×8位二進制信息;?X譯碼器:又稱為行譯碼器,可對7位行地址進行譯碼;?Y譯碼器:又稱為列譯碼器,可對4位列地址進行譯碼;?輸出允許、片選和編程邏輯:實現(xiàn)片選及控制信息的讀/寫;?數(shù)據(jù)輸出緩沖器:實現(xiàn)對輸出數(shù)據(jù)的緩沖。圖4-132023/7/1541Intel2716具有24個引腳,其引腳分配如圖4-13(a)所示,各引腳的功能如下:?

Al0~A0:地址信號輸入引腳,可尋址芯片的2K個存儲單元;?

O7~O0:

雙向數(shù)據(jù)信號輸入輸出引腳;?

CE:片選信號輸入引腳,低電平有效,只有當(dāng)該引腳轉(zhuǎn)入低電平時,才能對相應(yīng)的芯片進行操作;?

OE:數(shù)據(jù)輸出允許控制信號引腳,輸入,低電平有效,用以允許數(shù)據(jù)輸出;?

Vcc:+5v電源,用于在線的讀操作;?

VPP:+25v電源,用于在專用裝置上進行寫操作;?

GND:地。(2)

芯片的外部結(jié)構(gòu):2023/7/15423.EPROM芯片Intel2764A12~A0D7~D0PGMCEVppVcc2764引腳含義A12~A0地址輸入D7~D0數(shù)據(jù)CE片選PGM編程Vpp、Vcc電壓輸入2023/7/1543EPROM在初始狀態(tài)下,所有的數(shù)位均為“1”,寫入時,只能將“1”改變?yōu)椤?”,用紫外線光源抹除時,才能將“0”變?yōu)椤?”。

EPROM通常有幾種工作方式,既讀方式、編程方式和校驗方式。

讀方式就是對已經(jīng)寫入數(shù)據(jù)的EPROM進行讀取,這和一般存儲器的讀操作一樣,Vpp和Vcc接5V電壓,當(dāng)片選信號CE和地址信號有效時,即可實現(xiàn)讀操作。

編程方式就是對EPROM進行寫操作,此時,Vcc仍加5V電壓,Vpp引腳按廠家要求加上21~25V的電壓,CE為高電平,從A12~A0端輸入要編程的單元的地址,在D7~D0端輸入數(shù)據(jù),這時,再在PGM端加上5V編程脈沖,便可進行編程。

校驗方式總是與編程方式配合使用的,以便在每次寫入1個數(shù)據(jù)字節(jié)后,緊接著將寫入的數(shù)據(jù)讀出,去檢查寫入的信息是否正確。在校驗方式下,Vpp和Vcc與編程方式時候的接法一樣,CE端為低電平,編程脈沖端也是低電平。2023/7/1544四、電可擦除可編程序的ROM(ElectronicErasibleProgrammableROM)EPROM盡管可以擦除后重新編程,但擦除時需用紫外線光源,使用起來仍然不太方便。現(xiàn)在常用一種可用電擦除的可編程的ROM,簡稱為E2PROM。

E2PROM通常有4種工作方式,即讀方式、寫方式、字節(jié)擦除方式和整體擦除方式。

讀方式是E2PROM最常用的工作方式,如同對普通ROM的操作,用來讀取其中的信息;寫方式,對E2PROM進行編程;字節(jié)擦除方式下,可以擦除某個指定的字節(jié);整體擦除方式下,使整片E2PROM中的內(nèi)容全部擦除。2023/7/1545五、快擦型存儲器(F1ashMemory)

快擦型存儲器又稱閃爍存儲器,它是不用電池供電的、高速耐用的非易失性半導(dǎo)體存儲器,它以性能好、功耗低、體積小、重量輕等特點活躍于便攜機(膝上型、筆記本型等)存儲器市場,但價格較貴。快擦型存儲器具有EEPROM的特點,又可在計算機內(nèi)進行擦除和編程,它的讀取時間與DRAM相似,而寫時間與磁盤驅(qū)動器相當(dāng)。快擦型存儲器有5V或12V兩種供電方式。對于便攜機來講,用5V電源更為合適。快擦型存儲器操作簡便,編程、擦除、校驗等工作均已編成程序,可由配有快擦型存儲器系統(tǒng)的中央處理機予以控制。快擦型存儲器可替代EEPROM,在某些應(yīng)用場合還可取代SRAM,尤其是對于需要配備電池后援的SRAM系統(tǒng),使用快擦型存儲器后可省去電池??觳列痛鎯ζ鞯姆且资院涂焖僮x取的特點,能滿足固態(tài)盤驅(qū)動器的要求,同時,可替代便攜機中的ROM,以便隨時寫入最新版本的操作系統(tǒng)??觳列痛鎯ζ鬟€可應(yīng)用于激光打印機、條形碼閱讀器、各種儀器設(shè)備以及計算機的外部設(shè)備中。典型的芯片有27F256/28F016/28F020等。2023/7/1546習(xí)題與思考:1.試說明存儲器系統(tǒng)的主要性能指標(biāo)。2.存儲器的哪一部分用來存儲程序指令及像常數(shù)和查找表一類的固定不變的信息?哪一部分用來存儲經(jīng)常改變的數(shù)據(jù)?3.術(shù)語“非易失性存儲器”是什么意思?PROM和EPROM分別代表什么意思?4.微型計算機中常用的存儲器有哪些類型?它們各有何特點?分別適用于哪些場合?5.試比較靜態(tài)RAM和動態(tài)RAM的優(yōu)缺點,并說明有何種方法可解決掉電時動態(tài)RAM6.計算機的電源掉電后再接電時(系統(tǒng)中無掉電保護裝置),存儲在各類存儲器中的信息是否仍能保存?試從各類存儲器的基本原理上來分析說明。7.“ROM是只讀存儲器”這種說法正確嗎?正確的說法應(yīng)該怎樣?8.試從ROM器件的發(fā)展過程,說明讀、寫之間的辯證關(guān)系。2023/7/15474.1.6

存儲器在系統(tǒng)中的連接考慮和使用舉例1.存儲器和CPU的連接考慮存儲器和CPU之間通過地址線、數(shù)據(jù)線和控制線實現(xiàn)連接時,要考慮如下幾個問題。(1)高速CPU和較低速度存儲器之間的速度匹配問題。(2)CPU總線的負載能力問題。(3)片選信號和行地址、列地址的產(chǎn)生機制。2023/7/15482.SRAM的使用舉例BAOET芯片允許信號邏輯電路地址譯碼器BAOET寫脈沖發(fā)生器延遲MRDCMWTCD7~D0D7~D0A19~A14A12A13A11~A0D7~D0WECECE0CE1CE2CE3A11~A0模塊選擇讀寫控制8286(2片)82864KX8b靜態(tài)RAM2023/7/15493.DRAM和DRAM控制器的使用舉例2023/7/15501.什么是傳統(tǒng)機械按鍵設(shè)計?傳統(tǒng)的機械按鍵設(shè)計是需要手動按壓按鍵觸動PCBA上的開關(guān)按鍵來實現(xiàn)功能的一種設(shè)計方式。傳統(tǒng)機械按鍵設(shè)計要點:1.合理的選擇按鍵的類型,盡量選擇平頭類的按鍵,以防按鍵下陷。2.開關(guān)按鍵和塑膠按鍵設(shè)計間隙建議留0.05~0.1mm,以防按鍵死鍵。3.要考慮成型工藝,合理計算累積公差,以防按鍵手感不良。傳統(tǒng)機械按鍵結(jié)構(gòu)層圖:按鍵開關(guān)鍵PCBA2023/7/15522023/7/15534.2微型機系統(tǒng)中存儲器的體系結(jié)構(gòu)4.2.1層次化的存儲器體系結(jié)構(gòu)

微型計算機系統(tǒng)中,整個存儲器體系采用層次化結(jié)構(gòu)。這種層次化結(jié)構(gòu)不但出現(xiàn)在存儲器總體結(jié)構(gòu)中,也出現(xiàn)在內(nèi)存結(jié)構(gòu)中。2023/7/15541.層次化總體結(jié)構(gòu)

層次化:把各種速度不同、容量不同、存儲技術(shù)也可能不同的存儲設(shè)備分為幾層,通過硬件和管理軟件組成一個既有足夠大的空間又能保證滿足CPU存取速度要求而且價格適中的整體。這樣的存儲器具有最好的性能價格比。2023/7/15551.層次化總體結(jié)構(gòu)分層結(jié)構(gòu)思想:用Cache、內(nèi)存和輔存來構(gòu)成層次式的存儲器,按使用頻度將數(shù)據(jù)分為不同的檔次分放在不同的存儲器中,不同層次的存儲器之間可以互相傳輸。2023/7/15561.層次化總體結(jié)構(gòu)Cache是速度最快的存儲器,是靜態(tài)RAM類型,存取速度和CPU的速度相匹配,但價格也較高,且容量較小。CPU運行過程中,自動將當(dāng)前要運行的指令和數(shù)據(jù)裝入Cache。Cache的內(nèi)容是不斷更新的,CPU所需要的信息都可以在Cache中找到,只有較少數(shù)情況下,CPU需通過訪問DRAM來獲得當(dāng)前所要的信息。2023/7/15571.層次化總體結(jié)構(gòu)

內(nèi)存由DRAM構(gòu)成,速度比Cache慢,但容量較大。

輔助存儲器即外存(如軟盤、硬盤和光盤),速度比內(nèi)存慢得多,但容量比內(nèi)存大得多。

為了使Cache、內(nèi)存和輔存構(gòu)成協(xié)調(diào)工作的存儲體系,采用虛擬存儲技術(shù)來實現(xiàn)內(nèi)存和輔存之間的映射,采用高速緩沖技術(shù)來實現(xiàn)Cache和內(nèi)存之間的映射。2023/7/1558圖4.7存儲器的層次化總體結(jié)構(gòu)CPU寄存器組Cache片內(nèi)片外內(nèi)部存儲器(DRAMSRAM)輔助存儲器(軟盤硬盤光盤)CPU芯片中主機系統(tǒng)中外部設(shè)備2023/7/15592.內(nèi)存的分區(qū)結(jié)構(gòu)基本內(nèi)存區(qū)00000HA0000H100000HFFFFFH高端內(nèi)存區(qū)640KB擴充內(nèi)存區(qū)384KB擴展內(nèi)存區(qū)2023/7/15602.內(nèi)存的分區(qū)結(jié)構(gòu)(1)基本內(nèi)存區(qū)基本內(nèi)存區(qū)主要供DOS操作系統(tǒng)使用,其中容納了DOS操作系統(tǒng)、DOS運行需要的系統(tǒng)數(shù)據(jù)、驅(qū)動程序以及中斷向量表等?;緝?nèi)存區(qū)為640K,從00000H9FFFFH。用戶程序驅(qū)動程序DOS系統(tǒng)區(qū)DOS數(shù)據(jù)區(qū)中斷向量區(qū)00000H9FFFFH2023/7/15612.內(nèi)存的分區(qū)結(jié)構(gòu)(2)高端內(nèi)存區(qū)高端內(nèi)存區(qū)留給系統(tǒng)ROM和外部設(shè)備的適配卡緩沖區(qū)使用。大小為384KB,地址范圍為A0000HFFFFFH。A0000HBFFFFH共128KB為顯示存儲區(qū),對應(yīng)顯示適配器上的VRAM,用來存放顯示信息;C0000HDFFFFH共128KB為I/O卡保留區(qū),用作顯卡擴展驅(qū)動ROM、網(wǎng)卡緩沖區(qū)、硬盤控制器緩沖區(qū)等;E0000HEFFFFH共64KB為保留區(qū);F0000HFFFFFH共64KB為系統(tǒng)ROMBIOS。2023/7/15622.內(nèi)存的分區(qū)結(jié)構(gòu)(3)擴充內(nèi)存區(qū)利用內(nèi)存擴充卡來擴大內(nèi)存空間,現(xiàn)已不使用。(4)擴展內(nèi)存區(qū)指1MB以上但不是通過內(nèi)存擴充卡映射來獲得的內(nèi)存空間。從100000H開始,32位地址線的可達4GB,36位地址線高達64GB。2023/7/15634.3高速緩沖技術(shù)4.3.1Cache概述一、問題的提出微機系統(tǒng)中的內(nèi)部存儲器通常采用動態(tài)RAM構(gòu)成,具有價格低,容量大的特點,但由于動態(tài)RAM采用MOS管電容的充放電原理來表示與存儲信息,其存取速度相對于CPU的信息處理速度來說較低。這就導(dǎo)致了兩者速度的不匹配,也就是說,慢速的存儲器限制了高速CPU的性能,影響了微機系統(tǒng)的運行速度,并限制了計算機性能的進一步發(fā)揮和提高。高速緩沖存儲器就是在這種情況下產(chǎn)生的。2023/7/1564二、存儲器訪問的局部性微機系統(tǒng)進行信息處理的過程就是執(zhí)行程序的過程,這時,CPU需要頻繁地與內(nèi)存進行數(shù)據(jù)交換,包括取指令代碼及數(shù)據(jù)的讀寫操作。通過對大量典型程序的運行情況分析結(jié)果表明,在一個較短的時間內(nèi),取指令代碼的操作往往集中在存儲器邏輯地址空間的很小范圍內(nèi)(因為在多數(shù)情況下,指令是順序執(zhí)行的,因此指令代碼地址的分布就是連續(xù)的,再加上循環(huán)程序段和子程序段都需要重復(fù)執(zhí)行多次,因此對這些局部存儲單元的訪問就自然具有時間上集中分布的傾向);數(shù)據(jù)讀寫操作的這種集中性傾向雖不如取指令代碼那么明顯,但對數(shù)組的存儲和訪問以及工作單元的選擇也可以使存儲器單元相對集中。這種對局部范圍的存儲器單元的防問比較頻繁,而對此范圍以外的存儲單元訪問相對甚少的現(xiàn)象,稱為程序訪問的局部性。4.3.1Cache概述2023/7/1565三、Cache-主存存儲結(jié)構(gòu)及其實現(xiàn)為了解決存儲器系統(tǒng)的容量、存取速度及單位成本之間的矛盾,可以采用Cache-主存存儲結(jié)構(gòu),即在主存和CPU之間設(shè)置高速緩沖存儲器Cache,把正在執(zhí)行的指令代碼單元附近的一部分指令代碼或數(shù)據(jù)從主存裝入Cache中,供CPU在一段時間內(nèi)使用,由于存儲器訪問的局部性,在一定容量Cache的條件下,我們可以做到使CPU大部分取指令代碼及進行數(shù)據(jù)讀寫的操作都只要通過訪問Cache,而不是訪問主存而實現(xiàn)。4.3.1Cache概述2023/7/1566優(yōu)點:

Cache的讀寫速度幾乎能夠與CPU進行匹配,所以微機系統(tǒng)的存取速度可以大大提高;Cache的容量相對主存來說并不是太大,所以整個存儲器系統(tǒng)的成本并沒有上升很多。采用了Cache-主存存儲結(jié)構(gòu)以后,整個存儲器系統(tǒng)的容量及單位成本能夠主存相當(dāng),而存取速度可以與Cache的讀寫速度相當(dāng),這就很好地解決了存儲器系統(tǒng)的上述三個方面性能之間的矛盾。4.3.1Cache概述2023/7/1567圖4.14Cache系統(tǒng)的框圖CPU高速緩存(Cache)高速緩存控制器主存DRAM高速緩存系統(tǒng)2023/7/1568三、Cache-主存存儲結(jié)構(gòu)及其實現(xiàn)一個Cache系統(tǒng)包含三個部分:Cache模塊,既CPU和較慢速主存之間的SRAM;主存,即較慢速DRAM;Cache控制器,用來對Cache系統(tǒng)進行控制。2023/7/1569圖4.15Cache存儲系統(tǒng)基本結(jié)構(gòu)

2023/7/1570

在主存—Cache存儲體系中,所有的程序代碼和數(shù)據(jù)仍然都存放在主存中,Cache存儲器只是在系統(tǒng)運行過程中,動態(tài)地存放了主存中的一部分程序塊和數(shù)據(jù)塊的副本,這是一種以塊為單位的存儲方式。塊的大小稱為“塊長”,塊長一般取一個主存周期所能調(diào)出的信息長度。三、Cache-主存存儲結(jié)構(gòu)及其實現(xiàn)2023/7/1571Cache控制器(見圖),Cache控制器將來自CPU的數(shù)據(jù)讀寫請求,轉(zhuǎn)向Cache存儲器,如果數(shù)據(jù)在Cache中,則CPU對Cache進行讀寫操作,稱為一次命中。命中時,CPU從Cache中讀(寫)數(shù)據(jù)。由于Cache速度與CPU速度相匹配,因此不需要插入等待狀態(tài),故CPU處于零等待狀態(tài),也就是說也就是說CPU與Cache達到了同步,因此,有時稱高速緩存為同步Cache;若數(shù)據(jù)不在Cache中,則CPU對主存操作,稱為一次失敗。失敗時,CPU必須在其總線周期中插入等待周期TW。三、Cache-主存存儲結(jié)構(gòu)及其實現(xiàn)2023/7/1572命中率指CPU所要訪問的信息在Cache中的比率,相應(yīng)地將所要訪問的信息不在Cache中的比率稱為失效率。Cache的命中率除了與Cache的容量有關(guān)外,還與Cache的控制算法和Cache的組織方式有關(guān)。

目前,Cache存儲器容量主要有256KB和512KB等。這些大容量的Cache存儲器,使CPU訪問Cache的命中率高達90%至99%,大大提高了CPU訪問數(shù)據(jù)的速度,提高了系統(tǒng)的性能。四、Cache-主存存儲結(jié)構(gòu)的命中率2023/7/1573CPU內(nèi)部的Cache與主機板上的Cache就形成兩級Cache結(jié)構(gòu)。CPU工作時,首先在第一級Cache(微處理器內(nèi)的Cache)中查找數(shù)據(jù),如果找不到,則在第二級Cache(主機板上的Cache)中查找,若數(shù)據(jù)在第二級Cache中,Cache控制器在傳輸數(shù)據(jù)的同時,修改第一級Cache;如果數(shù)據(jù)既不在第一級Cache也不在第二級Cache中,Cache控制器則從主存中獲取數(shù)據(jù),同時將數(shù)據(jù)提供給CPU并修改兩級Cache。兩級Cache結(jié)構(gòu),提高了命中率,加快了處理速度,使CPU對Cache的操作命中率高達98%以上。如圖所示給出了主板上Cache存儲器系統(tǒng)的基本結(jié)構(gòu)。五、兩級Cache-主存存儲結(jié)構(gòu)2023/7/15741.讀操作當(dāng)CPU發(fā)出讀操作命令時,要根據(jù)它產(chǎn)生的主存地址分兩種情形:一種是需要的數(shù)據(jù)已在Cache存儲器中,那么只需直接訪問Cache存儲器,從對應(yīng)單元中讀取信息到數(shù)據(jù)總線;另一種是所需要的數(shù)據(jù)尚未裝入Cache存儲器,CPU在從主存讀取信息的同時,由Cache替換部件把該地址所在的那塊存儲內(nèi)容從主存拷貝到Cache中。Cache存儲器中保存的字塊是主存相應(yīng)字塊的副本。2.寫操作當(dāng)CPU發(fā)出寫操作命令時,也要根據(jù)它產(chǎn)生的主存地址分兩種情形:

其一,命中時,不但要把新的內(nèi)容寫入Cache存儲器中,必須同時寫入主存,使主存和Cache內(nèi)容同時修改,保證主存和副本內(nèi)容一致,這種方法稱寫直達法或稱通過式寫(Write-through,簡稱通寫法)。其二,未命中時,許多微機系統(tǒng)只向主存寫入信息,而不必同時把這個地址單元所在的主存中的整塊內(nèi)容調(diào)入Cache存儲器。六、Cache的基本操作2023/7/15754.3.2Cache的組織方式

我們知道,主存與Cache之間的信息交換,是以數(shù)據(jù)塊的形式來進行的,為了把信息從主存調(diào)入Cache,必須應(yīng)用某種函數(shù)把主存塊映象到Cache塊,稱作地址映象。當(dāng)信息按這種映象關(guān)系裝入Cache后,系統(tǒng)在執(zhí)行程序時,應(yīng)將主存地址變換為Cache地址,這個變換過程叫做地址變換(由于Cache的存儲空間較小,因此,Cache中的一個存儲塊要與主存中的若干個存儲塊相對應(yīng),即若干個主存塊將映象到同一個Cache塊)。根據(jù)不同的地址對應(yīng)方法,地址映象的方式通常有直接映象、全相聯(lián)映象和組相聯(lián)映象三種。2023/7/1576

每個主存塊映象到Cache中的一個指定塊的方式稱為直接映象。在直接映象方式下,主存中某一特定存儲塊只可調(diào)入Cache中的一個指定位置,如果主存中另一個存儲塊也要調(diào)入該位置,則將發(fā)生沖突。1.直接映象2023/7/15771.直接映象(續(xù))地址映象的方法:將主存塊地址對Cache的塊號取模,即可得到Cache中的塊地址,這相當(dāng)于將主存的空間按Cache的大小進行分區(qū),每區(qū)內(nèi)相同的塊號映象到Cache中相同的塊的位置。一般來說,如果Cache被分成2N塊,主存被分成同樣大小的2M塊,

則主存與Cache中塊的對應(yīng)關(guān)系如圖所示。2023/7/1578直接映象函數(shù)可定義為:j=imod2N

其中j是Cache中的塊號;i是主存中的塊號。在這種映象方式中,主存的第0塊,第2N塊,第2N+l塊,…,只能映象到Cache的第0塊,而主存的第1塊,第2N十l塊,第2N+1十1塊,…,只能映象到Cache的第1塊,依次類推。例如,一個Cache的大小為2K字,每個塊為16字,這樣Cache中共有128個塊。假設(shè)主存的容量是256K字,則共有16384個塊。主存的地址碼將有18位。在直接映象方式下,主存中的第1~128塊映象到Cache中的第1~128塊,第129塊則映象到Cache中的第1塊,第130塊映象到Cache中的第2塊,依次類推。直接映象函數(shù)的優(yōu)點是實現(xiàn)簡單,缺點是不夠靈活,尤其是當(dāng)程序往返訪問兩個相互沖突的塊中的數(shù)據(jù)時,Cache的命中率將急劇下降。1.直接映象(續(xù))2023/7/1579

如圖所示,它允許主存中的每一個字塊映象到Cache存儲器的任何一個字塊位置上,也允許從確實已被占滿的Cache存儲器中替換出任何一個舊字塊當(dāng)訪問一個塊中的數(shù)據(jù)時,塊地址要與Cache塊表中的所有地址標(biāo)記進行比較以確定是否命中。在數(shù)據(jù)塊調(diào)入時,存在著一個比較復(fù)雜的替換策略問題,即決定將數(shù)據(jù)塊調(diào)入Cache中什么位置,將Cache中哪一塊數(shù)據(jù)調(diào)出到主存。全相聯(lián)方法塊沖突的概率低,Cache的利用率高,是一種最理想的解決方案,但全相聯(lián)Cache中塊表查找的速度慢,由于Cache的速度要求高,因此全部比較和替換策略都要用硬件實現(xiàn),控制復(fù)雜,實現(xiàn)起來也比較困難。2.全相聯(lián)映象2023/7/1580

組相聯(lián)映象方式是全相聯(lián)映象和直接映象的一種折衷方案。這種方法將存儲空間分成若干組,各組之間是直接映象,而組內(nèi)各塊之間則是全相聯(lián)映象。如圖所示,在組相聯(lián)映象方式下,主存中存儲塊的數(shù)據(jù)可調(diào)入Cache中一個指定組內(nèi)的任意塊中。它是上述兩種映象方式的一般形式,如果組的大小為1時就變成了直接映象;如果組的大小為整個Cache的大小時就變成了全相聯(lián)映象。3.組相聯(lián)映象2023/7/1581例如,把Cache子塊分成2C組,每組包含2R個字塊,那么,主存字塊MM(i)(0≤i≤2M-1)可以用下列映象函數(shù)映象到Cache字塊MN(j)(0≤j≤2N-1)上:j=(imod2C)×2R十k(0≤k≤2R-1)例如,設(shè)C=3位,R=1位,考慮主存字塊15可映象到Cache的哪一個字塊中。根據(jù)公式,可得:j=(imod2C)×2R十k

=(15mod23)×21十k

=7×2十k

=14十k

又:0≤k≤2R-1=21-1=1

即:k=0或1代入得j=14(k=0)或15(k=1)。所以主存模塊15可映象到Cache字塊14或15,在第7組。同樣可計算出主存字塊17可映象到Cache的第0塊或第1塊,在第1組。組相聯(lián)映象方法在判斷塊命中以及替換算法上都要比全相聯(lián)映象方法簡單,塊沖突的概率比直接映象方法的低,其命中率介于直接映象和全相聯(lián)映象方法之間。3.組相聯(lián)映象(續(xù))2023/7/1582

主存與Cache之間的信息交換,是以存儲塊的形式來進行的,主存的塊長與Cache的塊長相同,但由于Cache的存儲空間較小,主存的存儲空間較大,因此,Cache中的一個存儲塊要與主存中的若干個存儲塊相對應(yīng),若在調(diào)入主存中一個存儲塊時,Cache中相應(yīng)的位置已被其它存儲塊占有,則必須去掉—個舊的字塊,讓位于一個新的字塊。這稱為替換策略或替換算法。常用的兩種替換策略是:先進先出(FIFO)策略和近期最少使用(LRU)策略。4.替換策略2023/7/1583FIFO(FirstInFirstOut)策略總是把一組中最先調(diào)入Cache存儲器的字塊替換出去,它不需要隨時記錄各個字塊的使用情況,所以實現(xiàn)容易,開銷小。(1)先進先出(FIFO)策略2023/7/1584LRU(LeastRecentlyUsed)策略是把一組中近期最少使用的字塊替換出去,這種替換策略需隨時記錄Cache存儲器中各個字塊的使用情況,以便確定哪個字塊是近期最少使用的字塊。LRU替換策略的平均命中率比FIFO要高,并且當(dāng)分組容量加大時,能提高該替換策略的命中率。

(2)近期最少使用(LRU)策略2023/7/1585(2)近期最少使用(LRU)策略(續(xù))LRU實現(xiàn)方法是:把組中各塊的使用情況記錄在一張表上(如圖所示),并把最近使用過的塊放在表的最上面,設(shè)組內(nèi)有8個信息塊,其地址編號為0,1,…,7。當(dāng)要求替換時,首先更新7號信息塊的內(nèi)容;如要訪問7號信息塊,則將7寫到表的頂部,其它號向下順移。接著訪問5號信息塊,如果此時命中,不需要替換,也要將5移到表的頂部,其它號向下順移。6號數(shù)據(jù)塊是以后要首先被替換的,……。

2023/7/1586LRU策略的另一種實現(xiàn)方法是:對Cache存儲器中的每一個字塊都附設(shè)一個計數(shù)器,記錄其被使用的情況。每當(dāng)Cache中的一塊信息被命中時,比命中塊計數(shù)值低的信息塊的計數(shù)器均加1,而命中塊的計數(shù)器則清0。顯然,采用這種計數(shù)方法,各信息塊的計數(shù)值總是不相同的。一旦不命中的情況發(fā)生時,新信息塊就要從主存調(diào)入Cache存儲器,以替換計數(shù)值最大的那片存儲區(qū)。這時,新信息塊的計數(shù)值為0,而其余信息塊的計數(shù)值均加1,從而保證了那些活躍的信息塊(即經(jīng)常被命中或最近被命中的信息塊)的計數(shù)值要小,而近來越不活躍的信息塊的計數(shù)值越大。這樣,系統(tǒng)就可以根據(jù)信息塊的計數(shù)值來決定先替換誰。(2)近期最少使用(LRU)策略(續(xù))2023/7/15874.3.3Cache的數(shù)據(jù)更新方法為了保持主存和Cache的數(shù)據(jù)一致性,有如下三個解決方法。(1)通寫式(writethrough)

每當(dāng)CPU把數(shù)據(jù)寫到Cache中時,Cache控制器會立即把數(shù)據(jù)寫入主存對應(yīng)位置。優(yōu)點是簡單,缺點是每次Cache內(nèi)容有更新,就有對主存的寫入操作,這樣,造成總線活動頻繁,系統(tǒng)速度較慢。2023/7/15884.3.3Cache的數(shù)據(jù)更新方法(續(xù))(2)緩沖通寫式(bufferedwritethrough)

這種方式是在主存和Cache之間加一個緩沖器,每當(dāng)Cache中作數(shù)據(jù)更新時,也對主存作更新,但是,要寫入主存的數(shù)據(jù)先存在緩沖器中,在CPU進入下一個操作時,緩沖器中的數(shù)據(jù)寫入主存,這樣,避免了通寫式速度較低的缺點。不過用此方式,緩沖器只能保持一次寫入數(shù)據(jù),如果有兩次連續(xù)的寫操作,CPU還是要等待。2023/7/15894.3.3Cache的數(shù)據(jù)更新方法(續(xù))(3)寫回式(writeback)

用這種方式時,Cache每一個區(qū)塊的標(biāo)記中都要設(shè)置一個更新位,CPU對Cache中的一個區(qū)塊寫入后,其更新位置1。當(dāng)Cache中的區(qū)塊要被新的主存區(qū)塊替換時,如更新位為1,則Cache控制器先把Cache現(xiàn)有內(nèi)容寫入主存相應(yīng)位置,并把更新位清0,再作替換。2023/7/15904.3.4PIII中采用的Cache技術(shù)在本節(jié)的開頭曾提到,為了提高CPU訪問存儲器的速度,在486和Pentium機中都設(shè)計了一定容量的數(shù)據(jù)Cache和指令Cache(L1),并且還可以使用處理器外部的第二級Cache(L2)。PentiumPro在片內(nèi)第一級Cache的設(shè)計方案中,也分別設(shè)置了指令Cache與數(shù)據(jù)Cache。指令Cache的容量為8kB,采用2路組相聯(lián)映像方式。數(shù)據(jù)Cache的容量也為8kB,但采用4路組相聯(lián)映像方式。它采用了內(nèi)嵌式或稱捆綁式L2Cache,大小為256kB或512kB。此時的L2已經(jīng)用線路直接連到CPU上,益處之一就是減少了對急劇增多L1Cache的需求。L2Cache還能與CPU同步運行,即當(dāng)L1Cache不命中時,立刻訪問L2Cache,不產(chǎn)生附加延遲。2023/7/15914.3.4PIII中采用的Cache技術(shù)(續(xù))PentiumII是PentiumPro的改進型,同樣有2級Cache,L1為32kB(指令和數(shù)據(jù)Cache各16kB)是PentiumPro的兩倍,L2為512kB。PentiumII與PentiumPro在L2Cache的不同是由于制作成本的原因。此時,L2Cache已不在內(nèi)嵌芯片上,而是與CPU通過專用64位高速緩存總線相聯(lián),與其它元器件共同被組裝在同一基板上,即“單邊接觸盒”上。2023/7/1592PentiumIII也是基于PentiumPro結(jié)構(gòu)為核心,它具有32kB非鎖定L1Cache和512kB非鎖定L2Cache。L2可擴充到1~2MB,具有更合理的內(nèi)存管理,可以有效地對大于L2緩存的數(shù)據(jù)塊進行處理,使CPU、Cache和主存存取更趨合理,提高了系統(tǒng)整體性能。在執(zhí)行視頻回放和訪問大型數(shù)據(jù)庫時,高效率的高速緩存管理使PIII避免了對L2Cache的不必要的存取。由于消除了緩沖失敗,多媒體和其它對時間敏感的操作性能更高了。對于可緩存的內(nèi)容,PIII通過預(yù)先讀取期望的數(shù)據(jù)到高速緩存里來提高速度,這一特色提高了高速緩存的命中率,減少了存取時間。4.3.4PIII中采用的Cache技術(shù)(續(xù))2023/7/1593為進一步發(fā)揮Cache的作用,改進內(nèi)存性能并使之與CPU發(fā)展同步來維護系統(tǒng)平衡,一些制造CPU的廠家增加了控制緩存的指令。Intel公司也在PentiumIII處理器中新增加了70條3D及多媒體的SSE指令集,其中有很重要的一組指令是緩存控制指令。AMD公司在K6-2和K6-3中的3DNow多媒體指令中,也有從L1數(shù)據(jù)Cache中預(yù)取最新數(shù)據(jù)的數(shù)據(jù)預(yù)取指令(Prefetch)。4.3.4PIII中采用的Cache技術(shù)(續(xù))2023/7/1594PentiumIII處理器有兩類緩存控制指令。一

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論