計算機組織結(jié)構(gòu)期中復(fù)習(xí)_第1頁
計算機組織結(jié)構(gòu)期中復(fù)習(xí)_第2頁
計算機組織結(jié)構(gòu)期中復(fù)習(xí)_第3頁
計算機組織結(jié)構(gòu)期中復(fù)習(xí)_第4頁
計算機組織結(jié)構(gòu)期中復(fù)習(xí)_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機組織結(jié)構(gòu)

IIntroduction總述

結(jié)構(gòu)architecture

對程序員可見(程序員必須清楚)

包括:指令集、各種數(shù)據(jù)類型的大小

組織organization(內(nèi)部實現(xiàn))

對程序員透明(程序員沒有必要清楚)

包括:控制信號、存儲技術(shù)

計算機發(fā)展史:

第一代電子管/真空管ENIAC十進制

IAS二進制存儲程序思想

亦叫做馮諾依曼模型

分為?CentralArithmetical(CA)運算器

?CentralControl(CC)控制器

?Memory(M)存儲器

?Input(I)/Output(0)輸入輸出

四部分加

CentralProcessingUnit(CPU)

第二代晶體管

第三代到N代集成電路

摩爾定律(Moore'slaw):

在一個芯片上所放的晶體管數(shù)目每年翻倍(69年前)/18個月翻倍(69年后)

說明計算機邏輯內(nèi)存單元制作更加便宜/會變得更小/提高了運算速度/降低了電源和散

熱要求/集成電路的可靠性更高

計算機性能:

CPU:速度Memory:容量/速度I/O:容量/速度

主要目的是提高CPU速度

CPU的性能:

時鐘:時鐘率(Hz):每秒能處理的基本指令

時鐘周期⑸:1/時鐘率

Clocktick?

指令處理每秒鐘執(zhí)行的百萬指令數(shù)(MIPS)每秒百萬個浮點操作指令數(shù)

(MFLOPS)

例題:

1.在逛商店時,你聽到一位顧客問店主,他在商店里能買到的最快的計算機是什么。店主

回答說"你正在看的是Macintosh,最快的Mac機以1.2GHz時鐘速率運行,如果你想要

最快的機器,你應(yīng)該購買我們的2.4GHz的IntelPentium4計算機店主的說法對嗎?

為什么?

解:不能依靠時鐘頻率來衡量一臺計算機的性能,更科學(xué)的衡量標準是每秒所執(zhí)行的浮點

數(shù)計算有多少百萬次。

相同的功能在不同的指令集中需要的指令數(shù)量是不同的,同一條指令在不同計算機

上需要的時鐘周期是不同的。而且,即便在指令相同的情況下,如果采用并行或者流水線等

技術(shù),也可以加速程序的執(zhí)行

2.ENIAC是一個十進制機器,用10個真空管來代表一個寄存器。任何時刻只有一個真空

管處于ON狀態(tài),表示10個數(shù)字中的一個。假定,ENIAC有能力使多個真空管同時處于

ON和OFF態(tài),這種表示方法是否合理?為什么?

不合理,當ENIAC有能力使得多個真空管同時處于ON或者OFF狀態(tài),應(yīng)該采用

二進制,可以減少所需要的真空管數(shù)量,而且如果10個真空管中出現(xiàn)了多個處于ON狀態(tài),

則會無法判斷是哪個數(shù)字。

3.IBM360Model75的指令周期的時間是360Model30的5倍,而相對性能確提高為

原來的50倍。為什么會出現(xiàn)這種現(xiàn)象?

計算機系統(tǒng)性能衡量的常用標準是每秒進行多少百萬次的浮點數(shù)運算,雖然IBM

360Model75的指令周期是360Model30的5倍,但它可能采用不同的指令集使得完成

相同功能的指令數(shù)目減少,或者采用了流水線、并行等技術(shù),使得計算機的性能得到了提高。

4.時鐘以固定頻率f(或等價地說,以固定周期時間t)來驅(qū)動處理器,這里t=l/f。程序

的規(guī)模能用程序所包含的機器指令數(shù),或者指令計數(shù)IC來衡量。不同的指令會要求不同的

時鐘周期數(shù)來執(zhí)行。一個重要參數(shù)是程序的平均每條指令周期數(shù)(averagecyclesper

instruction,CPI\執(zhí)行一個給定程序所需的處理器時間能表示成:T=ICxCPIxt

在指令執(zhí)行期間處理器只是做了部分工作,一部分時間是花費在處理器與存儲器之間的字傳

送上。在后一種情況下,傳送時間取決于存儲器周期時間,而它會比處理器周期大很多。我

們能將上面等式改寫成:

T=ICx[p+(mxk)]xt

這里,p是用于譯碼和執(zhí)行指令所需的處理器周期數(shù),m是所需的存儲器訪問次數(shù),k是

存儲器周期時間和處理器周期時間之比。

上面等式中5個性能因子(IC,p,m,k,t)受到4個系統(tǒng)屬性影響:(1)指令集設(shè)計(亦稱指令集

體系結(jié)構(gòu));(2)編譯技術(shù)(在由高級語言程序產(chǎn)生機器語言程序時編譯器如何有效);(3)處

理器實現(xiàn);(4)Cache和存儲器的層次。請用表格形式說明這4個系統(tǒng)屬性對這5個性能

因子的影響。

指令集規(guī)模小編譯技術(shù)好處理器快存儲層次多

IC變多變少無影響無影響

P變多變少無影響無影響

M變多變少無影響變多

K無影響無影響變大變小

T無影響無影響變小無影響

5.處理器性能的一個普通度量是指令執(zhí)行的速率,表示為每秒百萬條指令(MIPS1請用

時鐘速率和CPI來表示MIPS速率。

解:設(shè)時鐘頻率為f,平均每條指令周期數(shù)為CPI.所以平均每條指令所需要的時間為CPI/f

l/(CPI/f)*10A6=f/CPI*10A-6即每秒指令的百萬條指令數(shù)

6.一個測試程序在一個40MHz的處理器上運行,其目標代碼有100000條指令,由如下

類指令及其時鐘周期計數(shù)混合組成:

指令類型指令計數(shù)時鐘周期計數(shù)

整數(shù)算術(shù)450001

數(shù)據(jù)傳送320002

浮點數(shù)150002

控制傳送80002

請確定這個程序的有效CPI、MIPS速率和執(zhí)行時間。

CPI=(45000+32000*2+15000*2+8000*2)/(45000+32000+15000+8000)

MIPS=f/CPI*10A-6

T=100000/MIPS

IIATop-LevelViewofComputerFunctionand

Interconnection總觀計算機功能及內(nèi)部聯(lián)系

馮諾依曼模型(thevonNeumannmachine):

計算機組成:I/O主存(Mainmemory)

系統(tǒng)總線(Systembus)CPU

內(nèi)存:數(shù)據(jù)和指令被存貯在內(nèi)存中內(nèi)存中的數(shù)據(jù)按地址尋找順序執(zhí)行指令

問題:主存與CPU之間的傳輸速度差距越來越大

解決:包含寄存器(cache)緩沖數(shù)據(jù)減少對內(nèi)存訪問量

增加每次讀取的字節(jié)數(shù)

I/O:和CPU/內(nèi)存交換數(shù)據(jù)

問題:和CPU/內(nèi)存的速度差距越來越大

解決:緩沖新的接口技術(shù)

CPU:順序執(zhí)行指令數(shù)據(jù)和指令被存貯在內(nèi)存中按地址尋找數(shù)據(jù)

問題:等待I/O設(shè)備時CPU的空閑問題

解決中斷(Interrupt):

嵌套中斷處理(Nestedinterruptprocessing)

連續(xù)中斷處理(Sequentialinterruptprocessing)

總線:鏈接兩個或更多設(shè)備是一種共用的傳輸介質(zhì)

數(shù)據(jù)傳輸類型:地址線數(shù)據(jù)線控制線

總線類型:專用總線(高效傳輸/規(guī)模成本高)

復(fù)用總線(節(jié)省空間和成本/復(fù)雜的機制)

總線仲裁:總線可被多個設(shè)備監(jiān)聽但每次只能由其中一個發(fā)出信息

集中式/分布式

計時:同步/異步/半同步/分割

總線寬度(Buswidth):每次傳輸?shù)奈粩?shù)

IllCache寄存器

內(nèi)存設(shè)計瓶頸:容量速度價格成本

實際要求:大容量高速

解決方式:層次式設(shè)計

Cache基本思想:

運用一個更小更快的寄存器來減少內(nèi)存的訪問次數(shù)

是對主存的部分拷貝

處于CPU和主存之間可能集成在CPU或其他模塊中

Cache的基本工作機制

1.Check:當處理器試圖從主存訪問數(shù)據(jù)時,先檢查該數(shù)據(jù)是否在Cache中

2.若命中,數(shù)據(jù)直接從Cache傳輸至Cpu

3.若沒有命中,Cpu訪問主存,將一塊數(shù)據(jù)傳輸至Cache中,然后再從Cache傳

輸?shù)紺pu

如何判斷命中

Cache中使用標簽(tags)來判斷需要訪問的數(shù)據(jù)在主存中的地址。

判斷丟失后為何將主存中的塊(block)傳輸至Cache

引用的局部性原理

L時間的局部性

2.空間的局部性

3.序列的局部性

傳回一塊利用空間局部性,提高命中率,節(jié)省時間

?Temporallocality

intfactorial=1;

for(inti=2;i<=n;i++){

factorial=factorial*i;

)

,Spatiallocality

for(inti=0;i<num;i++){

score[i]=final[i]*0.4+midterm[i]*0.3+assign[i]*0.2+activity[i]*0.1;

}

計算平均訪問時間

?Assumepishitrate,Tcisaccesstimeofcache,TMis

accesstimeofmainmemory,theaverageaccesstimewhen

usecacheis

TA=pxTc+(1—p)x(Tc+TM)

=Tc+(1-p)x

?ThelargerpandlessTcare,thebetterperformanceis

?IfwewantU<%,itisrequired

p>Tc/TM

?Difficulty:thecapacityofcacheismuchsmallerthanthe

capacityofmemory

Cache使用的一些策略

1.增加容量:缺點成本過高,且會增加Tc

2.映射函數(shù):

-.直接映射:

設(shè)j為主存中的塊數(shù),C為Cache中的行數(shù),則主存中每塊對應(yīng)在Cache中的行

數(shù)i=jmodC

(Cache中每行存一塊)

?Tag

?Highestnbitsinaddress,n=log2M-log2c

TagUneWord

例:假設(shè)Cache中有四行,每行有8個字,主存中有128個字,因此需要7位來

表示地址。

每塊中有8個字,所以用3位來表示字(即字長),Cache中有4行,因此中間用2

位來表示占據(jù)的是哪一行,M=16(主存中的塊數(shù))C=4(Cache中的行數(shù)),所以n=4-2=2,2

位表示Tag即標簽位。

優(yōu)點:簡單,匹配快,查找快

缺點:抖動

比如如果一個程序每次都輪流查找映射于同一行的兩個塊,會大大影響命中率

所以這種映射方法適用于大容量的Cache

二,關(guān)聯(lián)映射

規(guī)則:每個塊可以被載入任意一行

?Tag

?Highestnbitsinaddress,n=log2M

AddressTagWord

例:假設(shè)Cache有4行,每行有8個字,主存包含128個字,

那么主存用7位地址,3位為字長,剩下四位作標簽。

優(yōu)點:防止抖動,

缺點:復(fù)雜而且浪費資源。

三.組關(guān)聯(lián)映射(折衷)

策略:Cache被分為多個組,假設(shè)j為主存中的塊數(shù),S是Cache中的組數(shù),那么

相應(yīng)的塊對應(yīng)在Cache中的組號s=Smodj

K路組:k=C/S,每組的行數(shù)

組內(nèi)采用關(guān)聯(lián)映射

?Tag

?Highestnbitsinaddress,n=log2M一log2s

AddressTagSetWord

例:假設(shè)Cache中有4行且被分成2組,每行8個字,主存中含有128個字節(jié),

所以7位地址。

三位表示字長,因為組數(shù)=2,中間一位用來表示位于哪一組,最高3位用作Tag.

即M=16,S=2所以n=4-l=3.

比較:

K=1直接映射K=C關(guān)聯(lián)映射

關(guān)聯(lián)度(Correlation每塊對應(yīng)寄存器中行的可能數(shù)):

直接映射1關(guān)聯(lián)映射C組關(guān)聯(lián)映射K

相關(guān)度越小,命中率越低,check時間更少,Tag長度越短

3.替換機制

LRULeastRecentlyUsed最近最少用

FIFOFirstInFirstOut先進先出

LFULeastFrequentlyUsed最不常用

4.寫操作策略

一.寫入

為保證Cache與主存的一致性,往Cache寫入時同時也要往主存寫入

但降低寫入速度,容易產(chǎn)生瓶頸

二,寫回

在Cache中增加一位(臟位)表示是否被修改過,若"臟",則替換整個塊時前將

其寫回

減少寫入操作,但會有不必要的麻煩(如輸出時會取得主存中未修改的數(shù)據(jù))

策略:輸出時候強制修改主存

5行的大小即每個塊的容量

行變大,提高命中率。

行再變大,也可能降低命中率(原因:Cache總大小不變時,行變大,減少了行數(shù),使

得替換頻繁)

6.Cache的個數(shù)

單個:方便集成到處理器,簡化電路設(shè)計

層次式:LIL2

設(shè)計復(fù)雜:要保證3個之間數(shù)據(jù)的一致性

L2可以使用另外一條路,也可以放在處理器上

注意:L1與L2的關(guān)系可以類比于單個Cache時候Cache與主存的關(guān)系

7.數(shù)據(jù)與指令是否分開

例題分析:

關(guān)于Cache的映射關(guān)系

1.假設(shè)Cache有4K字,每行32字。對十六進制主存地址:111111.666666、BBBBBB,

用十六進制格式表示如下信息:

(1)直接映射Cache的地址格式,(2)全關(guān)聯(lián)映射Cache的地址格式,⑶兩路組關(guān)聯(lián)Cache

的地址格式。(提示:每個映射方式下,需要將標記、

塊內(nèi)地址等分開表示。)

解:Cache字數(shù):41<=4*2人10=2人12總共12位地址

塊的大小32=2人55位字長行數(shù)2A7用7位表示

主存地址為6位16進制即24位二進制,其中5位表示字長.

--直接映射:

標記位:19-7=12

行數(shù):7

塊內(nèi)地址:5

二.全關(guān)聯(lián)映射

標記為19

塊內(nèi)地址5

三.兩路組關(guān)聯(lián)映射

組數(shù)2A66位表示組數(shù)

標記為19-6=13

塊內(nèi)地址5位

以BBBBBB為例化為二進制位101110111011101110111011

直接映射101110111011101110111011

BBB5D1B

全關(guān)聯(lián)映射101110111011101110111011

5DDDD1B

兩路組關(guān)聯(lián)映射101110111011101110111011

1777IDIB

對命中的判斷以及LRU算法的應(yīng)用

2.計算機系統(tǒng)包含容量為32Kxl6位的主存,按字編址,每字16位。Cache采用4路組

關(guān)

聯(lián)的映射方式,數(shù)據(jù)區(qū)大小為4K字,主存塊大小為64字。假設(shè)Cache初始時是空的,

處理器順序地從存儲單元(每個存儲單元中包含1個字)0,1,…,4351中取數(shù),然后再

重復(fù)這一順序9次,并且Cache的速度是主存的10倍,同時假設(shè)塊替換用LRU算法。

請說明使用Cache后的改進。

主存共321<=2人15個字,每塊2A6=64個字,所以一共2A9塊.

Cache共2A12字所以一共2A6=64行采用4路組關(guān)聯(lián)

組數(shù)=2人4=16

所以標記位為9-4=5

組:4

設(shè)Cache的速度為t,則主存的速度為10t

采用cache:

第一次:0misslit

1-63hitlt*15

64misslit

64-127hitlt*15

4351/64=68

所以一共有68次miss.

第二次:因為第一次中0123行中的內(nèi)容被替換成了64656667塊.

根據(jù)LRU原則0123換下的是16171819那一路,以此類推、

012316171819323334354849505164656667永遠miss

所以綜上p=(4352*10-68-20*9)/43520=99.43%

時間10V/(V+10*(1-0.9943))=9.5倍

LRU算法與FIFO算法的應(yīng)用與比較

3.假設(shè)主存中的5個塊{123,4,5}映射到cache的同一組,對于主存塊訪問地址流

(1,2,3,4,1,2,5,1,2,3,4,5},在3-路組關(guān)聯(lián)、4-路組關(guān)聯(lián)、5-路組關(guān)聯(lián)方式下,分別

說明LRU算法和FIFO算法的命中情況。

下面只考慮3-路組關(guān)聯(lián):

LRU算法

111444555333

22211111144

3332222225

最近最少使用的123412512

FIFO

111444555555

22211111333

3332222244

最先進的11234111255

多層次Cache的計算

4:對一個有兩級Cache的系統(tǒng),定義:TC1=第一級Cache存取時間;TC2=第二級

Cache

存取時間;H1=第一級Cache命中率;H2=組合的第一/二級Cache命中率。請給出讀

操作時間的表示。(提示:需要假設(shè)主存的存取時間)

解:設(shè)主存存取時間為Tm

T=Tcl+(l-H2)Tm+(l-Hl)Tc2

5:假設(shè)某處理器的時鐘頻率為1.2GHz,當LIcache無缺失時的CPI為1(即CPU可以快

速地從LIcache中讀取指令,并在1個時鐘周期內(nèi)完成)。訪問一次主存的時間為100ns

(包括所有缺失處理),LIcache的局部缺失率為2%。若增加一個L2cache,并假定

L2cache的訪問時間為5ns,而且其容量足夠大到使全局缺失率僅為0.5%。分析增加

L2cache后處理器執(zhí)行程序的效率提高了多少?

解:1.2Ghz=1.2*10A9次/s所以處理一次需要1/1.2=0.833nm

未增加L2時平均讀取一條指令的時間為0.833+0.02*100=2.833nm

增力口L2后平均讀取一條指令的時間為0.833+0.005*100+0.02*5=1.433nm

2.833/1.433=1.97倍

IVInternalMemory主存

存儲位元:

有o/i兩個穩(wěn)定狀態(tài)

可以至少被寫入一次

可以讀取狀態(tài)

RAM(RandomAccessMemory,隨機訪問存儲器):

特性:

可以簡單迅速地讀取和寫入數(shù)據(jù)

易失性(volatile)

類型:

DRAM(DynamicRAM,動態(tài)隨機訪問存儲器):電容存儲需要刷新

SRAM(StaticRAM,靜態(tài)隨機訪問存儲器):門

相似:

易失性都需要提供電能來維持數(shù)據(jù)

區(qū)別:

DRAM設(shè)計簡單但是需要刷新

SRAM比DRAM更快,但是集成度低造價高

DRAM多用于主存SRAM多用于寄存器

ROM(ReadOnlyMemory,只讀存儲器):

特性:

非易失性(Nonvolatile)

可讀取但是不可寫入數(shù)據(jù)

應(yīng)用:

微編程系統(tǒng)程序函數(shù)表

問題:

無出錯空間成本高

PROM(ProgrammableROM,可編程只讀存儲器):

特性:

非易失性(Nonvolatile)

只能寫入一次:電子寫入并且需要特殊的環(huán)境

與ROM的區(qū)別:

更加靈活方便

Read-MostlyMemory:

讀的次數(shù)比寫的次數(shù)多很多非易失

類型:EPROM(ErasablePROM,可擦除編程只讀存儲器):

特性:可讀寫紫外線擦除整塊比PROM更貴

EEPROM(ElectricallyEPROM,可電擦除編程只讀存儲器):

特性:可寫入并且無需擦除數(shù)據(jù)可按字節(jié)寫入(覆蓋)比EPROM擦除

速度快但造價更高

FlashMemory(閃存):

特性:電擦除可擦除幾塊集成度高

尋址單元(AddressingUnit):

包含同樣類型的幾個位元

尋址模式:字(Byte)更加常見/字節(jié)(Word)

存儲陣列:線的復(fù)用先行后列

刷新:集中刷新(CentralizedFresh)停止讀寫,集中刷新,會有一段時間停止工作:

死區(qū)

分散刷新(DecentralizedFresh)不會出現(xiàn)死區(qū)但是時間過長

異步刷新(AsynchronousFresh)高效

芯片的引腳:

Address/Data/Vcc(powersupply)/Vss(groundpin)/CE(chip

enable)/Vpp(programvoltage)

WE(writeenable)/OE(outputenable)/RAS(rowaddressselect)/CAS(column

addressselect)

模塊的擴展:字擴展/位擴展/字位擴展

位擴展:增加數(shù)據(jù)量。

地址線數(shù)量不變,數(shù)據(jù)線數(shù)量增加

例如:使用8個4K*1的芯片來組成4K*8的芯片

字擴展:增加尋址空間

地址線數(shù)目增加

數(shù)據(jù)線數(shù)目不變

例如:使用4個16K*8bit的芯片組成64K*8bit的主存

內(nèi)存是字擴展

主存=RAM+ROM主存大小=RAM大小

其他的DRAM:

SDRAM(SynchronousDRAM,同步動態(tài)訪問存儲器):只允許在一個特定時刻傳輸

DDRSDRAM(Double-data-rateSDRAM,兩倍速率SDRAM)

RambusDRAM/CacheDRAM

糾錯:

奇偶校驗:

奇校驗:校驗位=所有位作異或后再與1異或若1的個數(shù)為奇數(shù),則校驗碼為0,

偶校驗:校驗位=所有位異或若1的個數(shù)為偶數(shù),則校驗碼為0

出錯條件:比較C'(新讀出的校驗碼)與C''(重新計算后得到的校驗碼)(作異

或),注意,與原先的數(shù)據(jù)無關(guān)。結(jié)果為1時,有奇數(shù)位出錯,為0,沒有出錯或者偶數(shù)位

出錯。

優(yōu)點:成本低

缺點:只能知道出錯不能找出錯誤之處

海明碼:分K組產(chǎn)生校驗碼

將一個M字節(jié)的數(shù)據(jù)分成K組,則有K位校驗碼

2Ak>=M+k+l

記八字節(jié)的數(shù)海明碼為4位.

規(guī)則:

1.將兩次海明碼作異或,若所有位上都是0,則沒有錯誤

2.若有一位是1,則海明碼錯誤,不需要糾正

3.超過一位是1,根據(jù)相應(yīng)規(guī)則可以判斷哪T立出錯,并糾正。

記8字節(jié)數(shù)D=D8D7D6D5D4D3D2D1,它的四位校驗碼是C=C4c3c2C1

C1=D1?D2?D4?D5?D7

C2=D1?D3?D4?D6?D7

C3=D2十D3十D4十D7

C4=D5十D6十D7十D8

糾錯碼110010111010100110000111011001010100

001100100001

數(shù)據(jù)位D8D7D6D5D4D3D2D1

C4C3C2C1

D8D7D6D5C4D4D3D2C3D1C2C1包括校驗碼的12彳立的6者存順序

例1:D=0U01010使用偶校驗

C1=D1?D2?D4?D5?D7=1

C2=D1十D3十D4十D6十D7=1

C3=D2?D3?D4?D8=0

C4=D5?D6?D7?D8=0

所以為011001010011

例2:若取得時12位為011001010011

D'=01101010得到U=0011

C"=0011

S=C?C=0000

所以沒有出錯

若取得時12位為011101010011

D'=01111010C=1010

C''=0011

S=C''十C'=1001所以第五位出錯

SEC只能糾錯一位

SEC-DEC增力口一位校驗碼C5=D1十D2十D3十D5十D6十D8

如果有T立數(shù)據(jù)發(fā)生錯誤,則有三位的校驗碼將發(fā)生改變

CRC(CyclicRedundancyCheck循環(huán)冗余校驗碼):

例子說明一切:

數(shù)據(jù):100111。生成校驗碼1001(xA3+l)校驗碼111

loom

1001/100011000

/1001

0011

oooo

0111

0000

1110

1001

1110

1001

1110

1001

111

例題分析:

關(guān)于各種存儲器的比較以及應(yīng)用

1.說明下面概念間的區(qū)別

RAM和ROM

RAM,隨機訪問存儲器,可讀可寫,但是易失

ROM,只讀存儲器,只能讀不能寫,不具有易失性

兩者的共同點都是半導(dǎo)體存儲器

SRAM和SDRAM

SRAM靜態(tài)隨機訪問存儲器,相對于動態(tài)的DRAM,不需要刷新電路來維持位元的狀態(tài)

SDRAM是DRAM的一種,需要刷新來維持位元狀態(tài),但是相比普通的DRAM,它采用外

部時鐘與處理器同步,具有更高的數(shù)據(jù)傳輸速率

PROM、EPROM、和EEPROM

PROM,可編程只讀存儲器,非易失,可以一次電寫入,但之后無法修改

EPROM可擦除可編程只讀存儲器,可以寫入多次,但需要通過紫外光擦除整個芯片的信

息,時間長,但是造價相對較低集成度高

EEPROM電子EPROM,可以擦除單個字節(jié),消耗時間相對較短,但是造價貴且集成度低

SDRAM和DDR

DDR是一種特殊的SDRAM,也采用外部時鐘與處理器同步,但是與SDRAM相比,DDR

允許在一個時鐘周期內(nèi)讀/寫兩次數(shù)據(jù),可以加快數(shù)據(jù)傳輸速率

2.傳統(tǒng)的RAM組織成每芯片只有T立,而ROM通常組織成每芯片多位,請說明原因。

當RAM組織成每芯片只有一位時,所需要的地址線只要一根,這樣有利于減少芯片的

引腳數(shù)和出錯的概率,提高芯片的集成度。

與RAM相比,ROM容量相對較小,集成度要求較低,組成每個芯片多位可以減少

芯片數(shù)量,有利于降低成本。

3.假設(shè)采用分散式刷新,下圖表示一個DRAM經(jīng)由總線的讀操作的簡化時序,存取時間

認為是由tl到t2.由t2到t3是刷新時間,此期間DRAM芯片必須再充電,然后處理器才

能再次存取它們。

a)假定存取時間是60ns,刷新時間是40ns。問:存儲周期是多少?假定1位

輸出,這個DRAM所支持的最大數(shù)據(jù)傳輸率是多少?

解:60+40=100ns

V=l*10A9/100*l=10A7bit/s=0.125*10A7B/s=1.25MB/s

b)使用這些芯片構(gòu)成一個32位寬的存儲器系統(tǒng),其產(chǎn)生的數(shù)據(jù)傳輸率是多

少?

解:V=1.25*32=40MB/s

對海明碼的應(yīng)用

4.一個8位字00111001,采用海明碼生成校驗位后存儲。假定由存儲器讀出數(shù)據(jù)時,

計算出的校驗位是1101,那么由存儲器讀出的數(shù)據(jù)字是什么?

00111001產(chǎn)生的海明碼為

Cl=Dl?D2ffiD4ffiD5?D7=l

C2=D1十D3十D4十D6十D7=1

C3=D2十D3十D4十D8=1

C4=D5?D6?D7?D8=0

0111

與1101異或的結(jié)果是1010可知第十位出錯

原來的是001101001111

第十位出錯可知讀出的數(shù)據(jù)字是00011001

關(guān)于尋址單元以及字擴展位擴展

5.已知某機主存容量為64KB,按字節(jié)編址。假定用1KX4位的DRAM芯片構(gòu)成該存

儲器,

請問:

a)需要多少個這樣的DRAM芯片?

lB=8bit

所以N=64KB/(lK*4it)=16*8=128個

b)主存地址共多少位?哪幾位用于選片?哪幾位用于片內(nèi)選址?

按字節(jié)選址的話64K=2A6*2A10=2A16B所以主存地址一共16位

一共有2A7個芯片

所以前七位用于選片,后9位用于片內(nèi)選址

6.假定用8Kx8位的EPROM芯片組成32Kxi6位的只讀存儲器,請問

a)數(shù)據(jù)寄存器(用于存放數(shù)據(jù))最少應(yīng)有多少位?

16位,與每個尋址單元中數(shù)據(jù)的長度相同

b)地址寄存器(用于存放地址)最少應(yīng)有多少位?

32K=225bit所以最少15位

c)共需要多少個EPROM芯片

32/8*16/8=8個

VExternalMemory外部存儲器

外存的需求

1.大容量.(不會一直被使用)

2.不易失

外存的種類

包括磁盤、磁帶、光盤、USB、SSD

一.磁盤

類型:軟盤、硬盤

物理特性:

1.襯底:鋁、鋁合金、玻璃

使用玻璃的好處:穩(wěn)定性高,減少讀寫錯誤、支持更低的飛行高度,不容易損壞

2.磁頭一讀寫磁盤數(shù)據(jù)

?可運動

?不可運動(需要多個磁頭)

3磁盤

?可移動

?不可移動

(讀寫過程中,磁頭做徑向運動,磁盤旋轉(zhuǎn))

4.面

?雙面

?單面

5.盤片:單盤、多盤

柱面:位于同一圓柱表面上的圈

影響多盤效率的因素:多盤的情況下,每個盤的磁頭只能位于盤面的同一個

柱面。

6.磁頭機制:接觸式(軟盤)固定懸空高度、可變懸空高度

磁頭通過電磁感應(yīng)進行讀寫,為增加數(shù)據(jù)量,可將圈變窄,相應(yīng)磁頭就得變小,此

時電磁感應(yīng)變?nèi)?,必須降低磁盤高度,即飛行高度)

關(guān)于Winchesterhead溫氏磁盤、磁頭封裝在一個無污染的密封裝置中。和常規(guī)

磁頭相比,可以更加貼近磁表面,數(shù)據(jù)密度更大。磁盤不動時,以氣墊的形式使磁頭輕停在

磁盤表面。磁盤旋轉(zhuǎn)時,產(chǎn)生的氣壓使氣墊升高而1各磁頭與盤面分離。

Read-writehead(1persurfacetDirectionof

\amimotKHi

A

Surface9

piatte「

Surface8

Surface7

Surface6T____

Surface5

Surface4T

Surface3

Surface2

Surface1

Surface0T

SpindleB<M)m

磁盤的工作機制:

?根據(jù)極性記錄數(shù)據(jù)

?讀寫時,磁頭固定,磁盤旋轉(zhuǎn)

?寫:正負電流產(chǎn)生不同的脈沖信號傳至磁頭,表面上產(chǎn)生不同磁性的磁化域,分

別代表0、1

?讀:磁場相對磁頭運動,在磁頭中產(chǎn)生電流,不同的極性產(chǎn)生不同方向的電流

磁盤的數(shù)據(jù)組織

?磁道:數(shù)據(jù)由同心圓組成,每個同心圓即磁道

?扇區(qū):每個磁道被分隔為多個區(qū)域,存儲大小一定,一般為512B

?勻角速度:增加外圈數(shù)據(jù)間的空間,使得相同角度經(jīng)過的扇區(qū)數(shù)目相同(浪費空間)

?多帶記錄數(shù)據(jù):把磁盤分為多個帶,同一個帶中采取相同的劃分方式,不同帶之間

的劃分方式不同

優(yōu)點:增加存儲量缺點:需要更加復(fù)雜的電路。

扇區(qū)內(nèi)的數(shù)據(jù)組織:GAP間隙:為磁頭提供反應(yīng)時間

IDFILED:同步信息,判斷是否到達新的扇區(qū)(格式化就

是劃分扇區(qū),給IDField寫入信息)

數(shù)據(jù)區(qū)域(515B)誓1B為同步信息,512

存儲數(shù)據(jù),2B為CPR產(chǎn)生校驗碼

數(shù)據(jù)傳輸時間的計算

1.尋道時間:移動磁頭定位到要訪問的磁道所花費的時間

2.旋轉(zhuǎn)等待時間

3.傳輸時間:T=b/(rN)b為需要存儲的數(shù)據(jù)量,r為轉(zhuǎn)速,N為每個磁道上的數(shù)據(jù)

4.存取時間=尋道時間+旋轉(zhuǎn)等待時間+傳送時間Ta=Ts+l/2r+b/rN

例:假設(shè)一個磁盤的平均尋道時間為4ms,旋轉(zhuǎn)速度為15000rpm,每個扇區(qū)有512byte

每個磁道有500個扇區(qū),如果我們需要讀一個文件包含2500個扇區(qū)共1.28Mbytes

1.假設(shè)是連續(xù)的:則文件占據(jù)了5個磁道

2.隨機分布的

對于情況1:15000rpm=2500rpsl/2500=4ms

所以t=2+4/2+4+4*(4/2+4)=34ms

對于情況2:因為是隨機的t=2500*(4+4/2+0.008)=15020ms

二.光盤

CD/CD-ROM/CD-R/CD-RW/DVD/DVD-R/DVD-RW/Blue-Ray

1.CD與CD-ROM

母盤,用高強度激光燒盤

壓盤,臺、凹坑

激光打向背面,根據(jù)反射強弱讀取信息

不同點:CD有檢驗碼而CD-ROM沒有

優(yōu)點:方便,成本低,便于攜帶

缺點:無法更新數(shù)據(jù),讀取較慢

2.CD-R感光元器件,可寫一次

CD-RW可擦寫

3.DVD數(shù)字通用盤相匕瞰CD

L雙面讀,反射層在中間

2.半反射,同樣寫記錄數(shù)據(jù)

3.對波長要求更短,信號更密集

4.藍光運用更短的波長,使得刻錄更加密集

強調(diào):光盤為螺旋線(光驅(qū)旋轉(zhuǎn),線速度相同)(與磁盤不同)

三.磁帶

使用與磁盤相同的存儲機制

離線備份,容量大,存取快

使用磁性材料

并行&串行(蛇形排列)

例題:

1.考慮一個有N個磁道的磁盤,磁道編號由0到N-1,并假定所要求的扇區(qū)隨機均勻分

在盤上。

a)假設(shè)磁頭當前位于磁道t上,計算越過的磁道數(shù)為j的概率。

b)假設(shè)磁頭可能出現(xiàn)在任意磁道上,計算越過的磁道數(shù)為k的概率。

c)計算越過的平均磁道數(shù)的期望:

N-1

E[x]=xPr[x=i])

i=0

其中,i為跨越的磁道數(shù),Pr[x=i]為跨越的磁道數(shù)為i的概率。

解:a)磁頭到達每個磁道的幾率為1/N

1:若j-l<t<N-j則概率為2/N

2:若t<=j-l或者t>=N-j則概率為1/N

b)令

N-l]N-l

P[k]=2曰3]xP[i])=!乏PWi]

i=0i=0

由a)結(jié)論可知,取值1/N的有2k個磁道,取值2/N的有(N-2k)個磁道,所以有

,1/12\2(N-k)

「[r幻=^*(^*2上+小*("_2乃)=-^^

c)由給出公式結(jié)合b)結(jié)論,得

酮=£(-㈤)=£卜罕AM

i=0i=0

2.為一個磁盤系統(tǒng)定義如下參數(shù):

TS=尋道時間,即磁頭定位在磁道上的平均時間

r=磁盤的旋轉(zhuǎn)速度(單位:轉(zhuǎn)/秒)

n=每個扇區(qū)的位數(shù)

N=一個磁道的容量(單位:位)

TA=存取一個扇區(qū)的時間

請推導(dǎo)TA的表達式。

TA=TS+l/2r+n/rN

3.考慮一個單片磁盤,它有如下參數(shù):旋轉(zhuǎn)速率是7200rpm,一面上的磁道數(shù)是30000,

道扇區(qū)數(shù)是600,尋道時間是每越過一百個磁道用時1ms。假定開始時磁道位于磁道0,

收到一個存取隨機磁道上隨機扇區(qū)的請求。

a)平均尋道時間是多少?

b)平均旋轉(zhuǎn)延遲是多少?

c)一個扇區(qū)的傳送時間是多少?

d)完成存取請求的總的平均時間是多少?

解:a)平均尋道時間是越過一半磁道的時間也就是30000/2*100=150ms=0.15s

b)7200rpm=120rps所以平均旋轉(zhuǎn)延遲=l/2r=l/240s

c)1/120/600=1/72000S

d)T=0.15+1/240+1/72000

4.已知邏輯記錄是相關(guān)數(shù)據(jù)元素的集合,作為概念性的單位,它與信息如何存儲和在何處

存儲無關(guān);物理記錄是由存儲設(shè)備特性和操作系統(tǒng)定義的存儲空間的一個連續(xù)區(qū)域。假

定在一個磁盤系統(tǒng)中,每個物理記錄容納30個120字節(jié)長的邏輯記錄。若此磁盤系統(tǒng)

有8面,每面110個磁道,96扇/道,512B/扇。假設(shè)不考慮文件頭部記錄和磁道索引,

并認為記錄不能跨越兩個扇區(qū),請計算存儲300000個邏輯記錄需要多大的磁盤空間(用

扇區(qū)、磁道、面數(shù)來表示〉

解:每扇512/120=4個邏輯記錄

300000/4=75000扇750000/96=781余24

782/110=7余11一共需要7面11磁道24扇

5.假定一個程序重復(fù)完成1鈿盤上一個4KB的數(shù)據(jù)塊讀出,進行相應(yīng)處理后,寫回到磁

的另外一個數(shù)據(jù)區(qū)。各數(shù)據(jù)塊內(nèi)信息在磁盤上連續(xù)存放,并隨機地位于磁盤的一個磁道

上。磁盤轉(zhuǎn)速為7200rpm,平均尋道時間為10ms,磁盤最大數(shù)據(jù)傳輸率為40MBps,沒

其他程序使用磁盤和處理器,并且磁盤讀寫操作和磁盤數(shù)據(jù)的處理時間不重疊。若程序

對磁盤數(shù)據(jù)的處理需要20000個時鐘周期,處理器時鐘頻率為500MHz,則該程序完成一

次數(shù)據(jù)塊"讀出-處理-寫回"操作所需要的時間為多少?每秒鐘可以完成多少次這樣

的數(shù)據(jù)塊操作?

解:7200rpm=120rps

處理:t=l/500/10A6=2*10=9所以對磁盤數(shù)據(jù)的處理需要

20000*2*10A-9=4*10A-5s

讀出:10+1/240+4/(40*1024)

寫入時間與讀出相同

計算略去。。。。

6.假設(shè)有一個磁盤,每面有200個磁道,盤面總存儲容量為L6MB,磁盤旋轉(zhuǎn)一周時間

25ms,每道有4個區(qū),每兩個區(qū)之間有一個間隙,磁頭通過每個間隙需要1.25ms。請問:

從該磁盤上讀取數(shù)據(jù)時的最大數(shù)據(jù)傳輸率是多少(單位:字節(jié)儂)?

解:1.6MB=1600KB所以每個磁道8KB旋轉(zhuǎn)一周需要時間25ms其中

25-1.25*4=20ms來讀取數(shù)據(jù)所以最大傳輸速率8*1000/20ms=4*10A5B/s

VIRAID磁盤冗余陣列

基本思想:單個或者多個I/O處理任務(wù)被平均分配給多個盤(以一種較高的速度來處理,降

低各個磁盤負擔)

數(shù)據(jù)分布在多個盤上

特性:1.看上去像是一個盤

2.數(shù)據(jù)被分配在多個盤上

3.增加冗余信息,得到額外的好處(以空間換時間),多存一些東西來提高可靠性

恢復(fù)數(shù)據(jù)

RAID的七中技術(shù)

RAIDLevelO

將每個磁盤切成大小一樣的塊,每個磁盤上的同一行看成一個整體(條帶)同時工

作。

優(yōu)點:在數(shù)據(jù)量較大的情況下能夠達到更高的傳輸速度與響應(yīng)速率。

缺點:1.面臨更大的出錯風(fēng)險。(沒有提供任何規(guī)避風(fēng)險的措施)

2.一塊地方掛,全部掛。

RAIDLevell(鏡像)

組成方式與RAID0相似

相比RAID0RAID1增加完全一樣的鏡像儲存部分,這樣就有一個完全一樣的備份。

好處:L提高安全性,非常可靠。

2.若出錯,處理過程非常簡單。

壞處:1.嚴重浪費空間,冗余特別大。

2.有一個盤特別慢,帶動整個系統(tǒng)變慢。(木桶效應(yīng),無法發(fā)揮所有硬盤的最

高效率)

RAIDLevel2(并發(fā))

使用海明碼校驗(2Ak>=m+k+l)

條帶被劃分得很細?。ㄒ粋€字或者一個字節(jié)),處理數(shù)據(jù)更精細

缺點:同一時刻只能支持一個I/O

隨著磁盤穩(wěn)定性的提高,逐漸被拋棄。

RAIDLevel3(并發(fā))

同樣采用小的條帶。

校驗盤更?。ㄊ褂煤愣〝?shù)量的盤個盤)

p=bOoblOb2ob3

所以p0p=pOblob2ob3obO=O

b2o0=b2opOb0oblOb2ob3

b2=pobOoblOb3

無論哪個磁盤壞掉,都可以將它恢復(fù)。(但只能判斷一個磁盤壞掉的情況)

缺點:同一時刻只能支持一個I/O

(在網(wǎng)絡(luò)服務(wù)中不適用)

RAIDLevel4

數(shù)據(jù)量更大

允許磁盤獨立寫。

依然只用一個盤做校驗。

當只有一個盤上的數(shù)據(jù)(假設(shè)b2)發(fā)生改變時,校驗碼進行計算:

P'=b0oblob2'ob3

p=bOoblob2ob3

b2op=b0oblob3

p'=b2opob2'

數(shù)據(jù)盤進行讀寫時往往需要

溫馨提示

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

評論

0/150

提交評論