第02章 計(jì)算機(jī)中的q信息表示_第1頁
第02章 計(jì)算機(jī)中的q信息表示_第2頁
第02章 計(jì)算機(jī)中的q信息表示_第3頁
第02章 計(jì)算機(jī)中的q信息表示_第4頁
第02章 計(jì)算機(jī)中的q信息表示_第5頁
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章計(jì)算機(jī)中的信,量表示

計(jì)算機(jī)中兩類信息流:數(shù)據(jù)流和控制流

本章考察數(shù)據(jù)信息和控制信息的表示

第2章計(jì)算機(jī)中的信里表示

基本知識(shí)點(diǎn):

機(jī)器數(shù)的概念;

原碼、補(bǔ)碼、真值之間的轉(zhuǎn)換;

定點(diǎn)和浮點(diǎn)數(shù)的表示、表示范圍;

指令的格式、尋址方式、尋址范圍、操作碼

擴(kuò)展技術(shù);

指令系統(tǒng)的設(shè)計(jì)

第2章計(jì)算機(jī)中的信息表示

重點(diǎn):定點(diǎn)、浮點(diǎn)數(shù)的表示;操作碼擴(kuò)展技

術(shù);指令系統(tǒng)的設(shè)計(jì)

難點(diǎn):浮點(diǎn)數(shù)的IEEE754格式表示,定點(diǎn)和

浮點(diǎn)數(shù)的表示范圍,浮點(diǎn)數(shù)的規(guī)格化問題,

操作碼擴(kuò)展技術(shù),指令系統(tǒng)的設(shè)計(jì)

第2章計(jì)算機(jī)中的信息表示

2.1數(shù)值型數(shù)據(jù)的表示方法

一個(gè)數(shù)值型數(shù)據(jù)的完整表示包含如下幾個(gè)方

面:

,采用何種進(jìn)位計(jì)數(shù)制

?符號(hào)位的處理

?小數(shù)點(diǎn)的處理

?尾數(shù)的處理

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.1進(jìn)位計(jì)數(shù)制

構(gòu)成進(jìn)位計(jì)數(shù)制的基本要素:

?基數(shù)r

?各數(shù)位的權(quán)值i

工計(jì)算機(jī)中的常用進(jìn)位計(jì)數(shù)制

,二進(jìn)制

?八進(jìn)制

?十六進(jìn)制

?二—十進(jìn)制(BCD碼)

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.1進(jìn)位計(jì)數(shù)制

2.各種進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換

(1)十進(jìn)制整數(shù)一二進(jìn)制整數(shù)

?減權(quán)定位法

,除基取余法

⑵十進(jìn)制小數(shù)一二進(jìn)制小數(shù)

?減權(quán)定位法

-乘除基取整法

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.1進(jìn)位計(jì)數(shù)制

2.各種進(jìn)位計(jì)數(shù)制間的轉(zhuǎn)換

⑶二進(jìn)制整數(shù)一十進(jìn)制整數(shù)

?按權(quán)相加法

,逐次乘基相加法

(4)二進(jìn)制小數(shù)T十進(jìn)制小數(shù)

?按權(quán)相加法

?逐次除基相加法

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.2帶符號(hào)數(shù)的表示

真值

用正負(fù)符號(hào)加絕對(duì)值表示數(shù)值

機(jī)器數(shù)

在計(jì)算機(jī)中使用的連同數(shù)符一起數(shù)字化了的

數(shù)

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.2帶符號(hào)數(shù)的表示

?真值一機(jī)器數(shù)要解決的問題

*只能采用二進(jìn)制

*符號(hào)位的數(shù)字化

?小數(shù)點(diǎn)的處理

,數(shù)值部分的數(shù)字化表示

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.2帶符號(hào)數(shù)的表示

1.原碼表示法(符號(hào)■幅值表示法)

約定:

數(shù)碼序列中的最高位為符號(hào)位,符號(hào)位為0

表示該數(shù)為正)為1表示該數(shù)為負(fù);其余有

效數(shù)值部分則用二進(jìn)制的絕對(duì)值表示。

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.2帶符號(hào)數(shù)的表示

(1)定點(diǎn)數(shù)原碼定義式:

,定點(diǎn)小數(shù)

若定點(diǎn)小數(shù)的原碼序列為

X0.X1X2……Xn,貝

-X1>X>0

原l-X=l+|X|O>X>-1

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.2帶符號(hào)數(shù)的表示

(1)定點(diǎn)數(shù)原碼定義式:

?定點(diǎn)整數(shù)

若定點(diǎn)整數(shù)的原碼序列為

X/n-l……X%,則

2n>X>0

L2n-X=2n+|X|0>X>-2n

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.2帶符號(hào)數(shù)的表示

⑵原碼特點(diǎn)

?數(shù)值0在原碼表示中可以有兩種形式)可稱

為+0與-0,但真值含義相同;

?符號(hào)位不是數(shù)值的一部分,是人為約定“0

正1負(fù)”,不能作為數(shù)值的一部分直接參加運(yùn)

算,需要單獨(dú)處理;

?對(duì)于小數(shù),1>X>-1;對(duì)于整數(shù)2n>X>-2n;

?用絕對(duì)值表示數(shù)值)直觀)乘除運(yùn)算簡(jiǎn)單

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.2帶符號(hào)數(shù)的表示

2.補(bǔ)碼表示法

(1)補(bǔ)碼定義

?通式[X]補(bǔ)=乂+乂(modM)數(shù)X對(duì)模"的補(bǔ)

數(shù)稱作其補(bǔ)碼

若X>0,則模M作為正常溢出量可以舍去。

因而正數(shù)的補(bǔ)碼就是其本身,形式上與原碼

相同。

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.2帶符號(hào)數(shù)的表示

2.補(bǔ)碼表示法

(1)補(bǔ)碼定義

?若定點(diǎn)小數(shù)的補(bǔ)碼序列為x0.X1X2……Xn,貝”

「1X1>X>0

X、L=f

補(bǔ)12+X=2-|X|O>X>-1

?若定點(diǎn)整數(shù)的補(bǔ)碼序列為X/nT……X1X。,則

[X2n>X>0

補(bǔ)I2n+i+X=2n+i—|X|0>X>-2n

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.2帶符號(hào)數(shù)的表示

2.補(bǔ)碼表示法

⑵對(duì)補(bǔ)碼的一種理解方法:

值盒子(valuebox)

盒子的最右端是1(2。),往左一個(gè)連續(xù)位置其

值加倍,直到最左端,但最左端的值是負(fù)的

-1286432168421

一個(gè)8位置的2的補(bǔ)碼值盒

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.2帶符號(hào)數(shù)的表示

2.補(bǔ)碼表示法

⑵值盒子(valuebox)

-1286432168421

10000011

-128+2+1=-125

]尋二進(jìn)制10000011轉(zhuǎn)換成十進(jìn)制

-1286432168421

10001000

-120=-128+8

修十進(jìn)制■120轉(zhuǎn)換成二進(jìn)制

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.2帶符號(hào)數(shù)的表示

2.補(bǔ)碼表示法

⑶由真值、原碼轉(zhuǎn)換為補(bǔ)碼

?正數(shù)的補(bǔ)碼表示與原碼相同。

?負(fù)數(shù)方法1:變反加1

?負(fù)數(shù)方法2:符號(hào)位不變,尾數(shù)部分自低

位向高位)第一個(gè)1及之后的0維持不變,

其余各位變反。

(4)由補(bǔ)碼表示轉(zhuǎn)換為真值、原碼

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.2帶符號(hào)數(shù)的表示

2.補(bǔ)碼表示法

⑸補(bǔ)碼特點(diǎn)

?最高位表示數(shù)的正負(fù)(0正1負(fù));

?能夠化減為加(負(fù)數(shù)映射到正數(shù)域);

?需要解決負(fù)數(shù)求補(bǔ)的問題;

?數(shù)0只有一種表示;

?表示范圍比原碼稍寬;

?位長(zhǎng)度擴(kuò)展:用符號(hào)位填充

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.2帶符號(hào)數(shù)的表示

3.反碼表示法

?若定點(diǎn)小數(shù)的反碼序列為X0.X/2……Xn,則

兇{X1>X>O

I2-2-n+XO>X>-1

?若定點(diǎn)整數(shù)的反碼序列為XnXnT……X%,則

「VI_fx2n>X>0

[X]反—I

L2升1-l+x0>X>-2n

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

1.定點(diǎn)表示法

定點(diǎn)數(shù):小數(shù)點(diǎn)位置固定不變的數(shù)

定點(diǎn)數(shù)是各種數(shù)據(jù)類型中最簡(jiǎn)單、最基本的

一種數(shù)據(jù)表示,用于表示二進(jìn)制形式具有固

定比例換算的量。

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

1.定點(diǎn)表示法

分類:小數(shù)點(diǎn)固定在最低位右邊的數(shù)稱為定

點(diǎn)整數(shù);小數(shù)點(diǎn)固定在最高數(shù)據(jù)位的左邊,

稱為定點(diǎn)小數(shù)。定點(diǎn)數(shù)可以表示為帶符號(hào)的

或不帶符號(hào)的數(shù)。

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

1.定點(diǎn)表示法

(1)無符號(hào)定點(diǎn)整數(shù)

設(shè)代碼序列為:XnXn_T……X^o,

典型值真值代碼序列

最大正數(shù)2n+1-11111

非零最小正數(shù)10001

表示范圍:0~2n+J1;分辨率:1

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

⑵帶符號(hào)定點(diǎn)整數(shù)

設(shè)代碼序列為:XnXn_T……X^o,Xn為符號(hào)位

原碼補(bǔ)碼

典型值

真值代碼序列真值代碼序列

最大正數(shù)2n-l01112n-l0111

非零最小正數(shù)1000110001

絕對(duì)值最大負(fù)數(shù)-(2n-l)11?…?11-2n1000

絕對(duì)值最小負(fù)數(shù)-11001-11111

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

⑶帶符號(hào)定點(diǎn)小數(shù)

設(shè)代碼序列為xo.X2X2……XTXn,X。為符號(hào)位

原碼補(bǔ)碼

典型值

真值代碼序列真值代碼序列

最大正數(shù)1-2-00.1???11l-2n0.1?11

非零最小正數(shù)2-n0,0012-n0.001

絕對(duì)值最大負(fù)數(shù)1.1-11-11.000

絕對(duì)值最小負(fù)數(shù)-2~n1.001-2~n1.1-11

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

2.浮點(diǎn)表示法

(1)浮點(diǎn)數(shù)格式(原理性)

N=tRExM其中:

N:真值RE:比例因子

E:階碼R:階碼的底

M:尾數(shù)一般采取規(guī)格化的約定

<、j<、>

階碼磐尾數(shù)

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

2.浮點(diǎn)表示法

⑵移碼(增碼)

設(shè)移碼序列為(…XiXo,則

乂移=2m+X-2m<X<2m

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

例:真值、原碼、補(bǔ)碼、移碼對(duì)照

(8位,1位符號(hào)位)

十進(jìn)制真值二進(jìn)制真值原碼補(bǔ)碼移碼

-128-10000000無1000000000000000

-127-01111111111111111000000100000001

???

-1-00000001100000011111111101111111

+0(-0)000000000(1)00000000000000010000000

+100000001000000010000000110000001

???

+12701111111011111110111111111111111

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

⑶表示范圍與精度

設(shè)浮點(diǎn)數(shù)格式為:階碼山+1位,含一位階符,補(bǔ)碼

表示,以2為底;尾數(shù)n+1位,含一位數(shù)符,補(bǔ)碼

表示,規(guī)格化。

典型值浮點(diǎn)數(shù)代碼真值

最大正數(shù)01-1,0.11-122T(1—2~)

非零最小正數(shù)10…0,0,10…0(2-1)

絕對(duì)值最大負(fù)數(shù)01-1,1.00-0—2(―1)

絕對(duì)值最小負(fù)數(shù)工0???0,1.10-02-”(—2-1)

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

改變R對(duì)浮點(diǎn)數(shù)特性的影響:

,可表示數(shù)的范圍

隨R的增大而增大

,可表示數(shù)的個(gè)數(shù)(規(guī)格化)

隨R的增大而增加

,數(shù)在數(shù)軸上的分布

R越大越稀疏

2.1數(shù)值型數(shù)據(jù)的表邙法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

改變R對(duì)浮點(diǎn)數(shù)特性的影響:

,可表示數(shù)的精度

隨R的增大單調(diào)下降

?運(yùn)算中的精度損失

R越大損失越小

?運(yùn)算速度

R越大運(yùn)算速度越快

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

(4)真值與浮點(diǎn)數(shù)之間的轉(zhuǎn)換

⑸IEEE754標(biāo)準(zhǔn)浮點(diǎn)格式

最重要的浮點(diǎn)表示法定義在IEEE754標(biāo)準(zhǔn)中。

開發(fā)這個(gè)標(biāo)準(zhǔn)是為了便于程序從一類處理器

遷移到另一類處理器上時(shí)的可移植性,也為

了促進(jìn)研制更為復(fù)雜的數(shù)值運(yùn)算程序。

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

⑸IEEE754標(biāo)準(zhǔn)浮點(diǎn)格式

IEEE標(biāo)準(zhǔn)定義了32位的單精度和64位的雙精

度兩種格式及80位的擴(kuò)展格式

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

⑸IEEE754標(biāo)準(zhǔn)浮點(diǎn)格式

-單精度浮點(diǎn)數(shù)

Seme取值范圍:

數(shù)'、'"Y'

符8位階碼23位尾數(shù)1254

真值指數(shù)范圍:

真值:(-1),xl.mx2e~127-126+127

注:尾數(shù)用原碼表示

754標(biāo)準(zhǔn)浮點(diǎn)數(shù)采用:偏移指數(shù),隱含基數(shù),隱含小數(shù)點(diǎn)左邊的1的方法

2.1數(shù)值型數(shù)據(jù)的表示方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

⑸IEEE754標(biāo)準(zhǔn)浮點(diǎn)格式

?雙精度浮點(diǎn)數(shù)

seme取值范圍:

數(shù)、r'

符11位階碼52位尾數(shù)1~2046

真值取值范圍:

真值:(-1)5xl.mx2e-1023-1022+1023

2.1數(shù)值型數(shù)據(jù)的表個(gè)方法

2.1.3數(shù)的定點(diǎn)表示與浮點(diǎn)表示

⑸IEEE754標(biāo)準(zhǔn)浮點(diǎn)格式

?IEEE754浮點(diǎn)數(shù)的解釋:

Ac全0,加全0:機(jī)器0

Ac全1,勿全0:無窮大

Ac全1,"不全為0:NaN

?£全0,〃不全為0:反規(guī)格化數(shù)

?此外,規(guī)格化非零浮點(diǎn)數(shù)

2.2子付表ZF

2.2.1ASCH碼

美國(guó)信息交換標(biāo)準(zhǔn)碼(AmericanStandard

CodeForInformationInterchange))簡(jiǎn)

稱ASCH碼。

2.2子付表ZF

2.2.2漢字編碼簡(jiǎn)介

1.漢字內(nèi)碼(用于內(nèi)部處理)

用于漢字信息的存儲(chǔ)、交換、檢索等操作的

機(jī)內(nèi)代碼,一般采用兩個(gè)字節(jié)表示

2,2子付表ZF

2.2.2漢字編碼簡(jiǎn)介

2.漢字輸入碼(用于輸入)

直接使用西文標(biāo)準(zhǔn)鍵盤把漢字輸入到計(jì)算機(jī)。

當(dāng)前采用的方法有:

?區(qū)位碼?拼音碼?字形編碼(五筆字型)

?語音識(shí)別、圖象識(shí)別

3.漢字字模碼(用于輸出)

2.3指令信息的表示

計(jì)算機(jī)設(shè)計(jì)人員和計(jì)算機(jī)編程人員能看見同

一機(jī)器的分界是機(jī)器指令集。

從設(shè)計(jì)者的觀點(diǎn)看,機(jī)器指令集提出了對(duì)CPU

的功能性需求;

從用戶的觀點(diǎn)看,選取機(jī)器語言的用戶必定

要通曉機(jī)器所直接支持的寄存器和存儲(chǔ)器結(jié)

構(gòu)、數(shù)據(jù)類型以及ALU的功能。

2.3指令信息的表示

CPU的操作被它執(zhí)行的指令所確定,這些指令

被稱為機(jī)器指令或計(jì)算機(jī)指令。

CPU可完成的各類功能反映在為CPU定義的各

類指令中。

CPU能執(zhí)行的各種不同指令的集合稱為CPU的

指令集(instructionset),也叫指令系統(tǒng)。

2.3指令信息的表示

在計(jì)算機(jī)內(nèi)部,指令由一個(gè)位串來表示。相

應(yīng)于指令的各要素,這些位串劃分成幾個(gè)字

段。指令的這種狀況稱為指令格式

(instructionformat)o

一條指令控制實(shí)現(xiàn)一步操作。

2.3指令信息的表示

2.3.1指令格式

1.指令中的基本信息

指令中應(yīng)包含的內(nèi)容:

,進(jìn)行何種操作

?數(shù)據(jù)的來源

,結(jié)果的去向

?后繼指令地址I操作碼I地址碼

前者體現(xiàn)為操作碼(operationcode)

后三者體現(xiàn)為地址碼

2.3指令信息的表示

2.3.1指令格式

(1)操作碼

指明操作性質(zhì),是區(qū)別不同指令的依據(jù)

⑵操作數(shù)或操作數(shù)地址

參加運(yùn)算操作的數(shù)據(jù)稱為操作數(shù)。

⑶存放運(yùn)算結(jié)果的地址

指明運(yùn)算結(jié)果的存放位置

(4)后繼指令地址

告知CPU本條指令執(zhí)行完畢后到哪里去取下一

條指令

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

一條指令需要的最大地址數(shù)是多少?

對(duì)于二元運(yùn)算:

?兩個(gè)地址來訪問操作數(shù)

?一個(gè)地址來存放運(yùn)算結(jié)果

,下一條指令的地址

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

(1)四地址指令

OPA1A2A3A4

指令功能:(Al)OP(A2)-A3

A4:后繼指令地址

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

⑵三地址指令

OPAlA2A3

指令功能:(Al)OP(A2)-A3

(PC)+n-PC

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

⑶二地址指令

OPAlA2

指令功能:(Al)OP(A2)-A1

(PC)+n-PC

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

(4)一地址指令OPA

?單操作數(shù)指令

指令功能:OP(A)-A

(PC)+n-PC

?雙操作數(shù)指令

指令功能:(AC)OP(A)-AC

(PC)+n-PC

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

⑸零地址指令|OP

?零操作數(shù)指令

?單操作數(shù)指令

指令功能:OP(AC)-AC

(PC)+n-PC

?隱含指定操作數(shù)來源于堆棧

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

每條指令應(yīng)包含的地址數(shù)目是基本的設(shè)計(jì)決

策。

指令中的地址數(shù)目越少,則指令的長(zhǎng)度越短,

指令也越原始(不需要復(fù)雜的CPU)。另一方

面它又會(huì)使程序的總的指令條數(shù)更多,程序

也更復(fù)雜。

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

為了靈活性和使用多寄存器的能力,大多數(shù)

當(dāng)代計(jì)算機(jī)采用了雙地址和三地址指令的混

合方式。

2.3指令信息的表示

2.3.1指令格式

2.指令中的地址結(jié)構(gòu)

對(duì)地址數(shù)目選擇的影響另一個(gè)因素:

地址是引用到存儲(chǔ)器位置還是寄存器的設(shè)計(jì)

考慮。

結(jié)果是:

大多數(shù)CPU設(shè)計(jì)成有多種指令格式

2.3指令信息的表示

2.3.1指令格式

3.操作碼結(jié)構(gòu)

操作碼位數(shù)決定了操作類型的多少

(1)固定長(zhǎng)度操作碼

⑵可變長(zhǎng)度操作碼采用操作碼擴(kuò)展技術(shù),

讓操作碼的位數(shù)隨地址數(shù)的減少而增加。

2.3指令信息的表示

2.3.1指令格式

3.操作碼結(jié)構(gòu)

例:

設(shè)某指令系統(tǒng)指令字長(zhǎng)16位,最多可給出3

個(gè)地址段X、Y、Z,每個(gè)地址段占4位。試給

出一種擴(kuò)展操作碼方案

2.3指令信息的表示

2.3.1指令格式

3.操作碼結(jié)構(gòu)

⑶單功能型或復(fù)合型操作碼

?單功能型操作碼操作碼只表示一種操作

含義

?復(fù)合型操作碼將操作碼分組,組合成豐

富的含義

2.3指令信息的表示

2.3.1指令格式

4.指令字長(zhǎng)

指令格式的長(zhǎng)度是最基本的設(shè)計(jì)出發(fā)點(diǎn),它

決定了匯編程序員所看到的機(jī)器的靈活程度。

?需要考慮的因素

2.3指令信息的表示

2.3.1指令格式

4.指令字長(zhǎng)

需要考慮的因素:

?在強(qiáng)有力的指令清單和必須節(jié)省空間之間

權(quán)衡

?指令字長(zhǎng)和機(jī)器字長(zhǎng)間的關(guān)系

?指令長(zhǎng)度應(yīng)當(dāng)是字符長(zhǎng)度或定點(diǎn)數(shù)長(zhǎng)度的

整數(shù)倍

(1)固定字長(zhǎng)指令⑵變字長(zhǎng)指令

2.3指令信息的表示

2.3.2常見尋址方式

尋址方式:

指令中提供操作數(shù)或操作數(shù)地址的方式

2.3指令信息的表示

2.3.2常見尋址方式

CPU根據(jù)指令約定的尋址方式對(duì)地址字段的

有關(guān)信息作出解釋,以找到操作數(shù)。

操作數(shù)的存放位置:

?主存或虛存

?CPU寄存器

?I/O設(shè)備

2.3指令信息的表示

2.3.2常見尋址方式

指令格式中地址字段非常有限,要想有能力

大范圍地訪問主存或虛存,就要采用各種尋

址技術(shù)。這涉及到在尋址范圍和尋址靈活性

之間,以及存儲(chǔ)器引用數(shù)和地址計(jì)算復(fù)雜性

之間的權(quán)衡考慮。

2.3指令信息的表示

2.3.2常見尋址方式

1.立即尋址(immediateaddressing)

操作數(shù)在指令中,取出了指令的同時(shí)也就取

出了操作數(shù)

OPA操作數(shù)=A

優(yōu)點(diǎn):不必為獲取操作數(shù)再次訪問存儲(chǔ)器,

節(jié)省一個(gè)存儲(chǔ)器或Cache周期。

缺點(diǎn):數(shù)的大小受限于地址字段的長(zhǎng)度

2.3指令信息的表示

2.3.2常見尋址方式

2.直接尋址(directaddressing)

指令中直接給出操作數(shù)的地址

OPA主存

>AS

操作數(shù)有效地址EA=A

優(yōu)點(diǎn):簡(jiǎn)單,且只進(jìn)行一次存儲(chǔ)器訪問

缺點(diǎn):有效地址是指令的一部分,不能動(dòng)也

改變;尋址空間有限

2.3指令信息的表示

2.3.2常見尋址方式

3.寄存器尋址(registeraddressing)

指令中直接給出操作數(shù)所在的寄存器號(hào)

OPR

操作數(shù)有效地址EA=R

優(yōu)點(diǎn):指令中僅需要一個(gè)較小的地址字段

無存儲(chǔ)器訪問

指令長(zhǎng)度短

缺點(diǎn):尋址空間有限

2.3指令信息的表示

2.3.2常見尋址方式

4■間接尋址(indirectaddressing)

指令中直接給出操作數(shù)地址的地址

—OP——A―主存

操作數(shù)有效地址EA=(A)

(A):A中的內(nèi)容s

優(yōu)點(diǎn):編程靈活

______尋址空間大(2NN:內(nèi)存數(shù)據(jù)線寬度)

缺點(diǎn):多重存儲(chǔ)器訪問

2.3指令信息的表示

2.3.2常見尋址方式

5.寄存器間接尋址(registerindirect

addressing)

指令中直接給出寄存器號(hào),該寄存器中存放

操作數(shù)地址

主存

OPR

AAS

操作數(shù)有效地址EA=(R)

注:通過多重讀取提供地址的可變性

2.3指令信息的表示

2.3.2常見尋址方式

5.寄存器間接尋址

優(yōu)點(diǎn):尋址空間大,減少地址碼的位數(shù)

缺點(diǎn):增加一次存儲(chǔ)器訪問

變化:自增型寄存器間接尋址(R)+

自減型寄存器間接尋址-(R)

2.3指令信息的表示

2.3.2常見尋址方式

6.變址尋址(indexing)

指令中給出形式地址,該地址與變址寄存器

(顯示或隱式給出)的內(nèi)容相加,作為操作數(shù)

的有效內(nèi)存地址。

主存

操作數(shù)有效地址EA=A+(R)

注:地址域引用一個(gè)主存地址,被引用的寄存器含有該地址的一個(gè)正的偏移量

2.3指令信息的表示

2.3.2常見尋址方式

6.變址尋址(indexing)

優(yōu)點(diǎn):靈活

缺點(diǎn):復(fù)雜

變化:自動(dòng)變址,每次引用后遞增(減)

操作數(shù)有效地址EA=A+(R)

2.3指令信息的表示

2.3.2常見尋址方式

7.基址寄存器尋址(base-registeraddressing)

指令中的形式地址作為偏移量,該地址與基

址寄存器(顯示或隱式給出)的內(nèi)容相加,作

為操作數(shù)的有效內(nèi)存地址。

主存

優(yōu)點(diǎn):靈活

s缺點(diǎn):復(fù)雜

操作數(shù)有效地址EA=A+(R)

注:被引用的寄存器含有存儲(chǔ)器地址,地址段含有該地址的偏移量(無符號(hào)整數(shù))

2.3指令信息的表示

2.3.2常見尋址方式

8.基址加變址

?前變址(pre-indexing)EA=(A+(R))

?后變址(post-indexing)EA=(A)+(R)

應(yīng)用:

訪問多路轉(zhuǎn)移表、處理二維數(shù)組或表格

2.3指令信息的表示

2.3.2常見尋址方式

9.相對(duì)尋址(relativeaddressing)

隱含引用PC中的內(nèi)容作為基準(zhǔn)地址,與指令

中的形式地址(補(bǔ)碼)相加)形成操作數(shù)的有

效地址

主存

操作數(shù)有效地址EA=(PC)+d

特點(diǎn),可實(shí)現(xiàn)程序的浮動(dòng)

2.3指令信息的表示

2.3.2常見尋址方式

10.頁面尋址(pageaddressing)

PC高位作為操作數(shù)有效地址的高位,指令中

的形式地址作為操作數(shù)地址的低位。

操作數(shù)有效地址EA=(PC)H+d

特點(diǎn):

在頁式存儲(chǔ)管理方案中,可快速定位

2.3指令信息的表示

2.3.2常見尋址方式

11.堆棧尋址(stackaddressing)

是一種隱含尋址方式,指令中不需要給出一

個(gè)存儲(chǔ)器引用,而是隱含指示操作發(fā)生在棧

頂。

優(yōu)點(diǎn):無處儲(chǔ)器訪問

缺點(diǎn):應(yīng)用有限

尋址方式舉例

2.3指令信息的表示

2.3.3指令的功能和類型

計(jì)算機(jī)設(shè)計(jì)的一個(gè)最具影響的方面是指令集

的設(shè)計(jì)。它影響計(jì)算機(jī)系統(tǒng)的諸多方面:

?指令集定義了CPU應(yīng)完成的多數(shù)功能,對(duì)

CPU的實(shí)現(xiàn)有顯著影響

?指令集是程序員控制CPU的方式,因此設(shè)

計(jì)指令集時(shí)必須考慮程序員的要求。

2.3指令信息的表示

2.3.3指令的功能和類型

在指令集設(shè)計(jì)的最根本出發(fā)點(diǎn)上還存在爭(zhēng)議:

?操作指令表應(yīng)提供多少和什么樣的操作,

操作將是何等復(fù)雜;

?數(shù)據(jù)類型對(duì)幾種數(shù)據(jù)類型完成操作;

?指令格式指令的長(zhǎng)度、地址數(shù)目、各個(gè)字

段的大??;

?寄存器能被指令訪問的CPU寄存器數(shù)據(jù)以

及它們的用途;

?尋址方式指定操作數(shù)地址的產(chǎn)生方式。

2.3指令信息的表示

2.3.3指令的功能和類型

不同的機(jī)器指令系統(tǒng)各不相同。一個(gè)完善的

指令系統(tǒng)應(yīng)滿足以下四方面的要求:

,完備性

,有效性

?規(guī)整性

?兼容性

2.3指令信息的表示

2.3.3指令的功能和類型

不同的機(jī)器指令系統(tǒng)各不相同。一個(gè)完善的

指令系統(tǒng)應(yīng)滿足以下四方面的要求:

,完備性

是指在一個(gè)有限可用的存儲(chǔ)空間,對(duì)于任何

可解的問題,編制計(jì)算程序時(shí),指令系統(tǒng)直

接提供的指令足夠使用。這是一個(gè)原則性要

求)很難確定一個(gè)完備性的標(biāo)準(zhǔn)。

2.3指令信息的表示

2.3.3指令的功能和類型

,有效性

是指利用該指令系統(tǒng)所編寫的程序能夠高效

率地運(yùn)行。高效率主要表現(xiàn)在程序占據(jù)存儲(chǔ)

空間小、解題速度快。

2.3指令信息的表示

2.3.3指令的功能和類型

?規(guī)整性

是指指令操作的對(duì)稱性、勻齊性,指令格式

和數(shù)據(jù)格式的一致性。指令操作的對(duì)稱性是

指在運(yùn)算時(shí),所有寄存(存儲(chǔ))單元都可同

等對(duì)待,不論哪一個(gè)操作數(shù)或運(yùn)算結(jié)果都可

不受約束地存于任一單元;指令操作的勻齊

性是指一種性質(zhì)的操作可適用于各種數(shù)據(jù)類

型;指令格式和數(shù)據(jù)格式的一致性主要指指

令字長(zhǎng)與數(shù)據(jù)字長(zhǎng)有一個(gè)規(guī)整的關(guān)系,便于

程序的加工處理。

2.3指令信息的表示

2.3,3指令的功能和類型

?兼容性

系列機(jī)各機(jī)種之間具有相同的基本結(jié)構(gòu)和共

同的基本指令集,因而指令系統(tǒng)是兼容的,

即各機(jī)種上基本軟件可以通用(向上兼容)

2.3指令信息的表示

2.3.3指令的功能和類型

指令的分類:

1.按指令格式分類

,雙操作數(shù)指令

?單操作數(shù)指令

?轉(zhuǎn)移指令等

2.3指令信息的表示

2.3.3指令的功能和類型

指令的分類:

2.按操作數(shù)尋址方式分類

?RR型(寄存器-寄存器型)

?RX型(寄存器-變址存儲(chǔ)器型)

?RS型(寄存器-存儲(chǔ)器型)

?SI型(寄存器-立即數(shù)型)

?SS型(存儲(chǔ)器-存儲(chǔ)器寄)

2.3指令信息的表示

2.3.3指令的功能和類型

3.按指令功能分類

(1)數(shù)據(jù)傳送類指令

設(shè)置傳送類指令應(yīng)說明的問題:

,規(guī)定傳送范圍;

?指明傳送單位;

?設(shè)置尋址方式。

2.3指令信息的表示

2.3.3指令的功能和類型

3.按指令功能分類

⑵輸入/輸出指令

?設(shè)置專用的I/O指令

?用數(shù)據(jù)傳送指令實(shí)現(xiàn)I/O操作

?通過I/O處理機(jī)進(jìn)行I/O操作

2.3指令信息的表示

2.3.3指令的功能和類型

3.按指令功能分類

⑶算術(shù)邏輯運(yùn)算指令

?算術(shù)運(yùn)算指令

■邏輯運(yùn)算指令與、或、非、異或

?移位指令算術(shù)移位、邏輯移位

2.3指令信息的表示—

2.3.3指令的功能和類型

3.按指令功能分類

(4)程序控制類指令

?轉(zhuǎn)移指令

?轉(zhuǎn)子程序指令與返回指令

?軟中斷指令

2.3指令信息的表示

2.3.3指令的功能和類型

3.按指令功能分類

⑸其他指令

?數(shù)據(jù)處理指令

?面向數(shù)組的指令

?面向操作系統(tǒng)的指令

2.4RISC技術(shù)

2.4.1RISC的產(chǎn)生與發(fā)展

指令的分類:

1.按指令格式分類

,雙操作數(shù)指令

?單操作數(shù)指令

?轉(zhuǎn)移指令等

2.4RISC技術(shù)

2.4.2RISC的主要特征

指令的分類:

1.按指令格式分類

,雙操作數(shù)指令

?單操作數(shù)指令

?轉(zhuǎn)移指令等

2.4RISC技術(shù)

2.4.3RISC和CISC的比較

指令的分類:

1.按指令格式分類

,雙操作數(shù)指令

?單操作數(shù)指令

?轉(zhuǎn)移指令等

2.5指令格式舉例——PDP-11

OptorivStiarcrDesi1mtionOpcodeRSourerOpcock(Mfot

66736XX

Opcotk1FPDestinationSOpcodeDestination6Opct'odderCCC<:

A26106124

7OpcodeROptudc?1OpcodeSounrvDestinationMEW口Adrkess

1331646616

Open加RSourerMtanonAddrtsa

73616

OpcodeFPSourceMemoi*)Addreai

X2616

OpcotfcDominationMemoi,)AddresH

10616

13Opc”加S<ruiveIkstinationAddr團(tuán)1MvnwnAddrtas2

46616M

NumbersbvlowAddsindirbitlength

SuurucandDestinationeachcontaina3-bltaddressingmodefieldanda3-bitregisternumber

FPindicates<nwoffi>urfloating-pointregisters

RIndicatesone<ifthegeneral-purposeregisters

CCistheconditiontockfk?id

2.5指令格式舉例——PowerPC(1)

6hits

BranchLongImmediateAL

BrGitidh加hnlOptions(RBitBranchDtsplnccinetitAL

BrGmdiiMtiMOptionsCRBHllMitrectIhbol^ghLthkutColIMKqteutL

(alBranchinstructIOILS

CRDestB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論