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

下載本文檔

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

文檔簡(jiǎn)介

1、第 4 章 存儲(chǔ)器系統(tǒng)引入: 電子計(jì)算機(jī)是 20 世紀(jì)人類最偉大的發(fā)明之一。隨著計(jì)算機(jī)的廣泛應(yīng)用, 人類社會(huì)生活的各個(gè)方面都發(fā)生了巨大的變化。特別是微型計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù) 的高速發(fā)展,計(jì)算機(jī)逐漸走進(jìn)了人們的家庭,正改變著人們的生活方式。計(jì)算機(jī)逐 漸成為人們生活和工作不可缺少的工具,掌握計(jì)算機(jī)的使用也成為人們必不可少的 技能。本章知識(shí)要點(diǎn):1)存儲(chǔ)器的分類和三層體系結(jié)構(gòu)2)RAM 、ROM 芯片的結(jié)構(gòu)、工作原理3)存儲(chǔ)器的擴(kuò)展方法4)高速緩沖存儲(chǔ)器技術(shù)5)虛擬存儲(chǔ)器技術(shù)6)存儲(chǔ)保護(hù)4.1 存儲(chǔ)器概述4.1.1 存儲(chǔ)器的分類在計(jì)算機(jī)的組成結(jié)構(gòu)中,有一個(gè)很重要的部分,就是存儲(chǔ)器。存儲(chǔ)器是一種記 憶

2、部件,是用來(lái)存儲(chǔ)程序和數(shù)據(jù)的,對(duì)于計(jì)算機(jī)來(lái)說(shuō),有了存儲(chǔ)器,才有記憶功能, 才能保證正常工作。存儲(chǔ)器的種類很多,常用的分類方法有以下幾種。一、按其用途分( 1 )內(nèi)存儲(chǔ)器 內(nèi)存儲(chǔ)器又叫內(nèi)存,是主存儲(chǔ)器。用來(lái)存儲(chǔ)當(dāng)前正在使用的或經(jīng)常使用的程序 和數(shù)據(jù)。 CPU 可以對(duì)他直接訪問(wèn),存取速度較快。(2)外存儲(chǔ)器 外存儲(chǔ)器又叫外存,是輔助存儲(chǔ)器。外存通常是磁性介質(zhì)或光盤(pán),像硬盤(pán),軟 盤(pán),磁帶, CD 等,能長(zhǎng)期保存信息,并且不依賴于電來(lái)保存信息,但是由機(jī)械部件 帶動(dòng),速度與 CPU 相比就顯得慢的多。外存的特點(diǎn)是容量大,所存的信息既可以修 改也可以保存。存取速度較慢,要用專用的設(shè)備來(lái)管理。計(jì)算機(jī)工作時(shí),

3、一般由內(nèi)存 ROM 中的引導(dǎo)程序啟動(dòng)程序,再?gòu)耐獯嬷凶x取系 統(tǒng)程序和應(yīng)用程序,送到內(nèi)存的 RAM 中,程序運(yùn)行的中間結(jié)果放在 RAM 中,(內(nèi) 存不夠是也可以放在外存中)程序的最終結(jié)果存入外部存儲(chǔ)器。二、按存儲(chǔ)介質(zhì)分(1)半導(dǎo)體存儲(chǔ)器 早期的半導(dǎo)體存儲(chǔ)器,普遍采用典型的晶體管觸發(fā)器和一些選擇電路構(gòu)成的存 儲(chǔ)單元?,F(xiàn)代半導(dǎo)體存儲(chǔ)器多為用大規(guī)模集成電路工藝制成的一定容量的芯片,再 由若干芯片組成大容量的存儲(chǔ)器。 半導(dǎo)體存儲(chǔ)器又分為雙極型半導(dǎo)體存儲(chǔ)器和 MOS 型半導(dǎo)體存儲(chǔ)器。( 2 )磁表面存儲(chǔ)器 再金屬或非金屬基體的表面上,涂敷一層磁性材料作為記錄介質(zhì),這層介質(zhì)稱 為磁層。工作時(shí),磁層隨機(jī)體高速

4、運(yùn)動(dòng),用磁頭再磁層上進(jìn)行讀寫(xiě)操作。如磁盤(pán)存 儲(chǔ)器和磁帶存儲(chǔ)器。其特點(diǎn)是:存儲(chǔ)容量大,價(jià)格低,但結(jié)構(gòu)為機(jī)電組合,工藝復(fù) 雜、存取速度慢,主要用做輔助存儲(chǔ)器。(3)光存儲(chǔ)器。如 CD ,VCD ,MO ,MD ,DVD 。三、按存取方式分(1)隨機(jī)存取存儲(chǔ)器隨機(jī)存取存儲(chǔ)器簡(jiǎn)稱 RAM ,也叫做讀 /寫(xiě)存儲(chǔ)器,既能方便地讀出所存數(shù)據(jù), 又能隨時(shí)寫(xiě)入新的數(shù)據(jù)。 RAM 的缺點(diǎn)是數(shù)據(jù)的易失性, 即一旦掉電, 所存的數(shù)據(jù)全 部丟失。(2)只讀存儲(chǔ)器只讀存儲(chǔ)器通常簡(jiǎn)寫(xiě)為 ROM。ROM存放的數(shù)據(jù)一般不能用簡(jiǎn)單的方法對(duì)其內(nèi) 容進(jìn)行改寫(xiě), 正常使用時(shí)主要對(duì)其進(jìn)行讀取操作, ROM 還具有掉電后其內(nèi)部信息不 丟失

5、的特點(diǎn) (通常叫非易失性 ),一般用于存放一些固定的數(shù)據(jù)或程序, 其一般在器件 生產(chǎn)出廠前由生產(chǎn)廠家將內(nèi)容直接寫(xiě)入在器件中。( 3)順序存取存儲(chǔ)器 訪問(wèn)存儲(chǔ)器所用的時(shí)間由被訪問(wèn)數(shù)據(jù)所處的物理位置來(lái)決定。例如,在磁帶存 儲(chǔ)器中,訪問(wèn)記錄在磁帶末尾的數(shù)據(jù)要比訪問(wèn)記錄在磁帶頭部的數(shù)據(jù)花費(fèi)更多的時(shí) 間。( 4)直接存取存儲(chǔ)器 直接存取存儲(chǔ)器如磁盤(pán)存儲(chǔ)器和光盤(pán)存儲(chǔ)器等,訪問(wèn)每個(gè)存儲(chǔ)單元的時(shí)間可能不相同,但也不象磁帶存儲(chǔ)器那樣,完全由被訪問(wèn)數(shù)據(jù)所處的物理位置來(lái)決定。磁 盤(pán)、光盤(pán)等可以在兩個(gè)方向上同時(shí)尋址,實(shí)際的訪問(wèn)時(shí)間與發(fā)出讀寫(xiě)命令時(shí)磁頭所 處的位置等因素有關(guān)。四、按信息可保存性分(1)易失性存儲(chǔ)器斷電后

6、,存儲(chǔ)的信息將消失的存儲(chǔ)器。RAM是易失性存儲(chǔ)器。(2)非易失性存儲(chǔ)器斷電后,存儲(chǔ)的信息仍然保存再存儲(chǔ)器中,稱為非易失性存儲(chǔ)器,ROM , FLASH和磁性材料存儲(chǔ)器為非易失性存儲(chǔ)器。4.1.2存儲(chǔ)體系與層次結(jié)構(gòu)、訪存的局部性原理計(jì)算機(jī)對(duì)存儲(chǔ)器的要求是高速度、大容量、低價(jià)格。從大量的統(tǒng)計(jì)中得到的一個(gè)規(guī)律是,程序中對(duì)于存儲(chǔ)空間 90%的訪問(wèn)局限于存 儲(chǔ)空間的10%的區(qū)域中,而另外10%的訪問(wèn)則分布在存儲(chǔ)空間的其余 90%的區(qū)域中。 這就是通常說(shuō)的局部性原理。訪存的局部性規(guī)律包括兩個(gè)方面:(1)時(shí)間局部性:如果一個(gè)存儲(chǔ)項(xiàng)被訪問(wèn),則可能該項(xiàng)會(huì)很快被再次訪問(wèn)。(2)空間局部性:如果一個(gè)存儲(chǔ)項(xiàng)被訪問(wèn),則

7、該項(xiàng)及其鄰近的項(xiàng)也可能很快被訪問(wèn)。、存儲(chǔ)器的層次結(jié)構(gòu)人們?yōu)榱私鉀Q存儲(chǔ)器容量和速度的矛盾,應(yīng)用了訪問(wèn)局部性原理,把存儲(chǔ)體系設(shè)計(jì)成為層次化的結(jié)構(gòu)以滿足使用要求。 存儲(chǔ)體系結(jié)構(gòu)包 括不同層次上的存儲(chǔ)器,通過(guò)適當(dāng)?shù)挠布④浖袡C(jī)地組 合在一起形成計(jì)算機(jī)的存儲(chǔ)體系結(jié)構(gòu)?,F(xiàn)在大多數(shù)人都將高性能計(jì)算機(jī)的存儲(chǔ)體系結(jié)構(gòu)描述成如圖4-1所示的三層存儲(chǔ)器層次結(jié)構(gòu)。三級(jí)存儲(chǔ)結(jié)構(gòu)是高速緩存 (Cache)、主存儲(chǔ)器(MM)和 輔助存儲(chǔ)器(外存)。也有人將存儲(chǔ)器層次分為四層,是將 CPU內(nèi)部的寄存器也看作是存儲(chǔ)器的一個(gè)層次。即是由寄存器、高速緩存(Cache)、主存(內(nèi)存)、外存組成。其中寄 存器是最高層次的存儲(chǔ)部件,容

8、量最小,速度最快。寄存器對(duì)程序員是不透明的, 對(duì)它的訪問(wèn)需按寄存器名訪問(wèn)而不是按地址。有一些簡(jiǎn)單的計(jì)算機(jī)沒(méi)有高速緩存 (Cache),則這樣的計(jì)算機(jī)的存儲(chǔ)體系就剩下主存和輔存兩個(gè)層次。( 1)主存儲(chǔ)器用來(lái)存放需 CPU 運(yùn)行的程序和數(shù)據(jù)。用半導(dǎo)體 RAM 構(gòu)成,常包 含少部分 ROM ??捎?CPU 直接編程訪問(wèn),采取隨機(jī)存取方式,即:可按某個(gè)隨機(jī) 地址直接訪問(wèn)任一單元 (不需順序?qū)ふ?),存取時(shí)間與地址無(wú)關(guān)。 存儲(chǔ)容量較大, 常用 字節(jié)數(shù)表示,有時(shí)也用單元數(shù)x位數(shù)表示。速度較快,以存取周期表示。(2) Cache位于CPU與主存之間(有些Cache集在CPU芯片之中),用來(lái)存放當(dāng) 前運(yùn)行的程

9、序和數(shù)據(jù), 它的內(nèi)容是主存某些局部區(qū)域 (頁(yè))的復(fù)制品。 它用快速的半導(dǎo) 體 RAM 構(gòu)成,采取隨機(jī)存取方式。存儲(chǔ)容量較小而速度最快。( 3)外存儲(chǔ)器用來(lái)存放暫不運(yùn)行但需聯(lián)機(jī)存放的程序和數(shù)據(jù)。用磁盤(pán)、光盤(pán)、 磁帶等構(gòu)成,磁盤(pán)用于需頻繁訪問(wèn)場(chǎng)合,光盤(pán)目前多用于提供系統(tǒng)軟件,而磁帶多 用于較大系統(tǒng)的備份。 CPU 不能直接編址訪問(wèn)外存,而是將它當(dāng)作外圍設(shè)備調(diào)用。 磁帶采取順序存取方式。 磁盤(pán)與光盤(pán)采取直接存取 (半順序 )方式, 先直接定位到某個(gè) 局部區(qū)域,再在其中順序存取。外存容量可以很大,以字節(jié)數(shù)表示。4.1.3 存儲(chǔ)器的性能指標(biāo)一、存儲(chǔ)容量由于一般存儲(chǔ)器都采用一維線性編址,存儲(chǔ)器中的每個(gè)能夠

10、存放數(shù)據(jù)的單元都 被賦予一個(gè)地址,因此,簡(jiǎn)單地說(shuō),存儲(chǔ)容量( Memory Capacity )是指存儲(chǔ)器中所 具有的存儲(chǔ)單元的個(gè)數(shù),或所具有的地址個(gè)數(shù)。表示存儲(chǔ)器容量的單位主要有字節(jié)( Byte),簡(jiǎn)寫(xiě)為B ;位(bit),簡(jiǎn)寫(xiě)為b ;字 (Word),簡(jiǎn)寫(xiě)為 W。其中,最常用的單位是字節(jié) B,一個(gè)字節(jié)由8位組成,即1B =8b。對(duì)于32位計(jì)算機(jī)系統(tǒng),一個(gè)字有 32位,即1W = 32b= 8B。因?yàn)榇鎯?chǔ)器的容量一般都很大,因此,要用千(Kilo )、兆(Mega)、千兆(Giga)、兆兆(Tera)等單位來(lái)表示。二、存取時(shí)間存取時(shí)間又稱為存儲(chǔ)器訪問(wèn)時(shí)間,是指啟動(dòng)一次存儲(chǔ)器操作到完成該操作所

11、需 的時(shí)間。寫(xiě)入時(shí)為存數(shù)時(shí)間,讀出時(shí)為取數(shù)時(shí)間。用 TA 表示。(1)取數(shù)時(shí)間Tr:從向存儲(chǔ)器發(fā)出讀操作命令到數(shù)據(jù)從存儲(chǔ)器中讀出所經(jīng)歷的 時(shí)間。(2)存數(shù)時(shí)間Ta:從啟動(dòng)一次訪問(wèn)存儲(chǔ)器操作到完成該操作所經(jīng)歷的時(shí)間,這里所說(shuō)的訪問(wèn)存儲(chǔ)器操作包括讀操作、寫(xiě)操作、交換操作等。三、存儲(chǔ)周期存儲(chǔ)周期又稱為訪問(wèn)周期,是指連續(xù)啟動(dòng)兩次獨(dú)立的存儲(chǔ)器操作所需間隔的最 小時(shí)間。用 TMC 表示。存儲(chǔ)周期的倒數(shù), 稱為存儲(chǔ)器速度 (用 S 表示)。它表示每秒從存儲(chǔ)器進(jìn)出信息的最大數(shù)量,其單位用字 /秒或字節(jié) /秒表示。四、可靠性存儲(chǔ)器的可靠性用平均故障時(shí)間 MTBF 來(lái)描述,它可以理解為兩次故障之間的平均時(shí)間間隔。

12、 MTBF 越長(zhǎng),說(shuō)明存儲(chǔ)器的可靠性越高。五、性能價(jià)格比性能價(jià)格比是衡量存儲(chǔ)器經(jīng)濟(jì)性能好壞的綜合性指標(biāo)。存儲(chǔ)器的價(jià)格通常用每位的價(jià)格來(lái)表示,例如每位多少美分($c/bit ) 。目前,靜態(tài)存儲(chǔ)器的價(jià)格大致為10-4$c/bit,動(dòng)態(tài)存儲(chǔ)器的價(jià)格大致為 10-7$c/bit,磁表面存儲(chǔ)器的價(jià)格大致為 10-10$c/bit。衡量存儲(chǔ)器的性能還可以有其他一些參數(shù),例如功耗。目前,功耗已經(jīng)成為提高存儲(chǔ)器性能的一個(gè)重大障礙。大家知道,芯片集成度 提高得很快,于是,芯片的散熱就成了大問(wèn)題。因此,降低存儲(chǔ)器芯片的功耗是當(dāng) 前一個(gè)重大得研究課題。通常,存儲(chǔ)器的維持功耗要遠(yuǎn)遠(yuǎn)低于工作功耗,因此,當(dāng) 外部不訪問(wèn)

13、存儲(chǔ)器時(shí),存儲(chǔ)器一般處于維持狀態(tài),以減小功耗,降低存儲(chǔ)器的溫度。4.2 主存儲(chǔ)器主存儲(chǔ)器又稱內(nèi)存,通常由半導(dǎo)體存儲(chǔ)器構(gòu)成。通用微型計(jì)算機(jī)的主存包含只 讀存儲(chǔ)器 ROM ( Read Only Memory )和隨機(jī)存取存儲(chǔ)器 RAM (Read Only Memory) 。 其中 ROM 支持基本的監(jiān)控和輸入輸出管理, RAM 則面向用戶。4.2.1 隨機(jī)存取存儲(chǔ)器 RAMRAM 就是我們平常所說(shuō)的內(nèi)存,主要用來(lái)存放各種現(xiàn)場(chǎng)的輸入、 輸出數(shù)據(jù), 中 間計(jì)算結(jié)果,以及與外部存儲(chǔ)器交換信息。它的存儲(chǔ)單元根據(jù)具體需要可以讀出, 也可以寫(xiě)入或改寫(xiě)。一旦關(guān)閉電源或發(fā)生斷電,其中的數(shù)據(jù)就會(huì)丟失。現(xiàn)在的 R

14、AM 多為 MOS 型半導(dǎo)體電路, 它分為靜態(tài) ( SRAM )和動(dòng)態(tài) ( DRAM )兩種。靜態(tài)RAM是靠雙穩(wěn)態(tài)觸發(fā)器來(lái)記憶信息的;動(dòng)態(tài) RAM是靠MOS電路中的柵級(jí)電容來(lái)記憶信息的。由于電容上的電荷會(huì)泄漏,需要定時(shí)給予補(bǔ)充,所以動(dòng)態(tài)RAM需要設(shè)置刷新電路。但動(dòng)態(tài) RAM比靜態(tài)RAM集成度高、功耗低,從而成本 也低,適于作大容量存儲(chǔ)器。所以主內(nèi)存通常采用動(dòng)態(tài)RAM,而高速緩沖存儲(chǔ)器(Cache)則使用靜態(tài) RAM。另外,內(nèi)存還應(yīng)用于顯卡,聲卡及 CMOS等設(shè)備中, 用于充當(dāng)設(shè)備緩存或保存固定的程序及數(shù)據(jù)。動(dòng)態(tài)RAM按制造工藝的不同,又可分為動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Dynamic RAM )、擴(kuò)展數(shù)據(jù)

15、輸出隨機(jī)存儲(chǔ)器(Exte ned Data Out RAM)和同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器 (Sysnchromized Dynamic RAM )。一、SRAM的組成SRAM由存儲(chǔ)器、地址譯碼電路、讀寫(xiě)控制電路、輸入/輸出控制電路和片選控制組成。如圖4-2所示。(1) 存儲(chǔ)體半導(dǎo)體存儲(chǔ)體由多個(gè)基本存儲(chǔ)電路組成,每個(gè)基本存儲(chǔ)電路對(duì)應(yīng)一個(gè)二進(jìn)制數(shù) 位。SRAM中的每一位均存儲(chǔ)在四個(gè)晶體管當(dāng)中,這四個(gè)晶體管組成了兩個(gè)交叉耦 合反向器。這個(gè)存儲(chǔ)單元具有兩個(gè)穩(wěn)定狀態(tài),通常表示為0和1。另外還需要兩個(gè)訪問(wèn)晶體管用于控制讀或?qū)懖僮鬟^(guò)程中存儲(chǔ)單元的訪問(wèn)。因此,一個(gè)存儲(chǔ)位通常需 要六個(gè)MOSFET。對(duì)稱的電路結(jié)構(gòu)使得

16、SRAM的訪問(wèn)速度要快于 DRAM。一個(gè)基本存儲(chǔ)電路只能存儲(chǔ)一個(gè)二進(jìn)制位。將基本的存儲(chǔ)電路有規(guī)則地組織起來(lái),就是存儲(chǔ)體。存儲(chǔ)體是存儲(chǔ)單元的集合。在較大容量的存儲(chǔ)器中,往往把各個(gè)字的同一位組織在一個(gè)集成片中。如圖中的4096 X 1位,是指4096個(gè)字的同一位。由這樣的16個(gè)片子則可組成4096X 16的存儲(chǔ)器。同一位的這些字排成矩陣,如64X 64 = 4096。由X(行線)和Y(列線)的交叉來(lái)選擇所需要的單元。(2)地址譯碼電路地址譯碼器的輸入信息來(lái)自 CPU 的地址寄存器。 地址寄存器用來(lái)存放所要訪問(wèn) (寫(xiě)入或讀出 )的存儲(chǔ)單元的地址。 CPU 要選擇某一存儲(chǔ)單元,就在地址總線上輸出 此單

17、元的地址信號(hào)給地址譯碼器。地址譯碼器把用二進(jìn)制代碼表示的地址轉(zhuǎn)換成輸 出端的高電位,用來(lái)驅(qū)動(dòng)相應(yīng)的讀寫(xiě)電路,以便選擇所要訪問(wèn)的存儲(chǔ)單元。地址譯碼有兩種方式:一種是單譯碼方式,適用于小容量存儲(chǔ)器;另一種是雙 譯碼方式,適用于大容量存儲(chǔ)器。單譯碼結(jié)構(gòu)也稱字結(jié)構(gòu)。在這種方式中,地址譯 碼器只有一個(gè), 譯碼器的輸出叫字選線, 而字選線選擇某個(gè)字 (某存儲(chǔ)單元 )的所有位。 例如,地址輸人線 n= 4,經(jīng)地址譯碼器譯碼,可譯出24= 16個(gè)狀態(tài),分別對(duì)應(yīng) 16個(gè)字地址。為了節(jié)省驅(qū)動(dòng)電路,存儲(chǔ)器中通常采用雙譯碼結(jié)構(gòu)。采用雙譯碼結(jié)構(gòu),可以減少選擇線的數(shù)目。在這種譯碼方式中,地址譯碼器分成X向和Y向兩個(gè)譯碼器

18、。若每一個(gè)有n/2個(gè)輸入端,它可以譯出2 n/2個(gè)輸出狀態(tài),那么兩個(gè)譯碼器交叉譯碼的 結(jié)果,共可譯出2 n/2X 2 n/2 = 2n個(gè)輸出狀態(tài),其中n為地址輸入量的二進(jìn)制位數(shù)。 但此時(shí)譯碼輸出線卻只有2 X 2 n/2根。例如n = 12,雙譯碼輸出狀態(tài)為 212 = 4096個(gè),而譯碼線僅只有 2X 26= 128根。(3)讀寫(xiě)控制電路存儲(chǔ)器的基本操作是讀操作和寫(xiě)操作,訪問(wèn) SRAM 時(shí),對(duì)被選中的寄存器,究 竟是讀還是寫(xiě),通過(guò)讀 /寫(xiě)控制線進(jìn)行控制。如果是讀,則被選中單元存儲(chǔ)的數(shù)據(jù)經(jīng) 數(shù)據(jù)線、輸入/輸出線傳送給 CPU ;如果是寫(xiě),則 CPU將數(shù)據(jù)經(jīng)過(guò)輸入/輸出線、數(shù) 據(jù)線存入被選中單元

19、。一般 SRAM 的讀 /寫(xiě)控制線高電平為讀, 低電平為寫(xiě); 也有的 RAM 讀/寫(xiě)控制線 是分開(kāi)的,一根為讀,另一根為寫(xiě)。(4)輸出驅(qū)動(dòng)電路RAM 通過(guò)輸入/輸出端與計(jì)算機(jī)的中央處理單元(CPU )交換數(shù)據(jù),讀出時(shí)它是輸出端,寫(xiě)入時(shí)它是輸入端,即一線二用,由讀/寫(xiě)控制線控制。輸入 /輸出端數(shù)據(jù)線的條數(shù),與一個(gè)地址中所對(duì)應(yīng)的寄存器位數(shù)相同,例如在1024X 1 位的 RAM 中, 每個(gè)地址中只有1個(gè)存儲(chǔ)單元(1位寄存器),因此只有1條輸入/輸出線;而在256 X 4位的RAM中,每個(gè)地址中有 4個(gè)存儲(chǔ)單元(4位寄存器),所以有4條輸入/輸 出線。也有的RAM輸入線和輸出線是分開(kāi)的。RAM的輸出

20、端一般都具有集電極開(kāi) 路或三態(tài)輸出結(jié)構(gòu)。(5)片選控制由于受RAM的集成度限制,一臺(tái)計(jì)算機(jī)的存儲(chǔ)器系統(tǒng)往往是由許多片RAM組合而成。CPU訪問(wèn)存儲(chǔ)器時(shí),一次只能訪問(wèn) RAM中的某一片(或幾片),即存儲(chǔ)器 中只有一片(或幾片)RAM中的一個(gè)地址接受 CPU訪問(wèn),與其交換信息,而其他片RAM與CPU不發(fā)生聯(lián)系,片選就是用來(lái)實(shí)現(xiàn)這種控制的。通常一片RAM有一根或幾根片選線,當(dāng)某一片的偏選線接入有效電平時(shí),該片被選中,地址譯碼器的 輸出信號(hào)控制該片某個(gè)地址的寄存器與CPU接通;當(dāng)片選線接入無(wú)效電平時(shí),則該片與CPU之間處于斷開(kāi)狀態(tài)。(6)RAM的輸入/輸出控制電路圖4-3給出了一個(gè)簡(jiǎn)單的輸入/輸出控制

21、電路。圖4-3輸入/輸岀控制當(dāng)選片信號(hào) CS= 1時(shí),G5、G4輸出為0,三態(tài)門(mén)G1、G2、G3均處于高阻狀 態(tài),輸入/輸出(I/O)端與存儲(chǔ)器內(nèi)部完全隔離,存儲(chǔ)器禁止讀/寫(xiě)操作,即不工作。當(dāng)CS= 0時(shí),芯片被選通:當(dāng)R/W = 1時(shí),G5輸出高電平,G3被打開(kāi),于是被選中的單元所存儲(chǔ)的數(shù)據(jù)出現(xiàn)在I/O端,存儲(chǔ)器執(zhí)行讀操作;當(dāng)R/W = 0時(shí),G4輸出高電平,G1、G2被打開(kāi),此時(shí)加在I/O端的數(shù)據(jù)以互補(bǔ)的形式出現(xiàn)在內(nèi)部數(shù)據(jù)線上,并被存入到所選中的存儲(chǔ)單元,存儲(chǔ)器執(zhí)行寫(xiě)操作。二、SRAM的容量擴(kuò)展目前生產(chǎn)的存儲(chǔ)器芯片的容量是有限的,它在字?jǐn)?shù)或字長(zhǎng)方面與實(shí)際存儲(chǔ)器的要求都有差距,所以需要在字向

22、和位向兩方面進(jìn)行擴(kuò)充才能滿足實(shí)際存儲(chǔ)器的容量要求,通常采用位擴(kuò)展法、字?jǐn)U展法、字位同時(shí)擴(kuò)展法。(1)位擴(kuò)展法假定使用8K X |的RAM存儲(chǔ)器芯片,那么組成 8K X 8位的存儲(chǔ)器,可采用圖4-4所示的位擴(kuò)展法。此時(shí)只加大字長(zhǎng),而存儲(chǔ)器的字?jǐn)?shù)與存儲(chǔ)器芯片字?jǐn)?shù)一致。圖中,每一片RAM是8192 X 1,故其地址線為13條(A0A12),可滿足整個(gè)存儲(chǔ)體容 量的要求。每一片對(duì)應(yīng)于數(shù)據(jù)的1位(只有1條數(shù)據(jù)線),故只需將它們分別接到數(shù)據(jù)總線上的相應(yīng)位即可。在這種方式中,對(duì)片子沒(méi)有選片要求,就是說(shuō)片子按已被選 中來(lái)考慮。如果片子有選片輸入端,可將它們直接接地。在這種連接時(shí),每一條地 址總線接有8個(gè)負(fù)載,

23、每一條數(shù)據(jù)線接有一個(gè)負(fù)載。(2)字?jǐn)U展法字?jǐn)U展是僅在字向擴(kuò)充,而位數(shù)不變,因此將芯片的地址線、數(shù)據(jù)線、讀/寫(xiě) 控制線并聯(lián),而由片選信號(hào)來(lái)區(qū)分各片地址,故片選信號(hào)端連接到選片譯碼器的輸 出端。圖4-5是用16K X 8位的芯片采用字?jǐn)U展法組成64K X 8位的存儲(chǔ)器連接圖。圖中4個(gè)芯片的數(shù)據(jù)線與數(shù)據(jù)總線D 0 一 D 7相連,地址總線低位地址 A 0 一 A 13與各芯片的14位地址端相連,兩位高位地址A14 , A 15經(jīng)譯碼器和 4個(gè)片選端相連。圖4-5字?jǐn)U展法(3) 字位同時(shí)擴(kuò)展法用容量為I x k位的存儲(chǔ)芯片設(shè)計(jì)容量為M x N位的存儲(chǔ)器(I v M , kv N=,需要字向、位向同時(shí)進(jìn)

24、行擴(kuò)展。共需存儲(chǔ)芯片數(shù)為:(M / I ) x (N / k )。例:用256K X 8位的存儲(chǔ)芯片設(shè)計(jì)容量為2048KX 32位的存儲(chǔ)器。解:需存儲(chǔ)芯片數(shù)為:(2048K / 256K )X ( 32 /8) = 32 (片)由每組四片存儲(chǔ)芯片完成位擴(kuò)展;八組這樣的存儲(chǔ)芯片完成字?jǐn)U展,參考圖4-6。MR.EQ#如石譯碼C A YO#Yl#Y2#"-A19-21R/W#CPUW&ACEMDp4片4片256Kx«4并WEP256Kx84片圖4-6字位擴(kuò)展法三、DRAM勺組成動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM是一種隨機(jī)訪問(wèn)記憶體 (RAM),不會(huì)一直保存記憶內(nèi) 容,隨著時(shí)間而

25、將內(nèi)容流失。DRAM用于通常的數(shù)據(jù)存取。我們常說(shuō)內(nèi)存有多大,主要是指DRAM勺容量。DRAM中的每一位數(shù)據(jù)均存儲(chǔ)于一個(gè)電容當(dāng)中,儲(chǔ)存在電容中的電子的數(shù)量決定了該位數(shù)據(jù)對(duì)應(yīng)的是 1還是0。由于DRAM勺存儲(chǔ)單元由電容組成,相對(duì)于SRAM來(lái)說(shuō),它占用的面積也更小,從而其價(jià)格也更便宜。電容總是趨向于釋放電荷,因此DRAM還需要周期性的刷新操作,否則數(shù)據(jù)就會(huì)丟失。正是因?yàn)镈RAM需要周期的刷新操作,所以相對(duì)于靜態(tài) RAM(SRAM來(lái)說(shuō),DRAM!動(dòng)態(tài)的。另外,當(dāng)DRAM勺電源供應(yīng)停止后,存儲(chǔ)于其中的數(shù)據(jù)會(huì)丟失,因此,DRAM是一種非永久性存儲(chǔ)器(易失性存儲(chǔ)器)。DRAM中的電容通常被組織成一個(gè)正方陣列

26、,這個(gè)陣列由若干行和若干列組成, 其中的每一個(gè)電容都可以看成是陣列的一個(gè)單元, 這些單元通過(guò)陣列的行和列的地址譯碼器來(lái)尋址。對(duì)于任何一個(gè)單元的讀操作,整 個(gè)行均被讀出,然后重新寫(xiě)回(刷新) 。對(duì)于任何一個(gè)單元的寫(xiě)操作,整個(gè)行均被讀 出,然后改變其中一個(gè)單元的值,最后將整個(gè)行寫(xiě)回。典型情況下,DRAM勺制造廠家規(guī)定DRAM勺每一行必須在64ms以內(nèi)執(zhí)行一次刷新操作。通常使用刷新邏輯來(lái)自 動(dòng)完成刷新操作,這使得 DRAM勺實(shí)現(xiàn)更加復(fù)雜,但由于其價(jià)格便宜、容量大,因此 它在某些應(yīng)用場(chǎng)合比 SRAh更加具有吸引力。四、DRAM勺電器特性( 1 )集成度高,功耗低( 2)具有易失性,必須刷新。( 3)破

27、壞性讀出,必須讀后重寫(xiě)(4) 讀后重寫(xiě),刷新均經(jīng)由刷新放大器進(jìn)行。(5) 刷新時(shí)只提供行地址,由各列所擁有的刷新放大器,(6) 對(duì)選中行全部存儲(chǔ)細(xì)胞實(shí)施同時(shí)集體讀后重寫(xiě)(再生 )。五、DRAM勺刷新動(dòng)態(tài)MOS存儲(chǔ)器采用“讀出”方式進(jìn)行刷新。因?yàn)樵谧x出過(guò)程中恢復(fù)了存儲(chǔ)單 元的MOS柵極電容電荷,并保持原單元的內(nèi)容,所以讀出過(guò)程就是再生過(guò)程。通常, 在再生過(guò)程中只改變行選擇線地址,每次再生一行。依次對(duì)存儲(chǔ)器的每一行進(jìn)行讀 出,就可完成對(duì)整個(gè)DRAM勺刷新。從上一次對(duì)整個(gè)存儲(chǔ)器刷新結(jié)束到下一次對(duì)整個(gè) 存儲(chǔ)器全部刷新一遍為止,這一段時(shí)間間隔叫刷新周期,一般為2ms, 4ms或8ms常用的刷新方式有三種

28、,一種是集中式,另一種是分散式,第三種是異步式。( 1 )集中式刷新方式以2116芯片為例,假定讀/寫(xiě)周期為 500 ns,那么刷新128行所需時(shí)間為500 X 128X 10 3= 64卩s,如果采用集中式刷新方式,那么必須在2 ms的時(shí)間內(nèi)集中CPU或其他處理機(jī)訪問(wèn)存用64卩s的時(shí)間對(duì)存儲(chǔ)器進(jìn)行刷新操作,在此期間不允許(2)分散式刷新方式分散式刷新方式是每讀/寫(xiě)一次存儲(chǔ)器就刷新一行存儲(chǔ)元,假定存儲(chǔ)器的讀/寫(xiě)周期為500ns,那么相當(dāng)于讀/寫(xiě)周期延長(zhǎng)為1000ns。這就是說(shuō),每讀/寫(xiě)128次存儲(chǔ)器就能對(duì)128行存儲(chǔ)元刷新一遍,其刷新的間隔為128卩s,在2ms時(shí)間內(nèi),能對(duì)每個(gè)存儲(chǔ)元刷新 16

29、遍。這顯然沒(méi)有必要,而且存儲(chǔ)器訪問(wèn)速度因此而降低一倍。其優(yōu)點(diǎn)是不出現(xiàn)“死時(shí)間”。(3) 異步式刷新方式前述兩種刷新方式的結(jié)合,基本思想是將刷新操作平均分配到整個(gè)刷新間隔時(shí)間內(nèi)進(jìn)行。訪問(wèn)周期為 500ns,整個(gè)芯片共128行,即2ms時(shí)間內(nèi),只要求刷新128 次,于是每行的刷新間隔為:2 ms/128 = 15.625卩s于是將2ms時(shí)間分成128段,每段15. 5卩s,在每段內(nèi)利用0. 5卩s的時(shí)間刷 新一行,保證在 2ms時(shí)間內(nèi)能對(duì)整個(gè)芯片刷新一遍。這種刷新方式是把集中式刷新的64卩s “死時(shí)間”分散成每15. 5卩s出現(xiàn)0. 5卩s的死時(shí)間,這對(duì) CPU的影響不大,而且不降低存儲(chǔ)器的訪問(wèn)速

30、度,控制上也并 不復(fù)雜,是一種比較實(shí)用的方式。除此之外,異步式刷新還可采用利用CPU不訪問(wèn)存儲(chǔ)器的空閑時(shí)間,對(duì)存儲(chǔ)器進(jìn)行刷新操作,這種方式完全不出現(xiàn)“死時(shí)間”,也不降低存儲(chǔ)器的訪問(wèn)速度,但是必須保證在2mS時(shí)間內(nèi)能刷新一遍整個(gè)芯片,否則13A 7c124A6223A5322A 4n421A3O520A26611619A 1n718A 0o817D 03916D 1o1015D2n1114GNDn1213VDD門(mén)A8.A9::WE OEA10一、CS-D?"D 6-D5: ” D 4匚D3將造成嚴(yán)重后果,因此這種方式控制比較復(fù) 雜,實(shí)現(xiàn)起來(lái)比較困難。六、典型RAM芯片介紹下面我們來(lái)介紹

31、一種典型SRAM存儲(chǔ)器芯片 HM6116 HM6116芯片的存儲(chǔ)容量為2K*8位,片內(nèi)有16384 (即16K)個(gè)存儲(chǔ)單 元,排列成128*128的矩陣,構(gòu)成2K個(gè)字, 字長(zhǎng)8位,可構(gòu)成2KB( B字節(jié))的內(nèi)存。 該芯片有11條地址線,分成7條行地址線A4A0, 4條列地址線 A0A3, 個(gè)11位地 址碼選中一個(gè)8位存儲(chǔ)字,需有8條數(shù)據(jù)線圖4-7 SRAM 6116引腳排列圖DoD7與同一地址的8位存儲(chǔ)單元相連,由這 8條數(shù)據(jù)線進(jìn)行數(shù)據(jù)的讀出與寫(xiě)入。(1)HM6116引腳圖圖4-7所示是2KX 8位靜態(tài)CMOS RAM611的引腳排列圖。6116的24個(gè)引腳中除11條地址線(AAo)、8條數(shù)據(jù)

32、線(DbD7)、I條電源線Vcc和1條接地線GND外,還有3條控制線一一片選信號(hào) CS、寫(xiě)允許信號(hào)WE和輸出允許信號(hào)OE。HM6116是一種2048X8位的高速靜態(tài) CMOS!機(jī)存取存儲(chǔ)器,它的特征是:1) 高速度。存取時(shí)間為 100ns/120ns/150ns/200ns (分別以 6116-10、6116-12、6116-15、6116-20 為標(biāo)志);2)低功耗。運(yùn)行時(shí)為 150m W空載時(shí)為100mVy3)與TTL兼容;4)管腳引出與標(biāo)準(zhǔn)的 2K*8的芯片(例如2716芯片)兼容;5) 完全靜態(tài)無(wú)需時(shí)鐘脈沖與定時(shí)選通脈沖。6) 存儲(chǔ)容量為2KX8位,該芯片有11條地址線,8條數(shù)據(jù)線。(

33、2 )芯片工作方式和控制信號(hào)之間的關(guān)系下表所列是6116的工作方式與控制信號(hào)之間的關(guān)系,讀出和寫(xiě)入線是分開(kāi)的,而且寫(xiě)入優(yōu)先。表4-1靜態(tài)RAM6116工作方式與控制信號(hào)之間的關(guān)系CSOEWEA0 A10D0 D7工作狀態(tài)1XXX高阻態(tài)低功耗維持001穩(wěn)定輸出讀0X0穩(wěn)定輸入寫(xiě)4.2.2只讀存儲(chǔ)器ROM一、ROM勺分類只讀存儲(chǔ)器簡(jiǎn)稱 ROM它只能讀出,不能寫(xiě)入,故稱為只讀存儲(chǔ)器。工作時(shí), 將一個(gè)給定的地址碼加到 ROM勺地址碼輸入端,此時(shí),便可在它的輸出端得到一個(gè) 事先存入的確定數(shù)據(jù)。只讀存儲(chǔ)器的最大優(yōu)點(diǎn)是具有不易失性,即使供電電源切斷,ROM中存儲(chǔ)的信息也不會(huì)丟失。因而 ROM獲得了廣泛的應(yīng)用

34、。只讀存儲(chǔ)器存入數(shù)據(jù)的過(guò)程,稱為對(duì)ROM進(jìn)行編程。與RAM不同,ROMH般需由專用裝置寫(xiě)入數(shù)據(jù)。按照數(shù)據(jù)寫(xiě)入方式特 點(diǎn)不同,ROM可分為以下幾種:(1)固定ROM也稱掩膜ROM這種ROM在制造時(shí),廠家利用利用掩膜技術(shù)直接把數(shù)據(jù)寫(xiě)入存儲(chǔ)器中,ROM制成后,其存儲(chǔ)的數(shù)據(jù)也就固定不變了,用戶對(duì)這類芯片無(wú)法進(jìn)行任何修改。(2) 次性可編程 ROM( PRO)PROMfe出廠時(shí),存儲(chǔ)內(nèi)容全為 1 (或全為0), 用戶可根據(jù)自己的需要,利用編程器將某些單元改寫(xiě)為0 (或1)。PROMH旦進(jìn)行了 編程,就不能再修改了。(3)光可擦除可編程 ROMEPRO)EPROI是采用浮柵技術(shù)生產(chǎn)的可編程存儲(chǔ)器, 它的存

35、儲(chǔ)單元多采用 N溝道疊柵MOSt,信息的存儲(chǔ)是通過(guò) MOS管浮柵上的電荷分 布來(lái)決定的,編程過(guò)程就是一個(gè)電荷注入過(guò)程。編程結(jié)束后,盡管撤除了電源,但 是,由于絕緣層的包圍,注入到浮柵上的電荷無(wú)法泄漏,因此電荷分布維持不變,EPROI也就成為非易失性存儲(chǔ)器件了。當(dāng)外部能源(如紫外線光源)加到EPROMk時(shí),EPROM內(nèi)部的電荷分布才會(huì)被破壞,此時(shí)聚集在 MOS管浮柵上的電荷在紫外線照射下形成光電流被泄漏掉,使電 路恢復(fù)到初始狀態(tài),從而擦除了所有寫(xiě)入的信息。這樣EPROI又可以寫(xiě)入新的信息。(4)電可擦除可編程 ROM( E2PRO) E2PROM也是采用浮柵技術(shù)生產(chǎn)的可編程 ROM但是構(gòu)成其存儲(chǔ)

36、單元的是隧道 MOST,隧道MOSt也是利用浮柵是否存有電荷 來(lái)存儲(chǔ)二值數(shù)據(jù)的,不同的是隧道 MOST是用電擦除的,并且擦除的速度要快的多一般為毫秒數(shù)量級(jí)) 。E2PROM勺電擦除過(guò)程就是改寫(xiě)過(guò)程,它具有ROM勺非易失性,又具備類似 RAM的功能,可以隨時(shí)改寫(xiě)(可重復(fù)擦寫(xiě)1萬(wàn)次以上)。目前,大多數(shù) E2PROM芯片內(nèi)部都備有升壓電路。因此,只需提供單電源供電,便可進(jìn)行讀、擦除 / 寫(xiě)操作,這為數(shù) 字系統(tǒng)的設(shè)計(jì)和在線調(diào)試提供了極大方便。(5) 快閃存儲(chǔ)器(Flash Memory )??扉W存儲(chǔ)器的存儲(chǔ)單元也是采用浮柵型MOS管,存儲(chǔ)器中數(shù)據(jù)的擦除和寫(xiě)入是分開(kāi)進(jìn)行的,數(shù)據(jù)寫(xiě)入方式與EPROM目同,

37、需要輸入一個(gè)較高的電壓,因此要為芯片提供兩組電源。一個(gè)字的寫(xiě)入時(shí)間約為200 微秒,一般一只芯片可以擦除 /寫(xiě)入 100次以上。二、ROM勺內(nèi)部結(jié)構(gòu)由地址譯碼器和存儲(chǔ)矩陣組成,圖4-8所示是ROM勺內(nèi)部結(jié)構(gòu)示意圖。16存儲(chǔ)單元Do D1Db -1輸出數(shù)據(jù)圖4-8 ROM的內(nèi)部結(jié)構(gòu)圖三、ROM典型芯片介紹EPROM2764的引腳排列和功能框圖如圖4-9所示。在正常使用時(shí),Vcc=+5V、VIH為高電平,即VPP引腳接+5V、PGM 引腳接高電平,數(shù)據(jù)由數(shù)據(jù)總線輸出。 在進(jìn)行編程時(shí),PGM引腳接低電平, VPP引腳接高電平(編程電平 +25V), 數(shù)據(jù)由數(shù)據(jù)總線輸入。OE :輸出使能端,用來(lái)決定是

38、否將 ROM的輸出送到數(shù)據(jù)總線上去,當(dāng) OE =0時(shí),輸出可以被使能,當(dāng)OE =1 時(shí),輸出被禁止,ROM數(shù)據(jù)輸出端為 高阻態(tài)。VCC1VH (PGM) 102524212320CS oeZVPPPGMA1A2A3A4A5A6A7A8A9A10A11A12CSOE8kBX8276400O1O2O3O4O5O6O71112131415161718數(shù)據(jù)輸出圖4-9標(biāo)準(zhǔn)28腳雙列直插EPROM 2764弓I腳圖CS :片選端,用來(lái)決定該片 ROM是否工作,當(dāng)CS =0時(shí),ROM工作,當(dāng)CS=1時(shí),ROM停止工作,且輸出為高阻態(tài)(無(wú)論 0E為何值)。ROM輸出能否被使能決定于 CS + °E

39、的結(jié)果,當(dāng)CS+°E=0時(shí),rom輸出使18能,否則將被禁止,輸出端為高阻態(tài)。另外,當(dāng)CS=1時(shí),還會(huì)停止對(duì) ROM內(nèi)部的譯碼器等電路供電,其功耗降低到ROM工作時(shí)的10%以下。這樣會(huì)使整個(gè)系統(tǒng)中ROM芯片的總功耗大大降低。四、ROM容量的擴(kuò)展(1)位擴(kuò)展(現(xiàn)有型號(hào)的 EPROM,輸出多為8位。)如圖4-10所示是將兩片 2764擴(kuò)展成16k X 16位EPROM的連線圖。圖4-10 ROM的位擴(kuò)展(2)字?jǐn)U展用8片2764擴(kuò)展成64kX 8位EPROM,如圖4-11所示。4.3高速緩沖存儲(chǔ)器(Cache Memory技術(shù)4.3.1 高速緩沖存儲(chǔ)器概述一、高速緩存的作用和特點(diǎn)高速緩沖

40、存儲(chǔ)器是為了解決CPU和主存之間速度匹配問(wèn)題而采用的一項(xiàng)重要技術(shù)。Cache是一塊專門(mén)的存儲(chǔ)區(qū)域,采用高速的存儲(chǔ)器件構(gòu)成,介于CPU和主存之間。它將CPU對(duì)內(nèi)存的讀取改為先讀 Cache,如果Cache中沒(méi)有,再到內(nèi)存中取, 但讀取的信息同時(shí)進(jìn)入 Cache,當(dāng)下一次讀取該信息時(shí)就只需從Cache中讀取。由于Cache比內(nèi)存速度要快得多,所以在使用Cache后計(jì)算機(jī)的速度有明顯提高。把CPU最近最可能用到的少量信息(數(shù)據(jù)或指令)從主存復(fù)制到Cache中,當(dāng)CPU下次再用到這些信息時(shí),它就不必訪問(wèn)慢速的主存,而直接從快速的Cache中得到,從而提高了速度。從功能上看,Cache是主存的緩沖存儲(chǔ)器

41、,由高速的SRAM&成。為追求高速,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),因而對(duì)程序員是透明的。它有以下特點(diǎn):(1) 高速:存取速度比主存快,以求與CPU匹配。由高速的SRAM!成,全部功 能由硬件實(shí)現(xiàn),保證了高速度。(2) 容量?。阂騼r(jià)格貴,所以容量較小,一般為幾百KB,作為主存的一個(gè)副本 可分為片內(nèi)Cache和片外Cache。二、命中率評(píng)價(jià)Cache性能關(guān)鍵的指標(biāo)是 Cache的命中率。所謂命中率就是指CPU所要訪問(wèn)的信息再 Cache中的比率。相反,將 CPU所要訪問(wèn)的信息不在 Cache中的比率稱 為失效率。因?yàn)?Cache的容量遠(yuǎn)遠(yuǎn)小于內(nèi)存,它只可能存放內(nèi)存的一部分?jǐn)?shù)據(jù)。CPU自

42、然是先訪問(wèn) Cache,再訪問(wèn)主存,如果數(shù)據(jù)在Cache中為命中,在不在內(nèi)存中為不命中, Cache 容量越大,命中率越高。而當(dāng)容量超過(guò)一定值后,命中率隨容量的 增加將不會(huì)有明顯的提高。4.3.2 高速緩沖存儲(chǔ)器的工作原理高速緩沖存儲(chǔ)器最主要是由存儲(chǔ)體、Cache-主存地址映像和 Cache替換機(jī)構(gòu)組成。Cache 存儲(chǔ)體Cache 存儲(chǔ)體是以一定的字容量所組成的存儲(chǔ)模塊。通常以“命中率”來(lái)衡量Cache的效率。所謂命中率,是指CPU所要訪問(wèn)的信息在 Cache中的比率。二、地址映像地址映像的功能是把 CPU發(fā)送來(lái)的主存地址轉(zhuǎn)換成Cache的地址。當(dāng)信息按這種方式裝入Cache中后,執(zhí)行程序時(shí)

43、,應(yīng)將主存地址變換為Cache地址,這個(gè)變換過(guò)程叫作地址變換。地址映象方式通常采用直接映象、全相聯(lián)映象、組相聯(lián)映象三 種。(1)直接映象每個(gè)主存地址映像到 Cache 中的一個(gè)指定地址的方式,稱為直接映象方式。在 直接映象方式下,主存中存儲(chǔ)單元的數(shù)據(jù)只可調(diào)入 Cache 中的一個(gè)位置,如果主存 中另一個(gè)存儲(chǔ)單元的數(shù)據(jù)也要調(diào)入該位置則將發(fā)生沖突。地址映像的方法一般是將 主存空間按 Cache 的尺寸分區(qū),每區(qū)內(nèi)相同的塊號(hào)映像到 Cache 中相同的塊位置。 一般地,Cache被分為2N塊,主存被分為同樣大小的2M塊,主存與Cache中塊的對(duì)應(yīng)關(guān)系可用如下映像函數(shù)表示: j = i mod 2N

44、。式中, j 是 Cache 中的塊號(hào), i 是 主存中的塊號(hào)。直接映象是一種最簡(jiǎn)單的地址映像方式,它的地址變換速度快,而且不涉及其 他兩種映像方式中的替換策略問(wèn)題。但是這種方式的塊沖突概率較高,當(dāng)稱序往返 訪問(wèn)兩個(gè)相互沖突的塊中的數(shù)據(jù)時(shí), Cache 的命中率將急劇下降,因?yàn)檫@時(shí)即使 Cache中有其他空閑塊,也因?yàn)楣潭ǖ牡刂酚诚耜P(guān)系而無(wú)法應(yīng)用。(2)全相聯(lián)映象主存中的每一個(gè)字塊可映像到Cache任何一個(gè)字塊位置上,這種方式稱為全相聯(lián)映像。這種方式只有當(dāng)Cache中的塊全部裝滿后才會(huì)出現(xiàn)塊沖突,所以塊沖突的概率低,可達(dá)到很高的 Cache 命中率;但實(shí)現(xiàn)很復(fù)雜。當(dāng)訪問(wèn)一個(gè)塊中的數(shù)據(jù)時(shí), 塊地

45、址要與 Cache 塊表中的所有地址標(biāo)記進(jìn)行比較已確定是否命中。在數(shù)據(jù)塊調(diào)入 時(shí)存在著一個(gè)比較復(fù)雜的替換問(wèn)題,即決定將數(shù)據(jù)塊調(diào)入Cache 中什么位置,將Cache 中那一塊數(shù)據(jù)調(diào)出主存。為了達(dá)到較高的速度,全部比較和替換都要用硬件 實(shí)現(xiàn)。(3)組相聯(lián)映象組相聯(lián)映象方式是直接映象和全相聯(lián)映象的一種折衷方案。這種方法將存儲(chǔ)空間分為若干組,各組之間是直接映像,而組內(nèi)各塊之間則是全相聯(lián)映像。它是上述 兩種映像方式的一般形式,如果組的大小為1,即 Cache 空間分為 2N 組,就變?yōu)橹苯佑诚?;如果組的大小為 Cache 整個(gè)的尺寸,就變?yōu)榱巳嗦?lián)映像。組相聯(lián)方式在 判斷塊命中及替換算法上都要比全相聯(lián)

46、方式簡(jiǎn)單,塊沖突的概率比直接映像的低, 其命中率也介于直接映像和全相聯(lián)映像方式之間。三、替換機(jī)構(gòu)Cache 和存儲(chǔ)器一樣具有兩種基本操作,即讀操作和寫(xiě)操作。當(dāng)CPU發(fā)出讀操作命令時(shí),根據(jù)它產(chǎn)生的主存地址分為兩種情形:一種是需要的數(shù)據(jù)已在 Cache中,那么只需直接訪問(wèn)Cache,從對(duì)應(yīng)單元中讀取信息到數(shù)據(jù)總線;另一種是需要的數(shù)據(jù)尚未裝入Cache, CPU需從主存中讀取信息的同時(shí),應(yīng)將從主存中取出的內(nèi)容放到 Cache中。若Cache中尚有空閑的塊,則可將新的內(nèi)容寫(xiě)入; 若 Cache 中的塊都已裝滿,則需進(jìn)行替換。替換機(jī)構(gòu)是按替換算法設(shè)計(jì)的,其作用 是指出應(yīng)該替換的塊號(hào)。替換算法與Cache

47、的命中率相關(guān),替換機(jī)構(gòu)由硬件實(shí)現(xiàn)。常見(jiàn)的替換策略有兩種:(1)先進(jìn)先出策略( FIFO)FIFO( First In First Out)策略總是把最先調(diào)入的Cache字塊替換出去,它不需要隨時(shí)記錄各個(gè)字塊的使用情況,較容易實(shí)現(xiàn);缺點(diǎn)是經(jīng)常使用的塊,如一個(gè) 包含循環(huán)程序的塊也可能由于它是最早的塊而被替換掉。( 2)最近最少使用策略( LRU)LRU( Least Recently Used )策略是把當(dāng)前近期Cache中使用次數(shù)最少的那塊信息塊替換出去,這種替換算法需要隨時(shí)記錄Cache中字塊的使用情況。LRU的平均命中率比FIFO高,在組相聯(lián)映像方式中,當(dāng)分組容量加大時(shí),LRU的命中率也會(huì)提

48、高。綜上所述:當(dāng)CPU要求訪存時(shí),地址總線上給出了主存地址,此地址經(jīng)主存Cache地址映象變換機(jī)構(gòu),形成 Cache地址。如果轉(zhuǎn)換后的 Cache地址與CPU欲訪問(wèn)的主存地 址已建立了對(duì)應(yīng)關(guān)系,即已命中,則CPU直接訪問(wèn)Cache存儲(chǔ)體。如果轉(zhuǎn)換后的 Cache 地址與CPU欲訪問(wèn)的主存地址未建立對(duì)應(yīng)關(guān)系,即未命中,此刻CPU不僅需訪問(wèn)主存,同時(shí)要將該存儲(chǔ)字所在的主存塊一并調(diào)入Cache。調(diào)入Cache的前提是Cache中還有空塊未被裝滿,否則需通過(guò)Cache替換機(jī)構(gòu),替換出 Cache的某字塊,重新裝入新字塊。4.4 虛擬存儲(chǔ)器4.4.1 虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器位于 "主存

49、- 輔存"層次。根據(jù)程序運(yùn)行的局部性原理,一個(gè)程序運(yùn) 行時(shí),在一小段時(shí)間內(nèi),只會(huì)用到程序和數(shù)據(jù)的一小部分,僅把這些程序和數(shù)據(jù)裝 入主存儲(chǔ)器即可,更多的部分可以在用到時(shí)隨時(shí)從磁盤(pán)調(diào)入主存儲(chǔ)器,這是提出虛 擬存儲(chǔ)器的核心依據(jù)。虛擬存儲(chǔ)器所追求的目標(biāo)是擺脫主存儲(chǔ)器容量的限制,降低 存儲(chǔ)一定信息所用的成本。虛擬存儲(chǔ)器,通常是指高速磁盤(pán)上的一片存儲(chǔ)空間,其功能是通過(guò)硬件、軟件 的辦法,可以將其作為主存儲(chǔ)器的擴(kuò)展的存儲(chǔ)空間一樣來(lái)使用,這就使得程序設(shè)計(jì) 人員能夠使用比主存儲(chǔ)器實(shí)際容量大得多的存儲(chǔ)空間來(lái)設(shè)計(jì)和運(yùn)行程序。虛擬存儲(chǔ)器中經(jīng)常使用三種基本管理技術(shù):頁(yè)式存儲(chǔ)管理,段式虛擬存儲(chǔ)器, 段頁(yè)式虛擬存

50、儲(chǔ)器。4.4.2 頁(yè)式存儲(chǔ)管理一、頁(yè)和頁(yè)表頁(yè)式存儲(chǔ)管理,是另一種經(jīng)常用到的虛擬存儲(chǔ)器管理技術(shù)。它的主要思路是把 虛擬(邏輯)地址空間和主存實(shí)際(物理)地址空間,都分成大小相等的頁(yè),并規(guī) 定頁(yè)的大小為 2 的整數(shù)次方個(gè)字,則所有地址都可以用頁(yè)號(hào)拼接頁(yè)內(nèi)地址的形式來(lái) 表示。虛擬地址用虛頁(yè)號(hào)拼接頁(yè)內(nèi)地址給出,主存實(shí)際地址用實(shí)頁(yè)號(hào)拼接頁(yè)內(nèi)地址 給出。通常要建立一張?zhí)摰刂讽?yè)號(hào)和實(shí)地址頁(yè)號(hào)的對(duì)照表,記錄程序再虛頁(yè)調(diào)入主 存時(shí)安排再主存中的位置,這張表叫做頁(yè)表。頁(yè)表由若干表目組成,每個(gè)虛頁(yè)號(hào)對(duì) 應(yīng)頁(yè)表中的一個(gè)表目。二、地址映象變換圖 4-12 給出了頁(yè)式存儲(chǔ)器管理的地址變換過(guò)程。這一地址變換過(guò)程是:用虛地址

51、中的虛頁(yè)號(hào)與頁(yè)表基地址相加,求出對(duì)應(yīng)該虛 頁(yè)的頁(yè)表表目在主存中的實(shí)際地址,從該表目的實(shí)頁(yè)號(hào)字段取出實(shí)頁(yè)號(hào)再拼上虛地 址中的頁(yè)內(nèi)地址,就得到讀主存數(shù)據(jù)用的實(shí)存地址。當(dāng)需要把一頁(yè)從虛存調(diào)入主存時(shí),操作系統(tǒng)從主存儲(chǔ)器的空閑區(qū)找出一頁(yè)分配 給這一頁(yè),把該頁(yè)的內(nèi)容寫(xiě)入主存,把主存儲(chǔ)器的實(shí)際頁(yè)號(hào)寫(xiě)進(jìn)軋表的相應(yīng)表目的貢表基地址寄存器虔地址圖4-12頁(yè)式存儲(chǔ)器管理的虛-實(shí)地址轉(zhuǎn)換實(shí)頁(yè)號(hào)字段,寫(xiě)裝入位為1。當(dāng)下次要讀該頁(yè)內(nèi)的某個(gè)存儲(chǔ)單元時(shí),首先要讀一次主存,通過(guò)查頁(yè)表求出實(shí) 存地址,爾后再讀一次主存,才能取得要讀的數(shù)據(jù),為讀一個(gè)數(shù)據(jù)變成兩次讀主存, 實(shí)際應(yīng)用中是難以令人接受的。怎么解決這一問(wèn)題呢?答案是設(shè)立一個(gè)

52、完全用快速 硬件實(shí)現(xiàn)的一個(gè)容量很小的(一般在1664個(gè)表目之間)快速頁(yè)表(英文為,用(可Tran slation Lookaside Buffer,簡(jiǎn)寫(xiě)為T(mén)LB,譯為中文叫做轉(zhuǎn)換旁路緩沖器)于存放在頁(yè)表中使用最頻繁的、為數(shù)不多的那些表目的內(nèi)容。它的最重要的兩項(xiàng)內(nèi) 容是虛頁(yè)號(hào)和實(shí)頁(yè)號(hào)。經(jīng)快表實(shí)現(xiàn)的地址轉(zhuǎn)換過(guò)程,用虛地址中的虛頁(yè)號(hào)去與快表 中虛頁(yè)號(hào)字段的內(nèi)容相比較,與哪個(gè)表目中的虛頁(yè)號(hào)相同,則可以取出該表目中的 實(shí)頁(yè)號(hào),并與頁(yè)內(nèi)地址拼接出實(shí)存地址。這一過(guò)程可以很快完成,很有點(diǎn)類似于高 速緩沖存儲(chǔ)器的運(yùn)行原理。當(dāng)在快表中找不到該虛頁(yè)號(hào)時(shí),就要到主存中經(jīng)慢表 以這樣稱呼罷?。┱页鲈撎擁?yè)號(hào)對(duì)應(yīng)的實(shí)頁(yè)號(hào),

53、在得到一個(gè)實(shí)存地址的同時(shí),并用該 虛頁(yè)號(hào)和實(shí)頁(yè)號(hào)替換掉修改快表的一個(gè)表目的內(nèi)容,以反映這次操作的現(xiàn)實(shí)形勢(shì)。4.4.3段式存儲(chǔ)管理一、段在程序設(shè)計(jì)過(guò)程中,通常會(huì)把在邏輯上、處理功能上有一定的獨(dú)立性的程序段 落單獨(dú)劃分成一個(gè)獨(dú)立的程序單位,供主程序或其它程序部分調(diào)用,一個(gè)大的程序 是由許多程序單位經(jīng)過(guò)連接而組成的。此時(shí)的每個(gè)程序單位就是一個(gè)程序段,可以 用段名或段號(hào)來(lái)指明程序段,每個(gè)段的長(zhǎng)度是隨意的,由組成程序段的指令條數(shù)決定,或由組成數(shù)據(jù)段的數(shù)據(jù)數(shù)目決定。在處理和運(yùn)行這樣的程序時(shí),把段作為信息單位,實(shí)現(xiàn)在主存-輔存之間傳送和定位是合理的。為此,必須把主存按段進(jìn)行分配與管理,這種管理方式被稱為段

54、式存儲(chǔ)管理。、邏輯地址一個(gè)邏輯地址由邏輯段號(hào) 拼接上段內(nèi)地址組成(每段的 第一個(gè)字的段內(nèi)地址均默認(rèn)為 0)。在程序運(yùn)行過(guò)程中,當(dāng)用 到某一段并將其調(diào)入主存時(shí), 它被分配在一片連續(xù)的主存區(qū) 域,該主存區(qū)域的起始單兀用 于存放該段的第一個(gè)字,以后 各字均依次順序存放。圖4-13程序的邏輯地址空間主存儲(chǔ)器圖4-13邏輯地址給出了由三段組成的一個(gè)程序 的邏輯地址空間,其中兩段已 裝入主存的示意表示。三、地址映象變換圖4-14給出了頁(yè)式存儲(chǔ)器管理的地址變換過(guò)程。由此可見(jiàn),段式存儲(chǔ)管理的核心問(wèn)題是變邏輯地址中的邏輯頁(yè)號(hào)為主存中的一 個(gè)存儲(chǔ)區(qū)域的起始地址,這是通過(guò)在系統(tǒng)中設(shè)置一個(gè)段表完成的。段表也是一個(gè)特

55、定的段,通常被保存在主存中。為訪問(wèn)段表,段表在主存中的起始地址被寫(xiě)入到一 個(gè)被稱為段表基地址寄存器的專用的寄存器中。段表由多個(gè)入口(表項(xiàng))組成,每 個(gè)表項(xiàng)由3部分內(nèi)容構(gòu)成:段起始地址,段的長(zhǎng)度,段的裝入位。段起始地址給出 的是本段在主存中的起始地址,該起始地址加上段內(nèi)地址就得到本段的一個(gè)字在主 存中的真正地址,段的長(zhǎng)度用于進(jìn)行主存使用的合法性檢查,當(dāng)出現(xiàn)段內(nèi)地址超過(guò) 段的長(zhǎng)度時(shí),就能發(fā)現(xiàn)遇到主存使用越界的錯(cuò)誤。段的裝入位用于判斷本段是否已 裝入主存。圖4-14給出了由邏輯地址到主存實(shí)際地址的轉(zhuǎn)換過(guò)程。邏輯地址段始地址 段長(zhǎng) 裝入位圖4-14段式存儲(chǔ)器管理的地址變換四、優(yōu)點(diǎn)首先,段的分界與程序的自然分界相對(duì)應(yīng);其次,段邏輯上的獨(dú)立性使其易于 分別編譯、管理、修改和保護(hù),也便于多道程序?qū)崿F(xiàn)對(duì)段的共享。但段長(zhǎng)的不確定 性,會(huì)給主存空間的分配與管理帶來(lái)麻煩,而且容易造成在段間留下許多零碎的、 難以使用的小的存儲(chǔ)空間,浪費(fèi)存儲(chǔ)器的有效可用容量,假若碎塊太多,甚至?xí)?整個(gè)存儲(chǔ)器都難以利用。4.4.4段頁(yè)式存儲(chǔ)管理一、段頁(yè)式存儲(chǔ)管理段頁(yè)式虛擬存儲(chǔ)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論