《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》電子教案(清華2版)_第1頁
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》電子教案(清華2版)_第2頁
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》電子教案(清華2版)_第3頁
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》電子教案(清華2版)_第4頁
《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》電子教案(清華2版)_第5頁
已閱讀5頁,還剩165頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)

主講:華中科技大學(xué)計(jì)算機(jī)學(xué)院林安

教學(xué)計(jì)劃

?.

?教材:?4/0

“1

.杼4

《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》(第二版)身

."與2

身P$:4

鄭緯民等.普

升3

清華大學(xué)出版社身

.氧

"A4140

.4-f

4r75普

.4:杼6

?參考書:.6普2

4A1-

身J

《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu).A第

4n76

身n

.,

復(fù)習(xí)與考試指導(dǎo)》8客2

.A-心

鄭緯民等A-

身9

>Oe2

高等教育出版社"1早?

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2

第一章基本概念(P1)

本章介紹計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的一些基本知識(shí)。包括定性知識(shí)和定量知

識(shí)兩大組內(nèi)容。為了便于學(xué)習(xí),本章各節(jié)重新編號,與教材編號不同。

定性知識(shí):本課程經(jīng)常使用的一些名詞概念,以及對計(jì)算機(jī)的定性

認(rèn)識(shí)、分析方法。

定量知識(shí):對計(jì)算機(jī)性能進(jìn)行定量評價(jià)的幾個(gè)重要公式。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)3

1.1定性知識(shí)幾個(gè)基本概念

1.、什么是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)?(P4)

英文名稱:ComputerArchitectrue

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(也叫“計(jì)算機(jī)體系結(jié)構(gòu)”):傳授計(jì)算機(jī)整機(jī)

(硬軟件統(tǒng)一條件下)設(shè)計(jì)的重大技術(shù)知識(shí)。

Architectrue的英文原義是“建筑學(xué)”。

“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”作為事物名稱:使用者必須了解的機(jī)器外部特性

知識(shí)(廣義定義)。在本課程中“使用者”目前特指最低級語言的程序員

,“外部特性”特指整個(gè)硬件的外部特性(狹義定義)。

透明性概念:使用者可以不了解的知識(shí)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)4

“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”狹義定義包含的內(nèi)容(P4)

1.數(shù)據(jù)表示(硬件能夠直接識(shí)別和處理的數(shù)據(jù)類型和格式等);

2.尋址方式(包括最小尋址單位、尋址方式的種類、表示和地址計(jì)算等);

3.寄存器組織(包括各種寄存器的配置數(shù)目和功能定義);

4.指令系統(tǒng)(包括機(jī)器指令的操作類型和格式、指令間的排序方式和控制機(jī)構(gòu)等)

*

9

5.存儲(chǔ)系統(tǒng)(包括編址方式、存儲(chǔ)容量、最大編址空間等);

6.中斷機(jī)構(gòu)(中斷源的分類管理和中斷服務(wù)功能設(shè)計(jì));

7.機(jī)器工作狀態(tài)(如管態(tài)、目態(tài)等)的定義和切換;

8.輸入/輸出子系統(tǒng)結(jié)構(gòu)與管理;

9.信息保護(hù)手段及其實(shí)現(xiàn)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)5

1.1.2計(jì)算機(jī)系統(tǒng)的多級層次模型(P3)

第5級「專用應(yīng)用語言機(jī)器—特定應(yīng)用用戶(使用特定應(yīng)用語言)

I(經(jīng)應(yīng)L程序翻譯成高級語言)

第4級I通用高級語言MiA高級語言程序員(使用通用高級語言)

I(經(jīng)編并程序翻譯成匯編語言)

第3級I匯編語言機(jī)匯編語言程序員(使用匯編語言)

I(經(jīng)匯的程序翻譯成機(jī)器語言、操作系統(tǒng)原語)

第2級I操作系統(tǒng)語言操作系統(tǒng)用戶(使用操作系統(tǒng)原語)

?I(裝耳語解釋子程序翻譯成機(jī)器語言)

第1級I傳統(tǒng)機(jī)器語為麗一傳統(tǒng)機(jī)器程序員(使用二進(jìn)制機(jī)器語言)

?I(由微逑序解釋成微指令序列)

第0級I微指令串后機(jī)而一微指令程序員(使用微指令語言)

(由硬件譯碼器解釋成控制信號序列)

圖L1計(jì)算機(jī)系統(tǒng)的多級層次模型

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)6

1.1.3其他重要名詞概念(自學(xué))

[計(jì)管機(jī)組成]計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的邏輯實(shí)現(xiàn)。(P5)

[計(jì)算機(jī)實(shí)現(xiàn)]計(jì)算機(jī)組成的物理實(shí)現(xiàn)。(P5)

[計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的3種主要方法“由下往上”、“由上往下”、“由

中間開始”。(P14)

[系列機(jī)](P23)

[兼容性](P24)

[模擬](P24)

[仿真](P24)

[虛擬機(jī)](P24)

[宿主機(jī)](P24)

[并行性]求解一個(gè)問題的若干操作在時(shí)間安排上的可重疊性。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)7

1.1.4馮.諾依曼(VonNeumann)型機(jī)器的特點(diǎn)(P22)

傳統(tǒng)計(jì)算機(jī)又稱為馮.諾依M型機(jī)器,它由運(yùn)算器、控制器、存儲(chǔ)器、輸

入設(shè)備和輸出設(shè)備5部分組成,并具有如下特點(diǎn):

1.以運(yùn)算器為數(shù)據(jù)流動(dòng)中樞,以控制器為控制命令中樞;

2.存儲(chǔ)程序并且執(zhí)行,程序象數(shù)據(jù)一樣可以修改;

3.存儲(chǔ)器按地址訪問,線性順序編址;

4.程序順序執(zhí)行;

5.指令由操作碼與操作數(shù)兩部分組成;

6.數(shù)據(jù)用二進(jìn)制編碼;

7.機(jī)器由硬件與軟件組成,硬件功能不能改變。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)8

1.1.5現(xiàn)代計(jì)算機(jī)系統(tǒng)的分類(Flynn分類法,P6)

按照指令流和數(shù)據(jù)流的多倍性狀況把計(jì)算機(jī)分為:

1.單指令流單數(shù)據(jù)流(SISD--SingleInstructionStreamSingleData

Stream)

2.單指令流多數(shù)據(jù)流(SIMDSingleInstructionStreamMultiple

DataStream)

3.多指令流單數(shù)據(jù)流(MISDMultipleInstructionStreamSingle

DataStream)

4.多指令流多數(shù)據(jù)流(MIMD--MultipleInstructionStreamMultiple

DataStream)

例題:P32,題7,題8,題9。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)9

1.2定量知識(shí)3個(gè)性能公式

1.2.1Amdahl定律(加快經(jīng)常性事件原理,P9)

T1

S——=----------------

nTF

n(1-^)+-7

Se

其中:Sn全局加速比;

To原執(zhí)行時(shí)間(old);

Tn新執(zhí)行時(shí)間(new);

Se被改進(jìn)部分的局部加速比;

Fe被改進(jìn)部分原執(zhí)行時(shí)間占原來總時(shí)間的百分比。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)10

Amdah1定律的推導(dǎo)

改進(jìn)之前程序運(yùn)行總時(shí)間可寫為:T=T(1-Fe+Fe),

改進(jìn)之后由于其中部分操作加快,總時(shí)間降為:

F

Tn=Tova-Fe+上c,)

Je

根據(jù)加速比定義,有:s.=〃=-----1—―

。(1-T---

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)11

Amdahl定律的圖形

從圖1.2可以看出,增大Se和Fe對Sn都有提升作用;但當(dāng)Fe固定時(shí)

,一味增大Se對Sn的作用會(huì)越來越不顯著。

圖1.2Amdahl定律的圖形

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)12

1.2.2CPI與程序執(zhí)行時(shí)間Te(Pll)

CPI是衡量CPU執(zhí)行指令效率的重要指標(biāo)。讓我們先考慮一個(gè)標(biāo)準(zhǔn)測

速程序的全部執(zhí)行時(shí)間Te和其中所有第i種指令的累計(jì)時(shí)間Ti,易知

T=ICxCPIxCYCLE

T=lCixCPLxCYCLE

1n

其中:CYCLE=—,IC=£lC]

fZ=1

另一方面,我們又可以寫

nnn

Te=£Ti=£gXCPLXCYCLE}=^(/CxCP/)XCYCLE

i=\z=li=\_

比較上面第一式與最后一式,可以得到CPI與CPIi的關(guān)系

n

ICXCPI=XCP/)

Z=1

或者寫為CPI=Z(—Lxcm,它表明CP/為所有C/V,.的加權(quán)平均值。

Z=1ic1

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)13

1.2.3每秒百萬指令數(shù)MIPS與每秒百萬浮點(diǎn)數(shù)MFLOPS

(P11)

ICf

MIPS=—xl0-6=----------------x10-6=,二x10-6,主要用于標(biāo)量計(jì)算機(jī);

TeICxCPIxCYCLECPI

MIPS

MFLOPS=,主要用于向量計(jì)算機(jī)。

每次浮點(diǎn)運(yùn)算所需指令條數(shù)

例題:P10,例1.1?例1.5。

P33,題12,題13,題14o

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)14

例題選講(1)

?例1.1(P10)

Amdahl定律公式,已知:Fe=0.4,Se=10,求Sn。

它說明局部(40%)的大幅度改進(jìn)(10倍)對全局的作用要小得

多(1.56倍)。

?例1.2(P10)

Amdahl定律公式,已知方案1:Fei=0.2,Sei=10,求Sm;

已知方案2:Fe2=0.5,Se2=2,求S112。

它說明大范圍的小幅度改進(jìn)(方案2)效果可能更好。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)15

例題選講(2)

?例1.3(P11)

CPI公式,注意該公式中的指令數(shù)百分比不同于Amdahl定律

中的時(shí)間百分比Fe,避免用錯(cuò)。

已知:ICFP/IC=25%,IC非FP/IC=75%;

ICFPSQR/IC=2%,IC非FPSQR/IC=98%。

改進(jìn)前:CPIFP=4.0,CPI非FP=1.33;

CPIFPSQR=20,CPI非FPSQR=?

改進(jìn)后:CPIFP=2.0,CPI非FP=老值;

CPIFPSQR=2.0,CPI非FPSQR=老值。

求:兩種方案改進(jìn)后的CPI。

分析:方案2缺一個(gè)條件CPI非FPSQR,但改進(jìn)前用兩種方法算出

的CPI應(yīng)該是相同的,所以由

CPI老=CPIFPXICFP/IC+CPI非FPXIC非FP/IC

=CPIFPSQRxICFPSQR/IC+CPI非FPSQRXIC非FPSQR/IC

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)16

例題選講(3)

解出CPI非FPSQR=80/49

現(xiàn)在分別用兩種方案改進(jìn)后的參數(shù)代入公式,算出新的CPI為

1.64和1.5,顯然CPI值較小的方案2較好。

教材的解法中有兩個(gè)小公式值得注意,一個(gè)是:

IC

CPI..-=CPI.-(CPI.-CPI)

新老丁「r',老I新,

IC

它的實(shí)質(zhì)就是

時(shí)鐘周期數(shù)總改變量=(GP/浙一C7VQ/C=(C7V,新一C7V-)/£

另一個(gè)公式較容易理解:

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)17

例題選講(4)

?例1.4(P12)

Te公式,其中CPI用相應(yīng)的公式代換

nic

q=匯(CP//xi-ICXCYCLE

z=lIC

對A機(jī)器,已知CPI轉(zhuǎn)=2,IC轉(zhuǎn)/ICA=20%,CPI非轉(zhuǎn)=1,IC非轉(zhuǎn)/ICA=80%,

Te_A=l.2XICAxCYCLEA;

對B機(jī)器,從題義可知,IC比轉(zhuǎn)=IC轉(zhuǎn),ICB=ICAX80%,CYCLEB

義比轉(zhuǎn)比轉(zhuǎn)轉(zhuǎn)/

=1.25CYCLEA,CPI=2,所以IC/ICB=IC(ICAX80%)

=25%,CPI非比轉(zhuǎn)=1,IC非比轉(zhuǎn)/ICB=75%,

Te_B=1.25XICBxCYCLEB

=1.25X80%XICAX1.25XCYCLEA

=1.25XICAXCYCLEA>Te_A

顯然A機(jī)器快一些。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)18

例題選講(5)

?例1.5(P12)

Te公式,改動(dòng)上題中CYCLEB=1.1XCYCLEA,則最后

Te_B=1.25XICBxCYCLEB

=1.25X80%XICAX1.1XCYCLEA

=1.1XICAxCYCLEA<Te_A

這時(shí)B機(jī)器快一些。

Sn.

?題12(P33)20------------------------

zI

Amdahl定律公式,代入已知量/\

?/{

Se=20變成一元函數(shù)10.5/

Z/

Sn=20/(20-19Fe)/1/]

用三點(diǎn)作圖法作出關(guān)系曲線。L8/'J:

1------------1_

00.51Fe

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)19

例題選講(6)

?題13(P33)

Amdahl定律公式,代入已知量Se=20,Sn=2,解出Fe=10/19

?題14(P33)

Amdahl定律公式,代入已知量Se=20,Sn=10,解出Fe=18/19

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)20

本章小結(jié)

本章從定性知識(shí)和定量知識(shí)兩個(gè)方面介紹計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的基本概

念。有關(guān)重點(diǎn)如下:

(1)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的廣義定義與狹義定義(9項(xiàng)內(nèi)容),計(jì)算機(jī)系統(tǒng)結(jié)

構(gòu)與計(jì)算機(jī)組成的主要分工;

(2)計(jì)算機(jī)系統(tǒng)的多級層次模型(6級),以及基于該模型的透明性判斷

方法;

(3)計(jì)算機(jī)實(shí)現(xiàn)、計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的主要思路、模擬、仿真、虛擬機(jī)、

宿主機(jī)、系列機(jī)、兼容性、并行性等重要名詞的含義;

(4)馮.諾依曼型機(jī)器的7個(gè)特點(diǎn);

(5)現(xiàn)代計(jì)算機(jī)系統(tǒng)分類的Flynn法(4類);

(6)Amdahl定律;

(7)平均周期數(shù)CPI公式,程序執(zhí)行時(shí)間Te公式;

(8)每秒百萬指令數(shù)MIPS公式,每秒百萬浮點(diǎn)數(shù)MFLOPS公式。

習(xí)題:P33,題15,題19;P392,題10,題11,題12。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)21

第二章指令系統(tǒng)(P36)

本章介紹指令系統(tǒng)設(shè)計(jì)中2個(gè)最基本的內(nèi)容:數(shù)據(jù)表示、操作碼優(yōu)

化。

2.1數(shù)據(jù)表示

[數(shù)據(jù)表示]就是計(jì)算機(jī)硬件能夠直接辨認(rèn)與處理的數(shù)據(jù)類型。

人們通常使用的數(shù)據(jù)類型有整數(shù)、實(shí)數(shù)、邏輯數(shù)(布爾數(shù))、字符串、

隊(duì)列、堆棧、鏈表、文件等,它們的運(yùn)算方法各不相同。

所謂“硬件能夠直接辨認(rèn)與處理”,指的是對該數(shù)據(jù)類型的各種運(yùn)

算操作都有相應(yīng)的實(shí)現(xiàn)硬件電路。

硬件不能直接辨認(rèn)與處理的數(shù)據(jù)類型就要根據(jù)數(shù)據(jù)結(jié)構(gòu)的知識(shí)編制

軟件轉(zhuǎn)化為硬件能處理的數(shù)據(jù)類型。

下面介紹通用型計(jì)算機(jī)數(shù)據(jù)表示集合中的一個(gè)基本成員——浮點(diǎn)

數(shù)據(jù)的分析與設(shè)計(jì)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)22

2.1.1浮點(diǎn)數(shù)據(jù)表示(P38,P39)

浮點(diǎn)數(shù)據(jù)就是高級語言課程中所說的“實(shí)型數(shù)”。

2.1.1.1浮點(diǎn)數(shù)的組成

浮點(diǎn)數(shù)的組成與人們通常所說的“科學(xué)記數(shù)法”非常相似,唯一不同的是各部分

均為有限位數(shù),如下所示

N=mxr^

它的主要參數(shù)有8個(gè):

m——尾數(shù),一般為純小數(shù),符合規(guī)格化原則(即最高位的絕對值不為0),

用泵碼或補(bǔ)碼表示;

e——階碼,整數(shù),常用移口表示(見下文解釋);

rm——尾數(shù)的基值,簡稱尾基,常見的有2進(jìn)制、8進(jìn)制、16進(jìn)制、10進(jìn)制等,

選定以后不變;

re——階碼的基值,簡稱階基,目前都采用2,也是選定以后不變;

P—尾數(shù)的位數(shù),未將符號位計(jì)入;

q—階碼的位數(shù),未將符號位計(jì)入。

mf——尾數(shù)的符號,表示數(shù)的正負(fù),簡稱數(shù)符;

ef——階碼的符號,表示階碼的正負(fù),簡稱階符。但對移碼表示來說,這僅僅

是額外的1位2進(jìn)制數(shù),不決定正負(fù)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)23

移碼(P41)

移碼是一種2進(jìn)制記數(shù)方法,它的真值等?「相同編碼的無符號數(shù)加1

危d。例如,同樣是2進(jìn)制編碼000000?111111,看作6位無符號數(shù)時(shí)的取值范圍是0

?63,而看作6位移-10碼的取值范圍就是-10?53O如下圖所示。

圖2.1移碼與無符號數(shù)的比較實(shí)例

移碼是一種有符號數(shù),但它的最高位通常不決定數(shù)的正負(fù),不應(yīng)稱為符號位。它的

獨(dú)特之處在于其最小取值的2進(jìn)制編碼是全0,這給機(jī)器零的判斷和處理電路設(shè)計(jì)帶來

很大方便。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)24

2.1.1.2浮點(diǎn)數(shù)的機(jī)內(nèi)格式(P39)

一種浮點(diǎn)數(shù)中每個(gè)數(shù)據(jù)的尾基:、階基心都是相同的,在設(shè)計(jì)運(yùn)

算電路已經(jīng)作為默認(rèn)值來使用,各個(gè)具體數(shù)據(jù)在存儲(chǔ)時(shí)只需要存入

如下參數(shù)即可:

各字段位數(shù):1位1位階碼q位尾數(shù)P位

e

mff?q-1.........e0??m[??????nip

對應(yīng)位的權(quán):....r°4%一1.........r-p

VzDe1111m11

隱含小數(shù)點(diǎn)

圖2.2浮點(diǎn)數(shù)的機(jī)內(nèi)格式

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)25

2.1.1.3浮點(diǎn)數(shù)的性能(P38)

浮點(diǎn)數(shù)的性能主要用表數(shù)范圍、表數(shù)精度和表數(shù)效率來刻畫,下面分別進(jìn)行分析。

(1)表數(shù)范圍(P39)

表數(shù)范圍由這樣一些參數(shù)構(gòu)成:最小負(fù)數(shù)、最大負(fù)數(shù)、最小正數(shù)、最大正數(shù)、

最小絕對值|用品、o它們幾何意義可以在數(shù)軸上表示,如下圖。

最小負(fù)數(shù)最大負(fù)數(shù)0最小正數(shù)最大正數(shù)

圖2.3數(shù)軸上的表數(shù)范圍示意圖

圖中陰影部分為浮點(diǎn)數(shù)的表數(shù)范圍。

根據(jù)浮點(diǎn)數(shù)的組成表達(dá)式可知,圖2.3中4個(gè)邊界值分別由尾數(shù)小階碼e各自的

邊界值兩兩組合而成,如下所示。

最大支數(shù)一最大正尾數(shù)/最大階碼;

最小正數(shù)----最小正尾數(shù)/最小階碼;

最大負(fù)數(shù)一最大負(fù)尾數(shù)/最小階碼;

最小負(fù)數(shù)一最小負(fù)尾數(shù)/最大階碼。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)26

?例2.1

對規(guī)格化浮點(diǎn)數(shù),尾數(shù)為原碼,階碼為移-琮碼,寫出表數(shù)范圍。(P40)

解:由于原碼在數(shù)軸的零點(diǎn)兩邊對稱分布,即最大正數(shù)與最小負(fù)數(shù)的絕對值相

等、最小正數(shù)與最大負(fù)數(shù)的絕對值相等,所以可以用最小、最大絕對值來描述

它的分布。

首先根據(jù)圖2.2和式2.1以及移碼的基本定義,可以確定絕對值的極值表達(dá)式:

又?儲(chǔ)=(1一北p),e=2r^-1-d,/.\N\=(1_%.).琮

maxm1THXeIImaxmm

寫在一起就是:

]dp2re

rm.r~m<N<v(\—rm~)-rm

再用階碼的偏移量代換式中的-d得:

1?L

mmII、m7m

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)27

可以代入具體數(shù)字來幫助理解:

設(shè)心=10,2=4,r=10,q=3。

按此題約定,-d=-IO',于是有:

m=101,e.=—d=—103,=101-1010,如下圖所示。

minmnIlimn

1位1位階碼3位尾數(shù)4位

X0000..1000

m=(l-10-4),e=2-103-l-6Z=2-103-l-103=103-l,

irax/m3*

N=(1-10—4).如下圖所示。

max

1位1位階碼3位尾數(shù)4位

X1999..9999

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)28

(2)表數(shù)精度(P42)

表數(shù)精度用最大表數(shù)誤差表示(指數(shù)軸

相對誤差);—I---------------?---------------1——I

最大絕對誤差是真實(shí)值與可表示值Nk真實(shí)值xNk+i

之間的可能最大距離,也就是相鄰兩

個(gè)可表示值間距的1/2,如圖2.4所示

0根據(jù)浮點(diǎn)數(shù)的組成式有其定義:圖2.4最大絕對誤差示意圖

5——(N1,,—TV,)=—(m,,,—m,)xr£=—xr~pxre

1mxCvk+14/C'k+\mCmm

顯然它隨著階碼e增大而增大,不是一個(gè)定數(shù)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)29

最大相對誤差與階碼e無關(guān),但與尾數(shù)m的值有關(guān)。它的定義是

xr

5m11

__maxxr

幾X=

klmX琮2Xm

上式中,當(dāng)分母加取最小值時(shí)分式值達(dá)到最大。

1

由于二小巾,所以最大相對誤差上限為口,"產(chǎn)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)30

(3)表數(shù)效率(P45)

定義:

,、其中規(guī)格化浮點(diǎn)數(shù)個(gè)數(shù)2.(r-l).rf-1-2-^+1r-l1

77(r)=----------------------------------=------7---------------------------、m---=1

m

可以生成的浮點(diǎn)數(shù)個(gè)數(shù)2?r:2-r;rmr

此式說明效率之所以低于100%,是因?yàn)橐?guī)格化的尾數(shù)最高位叫只能有

%T種取值的緣故。可以看出,〃的極小值與極大值分別是

2-1

7(2)=——=50%,lim77(%)=100%

[隱藏位技術(shù)]是一種提高表數(shù)效率的方法,但僅適用于r:2的情況:

尾數(shù)最高位叫在二進(jìn)制條件下只有0和1兩種可能,按照規(guī)格化要求,

叫可由其它位推出,。“隱藏”了叫之后,尾數(shù)只存儲(chǔ)后面pT位,

它們中的任一位都有1m種取值,所以表數(shù)效率幾=100%。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)31

2.3指令格式的優(yōu)化(P90)

2.3.2操作碼優(yōu)化

目前常用的編碼方法有3種:定長編碼,Huffman編碼,擴(kuò)展編碼。

2.3.2.1定長編碼就是所有指令使用相同的代碼位數(shù),其最小碼長等于

L=L=[Log2n]

式中了是平均碼長,/,是第i種指令的碼長,n是指令總數(shù)。

?例2.2

已知n=15,求定長編碼的最小平均碼長。

解:_

L=[Log215~]=4

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)32

2.2.1.1Huffman壓縮編碼(P91)

(1)Huffman壓縮概念(最佳編碼定理):當(dāng)用n個(gè)長度不等的代碼分別代表n種

發(fā)生概率不等的事件時(shí),按照短代碼給高概率事件、把長代碼給低概率事

件的原則分配,可使平均碼長達(dá)到最低。

(2)Huffman編碼方法

這種編碼方法由兩個(gè)過程組成。

頻度合并:將全部n個(gè)事件(在此即為n條指令)的頻度值排序,選取

其中最小的2個(gè)頻度合并,然后將剩下的nT個(gè)頻度再次排序,再合并最小

的2個(gè)頻度,如此重復(fù),直至剩下1個(gè)頻度為止。記錄所有的合并關(guān)系,形

成一棵二叉樹----Huffman樹,所有原始頻度值充當(dāng)樹葉,而最后剩下的

總頻度1為樹根;

碼元分配:從樹根開始,對每個(gè)中間結(jié)點(diǎn)的左右2個(gè)分支邊各賦予一

位代碼“0”和“1”(“0”在哪一側(cè)不限)。讀出從根結(jié)點(diǎn)到任一片樹葉

的路徑上依次出現(xiàn)的代碼位就排成了這個(gè)事件(即指令)的完整編碼。由

于頻度高的事件較晚被合并,它的編碼位數(shù)也就較少,符合Huffman壓縮原

則。

上面所說的頻度值就是各事件實(shí)際出現(xiàn)次數(shù)的百分比,它是理論出現(xiàn)概率

的dfi似值。計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)33

(3)編碼方法性能指標(biāo)(P91-P93)

信息量:根據(jù)信息論的基本知識(shí),在n種可能發(fā)生的事件集合中,報(bào)告第i

種事件發(fā)生的消息中包含的信息量為

4T0ga(')=-10ga4

其中Pi是第i種事件發(fā)生的先驗(yàn)概率,a是編碼基值。信息量的單位是表示位

數(shù)(最少所需位數(shù))。

這個(gè)定義式表明事件的發(fā)生概率越低,關(guān)于它的消息中的信息量越大

O

?嫡(entropy)----平均信息量:一個(gè)消息源對n種事件發(fā)布的消息的信息

量平均值,記為

nn

■=—?,)=—匯[4?bg〃(4)]

i=li=l

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)34

?平均碼長:各事件編碼長度的數(shù)學(xué)期望。

Z=£(K)

Z=1

?信息冗余昌:它表明消息編碼中“無用成分”所占的百分比。

L-H

RxlOO%

L

從減少存儲(chǔ)與傳輸量的角度看,編碼方法的平均碼長越短越好。但是平

均碼長不可能無限制縮短,它的下限就是嫡(即R二0時(shí))。如果短于燧就一

定會(huì)丟失有用信息(即混淆不同指令),這是不允許的。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)35

2.2.1.2擴(kuò)展編碼方法(等長擴(kuò)展法,P93)

?用碼長表示:例如4-8-12法。這并不能說明具體編碼方法,例如

下面兩種編碼方法都是4-8-12法。

?用碼點(diǎn)數(shù)表示:例如15/15/15法,8/64/512法

-15/15/15法,每一種碼長都有4位可編碼位(前頭可以有相同

的擴(kuò)展標(biāo)識(shí)前綴),可產(chǎn)生16個(gè)碼點(diǎn)(即編碼組合),但是

至多只能使用其中15個(gè)來表示事件,留下1個(gè)或多個(gè)碼點(diǎn)組合

作為更長代碼的擴(kuò)展標(biāo)識(shí)前綴。已經(jīng)用來表示事件的碼點(diǎn)組

合不能再作為其它更長代碼的前導(dǎo)部分,否則接收者會(huì)混淆。

這就是“非前綴原則”。

-8/64/512法,每一種碼長按4位分段,每一段中至少要留下1

位或多位作為擴(kuò)展標(biāo)識(shí)。各段剩下的可編碼位一起編碼,所

產(chǎn)生的碼點(diǎn)用來對應(yīng)被編碼事件。每一段中的標(biāo)識(shí)位指出后

面還有沒有后續(xù)段。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)36

?例2.3

已知頻度序列為0.00.1,0,15,0.15,0.2,0.3,求Huffman編碼、等

長擴(kuò)展3/3/3碼、定長編碼、三者的平均碼長、信息冗余量以及嫡。

解:

燧H=

-(2X0.1Xlog20.1+2X0.15Xlog20.15+0.2Xlog20.2+0.3Xlog20.3)

=2.47

根據(jù)Huffman編碼方法作Huffman樹如圖2.5所示,三種編碼方法的結(jié)果列于

表2.1中。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)37

表2.1Huffman編碼、等長擴(kuò)展3/3/3碼及定長編碼

指令14:5

I1121316

頻度0.1。10.15。15。20.3

Huffman碼0000011001010111

平均碼長£=2.5,信息冗余量R—1.2%

3/3/3碼111011011100100100

平均碼長/=2.7,信息冗余量R—7.5%

定長編碼000001010011100101

平均碼長£=3.0,信息冗余量RQ17.7%

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)38

2.2.2操作數(shù)優(yōu)化尋址方式比較(P95)

指令中操作數(shù)占用的位數(shù)由操作數(shù)的個(gè)數(shù)與尋址方式?jīng)Q定。

按操作數(shù)的個(gè)數(shù)劃分,有零操作數(shù)指令、一操作數(shù)指令、二操作

數(shù)指令、三操作數(shù)指令共四種形式。應(yīng)該按機(jī)器用途來選擇(P99,

表2.20)o

縮短操作數(shù)長度的常用方法是間址和變址(P99頁末)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)39

本章小結(jié)

本章主要內(nèi)容有數(shù)據(jù)表小和操作碼優(yōu)化兩個(gè)部分。具體細(xì)節(jié)如下:

(1)浮點(diǎn)數(shù)的表數(shù)范圍(在數(shù)軸上的4個(gè)端點(diǎn))、表數(shù)精度3、表數(shù)效率中

(2)Huffinan編碼方法;

(3)等長擴(kuò)展編碼方法(15/15/15法,8/64/512法);

(4)編碼方法性能指標(biāo)(嫡H,平均碼長匚,信息冗余量R)。

習(xí)題:P124,題3(忽略P124倒1行?P125第8行文字),題13。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)40

第三章存儲(chǔ)系統(tǒng)(P130)

長期存在的問題:在合理的總價(jià)格限制下,單純性主存設(shè)備的速

度跟不上CPU的發(fā)展,容量不能滿足軟件尺寸擴(kuò)大。

本章學(xué)習(xí)兩種提高主存系統(tǒng)性能/價(jià)格比的結(jié)構(gòu)化方法:

器與存儲(chǔ)層次技術(shù)。后者為主。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)41

3.1并行存儲(chǔ)器(P136)

并行存儲(chǔ)器技術(shù)可以提高主存系統(tǒng)的整體等效速度,實(shí)際應(yīng)用中,

常將它與存儲(chǔ)層次技術(shù)組合使用,可以互為補(bǔ)充,獲得很高的性能。

并行存儲(chǔ)器技術(shù)的基本思想是用多個(gè)獨(dú)立的存儲(chǔ)部件組成土存系

統(tǒng),讓它們并行工作,在一個(gè)存儲(chǔ)周期內(nèi)可以訪問到多個(gè)數(shù)據(jù),從

而實(shí)現(xiàn)較高的存取流3。

并行存儲(chǔ)器包括多種類型,我們僅介紹提高訪問速度效果最顯著

的低位交叉訪問這一種。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)42

低位交叉訪問并行存儲(chǔ)器的結(jié)構(gòu):

它由n個(gè)存儲(chǔ)體組成(一般n為2的整次塞),每個(gè)體均有獨(dú)立的地址譯

碼器和數(shù)據(jù)緩沖器,以主存地址低位字段(最低的logm位)作為體選譯

碼信號,而剩下的高位字段則是體內(nèi)地址。如圖所示(設(shè)n=4)o

地址總線

數(shù)據(jù)總線

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)43

主存地址與結(jié)構(gòu)參數(shù)的換算(P139):

求主存地址:A=nxj+k

求結(jié)構(gòu)參數(shù):j=一,k=Amodn

其中:n——存儲(chǔ)體個(gè)數(shù),A——主存地址,

j---體內(nèi)地址,k-----體序號(k=0,1,2,n-1)

?例3.1

已知n=4,問主存地址13是在幾號體的幾號單元?

解:

由于n=4,體選譯碼信號使用主存地址的最低log2n=2位,所以地

址13(其二進(jìn)制為1101B)對應(yīng)的體號k=1(即01B)、體內(nèi)地址j=3(

即11B),也就是說,地址13位于1號體的3號單元(參看前一頁插圖)。

根據(jù)上式,所有k值(即體號)相同的地址之間均相差n的整倍數(shù)

,稱之為“模n同余”。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)44

低位交叉訪問并行存儲(chǔ)器的加速機(jī)理:

我們衡量存儲(chǔ)器件速度的常用指標(biāo)是存儲(chǔ)周期Tm,它是同一存儲(chǔ)單元連續(xù)兩

次啟動(dòng)的最小時(shí)間間隔,數(shù)值越小表明存儲(chǔ)器件速度越快。

傳統(tǒng)存儲(chǔ)系統(tǒng)只有一套地址譯碼器和數(shù)據(jù)緩沖器,所以各單元必須串行工作

,也就是說每個(gè)Tm周期內(nèi)至多只能完成一次訪問。

由多個(gè)存儲(chǔ)體構(gòu)成的并行存儲(chǔ)器中,各個(gè)存儲(chǔ)體都有獨(dú)立的地址譯碼器和數(shù)

據(jù)緩沖器,它們可以并行工作,使得一個(gè)Tm周期內(nèi)可完成多次訪問,相當(dāng)于加

速了多倍。最好情況下一個(gè)Tm周期內(nèi)可完成n次訪問。

當(dāng)前Tm周期中只要發(fā)現(xiàn)有一個(gè)新的訪問地址與前面地址屬于同一個(gè)存儲(chǔ)體,

該地址及其后面的地址就會(huì)被阻塞(稱為訪存沖突),留到下一個(gè)Tm周期訪問。

機(jī)器地址序列常常具有順序性,按照低位交叉的規(guī)律分配地址可使相繼出現(xiàn)

的地址落在相同存儲(chǔ)體的概率降到最低(參見上圖)。

考慮到地址總線與數(shù)據(jù)總線的擁擠問題,一個(gè)Tm周期里發(fā)送的多個(gè)訪問請求

最好彼此錯(cuò)開Tm/n時(shí)間,如P140圖3.11所示,否則實(shí)現(xiàn)的復(fù)雜度會(huì)增加。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)45

計(jì)算平均加速倍數(shù)(P141):

1.只考慮取指地址序列(假設(shè)地址順序

遞增,直至出現(xiàn)一條轉(zhuǎn)移指令):

冗J二(1二g)一(n41倒數(shù)第一行)

g

其中g(shù)是指令序列中出現(xiàn)轉(zhuǎn)移指令的概

率。此公式在右圖中用綠線表示。

2.只考慮取數(shù)地址序列(假設(shè)地址完全

隨機(jī))

K—」nx/r/2—0.28

此公式在右圖中用表示。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)46

例題:P203,題5

解:已知冗=匕支出,其中g(shù)=0.1,依題意有

g

——l-(l-g)z?+1——1—(1—g)"

K「—-―2—>K+0.2=―-—―+0.2

九十1n

gg

得0.9”>0.2,角星出〃〈思《15.28

1g0.9

向下取整,得15。取〃+1=16也對(文字理解差異)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)47

3.2存儲(chǔ)層次原理及性能指標(biāo)

3.2.1基本原理

?定義:(參見P131第二段)

由2種或多種存儲(chǔ)部件構(gòu)成的復(fù)合存儲(chǔ)系統(tǒng),通

過內(nèi)部管理機(jī)構(gòu)的自動(dòng)更換機(jī)制,能夠不斷將大容r

量低速存儲(chǔ)部件中的活躍內(nèi)容復(fù)制到小容量高速存

儲(chǔ)部件中(后者作為前者的局部副本)。

它既能滿足CPU的快速存取需要,又有很大的存

儲(chǔ)容量,平均單位價(jià)格也很低,等效于同時(shí)滿足3

方面要求的理想單一存儲(chǔ)部件。

Mn

?依據(jù):程序訪問的局部化原理(時(shí)間局部化,空

圖3.3存儲(chǔ)層次模型

間局部化)。

?模型:如右圖所示,存儲(chǔ)層次由n層組成,

滿足3個(gè)不等式:Ti<Ti+1,Si<Si+1,Ci>ci+1o

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)48

3.2.2性能指標(biāo)(P132-P134)

(1)容量:s=s2(理論上)

(2)單價(jià):(美分/bit)

5

,G+

G?S]+?S2S

c=------------------=―:2

S[+邑

S?

它的最小值是lim。=02

色一。

S]

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)49

(3)速度:表現(xiàn)訪問速度的參數(shù)很多

?命中率:反映被訪問數(shù)據(jù)事先已在此的發(fā)生概率

H=-----1—,O<H<1

N'+N?

?等效訪問時(shí)間:命中時(shí)的訪問時(shí)間為不命中時(shí)的訪問時(shí)間為丁2,等效

訪問時(shí)間則是它們的概率均值

T=H?T]+Q_H)T2

lim7=不

“fl00%

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)50

?訪問效率:這是一個(gè)相對值,便于不同系統(tǒng)之間的比較。

e=一

T

1

1

r+(l-r)-7f

H和r對e的作用

(廠是鄰級速度比)。

其中04e<Lr^>1

T\

訪問效率e受H和r的影響(參見右圖):

rT->eO

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)51

?Cache預(yù)取技術(shù)對命中率的提高作用(P134):

這里所說的“預(yù)取”技術(shù),并不是根據(jù)對程序執(zhí)行的未來趨勢進(jìn)行

猜測以提前調(diào)入數(shù)據(jù),而僅僅是在發(fā)生不命中情況時(shí)把調(diào)入1個(gè)數(shù)據(jù)

字改為調(diào)入1個(gè)數(shù)據(jù)塊的策略。根據(jù)程序的局部化原理,在當(dāng)前使用

數(shù)據(jù)周圍的其它數(shù)據(jù)未來被使用的幾率大于遠(yuǎn)處數(shù)據(jù),所以該數(shù)據(jù)塊

中被提前調(diào)入的鄰近數(shù)據(jù)很可能成為未來的命中點(diǎn),從而提高命中率

O

采用這種預(yù)取技術(shù)后新的命中率為

其中:H——原命中率(即按照不命中時(shí)取入1字的策略);

出——新命中率(即按照不命中時(shí)取入1塊的策略);

n——每塊數(shù)據(jù)平均被訪問次數(shù)。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)52

H,的推導(dǎo):

N.

按照定義,原不命中率1—H=——--,新不命中率

N、+N2

N,

T—H'=-----------,并且有No

Ni'+N:1212

由于預(yù)取使得每塊數(shù)據(jù)中的不命中次數(shù)由n次降低到1次,所以有

入丁N.1-H

N2——N20此式可改寫為n=-----=---------

nN:\—H'

整理得H,=Ho

n

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)53

?加速比(P193)

Cache-主存層次的主要作用是提高訪問速度,系統(tǒng)的等效速度應(yīng)

高于主存(即M2)的原有速度,兩個(gè)速度之比稱為加速比。

§—等效速度—時(shí)間%

P~河2速度一等效時(shí)間一T

H工"一切工

1

Q—H)+H/r

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)54

?增加中間層對e的影響

?例3.2

有一個(gè)109字節(jié)的程序被裝

入右圖所示的M3準(zhǔn)備運(yùn)行。

假定指令字長二1字節(jié),程序

中無轉(zhuǎn)移指令和內(nèi)存讀/寫指

令。

(b)

(1)按圖(a)求T和e;

⑵按圖(b)推導(dǎo)三層體系的T公式;

(3)按圖(b)求T和e;

(4)比較(1)(3)結(jié)果,有何結(jié)論?

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)55

解:

103-11

(1)=——,\-H=-

IO3YIO3

T=HM+Q-H)TB3

1O3-11103+102-l

=---------------xlOOzzs1=-----------usx(1+10%)-7]

103103103

Ty

T

Q)T=H\T[+Q-H\).T2

T?—H2,TB2+(1—H〉TB3

由上面2式有

T=H-7]+(1——H2)?圖3〕

=H]11+Q_H)H2.TB2+Q_H)Q_H2)?TB3

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)56

103-11

(3)H=——1-H=

210392103

103-11-103-11

T=------xljUS+—rXxlO/ZS,H------x100//5

103103io3103

106+104-103+102-10

跖。(i+i%)N

106

?99%

T

(4)結(jié)論:插入中間層后,層間速度差減少,訪問效率提高。

習(xí)題:P202,題3。

2001.9.1計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)57

存儲(chǔ)層次的管理方式(P148)

根據(jù)程序的局部化性質(zhì),存儲(chǔ)層次機(jī)構(gòu)對用戶文件的管

溫馨提示

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

最新文檔

評論

0/150

提交評論