《存儲器和存儲器技術(shù).ppt》由會員分享,可在線閱讀,更多相關(guān)《存儲器和存儲器技術(shù).ppt(78頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第4章 存儲器和高速緩存技術(shù),4.1 存儲器和存儲器件,4.1.1 存儲器的分類,存儲器根據(jù)用途和特點可以分為兩大類: 1.內(nèi)部存儲器,簡稱為內(nèi)存或主存 快速存取 容量受限制 2.外部存儲器,簡稱為外存 容量大 速度慢,4.1 存儲器和存儲器件,存儲器容量以字節(jié)為單元,常用的有 210字節(jié)=1KB, 220字節(jié)=1024KB=1MB, 230字節(jié)=1024MB=1GB, 240字節(jié)=1024GB=1TB,4.1.2 微型計算機內(nèi)存的行列結(jié)構(gòu),4.1 存儲器和存儲器件,在微機中,存儲器按8位二進制數(shù)(一個字節(jié))編址,每一個單元都有一個地址。 計算機內(nèi)存采用行列結(jié)構(gòu)。,圖4.1
2、 32行32列組成的矩陣和外部的連接,4.1 存儲器和存儲器件, 易失性 只讀性 存儲容量 速度 功耗,4.1.3 選擇存儲器件的考慮因素,,4.1 存儲器和存儲器件,1. SRAM 由雙穩(wěn)電路構(gòu)成,存儲信息穩(wěn)定。 速度快,功耗大,容量小。用于存儲容量較小的系統(tǒng)中。,4.1.4 隨機存取存儲器RAM,4.1 存儲器和存儲器件,典型RAM芯片舉例:靜態(tài)RAM Intel 2114,靜態(tài)RAM Intel 2114 1K4的SRAM,1024個字,數(shù)據(jù)線4條,地址線10 根。,6.2.1:靜態(tài)存儲電路,4.1 存儲器和存儲器件,地址線的引腳與芯片的單元數(shù)有關(guān) 數(shù)據(jù)線的引腳與芯片的字長有關(guān) 地址范
3、圍從全0到全1的所有編碼,4.1 存儲器和存儲器件,利用電容存儲電荷的原理保存信息,由于電容存在的漏電現(xiàn)象而使其存儲的信息不穩(wěn)定,故DRAM芯片需要定時刷新。 容量高,功耗低,需要刷新。用于大容量的系統(tǒng)中。,2. DRAM,4.1 存儲器和存儲器件,從上一次對整個存儲器刷新結(jié)束時刻,到本次對整個存儲器完成全部刷新一遍為止,這一段時間間隔稱為刷新周期。一般為2ms,4ms或8ms。 刷新方法:動態(tài)MOS存儲器通常采用逐行“讀出”方式進行刷新,并且通常采用一次刷新一行存儲元的方法。 常用的刷新方式有三種,一種是集中式,另一種是分散式,第三種是異步式。,DRAM的刷新,在整個刷新間隔內(nèi),前一段時間重
4、復(fù)進行讀/寫周期或維持周期,不進行任何刷新操作。等到需要進行刷新操作時,則暫停讀/寫或維持周期,逐行且集中地刷新整個存儲器,它適用于高速存儲器。 以2116芯片為例: 假設(shè)芯片的信息維持時間為2ms,若采用集中式刷新,則如下圖所示:,集中式刷新:,這種刷新方法的特點: (1)由于刷新工作集中進行,對芯片的正常讀/寫周期不 產(chǎn)生影響; (2)同樣由于刷新工作的集中進行,會造成芯片“死時間” 過長的問題。 (因為芯片在刷新過程中,需禁止外部I/O的讀/寫操作),把一個存儲系統(tǒng)周期tc分為兩半,周期前半段時間tm用來讀/寫操作或維持信息,周期后半段時間tr作為刷新操作時間。對于2116芯片
5、來說,每經(jīng)過128個系統(tǒng)周期時間,整個存儲器便全部刷新一遍。 假設(shè)存儲器片的讀/寫周期為0.5 s,則系統(tǒng)周期時間為1s,每隔128s,整個存儲器便被刷新一次。,分散式刷新:,顯然,這種方法的缺陷至少有兩點: (1)增加了系統(tǒng)周期,進而降低了系統(tǒng)速度; (2)刷新過于頻繁。,是前兩種方式的結(jié)合。例如:2ms內(nèi)分散地把128行刷新一遍:2000s12815.5 s,即每隔15.5 s刷新一行。,異步式刷新方式,4.1 存儲器和存儲器件,刷新 一次刷新過程就是對存儲器進行一次讀取、放大和再寫入。 方法:常用的是“只有行地址有效”。 DRAM控制器 時序功能 地址處理功能 仲裁功能,4.1 存儲器
6、和存儲器件,圖4.2 DRAM控制器的原理圖,4.1 存儲器和存儲器件,4.1.5 只讀存儲器ROM,掩膜ROM 可編程只讀ROM 可讀寫ROM 閃爍存儲器,分 類,EPROM(紫外線擦除) EEPROM(電擦除),,,4.2 存儲器的連接, 高速CPU和較低速度存儲器之間的速度匹配問題。 高速CPU與低速存儲器之間的速度如果不匹配,應(yīng)在CPU訪問存儲器的周期內(nèi)插入等待脈沖TW。,4.2.1 存儲器和CPU的連接考慮,4.2 存儲器的連接, CPU總線的負(fù)載能力問題。 一個存儲器系統(tǒng),通常由多片存儲器芯片組成,需加驅(qū)動器。,4.2 存儲器的連接, 片選信號和行地址、列地址的產(chǎn)生機制。 存儲器往
7、往由多片存儲器芯片組成,在CPU與存儲器芯片之間必須設(shè)有片選擇譯碼電路,一般由CPU的高位地址譯碼產(chǎn)生片選,而低位地址送給存儲器芯片的地址輸入端,以提供存儲芯片內(nèi)部的行、列地址。,4.2 存儲器的連接, 對芯片內(nèi)部的尋址方法 用行列矩陣結(jié)構(gòu)對存儲單元進行選擇,在CPU連接時,通過低位地址線和芯片連接,為芯片提供行地址和列地址。, 存儲體 存儲器芯片的主要部分,用來存儲信息 地址譯碼電路 根據(jù)輸入的地址編碼來選中芯片內(nèi)某個特定的存儲單元 片選和讀寫控制邏輯 選中存儲芯片,控制讀寫操作,4.2 存儲器的連接,4.2 存儲器的連接,全譯碼法 適用于組合容量較大的存儲器 結(jié)構(gòu)復(fù)雜 部分譯碼法 線
8、譯碼法 適用于容量較小的存儲器 結(jié)構(gòu)簡單,4.2.2 片選信號的構(gòu)成方法,4.2 存儲器的連接,,全譯碼示例:,4.2 存儲器的連接,,部分譯碼示例:,4.2 存儲器的連接,,A14 A1300的情況不能出現(xiàn) 00000H01FFFH的地址不可使用,線選譯碼示例:,存儲器容量擴展的三種方法,1、位擴展,要求:用1K4位的SRAM芯片 1K8位的SRAM存儲器,,1、位擴展,容量= 2108位 舉例驗證: 讀地址為0 的存儲單元的內(nèi)容,1、位擴展,要點: (1)芯片的地址線A、讀寫控制信號WE#、片選信號CS#分別連在一起; (2)芯片的數(shù)據(jù)線D分別對應(yīng)于所搭建的存儲器的高若干位和低若干位
9、。,2、字?jǐn)U展,要求: 用1K位的SRAM芯片 2K8位的SRAM存儲器,2、字?jǐn)U展,分析地址: A10用于選擇芯片 A9A0用于選擇芯片內(nèi)的某一存儲單元,2、字?jǐn)U展,容量= 211 8位 舉例驗證: 讀地址為 0的存儲單元的內(nèi)容 讀地址為 10 0 的存儲單元 的內(nèi)容,2、字?jǐn)U展,要點: (1)芯片的數(shù)據(jù)線D、讀寫控制信號WE#分別連在一起; (2)存儲器地址線A的低若干位連接各芯片的地址線; (3)存儲器地址線A的高若干位作用于各芯片的片選信號CS#。,3、字位擴展,需擴展的存儲器容量為M N位 , 已有芯片的容量為L K位 (L
10、/K 個 芯片進行位擴展。,1、根據(jù)CPU芯片提供的地址線數(shù)目,確定CPU訪存的地址范圍,并寫出相應(yīng)的二進制地址碼; 2、根據(jù)地址范圍的容量,確定各種類型存儲器芯片的數(shù)目和擴展方法; 3、分配CPU地址線。CPU地址線的低位(數(shù)量存儲芯片的地址線數(shù)量)直接連接存儲芯片的地址線;CPU高位地址線皆參與形成存儲芯片的片選信號; 4、連接數(shù)據(jù)線、R/W#等其他信號線,MREQ#信號一般可用作地址譯碼器的使能信號。 需要說明的是,主存的擴展及與CPU連接在做法上并不唯一,應(yīng)該具體問題具體分析,三、主存儲器與CPU的連接,,舉例,例1:設(shè)CPU有16根地址線,8根數(shù)據(jù)線,并用MREQ#作訪存控制信號(低
11、電平有效),用R/W#作讀/寫控制信號(高電平為讀,低電平為寫)。現(xiàn)有下列存儲芯片:1K*4位SRAM;4K*8位SRAM;8K*8位SRAM;2K*8位ROM;4K*8位ROM;8K*8位ROM;及3:8譯碼器和各種門電路。 要求:主存的地址空間滿足下述條件:最小8K地址為系統(tǒng)程序區(qū)(ROM區(qū)),與其相鄰的16K地址為用戶程序區(qū)(RAM區(qū)),最大4K地址空間為系統(tǒng)程序區(qū)(ROM區(qū))。 請畫出存儲芯片的片選邏輯,存儲芯片的種類、片數(shù) 畫出CPU與存儲器的連接圖。,解:首先根據(jù)題目的地址范圍寫出相應(yīng)的二進制地址碼。,解題,第二步:選擇芯片 最小8K系統(tǒng)程序區(qū)8K*8位ROM,1片 16K用戶程序
12、區(qū)8K*8位SRAM, 2片; 4K系統(tǒng)程序工作區(qū)4K*8位SRAM, 1片。 第三步,分配CPU地址線。 CPU的低13位地址線A12A0與1片8K*8位ROM和兩片8K*8位SRAM芯片提供的地址線相連;將CPU的低12位地址線A11A0與1片4K*8位SRAM芯片提供的地址線相連。 第四步,譯碼產(chǎn)生片選信號。,,例2,例2: 設(shè)有若干片256K8位的SRAM芯片,問如何構(gòu)成2048K32位的存儲器?需要多少片RAM芯片?該存儲器需要多少根地址線?畫出該存儲器與CPU連接的結(jié)構(gòu)圖,設(shè)CPU的接口信號有地址信號、數(shù)據(jù)信號、控制信號MREQ#和R/W#。 解:采用字位擴展的方法。 SRAM芯片
13、個數(shù):2048K/256K 32/8 = 32片 每4片一組進行位擴展,共8組芯片進行字?jǐn)U展 片選:該存儲器需要21條地址線A20A0,其中高3位用于芯片選擇接到74LS138芯片的CBA,低18位接到存儲器芯片地址。 MREQ#:作為譯碼器的使能信號。,,例3: 用1k*4 的片子 2114 組成 2k*8 的存儲器,控制信號:訪存信號IO/M與讀寫信號WR.,,靜態(tài)隨機存儲器舉例:2114應(yīng)用,例3,試分析各芯片的地址范圍?,若要將存儲器地址布置在2400H開始的的單元,片選信號如何接線? 分析: A15 A14 A13A12 A11 A10 A9 A8 A7 A6 A5 A4 A
14、3 A2 A1 A0 0 0 1 0 0 1 0 0 0000 0000 1 1 1111 1111 第一組地址:2400H27FFH,譯碼器輸出的第9個信號作片選 0 0 1 0 1 0 0 0 0000 0000 1 1 1111 1111 第二組地址:2800H2BFFH ,譯碼器輸出的第10個信號作片選,,,,片內(nèi)尋址,4.2 存儲器的連接,4.3.1層次化的存儲器體系結(jié)構(gòu),1.層次化總體結(jié)構(gòu),存儲器層次化總體結(jié)構(gòu),4.3.1層次化的存儲器體系結(jié)構(gòu),PC機的內(nèi)存組織,,2.內(nèi)存的分區(qū)結(jié)構(gòu)
15、,4.3.1層次化的存儲器體系結(jié)構(gòu),,,基本內(nèi)存區(qū)的組織,(1)基本內(nèi)存區(qū),4.3.1層次化的存儲器體系結(jié)構(gòu),,,高端內(nèi)存區(qū)的組織,(2)高端內(nèi)存區(qū),4.3.1層次化的存儲器體系結(jié)構(gòu),,(3)擴充內(nèi)存區(qū),用高端內(nèi)存區(qū)64KB映射擴充內(nèi)存的1個頁組,4.3.1層次化的存儲器體系結(jié)構(gòu),指1MB以上但不是通過內(nèi)存擴充卡映射來獲得的內(nèi)存空間。 擴展內(nèi)存在32位CPU的直接尋址范圍內(nèi)。,(4)擴展內(nèi)存區(qū),4.3.2 微機計算機系統(tǒng)的內(nèi)存組織,1. 16位微機系統(tǒng)的內(nèi)存組織,0,7,8,15,4.3.2 微機計算機系統(tǒng)的內(nèi)存組織,2. 32位微機系統(tǒng)的內(nèi)存組織,4.4.1 虛擬儲存技術(shù)和三類地址,1、虛擬
16、存儲技術(shù) 2、段式虛擬存儲和頁式虛擬存儲 分段特點: 每段的長度不是固定的 每個段都是受到保護的獨立的空間 分頁特點: 一個系統(tǒng)中的所有頁面大小固定 頁面的起點和終點也固定 只有分頁機制才支持虛擬存儲,4.4.1 虛擬儲存技術(shù)和三類地址,3、邏輯地址、線性地址和物理地址 邏輯地址特點: 這是程序員編寫的源程序中使用的地址 完整的邏輯地址一共48位 邏輯地址中的選擇子對應(yīng)于一個段基址 線性地址特點: 線性地址是由2個32位量相加而成的 段基址由段描述符得到 線性地址是分為3個字段來體現(xiàn)其功能,4.4.2 分段管理,三種描述符表 全局描述符表GDT 局部描述符表LDT 中斷描述符表IDT 描述符表
17、三個優(yōu)點: 可大大擴展存儲空間 可實現(xiàn)虛擬存儲 可實現(xiàn)多任務(wù)隔離,4.4.3 段選擇子、段描述符和段描述符表,段選擇子,,4.4.3段選擇子、段描述符和段描述符表,段描述符,4.4.3段選擇子、段描述符和段描述符表,描述符表,4.4.4 邏輯地址轉(zhuǎn)換為線性地址,4.4.5 分頁管理,分頁功能涉及兩個表: 頁組目錄項表 頁表,4.4.6 線性地址轉(zhuǎn)換為物理地址,分頁機構(gòu)實現(xiàn)線性地址到物理地址的轉(zhuǎn)換,4.4.6 線性地址轉(zhuǎn)換為物理地址,圖4.20 線性地址轉(zhuǎn)換為物理地址的例子,4.4.7轉(zhuǎn)換檢測緩沖器TLB,轉(zhuǎn)換檢測緩沖器TLB的功能,4.5.1 Cache概述,由于CPU與主存之間在執(zhí)行速度上存
18、在較大的差異,為提高CPU的效率,并考慮到價格因素,基于程序的局部性原理,在CPU與主存之間增加的高速緩沖存儲器Cache技術(shù)。,4.5.1 Cache概述,Cache模塊 主存 Cache控制器,,Cache系統(tǒng)包含三個部分:,基本原理: 當(dāng)CPU要讀取主存中一個字時,總是將存放該字的內(nèi)存地址同時發(fā)給cache和主存。此時,cache控制邏輯立即依據(jù)地址,判斷該字當(dāng)前是否已在 cache中: 若是,將此字立即傳送給CPU,CPU無需再訪問主存(讓主存訪問失效); 若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時:把含有這個字的數(shù)據(jù)塊從主存讀出并裝入到cache中,將Cache中較舊的
19、內(nèi)容(塊)替換掉。,4.5.2 Cache的組織方式,按照主存和Cache之間的映像關(guān)系,Cache有三種組織方式。即:,全相聯(lián)方式 (fully associative) 直接映像方式 (direct mapped) 組相聯(lián)方式 (set associative),,4.5.2 Cache的組織方式,Cache的三種組織方式:,4.5.2 Cache的組織方式,全相聯(lián)Cache的例子:,4.5.2 Cache的組織方式,優(yōu)點:可使主存的一個塊直接拷貝到cache中的任意一行上,非常靈活。 缺點:比較電路難于設(shè)計和實現(xiàn),尤其當(dāng)Cache有一定容量時,查找某塊(行)比較麻煩。,全相聯(lián)Cache,
20、4.5.2 Cache的組織方式,直接映像Cache的例子:,4.5.2 Cache的組織方式,優(yōu)點:硬件簡單,成本低。 缺點:是每個主存塊只有一個固定的行位置可存放,容易產(chǎn)生沖突和Cache空間使用效率的降低。,直接映像Cache,4.5.2 Cache的組織方式,組相聯(lián)Cache的例子:,4.5.3 Cache的數(shù)據(jù)更新方法,兩類一致性問題: 數(shù)據(jù)丟失 數(shù)據(jù)過時,,4.5.4 Cache控制器82385,Cache控制器82385的管理體現(xiàn)于以下幾方面: Cache和主存的映像關(guān)系處理 未命中Cache時的處理 Cache的數(shù)據(jù)更新,4.5.4 Cache控制器82385,82
21、385通過片內(nèi)的Cache目錄使外部的32KBCache和4GB的主存之間實現(xiàn)映像,可以采用兩種常用的方法:直接映像方式和雙路組相聯(lián)映像方式。82385的引腳2W/D用于這兩種方式的選擇。,,82385工作于直接映像方式時Cache目錄、Cache及主存之間的關(guān)系 :,1. 82385控制的直接映像方式Cache系統(tǒng),4.5.4 Cache控制器82385,直接映像方式下82385從Cache中選1個區(qū)塊,4.5.4 Cache控制器82385,82385工作于雙路組相聯(lián)方式時Cache目錄、Cache及主存之間的關(guān)系圖 :,2. 82385控制的雙路組相聯(lián)方式Cache子系統(tǒng),4.5.4 Cache控制器82385,雙路組相聯(lián)方式下,82385從Cache中選個區(qū)塊,4.5.4 Cache控制器82385,