計算機組成原理存儲器系統(tǒng)修改_第1頁
計算機組成原理存儲器系統(tǒng)修改_第2頁
計算機組成原理存儲器系統(tǒng)修改_第3頁
計算機組成原理存儲器系統(tǒng)修改_第4頁
計算機組成原理存儲器系統(tǒng)修改_第5頁
已閱讀5頁,還剩277頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機組成原理存儲器系統(tǒng)修改版演示文稿現(xiàn)在是1頁\一共有282頁\編輯于星期二計算機組成原理第章存儲器系統(tǒng)修改版現(xiàn)在是2頁\一共有282頁\編輯于星期二2023/4/253本章學習內(nèi)容存儲器的分類及主要技術指標

存儲系統(tǒng)的層次結構半導體存儲器的工作原理存儲器與CPU的連接輔助存儲器的工作原理Cache的工作原理并行存儲系統(tǒng)

現(xiàn)在是3頁\一共有282頁\編輯于星期二2023/4/2544.1存儲器概述存儲器:計算機的存儲部件,用于存放程序和數(shù)據(jù)。計算機發(fā)展的重要問題之一,就是如何設計容量大、速度快、價格低的存儲器。現(xiàn)在是4頁\一共有282頁\編輯于星期二2023/4/2554.1.1存儲器分類1.按與CPU的連接和功能分類(1)主存儲器

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

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

磁存儲器就是采用磁性材料制成的存儲器。磁存儲器是利用磁性材料的的兩個不同剩磁狀態(tài)存放二進制代碼“0”和“1”。早期有磁芯存儲器,現(xiàn)多為磁表面存儲器,如磁盤、磁帶等?,F(xiàn)在是10頁\一共有282頁\編輯于星期二2023/4/2511磁芯存儲器現(xiàn)在是11頁\一共有282頁\編輯于星期二2023/4/25123.5英寸軟盤現(xiàn)在是12頁\一共有282頁\編輯于星期二2023/4/2513硬盤現(xiàn)在是13頁\一共有282頁\編輯于星期二2023/4/2514(2)半導體存儲器半導體存儲器是用半導體器件組成的存儲器。根據(jù)制造工藝不同,可分為雙極型和MOS型?,F(xiàn)在是14頁\一共有282頁\編輯于星期二2023/4/2515U盤現(xiàn)在是15頁\一共有282頁\編輯于星期二2023/4/2516(3)光存儲器利用光學原理制成的存儲器,它是通過能量高度集中的激光束照在基體表面引起物理的或化學的變化,記憶二進制信息。如光盤存儲器?,F(xiàn)在是16頁\一共有282頁\編輯于星期二2023/4/2517光盤和光驅(qū)現(xiàn)在是17頁\一共有282頁\編輯于星期二2023/4/2518(1)易失性存儲器電源掉電后,信息自動丟失。如半導體RAM。(2)非易失性存儲器電源掉電后,信息仍能繼續(xù)保存。如ROM、磁盤、光盤等。4.按信息的可保存性分類現(xiàn)在是18頁\一共有282頁\編輯于星期二2023/4/25194.1.2主存儲器的組成和基本操作現(xiàn)在是19頁\一共有282頁\編輯于星期二2023/4/2520⑴存儲元件(存儲元、存儲位)能夠存儲一位二進制信息的物理器件。如一個雙穩(wěn)態(tài)半導體電路、一個CMOS晶體管或一個磁性材料的存儲元等。存儲元是存儲器中最小的存儲單位。作為存儲元的條件:①有兩個穩(wěn)定狀態(tài)。即可以存儲“0”、“1”

。②在外界的激勵下,能夠進入要求的狀態(tài)。即可以寫入“0”、“1”。③能夠識別器件當前的狀態(tài)。即可以讀出所存的“0”、“1”?,F(xiàn)在是20頁\一共有282頁\編輯于星期二2023/4/2521六管靜態(tài)RAM基本存儲元電路

現(xiàn)在是21頁\一共有282頁\編輯于星期二2023/4/2522單管DRAM基本存儲元電路

現(xiàn)在是22頁\一共有282頁\編輯于星期二2023/4/2523⑵存儲單元:由一組存儲元件組成,可以同時進行讀寫。⑶存儲體(存儲陣列):把大量存儲單元電路按一定形式排列起來,即構成存儲體。存儲體一般都排列成陣列形式,所以又稱存儲陣列。存儲單元的地址:存儲體中每個存儲單元被賦予的一個唯一的編號。存儲單元的地址用于區(qū)別不同的存儲單元。要對某一存儲單元進行存取操作,必須首先給出被訪問的存儲單元的地址。因為地址是用二進制進行編碼的,所以又稱為地址碼。

現(xiàn)在是23頁\一共有282頁\編輯于星期二2023/4/2524存儲單元的編址編址單位:存儲器中可尋址的最小單位。①按字節(jié)編址:相鄰的兩個單元是兩個字節(jié)。②按字編址:相鄰的兩個單元是兩個字。例如一個32位字長的按字節(jié)尋址計算機,一個存儲器字中包含四個可單獨尋址的字節(jié)單元。當需要訪問一個字,即同時訪問4個字節(jié)時,可以按地址的整數(shù)邊界進行存取。即每個字的編址中最低2位的二進制數(shù)必須是“00”

,這樣可以由地址的低兩位來區(qū)分不同的字節(jié)。現(xiàn)在是24頁\一共有282頁\編輯于星期二2023/4/2525地址1110010000003210010076541000111098110015141312現(xiàn)在是25頁\一共有282頁\編輯于星期二2023/4/2526⑷地址寄存器:用于存放所要訪問的存儲單元的地址。要對某一單元進行存取操作,首先應通過地址總線將被訪問單元地址存放到地址寄存器中。⑸地址譯碼與驅(qū)動電路:用于對地址寄存器中的地址進行譯碼,通過對應的地址選擇線到存儲陣列中找到所要訪問的存儲單元,并提供驅(qū)動信號驅(qū)動其完成指定的存取操作。⑹讀寫電路:根據(jù)CPU發(fā)出的讀寫控制命令,控制對存儲單元的讀寫。⑺數(shù)據(jù)寄存器:暫存需要寫入或讀出的數(shù)據(jù)。數(shù)據(jù)寄存器是存儲器與計算機其它功能部件聯(lián)系的橋梁?,F(xiàn)在是26頁\一共有282頁\編輯于星期二2023/4/2527⑻時序控制電路:用于接收來自CPU的讀寫控制信號,產(chǎn)生存儲器操作所需的各種時序控制信號,控制存儲器完成指定的操作。如果存儲器采用異步控制方式,當一個存取操作完成后,該控制電路還應給出存儲器操作完成(MFC)信號?,F(xiàn)在是27頁\一共有282頁\編輯于星期二2023/4/25282.主存與CPU的連接及主存的操作主存儲器用于存放CPU正在運行的程序和數(shù)據(jù)。主存與CPU之間通過總線進行連接?,F(xiàn)在是28頁\一共有282頁\編輯于星期二2023/4/2529主存的操作過程MAR:地址寄存器MDR:數(shù)據(jù)寄存器CPU讀操作(取操作)地址(MAR)ABMEM讀命令(Read)CBMEMMEM存儲單元內(nèi)容(M)DBMDRCPU寫操作(存操作)地址(MAR)ABMEM寫命令(Write)CBMEMMEM存儲單元MDBMDR現(xiàn)在是29頁\一共有282頁\編輯于星期二2023/4/2530同步控制方式:數(shù)據(jù)傳送在固定的時間間隔內(nèi)完成,即在一個存取周期內(nèi)完成。異步控制方式:數(shù)據(jù)傳送的時間不固定,存儲器在完成讀/寫操作后,需向CPU回送“存儲器功能完成”信號(MFC),表示一次數(shù)據(jù)傳送完成。目前多數(shù)計算機采用同步方式控制CPU與主存之間的數(shù)據(jù)傳送。由于異步控制方式允許不同速度的設備進行信息交換,所以多用于CPU與外設的數(shù)據(jù)傳送中。CPU與主存之間的數(shù)據(jù)傳送控制方式現(xiàn)在是30頁\一共有282頁\編輯于星期二2023/4/25314.1.3半導體存儲器的主要性能指標衡量主存的性能指標主要有:1.存儲容量:存儲器所能存儲的二進制信息總量。存儲容量的表示:①用存儲單元數(shù)與每個單元的位數(shù)的乘積表示。如:512k×16位,表示主存有512k個單元,每個單元為16位。②在以字節(jié)為編址單位的機器中,常用字節(jié)表示存儲容量,例如4MB、16MB分別表示主存可容納4兆個字節(jié)(MB)信息和16兆個字節(jié)信息?,F(xiàn)在是31頁\一共有282頁\編輯于星期二2023/4/2532容量與存儲器地址線的關系1K=210

需要10根地址線1M=220需要20根地址線256M=228

需要28根地址線2G=231

需要31根地址線現(xiàn)在是32頁\一共有282頁\編輯于星期二2023/4/25332.速度由于主存的速度慢于CPU速度,所以主存速度直接影響著CPU執(zhí)行指令的速度。因此,速度是主存的一項重要技術指標。⑴訪問時間(取數(shù)時間tA)從啟動一次存儲器存取操作到完成該操作所需的全部時間。即從存儲器接到CPU發(fā)出的讀/寫命令和地址信號到數(shù)據(jù)讀入MDR/從MDR寫入MEM所需的時間。讀出時間:從存儲器接到有效地址開始到產(chǎn)生有效輸出所需的時間。寫入時間:從存儲器接到有效地址開始到數(shù)據(jù)寫入被選中單元為止所需的時間?,F(xiàn)在是33頁\一共有282頁\編輯于星期二2023/4/2534與tA相關的參數(shù):tCA:指從加載到存儲器芯片上的()引腳上的選片信號有效開始,直到讀取的數(shù)據(jù)或指令在存儲器芯片的數(shù)據(jù)引腳上可以使用為止的時間間隔。tOE:指從讀(OE)信號有效開始,直到讀取的數(shù)據(jù)或指令在存儲器芯片的數(shù)據(jù)引腳上可以使用為止的時間間隔?,F(xiàn)在是34頁\一共有282頁\編輯于星期二2023/4/2535⑵存取周期(存儲周期、讀寫周期TM)對存儲器連續(xù)進行兩次存取操作所需要的最小時間間隔。由于存儲器進行一次存取操作后,需有一定的恢復時間,所以存儲周期TM大于訪問時間tA。半導體存儲器的存取周期tMTM=tA+一定的恢復時間MOS型存儲器的TM約100ns雙極型TTL存儲器的TM約10ns現(xiàn)在是35頁\一共有282頁\編輯于星期二2023/4/2536帶寬是指存儲器單位時間內(nèi)所存取的二進制信息的位數(shù)。帶寬也稱存儲器數(shù)據(jù)傳輸率、頻寬Bm帶寬等于存儲器總線寬度除以存取周期。W:存儲器總線的寬度,對于單體存儲器,W就是數(shù)據(jù)總線的根數(shù)。帶寬的單位:兆字節(jié)/秒3.帶寬現(xiàn)在是36頁\一共有282頁\編輯于星期二2023/4/2537提高存儲器速度的途徑①采用高速器件②減少存取周期TM,如引入Cache。③提高總線寬度W,如采用多體交叉存儲方式。④采用雙端口存儲器。⑤加長存儲器字長?,F(xiàn)在是37頁\一共有282頁\編輯于星期二2023/4/25384.價格存儲器的價格常用每位的價格來衡量。設存儲器容量為S位,總價格為C總,每位價格為cc=C總/SC總不僅包含存儲器組件本身的價格,也包括為該存儲器操作服務的外圍電路的價格。存儲器的總價格與存儲容量成正比,與存儲周期成反比。現(xiàn)在是38頁\一共有282頁\編輯于星期二2023/4/25394.可靠性存儲器的刷新可能會影響可靠性。存儲器可靠性的衡量指標——主存的平均無故障時間MTBF。MTBF越長,可靠性越高。除上述幾個指標外,功耗也是影響存儲器性能的因素之一。現(xiàn)在是39頁\一共有282頁\編輯于星期二2023/4/2540容量、速度、價格三個指標是相互矛盾、相互制約的。高速的存儲器往往價格也高,因而容量也不可能很大。為了較好地解決存儲器容量、速度與價格之間的矛盾,在現(xiàn)代計算機系統(tǒng)中,通常都是通過輔助軟、硬件,將不同容量、不同速度、不同價格的多種類型的存儲器組織成統(tǒng)一的整體。即構成存儲器系統(tǒng)的多級層次結構。4.1.4存儲器系統(tǒng)的層次結構現(xiàn)在是40頁\一共有282頁\編輯于星期二2023/4/2541存儲器層次結構輔助軟硬件輔助硬件現(xiàn)在是41頁\一共有282頁\編輯于星期二2023/4/2542按層次結構自上而下

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

現(xiàn)在是42頁\一共有282頁\編輯于星期二2023/4/2543⑵存儲容量逐漸增大寄存器約幾十到幾百字節(jié)Cache約幾百到幾M字節(jié)主存在幾十MB到幾GB之間磁盤的容量為幾十GB到幾TB磁帶和光盤一般脫機存放,其容量只受限于用戶的預算現(xiàn)在是43頁\一共有282頁\編輯于星期二2023/4/2544⑶存儲器每位的價格逐漸降低例如主存的價格約每兆字節(jié)幾角磁盤的價格是每兆字節(jié)幾分或更低磁帶的價格是每G字節(jié)幾元或更低現(xiàn)在是44頁\一共有282頁\編輯于星期二2023/4/2545Cache——

主存層次主要解決速度問題通過輔助硬件,把主存和Cache構成統(tǒng)一整體,使它具有接近Cache的速度、主存的容量和接近于主存的平均價格。主存——

輔存層次主要解決容量問題大量的信息存放在大容量的輔助存儲器中,當需要使用這些信息時,借助輔助軟、硬件,自動地以頁或段為單位成批調(diào)入主存中。現(xiàn)在是45頁\一共有282頁\編輯于星期二2023/4/25464.2半導體存儲器4.2.1半導體存儲器的分類現(xiàn)在是46頁\一共有282頁\編輯于星期二2023/4/25474.2.2隨機存取存儲器的結構及工作原理

1.

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

現(xiàn)在是47頁\一共有282頁\編輯于星期二2023/4/2548存儲器芯片現(xiàn)在是48頁\一共有282頁\編輯于星期二2023/4/2549存儲器芯片一般做成雙列直插形式,有若干引腳引出地址線、數(shù)據(jù)線、控制線及電源與地線等。半導體存儲器芯片一般有兩種結構:字片式結構和位片式結構?!瑼n-1~0…Dm-1~0R/WCS電源地線現(xiàn)在是49頁\一共有282頁\編輯于星期二2023/4/25501)字片式結構的存儲器芯片現(xiàn)在是50頁\一共有282頁\編輯于星期二2023/4/2551單譯碼方式(一維譯碼):訪存地址僅進行一個方向譯碼的方式。每個存儲單元電路接出一根字線和兩根位線。存儲陣列的每一行組成一個存儲單元,存放一個8位的二進制字。一行中所有單元電路的字線聯(lián)在一起,接到地址譯碼器的對應輸出端。6位訪存地址經(jīng)地址譯碼器譯碼選中某一輸出端有效時,與該輸出端相聯(lián)的一行中的每個單元電路同時進行讀寫操作,實現(xiàn)一個字的同時讀/寫?,F(xiàn)在是51頁\一共有282頁\編輯于星期二2023/4/255264字×8位的存儲體中共有64個字,每個字為8位,排成64×8的陣列。存儲芯片共需6根地址線,8根數(shù)據(jù)線,一次可讀出一個字節(jié)。存儲體中所有存儲單元的相同位組成一列,一列中所有單元電路的兩根位線分別連在一起,并使用一個讀/寫放大電路。讀/寫放大電路與雙向數(shù)據(jù)線相連?,F(xiàn)在是52頁\一共有282頁\編輯于星期二2023/4/2553讀/寫控制線R/W

:控制存儲芯片的讀/寫操作。片選控制線

CS:CS為低電平時,選中芯片工作;CS為高電平時,芯片不被選中。操作00寫01讀1×未選中現(xiàn)在是53頁\一共有282頁\編輯于星期二2023/4/2554字片式結構存儲器芯片,由于采用單譯碼方案,有多少個存儲字,就有多少個譯碼驅(qū)動電路,所需譯碼驅(qū)動電路多。雙譯碼方式(二維譯碼):采用行列譯碼的方式,位于選中的行和列的交叉處的存儲單元被唯一選中。采用雙譯碼方式的存儲芯片即位片式結構存儲器芯片?,F(xiàn)在是54頁\一共有282頁\編輯于星期二2023/4/25552)位片式結構的存儲器芯片現(xiàn)在是55頁\一共有282頁\編輯于星期二2023/4/25564K×1位的位片式存儲器芯片中有4096個存儲單元電路,排列成64×64的陣列。4096個單元需12位地址。將12位地址分為6位行地址和6位列地址。對于給定的訪存地址,經(jīng)行、列譯碼后,選中一根行地址選擇線和列地址選擇線有效。行地址選擇線選中一行中的64個存儲電路進行讀寫操作。列地址選擇線用于選擇64個多路轉(zhuǎn)接開關,控制各列是否能與讀/寫電路的接通。每個多路轉(zhuǎn)接開關由兩個MOS管組成,控制一列中的64個存儲電路的位線與讀/寫電路的接通?,F(xiàn)在是56頁\一共有282頁\編輯于星期二2023/4/2557當選中存儲芯片工作時,首先給定訪存地址,并給出片選信號CS和讀寫信號R/W6行列地址,被選的行、列選擇線的交叉處的存儲電路被唯一地選中,讀出或?qū)懭胍晃欢M制信息。采用雙譯碼方案,對于4096個字只需128個譯碼驅(qū)動電路。而若采用單譯碼方案,4096個字將需4096個譯碼驅(qū)動電路?,F(xiàn)在是57頁\一共有282頁\編輯于星期二2023/4/25583)Intel2114芯片Intel2114是1K×4位的靜態(tài)MOS存儲器芯片。采用N—MOS工藝制作,雙列直插式封裝。共18個引腳。A9~A0:10根地址線,用于尋址1024個存儲單元I/O4~I/O1:4根雙向數(shù)據(jù)線CS:片選信號線WE:讀/寫控制線+5V:5V電源線GND:地線現(xiàn)在是58頁\一共有282頁\編輯于星期二2023/4/2559三態(tài)門X0X63Y0Y15現(xiàn)在是59頁\一共有282頁\編輯于星期二2023/4/25602114芯片由存儲體、地址緩沖器、地址譯碼器、讀/寫控制電路及三態(tài)輸入輸出緩沖器組成。存儲體中共有4096個六管存儲單元電路,排列成64×64陣列。地址譯碼采用二維譯碼結構,10位地址碼分成兩組,A8~A3作為6位行地址,經(jīng)行地址譯碼器驅(qū)動64根行選擇線。A2~A0及A9作為4位列地址,經(jīng)列地址譯碼器驅(qū)動16根列選擇線,每根列選擇線同時選中64列中的4列,控制4個轉(zhuǎn)接電路,控制被選中的4列存儲電路的位線與I/O電路的接通。被選的行選擇線與列選擇線的交叉處的4個存儲電路,就是所要訪問的存儲字。4個存儲電路對應一個字的4位?,F(xiàn)在是60頁\一共有282頁\編輯于星期二2023/4/2561在存儲體內(nèi)部的陣列結構中,存儲器的讀/寫操作由片選信號CS與讀/寫控制信號WE控制。CS為高電平時,輸入與輸出的三態(tài)門均關閉,不能與外部的數(shù)據(jù)總線交換信息。CS為低電平時,芯片被選中工作,若WE為低電平,則打開4個輸入三態(tài)門,數(shù)據(jù)總線上的信息被寫入被選的存儲單元;若WE為高電平,打開4個輸出三態(tài)門,從被選的存儲單元中讀出信息并送到數(shù)據(jù)總線上。現(xiàn)在是61頁\一共有282頁\編輯于星期二2023/4/25624)TMS4116芯片TMS4116是由單管動態(tài)MOS存儲單元電路構成的動態(tài)RAM芯片。容量為16k×1位。16k的存儲器應有14根地址線,為了節(jié)省引腳,該芯片只使用7根地址線A6~A0,采用分時復用技術,分兩次把14位地址送入芯片。行地址選通信號RAS:用于將低7位地址A6~A0打入行地址緩沖器鎖存。列地址選通信號CAS:用于將高7位地址A13~A7,打入列地址緩沖器鎖存?,F(xiàn)在是62頁\一共有282頁\編輯于星期二2023/4/2563TMS4116的外部引腳現(xiàn)在是63頁\一共有282頁\編輯于星期二2023/4/2564TMS4116的內(nèi)部邏輯結構現(xiàn)在是64頁\一共有282頁\編輯于星期二2023/4/256516k×1位共16384個單管MOS存儲單元電路,排列成128×128的陣列,并將其分為兩組,每組為64行×128列。每根行選擇線控制128個存儲電路的字線。列選擇線控制讀出再生放大器與I/O緩沖器的接通,控制數(shù)據(jù)的讀出或?qū)懭?。每一根列選擇線控制一個讀出再生放大器,128列共有128個讀生再生放大器,一列中的128個存儲電路分為兩組,每64個存儲電路為一組,兩組存儲電路的位線分別接入讀出再生放大器的兩端?,F(xiàn)在是65頁\一共有282頁\編輯于星期二2023/4/2566TMS4116的存儲陣列結構

現(xiàn)在是66頁\一共有282頁\編輯于星期二2023/4/2567行地址經(jīng)行地址譯碼選中某一根行線有效,接通此行上的128個存儲電路中的MOS管,使電容所存信息分別送到128個讀出再生放大器放大。同時,經(jīng)放大后的信息又回送到原電路進行重寫,使信息再生。列地址經(jīng)列地址譯碼選中某根列線有效,接通相應的列控制門,將該列上讀出放大器輸出的信息送入I/O緩沖器,經(jīng)數(shù)據(jù)輸出寄存器通過數(shù)據(jù)輸出引腳DOUT輸出到系統(tǒng)數(shù)據(jù)總線上。TMS4116的讀出現(xiàn)在是67頁\一共有282頁\編輯于星期二2023/4/2568TMS4116的寫入首先將要寫入的信息通過數(shù)據(jù)輸入引腳DIN經(jīng)由數(shù)據(jù)輸入寄存器、I/O緩沖器送入被選列的讀出再生放大器中,然后再寫入行、列同時被選中的存儲單元。為寫允許控制線為高電平,讀出;為低電平,寫入。TMS4116芯片沒有專門設置選片信號,一般用

信號兼做選片控制信號。只有當有效(低電平)時,芯片才工作。

現(xiàn)在是68頁\一共有282頁\編輯于星期二2023/4/2569TMS4116的刷新當某個存儲單元被選中進行讀/寫操作時,該單元所在行的其余127個存儲電路也將自動進行一次讀出再生操作,即完成一次刷新操作。TMS4116的刷新是按行進行的,每次只加行地址,不加列地址,即可實現(xiàn)被選行上的所有存儲電路的刷新。即一次可以刷新128個存儲單元電路?,F(xiàn)在是69頁\一共有282頁\編輯于星期二2023/4/2570TMS4116芯片的讀、寫周期時序在讀周期中,行地址必須在RAS有效前有效,列地址必須在CAS有效前有效,并且在CAS到來之前,WE必須為高電平,并保持到CAS結束之后。在寫周期中,當WE有效之后,所加的DIN信號必須保持到CAS變?yōu)榈碗娖街?,RAS、CAS和WE全部有效時,將DIN數(shù)據(jù)寫入被選的存儲單元?,F(xiàn)在是70頁\一共有282頁\編輯于星期二2023/4/2571讀周期(列選通下降沿觸發(fā))現(xiàn)在是71頁\一共有282頁\編輯于星期二2023/4/2572寫周期(列選通下降沿觸發(fā))現(xiàn)在是72頁\一共有282頁\編輯于星期二2023/4/25735)動態(tài)存儲器的刷新方式

因為電容電荷的泄放會引起信息的丟失,所以動態(tài)MOS存儲器每隔一定時間需進行一次刷新操作。刷新的間隔時間主要由電容電荷泄放速度決定。①刷新最大周期(刷新最大間隔)設存儲電容為C,其兩端電壓為u,

電荷Q=C?u,則泄漏電流I為:現(xiàn)在是73頁\一共有282頁\編輯于星期二2023/4/2574所以泄漏時間為Δu:電容兩端的電壓變化I:泄露電流C:存儲電容例如設某動態(tài)MOS元件的C=0.2pf,

當I=0.1nA,電壓變化Δu=1V時,信息將丟失。則泄漏時間Δt為:說明該動態(tài)MOS元件每隔2ms必須刷新一次,Δt就是刷新最大周期(刷新最大間隔)?,F(xiàn)在是74頁\一共有282頁\編輯于星期二2023/4/2575動態(tài)存儲器芯片的刷新均是按行刷新。例如,對于16K的4116芯片,存儲體排成128×128陣列。刷新時,共需要刷新128行。每次由刷新地址計數(shù)器給出刷新的行地址,每刷新一行,刷新地址計數(shù)器加1。現(xiàn)在是75頁\一共有282頁\編輯于星期二2023/4/2576②動態(tài)存儲器的刷新方式

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

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

在刷新操作期間,禁止CPU對存儲器進行正常

讀/寫的訪問操作,稱這段時間為CPU的“死區(qū)”?,F(xiàn)在是76頁\一共有282頁\編輯于星期二2023/4/2577例如,設16k×1位芯片的存儲矩陣為128×128。存儲器的刷新最大周期為2ms,存儲器的存取周期為500ns,一次刷新操作可同時刷新128個存儲單元電路。因為存儲矩陣為128×128,所以對芯片內(nèi)的所有存儲單元電路全部刷新一遍需要128個存取周期。因此在2ms內(nèi),必須留出128個周期專用于刷新。因為存儲器的存取周期為500ns,所以在2ms內(nèi)需要有500×128=64μs專門用于刷新操作,其余1936μs可用于正常的存儲器讀寫操作?,F(xiàn)在是77頁\一共有282頁\編輯于星期二2023/4/2578集中式刷新的優(yōu)點

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

在“死區(qū)”內(nèi)CPU必須停止訪存操作,CPU利用率低?,F(xiàn)在是78頁\一共有282頁\編輯于星期二2023/4/2579B.分散式刷新

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

現(xiàn)在是79頁\一共有282頁\編輯于星期二2023/4/2580以128×128陣列、存取周期為500ns的存儲器芯片為例。采用分散式刷新時,系統(tǒng)總線周期為存取周期的兩倍,即1μs。這樣每隔128μs就可以將存儲器全部刷新一遍。現(xiàn)在是80頁\一共有282頁\編輯于星期二2023/4/2581C.異步式刷新異步式刷新是前兩種刷新方式的折衷。其思想是充分利用最大刷新間隔,每隔一段時間刷新一行。以128×128陣列、存取周期為500ns,刷新最大周期為2ms的存儲器芯片為例。因為要求在2ms內(nèi)將所有128行都刷新一遍,所以只要每隔2ms/128=15.6μs的時間刷新一行即可。取兩次刷新的間隔時間為周期的整數(shù),可使存儲器每隔15.5μs執(zhí)行刷新操作一次,一次刷新一行。這樣在15.5μs中,前15μs即30個存取周期用于讀/寫操作,后0.5μs用于刷新。現(xiàn)在是81頁\一共有282頁\編輯于星期二2023/4/2582異步式刷新既充分利用了2ms的最大刷新間隔,保持了存儲系統(tǒng)的高速性,又大大縮短了主機的“死區(qū)”,所以是一種最常用的刷新方式?,F(xiàn)在是82頁\一共有282頁\編輯于星期二2023/4/2583D.透明式刷新

利用CPU不訪存操作時主存的空閑時間進行刷新。透明式刷新方式的優(yōu)點:完全消除了“死區(qū)”。透明式刷新方式的缺點:較難控制何時能夠進行刷新,刷新控制電路極其復雜?,F(xiàn)在是83頁\一共有282頁\編輯于星期二2023/4/25844.2.4半導體存儲器的組成由于一塊存儲器芯片的容量總是有限的,因此一個存儲器總是由一定數(shù)量的存儲器芯片構成。要組成一個主存儲器,需要考慮的問題:①如何選擇芯片根據(jù)存取速度、存儲容量、電源電壓、功耗及成本等方面的要求進行芯片的選擇。②所需的芯片數(shù)量:

現(xiàn)在是84頁\一共有282頁\編輯于星期二2023/4/2585例:用2114芯片組成32K×8位的存儲器,所需2114芯片數(shù)為:③如何把許多芯片連接起來。要考慮地址、數(shù)據(jù)和控制信號線的連接。

通常存儲器芯片在單元數(shù)和位數(shù)方面都與實際存儲器要求有很大差距,所以需要在字方向和位方向兩個方面進行擴展?,F(xiàn)在是85頁\一共有282頁\編輯于星期二2023/4/25861.位擴展當芯片的單元數(shù)滿足存儲器單元數(shù)的要求,但單元中的位數(shù)不滿足要求時,需要進行位擴展。位擴展:只進行位數(shù)擴展(加大字長)。采用位擴展時,芯片的單元數(shù)(字數(shù))與存儲器的單元數(shù)是一致的。位擴展的連接方式:①將所有存儲器芯片的地址線、片選信號線和讀/寫控制線均對應的并接在一起,連接到地址和控制總線的對應位上。②將各芯片的數(shù)據(jù)線單獨列出,分別接到數(shù)據(jù)總線的對應位。現(xiàn)在是86頁\一共有282頁\編輯于星期二2023/4/2587例:用2114存儲器芯片構成1K×8位的存儲器。2114為1K×4位的芯片,現(xiàn)存儲器要求容量為1K×8位,單元數(shù)滿足,位數(shù)不滿足,需要1K×8/1K×4=2片

2114來構成存儲器。1K×8位的存儲器共需8根數(shù)據(jù)線D7~D0,兩片2114各自的4根數(shù)據(jù)線分別用于連接D7~D4和D3~D0。2114本身具有10根地址線,稱為片內(nèi)地址線,與存儲器要求的10根地址線一致,所以只要將他們并接起來即可。電路中CPU的讀/寫控制線(R/W)與2114的WE信號并接。MREQ為CPU的訪存請求信號,作為2114的片選信號連接到CS上?,F(xiàn)在是87頁\一共有282頁\編輯于星期二2023/4/2588存儲器位擴展舉例現(xiàn)在是88頁\一共有282頁\編輯于星期二2023/4/25892.字擴展當芯片單元中的的位數(shù)滿足存儲器位數(shù)的要求,但芯片的單元數(shù)不滿足存儲器單元數(shù)要求時,需要進行字擴展。字擴展:僅是單元數(shù)(字數(shù))擴展,而位數(shù)不變。采用字擴展時,芯片單元中的位數(shù)與存儲器的數(shù)據(jù)位數(shù)是一致的?,F(xiàn)在是89頁\一共有282頁\編輯于星期二2023/4/2590字擴展的連接方式:①將所有芯片的地址線、數(shù)據(jù)線、讀/寫控制線均對應地并接在一起,連接到地址、數(shù)據(jù)、控制總線的對應位上。②由片選信號區(qū)分被選芯片。片選信號:通常由高位地址經(jīng)譯碼進行控制。高位地址:存儲器總地址減去芯片內(nèi)部尋址的地址得到的地址?,F(xiàn)在是90頁\一共有282頁\編輯于星期二2023/4/2591例:用16K×8位的存儲器芯片構成64K×8位的存儲器。16K×8位的芯片,可以滿足64K×8位的存儲器數(shù)據(jù)位的要求,但不滿足單元數(shù)的要求。需要4片16K×8位的芯片采用字擴充方式來構成存儲器。64K×8位的存儲器需要16位地址線A15~A0,而16K×8位的芯片的片內(nèi)地址線為14根,所以用16位地址線中的低14位A13~A0進行片內(nèi)尋址,高兩位地址A15、A14用于選擇芯片,即選片尋址?,F(xiàn)在是91頁\一共有282頁\編輯于星期二2023/4/2592設存儲器從0000H開始連續(xù)編址,則四塊芯片的地址分配:第一片地址范圍為:0000H~3FFFH

第二片地址范圍為:4000H~7FFFH

第三片地址范圍為:8000H~BFFFH

第四片地址范圍為:C000H~FFFFH現(xiàn)在是92頁\一共有282頁\編輯于星期二2023/4/2593A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFH第一片010000000000000001111111111111114000H~7FFFH第二片100000000000000010111111111111118000H~BFFFH第三片11000000000000001111111111111111C000H~FFFFH第四片片內(nèi)地址片選地址現(xiàn)在是93頁\一共有282頁\編輯于星期二2023/4/2594現(xiàn)在是94頁\一共有282頁\編輯于星期二2023/4/25953.字和位同時擴展當芯片的單元數(shù)和單元的數(shù)據(jù)位均不滿足存儲器的要求時需要進行字和位的同時擴展。字和位同時擴展:按位擴展和字擴展的方法分別在位方向和字方向進行擴展?,F(xiàn)在是95頁\一共有282頁\編輯于星期二2023/4/2596①所有芯片的片內(nèi)地址線、讀/寫控制線均對應地并接在一起,連接到地址和控制總線的對應位上。②同一地址區(qū)域內(nèi),不同芯片的片選信號連在一起,接到片選譯碼器的同一輸出端;

不同地址區(qū)域內(nèi)內(nèi),各組芯片的片選信號分別接到片選譯碼器的不同輸出端。③不同地址區(qū)域內(nèi),同一位芯片的數(shù)據(jù)線對應地并接在一起,連接到數(shù)據(jù)總線的對應位上。不同位芯片的數(shù)據(jù)線分別連接到數(shù)據(jù)總線的不同位上。字和位同時擴展的連接方式現(xiàn)在是96頁\一共有282頁\編輯于星期二2023/4/2597例4.4:用2114芯片組成4K×8位存儲器需用8片2114芯片構成4K×8位存儲器。8片芯片排成4行×2列,每行按位擴展方法連接,每列按字擴展方法連接。存儲器地址線A11~A0,芯片片內(nèi)地址A9~A0,高兩位地址A11、A10用于選片尋址。存儲器數(shù)據(jù)線D7~D0,芯片數(shù)據(jù)線I/O3~I/O0,兩片芯片的數(shù)據(jù)線一同構成存儲器的8位數(shù)據(jù)線?,F(xiàn)在是97頁\一共有282頁\編輯于星期二2023/4/2598A11A10A9……A2A1A00000000000000011111111110000H~03FFH第一組0100000000000111111111110400H~07FFH第二組1000000000001011111111110800H~0BFFH第三組1100000000001111111111110C00H~0FFFH第四組現(xiàn)在是98頁\一共有282頁\編輯于星期二2023/4/2599現(xiàn)在是99頁\一共有282頁\編輯于星期二2023/4/25100例:某微機系統(tǒng)有16根地址線,8根數(shù)據(jù)線,地址空間安排為:16K系統(tǒng)程序存儲區(qū),用ROM芯片,安排在地址最低區(qū);接著留出16K的設備地址空間;其后的32K作為用戶程序區(qū),采用RAM芯片。給定芯片如下,請畫出連線圖,給出各存儲區(qū)的地址范圍。ROMD7~D0A13A0CSDE…RAMD7~D0A13A0CSRD…WR現(xiàn)在是100頁\一共有282頁\編輯于星期二2023/4/25101ROM區(qū):16K×8位,需1片16K×8位ROM芯片RAM區(qū):32K×8位,需2片16K×8位RAM芯片I/O區(qū):16K×8位,主存不應使用A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFHROM區(qū)010000000000000001111111111111114000H~7FFFHI/O區(qū)100000000000000010111111111111118000H~BFFFHRAM區(qū)111000000000000001111111111111111C000H~FFFFHRAM區(qū)2現(xiàn)在是101頁\一共有282頁\編輯于星期二2023/4/25102ROMA13~A0CSDERAMD7~D0A15A14CSRDWRRAMY0CSRDWR地址譯碼器MEMRY2Y3Y1R/W現(xiàn)在是102頁\一共有282頁\編輯于星期二2023/4/251034.

多種數(shù)據(jù)位輸出的組織問題多種數(shù)據(jù)的傳輸是指存儲器按照CPU的指令要求,與CPU間分別傳輸8位、16位、32位或64位數(shù)據(jù)的情況。此時,CPU要增加控制信號,控制存儲器傳輸不同位數(shù)的數(shù)據(jù)。

現(xiàn)在是103頁\一共有282頁\編輯于星期二2023/4/25104整數(shù)邊界存儲當計算機具有多種信息長度(8位、16位、32位等),則應當按存儲周期的最大信息傳輸量為界(Bm為界),保證數(shù)據(jù)都能在一個存儲周期內(nèi)存取完畢。例如,設計算機字長為32位,一個存儲周期內(nèi)可傳輸8位、16位、32位、64位等不同長度信息。那么1個8位、2個16位、2個32位、1個64位等信息的存儲地址應如何給出呢?現(xiàn)在是104頁\一共有282頁\編輯于星期二2023/4/25105⑴無邊界規(guī)定0000H0008H0010H64位/存儲周期0020H64816163232321664??????0018H現(xiàn)在是105頁\一共有282頁\編輯于星期二2023/4/25106無邊界規(guī)定時存在的問題若地址分配不合理,則會出現(xiàn)兩個周期才能將數(shù)據(jù)傳送完畢的情況。如上圖的第1個16位、第2個32位和64位都需兩個存儲周期才能完成訪問。無邊界規(guī)定有可能造成系統(tǒng)訪存速度的下降。現(xiàn)在是106頁\一共有282頁\編輯于星期二2023/4/25107⑵采用整數(shù)邊界0000H0008H0010H64位/存儲周期0020H??????0018H81616323264現(xiàn)在是107頁\一共有282頁\編輯于星期二2023/4/25108整數(shù)邊界地址安排8位(1個字節(jié))地址碼最低位為任意值XXXXXB16位(半字)地址碼最低1位為0XXXX0B32位(單字)地址碼最低2位為00XXX00B64位(雙字)地址碼最低3位為000XX000B現(xiàn)在是108頁\一共有282頁\編輯于星期二2023/4/25109采用整數(shù)邊界存在的問題浪費空間隨著半導體存儲器的擴容,以空間換取速度勢在必行?,F(xiàn)在是109頁\一共有282頁\編輯于星期二2023/4/25110例:請用2K×8bit的SRAM設計一個8K×16bit的存儲器,要求:⑴存儲器可以分別被控制訪問8位和16位數(shù)據(jù)??刂莆粩?shù)的信號B由CPU提供:當B=0時訪問16位數(shù)據(jù);當B=1時訪問8位數(shù)據(jù)。⑵存儲芯片地址按交叉方式編址。⑶畫出存儲器與CPU的連接原理圖。條件:①SRAM芯片除地址、數(shù)據(jù)線外,控制信號有(低電平有效)、(高電平讀、低電平寫)。②CPU提供的控制信號有(低電平有效)

、(高電平讀、低電平寫)等?,F(xiàn)在是110頁\一共有282頁\編輯于星期二2023/4/25111地址線的安排因為需要訪問8位數(shù)據(jù),所以將16位數(shù)據(jù)分為高8位和低8位,分別用奇存儲體和偶存儲體存放。即訪問16位數(shù)據(jù)時實際需要訪問兩個存儲體,而訪問8位數(shù)據(jù)時只需訪問一個存儲體,因此在地址線中需要有1位用于區(qū)分奇、偶存儲體。由于8K×16bit的存儲空間需要13根地址線,再加一根地址線用于選擇奇、偶存儲體,共14根地址線,這樣存儲空間實際變成了8K×2×8bit,相當于214×8bit?,F(xiàn)在是111頁\一共有282頁\編輯于星期二2023/4/25112為了符合整數(shù)邊界的要求,規(guī)定一個16位的單元必須由一個A0=1和一個A0=0的存儲單元構成,即系統(tǒng)采用低位交叉方式編址;而一個16位的數(shù)據(jù)必須存放在高位地址相同,低位分別為A0=1和A0=0的兩個單元中。規(guī)定14根地址線中,A0與B組合用于控制8位、16位數(shù)據(jù)的存取。由于每個SRAM芯片容量是2K,所以A11~A1用于片內(nèi)地址,A13、A12

用于2-4譯碼。得到4組譯碼信號,與A0、B組成每個芯片的片選信號。現(xiàn)在是112頁\一共有282頁\編輯于星期二2023/4/25113邏輯表達式BA0POddPEven000(選中)0(選中)讀寫16位0111不讀寫1010(選中)讀寫低8位110(選中)1讀寫高8位現(xiàn)在是113頁\一共有282頁\編輯于星期二2023/4/25114Peven=A0Podd=A0B2-4譯碼器Y0Y1Y2Y3A13A12現(xiàn)在是114頁\一共有282頁\編輯于星期二2023/4/25115CS1=Y0+PoddCS0=Y0+PevenCS3=Y1+PoddCS2=Y1+PevenCS5=Y2+PoddCS4=Y2+PevenCS7=Y3+PoddCS6=Y3+Peven每個芯片的片選信號現(xiàn)在是115頁\一共有282頁\編輯于星期二2023/4/25116現(xiàn)在是116頁\一共有282頁\編輯于星期二2023/4/25117現(xiàn)在是117頁\一共有282頁\編輯于星期二2023/4/251184.4高速緩沖存儲器(Cache)4.4.1Cache在存儲體系中的地位和作用

高速緩沖存儲器是位于主存與CPU之間的高速小容量存儲器,用來存放程序中當前最活躍的程序和數(shù)據(jù)。Cache的容量比主存小得多。采用Cache的主要目的提高存儲器的平均訪問速度,從而使存儲器的速度與CPU的速度相匹配。現(xiàn)在是118頁\一共有282頁\編輯于星期二2023/4/25119CPU在一個較短的時間間隔內(nèi),由程序產(chǎn)生的地址往往簇聚在一個很小的區(qū)域內(nèi)。如果把這一局部區(qū)域的程序和數(shù)據(jù)從主存復制到Cache中,使CPU能夠高速地在Cache中讀取指令和數(shù)據(jù),就可大大提高CPU的訪存速度。程序局部性原理現(xiàn)在是119頁\一共有282頁\編輯于星期二2023/4/25120現(xiàn)在是120頁\一共有282頁\編輯于星期二2023/4/25121Cache是按塊進行管理的Cache和主存均被分割成大小相同的塊。信息以塊為單位調(diào)入Cache。Cache中數(shù)據(jù)塊的大小一般為幾個~幾百個字節(jié)。主存中的數(shù)據(jù)塊可稱為“塊(black)”,Cache中數(shù)據(jù)塊可稱為“行(line)”或“槽(slot)”?,F(xiàn)在是121頁\一共有282頁\編輯于星期二2023/4/25122...........主存主存塊號塊A-1塊1塊0........塊C-1塊0CacheCache塊號B個字現(xiàn)在是122頁\一共有282頁\編輯于星期二2023/4/25123...........主存主存塊號塊A-1塊1塊0....塊C-1塊0CacheCache塊號塊1現(xiàn)在是123頁\一共有282頁\編輯于星期二2023/4/25124主存容量:A×B個字Cache容量:C×B個字設A=2a,B=2b,C=2c主存地址:Cache地址:主存塊號塊內(nèi)偏移量a位b位a+b位cache塊號塊內(nèi)偏移量c位b位c+b位現(xiàn)在是124頁\一共有282頁\編輯于星期二2023/4/25125Cache的命中根據(jù)程序局部性原理,可將包含CPU馬上要訪問內(nèi)容的主存塊調(diào)入Cache塊中。當CPU欲訪問某主存字時的兩種情況:①所需內(nèi)容已在Cache中,稱為CPU訪問Cache命中,CPU可直接訪問Cache。②所需內(nèi)容不在Cache中,稱為CPU訪問Cache不命中(失?。PU需訪問主存獲得所需內(nèi)容,并將包含所需內(nèi)容的主存塊調(diào)入Cache中,以備下次訪問?,F(xiàn)在是125頁\一共有282頁\編輯于星期二2023/4/25126Cache命中率Cache命中率:CPU要訪問的內(nèi)容在Cache中的比率。設在一個程序執(zhí)行期間,訪問Cache的總命中次數(shù)為Nc,訪問主存的次數(shù)為Nm,CPU訪問Cache的命中率為H,則有:現(xiàn)在是126頁\一共有282頁\編輯于星期二2023/4/25127Cache-主存系統(tǒng)的訪問時間設Tc為Cache命中時的訪問時間,Tm為Cache不命中時的主存訪問時間,1-H為不命中率,Ta為Cache-主存系統(tǒng)的平均訪問時間,則有:

Ta=H

Tc+(1-H)

Tm現(xiàn)在是127頁\一共有282頁\編輯于星期二2023/4/25128帶Cache存儲系統(tǒng)的加速比SpCache-主存系統(tǒng)的訪問效率e現(xiàn)在是128頁\一共有282頁\編輯于星期二2023/4/25129例:設CPU執(zhí)行某程序時共訪問Cache命中2000次,訪問主存50次,已知cache的存取周期為50ns,主存的存取周期為200ns。求該Cache-主存系統(tǒng)的命中率、平均訪問時間和訪問效率。解:Cache的命中率:

H=2000/(2000+50)≈0.97平均訪問時間:ta=0.97×50+(1-0.97)×200≈54.5ns訪問效率:現(xiàn)在是129頁\一共有282頁\編輯于星期二2023/4/25130利用目前的大規(guī)模集成電路技術和生產(chǎn)工藝,人們可以在CPU芯片內(nèi)部放置一定容量的高速緩沖存儲器(Cache)。一級(L1)Cache

:CPU芯片內(nèi)部的高速緩沖存儲器。二級(L2)Cache

:CPU外部由SRAM構成的高速緩沖存儲器。目前最新的CPU內(nèi)部已經(jīng)可以放置二級乃至三級Cache?,F(xiàn)在是130頁\一共有282頁\編輯于星期二2023/4/251314.4.2Cache的基本結構及工作原理現(xiàn)在是131頁\一共有282頁\編輯于星期二2023/4/25132⑴Cache存儲陣列由高速存儲器構成,用于存放主存信息的副本。容量小于主存,但編址方式、物理單元長度均與主存相同。⑵地址映像變換機構用于實現(xiàn)主存地址與Cache地址轉(zhuǎn)換的部件,一般由相聯(lián)存儲器組成,用以記錄主存內(nèi)容存入Cache時兩者地址的對應關系。⑶替換策略實現(xiàn)機構根據(jù)一定的算法,用硬件實現(xiàn)塊的替換。1.Cache的基本結構現(xiàn)在是132頁\一共有282頁\編輯于星期二2023/4/25133在帶Cache的存儲器中,CPU的訪存地址被分割成兩部分:①塊地址(塊框架地址、塊號)用于查找該塊在Cache中的位置。②塊內(nèi)偏移量(塊內(nèi)位移)用于確定所訪問的數(shù)據(jù)在塊中的位置。01011010001000000100101110011100塊號塊內(nèi)偏移量現(xiàn)在是133頁\一共有282頁\編輯于星期二2023/4/25134⑴

當CPU需要進行訪存時,首先給出主存實地址。2.Cache的工作過程⑵

地址映像變換機構接收到主存實地址后,根據(jù)塊號判定所訪問的信息字是否在Cache中。若在(Cache命中),通過地址變換機構將主存塊號變換為Cache塊地址,再根據(jù)塊內(nèi)偏移量,對Cache進行存取。若不在(Cache不命中),則通知訪問Cache塊失效。然后通過CPU與主存之間的直接數(shù)據(jù)通路訪問主存,將被訪問字直接送給CPU,并將包含該字的新塊裝入Cache。若Cache巳滿,則通過替換策略實現(xiàn)機構,調(diào)出某一Cache塊,然后裝入所需的塊?,F(xiàn)在是134頁\一共有282頁\編輯于星期二2023/4/25135Cache的存在對程序員是透明的。在處理機每次訪問存儲器時,系統(tǒng)自動將地址轉(zhuǎn)換成Cache中的地址。提高Cache的訪問速度的方法⑴Cache的地址變換和數(shù)據(jù)塊的替換算法均用硬件實現(xiàn)。⑵在物理位置上讓Cache盡量靠近CPU,以減少CPU與Cache之間的傳輸延遲。如將Cache集成在CPU芯片內(nèi)。⑶為了加速調(diào)塊,一般將每個數(shù)據(jù)塊的容量規(guī)定為并行主存系統(tǒng)一個存儲周期所能訪問到的字數(shù)?,F(xiàn)在是135頁\一共有282頁\編輯于星期二2023/4/251364.4.3Cache的地址映像方式因為CPU以主存地址訪問Cache,所以必須把訪存時必須把主存地址變換為Cache的實際地址。地址變換取決于地址的映像方式,就是主存信息按什么規(guī)則裝入Cache。現(xiàn)在是136頁\一共有282頁\編輯于星期二2023/4/25137直接映像是指任何一個主存塊只能復制到Cache的某一固定塊中。直接映像的思想是:將主存塊號除以Cache塊數(shù)結果“同余”的主存塊映射在同一Cache塊中。設Cache中有2m個塊,主存中有2n個塊。設Cache塊號為i,主存塊號為j,則有:

i=jmod2m即:Cache塊號i=主存塊號jmodCache塊數(shù)1.直接映像方式現(xiàn)在是137頁\一共有282頁\編輯于星期二2023/4/25138主存中主存地址除以Cache塊數(shù)結果“同余”的主存塊映射在同一Cache塊中。也就是主存的n位塊地址中低m位相同的塊將被映射到同一個Cache塊中。若主存和Cache地址采用十進制編號,也可以同樣計算i與j的對應關系。現(xiàn)在是138頁\一共有282頁\編輯于星期二2023/4/25139主存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塊m位2n塊2m塊現(xiàn)在是139頁\一共有282頁\編輯于星期二2023/4/25140采用直接映像方式時,主存地址分成三段:區(qū)號用于判斷Cache命中與否。區(qū)內(nèi)塊號直接用于在Cache中進行塊尋址。塊內(nèi)偏移量用于塊內(nèi)字或字節(jié)的尋址。地址映像機構在判斷塊命中與否時,只需判斷Cache中某一塊對應于主存中哪一區(qū)即可。區(qū)號(標識)區(qū)內(nèi)塊號塊內(nèi)偏移量n-mnm現(xiàn)在是140頁\一共有282頁\編輯于星期二2023/4/25141地址變換方式利用標識Cache中的內(nèi)容實現(xiàn)地址變換。標識Cache用于存放主存塊在Cache中的調(diào)入情況。標識Cache共有2m個單元,每個單元對應一個Cache塊,每個單元中標識信息長n-m位。區(qū)號(標識)區(qū)內(nèi)塊號塊內(nèi)偏移量n-mnm主存地址Cache地址塊號塊內(nèi)偏移量m現(xiàn)在是141頁\一共有282頁\編輯于星期二2023/4/25142直接映像下的標識Cache

標識tag(主存區(qū)號)有效位Cache塊012m-1n-m1塊0塊1塊2m-1現(xiàn)在是142頁\一共有282頁\編輯于星期二2023/4/25143標識Cache現(xiàn)在是143頁\一共有282頁\編輯于星期二2023/4/25144訪存時,以主存塊號為地址定位到塊表的相應位置,再將主存地址中的區(qū)號與標識Cache中的相應單元中的區(qū)號比較。如果相等,表示Cache命中,將主存塊號和塊內(nèi)偏移量變換為Cache塊號和塊內(nèi)偏移量,即可在Cache中訪問所需的單元。在直接映像方式中,區(qū)號也稱為標識(tag)。區(qū)內(nèi)塊號和塊內(nèi)偏移量也可合稱為索引(index)。用于存放數(shù)據(jù)或指令的Cache,可稱為內(nèi)容Cache?,F(xiàn)在是144頁\一共有282頁\編輯于星期二2023/4/25145在直接映像方式下,主存中存儲單元的數(shù)據(jù)只可調(diào)入Cache中的一個位置,如果主存中另一個存儲單元的數(shù)據(jù)也要調(diào)入該位置,則將發(fā)生沖突。直接映像方式的特點:⑴硬件線路簡單;⑵地址變換速度快;⑶因為主存塊在Cache中的位置固定,一個主存塊只能對應一個Cache塊,所以沒有替換策略問題;⑷塊的沖突率高,若程序往返訪問兩個相互沖突的塊,將會使命中率急劇下降。⑸Cache利用率低?,F(xiàn)在是145頁\一共有282頁\編輯于星期二2023/4/25146現(xiàn)在是146頁\一共有282頁\編輯于星期二2023/4/251472.全相聯(lián)映像及變換任何主存塊可映像到任意一個Cache塊。主存Cache0塊1塊…k塊…2n-1塊0塊1塊…2m-1塊設主存有2n塊Cache有2m塊現(xiàn)在是147頁\一共有282頁\編輯于星期二2023/4/25148地址變換方式全相聯(lián)映像的標識Cache共有2m個單元,每個單元的標識信息內(nèi)容為存入相應Cache塊的主存塊號,占n位。在全相聯(lián)映像中,主存塊號稱為標識,塊內(nèi)偏移量稱為索引?,F(xiàn)在是148頁\一共有282頁\編輯于星期二2023/4/25149全相聯(lián)映像下的標識Cache

標識tag(主存塊號)有效位Cache塊012m-1n1塊0塊1塊2m-1現(xiàn)在是149頁\一共有282頁\編輯于星期二2023/4/25150標識Cache現(xiàn)在是150頁\一共有282頁\編輯于星期二2023/4/25151在訪存操作時,根據(jù)主存地址中的塊號在標識Cache中查找是否有相同的主存塊號。如果有相同的主存塊號,則表示Cache命中,將對應的Cache塊號取出以對Cache進行訪問;如果沒有相同的主存塊號,則表示不命中,然后在對主存進行訪問并將主存中的塊調(diào)入Cache中的同時,將主存塊號和Cache塊號寫入標識Cache中,以改變地址映像關系。在調(diào)入新的數(shù)據(jù)塊時,需根據(jù)替換策略確定將Cache中的哪一個數(shù)據(jù)塊替換出去。現(xiàn)在是151頁\一共有282頁\編輯于星期二2023/4/25152⑴塊沖突概率小,Cache命中率高全相聯(lián)方法只有在Cache中的塊全部裝滿后才會出現(xiàn)塊沖突,所以塊沖突概率小。⑵Cache利用率高。⑶由于需要相聯(lián)存儲器實現(xiàn)相聯(lián)訪問和實現(xiàn)替換策略的硬件,故硬件復雜,成本高。⑷相聯(lián)訪問影響訪問速度。全相聯(lián)映像方式的特點現(xiàn)在是152頁\一共有282頁\編輯于星期二2023/4/25153組相聯(lián)映像是前兩種方式的一種折衷方式。組相聯(lián)映像方式是先將Cache塊分為若干組,每組中有相同數(shù)量的Cache塊,再將主存塊以和Cache組中的相同塊數(shù)進行分組。主存中的任何一組只能映像到Cache中的某一固定組,但同一組中的主存塊可調(diào)入Cache中指定組內(nèi)的任意塊中。3.組相聯(lián)映像方式現(xiàn)在是153頁\一共有282頁\編輯于星期二2023/4/25154主存Cache塊號對應組00組11組22組33組40組51組62組73組80組91組102組113組0組0塊0組…0組3塊1組0塊1組…1組3塊2組0塊2組…2組3塊3組0塊3組…3組3塊現(xiàn)在是154頁\一共有282頁\編輯于星期二2023/4/25155將主存第i塊映像到Cache的第k組,即:k=imodG(G為Cache的組數(shù))即主存塊號除以Cache組數(shù)同余的塊被映射到在一組中。設主存有2n塊,Cache有2m塊,組數(shù)G=2g,則當用二進制數(shù)表示地址時,G實際上就是主存塊地址i的低g位:g位

組號G主存塊地址i組內(nèi)塊號(標識)n-g位n位現(xiàn)在是155頁\一共有282頁\編輯于星期二2023/4/25156組相聯(lián)的地址變換方式在組相聯(lián)映像方式下,同一組中的主存塊可調(diào)入Cache中一個指定組內(nèi)的任意塊中。如果組的大小為1時就變成了直接映像;如果組的大小為整個Cache的尺寸時就變成了全相聯(lián)映像。如果一個組里有k塊,則這種組相聯(lián)映像方式也稱為k路組相聯(lián)?,F(xiàn)在是156頁\一共有282頁\編輯于星期二2023/4/25157在組相聯(lián)映像中,組的個數(shù)一般為2的冪,主存地址和Cache地址的形式為:組內(nèi)塊號(標識)組號塊內(nèi)偏移量ng主存地址Cache地址m組號組內(nèi)塊號塊內(nèi)偏移量m-ggn-gngmm-ggn-gCache塊號現(xiàn)在是157頁\一共有282頁\編輯于星期二2023/4/25158標識(tag)(n-g位)有效位(1位)Cache塊01…2m-g-1………2m-10組2g-1組組相聯(lián)映像下的標識Cache現(xiàn)在是158頁\一共有282頁\編輯于星期二2023/4/25159在訪存操作時,根據(jù)訪存地址中的組號,在塊表中查找該組對應的若干項中是否有相應的主存標識。如果有且有效位為“1”,表示Cache命中,將在對應的Cache塊中根據(jù)塊內(nèi)偏移地址對Cache中的相應單元進行訪問;如果沒有或有效位為“0”,表示不命中,對主存進行訪問并將主存中的塊按所屬的組調(diào)入Cache組中合適的塊中,同時將主存的組內(nèi)塊號寫入標識Cache,以改變地址映像關系。在新的數(shù)據(jù)塊調(diào)入時,還需確定將組內(nèi)的哪一個數(shù)據(jù)塊替換出去?,F(xiàn)在是159頁\一共有282頁\編輯于星期二2023/4/25160例:某主存容量為64B,Cache容量為16B,Cache塊的大小為4B,采用組相聯(lián)映像方式,每組的大小為2塊。主存為16塊,Cache為4塊,分為2組。主存與Cache地址:組內(nèi)塊號(標識)組號塊內(nèi)偏移量41主存地址Cache地址2組號組內(nèi)塊號塊內(nèi)偏移量11322現(xiàn)

溫馨提示

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

最新文檔

評論

0/150

提交評論