第4章存儲(chǔ)器系統(tǒng)_第1頁
第4章存儲(chǔ)器系統(tǒng)_第2頁
第4章存儲(chǔ)器系統(tǒng)_第3頁
第4章存儲(chǔ)器系統(tǒng)_第4頁
第4章存儲(chǔ)器系統(tǒng)_第5頁
已閱讀5頁,還剩299頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第四章存儲(chǔ)器系統(tǒng)

2/2/20231?第7版2011.09本章學(xué)習(xí)內(nèi)容存儲(chǔ)器的分類及主要技術(shù)指標(biāo)

存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)半導(dǎo)體存儲(chǔ)器的工作原理存儲(chǔ)器與CPU的連接輔助存儲(chǔ)器的工作原理Cache的工作原理并行存儲(chǔ)系統(tǒng)2/2/202324.1存儲(chǔ)器概述存儲(chǔ)器:計(jì)算機(jī)的存儲(chǔ)部件,用于存放程序和數(shù)據(jù)。計(jì)算機(jī)發(fā)展的重要問題之一,就是如何設(shè)計(jì)容量大、速度快、價(jià)格低的存儲(chǔ)器。2/2/202334.1.1存儲(chǔ)器分類1.按與CPU的連接和功能分類(1)主存儲(chǔ)器

CPU能夠直接訪問的存儲(chǔ)器。用于存放當(dāng)前運(yùn)行的程序和數(shù)據(jù)。主存儲(chǔ)器設(shè)在主機(jī)內(nèi)部,所以又稱內(nèi)存儲(chǔ)器。簡稱內(nèi)存或主存。2/2/20234(2)輔助存儲(chǔ)器為解決主存容量不足而設(shè)置的存儲(chǔ)器,用于存放當(dāng)前不參加運(yùn)行的程序和數(shù)據(jù)。當(dāng)需要運(yùn)行程序和數(shù)據(jù)時(shí),將它們成批調(diào)入內(nèi)存供CPU使用。CPU不能直接訪問輔助存儲(chǔ)器。輔助存儲(chǔ)器屬于外部設(shè)備,所以又稱為外存儲(chǔ)器,簡稱外存或輔存。2/2/20235(3)高速緩沖存儲(chǔ)器(Cache)Cache是一種介于主存與CPU之間用于解決CPU與主存間速度匹配問題的高速小容量的存儲(chǔ)器。Cache用于存放CPU立即要運(yùn)行或剛使用過的程序和數(shù)據(jù)。2/2/202362.按存取方式分類(1)隨機(jī)存取存儲(chǔ)器(RAM)RAM存儲(chǔ)器中任何單元的內(nèi)容均可按其地址隨機(jī)地讀取或?qū)懭耄掖嫒r(shí)間與單元的物理位置無關(guān)。RAM主要用于組成主存。(2)只讀存儲(chǔ)器(ROM)ROM存儲(chǔ)器中任何單元的內(nèi)容只能隨機(jī)地讀出而不能隨便寫入和修改。ROM可以作為主存的一部分,用于存放不變的程序和數(shù)據(jù),與RAM分享相同的主存空間。ROM還可以用作其它固定存儲(chǔ)器,如存放微程序的控制存儲(chǔ)器、存放字符點(diǎn)陣圖案的字符發(fā)生器等。2/2/20237(3)順序存取存儲(chǔ)器(SAM)SAM存儲(chǔ)器所存信息的排列、尋址和讀寫操作均是按順序進(jìn)行的,并且存取時(shí)間與信息在存儲(chǔ)器中的物理位置有關(guān)。如磁帶存儲(chǔ)器,信息通常是以文件或數(shù)據(jù)塊形式按順序存放,信息在載體上沒有唯一對應(yīng)的地址,完全按順序存放或讀取。(4)直接存取存儲(chǔ)器(DAM)DAM是介于RAM和SAM之間的存儲(chǔ)器。也稱半順序存儲(chǔ)器。典型的DAM就是磁盤。當(dāng)對磁盤進(jìn)行信息存取時(shí),先進(jìn)行尋道,屬于隨機(jī)方式,然后在磁道中尋找扇區(qū),屬于順序方式。2/2/20238

3.按存儲(chǔ)介質(zhì)分類存儲(chǔ)介質(zhì):具有兩個(gè)穩(wěn)定物理狀態(tài),可用來記憶二進(jìn)制代碼的物質(zhì)或物理器件。目前,構(gòu)成存儲(chǔ)器的存儲(chǔ)介質(zhì)主要是半導(dǎo)體器件和磁性材料。(1)磁存儲(chǔ)器

磁存儲(chǔ)器就是采用磁性材料制成的存儲(chǔ)器。磁存儲(chǔ)器是利用磁性材料的兩個(gè)不同剩磁狀態(tài)存放二進(jìn)制代碼“0”和“1”。早期有磁芯存儲(chǔ)器,現(xiàn)多為磁表面存儲(chǔ)器,如磁盤、磁帶等。2/2/20239磁芯存儲(chǔ)器2/2/2023103.5英寸軟盤2/2/202311硬盤2/2/202312(2)半導(dǎo)體存儲(chǔ)器半導(dǎo)體存儲(chǔ)器是用半導(dǎo)體器件組成的存儲(chǔ)器。根據(jù)制造工藝不同,可分為雙極型和MOS型。2/2/202313U盤2/2/202314(3)光存儲(chǔ)器利用光學(xué)原理制成的存儲(chǔ)器,它是通過能量高度集中的激光束照在基體表面引起物理的或化學(xué)的變化,記憶二進(jìn)制信息。如光盤存儲(chǔ)器。2/2/202315(1)易失性存儲(chǔ)器電源掉電后,信息自動(dòng)丟失。如半導(dǎo)體RAM。(2)非易失性存儲(chǔ)器電源掉電后,信息仍能繼續(xù)保存。如ROM、磁盤、光盤等。4.按信息的可保存性分類2/2/2023164.1.2主存儲(chǔ)器的組成和基本操作2/2/202317⑴存儲(chǔ)元件(存儲(chǔ)元、存儲(chǔ)位)能夠存儲(chǔ)一位二進(jìn)制信息的物理器件。如一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路、一個(gè)CMOS晶體管或一個(gè)磁性材料的存儲(chǔ)元等。存儲(chǔ)元是存儲(chǔ)器中最小的存儲(chǔ)單位。作為存儲(chǔ)元的條件:①有兩個(gè)穩(wěn)定狀態(tài)。即可以存儲(chǔ)“0”、“1”。②在外界的激勵(lì)下,能夠進(jìn)入要求的狀態(tài)。即可以寫入“0”、“1”。③能夠識(shí)別器件當(dāng)前的狀態(tài)。即可以讀出所存的“0”、“1”。2/2/202318六管靜態(tài)RAM基本存儲(chǔ)元電路

2/2/202319單管DRAM基本存儲(chǔ)元電路

2/2/202320⑵存儲(chǔ)單元:由一組存儲(chǔ)元件組成,可以同時(shí)進(jìn)行讀寫。⑶存儲(chǔ)體(存儲(chǔ)陣列):把大量存儲(chǔ)單元電路按一定形式排列起來,即構(gòu)成存儲(chǔ)體。存儲(chǔ)體一般都排列成陣列形式,所以又稱存儲(chǔ)陣列。存儲(chǔ)單元的地址:存儲(chǔ)體中每個(gè)存儲(chǔ)單元被賦予的一個(gè)唯一的編號(hào)。存儲(chǔ)單元的地址用于區(qū)別不同的存儲(chǔ)單元。要對某一存儲(chǔ)單元進(jìn)行存取操作,必須首先給出被訪問的存儲(chǔ)單元的地址。因?yàn)榈刂肥怯枚M(jìn)制進(jìn)行編碼的,所以又稱為地址碼。

2/2/202321存儲(chǔ)單元的編址編址單位:存儲(chǔ)器中可尋址的最小單位。①按字節(jié)編址:相鄰的兩個(gè)單元是兩個(gè)字節(jié)。②按字編址:相鄰的兩個(gè)單元是兩個(gè)字。例如一個(gè)32位字長的按字節(jié)尋址計(jì)算機(jī),一個(gè)存儲(chǔ)器字中包含四個(gè)可單獨(dú)尋址的字節(jié)單元。當(dāng)需要訪問一個(gè)字,即同時(shí)訪問4個(gè)字節(jié)時(shí),可以按地址的整數(shù)邊界進(jìn)行存取。即每個(gè)字的編址中最低2位的二進(jìn)制數(shù)必須是“00”,這樣可以由地址的低兩位來區(qū)分不同的字節(jié)。2/2/202322地址11100100000032100100765410001110981100151413122/2/202323⑷地址寄存器:用于存放所要訪問的存儲(chǔ)單元的地址。要對某一單元進(jìn)行存取操作,首先應(yīng)通過地址總線將被訪問單元地址存放到地址寄存器中。⑸地址譯碼與驅(qū)動(dòng)電路:用于對地址寄存器中的地址進(jìn)行譯碼,通過對應(yīng)的地址選擇線到存儲(chǔ)陣列中找到所要訪問的存儲(chǔ)單元,并提供驅(qū)動(dòng)信號(hào)驅(qū)動(dòng)其完成指定的存取操作。⑹讀寫電路:根據(jù)CPU發(fā)出的讀寫控制命令,控制對存儲(chǔ)單元的讀寫。⑺數(shù)據(jù)寄存器:暫存需要寫入或讀出的數(shù)據(jù)。數(shù)據(jù)寄存器是存儲(chǔ)器與計(jì)算機(jī)其它功能部件聯(lián)系的橋梁。2/2/202324⑻時(shí)序控制電路:用于接收來自CPU的讀寫控制信號(hào),產(chǎn)生存儲(chǔ)器操作所需的各種時(shí)序控制信號(hào),控制存儲(chǔ)器完成指定的操作。2/2/2023252.主存與CPU的連接及主存的操作主存儲(chǔ)器用于存放CPU正在運(yùn)行的程序和數(shù)據(jù)。主存與CPU之間通過總線進(jìn)行連接。2/2/202326主存的操作過程MAR:主存地址寄存器MDR:主存數(shù)據(jù)寄存器CPU讀操作(取操作)地址(MAR)ABMEM讀命令(Read)CBMEMMEM存儲(chǔ)單元內(nèi)容(M)DBMDR寫操作(存操作)地址(MAR)ABMEM寫命令(Write)CBMEMDBMDR數(shù)據(jù)2/2/202327同步控制方式:數(shù)據(jù)傳送在固定的時(shí)間間隔內(nèi)完成,即在一個(gè)存取周期內(nèi)完成。異步控制方式:數(shù)據(jù)傳送的時(shí)間不固定,存儲(chǔ)器在完成讀/寫操作后,需向CPU回送“存儲(chǔ)器功能完成”信號(hào)(MFC),表示一次數(shù)據(jù)傳送完成。目前多數(shù)計(jì)算機(jī)采用同步方式控制CPU與主存之間的數(shù)據(jù)傳送。由于異步控制方式允許不同速度的設(shè)備進(jìn)行信息交換,所以多用于CPU與外設(shè)的數(shù)據(jù)傳送中。CPU與主存之間的數(shù)據(jù)傳送控制方式2/2/2023284.1.3半導(dǎo)體存儲(chǔ)器的主要性能指標(biāo)衡量主存的性能指標(biāo)主要有:1.存儲(chǔ)容量:存儲(chǔ)器所能存儲(chǔ)的二進(jìn)制信息總量。存儲(chǔ)容量的表示:①用存儲(chǔ)單元數(shù)與每個(gè)單元的位數(shù)的乘積表示。如:512k×16位,表示主存有512k個(gè)單元,每個(gè)單元為16位。②在以字節(jié)為編址單位的機(jī)器中,常用字節(jié)表示存儲(chǔ)容量,例如4MB、16MB分別表示主存可容納4兆個(gè)字節(jié)(MB)信息和16兆個(gè)字節(jié)信息。2/2/202329容量與存儲(chǔ)器地址線的關(guān)系1K=210需要10根地址線1M=220需要20根地址線256M=228需要28根地址線2G=231需要31根地址線2/2/2023302.速度由于主存的速度慢于CPU速度,所以主存速度直接影響著CPU執(zhí)行指令的速度。因此,速度是主存的一項(xiàng)重要技術(shù)指標(biāo)。⑴訪問時(shí)間(取數(shù)時(shí)間tA)從啟動(dòng)一次存儲(chǔ)器存取操作到完成該操作所需的全部時(shí)間。即從存儲(chǔ)器接到CPU發(fā)出的讀/寫命令和地址信號(hào)到數(shù)據(jù)讀入MDR/從MDR寫入MEM所需的時(shí)間。讀出時(shí)間:從存儲(chǔ)器接到有效地址開始到產(chǎn)生有效輸出所需的時(shí)間。寫入時(shí)間:從存儲(chǔ)器接到有效地址開始到數(shù)據(jù)寫入被選中單元為止所需的時(shí)間。2/2/202331與tA相關(guān)的參數(shù):tCA:指從加載到存儲(chǔ)器芯片上的()引腳上的選片信號(hào)有效開始,直到讀取的數(shù)據(jù)或指令在存儲(chǔ)器芯片的數(shù)據(jù)引腳上可以使用為止的時(shí)間間隔。tOE:指從讀(OE)信號(hào)有效開始,直到讀取的數(shù)據(jù)或指令在存儲(chǔ)器芯片的數(shù)據(jù)引腳上可以使用為止的時(shí)間間隔。2/2/2023322/2/202333⑵存取周期(存儲(chǔ)周期、讀寫周期TM)對存儲(chǔ)器連續(xù)進(jìn)行兩次存取操作所需要的最小時(shí)間間隔。由于存儲(chǔ)器進(jìn)行一次存取操作后,需有一定的恢復(fù)時(shí)間,所以存儲(chǔ)周期TM大于訪問時(shí)間tA。半導(dǎo)體存儲(chǔ)器的存取周期tMTM=tA+一定的恢復(fù)時(shí)間MOS型存儲(chǔ)器的TM約100ns雙極型TTL存儲(chǔ)器的TM約10ns2/2/202334帶寬是指存儲(chǔ)器單位時(shí)間內(nèi)所存取的二進(jìn)制信息的位數(shù)。帶寬也稱存儲(chǔ)器數(shù)據(jù)傳輸率、頻寬Bm帶寬等于存儲(chǔ)器總線寬度除以存取周期。W:存儲(chǔ)器總線的寬度,對于單體存儲(chǔ)器,W就是數(shù)據(jù)總線的根數(shù)。帶寬的單位:兆字節(jié)/秒3.帶寬2/2/202335提高存儲(chǔ)器速度的途徑①采用高速器件②減少存取周期TM,如引入Cache。③提高總線寬度W,如采用多體交叉存儲(chǔ)方式。④采用雙端口存儲(chǔ)器。⑤加長存儲(chǔ)器字長。2/2/2023364.價(jià)格存儲(chǔ)器的價(jià)格常用每位的價(jià)格來衡量。設(shè)存儲(chǔ)器容量為S位,總價(jià)格為C總,每位價(jià)格為cc=C總/SC總不僅包含存儲(chǔ)器組件本身的價(jià)格,也包括為該存儲(chǔ)器操作服務(wù)的外圍電路的價(jià)格。存儲(chǔ)器的總價(jià)格與存儲(chǔ)容量成正比,與存儲(chǔ)周期成反比。2/2/2023374.可靠性存儲(chǔ)器可靠性的衡量指標(biāo)——主存的平均無故障時(shí)間MTBF。MTBF越長,可靠性越高。除上述幾個(gè)指標(biāo)外,功耗也是影響存儲(chǔ)器性能的因素之一。2/2/202338容量、速度、價(jià)格三個(gè)指標(biāo)是相互矛盾、相互制約的。高速的存儲(chǔ)器往往價(jià)格也高,因而容量也不可能很大。為了較好地解決存儲(chǔ)器容量、速度與價(jià)格之間的矛盾,在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,通常都是通過輔助軟、硬件,將不同容量、不同速度、不同價(jià)格的多種類型的存儲(chǔ)器組織成統(tǒng)一的整體。即構(gòu)成存儲(chǔ)器系統(tǒng)的多級層次結(jié)構(gòu)。4.1.4存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)2/2/202339存儲(chǔ)器層次結(jié)構(gòu)輔助軟硬件輔助硬件2/2/202340按層次結(jié)構(gòu)自上而下

⑴訪問時(shí)間逐漸增長寄存器的訪問時(shí)間是幾個(gè)納秒高速緩存的訪問時(shí)間是寄存器訪問時(shí)間的幾倍主存儲(chǔ)器的訪問時(shí)間是幾十個(gè)納秒磁盤的訪問時(shí)間最少10ms以上磁帶和光盤的訪問時(shí)間以秒來計(jì)量。

2/2/202341⑵存儲(chǔ)容量逐漸增大寄存器約幾十到幾百字節(jié)Cache約幾百到幾M字節(jié)主存在幾十MB到幾GB之間磁盤的容量為幾十GB到幾TB磁帶和光盤一般脫機(jī)存放,其容量只受限于用戶的預(yù)算2/2/202342⑶存儲(chǔ)器每位的價(jià)格逐漸降低例如主存的價(jià)格約每兆字節(jié)幾角磁盤的價(jià)格是每兆字節(jié)幾分或更低磁帶的價(jià)格是每G字節(jié)幾元或更低2/2/202343Cache——主存層次主要解決速度問題通過輔助硬件,把主存和Cache構(gòu)成統(tǒng)一整體,使它具有接近Cache的速度、主存的容量和接近于主存的平均價(jià)格。主存——輔存層次主要解決容量問題大量的信息存放在大容量的輔助存儲(chǔ)器中,當(dāng)需要使用這些信息時(shí),借助輔助軟、硬件,自動(dòng)地以頁或段為單位成批調(diào)入主存中。2/2/2023444.2半導(dǎo)體存儲(chǔ)器4.2.1半導(dǎo)體存儲(chǔ)器的分類2/2/2023454.2.2隨機(jī)存取存儲(chǔ)器的結(jié)構(gòu)及工作原理

1.

半導(dǎo)體存儲(chǔ)器芯片結(jié)構(gòu)及實(shí)例存儲(chǔ)器組件把存儲(chǔ)體及其外圍電路(包括地址譯碼與驅(qū)動(dòng)電路、讀寫放大電路及時(shí)序控制電路等)集成在一塊硅片上,稱為存儲(chǔ)器組件。存儲(chǔ)器芯片存儲(chǔ)器組件經(jīng)過各種形式的封裝后,通過引腳引出地址線、數(shù)據(jù)線、控制線及電源與地線等,制成存儲(chǔ)器芯片。

2/2/202346存儲(chǔ)器芯片2/2/202347存儲(chǔ)器芯片一般做成雙列直插形式,有若干引腳引出地址線、數(shù)據(jù)線、控制線及電源與地線等。半導(dǎo)體存儲(chǔ)器芯片一般有兩種結(jié)構(gòu):字片式結(jié)構(gòu)和位片式結(jié)構(gòu)?!瑼n-1~0…Dm-1~0R/WCS電源地線2/2/202348讀/寫控制線R/W:控制存儲(chǔ)芯片的讀/寫操作。片選控制線CS:CS為低電平時(shí),選中芯片工作;CS為高電平時(shí),芯片不被選中。操作00寫01讀1×未選中2/2/2023491)字片式結(jié)構(gòu)的存儲(chǔ)器芯片(64字×8位)2/2/202350單譯碼方式(一維譯碼):訪存地址僅進(jìn)行一個(gè)方向譯碼的方式。每個(gè)存儲(chǔ)單元電路接出一根字線和兩根位線。存儲(chǔ)陣列的每一行組成一個(gè)存儲(chǔ)單元,存放一個(gè)8位的二進(jìn)制字。一行中所有單元電路的字線聯(lián)在一起,接到地址譯碼器的對應(yīng)輸出端。6位訪存地址經(jīng)地址譯碼器譯碼選中某一輸出端有效時(shí),與該輸出端相聯(lián)的一行中的每個(gè)單元電路同時(shí)進(jìn)行讀寫操作,實(shí)現(xiàn)一個(gè)字的同時(shí)讀/寫。2/2/20235164字×8位的存儲(chǔ)體中共有64個(gè)字,每個(gè)字為8位,排成64×8的陣列。存儲(chǔ)芯片共需6根地址線,8根數(shù)據(jù)線,一次可讀出一個(gè)字節(jié)。存儲(chǔ)體中所有存儲(chǔ)單元的相同位組成一列,一列中所有單元電路的兩根位線分別連在一起,并使用一個(gè)讀/寫放大電路。讀/寫放大電路與雙向數(shù)據(jù)線相連。2/2/202352字片式結(jié)構(gòu)存儲(chǔ)器芯片,由于采用單譯碼方案,有多少個(gè)存儲(chǔ)字,就有多少個(gè)譯碼驅(qū)動(dòng)電路,所需譯碼驅(qū)動(dòng)電路多。雙譯碼方式(二維譯碼):采用行列譯碼的方式,位于選中的行和列的交叉處的存儲(chǔ)單元被唯一選中。采用雙譯碼方式的存儲(chǔ)芯片即位片式結(jié)構(gòu)存儲(chǔ)器芯片。2/2/2023532)位片式結(jié)構(gòu)的存儲(chǔ)器芯片(4K×1位)2/2/2023544K×1位的位片式存儲(chǔ)器芯片中有4096個(gè)存儲(chǔ)單元電路,排列成64×64的陣列。4096個(gè)單元需12位地址。將12位地址分為6位行地址和6位列地址。對于給定的訪存地址,經(jīng)行、列譯碼后,選中一根行地址選擇線和列地址選擇線有效。行地址選擇線選中一行中的64個(gè)存儲(chǔ)電路進(jìn)行讀寫操作。列地址選擇線用于選擇64個(gè)多路轉(zhuǎn)接開關(guān),控制各列是否能與讀/寫電路的接通。每個(gè)多路轉(zhuǎn)接開關(guān)由兩個(gè)MOS管組成,控制一列中的64個(gè)存儲(chǔ)電路的位線與讀/寫電路的接通。2/2/202355當(dāng)選中存儲(chǔ)芯片工作時(shí),首先給定訪存地址,并給出片選信號(hào)CS和讀寫信號(hào)R/W6行列地址,被選的行、列選擇線的交叉處的存儲(chǔ)電路被唯一地選中,讀出或?qū)懭胍晃欢M(jìn)制信息。采用雙譯碼方案,對于4096個(gè)字只需128個(gè)譯碼驅(qū)動(dòng)電路。而若采用單譯碼方案,4096個(gè)字將需4096個(gè)譯碼驅(qū)動(dòng)電路。2/2/2023563)Intel2114芯片Intel2114是1K×4位的靜態(tài)MOS存儲(chǔ)器芯片。采用N—MOS工藝制作,雙列直插式封裝。共18個(gè)引腳。A9~A0:10根地址線,用于尋址1024個(gè)存儲(chǔ)單元I/O4~I(xiàn)/O1:4根雙向數(shù)據(jù)線CS:片選信號(hào)線WE:讀/寫控制線+5V:5V電源線GND:地線2/2/202357三態(tài)門X0X63Y0Y152/2/2023582/2/2023592114芯片由存儲(chǔ)體、地址緩沖器、地址譯碼器、讀/寫控制電路及三態(tài)輸入輸出緩沖器組成。存儲(chǔ)體中共有4096個(gè)六管存儲(chǔ)單元電路,排列成64×64陣列。地址譯碼采用二維譯碼結(jié)構(gòu),10位地址碼分成兩組,A8~A3作為6位行地址,經(jīng)行地址譯碼器驅(qū)動(dòng)64根行選擇線。A2~A0及A9作為4位列地址,經(jīng)列地址譯碼器驅(qū)動(dòng)16根列選擇線,每根列選擇線同時(shí)選中64列中的4列,控制4個(gè)轉(zhuǎn)接電路,控制被選中的4列存儲(chǔ)電路的位線與I/O電路的接通。被選的行選擇線與列選擇線的交叉處的4個(gè)存儲(chǔ)電路,就是所要訪問的存儲(chǔ)字。4個(gè)存儲(chǔ)電路對應(yīng)一個(gè)字的4位。2/2/202360在存儲(chǔ)體內(nèi)部的陣列結(jié)構(gòu)中,存儲(chǔ)器的讀/寫操作由片選信號(hào)CS與讀/寫控制信號(hào)WE控制。CS為高電平時(shí),輸入與輸出的三態(tài)門均關(guān)閉,不能與外部的數(shù)據(jù)總線交換信息。CS為低電平時(shí),芯片被選中工作,若WE為低電平,則打開4個(gè)輸入三態(tài)門,數(shù)據(jù)總線上的信息被寫入被選的存儲(chǔ)單元;若WE為高電平,打開4個(gè)輸出三態(tài)門,從被選的存儲(chǔ)單元中讀出信息并送到數(shù)據(jù)總線上。2/2/2023612114的讀、寫周期在與CPU連接時(shí),CPU的控制信號(hào)與存儲(chǔ)器的讀、寫周期之間的配合問題是非常重要的。對于已知的RAM存儲(chǔ)片,讀寫周期是已知的。⑴讀周期讀出時(shí)間(tA):從給出有效地址后,經(jīng)過譯碼、驅(qū)動(dòng)電路的延遲,到讀出選中單元的內(nèi)容,再經(jīng)過I/O電路延遲后,在外部數(shù)據(jù)總線上穩(wěn)定出現(xiàn)所讀數(shù)據(jù)信息所需的時(shí)間。片選到數(shù)據(jù)輸出延遲時(shí)間(tCO)

:從CS給出并有效(低電平),到存儲(chǔ)器讀出的數(shù)據(jù)穩(wěn)定地送到外部數(shù)據(jù)總線上所需要的時(shí)間。2/2/202362讀周期(tRC):存儲(chǔ)芯片進(jìn)行兩次連續(xù)讀操作時(shí)所必須間隔的時(shí)間。tRC≥tACPU訪問存儲(chǔ)器讀數(shù)據(jù)時(shí),從給出地址有效起,只有經(jīng)過tA長的時(shí)間才能在數(shù)據(jù)總線上可靠的獲得數(shù)據(jù),而連續(xù)的讀數(shù)操作必須保留間隔時(shí)間tRC。否則存儲(chǔ)器無法正常工作,CPU的讀數(shù)操作就失效。2/2/2023632/2/202364⑵寫周期要使數(shù)據(jù)總線上的信息能夠可靠地寫入存儲(chǔ)器,必須要求片選CS和寫命令WE信號(hào)都為低。其相“與”的寬度至少應(yīng)為tW寫數(shù)時(shí)間(tW):片選CS和寫命令WE信號(hào)均為低的時(shí)間。滯后時(shí)間(tAW):在有效寫入數(shù)據(jù)出現(xiàn)前,RAM的數(shù)據(jù)線上存在著前一時(shí)刻的數(shù)據(jù)DOUT,故在地址線發(fā)生變化后,CS、WE均需滯后tAW才能有效,以避免將無效數(shù)據(jù)寫入到RAM中。寫恢復(fù)時(shí)間(tWR):WE變?yōu)楦唠娖胶?,需再?jīng)過tWR時(shí)間,地址信號(hào)才允許改變。為了保證有效數(shù)據(jù)的可靠地寫入,地址有效的時(shí)間至少應(yīng)為tAW+tW+tWR。2/2/202365寫周期(tWC):對芯片進(jìn)行連續(xù)兩次寫操作的最小間隔時(shí)間。tWC=tAW+tW+tWR為保證數(shù)據(jù)可靠寫入,CPU送至RAM的寫入數(shù)據(jù)DIN必須在CS、WE失效前的tDW時(shí)刻出現(xiàn),并延續(xù)一段時(shí)間tDH(此刻地址線仍有效,tWR>tDH)。2/2/202366tAW

—滯后時(shí)間2/2/202367例如某SRAM的寫入時(shí)序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時(shí),存儲(chǔ)器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲(chǔ)器。指出圖中寫入時(shí)序中的錯(cuò)誤,并畫出正確的寫入時(shí)序圖。

2/2/202368解釋:寫入存儲(chǔ)器的時(shí)序信號(hào)必須同步。通常,當(dāng)R/W線加負(fù)脈沖時(shí),地址線和數(shù)據(jù)線的電平必須是穩(wěn)定的。當(dāng)R/W線達(dá)到低電平時(shí),數(shù)據(jù)立即被存儲(chǔ)。因此,當(dāng)R/W線處于低電平時(shí),如果數(shù)據(jù)線改變了數(shù)值,那么存儲(chǔ)器將存儲(chǔ)新的數(shù)據(jù)⑤。同樣,當(dāng)R/W線處于低電平時(shí)地址線如果發(fā)生了變化,那么同樣數(shù)據(jù)將存儲(chǔ)到新的地址②或③。2/2/202369單管動(dòng)態(tài)MOS存儲(chǔ)單元電路2/2/202370保持狀態(tài):當(dāng)字線W為低電平時(shí),MOS管T截止,電路不被選中,保持原存信息。寫入信息:字線W加高電平,T導(dǎo)通。寫“1”:位線b加高電平,使b經(jīng)T管對C充電,

實(shí)現(xiàn)寫“1”。寫“0”:位線b加低電平,使C經(jīng)T管向位線放電,實(shí)現(xiàn)寫“0”。讀出信息:字線W加高電平,T導(dǎo)通。原存“1”:C上有電荷。T導(dǎo)通后,C上電荷經(jīng)T

向位線b上泄放,位線上有輸出信號(hào),經(jīng)讀出再生放大器輸出為“1”信息。原存“0”:C上無電荷,所以位線上無輸出信號(hào),經(jīng)讀出再生放大器輸出為“0”信息。2/2/202371由于單管存儲(chǔ)電路是靠電荷泄放檢測“1”信息的,讀后信息被破壞,所以該電路是破壞性讀出的,因此必須采取再生措施,即讀后立即重寫。讀出再生放大器具有這種再生功能。動(dòng)態(tài)MOS存儲(chǔ)器是靠柵極電容上的電荷存儲(chǔ)信息,由于電路中存在著一定的漏電流,致使電容電荷慢慢放電,以至使所存信息丟失。所以需要定時(shí)刷新。2/2/2023724)TMS4116芯片TMS4116是由單管動(dòng)態(tài)MOS存儲(chǔ)單元電路構(gòu)成的動(dòng)態(tài)RAM芯片。容量為16k×1位。16k的存儲(chǔ)器應(yīng)有14根地址線,為了節(jié)省引腳,該芯片只使用7根地址線A6~A0,采用分時(shí)復(fù)用技術(shù),分兩次把14位地址送入芯片。行地址選通信號(hào)RAS:用于將低7位地址A6~A0打入行地址緩沖器鎖存。列地址選通信號(hào)CAS:用于將高7位地址A13~A7,打入列地址緩沖器鎖存。2/2/202373TMS4116的外部引腳2/2/202374TMS4116的內(nèi)部邏輯結(jié)構(gòu)2/2/20237516k×1位共16384個(gè)單管MOS存儲(chǔ)單元電路,排列成128×128的陣列,并將其分為兩組,每組為64行×128列。每根行選擇線控制128個(gè)存儲(chǔ)電路的字線。列選擇線控制讀出再生放大器與I/O緩沖器的接通,控制數(shù)據(jù)的讀出或?qū)懭?。每一根列選擇線控制一個(gè)讀出再生放大器,128列共有128個(gè)讀生再生放大器,一列中的128個(gè)存儲(chǔ)電路分為兩組,每64個(gè)存儲(chǔ)電路為一組,兩組存儲(chǔ)電路的位線分別接入讀出再生放大器的兩端。2/2/202376TMS4116的存儲(chǔ)陣列結(jié)構(gòu)

2/2/202377行地址經(jīng)行地址譯碼選中某一根行線有效,接通此行上的128個(gè)存儲(chǔ)電路中的MOS管,使電容所存信息分別送到128個(gè)讀出再生放大器放大。同時(shí),經(jīng)放大后的信息又回送到原電路進(jìn)行重寫,使信息再生。列地址經(jīng)列地址譯碼選中某根列線有效,接通相應(yīng)的列控制門,將該列上讀出放大器輸出的信息送入I/O緩沖器,經(jīng)數(shù)據(jù)輸出寄存器通過數(shù)據(jù)輸出引腳DOUT輸出到系統(tǒng)數(shù)據(jù)總線上。TMS4116的讀出2/2/202378TMS4116的寫入首先將要寫入的信息通過數(shù)據(jù)輸入引腳DIN經(jīng)由數(shù)據(jù)輸入寄存器、I/O緩沖器送入被選列的讀出再生放大器中,然后再寫入行、列同時(shí)被選中的存儲(chǔ)單元。為寫允許控制線為高電平,讀出;為低電平,寫入。TMS4116芯片沒有專門設(shè)置選片信號(hào),一般用

信號(hào)兼做選片控制信號(hào)。只有當(dāng)有效(低電平)時(shí),芯片才工作。

2/2/202379TMS4116的刷新當(dāng)某個(gè)存儲(chǔ)單元被選中進(jìn)行讀/寫操作時(shí),該單元所在行的其余127個(gè)存儲(chǔ)電路也將自動(dòng)進(jìn)行一次讀出再生操作,即完成一次刷新操作。TMS4116的刷新是按行進(jìn)行的,每次只加行地址,不加列地址,即可實(shí)現(xiàn)被選行上的所有存儲(chǔ)電路的刷新。即一次可以刷新128個(gè)存儲(chǔ)單元電路。2/2/202380TMS4116芯片的讀、寫周期時(shí)序在讀周期中,行地址必須在RAS有效前有效,列地址必須在CAS有效前有效,并且在CAS到來之前,WE必須為高電平,并保持到CAS結(jié)束之后。在寫周期中,當(dāng)WE有效之后,所加的DIN信號(hào)必須保持到CAS變?yōu)榈碗娖街?,RAS、CAS和WE全部有效時(shí),將DIN數(shù)據(jù)寫入被選的存儲(chǔ)單元。2/2/202381讀周期(列選通下降沿觸發(fā))2/2/202382寫周期(列選通下降沿觸發(fā))2/2/2023835)動(dòng)態(tài)存儲(chǔ)器的刷新方式

因?yàn)殡娙蓦姾傻男狗艜?huì)引起信息的丟失,所以動(dòng)態(tài)MOS存儲(chǔ)器每隔一定時(shí)間需進(jìn)行一次刷新操作。刷新的間隔時(shí)間主要由電容電荷泄放速度決定。①刷新最大周期(刷新最大間隔)設(shè)存儲(chǔ)電容為C,其兩端電壓為u,

電荷Q=C?u,則泄漏電流I為:2/2/202384所以泄漏時(shí)間為Δu:電容兩端的電壓變化I:泄露電流C:存儲(chǔ)電容例如設(shè)某動(dòng)態(tài)MOS元件的C=0.2pf,

當(dāng)I=0.1nA,電壓變化Δu=1V時(shí),信息將丟失。則泄漏時(shí)間Δt為:說明該動(dòng)態(tài)MOS元件每隔2ms必須刷新一次,Δt就是刷新最大周期(刷新最大間隔)。2/2/202385動(dòng)態(tài)存儲(chǔ)器芯片的刷新均是按行刷新。例如,對于16K的4116芯片,存儲(chǔ)體排成128×128陣列。刷新時(shí),共需要刷新128行。每次由刷新地址計(jì)數(shù)器給出刷新的行地址,每刷新一行,刷新地址計(jì)數(shù)器加1。2/2/202386②動(dòng)態(tài)存儲(chǔ)器的刷新方式

當(dāng)主存需要刷新時(shí),CPU不能訪存,所以要盡可能讓刷新時(shí)間少占用CPU時(shí)間。A.集中式刷新

按照存儲(chǔ)器芯片容量的大小集中安排刷新操作的時(shí)間段,在此時(shí)間段內(nèi)對芯片內(nèi)所有的存儲(chǔ)單元電路執(zhí)行刷新操作。CPU的“死區(qū)”

在刷新操作期間,禁止CPU對存儲(chǔ)器進(jìn)行正常

讀/寫的訪問操作,稱這段時(shí)間為CPU的“死區(qū)”。2/2/202387例如,設(shè)16k×1位芯片的存儲(chǔ)矩陣為128×128。存儲(chǔ)器的刷新最大周期為2ms,存儲(chǔ)器的存取周期為500ns,一次刷新操作可同時(shí)刷新128個(gè)存儲(chǔ)單元電路。因?yàn)榇鎯?chǔ)矩陣為128×128,所以對芯片內(nèi)的所有存儲(chǔ)單元電路全部刷新一遍需要128個(gè)存取周期。因此在2ms內(nèi),必須留出128個(gè)周期專用于刷新。因?yàn)榇鎯?chǔ)器的存取周期為500ns,所以在2ms內(nèi)需要有500×128=64μs專門用于刷新操作,其余1936μs可用于正常的存儲(chǔ)器讀寫操作。2/2/202388集中式刷新的優(yōu)點(diǎn)

系統(tǒng)的存取周期不受刷新工作的影響,讀寫操作和刷新工作在最大刷新周期內(nèi)分開進(jìn)行,控制簡單。集中式刷新的缺點(diǎn)

在“死區(qū)”內(nèi)CPU必須停止訪存操作,CPU利用率低。2/2/202389B.分散式刷新

定義系統(tǒng)對存儲(chǔ)器的存取周期是存儲(chǔ)器本身的存取周期的兩倍。再把系統(tǒng)的存取周期平均分為兩個(gè)操作階段,前一個(gè)階段用于對存儲(chǔ)器的正常訪問,后一個(gè)階段用于刷新操作,每次刷新一行。分散式刷新的優(yōu)點(diǎn):沒有“死區(qū)”,每一系統(tǒng)周期都可進(jìn)行讀/寫操作。分散式刷新的缺點(diǎn):沒有充分利用所允許的最大刷新間隔(2ms),且刷新過于頻繁,人為降低了存儲(chǔ)器的速度。

2/2/202390以128×128陣列、存取周期為500ns的存儲(chǔ)器芯片為例。采用分散式刷新時(shí),系統(tǒng)總線周期為存取周期的兩倍,即1μs。這樣每隔128μs就可以將存儲(chǔ)器全部刷新一遍。2/2/202391C.異步式刷新異步式刷新是前兩種刷新方式的折衷。其思想是充分利用最大刷新間隔,每隔一段時(shí)間刷新一行。以128×128陣列、存取周期為500ns,刷新最大周期為2ms的存儲(chǔ)器芯片為例。因?yàn)橐笤?ms內(nèi)將所有128行都刷新一遍,所以只要每隔2ms/128=15.6μs的時(shí)間刷新一行即可。取兩次刷新的間隔時(shí)間為周期的整數(shù),可使存儲(chǔ)器每隔15.5μs執(zhí)行刷新操作一次,一次刷新一行。這樣在15.5μs中,前15μs即30個(gè)存取周期用于讀/寫操作,后0.5μs用于刷新。2/2/202392異步式刷新既充分利用了2ms的最大刷新間隔,保持了存儲(chǔ)系統(tǒng)的高速性,又大大縮短了主機(jī)的“死區(qū)”,所以是一種最常用的刷新方式。2/2/202393D.透明式刷新

利用CPU不訪存操作時(shí)主存的空閑時(shí)間進(jìn)行刷新。透明式刷新方式的優(yōu)點(diǎn):完全消除了“死區(qū)”。透明式刷新方式的缺點(diǎn):較難控制何時(shí)能夠進(jìn)行刷新,刷新控制電路極其復(fù)雜。2/2/2023944.2.4半導(dǎo)體存儲(chǔ)器的組成由于一塊存儲(chǔ)器芯片的容量總是有限的,因此一個(gè)存儲(chǔ)器總是由一定數(shù)量的存儲(chǔ)器芯片構(gòu)成。要組成一個(gè)主存儲(chǔ)器,需要考慮的問題:①如何選擇芯片根據(jù)存取速度、存儲(chǔ)容量、電源電壓、功耗及成本等方面的要求進(jìn)行芯片的選擇。②所需的芯片數(shù)量:

2/2/202395例:用2114芯片組成32K×8位的存儲(chǔ)器,所需2114芯片數(shù)為:③如何把許多芯片連接起來。要考慮地址、數(shù)據(jù)和控制信號(hào)線的連接。

通常存儲(chǔ)器芯片在單元數(shù)和位數(shù)方面都與實(shí)際存儲(chǔ)器要求有很大差距,所以需要在字方向和位方向兩個(gè)方面進(jìn)行擴(kuò)展。2/2/2023961.位擴(kuò)展當(dāng)芯片的單元數(shù)滿足存儲(chǔ)器單元數(shù)的要求,但單元中的位數(shù)不滿足要求時(shí),需要進(jìn)行位擴(kuò)展。位擴(kuò)展:只進(jìn)行位數(shù)擴(kuò)展(加大字長)。采用位擴(kuò)展時(shí),芯片的單元數(shù)(字?jǐn)?shù))與存儲(chǔ)器的單元數(shù)是一致的。位擴(kuò)展的連接方式:①將所有存儲(chǔ)器芯片的地址線、片選信號(hào)線和讀/寫控制線均對應(yīng)的并接在一起,連接到地址和控制總線的對應(yīng)位上。②將各芯片的數(shù)據(jù)線單獨(dú)列出,分別接到數(shù)據(jù)總線的對應(yīng)位。2/2/202397例:用2114存儲(chǔ)器芯片構(gòu)成1K×8位的存儲(chǔ)器。2114為1K×4位的芯片,現(xiàn)存儲(chǔ)器要求容量為1K×8位,單元數(shù)滿足,位數(shù)不滿足,需要1K×8/1K×4=2片2114來構(gòu)成存儲(chǔ)器。1K×8位的存儲(chǔ)器共需8根數(shù)據(jù)線D7~D0,兩片2114各自的4根數(shù)據(jù)線分別用于連接D7~D4和D3~D0。2114本身具有10根地址線,稱為片內(nèi)地址線,與存儲(chǔ)器要求的10根地址線一致,所以只要將他們并接起來即可。電路中CPU的讀/寫控制線(R/W)與2114的WE信號(hào)并接。MREQ為CPU的訪存請求信號(hào),作為2114的片選信號(hào)連接到CS上。2/2/202398存儲(chǔ)器位擴(kuò)展舉例2/2/2023992.字?jǐn)U展當(dāng)芯片單元中的的位數(shù)滿足存儲(chǔ)器位數(shù)的要求,但芯片的單元數(shù)不滿足存儲(chǔ)器單元數(shù)要求時(shí),需要進(jìn)行字?jǐn)U展。字?jǐn)U展:僅是單元數(shù)(字?jǐn)?shù))擴(kuò)展,而位數(shù)不變。采用字?jǐn)U展時(shí),芯片單元中的位數(shù)與存儲(chǔ)器的數(shù)據(jù)位數(shù)是一致的。2/2/2023100字?jǐn)U展的連接方式:①將所有芯片的地址線、數(shù)據(jù)線、讀/寫控制線均對應(yīng)地并接在一起,連接到地址、數(shù)據(jù)、控制總線的對應(yīng)位上。②由片選信號(hào)區(qū)分被選芯片。片選信號(hào):通常由高位地址經(jīng)譯碼進(jìn)行控制。高位地址:存儲(chǔ)器總地址減去芯片內(nèi)部尋址的地址得到的地址。2/2/2023101例:用16K×8位的存儲(chǔ)器芯片構(gòu)成64K×8位的存儲(chǔ)器。16K×8位的芯片,可以滿足64K×8位的存儲(chǔ)器數(shù)據(jù)位的要求,但不滿足單元數(shù)的要求。需要4片16K×8位的芯片采用字?jǐn)U充方式來構(gòu)成存儲(chǔ)器。64K×8位的存儲(chǔ)器需要16位地址線A15~A0,而16K×8位的芯片的片內(nèi)地址線為14根,所以用16位地址線中的低14位A13~A0進(jìn)行片內(nèi)尋址,高兩位地址A15、A14用于選擇芯片,即選片尋址。2/2/2023102設(shè)存儲(chǔ)器從0000H開始連續(xù)編址,則四塊芯片的地址分配:第一片地址范圍為:0000H~3FFFH第二片地址范圍為:4000H~7FFFH第三片地址范圍為:8000H~BFFFH第四片地址范圍為:C000H~FFFFH2/2/2023103A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFH第一片010000000000000001111111111111114000H~7FFFH第二片100000000000000010111111111111118000H~BFFFH第三片11000000000000001111111111111111C000H~FFFFH第四片片內(nèi)地址片選地址2/2/20231042/2/20231053.字和位同時(shí)擴(kuò)展當(dāng)芯片的單元數(shù)和單元的數(shù)據(jù)位均不滿足存儲(chǔ)器的要求時(shí)需要進(jìn)行字和位的同時(shí)擴(kuò)展。字和位同時(shí)擴(kuò)展:按位擴(kuò)展和字?jǐn)U展的方法分別在位方向和字方向進(jìn)行擴(kuò)展。2/2/2023106①所有芯片的片內(nèi)地址線、讀/寫控制線均對應(yīng)地并接在一起,連接到地址和控制總線的對應(yīng)位上。②同一地址區(qū)域內(nèi),不同芯片的片選信號(hào)連在一起,接到片選譯碼器的同一輸出端;

不同地址區(qū)域內(nèi)內(nèi),各組芯片的片選信號(hào)分別接到片選譯碼器的不同輸出端。③不同地址區(qū)域內(nèi),同一位芯片的數(shù)據(jù)線對應(yīng)地并接在一起,連接到數(shù)據(jù)總線的對應(yīng)位上。不同位芯片的數(shù)據(jù)線分別連接到數(shù)據(jù)總線的不同位上。字和位同時(shí)擴(kuò)展的連接方式2/2/2023107例4.4

:用2114芯片組成4K×8位存儲(chǔ)器需用8片2114芯片構(gòu)成4K×8位存儲(chǔ)器。8片芯片排成4行×2列,每行按位擴(kuò)展方法連接,每列按字?jǐn)U展方法連接。存儲(chǔ)器地址線A11~A0,芯片片內(nèi)地址A9~A0,高兩位地址A11、A10用于選片尋址。存儲(chǔ)器數(shù)據(jù)線D7~D0,芯片數(shù)據(jù)線I/O3~I(xiàn)/O0,兩片芯片的數(shù)據(jù)線一同構(gòu)成存儲(chǔ)器的8位數(shù)據(jù)線。2/2/2023108A11A10A9……A2A1A00000000000000011111111110000H~03FFH第一組0100000000000111111111110400H~07FFH第二組1000000000001011111111110800H~0BFFH第三組1100000000001111111111110C00H~0FFFH第四組2/2/20231092/2/2023110例:某微機(jī)系統(tǒng)有16根地址線,8根數(shù)據(jù)線,地址空間安排為:16K系統(tǒng)程序存儲(chǔ)區(qū),用ROM芯片,安排在地址最低區(qū);接著留出16K的設(shè)備地址空間;其后的32K作為用戶程序區(qū),采用RAM芯片。給定芯片如下,請畫出連線圖,給出各存儲(chǔ)區(qū)的地址范圍。ROMD7~D0A13A0CSDE…RAMD7~D0A13A0CSRD…WR2/2/2023111ROM區(qū):16K×8位,需1片16K×8位ROM芯片RAM區(qū):32K×8位,需2片16K×8位RAM芯片I/O區(qū):16K×8位,主存不應(yīng)使用A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFHROM區(qū)010000000000000001111111111111114000H~7FFFHI/O區(qū)100000000000000010111111111111118000H~BFFFHRAM區(qū)111000000000000001111111111111111C000H~FFFFHRAM區(qū)22/2/2023112ROMA13~A0CSDERAMD7~D0A15A14CSRDWRRAMY0CSRDWR地址譯碼器MEMRY2Y3Y1R/W2/2/2023113書后習(xí)題P1864.82/2/2023114作業(yè)P1854.74.9(不畫圖)4.102/2/2023115地址分配與片選的關(guān)系當(dāng)存儲(chǔ)器存儲(chǔ)容量大于芯片容量時(shí)需要利用片選信號(hào)進(jìn)行擴(kuò)容。產(chǎn)生片選信號(hào)的三種方法:(1)線選法將芯片片內(nèi)地址以外的高位地址直接(或經(jīng)反相器)分別接到各存儲(chǔ)器芯片的CS引腳。特點(diǎn):無需外加邏輯電路,但僅適用于芯片較少的場合。2/2/2023116例:系統(tǒng)有12根地址線,用2片2K×8的芯片構(gòu)成4K×8的存儲(chǔ)器。采用線選法。2/2/2023117例:系統(tǒng)有15根地址線,用4片2K×8的芯片構(gòu)成8K×8的存儲(chǔ)器。采用線選法。各芯片地址:芯片A14~A11A10~A0地址范圍0#111000……0011……117000H~7FFFH1#110100……0011……116800H~6FFFH2#101100……0011……115800H~5FFFH3#011100……0011……113800H~3FFFH2/2/2023118(2)全譯碼法將芯片片內(nèi)地址以外的高位地址全部接到譯碼器的輸入端,將譯碼器的輸出作為片選信號(hào)。特點(diǎn):芯片的地址范圍確定,連續(xù),無重疊存儲(chǔ)區(qū),對譯碼電路要求較高。2/2/2023119例:系統(tǒng)有15根地址線,用4片2K×8的芯片構(gòu)成8K×8的存儲(chǔ)器。采用全譯碼法。各芯片地址:芯片A14~A11A10~A0地址范圍0#110000……0011……116000H~67FFH1#110100……0011……116800H~6FFFH2#111000……0011……117000H~77FFH3#111100……0011……117800H~7FFFH2/2/2023120(3)部分譯碼法將芯片片內(nèi)地址以外的高位地址部分地與譯碼器相連,將譯碼器的輸出作為片選信號(hào)。特點(diǎn):對譯碼電路要求相對較低,但存在重疊存儲(chǔ)區(qū)。2/2/2023121例:系統(tǒng)有15根地址線,用4片2K×8的芯片構(gòu)成8K×8的存儲(chǔ)器。采用部分譯碼法。各芯片地址:芯片A12A11A10~A0地址范圍0#0000……0011……110000H~07FFH1#0100……0011……110800H~0FFFH2#1000……0011……111000H~17FFH3#1100……0011……111800H~1FFFH2/2/2023122重復(fù)地址:A14A13=00,01,10,110000H~07FFH:2000H~27FFH,4000H~47FFH,6000H~67FFH0800H~0FFFH:2800H~2FFFH,4800H~4FFFH,6800H~6FFFH1000H~17FFH:3000H~37FFH,5000H~57FFH,7000H~77FFH1800H~17FFH:3800H~3FFFH,5800H~5FFFH,7800H~7FFFH2/2/20231234.多種數(shù)據(jù)位輸出的組織問題多種數(shù)據(jù)的傳輸是指存儲(chǔ)器按照CPU的指令要求,與CPU間分別傳輸8位、16位、32位或64位數(shù)據(jù)的情況。此時(shí),CPU要增加控制信號(hào),控制存儲(chǔ)器傳輸不同位數(shù)的數(shù)據(jù)。

2/2/2023124整數(shù)邊界存儲(chǔ)當(dāng)計(jì)算機(jī)具有多種信息長度(8位、16位、32位等),則應(yīng)當(dāng)按存儲(chǔ)周期的最大信息傳輸量為界(Bm為界),保證數(shù)據(jù)都能在一個(gè)存儲(chǔ)周期內(nèi)存取完畢。例如,設(shè)計(jì)算機(jī)字長為64位,一個(gè)存儲(chǔ)周期內(nèi)可傳輸8位、16位、32位、64位等不同長度信息。那么1個(gè)8位、2個(gè)16位、2個(gè)32位、1個(gè)64位等信息的存儲(chǔ)地址應(yīng)如何給出呢?2/2/2023125⑴無邊界規(guī)定0000H0008H0010H64位/存儲(chǔ)周期0020H64816163232321664??????0018H2/2/2023126無邊界規(guī)定時(shí)存在的問題若地址分配不合理,則會(huì)出現(xiàn)兩個(gè)周期才能將數(shù)據(jù)傳送完畢的情況。如上圖的第1個(gè)16位、第2個(gè)32位和64位都需兩個(gè)存儲(chǔ)周期才能完成訪問。無邊界規(guī)定有可能造成系統(tǒng)訪存速度的下降。2/2/2023127⑵采用整數(shù)邊界0000H0008H0010H64位/存儲(chǔ)周期0020H??????0018H816163232642/2/2023128整數(shù)邊界地址安排8位(1個(gè)字節(jié))地址碼最低位為任意值XXXXXB16位(半字)地址碼最低1位為0XXXX0B32位(單字)地址碼最低2位為00XXX00B64位(雙字)地址碼最低3位為000XX000B2/2/2023129采用整數(shù)邊界存在的問題浪費(fèi)空間隨著半導(dǎo)體存儲(chǔ)器的擴(kuò)容,以空間換取速度勢在必行。2/2/2023130例:請用2K×8bit的SRAM設(shè)計(jì)一個(gè)8K×16bit的存儲(chǔ)器,要求:⑴存儲(chǔ)器可以分別被控制訪問8位和16位數(shù)據(jù)。控制位數(shù)的信號(hào)B由CPU提供:當(dāng)B=0時(shí)訪問16位數(shù)據(jù);當(dāng)B=1時(shí)訪問8位數(shù)據(jù)。⑵存儲(chǔ)芯片地址按交叉方式編址。⑶畫出存儲(chǔ)器與CPU的連接原理圖。條件:①SRAM芯片除地址、數(shù)據(jù)線外,控制信號(hào)有(低電平有效)、(高電平讀、低電平寫)。②CPU提供的控制信號(hào)有(低電平有效)

、(高電平讀、低電平寫)等。2/2/2023131地址線的安排因?yàn)樾枰L問8位數(shù)據(jù),所以將16位數(shù)據(jù)分為高8位和低8位,分別用奇存儲(chǔ)體和偶存儲(chǔ)體存放。即訪問16位數(shù)據(jù)時(shí)實(shí)際需要訪問兩個(gè)存儲(chǔ)體,而訪問8位數(shù)據(jù)時(shí)只需訪問一個(gè)存儲(chǔ)體,因此在地址線中需要有1位用于區(qū)分奇、偶存儲(chǔ)體。由于8K×16bit的存儲(chǔ)空間需要13根地址線,再加一根地址線用于選擇奇、偶存儲(chǔ)體,共14根地址線,這樣存儲(chǔ)空間實(shí)際變成了8K×2×8bit,相當(dāng)于214×8bit。2/2/2023132為了符合整數(shù)邊界的要求,規(guī)定一個(gè)16位的單元必須由一個(gè)A0=1和一個(gè)A0=0的存儲(chǔ)單元構(gòu)成,即系統(tǒng)采用低位交叉方式編址;而一個(gè)16位的數(shù)據(jù)必須存放在高位地址相同,低位分別為A0=1和A0=0的兩個(gè)單元中。規(guī)定14根地址線中,A0與B組合用于控制8位、16位數(shù)據(jù)的存取。由于每個(gè)SRAM芯片容量是2K,所以A11~A1用于片內(nèi)地址,A13、A12用于2-4譯碼。得到4組譯碼信號(hào),與A0、B組成每個(gè)芯片的片選信號(hào)。2/2/2023133邏輯表達(dá)式BA0POddPEven001(選中)1(選中)讀寫16位0100不讀寫1001(選中)讀寫低8位111(選中)0讀寫高8位2/2/2023134Peven=A0Podd=A0B2-4譯碼器Y0Y1Y2Y3A13A122/2/2023135CS1=Y(jié)0+PoddCS0=Y(jié)0+PevenCS3=Y(jié)1+PoddCS2=Y(jié)1+PevenCS5=Y(jié)2+PoddCS4=Y(jié)2+PevenCS7=Y(jié)3+PoddCS6=Y(jié)3+Peven每個(gè)芯片的片選信號(hào)2/2/20231362/2/20231372/2/2023138請用2K×8bit的SRAM設(shè)計(jì)一個(gè)8K×32bit的存儲(chǔ)器,寫出各芯片的片選信號(hào)的邏輯表達(dá)式。(要有詳細(xì)過程)要求:⑴存儲(chǔ)器可以分別被控制訪問8、16、32位數(shù)據(jù)??刂莆粩?shù)的信號(hào)B1B0由CPU提供:當(dāng)B1B0=00時(shí)訪問32位數(shù)據(jù);當(dāng)B1B0=01時(shí)訪問16位數(shù)據(jù);當(dāng)B1B0=10時(shí)訪問8位數(shù)據(jù)。⑵存儲(chǔ)芯片地址按交叉方式編址,即一列為奇地址,一列為偶地址。⑶滿足整數(shù)邊界地址的安排。2/2/20231394.4高速緩沖存儲(chǔ)器(Cache)4.4.1Cache在存儲(chǔ)體系中的地位和作用

高速緩沖存儲(chǔ)器是位于主存與CPU之間的高速小容量存儲(chǔ)器,用來存放系統(tǒng)中當(dāng)前最活躍的程序和數(shù)據(jù)。Cache的容量比主存小得多。采用Cache的主要目的解決CPU和主存之間的速度匹配問題。提高整個(gè)存儲(chǔ)系統(tǒng)的平均訪問速度,進(jìn)而提高CPU的效率。2/2/2023140CPU在一個(gè)較短的時(shí)間間隔內(nèi),由程序產(chǎn)生的地址往往聚集在一個(gè)很小的區(qū)域內(nèi)。如果把這一局部區(qū)域的程序和數(shù)據(jù)從主存復(fù)制到Cache中,使CPU能夠高速地在Cache中讀取指令和數(shù)據(jù),就可大大提高CPU的訪存速度。程序局部性原理2/2/20231412/2/2023142Cache是按塊進(jìn)行管理的Cache和主存均被分割成大小相同的塊。信息以塊為單位調(diào)入Cache。Cache中數(shù)據(jù)塊的大小一般為幾個(gè)~幾百個(gè)字節(jié)。主存中的數(shù)據(jù)塊可稱為“塊(block)”,Cache中數(shù)據(jù)塊可稱為“行(line)”或“槽(slot)”。2/2/2023143...........主存主存塊號(hào)塊A-1塊1塊0........塊C-1塊0CacheCache塊號(hào)B個(gè)字2/2/2023144...........主存主存塊號(hào)塊A-1塊1塊0....塊C-1塊0CacheCache塊號(hào)塊12/2/2023145Cache既保存數(shù)據(jù)又保存指令。只保存指令的稱為i-Cahce。只保存數(shù)據(jù)的稱為d-Cache。既保存指令的又保存數(shù)據(jù)的稱為統(tǒng)一的高速緩存(unifiedcache).如IntelPentium有一個(gè)在芯片上的L1i-cache,一個(gè)在芯片上的L1d-cache。還有一個(gè)不在芯片上的L2統(tǒng)一cache。2/2/2023146Cache的命中根據(jù)程序局部性原理,可將包含CPU馬上要訪問的內(nèi)容從主存復(fù)制到Cache中,復(fù)制時(shí)以塊為單位。當(dāng)CPU欲訪問某主存字時(shí)的兩種情況:①所需內(nèi)容已在Cache中,稱為CPU訪問Cache命中,CPU可直接訪問Cache。②所需內(nèi)容不在Cache中,稱為CPU訪問Cache不命中(失?。PU需訪問主存獲得所需內(nèi)容,并將包含所需內(nèi)容的主存塊調(diào)入Cache中,以備下次訪問。2/2/2023147Cache命中率Cache命中率:CPU要訪問的內(nèi)容在Cache中的比率。設(shè)在一個(gè)程序執(zhí)行期間,訪問Cache的總命中次數(shù)為Nc,訪問主存的次數(shù)為Nm,CPU訪問Cache的命中率為H,則有:2/2/2023148Cache-主存系統(tǒng)的訪問時(shí)間設(shè)Tc為Cache命中時(shí)的訪問時(shí)間,Tm為Cache不命中時(shí)的主存訪問時(shí)間,1-H為不命中率,Ta為Cache-主存系統(tǒng)的平均訪問時(shí)間,則有:Ta=H

Tc+(1-H)

Tm2/2/2023149帶Cache存儲(chǔ)系統(tǒng)的加速比SpCache-主存系統(tǒng)的訪問效率e2/2/2023150例:設(shè)CPU執(zhí)行某程序時(shí)共訪問Cache命中2000次,訪問主存50次,已知cache的存取周期為50ns,主存的存取周期為200ns。求該Cache-主存系統(tǒng)的命中率、平均訪問時(shí)間和訪問效率。解:Cache的命中率:H=2000/(2000+50)≈0.97平均訪問時(shí)間:ta=0.97×50+(1-0.97)×200≈54.5ns訪問效率:2/2/2023151利用目前的大規(guī)模集成電路技術(shù)和生產(chǎn)工藝,人們可以在CPU芯片內(nèi)部放置一定容量的高速緩沖存儲(chǔ)器(Cache)。一級(L1)Cache:CPU芯片內(nèi)部的高速緩沖存儲(chǔ)器。二級(L2)Cache:CPU外部由SRAM構(gòu)成的高速緩沖存儲(chǔ)器。目前最新的CPU內(nèi)部已經(jīng)可以放置二級乃至三級Cache。2/2/20231524.4.2Cache的基本結(jié)構(gòu)及工作原理2/2/2023153⑴Cache存儲(chǔ)陣列由高速存儲(chǔ)器構(gòu)成,用于存放主存信息的副本。容量小于主存,但編址方式、物理單元長度均與主存相同。分為內(nèi)容Cache和標(biāo)識(shí)Cache標(biāo)識(shí)(tag)又叫標(biāo)記。標(biāo)識(shí)Cache一般由相聯(lián)存儲(chǔ)器組成,用以記錄主存內(nèi)容存入Cache時(shí)兩者地址的對應(yīng)關(guān)系。注意,每個(gè)Cache塊(行)有一個(gè)標(biāo)識(shí)。1.Cache的基本結(jié)構(gòu)2/2/2023154⑵地址映像變換機(jī)構(gòu)用于實(shí)現(xiàn)主存地址與Cache地址轉(zhuǎn)換的部件。⑶替換策略實(shí)現(xiàn)機(jī)構(gòu)根據(jù)一定的算法,用硬件實(shí)現(xiàn)塊的替換。2/2/2023155在帶Cache的存儲(chǔ)器中,CPU的訪存地址被分割成兩部分:①塊地址(塊框架地址、塊號(hào))用于查找該塊在Cache中的位置。②塊內(nèi)偏移量(塊內(nèi)位移)用于確定所訪問的數(shù)據(jù)在塊中的位置。01011010001000000100101110011100塊號(hào)塊內(nèi)偏移量2/2/2023156⑴當(dāng)CPU需要進(jìn)行訪存時(shí),首先給出主存實(shí)地址。2.Cache的工作過程⑵地址映像變換機(jī)構(gòu)接收到主存實(shí)地址后,根據(jù)塊號(hào)判定所訪問的信息字是否在Cache中。若在(Cache命中),通過地址變換機(jī)構(gòu)將主存塊號(hào)變換為Cache塊地址,再根據(jù)塊內(nèi)偏移量,對Cache進(jìn)行存取。若不在(Cache不命中),則通知訪問Cache塊失效。然后通過CPU與主存之間的直接數(shù)據(jù)通路訪問主存,將被訪問字直接送給CPU,并將包含該字的新塊裝入Cache。若Cache巳滿,則通過替換策略實(shí)現(xiàn)機(jī)構(gòu),調(diào)出某一Cache塊,然后裝入所需的塊。2/2/2023157Cache的存在對程序員是透明的。在處理機(jī)每次訪問存儲(chǔ)器時(shí),系統(tǒng)自動(dòng)將地址轉(zhuǎn)換成Cache中的地址。提高Cache的訪問速度的方法⑴Cache的地址變換和數(shù)據(jù)塊的替換算法均用硬件實(shí)現(xiàn)。⑵在物理位置上讓Cache盡量靠近CPU,以減少CPU與Cache之間的傳輸延遲。如將Cache集成在CPU芯片內(nèi)。⑶為了加速調(diào)塊,一般將每個(gè)數(shù)據(jù)塊的容量規(guī)定為并行主存系統(tǒng)一個(gè)存儲(chǔ)周期所能訪問到的字?jǐn)?shù)。2/2/20231584.4.3Cache的地址映像方式因?yàn)镃PU以主存地址訪問Cache,所以訪存時(shí)必須把主存地址變換為Cache的實(shí)際地址。地址變換取決于地址的映像方式,就是主存信息按什么規(guī)則裝入Cache。2/2/2023159直接映像是指任何一個(gè)主存塊只能復(fù)制到Cache的某一固定塊中。設(shè)Cache中有2m個(gè)塊,主存中有2n個(gè)塊,將主存按Cache的大小分區(qū),共可分為2n-m個(gè)區(qū)。主存每個(gè)區(qū)中區(qū)內(nèi)塊號(hào)相同的塊映射到Cache的同一塊中。如果Cache塊號(hào)i和主存塊號(hào)j采用十進(jìn)制統(tǒng)一編號(hào),則i與j的對應(yīng)關(guān)系為:i=j(luò)mod2m1.直接映像方式2/2/2023160主存Cache0區(qū)0塊0區(qū)1塊……0區(qū)2m-1塊1區(qū)0塊1區(qū)1塊……1區(qū)2m-1塊……2n-m-1區(qū)0塊2n-m-1區(qū)1塊……2n-m-1區(qū)2m-1塊0塊1塊…2m-1塊2/2/2023161采用直接映像方式時(shí),主存地址分成三段:區(qū)號(hào)用于判斷Cache命中與否。區(qū)內(nèi)塊號(hào)直接用于在Cache中進(jìn)行塊尋址。塊內(nèi)偏移量用于塊內(nèi)字或字節(jié)的尋址。地址映像機(jī)構(gòu)在判斷塊命中與否時(shí),只需判斷Cache中某一塊對應(yīng)于主存中哪一區(qū)即可。區(qū)號(hào)區(qū)內(nèi)塊號(hào)塊內(nèi)偏移量n-mnm2/2/2023162地址變換方式利用標(biāo)識(shí)Cache實(shí)現(xiàn)地址變換。標(biāo)識(shí)Cache共有2m個(gè)單元(即Cache的塊數(shù))。在直接映像方式中,標(biāo)識(shí)Cache每個(gè)單元存放的是對應(yīng)的內(nèi)容Cache中相應(yīng)塊的主存區(qū)號(hào),長n-m位(主存區(qū)號(hào)的長度)。區(qū)號(hào)區(qū)內(nèi)塊號(hào)塊內(nèi)偏移量n-mnm主存地址Cache地址塊號(hào)塊內(nèi)偏移量m2/2/2023163直接映像下的標(biāo)識(shí)Cache

標(biāo)識(shí)tag(主存區(qū)號(hào))有效位012m-1n-m1塊0塊1塊2m-1標(biāo)識(shí)Cache內(nèi)容Cache2/2/20231642/2/2023165訪存時(shí),以主存塊號(hào)為地址定位到塊表的相應(yīng)位置,再將主存地址中的區(qū)號(hào)與標(biāo)識(shí)Cache中的相應(yīng)塊的標(biāo)識(shí)比較。如果相等,表示Cache命中,用主存塊號(hào)和塊內(nèi)偏移量(即Cache地址)直接訪問Cache即可。2/2/2023166例:主存大小為128B,Cache大小為64B。則主存地址為7位,Cache地址為6位,假設(shè)每塊4B,標(biāo)識(shí)Cache每項(xiàng)的寬度為1位,再加1位有效位則2位。區(qū)號(hào)塊號(hào)塊內(nèi)地址5位塊號(hào)塊內(nèi)地址4位主存地址1位4位2位Cache地址2位2/2/2023167在直接映像方式下,主存中存儲(chǔ)單元的數(shù)據(jù)只可調(diào)入Cache中的一個(gè)位置,如果主存中另一個(gè)存儲(chǔ)單元的數(shù)據(jù)也要調(diào)入該位置,則將發(fā)生沖突。直接映像方式的特點(diǎn):⑴硬件線路簡單;⑵地址變換速度快;⑶因?yàn)橹鞔鎵K在Cache中的位置固定,一個(gè)主存塊只能對應(yīng)一個(gè)Cache塊,所以沒有替換策略問題;⑷塊的沖突率高,若程序往返訪問兩個(gè)相互沖突的塊,將會(huì)使命中率急劇下降。⑸Cache利用率低。2/2/20231682.全相聯(lián)映像及變換任何主存塊可映像到任意一個(gè)Cache塊。主存Cache0塊1塊…k塊…2n-1塊0塊1塊…2m-1塊設(shè)主存有2n塊Cache有2m塊2/2/2023169地址變換方式全相聯(lián)映像的塊表(標(biāo)識(shí)Cache)共有2m個(gè)單元,每個(gè)單元記錄與內(nèi)容Cache相對應(yīng)的主存塊號(hào),占n位。在全相聯(lián)映像中,主存塊號(hào)又稱為標(biāo)識(shí),塊內(nèi)偏移量稱為又稱為索引。2/2/2023170全相聯(lián)映像下的標(biāo)識(shí)Cache

標(biāo)識(shí)tag(主存塊號(hào))有效位內(nèi)容Cache012m-1n1塊0塊1塊2m-1標(biāo)識(shí)Cache2/2/20231712/2/2023172在訪存操作時(shí),根據(jù)主存地址中的塊號(hào)在塊表中查找是否有相同的主存塊號(hào)。如果有相同的主存塊號(hào),則表示Cache命中。如果沒有相同的主存塊號(hào),則表示不命中,則對主存進(jìn)行訪問并將主存中的塊調(diào)入Cache中,同時(shí)將主存塊號(hào)寫入塊表中,以改變地址映像關(guān)系。在調(diào)入新的數(shù)據(jù)塊時(shí),可能需根據(jù)替換策略確定將Cache中的哪一個(gè)數(shù)據(jù)塊替換出去。2/2/2023173例:主存大小為128B,Cache大小為64B。則主存地址為7位,Cache地址為6位,假設(shè)每塊4B,標(biāo)識(shí)Cache每項(xiàng)的寬度為5位,再加1位有效位則為6位。主存塊號(hào)塊內(nèi)地址塊號(hào)塊內(nèi)地址4位主存地址5位2位Cache地址2位2/2/2023174⑴塊沖突概率小,Cache命中率高全相聯(lián)方法只有在Cache中的塊全部裝滿后才會(huì)出現(xiàn)塊沖突,所以塊沖突概率小。⑵Cache利用率高。⑶由于需要相聯(lián)存儲(chǔ)器實(shí)現(xiàn)相聯(lián)訪問和實(shí)現(xiàn)替換策略的硬件,故硬件復(fù)雜,成本高。⑷相聯(lián)訪問影響訪問速度。全相聯(lián)映像方式的特點(diǎn)2/2/2023175組相聯(lián)映像是前兩種方式的一種折衷。該方式將主存按照Cache的塊尺寸分割成若干塊,同時(shí)將Cache分組,每組中塊數(shù)固定。主存中的任何一塊只能存放到Cache中的某一固定組中,但存放在該組的哪個(gè)位置是靈活的。主存某個(gè)塊映像到Cache對應(yīng)組的公式:Cache組號(hào)=主存塊號(hào)MODCache組數(shù)3.組相聯(lián)映像方式2/2/2023176將主存第i塊映象到Cache的第k組,即:k=imodG(G為Cache的組數(shù))設(shè)組數(shù)G=2g,用二進(jìn)制表示主存地址,則主存某塊所對應(yīng)的Cache組號(hào)就是主存塊地址的低g位:g位組號(hào)主存塊號(hào)i標(biāo)識(shí)n-g位n位2/2/2023177主存Cache0組0塊0組…0組3塊1組0塊1組…1組3塊2組0塊2組…2組3塊3組0塊3組…3組3塊塊號(hào)對應(yīng)組00組11組22組33組40組51組62組73組80組91組102組113組2/2/2023178在組相聯(lián)映像方式下,同一組中的主存塊可調(diào)入該組中的任何位置。如果組的大小為1時(shí)就變成了直接映像;如果組的大小為整個(gè)Cache的尺寸時(shí)就變成了全相聯(lián)映像。如果一個(gè)組里有k塊,則這種組相聯(lián)映像方式稱為k路組相聯(lián)。2/2/2023179在組相聯(lián)映像中,Cache分為2g個(gè)組,主存地址和Cache地址的形式為:標(biāo)識(shí)組號(hào)塊內(nèi)偏移量ng主存地址Cache地址m組號(hào)組內(nèi)塊號(hào)塊內(nèi)偏移量m-ggn-gngmm-ggn-g組相聯(lián)的地址變換方式2/2/2023180標(biāo)識(shí)(tag)(n-g位)有效位(1位)內(nèi)容Cache01…2m-g-1………2m-10組2g-1組組相聯(lián)映像下的標(biāo)識(shí)Cache2/2/2023181為了提高查塊表和比較的速度,可以將一組的所有標(biāo)識(shí)項(xiàng)同時(shí)讀出,分別與主存地址中的標(biāo)識(shí)進(jìn)行相聯(lián)比較。2/2/2023182在訪存操作時(shí),根據(jù)訪存地址中的組號(hào),在塊表中查找該組對應(yīng)的若干項(xiàng)中是否有相應(yīng)的標(biāo)識(shí)(標(biāo)記),此為關(guān)聯(lián)查找。如果有且有效位為“1”,表示Cache命中,將在對應(yīng)的Cache塊中根據(jù)塊內(nèi)偏移地址對Cache中的相應(yīng)單元進(jìn)行訪問;

如果沒有或有效位為“0”,表示不命中,對主存進(jìn)行訪問并將主存中的塊按所屬的組調(diào)入Cache組中合適的塊中,同時(shí)將標(biāo)識(shí)(主存的組內(nèi)塊號(hào))寫入塊表,以改變地址映像關(guān)系。在新的數(shù)據(jù)塊調(diào)入時(shí),可能還需確定將組內(nèi)的哪一個(gè)數(shù)據(jù)塊替換出去。2/2/2023183例:某主存容量為64B,Cache容量為16B,Cache塊的大小為4B,采用組相聯(lián)映像方式,每組的大小為2塊。主存為16塊,Cache為4塊,分為2組。主存與Cache地址:標(biāo)識(shí)組號(hào)塊內(nèi)偏移量41主存地址Cache地址2組號(hào)組內(nèi)塊號(hào)塊內(nèi)偏移量113222/2/2023184主

存Cache00000組00011組00100組00111組01000組01011組01100組01111組10000組10011組10100組10111組11000組11011組11100組11111組000組0塊010組1塊101組0塊111組1塊主存中塊數(shù):16主存每組塊數(shù):16/2=8

Cache中塊數(shù):4Cache中組數(shù):2每組塊數(shù):22/2/2023185上述例題中的標(biāo)識(shí)Cache

標(biāo)識(shí)(3位)有效位(1位)00011011組0組12/2/2023186某計(jì)算機(jī)機(jī)主存容量為16MB,采用8位數(shù)據(jù)總線;數(shù)據(jù)Cache容量為32KB,主存與數(shù)據(jù)Cache均按64B的大小分塊。

請回答下列問題:(1)設(shè)標(biāo)識(shí)Cache中每個(gè)單元只包含標(biāo)識(shí)位和1位有效位。若Cache采用直接映像方式,則該計(jì)算機(jī)中標(biāo)識(shí)Cache的容量是多少?(2)若Cache采用直接映像方式,則主存地址為123456H的存儲(chǔ)單元有可能裝入到Cache中哪個(gè)地址對應(yīng)的單元中?(3)若Cache采用組相聯(lián)映像方式,每組塊數(shù)為4塊。寫出主存與Cache地址的結(jié)構(gòu)格式并標(biāo)出各個(gè)字段的位數(shù)。(4)若Cache采用組相聯(lián)映像方式,每組塊數(shù)為4塊,則主存地址為123456H的存儲(chǔ)單元有可能裝入到Cache中哪幾個(gè)地址對應(yīng)的單元中?2/2/20231875.Cache的替換算法當(dāng)訪存Cache不命中時(shí),必須從主存中調(diào)入所需塊,此時(shí),若Cache已滿或已裝不進(jìn)新塊,則必須按一定算法,選擇一個(gè)Cache塊將其替換出去,然后才能調(diào)入新塊。如何選擇被替換塊,這就是替換算法的問題。常用替換算法有兩種:FIFO法和LRU法。2/2/2023188FIFO法(先進(jìn)先出法)按調(diào)入Cache的先后決定替換順序,即需要替換時(shí),總是淘汰最先調(diào)入Cache的塊。FIFO法控制簡單,容易實(shí)現(xiàn)。但最先調(diào)入的信息不一定是最近不使用的信息,所以這種算法可能影響Cache命中率。LRU法(近期最少使用法)把近期最少使用的Cache塊替換出去。這種算法需隨時(shí)記錄Cache中各塊使用情況,以確定哪個(gè)塊為近期最少使用的塊。LRU法是按使用頻繁程度決定淘汰順序的,比較合理,使Cache命中率高于FIFO法,是目前使用最多的一種替換算法。2/2/20231894.5存儲(chǔ)系統(tǒng)組織為了更好地解決存儲(chǔ)器速度、容量、價(jià)格之間的矛盾,在構(gòu)成存儲(chǔ)器系統(tǒng)時(shí),還會(huì)采用雙端口存儲(chǔ)器、并行主存系統(tǒng)、高速緩沖存儲(chǔ)器和虛擬存儲(chǔ)技術(shù)等技術(shù)。2/2/20231904.5.1雙端口存儲(chǔ)器單端口存儲(chǔ)器:單端口存儲(chǔ)器每次只接收一個(gè)地址,訪問一個(gè)編址單元,從中讀取或存入一個(gè)字節(jié)或一個(gè)字。雙端口存儲(chǔ)器:

雙端口存儲(chǔ)器具有兩個(gè)彼此獨(dú)立的讀/寫口,每個(gè)讀/寫口都有一套獨(dú)立的地址寄存器和譯碼電路,可以并行地獨(dú)立工作。兩個(gè)讀/寫口可以按各自接收的地址,同時(shí)讀出或?qū)懭耄蛞粋€(gè)寫入而另一個(gè)讀出。與兩個(gè)獨(dú)立的存儲(chǔ)器不同,兩套讀/寫口的訪存空間相同,可以訪問同一區(qū)間、同一單元。2/2/2023191雙端口存儲(chǔ)器2/2/2023192雙端口存儲(chǔ)器的常用場合:⑴在運(yùn)算器中采用雙端口存儲(chǔ)芯片作為通用寄存器組,能快速提供雙操作數(shù),或快速實(shí)現(xiàn)寄存器間傳送。⑵讓雙端口存儲(chǔ)器的一個(gè)讀/寫口面向CPU,通過專門的存儲(chǔ)總線(或稱局部總線)連接CPU與主存,使CPU能快速訪問主存;另一個(gè)讀/寫口則面向外圍設(shè)備或輸入輸出處理機(jī)IOP,通過共享的系統(tǒng)總線連接,這種連接方式具有較大的信息吞吐量。⑶在多機(jī)系統(tǒng)中采用雙端口存儲(chǔ)器甚至多端口存儲(chǔ)器,作為各CPU的共享存儲(chǔ)器。實(shí)現(xiàn)多CPU之間的通信。2/2/20231934.5.2并行主存系統(tǒng)為提高系統(tǒng)速度,在高速的大型計(jì)算機(jī)中普遍采用并行主存系統(tǒng)。并行主存系統(tǒng):在一個(gè)存儲(chǔ)周期內(nèi)可并行存取多字的存儲(chǔ)系統(tǒng)。利用并行主存系統(tǒng)可以提高整個(gè)存儲(chǔ)器系統(tǒng)的吞吐率(數(shù)據(jù)傳送率),解決CPU與主存間的速度匹配問題。2/2/20231941.單體多字并行主存系統(tǒng)單體多字并行主存系統(tǒng)多個(gè)并行存儲(chǔ)器共用一套地址寄存器,按同一地址碼并行地訪問各自的對應(yīng)單元。2/2/2023195單體多字并行主存系統(tǒng)2/2/202

溫馨提示

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

最新文檔

評論

0/150

提交評論