《計(jì)算機(jī)組成原理》 課件 傅籬 第3、4章 系統(tǒng)總線、存儲(chǔ)器系統(tǒng)_第1頁(yè)
《計(jì)算機(jī)組成原理》 課件 傅籬 第3、4章 系統(tǒng)總線、存儲(chǔ)器系統(tǒng)_第2頁(yè)
《計(jì)算機(jī)組成原理》 課件 傅籬 第3、4章 系統(tǒng)總線、存儲(chǔ)器系統(tǒng)_第3頁(yè)
《計(jì)算機(jī)組成原理》 課件 傅籬 第3、4章 系統(tǒng)總線、存儲(chǔ)器系統(tǒng)_第4頁(yè)
《計(jì)算機(jī)組成原理》 課件 傅籬 第3、4章 系統(tǒng)總線、存儲(chǔ)器系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩75頁(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)介

第3章系統(tǒng)總線

3.1總線的基本概念計(jì)算機(jī)硬件是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大部分組成的。如何把這幾部分電路連接起來(lái)組成一臺(tái)電子計(jì)算機(jī)?電子計(jì)算機(jī)的五大部件之間的連接方式有兩種:

一種是各個(gè)部件單獨(dú)設(shè)計(jì)連接電路,也就是說(shuō)每個(gè)部件之間的連接電路方式都不同,這種稱為分散連接;另一種是將各個(gè)部件連接到一組按照某一個(gè)標(biāo)準(zhǔn)設(shè)計(jì)的公共信息傳輸線上,這組公共信息線就稱為總線,這種連接方式稱為總線連接??偩€(Bus):它是連接各個(gè)部件的一組公共信號(hào)傳輸線,是各個(gè)部件共享的傳輸介質(zhì)。優(yōu)點(diǎn):使計(jì)算機(jī)系統(tǒng)設(shè)計(jì)簡(jiǎn)化,可以模塊化設(shè)計(jì)部件,計(jì)算機(jī)系統(tǒng)可以隨時(shí)增添和減撤設(shè)備,便于計(jì)算機(jī)系統(tǒng)的擴(kuò)展和維護(hù)。

3.2總線的分類總線的應(yīng)用十分廣泛,從不同的角度有不同的分類方法。3.2.1按傳輸方式分類按照數(shù)據(jù)傳送方式可分為:并行傳輸總線和串行傳輸總線。

1.串行通信串行通信是指計(jì)算機(jī)主機(jī)與外設(shè)之間以及主機(jī)系統(tǒng)與主機(jī)系統(tǒng)之間數(shù)據(jù)的串行傳輸。串行傳輸是使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。假定有一個(gè)8位的二進(jìn)制數(shù)據(jù)01001001,從源傳送到終點(diǎn),在串行傳輸中,只需要通過(guò)一條傳輸線分8次由低位到高位按照順序逐位傳送,每1位對(duì)應(yīng)一個(gè)固定的時(shí)間長(zhǎng)度。假定傳輸1位對(duì)應(yīng)的固定時(shí)間長(zhǎng)度是T,則串行傳輸一個(gè)8位的二進(jìn)制數(shù)據(jù)需要8T。如圖3.1所示,其中高電平為“1”,低電平為“0”。采用串行傳輸方式,不管多少位二進(jìn)制數(shù)據(jù)都可以只使用一條傳輸線,只是傳輸?shù)臅r(shí)間增加而已。

串行通信方式的三種工作模式:(1)單工模式單工模式一般用在只向一個(gè)方向傳輸數(shù)據(jù)的場(chǎng)合。(2)半雙工模式半雙工模式使用同一根傳輸線,既可以發(fā)送數(shù)據(jù)又可以接收數(shù)據(jù),但不能同時(shí)進(jìn)行發(fā)送和接收。它實(shí)際上是一種切換方向的單工通信,比如對(duì)講機(jī)。(3)全雙工模式全雙工模式允許數(shù)據(jù)同時(shí)在兩個(gè)方向上傳輸,因此,全雙工通信是兩個(gè)單工通信方式的結(jié)合,它要求發(fā)送設(shè)備和接收設(shè)備都有獨(dú)立的接收和發(fā)送能力,比如電話。串行總線通信的特點(diǎn):抗干擾能力強(qiáng),通信線路少,成本低、布線簡(jiǎn)便易行,施工方便,自由度及靈活度較高,特別適用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。

2.并行通信并行通信是指計(jì)算機(jī)主機(jī)內(nèi)部、計(jì)算機(jī)主機(jī)與外設(shè)之間以及主機(jī)系統(tǒng)與主機(jī)系統(tǒng)之間數(shù)據(jù)的并行傳輸。并行傳輸是采用多位二進(jìn)制數(shù)據(jù)同時(shí)通過(guò)并行線進(jìn)行傳送,數(shù)據(jù)傳送速度大大提高。假定有一個(gè)8位的二進(jìn)制數(shù)據(jù)01001001,從源傳送到終點(diǎn),在并行傳送中,要通過(guò)8條傳輸線同時(shí)由源傳送到終點(diǎn)。如圖3.2所示,如果我們同樣假定傳輸1位對(duì)應(yīng)的固定時(shí)間長(zhǎng)度是T,不管是多少位二進(jìn)制數(shù)據(jù),理論上都只需要一個(gè)T的時(shí)間。并行總線通信的特點(diǎn):傳輸速度快,但需要更多的傳輸線,遠(yuǎn)距離傳輸成本高,傳輸線之間的干擾成為影響提高數(shù)據(jù)傳輸率的重要因素。3.2.2按連接部件分類總線按照連接部件的不同分為:片內(nèi)總線、系統(tǒng)總線、通信總線三種類型。

1.片內(nèi)總線由于總線技術(shù)給工程師設(shè)計(jì)電路時(shí)帶來(lái)了極大的方便,所以在集成電路芯片設(shè)計(jì)時(shí)也采用了總線技術(shù)來(lái)進(jìn)行設(shè)計(jì),例如CPU內(nèi)部的運(yùn)算器、控制器、寄存器等電路連接時(shí)也采用了總線設(shè)計(jì)方式,由于總線是位于芯片內(nèi)部,故稱為芯片內(nèi)部總線(片內(nèi)總線。我們前面在第一章中介紹的模型機(jī)(圖1.20),它的CPU內(nèi)部就采用了內(nèi)部數(shù)據(jù)總線設(shè)計(jì)方式,AC、BX、IR、PC等寄存器都連接在這個(gè)內(nèi)部數(shù)據(jù)總線上,這個(gè)內(nèi)部數(shù)據(jù)總線就是一種片內(nèi)總線。2.系統(tǒng)總線系統(tǒng)總線是指連接CPU、主存、I/O設(shè)備各大部件之間的公共信息傳輸線,因?yàn)樵摽偩€是用來(lái)連接計(jì)算機(jī)各功能部件而構(gòu)成一個(gè)完整的計(jì)算機(jī)系統(tǒng),所以稱之為系統(tǒng)總線?!队?jì)算機(jī)組成原理》課程重點(diǎn)是講述系統(tǒng)總線的結(jié)構(gòu)、控制原理。系統(tǒng)總線按照每條線所傳輸?shù)男畔⒌牟煌梢苑譃槿悾簲?shù)據(jù)總線DB(DataBus)、地址總線AB(AddressBus)、控制總線CB(ControlBus)。(1)數(shù)據(jù)總線DB數(shù)據(jù)總線用于傳送數(shù)據(jù)信息。數(shù)據(jù)總線是雙向三態(tài)形式的總線數(shù)據(jù)總線的位數(shù)稱為數(shù)據(jù)總線寬度,是計(jì)算機(jī)性能的一個(gè)重要指標(biāo),通常與CPU的機(jī)器字長(zhǎng)相一致。(2)地址總線AB地址總線是專門(mén)用來(lái)傳送地址的,由于地址只能從CPU傳向存儲(chǔ)器或I/O端口,所以地址總線是單向三態(tài)的,這與數(shù)據(jù)總線不同。(3)控制總線CB由于數(shù)據(jù)總線是由被連接在總線上的所有部件所共享的,所以如果出現(xiàn)幾個(gè)部件都要使用數(shù)據(jù)總線怎么辦?如何確定數(shù)據(jù)數(shù)據(jù)總線的傳輸方向?這時(shí)候就需要依靠控制總線上的相關(guān)控制信號(hào)來(lái)確定??刂瓶偩€用來(lái)傳送控制信號(hào)和時(shí)序信號(hào)。常見(jiàn)的控制信號(hào)如下:時(shí)鐘:用來(lái)同步計(jì)算機(jī)電路的各種操作。復(fù)位:初始化所有部件??偩€請(qǐng)求:表示某部件需要獲得總線使用權(quán)??偩€允許:表示需要獲得總線使用權(quán)的部件已經(jīng)獲得了控制權(quán)。中斷請(qǐng)求:表示某部件提出中斷請(qǐng)求。中斷響應(yīng):表示中斷請(qǐng)求已經(jīng)被接收。存儲(chǔ)器寫(xiě):將數(shù)據(jù)總線上的數(shù)據(jù)寫(xiě)入存儲(chǔ)器的指定單元。存儲(chǔ)器讀:將指定存儲(chǔ)器單元的數(shù)據(jù)讀到數(shù)據(jù)總線上。I/O讀:從指定的I/O端口將數(shù)據(jù)讀到數(shù)據(jù)總線上。I/O寫(xiě):將數(shù)據(jù)總線上的數(shù)據(jù)輸出到指定的I/O端口內(nèi)。常見(jiàn)的控制信號(hào)如下:時(shí)鐘:用來(lái)同步計(jì)算機(jī)電路的各種操作。復(fù)位:初始化所有部件??偩€請(qǐng)求:表示某部件需要獲得總線使用權(quán)??偩€允許:表示需要獲得總線使用權(quán)的部件已經(jīng)獲得了控制權(quán)。中斷請(qǐng)求:表示某部件提出中斷請(qǐng)求。中斷響應(yīng):表示中斷請(qǐng)求已經(jīng)被接收。存儲(chǔ)器寫(xiě):將數(shù)據(jù)總線上的數(shù)據(jù)寫(xiě)入存儲(chǔ)器的指定單元。存儲(chǔ)器讀:將指定存儲(chǔ)器單元的數(shù)據(jù)讀到數(shù)據(jù)總線上。I/O讀:從指定的I/O端口將數(shù)據(jù)讀到數(shù)據(jù)總線上。I/O寫(xiě):將數(shù)據(jù)總線上的數(shù)據(jù)輸出到指定的I/O端口內(nèi)。3.通信總線通信總線是指用于計(jì)算機(jī)系統(tǒng)之間(計(jì)算機(jī)網(wǎng)絡(luò))或計(jì)算機(jī)系統(tǒng)和其他系統(tǒng)(如某種工業(yè)控制系統(tǒng)、移動(dòng)通信系統(tǒng)等)之間的通信。

3.3總線的特性及性能指標(biāo)3.3.1總線特性從物理實(shí)體的角度來(lái)看,系統(tǒng)總線就是許多直接印制在電路板上的導(dǎo)線,為了確保各個(gè)部件能正確插入到相應(yīng)的插槽中,保證連接在總線上的部件之間能相互交換數(shù)據(jù),必須從電平、電流、機(jī)械尺寸、引腳的功能等做一些規(guī)定,這種規(guī)定稱為總線特性??偩€特性包括以下幾項(xiàng):(1)機(jī)械特性機(jī)械特性是指總線在機(jī)械連接方式上的一些性能,如插頭和插座使用的標(biāo)準(zhǔn),它們的幾何尺寸、形狀、引腳數(shù)目、排列順序等。(2)電氣特性電氣特性是指總線的每一根傳輸線上信號(hào)的傳遞方向和有效的電平范圍。例如RS-232C,其電平特性和TTL電平特性是不相同的。(3)功能特性功能特性是指總線中每根傳輸線的功能。比如總線中有些線是傳送地址的,有些是傳送數(shù)據(jù)的,有些是傳送控制信號(hào)的,各條線的功能不同。(4)時(shí)間特性時(shí)間特性是指在什么時(shí)間相應(yīng)的信號(hào)有效。每條總線上的各種信號(hào)是按照一定的時(shí)間順序出現(xiàn)的,形成一種時(shí)序關(guān)系。3.3.2總線性能指標(biāo)總線性能指標(biāo)很多,我們重點(diǎn)介紹如下幾個(gè)指標(biāo):(1)總線寬度:通常是指并行傳輸時(shí)數(shù)據(jù)總線的位數(shù)。(2)總線帶寬:總線的帶寬是指總線的數(shù)據(jù)傳輸速率,即單位時(shí)間內(nèi)總線上傳輸數(shù)據(jù)的位數(shù),通常用每秒傳輸信息的字節(jié)數(shù)(或位數(shù))來(lái)衡量。單位:MBps(兆字節(jié)每秒)或者M(jìn)bps(兆位每秒)。3.3.3總線標(biāo)準(zhǔn)總線標(biāo)準(zhǔn)就是系統(tǒng)與各個(gè)設(shè)備模塊、設(shè)備模塊與設(shè)備模塊之間互連的標(biāo)準(zhǔn)界面。界面的任一方只需要按照總線標(biāo)準(zhǔn)的要求完成自己一方的接口功能設(shè)計(jì),無(wú)須了解對(duì)方接口與總線的連接要求。1.PCI總線PCI總線采用的是并行互連方式。1991年下半年,Intel公司首先提出了PCI(PeripheralComponentInterconnect),外圍部件互連)總線的概念,1992年6月推出了PCI1.0版、1995年和1999年又先后推出了2.1版和2.2版。隨著PCI總線的版本提高,總線的工作頻率也在不斷地提高。不同版本的PCI總線應(yīng)用在不同場(chǎng)合。2.PCI-E總線PCI-E(PCI-Express)是現(xiàn)在最為流行的一種總線標(biāo)準(zhǔn)。PCI-E總線采用的是串行互連方式,PCI-E總線還可以采用同時(shí)雙向數(shù)據(jù)傳輸(全雙工)串行互連方式,這比單向串行數(shù)據(jù)傳輸(單工)的數(shù)據(jù)傳輸率提高一倍。PCI-E總線還有多種不同速度的接口模式,這包括了1X、2X、4X、8X、16X以及更高速的32X。3.USB總線USB(UniversalSerialBus)通用串行總線是Compaq、DEC、IBM、Intel、Microsoft、NEC(日本)、NorthernTelecom(加拿大)等七大公司于1994年11月聯(lián)合開(kāi)發(fā)的計(jì)算機(jī)串行接口總線標(biāo)準(zhǔn),1996年1月頒布了USB1.0版本。主要特點(diǎn):①

具有真正的即插即用,可以在不關(guān)機(jī)的情況下,很方便地對(duì)外設(shè)進(jìn)行安裝和拆卸。②

USB1.0版本最大數(shù)據(jù)傳輸率可達(dá)12Mbps,USB2.0版本最大數(shù)據(jù)傳輸率可達(dá)到480Mbps,USB3.0版本最大數(shù)據(jù)傳輸率可達(dá)到5Gbps。③標(biāo)準(zhǔn)統(tǒng)一。鼠標(biāo)、鍵盤(pán)、打印機(jī)、掃描儀等都可以改成以統(tǒng)一的USB標(biāo)準(zhǔn)接入系統(tǒng)。④連接電纜輕巧。USB使用4芯電纜,其中兩條用于信號(hào)連接,2條用于電源與地。可為外設(shè)提供+5V的直流電源,方便用戶。

3.4總線結(jié)構(gòu)和總線控制3.4.1總線結(jié)構(gòu)總線結(jié)構(gòu)分為單總線結(jié)構(gòu)和多總線結(jié)構(gòu)。每種總線結(jié)構(gòu)都有自己的特點(diǎn),計(jì)算機(jī)工程師可根據(jù)不同計(jì)算機(jī)應(yīng)用產(chǎn)品的實(shí)際需要和成本考慮,在設(shè)計(jì)時(shí)采用不同的總線結(jié)構(gòu)方式。1.單總線結(jié)構(gòu)如圖3.2所示,在單總線結(jié)構(gòu)中,CPU、主存、I/O設(shè)備(通過(guò)I/O接口)都連接在同一組總線上。單總線結(jié)構(gòu)的優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單、易于設(shè)計(jì)、便于擴(kuò)充、利于維護(hù)、成本低。單總線結(jié)構(gòu)的缺點(diǎn):數(shù)據(jù)傳輸率低,系統(tǒng)效率不高。1.多總線結(jié)構(gòu)為了根本解決數(shù)據(jù)傳輸速率,解決CPU、主存與I/O設(shè)備之間傳輸速率的不匹配,對(duì)速度要求高的計(jì)算機(jī)系統(tǒng)都采取多總線結(jié)構(gòu)。圖3.3是一種雙總線結(jié)構(gòu)的示意圖。這種雙總線結(jié)構(gòu)和前面介紹的單總線相比,在CPU和主存之間增加了一條存儲(chǔ)總線。計(jì)算機(jī)硬件系統(tǒng)五大部件中,CPU和主存的存取速度最快,輸入/輸出(I/O)設(shè)備的存取速度與之相比是極低的。這種雙總線的結(jié)構(gòu)特點(diǎn)就是將速度較高的設(shè)備從單總線上分離出來(lái),單獨(dú)建立與系統(tǒng)總線分開(kāi)的存儲(chǔ)總線。

隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,現(xiàn)在I/O設(shè)備的種類越來(lái)越多,不同的I/O設(shè)備它的數(shù)據(jù)傳輸速度相差很大,如何讓這些不同數(shù)據(jù)傳輸速度的設(shè)備更有效地連接呢?采取的方法之一就是把這些不同速度的I/O設(shè)備再進(jìn)行分類,讓速度相近的I/O設(shè)備連接到一種總線上,這樣計(jì)算機(jī)系統(tǒng)的工作效率將會(huì)更高,這就形成了計(jì)算機(jī)的多總線結(jié)構(gòu)。3.4.2總線控制所謂總線控制器就是包含總線判優(yōu)控制(或稱總線仲裁)和總線通信控制兩個(gè)功能的控制電路。通過(guò)總線控制器可實(shí)現(xiàn)對(duì)總線的統(tǒng)一管理。下面分別介紹總線控制器的主要功能:1、總線判優(yōu)控制(或稱總線仲裁);2、總線通信控制。1.總線判優(yōu)控制總線上所連接的各種部件我們又稱其為設(shè)備(或模塊),按其對(duì)總線有無(wú)控制功能可分為主設(shè)備(主模塊)和從設(shè)備(從模塊)兩種??偩€上數(shù)據(jù)的傳輸是由主設(shè)備啟動(dòng)的,如果某個(gè)設(shè)備(主設(shè)備)要通過(guò)總線向另外一個(gè)設(shè)備(從設(shè)備)傳輸數(shù)據(jù)(通信)時(shí),首先是主設(shè)備向總線控制器發(fā)出需要使用總線的請(qǐng)求信號(hào)。若多個(gè)主設(shè)備同時(shí)需要使用總線,都發(fā)出總線請(qǐng)求信號(hào)時(shí),就由總線控制器的判優(yōu)、仲裁電路按照一定的優(yōu)先等級(jí)順序確定哪個(gè)主設(shè)備能控制使用總線,這就是總線判優(yōu)控制。一種最常見(jiàn)的總線判優(yōu)控制電路:鏈?zhǔn)讲樵兎绞诫娐贰f準(zhǔn)讲樵兎绞诫娐啡鐖D3.4所示。在鏈?zhǔn)讲樵兎绞诫娐分?,由于查詢的順序是?號(hào)設(shè)備到n號(hào)設(shè)備,最先查詢的是0號(hào)設(shè)備,所以優(yōu)先權(quán)的高低是按照設(shè)備編號(hào)依次鏈?zhǔn)脚帕械模?號(hào)設(shè)備的優(yōu)先權(quán)最高,n號(hào)設(shè)備最低。鏈?zhǔn)讲樵兎绞降奶攸c(diǎn):鏈?zhǔn)讲樵兎绞降碾娐肥趾?jiǎn)單。但電路一旦設(shè)計(jì)完成后每個(gè)設(shè)備的優(yōu)先級(jí)就固定了,不能改變,設(shè)備的優(yōu)先權(quán)依照編號(hào)排列。而且如果其中某個(gè)編號(hào)的設(shè)備出現(xiàn)故障,后面編號(hào)的設(shè)備就不能被查詢。2.總線通信控制總線通信控制部分的功能主要解決主設(shè)備向從設(shè)備傳輸數(shù)據(jù)時(shí),雙方如何知道傳輸開(kāi)始和傳輸完成,以及通信雙方如何協(xié)調(diào)、如何配合??偩€周期:我們通常將完成一次系統(tǒng)總線操作所需的時(shí)間稱為總線周期??偩€周期主要由4個(gè)階段組成。①申請(qǐng)分配階段:由需要使用系統(tǒng)總線的主設(shè)備(主模塊)提出申請(qǐng),由總線判優(yōu)(仲裁)電路在多個(gè)申請(qǐng)者中決定哪一個(gè)申請(qǐng)者可獲得下一個(gè)傳輸周期的總線使用權(quán)。②尋址階段:取得了總線使用權(quán)的主設(shè)備(主模塊)通過(guò)系統(tǒng)總線中的地址總線發(fā)出本次要訪問(wèn)的從設(shè)備(從模塊)的地址及有關(guān)命令,啟動(dòng)參與本次傳輸?shù)膹脑O(shè)備(從模塊)。③傳數(shù)階段:主設(shè)備(主模塊)和從設(shè)備(從模塊)進(jìn)行數(shù)據(jù)交換。主設(shè)備和從設(shè)備交換數(shù)據(jù)有兩種情況,一種是數(shù)據(jù)由主設(shè)備發(fā)出,經(jīng)過(guò)系統(tǒng)總線中的數(shù)據(jù)總線寫(xiě)入到從設(shè)備中;另外一種是主設(shè)備經(jīng)過(guò)數(shù)據(jù)總線把從設(shè)備中的數(shù)據(jù)讀出送到主設(shè)備中。④結(jié)束階段:主設(shè)備(主模塊)的有關(guān)信息均從系統(tǒng)總線上撤除,讓出總線使用權(quán)。三種最常見(jiàn)的總線通信控制方式:同步通信方式、異步通信方式、半同步通信方式。(1)同步通信方式通信雙方由統(tǒng)一的時(shí)鐘信號(hào)控制數(shù)據(jù)的傳送稱為同步通信方式。圖3.6中描述的是CPU(主設(shè)備)通過(guò)總線“讀”從設(shè)備數(shù)據(jù)的總線傳輸周期,這個(gè)傳輸周期包括4個(gè)時(shí)鐘周期:T1、T2、T3、T4。圖3.7是CPU(主設(shè)備)向另外一個(gè)設(shè)備(從設(shè)備)中寫(xiě)數(shù)據(jù)的同步通信過(guò)程。寫(xiě)數(shù)據(jù)傳輸周期也包括4個(gè)時(shí)鐘周期:T1、T2、T3、T4。同步通信的優(yōu)點(diǎn):規(guī)定明確、統(tǒng)一,模塊之間的配合十分簡(jiǎn)單,總線控制電路設(shè)計(jì)容易。同步通信的缺點(diǎn):主設(shè)備和從設(shè)備的時(shí)間配合要求需要強(qiáng)制性同步,必須在限定的時(shí)間完成規(guī)定的動(dòng)作,否則就會(huì)出錯(cuò),不能實(shí)現(xiàn)同步通信。例題3.1假設(shè)總線的時(shí)鐘頻率為100MHz,總線的傳輸周期是4個(gè)時(shí)鐘周期,總線的寬度為16位,試求總線的數(shù)據(jù)傳輸率。解:根據(jù)總線的時(shí)鐘頻率為100MHz,得:1個(gè)時(shí)鐘周期為1/100MHz=0.01us。總線傳輸周期為4個(gè)時(shí)鐘周期,所以總線傳輸周期為:4×0.01us=0.04us。由于總線的寬度為16位=16/8=2字節(jié)。故總線的傳輸率=總線寬度/總線傳輸周期=2/0.04=50MBps。(2)異步通信方式異步通信克服了同步通信的缺點(diǎn),允許連接在總線上的各個(gè)設(shè)備(模塊)速度的不一致性,給設(shè)計(jì)者充分的靈活性和選擇余地。異步通信不需要公共的時(shí)鐘標(biāo)準(zhǔn),不要求所有部件嚴(yán)格的統(tǒng)一操作時(shí)間,而是采用應(yīng)答方式(又稱握手方式)。總線上的各個(gè)設(shè)備(模塊)速度的不一致性,給設(shè)計(jì)者充分的靈活性和選擇余地。異步通信不需要公共的時(shí)鐘標(biāo)準(zhǔn),不要求所有部件嚴(yán)格的統(tǒng)一操作時(shí)間,而是采用應(yīng)答方式(又稱握手方式)。異步通信要求主設(shè)備(主模塊)和從設(shè)備(從模塊)之間增加兩條應(yīng)答線握手交互信號(hào)線(Handshaking)。主設(shè)備(主模塊)發(fā)出請(qǐng)求信號(hào)(Request)信號(hào)后,等待從設(shè)備(從模塊)反饋回來(lái)的響應(yīng)信號(hào)(Acknowledge),必須確認(rèn)響應(yīng)信號(hào)后才開(kāi)始通信,進(jìn)行數(shù)據(jù)傳輸。異步通信的特點(diǎn):允許連接在總線上的各個(gè)設(shè)備(模塊)速度不一致。由于采用應(yīng)答方式,使得數(shù)據(jù)傳輸更加可靠,但總線傳輸周期比同步通信要長(zhǎng),總線控制電路設(shè)計(jì)也比同步通信復(fù)雜。異步通信可以用于并行傳送也可用于串行傳送。①異步并行傳送比如CPU和輸入輸出(I/O)設(shè)備之間交換數(shù)據(jù),CPU的處理速度遠(yuǎn)遠(yuǎn)高于I/O設(shè)備,這樣就可以采用異步傳送方式,同時(shí)數(shù)據(jù)采用并行傳送。具體過(guò)程如圖3.7所示,在這里,CPU是通過(guò)I/O接口和I/O設(shè)備交換數(shù)據(jù)的。當(dāng)CPU要把數(shù)據(jù)傳送給I/O設(shè)備,CPU會(huì)先將數(shù)據(jù)傳送到I/O接口(簡(jiǎn)稱接口),接口收到數(shù)據(jù)就會(huì)向I/O設(shè)備發(fā)出一個(gè)“Ready”(準(zhǔn)備就緒)信號(hào),告訴I/O設(shè)備可以從接口內(nèi)取走數(shù)據(jù)。I/O設(shè)備接收到“Ready”信號(hào)后,立即從接口中取走數(shù)據(jù),當(dāng)數(shù)據(jù)被可靠地取走后,再向接口回發(fā)一個(gè)“Strobe”信號(hào),讓接口告訴CPU,數(shù)據(jù)已經(jīng)被可靠地取走,CPU可以繼續(xù)向接口發(fā)送數(shù)據(jù)。②異步串行傳送異步串行傳送沒(méi)有同步時(shí)鐘,也不需要在數(shù)據(jù)傳送時(shí)同步信號(hào)。在異步串行傳送時(shí),為了確認(rèn)被傳送字符,約定字符格式為:1個(gè)起始位(低電平)、5~8個(gè)數(shù)據(jù)位、1個(gè)奇偶校驗(yàn)位(作檢錯(cuò)用)、1或1.5或2個(gè)終止位(高電平)。傳送時(shí),起始位后面數(shù)據(jù)按照先低位后高位的順序傳送完畢后,再接著發(fā)一個(gè)高電平的終止位。起始位和終止位構(gòu)成一幀,兩幀之間的間隔可以是任意長(zhǎng)度。圖3.9是串行傳送時(shí)兩幀之間沒(méi)有間隔空閑位情形。圖3.10是串行傳送時(shí)兩幀之間有間隔空閑位情形。異步串行通信的數(shù)據(jù)傳送率用波特率來(lái)衡量。波特率是指單位時(shí)間內(nèi)傳送的二進(jìn)制數(shù)據(jù)的總位數(shù),包括:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位、終止位之和。單位用bps(位/每秒)表示,記作波特。如果我們只是考慮有效數(shù)據(jù)位,可采用比特率來(lái)衡量異步串行通信的數(shù)據(jù)傳輸速率。比特率是指單位時(shí)間內(nèi)傳送的二進(jìn)制有效數(shù)據(jù)的位數(shù),單位用bps表示。這里的二進(jìn)制有效數(shù)據(jù)位數(shù)只包括數(shù)據(jù)位,去掉了起始位、校驗(yàn)位和終止位。例題3.2在異步串行通信中,假設(shè)每秒傳送110個(gè)數(shù)據(jù)幀,其中字符7位、1位起始位、1位終止位、1位校驗(yàn)位,請(qǐng)計(jì)算波特率。解:根據(jù)題目給出的字符格式,一幀包括:起始位1+字符位7+校驗(yàn)位1+終止位1=10位。故波特率為:(1+7+1+1)×110=1100bps=1100波特例題3.3在異步串行通信中,若字符格式為:1位起始位、8位數(shù)據(jù)位、1位校驗(yàn)位、1位終止位,已知波特率為1200bps,求此時(shí)的比特率。解:根據(jù)題目給出的字符格式,有效數(shù)據(jù)位為8位。而傳送的總數(shù)據(jù)位數(shù)為:1+8+1+1=11。故比特率=1200×(8/11)=872.72bps(3)半同步通信方式(同步、異步結(jié)合)半同步通信既保留了同步通信的基本特點(diǎn),如所有的地址、控制、數(shù)據(jù)信號(hào)的發(fā)出時(shí)間,都嚴(yán)格按照系統(tǒng)時(shí)鐘的某個(gè)前沿開(kāi)始,而接收方都采用系統(tǒng)時(shí)鐘的后沿時(shí)刻來(lái)進(jìn)行判別;同時(shí)又像異步通信那樣,允許不同速度的模塊和諧地工作。為此,增設(shè)了一條“等待”(WAIT)響應(yīng)信號(hào)線,通過(guò)插入時(shí)鐘周期(等待)的措施來(lái)協(xié)調(diào)通信雙方的配合問(wèn)題。圖3.11是半同步總線讀數(shù)據(jù)傳輸周期。圖3.11半同步讀數(shù)據(jù)總線傳輸周期中:T1

主設(shè)備發(fā)地址。T2

主設(shè)備發(fā)讀命令。Tw

當(dāng)測(cè)得WAIT信號(hào)為低電平,插入一個(gè)和時(shí)鐘周期一致的等待周期TwTw

當(dāng)測(cè)得WAIT信號(hào)為低電平,插入一個(gè)和時(shí)鐘周期一致的等待周期TwT3

從設(shè)備提供數(shù)據(jù)。T4

主設(shè)備撤銷讀命令,從設(shè)備撤銷數(shù)據(jù)。半同步通信適用于系統(tǒng)工作速度不高但又包含了由許多工作速度差異較大的各類設(shè)備組成的簡(jiǎn)單系統(tǒng)。半同步通信方式比異步通信方式簡(jiǎn)單,系統(tǒng)內(nèi)各個(gè)設(shè)備(模塊)都是在統(tǒng)一的系統(tǒng)時(shí)鐘控制下同步工作,可靠性較高,其缺點(diǎn)是對(duì)系統(tǒng)時(shí)鐘頻率不能要求太高。第4章存儲(chǔ)器系統(tǒng)4.1存儲(chǔ)器系統(tǒng)概述計(jì)算機(jī)硬件是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大部分組成的。但是需要特別指出的是,這里的存儲(chǔ)器是指的主存儲(chǔ)器,而不是輔助存儲(chǔ)器。主存儲(chǔ)器簡(jiǎn)稱為主存,又稱為內(nèi)存。輔助存儲(chǔ)器簡(jiǎn)稱為輔存,又稱為外存。如果以個(gè)人計(jì)算機(jī)(PC機(jī))為例,主存儲(chǔ)器(內(nèi)存)主要是指內(nèi)存條;輔助存儲(chǔ)器(外存)是指硬盤(pán)、光盤(pán)、U盤(pán)等。由于主存儲(chǔ)器的數(shù)據(jù)存取速度遠(yuǎn)遠(yuǎn)超過(guò)輔助存儲(chǔ)器,所以計(jì)算機(jī)系統(tǒng)中所有的軟件都必須在主存儲(chǔ)器中運(yùn)行。輔助存儲(chǔ)器的主要作用是保存一些暫時(shí)不需要運(yùn)行的軟件和文件,以備隨時(shí)調(diào)入主存中運(yùn)行。計(jì)算機(jī)的存儲(chǔ)管理軟件將它與主存儲(chǔ)器一起統(tǒng)一管理,作為主存儲(chǔ)器的補(bǔ)充。4.1.1存儲(chǔ)器分類

隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,存儲(chǔ)器的種類越來(lái)越多,不同角度有不同的分類方式。1.按照在計(jì)算機(jī)中的作用來(lái)分按在計(jì)算機(jī)系統(tǒng)中的作用不同,存儲(chǔ)器分為:主存儲(chǔ)器和輔助存儲(chǔ)器。兩者一起共同構(gòu)成計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)器系統(tǒng)。主存儲(chǔ)器的主要特點(diǎn)是它可以和CPU直接交換數(shù)據(jù),計(jì)算機(jī)的所有程序及相關(guān)的數(shù)據(jù)都必須在主存儲(chǔ)器中運(yùn)行。輔助存儲(chǔ)器是主存儲(chǔ)器的后援存儲(chǔ)器,主要用于存放當(dāng)前暫時(shí)不用的各種軟件和文件,它不能與CPU直接交換數(shù)據(jù),它的程序和數(shù)據(jù)需要先調(diào)入主存儲(chǔ)器中然后由CPU運(yùn)行和處理。主存儲(chǔ)器和輔助存儲(chǔ)器兩者相比,主存儲(chǔ)器速度快、容量小、每位價(jià)位高;輔助存儲(chǔ)器速度慢、容量大、每位價(jià)格低。2.按存儲(chǔ)介質(zhì)來(lái)分存儲(chǔ)器是具有“記憶”功能的設(shè)備,它采用具有兩種穩(wěn)定狀態(tài)的物理器件來(lái)存儲(chǔ)信息,這些器件也稱為記憶元件。計(jì)算機(jī)中的程序和數(shù)據(jù)都是由二進(jìn)制“0”、“1”兩個(gè)數(shù)字來(lái)描述的,所以從理論上講,只要能形成兩種穩(wěn)定狀態(tài)分別表示為“0”和“1”的物質(zhì),都可以用來(lái)做存儲(chǔ)介質(zhì)。目前,在計(jì)算機(jī)系統(tǒng)中采用最多的三種做存儲(chǔ)器存儲(chǔ)介質(zhì)的物質(zhì)是:半導(dǎo)體材料、磁材料和光盤(pán)等。(1)半導(dǎo)體存儲(chǔ)器二極管、三極管都是采用半導(dǎo)體材料制作的電子元件,而且二極管和三極管是組成各種數(shù)字電路最基本電子元件,其中也包括用來(lái)“記憶”數(shù)據(jù)的存儲(chǔ)器電路。半導(dǎo)體存儲(chǔ)器就是指采用半導(dǎo)體數(shù)字電路組成“記憶”部件的存儲(chǔ)器。半導(dǎo)體存儲(chǔ)器又可以按照其工藝和材料不同,分為雙極型(TTL)和MOS型半導(dǎo)體存儲(chǔ)器兩種。雙極型(TTL)半導(dǎo)體存儲(chǔ)器速度快,MOS半導(dǎo)體存儲(chǔ)器集成度高,制造簡(jiǎn)單,成本低、功耗小。常見(jiàn)的半導(dǎo)體存儲(chǔ)器有:內(nèi)存條、U盤(pán)、固態(tài)硬盤(pán)等。(2)磁表面存儲(chǔ)器磁表面存儲(chǔ)器是在金屬或塑料基體的表面上涂一層磁性材料作為存儲(chǔ)介質(zhì)。磁表面存儲(chǔ)器具有非易失性的特點(diǎn),而且磁材料價(jià)格低,所以磁表面存儲(chǔ)器價(jià)格相對(duì)半導(dǎo)體存儲(chǔ)器便宜。它的工作原理是磁層隨著載磁體高速運(yùn)轉(zhuǎn),用磁頭在磁層上進(jìn)行讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),故稱為磁表面存儲(chǔ)器。常見(jiàn)的磁表面存儲(chǔ)器有:硬盤(pán)、磁帶。由于磁表面存儲(chǔ)器的讀、寫(xiě)數(shù)據(jù)的速度太慢,隨著半導(dǎo)體存儲(chǔ)器的價(jià)格下降,逐步有被淘汰的趨勢(shì)。(3)光盤(pán)存儲(chǔ)器用做光盤(pán)存儲(chǔ)器的存儲(chǔ)介質(zhì)有:非磁性材料和磁性材料兩種。前者用來(lái)做光盤(pán)的存儲(chǔ)介質(zhì),后者構(gòu)成磁光盤(pán)存儲(chǔ)介質(zhì)。光盤(pán)存儲(chǔ)器是一種采用光存儲(chǔ)技術(shù)存儲(chǔ)信息的存儲(chǔ)器,它采用聚焦激光束在盤(pán)式介質(zhì)上非接觸地記錄高密度信息,以介質(zhì)材料的光學(xué)性質(zhì)(如反射率、偏振方向)的變化來(lái)表示所存儲(chǔ)信息的“1”或“0”。它具有非易失性、可靠性高、耐用性好、容量大等特點(diǎn),因而被稱為半永久性存儲(chǔ)器。光盤(pán)存儲(chǔ)器的缺點(diǎn)是讀、寫(xiě)速度慢。隨著U盤(pán)技術(shù)的發(fā)展,U盤(pán)容量越來(lái)越大,加上計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展,光盤(pán)在個(gè)人計(jì)算機(jī)中的應(yīng)用慢慢被淘汰。3.按存取方式來(lái)分按照存取方式來(lái)分,可把存儲(chǔ)器分為隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、串行訪問(wèn)存儲(chǔ)器。(1)隨機(jī)存儲(chǔ)器(RandomAccessMemory,RAM)RAM是一種可以讀、寫(xiě)的半導(dǎo)體存儲(chǔ)器,其特點(diǎn)可以隨機(jī)存取任何一個(gè)存儲(chǔ)單元的內(nèi)容,而且存取時(shí)間與存儲(chǔ)單元的物理位置無(wú)關(guān)。計(jì)算機(jī)系統(tǒng)中的主存都是采用這種隨機(jī)存儲(chǔ)器。由于存取信息的原理不同,RAM又分為靜態(tài)RAM(以觸發(fā)器電路寄存信息)和動(dòng)態(tài)RAM(以電容充放電原理寄存信息)。RAM的優(yōu)點(diǎn)是存取速度快,缺點(diǎn)是價(jià)格高。當(dāng)電源關(guān)閉,RAM存儲(chǔ)器電路里寄存的數(shù)據(jù)也就消失,重新打開(kāi)電源后,RAM存儲(chǔ)器內(nèi)的數(shù)據(jù)就變成了一些隨機(jī)數(shù)。(2)只讀存儲(chǔ)器(ReadOnlyMemory,ROM)只讀存儲(chǔ)器是能對(duì)其存儲(chǔ)的數(shù)據(jù)讀出,而不能在常規(guī)下對(duì)其內(nèi)容重新寫(xiě)入的存儲(chǔ)器。ROM通常用來(lái)存放固定不變的程序或數(shù)據(jù)。比如個(gè)人計(jì)算機(jī)(PC機(jī))中的BIOS芯片,還有一些計(jì)算機(jī)系統(tǒng)中的固化操作系統(tǒng)芯片等。隨著半導(dǎo)體技術(shù)的不斷進(jìn)步,推出了可以擦寫(xiě)的只讀存儲(chǔ)器(EPROM),這種可擦寫(xiě)的存儲(chǔ)器必須在紫外線照射下對(duì)原數(shù)據(jù)進(jìn)行擦除,要在專門(mén)的寫(xiě)入器上寫(xiě)入新數(shù)據(jù)。隨著技術(shù)的發(fā)展出現(xiàn)了電可擦的只讀存儲(chǔ)器EEPROM,這種只讀存儲(chǔ)器的擦除可以用電來(lái)在線擦除和寫(xiě)入,只是寫(xiě)入速度比RAM慢很多。最新又出現(xiàn)了閃速存儲(chǔ)器(FlashMemory,閃存),它具有EEPROM的特點(diǎn),但擦除和寫(xiě)入速度快得多。U盤(pán)采用的就是閃速存儲(chǔ)器(FlashMemory,閃存)。它和傳統(tǒng)硬盤(pán)相比優(yōu)點(diǎn)是速度快得多,同時(shí)噪音小,缺點(diǎn)是價(jià)格相比傳統(tǒng)硬盤(pán)高。同為半導(dǎo)體存儲(chǔ)器的RAM和ROM,有各自的優(yōu)點(diǎn)和缺點(diǎn)。從讀、寫(xiě)速度來(lái)說(shuō),RAM存儲(chǔ)器比ROM存儲(chǔ)器要快得多,但RAM存儲(chǔ)器價(jià)格也高得多。ROM存儲(chǔ)器的優(yōu)點(diǎn)是存儲(chǔ)在ROM中的數(shù)據(jù)即使電源關(guān)閉,不會(huì)丟失數(shù)據(jù)。RAM存儲(chǔ)器中的數(shù)據(jù)會(huì)隨著計(jì)算機(jī)關(guān)機(jī)而消失,重新開(kāi)機(jī)后,RAM存儲(chǔ)器中的數(shù)據(jù)變成了隨機(jī)數(shù)。(3)串行訪問(wèn)存儲(chǔ)器對(duì)存儲(chǔ)單元進(jìn)行讀、寫(xiě)操作時(shí)必須按照其物理位置的先后順序?qū)ふ业刂凡拍懿僮鞯拇鎯?chǔ)器稱為串行訪問(wèn)存儲(chǔ)器。這種存儲(chǔ)器對(duì)不同位置的信息讀、寫(xiě)速度是不同的。例如磁帶存儲(chǔ)器,不論信息在磁帶的哪個(gè)位置,都必須從其介質(zhì)的始端開(kāi)始按照順序?qū)ふ?,故稱為順序存取存儲(chǔ)器?,F(xiàn)在順序存取存儲(chǔ)器已經(jīng)很少使用了。4.1.2存儲(chǔ)器的層次結(jié)構(gòu)衡量存儲(chǔ)器的性能有三個(gè)主要指標(biāo):存儲(chǔ)速度、容量和價(jià)格。除了容量外,還有存儲(chǔ)速度和價(jià)格指標(biāo)。什么是存儲(chǔ)速度呢?我們常常用存儲(chǔ)器的存取時(shí)間來(lái)衡量一個(gè)存儲(chǔ)器的存儲(chǔ)速度,存取時(shí)間是指從存儲(chǔ)器的地址總線給出存儲(chǔ)單元的地址到它的數(shù)據(jù)總線出現(xiàn)數(shù)據(jù)的時(shí)間,目前半導(dǎo)體RAM存儲(chǔ)器的存取時(shí)間已經(jīng)能達(dá)到ns(納秒)級(jí)水平。在性能指標(biāo)中,價(jià)格是指存儲(chǔ)器每一個(gè)二進(jìn)制位的價(jià)格(簡(jiǎn)稱位價(jià)),比如說(shuō)某存儲(chǔ)器的容量是1KB,市場(chǎng)價(jià)格是80元,則該存儲(chǔ)器的每位價(jià)格為80÷(1024×8)元。很顯然,我們希望計(jì)算機(jī)系統(tǒng)中都是大容量、高速度、低價(jià)格的存儲(chǔ)器,但實(shí)際上是很難兼顧,往往是速度快的存儲(chǔ)器,價(jià)格高。4.1.2存儲(chǔ)器的層次結(jié)構(gòu)作為工程師在設(shè)計(jì)一個(gè)計(jì)算機(jī)系統(tǒng)時(shí),需要在存儲(chǔ)容量、存儲(chǔ)速度和價(jià)格上做綜合考慮,追求一個(gè)高的性價(jià)比。計(jì)算機(jī)中的存儲(chǔ)器系統(tǒng)采取層次結(jié)構(gòu)的方式就是要盡可能解決好存儲(chǔ)器的速度、容量、價(jià)格三個(gè)指標(biāo)的綜合平衡,從而使計(jì)算機(jī)系統(tǒng)獲得一個(gè)最佳的性價(jià)比。對(duì)一個(gè)計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),它的核心是CPU,CPU中設(shè)計(jì)有各種寄存器來(lái)存儲(chǔ)指令和數(shù)據(jù),作為CPU中的寄存器它直接參與運(yùn)算器ALU的運(yùn)算。由于CPU是采用最好的工藝來(lái)制造,所以CPU內(nèi)部的寄存器速度最快,但由于價(jià)格高,CPU中就不可能設(shè)計(jì)很多的寄存器。計(jì)算機(jī)需要運(yùn)行的程序往往很大,同時(shí)需要處理的數(shù)據(jù)也很多,光靠CPU中的寄存器是不夠的,所以除開(kāi)CPU中的寄存器外,還需要有其他存儲(chǔ)器器件來(lái)運(yùn)行程序和存儲(chǔ)數(shù)據(jù)。這些存儲(chǔ)器器件就構(gòu)成了計(jì)算機(jī)的存儲(chǔ)器系統(tǒng)。計(jì)算機(jī)中存儲(chǔ)器系統(tǒng)采取層次結(jié)構(gòu)的方式來(lái)管理和使用計(jì)算機(jī)中各類存儲(chǔ)器,最早是采用的是兩級(jí)架構(gòu)的存儲(chǔ)器系統(tǒng)。如圖所示。這個(gè)兩級(jí)架構(gòu)的存儲(chǔ)器系統(tǒng)把存儲(chǔ)器分為:主存儲(chǔ)器(主存)和輔助存儲(chǔ)器(輔存)二級(jí)。1.二級(jí)存儲(chǔ)器系統(tǒng)從計(jì)算機(jī)的工作原理我們知道,主存儲(chǔ)器和CPU一起構(gòu)成計(jì)算機(jī)的主機(jī),在計(jì)算機(jī)的主機(jī)中,主存儲(chǔ)器和CPU直接交換指令和數(shù)據(jù),所以主存儲(chǔ)器必須盡量選擇存儲(chǔ)速度快的存儲(chǔ)器器件,盡管價(jià)格比較高。主存儲(chǔ)器和輔助存儲(chǔ)器兩者相比,主存儲(chǔ)器速度快、容量小、每位價(jià)位高;輔助存儲(chǔ)器速度慢、容量大、每位價(jià)格低。這樣,通過(guò)層次結(jié)構(gòu)的方式,采取主存儲(chǔ)器和輔助存儲(chǔ)器兩級(jí)存儲(chǔ)器架構(gòu)可以較好地解決存儲(chǔ)器容量、速度、價(jià)格的矛盾,使得計(jì)算機(jī)獲得一個(gè)良好的性價(jià)比。今天的計(jì)算機(jī)都有主存和輔存兩級(jí)存儲(chǔ)器系統(tǒng),比如在個(gè)人計(jì)算機(jī)(PC機(jī))設(shè)計(jì)中,主存儲(chǔ)器(內(nèi)存)采用價(jià)格高、速度快的RAM存儲(chǔ)器,它的容量較小,一般為8GB;輔助存儲(chǔ)器(外存)采用價(jià)格便宜、速度較慢的磁盤(pán)(機(jī)械硬盤(pán))或ROM存儲(chǔ)器(固態(tài)硬盤(pán)),容量比內(nèi)存大得多的,常常達(dá)到1TB(1024GB)。2.三級(jí)存儲(chǔ)器系統(tǒng)在現(xiàn)代計(jì)算機(jī)技術(shù)發(fā)展過(guò)程中,為了追求更好的性價(jià)比,出現(xiàn)了緩沖存儲(chǔ)器Cache技術(shù),即在CPU和主存(內(nèi)存)之間再增加一級(jí)緩沖存儲(chǔ)器(簡(jiǎn)稱緩存)Cache。緩沖存儲(chǔ)器Cache是一種比主存容量小、價(jià)格高但速度更快的存儲(chǔ)器。今天計(jì)算機(jī)系統(tǒng)的緩沖存儲(chǔ)器Cache都集成在CPU芯片內(nèi)。如圖所示?,F(xiàn)代計(jì)算機(jī)系統(tǒng)中的存儲(chǔ)器系統(tǒng),其基本架構(gòu)由兩級(jí)存儲(chǔ)器系統(tǒng)變成了三級(jí)存儲(chǔ)器系統(tǒng),即緩沖存儲(chǔ)器Cache、主存儲(chǔ)器和輔助存儲(chǔ)器。這個(gè)三級(jí)存儲(chǔ)器系統(tǒng)又構(gòu)成兩個(gè)存儲(chǔ)層次:其中一個(gè)層次是:緩存Cache—主存儲(chǔ)器;另外一個(gè)層次是:主存儲(chǔ)器—輔助存儲(chǔ)器。新增加的緩存Cache—主存儲(chǔ)器這個(gè)層次主要解決CPU和主存儲(chǔ)器速度不匹配的問(wèn)題。緩存和主存之間的數(shù)據(jù)調(diào)動(dòng)是由硬件自動(dòng)完成的,程序員在編程時(shí)是不需要考慮它的存在,也就是說(shuō)高速緩存Cache對(duì)程序員是透明的。主存儲(chǔ)器—輔助存儲(chǔ)器這一層次,從整體分析,其速度接近于主存,容量接近于輔存,平均位價(jià)接近于輔存,這樣解決了速度、容量、成本三者之間的矛盾?,F(xiàn)代計(jì)算機(jī)系統(tǒng)幾乎都采用了具有這樣的兩個(gè)存儲(chǔ)層次,構(gòu)成了緩存Cache、主存儲(chǔ)器、輔助存儲(chǔ)器三級(jí)存儲(chǔ)器系統(tǒng)。4.2主存儲(chǔ)器4.2.1概述主存儲(chǔ)器簡(jiǎn)稱主存,又叫內(nèi)存,是計(jì)算機(jī)硬件系統(tǒng)中除開(kāi)CPU以外最重要的部件,它是由半導(dǎo)體材料的二極管、三極管電路組成。在程序執(zhí)行過(guò)程中,CPU從主存儲(chǔ)器中取得指令,其中指令中要用到的數(shù)據(jù)也要通過(guò)訪問(wèn)主存儲(chǔ)器來(lái)取得,而且運(yùn)算結(jié)果最后也是存入主存儲(chǔ)器中,計(jì)算機(jī)每執(zhí)行完成一條指令,至少要訪問(wèn)一次主存。各種輸入、輸出設(shè)備的數(shù)據(jù)不是直接和CPU交換數(shù)據(jù),而是先和主存儲(chǔ)器交換數(shù)據(jù),再由主存儲(chǔ)器交給CPU處理。因此,主存儲(chǔ)器是計(jì)算機(jī)運(yùn)行過(guò)程中數(shù)據(jù)的交換樞紐,從這個(gè)意義上說(shuō),現(xiàn)代計(jì)算機(jī)是以主存儲(chǔ)器為中心。主存儲(chǔ)器的工作原理首先,CPU或其他設(shè)備對(duì)主存儲(chǔ)器的操作只有兩種:讀(Read)操作(簡(jiǎn)稱“讀”)和寫(xiě)(Write)操作(簡(jiǎn)稱“寫(xiě)”)。讀操作是指從存儲(chǔ)器的存儲(chǔ)單元中讀出數(shù)據(jù),但不破壞存儲(chǔ)單元中原有的內(nèi)容;寫(xiě)操作是指把數(shù)據(jù)寫(xiě)入(存入)存儲(chǔ)器中,新寫(xiě)入的數(shù)據(jù)將覆蓋存儲(chǔ)單元中原有的數(shù)據(jù)。我們把對(duì)主存儲(chǔ)器進(jìn)行一次“讀”或“寫(xiě)”的操作稱為進(jìn)行一次存儲(chǔ)器訪問(wèn),簡(jiǎn)稱為訪存。所謂CPU或其他設(shè)備和主存儲(chǔ)器交換數(shù)據(jù)其實(shí)就是對(duì)主存儲(chǔ)器進(jìn)行“讀”或者“寫(xiě)”操作。

為了實(shí)現(xiàn)CPU或其他設(shè)備對(duì)主存儲(chǔ)器數(shù)據(jù)的讀、寫(xiě)操作,主存儲(chǔ)器不能只是有存儲(chǔ)數(shù)據(jù)的電路部件,還必須要有相應(yīng)的讀、寫(xiě)控制電路部件,才能完成對(duì)存儲(chǔ)器數(shù)據(jù)的存取。(1)讀操作注意,“讀”操作是非破壞性操作,它不改變?cè)鎯?chǔ)單元中的數(shù)據(jù),也就是說(shuō),在這個(gè)例子里執(zhí)行完“讀”操作后,02號(hào)存儲(chǔ)單元中的數(shù)據(jù)還是10000100。(2)寫(xiě)操作寫(xiě)操作是指把數(shù)據(jù)寫(xiě)入(存入)存儲(chǔ)器中,新寫(xiě)入的數(shù)據(jù)將覆蓋存儲(chǔ)單元中原有的數(shù)據(jù)。主存儲(chǔ)器芯片內(nèi)部框圖從圖中可以看到主存儲(chǔ)器集成電路芯片中有地址寄存器(MAR)、譯碼器、驅(qū)動(dòng)器、讀/寫(xiě)控制電路、數(shù)據(jù)寄存器(MDR)等。CPU和主存儲(chǔ)器連接圖現(xiàn)代計(jì)算機(jī)技術(shù)已經(jīng)把地址寄存器(MAR)和數(shù)據(jù)寄存器(MDR)制作在CPU芯片中。存儲(chǔ)器芯片和CPU芯片通過(guò)地址總線、數(shù)據(jù)總線、控制總線連接,如圖所示。主存的技術(shù)指標(biāo)主存儲(chǔ)器的主要技術(shù)指標(biāo)是存儲(chǔ)字長(zhǎng)、存儲(chǔ)容量和存儲(chǔ)速度。(1)存儲(chǔ)字長(zhǎng)主存儲(chǔ)器是由若干個(gè)存儲(chǔ)單元組成的,每個(gè)存儲(chǔ)單元能存儲(chǔ)的二進(jìn)制數(shù)位的長(zhǎng)度稱為存儲(chǔ)字長(zhǎng)。存儲(chǔ)字長(zhǎng)一般情況下采取8位(1個(gè)字節(jié)),但可以是16位(2個(gè)字節(jié))、32位(4個(gè)字節(jié))、64位(8個(gè)字節(jié))等等。(2)存儲(chǔ)容量存儲(chǔ)容量是指主存儲(chǔ)器能存放二進(jìn)制數(shù)據(jù)的總位數(shù)。存儲(chǔ)容量的計(jì)算公式如下:存儲(chǔ)容量=存儲(chǔ)單元個(gè)數(shù)×每個(gè)存儲(chǔ)單元存儲(chǔ)的二進(jìn)制數(shù)位對(duì)于一個(gè)計(jì)算機(jī)系統(tǒng),如果說(shuō)它的主存儲(chǔ)器有多大存儲(chǔ)容量,一般是用字節(jié)總數(shù)來(lái)表示。存儲(chǔ)容量=存儲(chǔ)單元個(gè)數(shù)×每個(gè)存儲(chǔ)單元存儲(chǔ)的二進(jìn)制數(shù)位/8比如說(shuō)某臺(tái)計(jì)算機(jī)的主存容量是128KB,表示它的主存儲(chǔ)器能存放128×210個(gè)字節(jié)。大容量的存儲(chǔ)器常用的單位有:千字節(jié)(KB)、兆字節(jié)(MB)、吉字節(jié)(GB)、太字節(jié)(TB)等表示。其換算關(guān)系為:1KB=210B=1024B1MB=220B=1024KB1GB=230B=1024MB1TB=240B=1024GB(3)存儲(chǔ)速度由于計(jì)算機(jī)的主機(jī)是由CPU和主存組成,所以存儲(chǔ)器的速度是計(jì)算機(jī)中最重要的指標(biāo)之一。存儲(chǔ)速度是由存取時(shí)間和存取周期來(lái)表示的。存取時(shí)間:指啟動(dòng)一次存儲(chǔ)器操作到完成該操作所用的時(shí)間。具體說(shuō)是從存儲(chǔ)器從地址總線接收到地址開(kāi)始到讀出或?qū)懭霐?shù)據(jù)為止所需的時(shí)間。存取周期:指連續(xù)兩次獨(dú)立的存儲(chǔ)器操作(如連續(xù)兩次讀操作)所需的最小時(shí)間間隔。存取周期通常略大于存取時(shí)間。半導(dǎo)體存儲(chǔ)芯片采用超大規(guī)模集成電路制造工藝,在一個(gè)芯片內(nèi)集成具有記憶功能的存儲(chǔ)矩陣(存儲(chǔ)體)、譯碼電路、驅(qū)動(dòng)電路和讀/寫(xiě)電路等,如圖所示。地址線是單向輸入的,其位數(shù)決定存儲(chǔ)矩陣(存儲(chǔ)體)中存儲(chǔ)單元的地址編號(hào)。數(shù)據(jù)線是雙向的,其位數(shù)和存儲(chǔ)矩陣(存儲(chǔ)體)中每個(gè)存儲(chǔ)單元存儲(chǔ)的數(shù)據(jù)位數(shù)相對(duì)應(yīng)。4.2.2半導(dǎo)體存儲(chǔ)器芯片

讀/寫(xiě)控制線的作用是:控制存儲(chǔ)器芯片進(jìn)行讀操作還是寫(xiě)操作。

有的存儲(chǔ)器芯片的讀/寫(xiě)控制線共用一根,比如低電平為寫(xiě)控制,高電平就為讀控制。也有些存儲(chǔ)器芯片讀/寫(xiě)控制線分用兩根,一根為讀控制,一根為寫(xiě)控制。片選控制信號(hào)的作用是:當(dāng)片選信號(hào)有效時(shí),這個(gè)存儲(chǔ)器芯片就正常工作;當(dāng)片選信號(hào)無(wú)效時(shí),這個(gè)存儲(chǔ)器芯片就不工作。

有的存儲(chǔ)器芯片使用1根線做片選信號(hào),也有些存儲(chǔ)器芯片采用2根線做片選信號(hào)。通過(guò)地址線和數(shù)據(jù)線計(jì)算存儲(chǔ)器芯片的存儲(chǔ)容量。

例如:某個(gè)存儲(chǔ)芯片有地址線10根(也就是有10個(gè)地址引腳),有數(shù)據(jù)線4根(也就是有4個(gè)數(shù)據(jù)腳),那么這個(gè)存儲(chǔ)芯片的容量多大呢?地址線10根,說(shuō)明它用10位二進(jìn)制位來(lái)做存儲(chǔ)單元的地址編號(hào),那么它共有210=1024個(gè)存儲(chǔ)單元。同時(shí)它有數(shù)據(jù)線4根,說(shuō)明它的每個(gè)存儲(chǔ)單元能保存4位二進(jìn)制位,所以這個(gè)存儲(chǔ)芯片的容量為:210×4=1K×4位(bit)。下面介紹兩種型號(hào)的靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)芯片。一、Intel公司生產(chǎn)的6116芯片6116引腳功能如圖所示二、Intel公司生產(chǎn)的6264芯片6264引腳功能如圖所示例題4.1已知某靜態(tài)隨機(jī)存儲(chǔ)器芯片的地址線為18根,數(shù)據(jù)線為2根,請(qǐng)問(wèn)該存儲(chǔ)器芯片的容量為多少?解:地址線為18根說(shuō)明該芯片采用18位二進(jìn)制位來(lái)做存儲(chǔ)單元的地址編號(hào),共有218個(gè)存儲(chǔ)單元。數(shù)據(jù)線為2根,則說(shuō)明該存儲(chǔ)器芯片每個(gè)存儲(chǔ)單元存儲(chǔ)數(shù)據(jù)位數(shù)為2位。所以該存儲(chǔ)器芯片的容量為:218×2=28×210×2=256K×2位(bit)=512K位。例題4.2

設(shè)計(jì)一個(gè)計(jì)算機(jī)系統(tǒng),其中主存儲(chǔ)器(內(nèi)存)容量是512KB,現(xiàn)在采用Intel公司的6264存儲(chǔ)器芯片來(lái)組成,共需要多少片?解:從前面所介紹,我們可以知道Intel6264存儲(chǔ)器芯片容量為:8K×8bit(8KB)。如果要設(shè)計(jì)一個(gè)容量為512KB的主存儲(chǔ)器,需要的Intel6264存儲(chǔ)器芯片數(shù)量為:512KB÷8KB=64片。4.2.3隨機(jī)存儲(chǔ)器RAM隨機(jī)存儲(chǔ)器RAM的存儲(chǔ)速度很快,常常用來(lái)做主存儲(chǔ)器。隨機(jī)存儲(chǔ)器RAM根據(jù)不同的電路結(jié)構(gòu)分為兩種類型:靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)和動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM),下面分別介紹如下。1.靜態(tài)隨機(jī)存儲(chǔ)器(Static

RAM,SRAM)在圖中,T3、T4是負(fù)載管,T1、T2是工作管,T5、T6、T7、T8是是控制管。其中T7、T8是一列所共有,不在基本電路之中。所以我們稱靜態(tài)RAM為6管組成的存儲(chǔ)元電路。由于靜態(tài)RAM存儲(chǔ)器是用雙穩(wěn)態(tài)觸發(fā)器工作原理保存數(shù)據(jù),所以如果不掉電,則數(shù)據(jù)不會(huì)丟失,也不會(huì)變化。但電源掉電后,原存儲(chǔ)的數(shù)據(jù)就會(huì)丟失,掉電后再恢復(fù)電源供電,存儲(chǔ)器的基本單元電路(存儲(chǔ)元)里的數(shù)據(jù)將不再是原來(lái)的數(shù)據(jù),還是變成一些隨機(jī)數(shù)據(jù)。2.動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Dynamic

RAM,DRAM)單管存儲(chǔ)元電路如圖所示。動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)特點(diǎn)是:都是依靠電容存儲(chǔ)電荷的原理來(lái)寄存數(shù)據(jù)。若電容上存儲(chǔ)有足夠多的電荷表示

“1”,電容上無(wú)電荷就表示“0”。由于電容上的電荷一般只能維持1~2ms。因此,即使電源不掉電,數(shù)據(jù)也會(huì)消失。為此,必須在數(shù)據(jù)消失之前對(duì)其所有存儲(chǔ)元恢復(fù)一次原狀態(tài),這樣做可以使得原來(lái)是“0”依然保持是“0”,原來(lái)是“1”依然保持是“1”。這個(gè)過(guò)程稱為“再生”或

“刷新”。動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)必須要有刷新電路才能保證數(shù)據(jù)不變。3.動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)和靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)比較由于動(dòng)態(tài)存儲(chǔ)器RAM的基本單元電路(存儲(chǔ)元)為1個(gè)MOS管,靜態(tài)存儲(chǔ)器RAM基本單元電路(存儲(chǔ)元)為4~6個(gè)MOS管,所以同樣大小的芯片,動(dòng)態(tài)存儲(chǔ)器DRAM的集成度遠(yuǎn)高于靜態(tài)存儲(chǔ)器SRAM。由于動(dòng)態(tài)存儲(chǔ)器DRAM的集成度比靜態(tài)存儲(chǔ)器SRAM高,容量大小一樣的存儲(chǔ)器芯片,動(dòng)態(tài)存儲(chǔ)器DRAM的功耗也遠(yuǎn)低于靜態(tài)存儲(chǔ)器SRAM。同理,容量大小一樣的動(dòng)態(tài)存儲(chǔ)器DRAM的價(jià)格遠(yuǎn)低于靜態(tài)存儲(chǔ)器SRAM。動(dòng)態(tài)存儲(chǔ)器DRAM的缺點(diǎn):由于采用電容存儲(chǔ)電荷的原理,它從“0”改變?yōu)椤?”有一個(gè)充電的過(guò)程,從“1”改變?yōu)椤?”,有個(gè)放電的過(guò)程,所以它的存儲(chǔ)速度比靜態(tài)存儲(chǔ)器SRAM要慢得多,同時(shí),動(dòng)態(tài)存儲(chǔ)器DRAM需要設(shè)計(jì)再生(刷新)電路。目前,個(gè)人計(jì)算機(jī)(PC機(jī))中的內(nèi)存條都采用動(dòng)態(tài)存儲(chǔ)器DRAM,價(jià)格較低。高速緩存Cache則使用靜態(tài)存儲(chǔ)器SRAM,速度較快。4.2.5存儲(chǔ)器與CPU的連接1.存儲(chǔ)容量的擴(kuò)展單片存儲(chǔ)器芯片的容量總是有限的,在實(shí)際應(yīng)用中,我們?cè)谠O(shè)計(jì)一個(gè)計(jì)算機(jī)系統(tǒng)時(shí)候存儲(chǔ)器的容量往往遠(yuǎn)遠(yuǎn)超過(guò)單片存儲(chǔ)器芯片的容量,這樣組成一個(gè)計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器需要用很多片存儲(chǔ)器芯片組成。比如,我們要設(shè)計(jì)一個(gè)計(jì)算機(jī)系統(tǒng)的主存儲(chǔ)器容量為512MB,而單片存儲(chǔ)器芯片容量只有8MB,這樣組成一個(gè)容量為512MB主存儲(chǔ)器需要512/8=64片容量為8MB的存儲(chǔ)器芯片。對(duì)于靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)芯片容量和芯片所擁有的地址線、數(shù)據(jù)線的數(shù)量關(guān)系一般是這樣表示:比如說(shuō)某個(gè)SRAM芯片的容量是1K×4bit,這個(gè)乘法表達(dá)式中的1K代表存儲(chǔ)單元數(shù),4bit代表每個(gè)存儲(chǔ)單元中的數(shù)據(jù)位數(shù)。例題4.3已知某靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)芯片的容量為128K×2bit。請(qǐng)問(wèn)有多少根地址線?多少根數(shù)據(jù)線?解:該芯片容量為128K×2bit,說(shuō)明該芯片共有128K個(gè)存儲(chǔ)單元。128K=128×1024=27×210=217,它的指數(shù)項(xiàng)為17,所以該芯片共有17根地址線。2bit表示每個(gè)存儲(chǔ)單元有2位數(shù)據(jù)位,所以該芯片有2根數(shù)據(jù)線。由于存儲(chǔ)器芯片生產(chǎn)廠家不同、型號(hào)不同、內(nèi)部結(jié)構(gòu)不同、容量不同,由多片存儲(chǔ)器芯片組成大容量存儲(chǔ)器系統(tǒng)的方式也就不同,一般來(lái)說(shuō)分為以下幾種情況。(1)位擴(kuò)展、(2)字?jǐn)U展、(3)字、位擴(kuò)展(1)位擴(kuò)展位擴(kuò)展是指單片存儲(chǔ)器芯片的存儲(chǔ)單元數(shù)和系統(tǒng)主存儲(chǔ)器的存儲(chǔ)單元數(shù)是一樣的,但存儲(chǔ)器芯片中每個(gè)存儲(chǔ)單元內(nèi)存儲(chǔ)的數(shù)據(jù)位數(shù)不能滿足系統(tǒng)要求。例如:使用容量是1K×4bit的存儲(chǔ)器芯片,設(shè)計(jì)一個(gè)主存儲(chǔ)器容量為1KB(1K×8bit)的計(jì)算機(jī)系統(tǒng)。(2)字?jǐn)U展字?jǐn)U展是指存儲(chǔ)器芯片每個(gè)存儲(chǔ)單元的位數(shù)能滿足構(gòu)成系統(tǒng)的要求,但存儲(chǔ)單元的數(shù)量不夠。用1K×8bit的存儲(chǔ)器芯片來(lái)組成一個(gè)容量為2KB(2K×8bit)的存儲(chǔ)器系統(tǒng)。(3)字、位擴(kuò)展字位擴(kuò)展是指存儲(chǔ)器芯片的存儲(chǔ)單元數(shù)量和每個(gè)存儲(chǔ)單元內(nèi)存儲(chǔ)數(shù)據(jù)的位數(shù)都不能滿足所設(shè)計(jì)的存儲(chǔ)器系統(tǒng)的要求采用1KB(1K×4bit)的存儲(chǔ)器芯片組成4KB(4K×8bit)的存儲(chǔ)器系統(tǒng)。.存儲(chǔ)器和CPU的連接(1)地址線的連接存儲(chǔ)器芯片的容量不同,其地址線數(shù)也不同,CPU的地址線數(shù)往往比存儲(chǔ)器芯片的地址線多。通??偸菍PU地址線的低位與存儲(chǔ)芯片的地址線相連。CPU的地址線高位用在存儲(chǔ)器芯片擴(kuò)展時(shí)使用,或做片選等用。

(2)數(shù)據(jù)線的連接同樣,CPU的數(shù)據(jù)線和存儲(chǔ)器芯片的數(shù)據(jù)線也不一定相同。此時(shí),必須對(duì)存儲(chǔ)器芯片進(jìn)行位擴(kuò)展,使得其數(shù)據(jù)線的位數(shù)和CPU的數(shù)據(jù)線位數(shù)相等。(3)讀/寫(xiě)控制線的連接CPU的讀/寫(xiě)控制線可以一般可以和存儲(chǔ)器芯片的讀/寫(xiě)控制線相連,也有些CPU的讀/寫(xiě)信號(hào)是分開(kāi)的,這是需要和存儲(chǔ)器芯片的相應(yīng)端相連接,即CPU讀信號(hào)和寫(xiě)信號(hào)分別和存儲(chǔ)器芯片的讀信號(hào)、寫(xiě)信號(hào)相連接。(4)片選信號(hào)的連接存儲(chǔ)器芯片的片選信號(hào)連接是CPU和存儲(chǔ)器芯片能否達(dá)到設(shè)計(jì)要求和能否正確工作的關(guān)鍵所在。片選信號(hào)主要和地址線有關(guān),CPU的地址線一般是多于存儲(chǔ)器芯片的地址線的,除了低位地址線互相連接外,CPU多余的高位地址線必須和譯碼器、各種門(mén)電路以及相關(guān)的控制信號(hào)組合起來(lái)產(chǎn)生片選有效信號(hào)。(5)合理選擇存儲(chǔ)器芯片作為工程師,在設(shè)計(jì)一個(gè)存儲(chǔ)器系統(tǒng)時(shí)有各種類型和型號(hào)的存儲(chǔ)器芯片可選,要根據(jù)具體使用的情況來(lái)決定。如果存儲(chǔ)器系統(tǒng)存儲(chǔ)的是監(jiān)控程序、系統(tǒng)標(biāo)準(zhǔn)子程序等需要固化在芯片內(nèi)的程序和數(shù)據(jù),可選用只讀存儲(chǔ)器ROM。如果是為用戶編程和運(yùn)行程序而設(shè)計(jì)的存儲(chǔ)器空間,則選用隨機(jī)存儲(chǔ)器RAM。在選用存儲(chǔ)器芯片的型號(hào)方面,要考慮CPU和存儲(chǔ)器芯片的連線簡(jiǎn)單方便,盡量不要采取字位擴(kuò)展等連線復(fù)雜的設(shè)計(jì)。4.3高速緩沖存儲(chǔ)器4.3.1概述如何解決CPU速度和主存速度不匹配的問(wèn)題呢?第一,在基本總線周期中插入若干個(gè)等待周期,如第3章“系統(tǒng)總線”中介紹的“半同步通信”方式。第二,全部采用存取速度較快的SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)。第三,在慢速的DRAM和高速的CPU之間插入一級(jí)速度較快、容量較小的SRAM,起到緩沖作用,使得CPU既可以較快的速度存取SRAM中的數(shù)據(jù),又不至于增加較多成本,這種技術(shù)就是高速緩存(Cache)技術(shù)。今天的個(gè)人計(jì)算機(jī)(PC機(jī))普遍采取這種方法來(lái)提高存儲(chǔ)器系統(tǒng)的性能,使得系統(tǒng)在成本增加不多的情況下,性能顯著提高。4.3.2Cache的工作原理Cache的工作原理是基于程序訪問(wèn)的局部性原理。通過(guò)大量典型程序運(yùn)行情況的分析表明,程序運(yùn)行期間,在一個(gè)相對(duì)較短的時(shí)間里,由程序產(chǎn)生的主存訪問(wèn)地址往往集中在存儲(chǔ)器的很小范圍的地址空間內(nèi)。這種在一定時(shí)間內(nèi)CPU對(duì)局部地址范圍的主存儲(chǔ)器地址頻繁訪問(wèn),而對(duì)此范圍外的地址則訪問(wèn)甚少的現(xiàn)象被稱為程序訪問(wèn)的局部性工作原理。我們可以設(shè)想,如果把在一段時(shí)間內(nèi)和一定地址范圍中被頻繁訪問(wèn)的指令和數(shù)據(jù)集合,成批從主存中讀到一個(gè)能比主存更高速存取的小容量存儲(chǔ)器中存放起來(lái),供CPU在這段時(shí)間內(nèi)隨時(shí)使用,從而減少或不再去訪問(wèn)速度相對(duì)較慢的主存,就可以極大的加快程序運(yùn)行的速度,這就是高速緩存Cache的設(shè)計(jì)思想。高速緩存Cache的工作原理說(shuō)明圖在這個(gè)高速緩存Cache的工作原理說(shuō)明圖中,假設(shè)主存儲(chǔ)器的容量是1MB,主存的存取時(shí)間為80ns,高速緩存Cache的容量是8KB,高速緩存Cache的存取時(shí)間為6ns。我們先把主存和Cache的容量分成塊。為了說(shuō)明方便,我們假定每塊為1KB,這樣Cache容量為8KB共分成8塊(塊號(hào)為:0塊到7塊),主存的容量為1MB共分成1024塊(塊號(hào)為:0塊到1023塊),同時(shí)假定每條指令長(zhǎng)度為一個(gè)字節(jié)。計(jì)算機(jī)啟動(dòng)時(shí),程序計(jì)數(shù)器(PC)的值為0,CPU會(huì)首先指向Cache的0號(hào)地址讀取第一條指令,此時(shí)由于第一條指令在主存中,不在Cache中,所以沒(méi)找到第一條指令,稱為“不命中”。例題4.4

假設(shè)Cache容量為16KB,每個(gè)字塊32個(gè)字,每個(gè)字16位,請(qǐng)問(wèn)此Cache可容納多少個(gè)字塊?解:首先求出每1個(gè)字塊占用多少個(gè)字節(jié)。題目中每個(gè)字16位,16位=16/8=2個(gè)字節(jié)=2B,。每個(gè)字塊32個(gè)字,則每個(gè)字塊所占字節(jié)數(shù)=32×2=64個(gè)字節(jié)=64B。在一個(gè)程序執(zhí)行期間,設(shè)Nc為訪問(wèn)Cache的總命中次數(shù),Nm為訪問(wèn)主存的總次數(shù),則命中率h為:h=Nc/(Nc+Nm)設(shè)tc為命中時(shí)的Cache訪問(wèn)時(shí)間,tm為未命中時(shí)的主存訪問(wèn)時(shí)間,1-h(huán)表示未命中率,則Cache—主存系統(tǒng)的平均訪問(wèn)時(shí)間ta為:ta=htc+(1-h(huán))tm。例題4.5

假設(shè)CPU執(zhí)行某段程序時(shí),共訪問(wèn)Cache命中2000次,訪問(wèn)主存40次。已知Cache的存取周期為50ns,主存的存取周期為200ns。求Cache—主存儲(chǔ)器的命中率h和平均訪問(wèn)時(shí)間ta為多少?解:(1)Cache的命中率h為h=2000/(2000+40)=0.98(2)Cache-主存系統(tǒng)的平均訪問(wèn)時(shí)間為ta=50ns×0.98+200ns×(1-0.98)=53ns4.3.3Cache與主存地址映射主存儲(chǔ)器地址映射到Cache地址的方式稱為:Cache—主存地址映射。Cache—主存地址映射基本方式有三種,分別

溫馨提示

  • 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)論