3.1存儲(chǔ)器的構(gòu)成 二、六管靜態(tài)MOS存儲(chǔ)單元線路 存儲(chǔ)機(jī)理:利用雙穩(wěn)態(tài)觸發(fā)器保存信息 T1通、T2止,存0 T1止、T2通、存1 分析:1保持信息:不打擾,不送地址選通信號(hào);2讀出:送地址,發(fā)讀命令;3寫入:送地址,送數(shù)據(jù)發(fā)寫命令 2.單管動(dòng)態(tài)MOS存儲(chǔ)單元電路 存儲(chǔ)機(jī)理:依靠MOS電路柵極電容來 存儲(chǔ)信息電容上有電荷,存1 3.MOS型ROM 出廠后不能再改變。 三、地址譯碼方式 地址譯碼電路能把地址線送來的地址信號(hào)翻譯成對應(yīng)存儲(chǔ)單元的選擇信號(hào)。地址譯碼方式有單譯碼和雙譯碼兩種。 1單譯碼方式 單譯碼方式又稱字選法,所對應(yīng)的存儲(chǔ)器是字結(jié)構(gòu)的。 總結(jié):雙向譯碼使用的譯碼線大大減少, 所以使用廣泛 四.讀寫線路(很簡單,了解) 3.2存儲(chǔ)器擴(kuò)展 1、位擴(kuò)展:64K*1(64字線,8位線)組成64K*8的存儲(chǔ)器 解:要求連接四根線:地址線A,數(shù)據(jù)線D,片選線CS反,讀寫線WE反, 求片數(shù):64*1/(64*8) 2.字?jǐn)U充:現(xiàn)有芯片:16K*8組成 64K*8的存儲(chǔ)器 地址線同位擴(kuò)充,數(shù)據(jù)線對位相同讀寫信號(hào)響度, 總結(jié),位擴(kuò)充片選信號(hào)連一起,字?jǐn)U充片選信號(hào)分開。 為何A0-A15分別都連一起? 只有這樣才叫擴(kuò)充 字位混合擴(kuò)充,要先擴(kuò)充位再擴(kuò)充字,(位擴(kuò)充片選信號(hào)連一起而字?jǐn)U充不再一起) 3.3存儲(chǔ)器與CPU的連接 3.3.1RAM芯片與CPU接口特性 各種RAM芯片主要有蝦類積累外部接口信號(hào)線如下圖 地址線-Ai 讀/寫控制線-WE反或WE反/OE反 電源線-Vcc 連接方法 1) 2) 3) 注意:1CPU與譯碼器地址線要依次連接,否則將使地址不連續(xù) 2.譯碼器與片選信號(hào)連接,由題目要求的地址范圍得出(關(guān)鍵,難點(diǎn)) 3.地址大小,根據(jù)范圍做減法得到十六進(jìn)制然后轉(zhuǎn)換成二進(jìn)制看的個(gè)數(shù) 以上全是全譯碼方式下面講一個(gè)線譯碼方式:注意地址是不連續(xù)的 線選法的優(yōu)點(diǎn)是不需要譯碼器,線路簡單,選擇芯片不需外加邏輯電路。存在問題:線選法不能充分利用那個(gè)系統(tǒng)的存儲(chǔ)空間,且把地址空間分成了互相隔離的區(qū)域,給編程帶來困難 3.3.4動(dòng)態(tài)存儲(chǔ)器DRAM刷新 1、刷新間隔 原因:電容器自動(dòng)放電。 每隔多少時(shí)間進(jìn)行一次刷新操作,主要根據(jù)柵極電容電荷的泄放速度來決定。 一般動(dòng)態(tài)MOS存儲(chǔ)器每隔2ms必須進(jìn)行一次刷新,稱作刷新最大周期 2、刷新方式 對整個(gè)存儲(chǔ)器來說,各存儲(chǔ)芯片可以同時(shí)刷新。對每塊芯片來說,則是按行刷新,每次刷新一行,所需要時(shí)間為一個(gè)刷新周期。若DRAM為128*128,則在2ms之中至少安排128個(gè)刷新周期 一般有三種典型的刷新方式 1集中式刷新。在允許的最大刷新間隔2ms內(nèi),按照存儲(chǔ)器容量大小集中安排刷新時(shí)間,此刻要停止讀/寫操作。如果對16384的矩陣(128*128)進(jìn)行刷新。該存儲(chǔ)器的存儲(chǔ)周期為500ns 死區(qū)率太大 2分散式刷新:把系統(tǒng)的存儲(chǔ)周期分為兩部分。前部分使勁進(jìn)行讀/寫或出于保存狀態(tài)。后部分時(shí)間進(jìn)行刷新,在一個(gè)周期內(nèi)刷新大院矩陣的一行。對128*128矩陣,則需要128個(gè)周期后才能把全部單元刷新完畢。如果芯片的存取時(shí)間是500ns,那么及其的存取周期應(yīng)安排兩倍的時(shí)間即1us, 3異步式刷新:采取2ms內(nèi)分散地反128行刷新一遍,那么對于每一行平均刷新呢的時(shí)間間隔為2ms/128=15.625us,取15.6us提出一次刷新請求。提出刷新請求時(shí),有可能CPU正在訪存,可待至CPU交出控制權(quán)后,再安排刷新周期,所以稱異步刷新方式。而在刷新時(shí)間內(nèi)把讀/寫操作封鎖。這樣,對每行單元的刷新間隔仍未2ms。但對分散式刷新而言,它減少了刷新次數(shù);對集中式來說主機(jī)的死區(qū)又縮短了很多。因此這種方式使用得比較多。 34提高存儲(chǔ)器性能的技術(shù) 簡單回顧 SRAM狀態(tài)穩(wěn)定,接口簡單,速度快,但集成度低,成本高,功能較大,所以一般用來組成高速緩存和小容量主存系統(tǒng) DRAM適用于大容量的主存系統(tǒng)。DRAM在原理上和結(jié)構(gòu)與SRAM芯片在與CPU接口時(shí),有兩種特殊的問題應(yīng)該考慮: 1刷新問題。需加刷新電路 2地址信號(hào)輸入問題。由于DRAM集成度高,存儲(chǔ)容量大,引腳數(shù)量不夠所以地址的輸入采用兩路鎖存方式(分兩次送入,先送行,后送列) 3.4.2存儲(chǔ)器制造技術(shù)的發(fā)展 作為計(jì)算機(jī)主存儲(chǔ)器的DRAM問世以來,存儲(chǔ)技術(shù)不斷提高,先后出現(xiàn)了: 1. 2. FPM DRAM假定下一個(gè)所需數(shù)據(jù)處于同一行的下一列(事實(shí)上,一般程序和數(shù)據(jù)在主存中排列地址是連續(xù)的)這樣,發(fā)出一行選RAS和行地址RAS選擇以后能夠。但是RAS信號(hào)不撤銷,然后連續(xù)的發(fā)列地址CAS和CA。因此,避免了行充電時(shí)間,較快的獲取數(shù)據(jù)。FPM DRAM存儲(chǔ)時(shí)間在60ns左右。大量應(yīng)用在486,586機(jī)上。 3. 即擴(kuò)展數(shù)據(jù)輸出DRAM EDO DRAM 是對EPM DRAM的簡單擴(kuò)充,加了少量的邏輯電路,以便使在芯片外組織數(shù)據(jù)流 這種方案是在RAM輸出增加一組“門檻”電路或稱二級內(nèi)存單元,這些單元可以存儲(chǔ)數(shù)據(jù)并保持位數(shù),因此,不必等待當(dāng)前讀寫完成,即可啟動(dòng)下一個(gè)讀/寫周期,直到CPU可靠的讀走。 EDO DRAM芯片在時(shí)鐘頻率高達(dá)50Mhz時(shí)仍能工作 4. SDRAM(Synchronous DRAM),即同步主存,其最大特點(diǎn)是與CPU的外頻同步 SDRAM在同步脈沖的控制下工作,取消了主存等待時(shí)間,減少了數(shù)據(jù)傳送的延遲時(shí)間,因而加快了系統(tǒng)速度。 SDRAM基于雙存儲(chǔ)體結(jié)構(gòu),內(nèi)涵兩個(gè)交錯(cuò)的存儲(chǔ)矩陣,當(dāng)CPU從一個(gè)存儲(chǔ)矩陣的訪問數(shù)據(jù)的同時(shí),另一個(gè)已準(zhǔn)備讀/寫數(shù)據(jù)。通過兩個(gè)存儲(chǔ)矩陣的緊密配合,讀取效率提高策劃那個(gè)被提高。目前,SDRAM工作效率已達(dá)100MHZ,133MHZ 4.DDR SDRAM DDR SDEAM (Double Data Rate SDRAM),即雙速率SDRAM。DDR SDRAM的核心建立在SDRAM的基礎(chǔ)上,與SDRAM的主要區(qū)別是DDR SDRAM能在時(shí)鐘脈沖的上升沿和下降沿讀出數(shù)據(jù),不需要提高時(shí)鐘頻率就能加倍提高SDRAM速度,DDR的工作頻率可以達(dá)200MHZ 注意:存儲(chǔ)器是系統(tǒng)速度的瓶頸 3.4.3雙端口存儲(chǔ)器(注意是單體) 常規(guī)存儲(chǔ)器是單端擴(kuò)存儲(chǔ)器,每次只接受一個(gè)地址,訪問一個(gè)存儲(chǔ)單元,從中讀取或存放一個(gè)字節(jié)或一個(gè)字 雙端口存儲(chǔ)器具有兩個(gè)彼此獨(dú)立的讀/寫口,每隔讀/寫口都有一套獨(dú)立的地址寄存器和地址譯碼器,可以并行的工作。兩個(gè)讀/寫口可以按各自接受的地址,同時(shí)接受或?qū)懭?,或一個(gè)寫入一個(gè)讀出。與兩個(gè)獨(dú)立的存儲(chǔ)器不同,兩套讀/寫口德訪問空間相同,可以訪問同一個(gè)單元。 雙端口存儲(chǔ)器主要用于: 1在運(yùn)算器中采用雙端口芯片,作為通用寄存器組,能快速提供雙操作數(shù)。(可以提供存儲(chǔ)器的兩個(gè)操作數(shù)運(yùn)算) 2使用雙端口存儲(chǔ)器,讓一個(gè)個(gè)端口面向CPU,另一個(gè)端口面向外設(shè)和I/O處理機(jī),從而增大信息的吞吐量 3在多級系統(tǒng)中,長采用雙端口或多端口,作為各CPU的共享存儲(chǔ)器,實(shí)現(xiàn)多CPU之間的通信。 3.4.4多體并行訪問多字存儲(chǔ)器 多個(gè)并行存儲(chǔ)器共同一套地址寄存器,按同一地址碼并行地訪問各自對應(yīng)單元。由于n個(gè)體同時(shí)訪問各自單元(如A號(hào)),我們可將這n個(gè)存儲(chǔ)器視作一個(gè)大存儲(chǔ)器,故稱為單體。而每個(gè)編制對應(yīng)于n字*w位,故稱為多字方式,(單體多字,每次讀出多個(gè)字) 3.4.5多體并行交叉存儲(chǔ)器 多體,每個(gè)體有獨(dú)立的地址寄存器,交叉:指CPU連續(xù)給出多個(gè)地址 特點(diǎn):當(dāng)在送到不同體時(shí),和順序執(zhí)行時(shí)運(yùn)行良好。 3.4.6高速緩沖存儲(chǔ)器 為了彌補(bǔ)主存熟讀的不足,在處理機(jī)與主存之間設(shè)置一個(gè)高速小容量的緩沖存儲(chǔ)器,稱高速緩存(Cache) 工作原理:CPU向主存發(fā)送地址的同時(shí),向Cache發(fā)送地址,如果Cache中存在,直接將數(shù)據(jù)送給Cpu,若沒有,則從主存中取數(shù)據(jù)到CPU,同時(shí)將數(shù)據(jù)附近的一塊送到Cache CPU與Cache之間的數(shù)據(jù)交換式以字位單位,而Cache與主存之間的數(shù)據(jù)交換是以塊為單位,一個(gè)塊有若干個(gè)字組成,是定長的 為了實(shí)現(xiàn)Cache的上述功能,需要解決這樣一些問題 1. 2. 3. 4. 講解 1地址映像:“映像”,其物理意義就是位置的對應(yīng)關(guān)系,地址變換是將貯存地址變換成Cache地址。常見的映像方式主要有三種: 直接映像:(發(fā)撲克牌策略,很形象) 直接映像方式是多對一映射,但主存中每一個(gè)只能映像到某一個(gè)固定的Cache塊中。直接映像的關(guān)系式定義為:K=I mod M 訪問過程關(guān)鍵:根據(jù)Cache塊號(hào)找到Cache中所在塊,然后找塊頭(也就是主存區(qū)號(hào),這要高度注意Cache有這樣的頭),與需要訪問的主存區(qū)號(hào)標(biāo)志比較,相同則命中,再根據(jù)塊內(nèi)陸址找到相應(yīng)單元。 缺點(diǎn):只能在指定的區(qū)域,有空余也不能訪問其它。 2.全相聯(lián)映像 全相聯(lián)映像,主存中任何一塊都可以映像到Cache中任何一塊位置上/ 相聯(lián)存儲(chǔ)器 檢索字:檢索的關(guān)鍵字, 3.組相聯(lián)映像 這種方式是將Cache分成u組,每組V塊,將主存也分成U組,每組V塊,且u=V,即主存中一個(gè)組內(nèi)的塊數(shù)與Cache中分組數(shù)相同。這樣,主存塊存放到那個(gè)組是固定的,至于存放改組的那個(gè)塊是靈活的,如主存分為256組,每組8塊;Cache分成8組,每組2塊。主存中,第0塊、第8塊、第16塊。。。均映射與Cache的第0組,但可以映像與Cache的第0塊或第1塊;主存中第1塊。、第9塊、第17塊。。均映射與Cache的第一組,但可以映像于Cachhe的第2塊或第3塊中, 總結(jié):在Cache地址中:3位Cache組號(hào),1位組內(nèi)塊號(hào),9位塊內(nèi)陸址 在主存地址中:7位主存標(biāo)記,3位(在主存中無意義,Cache中表組號(hào)),1位主存標(biāo)記,9位塊內(nèi)陸址 組組間直接映像,組內(nèi)全相聯(lián)映像。 2.替換算法 常用的替換算法大致有以下兩類: 1先進(jìn)先出算法(FIFO) FIFO按調(diào)入Cache的先后決定淘汰的順序,即在需要更新時(shí),總是淘汰最先調(diào)入Cache的頁面內(nèi)容。這種方法容易實(shí)現(xiàn),系統(tǒng)開銷少,但不一定合理,因?yàn)橛行﹥?nèi)容顯然調(diào)入較早,但可能仍在使用 2.近期最少使用算法(LRU) 為Cache各頁建立一個(gè)Lru目錄記用它的調(diào)用情況。當(dāng)需要替換時(shí)將在最近一段時(shí)間內(nèi)使用最少的頁面內(nèi)容予以替換,該算法命中率高,但較FIFO算法復(fù)雜,系統(tǒng)開銷大 4. 1頁式虛擬存儲(chǔ)器 以頁為基本單位的虛擬存儲(chǔ)器叫頁式虛擬存儲(chǔ)器。程序虛地址分為兩個(gè)字段:高位字段為虛頁號(hào),低位字段為頁內(nèi)陸址。虛地址到實(shí)地址之間的變換是由也表來實(shí)現(xiàn)的 注意:1虛地址是編程序時(shí)的邏輯地址, 實(shí)地址是主存可訪問的地址 通過不斷地調(diào)入主存來獲得比主存大得多的存儲(chǔ)空間 2頁表中存在著邏輯頁號(hào)和物理頁號(hào)的對應(yīng)關(guān)系,并且有標(biāo)志是否裝入主存的有效位! 2段式虛擬存儲(chǔ)器 由于通常程序都具有一定的模塊性。一個(gè)復(fù)雜的大程序縱可以劃分成多個(gè)邏輯上相對獨(dú)立的模塊,模塊間的界面和調(diào)用關(guān)系式可以清楚定義的。這些模塊可以是主程序、過程,也可以是某類元素的集合。因此,分段管理是按用戶的要求提出來的。 不管他們在主存的實(shí)際位置是什么,每段的虛擬地址都從0開始。當(dāng)然,為了能夠把他們區(qū)分開,每段都有自己的段號(hào)。每段在主存的起始位置由段表或段寄存器來表明。 編程使用的虛地址包含兩部分:高位時(shí)段號(hào),低位時(shí)段內(nèi)陸址。段式虛擬存儲(chǔ)器的虛-實(shí)地址變換如下圖。CPU根據(jù)虛擬地址訪存時(shí),首先將段號(hào)與段表的起始地址想拼接,形成訪問段表對應(yīng)行的地址,然后根據(jù)段表內(nèi)裝入位判斷該段是否已調(diào)入內(nèi)存。若已調(diào)入內(nèi)存,從段表讀出該段在主存中的起始地址,與段內(nèi)陸址(偏移量)想加,得到對應(yīng)的主存實(shí)地址 注意:1段大小是不同的,且都從0開始。但是頁大小是固定的 2段還要注意越界問題 3段與段間有碎片(段內(nèi)可以收集消除),頁與頁只能是頁內(nèi) 由于段的分界與程序的自然分界相對應(yīng),所以具有邏輯獨(dú)立性,易于程序的編譯、管理、修改和保護(hù),也標(biāo)語多道程序共享。但是,因?yàn)槎蔚拈L度參差不齊,起點(diǎn)和終點(diǎn)補(bǔ)丁,給主存空間分配帶來了麻煩:容易在段間留下不能利用的零頭造成浪費(fèi) 3.段頁式虛擬存儲(chǔ)器 在分段管理方法中,存儲(chǔ)器宇硬盤交換信息時(shí)是以可變長的段為單位進(jìn)行的,對于容量比較大的段來講一次分配整個(gè)一段往往不是太靈活,因此我們可以把段再分成頁,我們把虛擬存儲(chǔ)器地址分成3部分,第一部分為段號(hào),第二部分為頁號(hào),第三部分為頁內(nèi)偏移量。 |
|