江西財(cái)經(jīng)大學(xué)第5章-2 存儲(chǔ)系統(tǒng)和結(jié)構(gòu)_第1頁(yè)
江西財(cái)經(jīng)大學(xué)第5章-2 存儲(chǔ)系統(tǒng)和結(jié)構(gòu)_第2頁(yè)
江西財(cái)經(jīng)大學(xué)第5章-2 存儲(chǔ)系統(tǒng)和結(jié)構(gòu)_第3頁(yè)
江西財(cái)經(jīng)大學(xué)第5章-2 存儲(chǔ)系統(tǒng)和結(jié)構(gòu)_第4頁(yè)
江西財(cái)經(jīng)大學(xué)第5章-2 存儲(chǔ)系統(tǒng)和結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩82頁(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)介

計(jì)算機(jī)組成原理朱華貴2017年10月26日計(jì)算機(jī)組成原理存儲(chǔ)系統(tǒng)和結(jié)構(gòu)朱華貴2017年10月26日計(jì)算機(jī)組成原理由于存儲(chǔ)芯片的容量有限的,主存儲(chǔ)器往往要由一定數(shù)量的芯片構(gòu)成的。由若干芯片構(gòu)成的主存還需要與CPU連接,才能在CPU的正確控制下完成讀寫操作。5.4主存儲(chǔ)器的連接與控制要組成一個(gè)主存,首先要考慮選片的問(wèn)題,然后就是如何把芯片連接起來(lái)的問(wèn)題。根據(jù)存儲(chǔ)器所要求的容量和選定的存儲(chǔ)芯片的容量,就可以計(jì)算出總的芯片數(shù),即

總片數(shù)=

將多片組合起來(lái)常采用位擴(kuò)展法、字?jǐn)U展法、字和位同時(shí)擴(kuò)展法。5.4.1主存容量的擴(kuò)展

位擴(kuò)展是指只在位數(shù)方向擴(kuò)展(加大字長(zhǎng)),而芯片的字?jǐn)?shù)和存儲(chǔ)器的字?jǐn)?shù)是一致的。

位擴(kuò)展的連接方式是將各存儲(chǔ)芯片的地址線、片選線和讀寫線相應(yīng)地并聯(lián)起來(lái),而將各芯片的數(shù)據(jù)線單獨(dú)列出。如用64K×1的SRAM芯片組成64K×8的存儲(chǔ)器,所需芯片數(shù)為:=8片1.位擴(kuò)展

CPU將提供16根地址線(216=65536)、8根數(shù)據(jù)線與存儲(chǔ)器相連;而存儲(chǔ)芯片僅有16根地址線、1根數(shù)據(jù)線。具體的連接方法是:8個(gè)芯片的地址線A15~A0分別連在一起,各芯片的片選信號(hào)以及讀寫控制信號(hào)也都分別連到一起,只有數(shù)據(jù)線D7~D0各自獨(dú)立,每片代表一位。當(dāng)CPU訪問(wèn)該存儲(chǔ)器時(shí),其發(fā)出的地址和控制信號(hào)同時(shí)傳給8個(gè)芯片,選中每個(gè)芯片的同一單元,相應(yīng)單元的內(nèi)容被同時(shí)讀至數(shù)據(jù)總線的各位,或?qū)?shù)據(jù)總線上的內(nèi)容分別同時(shí)寫入相應(yīng)單元。

1.位擴(kuò)展(續(xù))位擴(kuò)展連接舉例圖5-16位擴(kuò)展連接舉例

字?jǐn)U展是指僅在字?jǐn)?shù)方向擴(kuò)展,而位數(shù)不變。字?jǐn)U展將芯片的地址線、數(shù)據(jù)線、讀寫線并聯(lián),由片選信號(hào)來(lái)區(qū)分各個(gè)芯片。如用16K×8的SRAM組成64K×8的存儲(chǔ)器,所需芯片數(shù)為:=4片2.字?jǐn)U展

CPU將提供16根地址線、8根數(shù)據(jù)線與存儲(chǔ)器相連;而存儲(chǔ)芯片僅有14根地址線、8根數(shù)據(jù)線。四個(gè)芯片的地址線A13~A0、數(shù)據(jù)線D7~D0及讀寫控制信號(hào)都是同名信號(hào)并聯(lián)在一起;高位地址線A15、A14經(jīng)過(guò)一個(gè)地址譯碼器產(chǎn)生四個(gè)片選信號(hào),分別選中四個(gè)芯片中的一個(gè)。2.字?jǐn)U展(續(xù))字?jǐn)U展連接舉例圖5-17字?jǐn)U展連接舉例在同一時(shí)間內(nèi)4個(gè)芯片中只能有一個(gè)芯片被選中。A15A14=00,選中第一片,A15A14=01,選中第二片,……。4個(gè)芯片的地址分配如下:第一片最低地址0000

000000000000B 0000H

最高地址0011111111111111B 3FFFH第二片最低地址0100000000000000B 4000H

最高地址0111111111111111B 7FFFH第三片最低地址1000000000000000B 8000H

最高地址1011111111111111B BFFFH第四片最低地址1100000000000000B C000H

最高地址1111111111111111B FFFFH2.字?jǐn)U展(續(xù))當(dāng)構(gòu)成一個(gè)容量較大的存儲(chǔ)器時(shí),往往需要在字?jǐn)?shù)方向和位數(shù)方向上同時(shí)擴(kuò)展,這將是前兩種擴(kuò)展的組合,實(shí)現(xiàn)起來(lái)也是很容易的。3.字和位同時(shí)擴(kuò)展字和位同時(shí)擴(kuò)展連接舉例圖5-18字和位同時(shí)擴(kuò)展連接舉例CPU要實(shí)現(xiàn)對(duì)存儲(chǔ)單元的訪問(wèn),首先要選擇存儲(chǔ)芯片,即進(jìn)行片選;然后再?gòu)倪x中的芯片中依地址碼選擇出相應(yīng)的存儲(chǔ)單元,以進(jìn)行數(shù)據(jù)的存取,這稱為字選。片內(nèi)的字選是由CPU送出的N條低位地址線完成的,地址線直接接到所有存儲(chǔ)芯片的地址輸入端(N由片內(nèi)存儲(chǔ)容量2N決定)。而存儲(chǔ)芯片的片選信號(hào)則大多是通過(guò)高位地址譯碼后產(chǎn)生的。片選信號(hào)的譯碼方法又可細(xì)分為線選法、全譯碼法和部分譯碼法。

5.4.2存儲(chǔ)芯片的地址分配和片選

線選法就是用除片內(nèi)尋址外的高位地址線直接(或經(jīng)反相器)分別接至各個(gè)存儲(chǔ)芯片的片選端,當(dāng)某地址線信息為“0”時(shí),就選中與之對(duì)應(yīng)的存儲(chǔ)芯片。請(qǐng)注意,這些片選地址線每次尋址時(shí)只能有一位有效,不允許同時(shí)有多位有效,這樣才能保證每次只選中一個(gè)芯片(或組)。

線選法的優(yōu)點(diǎn)是不需要地址譯碼器,線路簡(jiǎn)單,選擇芯片無(wú)須外加邏輯電路,但僅適用于連接存儲(chǔ)芯片較少的場(chǎng)合。同時(shí),線選法不能充分利用系統(tǒng)的存儲(chǔ)器空間,且把地址空間分成了相互隔離的區(qū)域,給編程帶來(lái)了一定的困難。1.線選法

全譯碼法將除片內(nèi)尋址外的全部高位地址線都作為地址譯碼器的輸入,譯碼器的輸出作為各芯片的片選信號(hào),將它們分別接到存儲(chǔ)芯片的片選端,以實(shí)現(xiàn)對(duì)存儲(chǔ)芯片的選擇。

全譯碼法的優(yōu)點(diǎn)是每片(或組)芯片的地址范圍是唯一確定的,而且是連續(xù)的,也便于擴(kuò)展,不會(huì)產(chǎn)生地址重疊的存儲(chǔ)區(qū),但全譯碼法對(duì)譯碼電路要求較高。

2.全譯碼法所謂部分譯碼即用除片內(nèi)尋址外的高位地址的一部分來(lái)譯碼產(chǎn)生片選信號(hào)。如用4片2K×8的存儲(chǔ)芯片組成8K×8存儲(chǔ)器,需要4個(gè)片選信號(hào),因此只需要用兩位地址線來(lái)譯碼產(chǎn)生。由于尋址8K×8存儲(chǔ)器時(shí)未用到高位地址A19~A13,所以只要A12=A11=0,而無(wú)論A19~A13取何值,均選中第一片;只要A12=0,A11=1,而無(wú)論A19~A13取何值,均選中第二片……也就是說(shuō),8KRAM中的任一個(gè)存儲(chǔ)單元,都對(duì)應(yīng)有2(20-13)=27個(gè)地址,這種一個(gè)存儲(chǔ)單元出現(xiàn)多個(gè)地址的現(xiàn)象稱地址重疊。3.部分譯碼從地址分布來(lái)看,這8KB存儲(chǔ)器實(shí)際上占用了CPU全部的空間(1MB)。每片2K×8的存儲(chǔ)芯片有M=256K的地址重疊區(qū)。1.主存和CPU之間的硬連接主存與CPU的硬連接有3組連線:地址總線(AB)、數(shù)據(jù)總線(DB)和控制總線(CB)。此時(shí),把主存看作一個(gè)黑盒子,存儲(chǔ)器地址寄存器(MAR)和存儲(chǔ)器數(shù)據(jù)寄存器(MDR)是主存和CPU之間的接口。MAR可以接受來(lái)自程序計(jì)數(shù)器(PC)的指令地址或來(lái)自運(yùn)算器的操作數(shù)地址,以確定要訪問(wèn)的單元。MDR是向主存寫入數(shù)據(jù)或從主存讀出數(shù)據(jù)的緩沖部件。MAR和MDR從功能上看屬于主存,但在小微型機(jī)中常放在CPU內(nèi)。5.4.3主存儲(chǔ)器和CPU的連接主存和CPU的硬連接主存容量2k字字長(zhǎng)n位地址總線數(shù)據(jù)總線ReadWriteMFCk位n位CPUMDRMAR圖5-20主存和CPU的硬連接CPU與主存的硬連接是兩個(gè)部件之間聯(lián)系的物理基礎(chǔ)。而兩個(gè)部件之間還有軟連接,即CPU向主存發(fā)出的讀或?qū)懨?,這才是兩個(gè)部件之間有效工作的關(guān)鍵。CPU對(duì)主存進(jìn)行讀寫操作時(shí),首先CPU在地址總線上給出地址信號(hào),然后發(fā)出相應(yīng)的讀或?qū)懨?,并在?shù)據(jù)總線上交換信息。2.CPU對(duì)主存的基本操作讀操作是指從CPU送來(lái)的地址所指定的存儲(chǔ)單元中取出信息,再送給CPU,其操作過(guò)程是:

地址→MAR→AB CPU將地址信號(hào)送至地址總線;

ReadCPU發(fā)讀命令;

WaitforMFC

等待存儲(chǔ)器工作完成信號(hào);

M(MAR)→DB→MDR

讀出信息經(jīng)數(shù)據(jù)總線送至CPU。讀操作寫操作是指將要寫入的信息存入CPU所指定的存儲(chǔ)單元中,其操作過(guò)程是:

地址→MAR→AB CPU將地址信號(hào)送至地址總線;

數(shù)據(jù)→MDR→DB CPU將要寫入的數(shù)據(jù)送至數(shù)據(jù)總線;

Write CPU發(fā)寫命令;

WaitforMFC

等待存儲(chǔ)器工作完成信號(hào)。

寫操作計(jì)算機(jī)在運(yùn)行過(guò)程中,主存要與CPU頻繁地交換數(shù)據(jù)。為了檢測(cè)和校正在存儲(chǔ)過(guò)程中的錯(cuò)誤,主存中常設(shè)置有差錯(cuò)校驗(yàn)電路。5.4.4主存的校驗(yàn)最簡(jiǎn)單的主存檢驗(yàn)方法是奇偶校驗(yàn),在微機(jī)中通常采用奇校驗(yàn),即每個(gè)存儲(chǔ)單元中共存儲(chǔ)9位信息(其中8位數(shù)據(jù),1位奇偶校驗(yàn)位),信息中“1”的個(gè)數(shù)總是奇數(shù)。當(dāng)向主存寫入數(shù)據(jù)時(shí),奇偶校驗(yàn)電路首先會(huì)對(duì)一個(gè)字節(jié)的數(shù)據(jù)計(jì)算出奇偶校驗(yàn)位的值,然后再把所有的9位值一起送到主存中去。讀出數(shù)據(jù)時(shí),某一存儲(chǔ)單元的9位數(shù)據(jù)被同時(shí)讀出,當(dāng)9位數(shù)據(jù)里“1”的個(gè)數(shù)為奇數(shù)時(shí),表示讀出的9位數(shù)據(jù)正確;當(dāng)“1”的個(gè)數(shù)為偶數(shù)時(shí),表示讀出數(shù)據(jù)出錯(cuò),向CPU發(fā)出不可屏蔽中斷,使系統(tǒng)停機(jī)并顯示奇偶檢驗(yàn)出錯(cuò)的信息。1.主存的奇偶校驗(yàn)ECC不僅能檢測(cè)錯(cuò)誤還能在不打擾計(jì)算機(jī)工作的情況下改正錯(cuò)誤,這對(duì)于網(wǎng)絡(luò)服務(wù)器這樣不允許隨便停機(jī)的關(guān)鍵任務(wù)是至關(guān)重要的。ECC主存用一組附加數(shù)據(jù)位來(lái)存儲(chǔ)一個(gè)特殊碼,被稱為“校驗(yàn)和”。對(duì)于每個(gè)二進(jìn)制字都有相應(yīng)的ECC碼。產(chǎn)生ECC碼所需的位數(shù)取決于系統(tǒng)所用的二進(jìn)制字長(zhǎng)。當(dāng)從主存中讀取數(shù)據(jù)時(shí),將取到的實(shí)際數(shù)據(jù)和它的ECC碼快速比較。如果匹配,則實(shí)際數(shù)據(jù)被傳給CPU;如果不匹配,則ECC碼的結(jié)構(gòu)能夠?qū)⒊鲥e(cuò)的一位(或幾位)鑒別出來(lái),然后改正錯(cuò)誤,再將數(shù)據(jù)傳給CPU。注意:此時(shí)主存中的出錯(cuò)位并沒(méi)有改變,如果又要讀取這個(gè)數(shù)據(jù),需要再一次校正錯(cuò)誤。2.錯(cuò)誤檢驗(yàn)與校正(ECC)1.8位存儲(chǔ)器接口如果數(shù)據(jù)總線為8位(如微機(jī)系統(tǒng)中的PC總線),而主存按字節(jié)編址,則匹配關(guān)系比較簡(jiǎn)單。對(duì)于8位的微處理器,典型的時(shí)序安排是占用4個(gè)CPU時(shí)鐘周期,稱為T1~T4,構(gòu)成一個(gè)總線周期。對(duì)于微型機(jī)來(lái)說(shuō),存儲(chǔ)器就掛在總線上,故總線周期就等于存取周期,一個(gè)總線周期可讀寫8位。5.4.5PC系列微機(jī)的存儲(chǔ)器接口對(duì)于16位的微處理器8086(或80286),在一個(gè)總線周期內(nèi)最多可讀寫兩個(gè)字節(jié),即從偶地址開(kāi)始的字(規(guī)則字)。同時(shí)讀寫這個(gè)偶地址單元和隨后的奇地址單元,用低8位數(shù)據(jù)總線傳送偶地址單元的數(shù)據(jù),用高8位數(shù)據(jù)總線傳送奇地址單元的數(shù)據(jù)。如果讀寫的是非規(guī)則字,即是從奇地址開(kāi)始的字,則需要安排兩個(gè)總線周期才能實(shí)現(xiàn)。2.16位存儲(chǔ)器接口為了實(shí)現(xiàn)這樣的傳送,需要將存儲(chǔ)器分為兩個(gè)存儲(chǔ)體。一個(gè)存儲(chǔ)體的地址均為偶數(shù),稱為偶地址(低字節(jié))存儲(chǔ)體,它與低8位數(shù)據(jù)總線相連;另一個(gè)存儲(chǔ)體的地址均為奇數(shù),稱為奇地址(高字節(jié))存儲(chǔ)體,與高8位數(shù)據(jù)總線相連。8086的存儲(chǔ)器組織圖5-218086的存儲(chǔ)器組織8086和主存之間可以傳送一個(gè)字節(jié)(8位)數(shù)據(jù),也可以傳送一個(gè)字(16位)數(shù)據(jù)。任何兩個(gè)連續(xù)的字節(jié)都可以作為一個(gè)字來(lái)訪問(wèn),地址值較低的字節(jié)是低位有效字節(jié),地址值較高的字節(jié)是高位有效字節(jié)。2.16位存儲(chǔ)器接口(續(xù))2.16位存儲(chǔ)器接口(續(xù))

8086微處理器的地址線A19~A1同時(shí)送至兩個(gè)存儲(chǔ)體,(高位存儲(chǔ)體)和最低位地址線A0用來(lái)選擇一個(gè)或兩個(gè)存儲(chǔ)體進(jìn)行數(shù)據(jù)傳送。

A0

特征

00全字(規(guī)則字)傳送

01在數(shù)據(jù)總線高8位上字節(jié)傳送

10在數(shù)據(jù)總線低8位上字節(jié)傳送

11備用點(diǎn)擊播放由于80386/80486微處理器要保持與8086等微處理器兼容,這就要求在進(jìn)行存儲(chǔ)器系統(tǒng)設(shè)計(jì)時(shí)必須滿足單字節(jié)、雙字節(jié)和四字節(jié)等不同訪問(wèn)。為了實(shí)現(xiàn)8位、16位和32位數(shù)據(jù)的訪問(wèn),80386/80486微處理器設(shè)有4個(gè)引腳~,以控制不同數(shù)據(jù)的訪問(wèn)。

3.32位存儲(chǔ)器接口

64位存儲(chǔ)器系統(tǒng)由8個(gè)存儲(chǔ)體組成,每個(gè)存儲(chǔ)體的存儲(chǔ)空間為512MB(Pentium)或8GB(PentiumPro),存儲(chǔ)體選擇通過(guò)選擇信號(hào)~實(shí)現(xiàn)。如果要傳送一個(gè)64位數(shù),那么8個(gè)存儲(chǔ)體都被選中;如果要傳送一個(gè)32位數(shù),那么4個(gè)存儲(chǔ)體被選中;若要傳送一個(gè)16位數(shù),則有2個(gè)存儲(chǔ)體被選中;若傳送的是8位數(shù),只有一個(gè)存儲(chǔ)體被選中。4.64位存儲(chǔ)器接口

例:一個(gè)容量為16K×32位的存儲(chǔ)器,其地址線和數(shù)據(jù)線的總和是多少?當(dāng)選用下列不同規(guī)格的存儲(chǔ)芯片時(shí),各需要多少片?1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。解:地址線14根,數(shù)據(jù)線32根,共46根。若選用不同規(guī)格的存儲(chǔ)芯片,則需要:1K×4位芯片:16K*32/(1K*4)=128片;2K×8位芯片:16K*32/(2K*8)=32片;4K×4位芯片:16K*32/(4K*4)=32片;16K×1位芯片:16K*32/(16K*1)=32片;4K×8位芯片:16K*32/(4K*4)=

16片;8K×8位芯片:16K*32/(8K*8)=8片。

例:現(xiàn)有如下存儲(chǔ)芯片:2K×1的ROM、4K×1的RAM、8K×1的ROM。若用它們組成容量為16KB的存儲(chǔ)器,前4KB為ROM,后12KB為RAM,CPU的地址總線16位。(1)各種存儲(chǔ)芯片分別用多少片?(2)正確選用譯碼器及門電路,并畫出相應(yīng)的邏輯結(jié)構(gòu)圖。(3)指出有無(wú)地址重疊現(xiàn)象。解:(1)需要用2K×1的ROM芯片:4K*8/(2K*1)=16片;4K×1的RAM芯片:12K*32/(4K*1)=24片;不能使用8K×1的ROM芯片,因?yàn)樗笥赗OM應(yīng)有的空間。(2)各存儲(chǔ)芯片的地址分配如下:A15A14A13A12A11A10~A0XX000X-X2KBROMXX001X-X2KBROMXX01X-X4KBRAMXX10X-X4KBRAMXX11X-X4KBRAM(3)有地址重疊現(xiàn)象例:某機(jī)字長(zhǎng)為32位,其存儲(chǔ)容量是64KB,按字編址的尋址范圍是多少?若主存以字節(jié)編址,試畫出主存字地址和字節(jié)地址的分配情況。字地址字節(jié)地址0012344567889..6553265532..65535例:已知某機(jī)字長(zhǎng)8位,現(xiàn)采用半導(dǎo)體存儲(chǔ)器作主存,其地址線為16位,若使用1K×4的SRAM芯片組成該機(jī)所允許的最大主存空間,并采用存儲(chǔ)模板結(jié)構(gòu)形式。(1)若每塊模板容量為4K×8,共需多少塊存儲(chǔ)模板?(2)畫出一個(gè)模板內(nèi)各芯片的連接邏輯圖。解:(1)根據(jù)題可知存儲(chǔ)器容量為216=64KB,64k*8/4k*8=16故共需16塊存儲(chǔ)模板。每塊模板構(gòu)成:4k*8/1k*4=8,需8片1K*4芯片。(2)一個(gè)模板內(nèi)各芯片的連接邏輯圖如圖所示:近幾年來(lái)主存技術(shù)一直在不斷地發(fā)展,從最早使用的DRAM到后來(lái)的FPMDRAM、EDODRAM、SDRAM、DDRSDRAM和RDRAM,出現(xiàn)了各種主存控制與訪問(wèn)技術(shù)。它們的共同特點(diǎn)是使主存的讀寫速度有了很大的提高。5.5提高主存讀寫速度的技術(shù)

主存的速度通常以納秒(ns)表示,而CPU速度總是被表示為兆赫茲(MHz),最近一些更快更新的主存也用MHz來(lái)表示速度。如果主存總線的速度與CPU總線速度相等,那么主存的性能將是最優(yōu)的,然而通常主存的速度落后于CPU的速度。5.5.1主存與CPU速度的匹配傳統(tǒng)的DRAM是通過(guò)分頁(yè)技術(shù)進(jìn)行訪問(wèn)的,在存取數(shù)據(jù)時(shí),需要分別輸入一個(gè)行地址和一個(gè)列地址,這會(huì)耗費(fèi)時(shí)間。

FPMDRAM通過(guò)保持行地址不變而只改變列地址,可以對(duì)給定行的所有數(shù)據(jù)進(jìn)行更快的訪問(wèn)。

FPMDRAM還支持突發(fā)模式訪問(wèn),所謂突發(fā)模式是指對(duì)一個(gè)給定的訪問(wèn)在建立行和列地址之后,可以訪問(wèn)后面3個(gè)相鄰的地址,而不需要額外的延遲和等待狀態(tài)。一個(gè)突發(fā)訪問(wèn)通常限制為4次正常訪問(wèn)。5.5.2FPMDRAM

為了描述這個(gè)過(guò)程,經(jīng)常以每次訪問(wèn)的周期數(shù)表示計(jì)時(shí)。一個(gè)標(biāo)準(zhǔn)DRAM的典型突發(fā)模式訪問(wèn)表示為x-y-y-y,x是第一次訪問(wèn)的時(shí)間(延遲加上周期數(shù)),y表示后面每個(gè)連續(xù)訪問(wèn)所需的周期數(shù)。標(biāo)準(zhǔn)的FPMDRAM可獲得5-3-3-3的突發(fā)模式周期。FPMDRAM內(nèi)存條主要采用72線的SIMM封裝,其存取速度一般在60~100ns左右。5.5.2FPMDRAM(續(xù))

EDODRAM是在FPMDRAM基礎(chǔ)上加以改進(jìn)的存儲(chǔ)器控制技術(shù)。傳統(tǒng)的DRAM和FPMDRAM在存取每一數(shù)據(jù)時(shí),輸入行地址和列地址后必須等待電路穩(wěn)定,然后才能有效的讀寫數(shù)據(jù),而下一個(gè)地址必須等待這次讀寫周期完成才能輸出。而EDO輸出數(shù)據(jù)在整個(gè)CAS周期都是有效的(包括預(yù)充電時(shí)間在內(nèi)),EDO不必等待當(dāng)前的讀寫周期完成即可啟動(dòng)下一個(gè)讀寫周期,即可以在輸出一個(gè)數(shù)據(jù)的過(guò)程中準(zhǔn)備下一個(gè)數(shù)據(jù)的輸出。EDODRAM采用一種特殊的主存讀出控制邏輯,在讀寫一個(gè)存儲(chǔ)單元時(shí),同時(shí)啟動(dòng)下一個(gè)(連續(xù))存儲(chǔ)單元的讀寫周期,從而節(jié)省了重選地址的時(shí)間,提高了讀寫速度。5.5.3EDODRAMEDODRAM可獲得5-2-2-2的突發(fā)模式周期,若進(jìn)行4個(gè)主存?zhèn)鬏敚枰偣?1個(gè)系統(tǒng)周期,而FPMDRAM的突發(fā)模式周期為5-3-3-3,總共需要14個(gè)周期。與FPMDRAM相比,EDODRAM的性能改善了22%,而其制造成本與FPMDRAM相近。FPM和EDO兩者的芯片制作技術(shù)其實(shí)是相同的,不同的是EDO所增加的機(jī)制必須在芯片組的支持下將發(fā)送的數(shù)據(jù)信號(hào)的處理時(shí)間縮短,以加快系統(tǒng)的整體執(zhí)行效率。目前EDODRAM內(nèi)存條主要采用72線的SIMM形式封裝,也有少部分采用168線的DIMM封裝,存取時(shí)間約為50~70ns。5.5.3EDODRAM(續(xù))SDRAM是一種與主存總線運(yùn)行同步的DRAM。SDRAM在同步脈沖的控制下工作,取消了主存等待時(shí)間,減少了數(shù)據(jù)傳送的延遲時(shí)間,因而加快了系統(tǒng)速度。SDRAM仍然是一種DRAM,起始延遲仍然不變,但總的周期時(shí)間比FPM或EDO快得多。SDRAM突發(fā)模式可達(dá)到5-1-1-1,即進(jìn)行4個(gè)主存?zhèn)鬏?,僅需8個(gè)周期,比EDO快將近20%。SDRAM的基本原理是將CPU和RAM通過(guò)一個(gè)相同的時(shí)鐘鎖在一起,使得RAM和CPU能夠共享一個(gè)時(shí)鐘周期,以相同的速度同步工作。5.5.4SDRAMDRAM采用新的雙存儲(chǔ)體結(jié)構(gòu),內(nèi)含兩個(gè)交錯(cuò)的存儲(chǔ)矩陣,允許兩個(gè)主存頁(yè)面同時(shí)打開(kāi),當(dāng)CPU從一個(gè)存儲(chǔ)矩陣訪問(wèn)數(shù)據(jù)的同時(shí),在主存控制器作用下另一個(gè)存儲(chǔ)矩陣已準(zhǔn)備好讀寫數(shù)據(jù)。通過(guò)兩個(gè)存儲(chǔ)矩陣的緊密配合,存取效率得到成倍提高。SDRAM普遍采用168線的DIMM封裝,速度通常以MHz來(lái)標(biāo)定,目前SDRAM的工作頻率已達(dá)100MHz、133MHz,能與當(dāng)前的CPU同步運(yùn)行,可提高整機(jī)性能大約5%~10%。由于SDRAM的優(yōu)良特性,使它成為當(dāng)前主存市場(chǎng)的主流。5.5.4SDRAM(續(xù))

DDRSDRAM也可以說(shuō)是SDRAM的升級(jí)版本,它與SDRAM的主要區(qū)別是:DDRSDRAM不僅能在時(shí)鐘脈沖的上升沿讀出數(shù)據(jù)而且還能在下降沿讀出數(shù)據(jù),不需要提高時(shí)鐘頻率就能加倍提高SDRAM的速度。DDR內(nèi)存條的物理大小和標(biāo)準(zhǔn)的DIMM一樣,區(qū)別僅在于內(nèi)存條的線數(shù)。標(biāo)準(zhǔn)的SDRAM有168線(2個(gè)小缺口),而DDRSDRAM有184線(多出的16個(gè)線占用了空間,故只有1個(gè)小缺口)。5.5.5DDRSDRAM1.DDR2SDRAMDDR2SDRAM擁有兩倍于上一代DDRSDRAM的預(yù)讀取能力(即:4bit數(shù)據(jù)讀預(yù)?。?。換句話說(shuō),DDR2SDRAM每個(gè)時(shí)鐘能夠以4倍于外部總線的速度讀/寫數(shù)據(jù)。2.DDR3SDRAMDDR3

SDRAM可以看作是DDR2的改進(jìn)版,DDR3的預(yù)取設(shè)計(jì)位數(shù)提升至8bit,其DRAM內(nèi)核的頻率達(dá)到了接口頻率的1/8。5.5.6DDR2、DDR3和DDR4SDRAMDDR4仍沿用了DDR3的8bit數(shù)據(jù)預(yù)取,它最重要的使命是提高頻率和帶寬,標(biāo)準(zhǔn)規(guī)定最低是DDR41600,即從1600MHz開(kāi)始運(yùn)行,這將是DDR3頻率的兩倍。3.DDR4SDRAM頻率(MHz)20026633340053366680010661333160018662133266632004266DDR√√√√

DDR2

√√√√√

DDR3

√√√√√√

DDR4

√√√√√√DDRSDRAM內(nèi)存的發(fā)展趨勢(shì)

RambusDRAM是繼SDRAM之后的新型高速動(dòng)態(tài)隨機(jī)存儲(chǔ)器。使用FPM/EDO或SDRAM的傳統(tǒng)主存系統(tǒng)稱為寬通道系統(tǒng),它們的主存通道和處理器的數(shù)據(jù)總線一樣寬。RDRAM卻是一種窄通道系統(tǒng),它一次只傳輸16位數(shù)據(jù)(加上2個(gè)可選的校驗(yàn)位),但速度卻快得多。目前,RDRAM的容量一般為64Mb/72Mb或128Mb/144Mb,組織結(jié)構(gòu)為4M或8M×16位、4M或8M×18位(18位的組織結(jié)構(gòu)允許進(jìn)行ECC檢測(cè))。5.5.7

RambusDRAMRambusDRAM引入了RISC(精簡(jiǎn)指令集)的技術(shù),依靠其極高的工作頻率,通過(guò)減少每個(gè)周期的數(shù)據(jù)量來(lái)簡(jiǎn)化操作。RDRAM的時(shí)鐘頻率可達(dá)到400MHz,由于采用雙沿傳輸,使原有的400MHz變?yōu)?00MHz。Rambus結(jié)構(gòu)的帶寬視Rambus通路的個(gè)數(shù)而定,若是單通路,800MHz的RDRAM帶寬為800MHz×16位÷8=1.6GB/s,若是兩個(gè)通路,則可提升為3.2GB/s,若是4個(gè)通路的話,將達(dá)到6.4GB/s。而PC-133的帶寬為133MHz×64位÷8=1.06GB/s,PC-266則為2.12GB/s。5.5.7

RambusDRAM(續(xù))由于是全新的設(shè)計(jì),需要用RIMM插槽與芯片組配合。RDRAM總線是一條經(jīng)過(guò)總線上所有設(shè)備(RDRAM芯片)和模塊的連接線路,每個(gè)模塊在相對(duì)的兩端有輸入和輸出引腳,時(shí)鐘信號(hào)需依次流過(guò)每個(gè)RIMM槽,然后再通過(guò)每個(gè)RIMM槽返回。因此,任何不含RDRAM芯片的RIMM插槽必須填入一個(gè)連接模塊(Rambus終結(jié)器)以保證路徑是完整的。5.5.6RambusDRAM(續(xù))

此外,Rambus主存還有一個(gè)特點(diǎn),就是它的行地址與列地址的尋址總線是各自分離的獨(dú)立總線,這就意味著行與列的選址幾乎在同一時(shí)間內(nèi)進(jìn)行,從而進(jìn)一步提高了工作效率;也正因?yàn)閾碛羞@一優(yōu)勢(shì),使得Rambus主存不僅可以彌補(bǔ)它在尋址時(shí)間上比傳統(tǒng)的SDRAM較慢的缺點(diǎn),而且在實(shí)際工作中所表現(xiàn)出來(lái)的性能更好。目前,由RDRAM構(gòu)成的系統(tǒng)存儲(chǔ)器已經(jīng)開(kāi)始應(yīng)用于現(xiàn)代微機(jī)之中,并可能成為服務(wù)器及其他高性能計(jì)算機(jī)的主流存儲(chǔ)器系統(tǒng)。5.5.6RambusDRAM(續(xù))

目前,主存的存取速度已成為計(jì)算機(jī)系統(tǒng)的瓶頸,除去通過(guò)尋找高速元件來(lái)提高訪問(wèn)速度外,也可以采用多個(gè)存儲(chǔ)器并行工作,并且用交叉訪問(wèn)技術(shù)來(lái)提高存儲(chǔ)器的訪問(wèn)速度。5.6多體交叉存儲(chǔ)技術(shù)常規(guī)的主存是單體單字存儲(chǔ)器,只包含一個(gè)存儲(chǔ)體。在高速的計(jì)算機(jī)中,普遍采用并行主存系統(tǒng),即在一個(gè)存取周期內(nèi)可以并行讀出多個(gè)字,以解決CPU與主存之間的速度匹配問(wèn)題。多個(gè)并行工作的存儲(chǔ)器共有一套地址寄存器和譯碼電路,按同一地址并行地訪問(wèn)各自的對(duì)應(yīng)單元。例如:CPU送出地址A,則n個(gè)存儲(chǔ)器中的所有A單元同時(shí)被選中。假設(shè)每個(gè)存儲(chǔ)器的字長(zhǎng)為w位,則同時(shí)訪問(wèn)n×w位稱為單體多字系統(tǒng)。5.6.1并行訪問(wèn)存儲(chǔ)器單體多字并行存儲(chǔ)系統(tǒng)圖5-25單體多字并行存儲(chǔ)系統(tǒng)

交叉訪問(wèn)存儲(chǔ)器中有多個(gè)容量相同的存儲(chǔ)模塊(存儲(chǔ)體),而且各存儲(chǔ)模塊具有各自獨(dú)立的地址寄存器、讀寫電路和數(shù)據(jù)寄存器,這就是多體系統(tǒng)。各個(gè)存儲(chǔ)體能并行工作,又能交叉工作。存儲(chǔ)器地址寄存器的低位部分經(jīng)過(guò)譯碼選擇不同的存儲(chǔ)體,而高位部分則指向存儲(chǔ)體內(nèi)的存儲(chǔ)字?,F(xiàn)以由4個(gè)分體組成的多體交叉存儲(chǔ)器為例說(shuō)明常用的編址方式。5.6.2交叉訪問(wèn)存儲(chǔ)器多體交叉訪問(wèn)存儲(chǔ)器圖5-26多體交叉訪問(wèn)存儲(chǔ)器模4交叉編址模塊號(hào)地址編址序列對(duì)應(yīng)二進(jìn)制地址的最低兩位M00,4,8,12,…,4i+0,…00M11,5,9,13,…,4i+1,…01M22,6,10,14,…,4i+2,…10M33,7,11,15,…,4i+3,…11主存速度的提高始終跟不上CPU的發(fā)展。據(jù)統(tǒng)計(jì),CPU的速度平均每年提高60%,而組成主存的DRAM的速度平均每年只改進(jìn)7%。由SRAM組成的高速緩沖存儲(chǔ)器的運(yùn)行速度則接近甚至等于CPU的速度。5.7高速緩沖存儲(chǔ)器常規(guī)的主存是單體單字存儲(chǔ)器,只包含一個(gè)存儲(chǔ)體。在高速的計(jì)算機(jī)中,普遍采用并行主存系統(tǒng),即在一個(gè)存取周期內(nèi)可以并行讀出多個(gè)字,以解決CPU與主存之間的速度匹配問(wèn)題。多個(gè)并行工作的存儲(chǔ)器共有一套地址寄存器和譯碼電路,按同一地址并行地訪問(wèn)各自的對(duì)應(yīng)單元。例如:CPU送出地址A,則n個(gè)存儲(chǔ)器中的所有A單元同時(shí)被選中。假設(shè)每個(gè)存儲(chǔ)器的字長(zhǎng)為w位,則同時(shí)訪問(wèn)n×w位稱為單體多字系統(tǒng)。5.7.1高速緩存工作原理程序的局部性有兩個(gè)方面的含義:時(shí)間局部性和空間局部性。時(shí)間局部性是指如果一個(gè)存儲(chǔ)單元被訪問(wèn),則可能該單元會(huì)很快被再次訪問(wèn)。這是因?yàn)槌绦虼嬖谥h(huán)??臻g局部性是指如果一個(gè)存儲(chǔ)單元被訪問(wèn),則該單元鄰近的單元也可能很快被訪問(wèn)。這是因?yàn)槌绦蛑写蟛糠种噶钍琼樞虼鎯?chǔ)、順序執(zhí)行的,數(shù)據(jù)一般也是以向量、數(shù)組、樹、表等形式簇聚地存儲(chǔ)在一起的。高速緩沖技術(shù)就是利用程序的局部性原理,把程序中正在使用的部分存放在一個(gè)高速的容量較小的Cache中,使CPU的訪存操作大多數(shù)針對(duì)Cache進(jìn)行,從而使程序的執(zhí)行速度大大提高。1.程序的局部性原理Cache和主存都被分成若干個(gè)大小相等的塊,每塊由若干字節(jié)組成。由于Cache的容量遠(yuǎn)小于主存的容量,所以Cache中的塊數(shù)要遠(yuǎn)少于主存中的塊數(shù),它保存的信息只是主存中最急需執(zhí)行的若干塊的副本。用主存地址的塊號(hào)字段訪問(wèn)Cache標(biāo)記,并將取出的標(biāo)記和主存地址的標(biāo)記字段相比較。若相等,說(shuō)明訪問(wèn)Cache有效,稱Cache命中;若不相等,說(shuō)明訪問(wèn)Cache無(wú)效,稱Cache不命中或失效。2.Cache的基本結(jié)構(gòu)Cache的基本結(jié)構(gòu)圖5-28Cache的基本結(jié)構(gòu)1.Cache的讀操作當(dāng)CPU發(fā)出讀請(qǐng)求時(shí),如果Cache命中,就直接對(duì)Cache進(jìn)行讀操作,與主存無(wú)關(guān);如果Cache不命中,則仍需訪問(wèn)主存,并把該塊信息一次從主存調(diào)入Cache內(nèi)。若此時(shí)Cache已滿,則須根據(jù)某種替換算法,用這個(gè)塊替換掉Cache中原來(lái)的某塊信息。5.7.2Cache的讀寫操作由于Cache中保存的只是主存的部分副本,這些副本與主存中的內(nèi)容能否保持一致,是Cache能否可靠工作的一個(gè)關(guān)鍵問(wèn)題。當(dāng)CPU發(fā)出寫請(qǐng)求時(shí),如果Cache命中,有可能會(huì)遇到Cache與主存中的內(nèi)容不一致的問(wèn)題。處理的方法有:寫直達(dá)法和寫回法。如果寫Cache不命中,就直接把信息寫入主存,并有兩種處理方法:不按寫分配法和按寫分配法。2.Cache的寫操作1.全相聯(lián)映像

全相聯(lián)映像就是讓主存中任何一個(gè)塊均可以映像裝入到Cache中任何一個(gè)塊的位置上。全相聯(lián)映像方式比較靈活,Cache的塊沖突概率最低、空間利用率最高,但是地址變換速度慢,而且成本高,實(shí)現(xiàn)起來(lái)比較困難。5.7.3地址映象全相聯(lián)映像圖5-29(a)全相聯(lián)映像直接映像是指主存中的每一個(gè)塊只能被放置到Cache中惟一的一個(gè)指定位置,若這個(gè)位置已有內(nèi)容,則產(chǎn)生塊沖突,原來(lái)的塊將無(wú)條件地被替換出去。直接映像方式是最簡(jiǎn)單的地址映象方式,成本低,易實(shí)現(xiàn),地址變換速度快,而且不涉及其它兩種映像方式中的替換算法問(wèn)題。但這種方式不夠靈活,Cache的塊沖突概率最高、空間利用率最低。2.直接映像直接映像圖5-29(b)直接映像組相聯(lián)映像將主存空間按Cache大小等分成區(qū)后,再將Cache空間和主存空間中的每一區(qū)都等分成大小相同的組。讓主存各區(qū)中某組中的任何一塊,均可直接映像裝入Cache中對(duì)應(yīng)組的任何一塊位置上,即組間采取直接映像,而組內(nèi)采取全相聯(lián)映像。

組相聯(lián)映像實(shí)際上是全相聯(lián)映像和直接映像的折衷方案,所以其優(yōu)點(diǎn)和缺點(diǎn)介于全相聯(lián)和直接映像方式的優(yōu)缺點(diǎn)之間。3.組相聯(lián)映像組相聯(lián)映像圖5-29(c)組相聯(lián)映像1.隨機(jī)算法隨機(jī)法完全不管Cache塊過(guò)去、現(xiàn)在及將來(lái)的使用情況,簡(jiǎn)單地根據(jù)一個(gè)隨機(jī)數(shù),選擇一塊替換掉。2.先進(jìn)先出(FIFO)算法

按調(diào)入Cache的先后決定淘汰的順序,即在需要更新時(shí),將最先進(jìn)入Cache的塊作為被替換的塊。這種方法要求為每塊做一記錄,記下它們進(jìn)入Cache的先后次序。這種方法容易實(shí)現(xiàn),而且系統(tǒng)開(kāi)銷小。其缺點(diǎn)是可能會(huì)把一些需要經(jīng)常使用的程序塊(如循環(huán)程序)也作為最早進(jìn)入Cache的塊替換掉。5.7.4替換算法

LRU算法是把CPU近期最少使用的塊作為被替換的塊。這種替換方法需要隨時(shí)記錄Cache中各塊的使用情況,以便確定哪個(gè)塊是近期最少使用的塊。LRU算法相對(duì)合理,但實(shí)現(xiàn)起來(lái)比較復(fù)雜,系統(tǒng)開(kāi)銷較大。通常需要對(duì)每一塊設(shè)置一個(gè)稱為“年齡計(jì)數(shù)器”的硬件或軟件計(jì)數(shù)器,用以記錄其被使用的情況。3.近期最少使用(LRU)算法虛擬存儲(chǔ)器由主存儲(chǔ)器和聯(lián)機(jī)工作的輔助存儲(chǔ)器(通常為磁盤存儲(chǔ)器)共同組成,這兩個(gè)存儲(chǔ)器在硬件和系統(tǒng)軟件的共同管理下工作,對(duì)于應(yīng)用程序員,可以把它們看作是一個(gè)單一的存儲(chǔ)器。5.8虛擬存儲(chǔ)器虛擬存儲(chǔ)器將主存或輔存的地址空間統(tǒng)一編址,形成一個(gè)龐大的存儲(chǔ)空間。在這個(gè)大空間里,用戶可以自由編程,完全不必考慮程序在主存是否裝得下以及這些程序?qū)?lái)在主存中的實(shí)際存放位置。

用戶編程的地址稱為虛地址或邏輯地址,實(shí)際的主存單元地址稱為實(shí)地址或物理地址。顯然,虛地址要比實(shí)地址

溫馨提示

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