武漢大學(xué)計(jì)算機(jī)組成原理第1章-計(jì)算機(jī)系統(tǒng)概論 (二)_第1頁(yè)
武漢大學(xué)計(jì)算機(jī)組成原理第1章-計(jì)算機(jī)系統(tǒng)概論 (二)_第2頁(yè)
武漢大學(xué)計(jì)算機(jī)組成原理第1章-計(jì)算機(jī)系統(tǒng)概論 (二)_第3頁(yè)
武漢大學(xué)計(jì)算機(jī)組成原理第1章-計(jì)算機(jī)系統(tǒng)概論 (二)_第4頁(yè)
武漢大學(xué)計(jì)算機(jī)組成原理第1章-計(jì)算機(jī)系統(tǒng)概論 (二)_第5頁(yè)
已閱讀5頁(yè),還剩64頁(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)介

解5聿指令系統(tǒng)

徐愛(ài)萍

武漢大學(xué)計(jì)算機(jī)學(xué)院

酚?

第5章指令系統(tǒng)

VX\Tl.一

盥本章考研大綱

(一)指令格式

1.指令的基本格式

2.定長(zhǎng)操作碼指令格式

3.擴(kuò)展操作碼指令格式

(二)指令的尋址方式

1.有效地址的概念

2.數(shù)據(jù)尋址和指令尋址

3.常見(jiàn)尋址方式

(三)CISC和RISC的基本概念

■ijaWuhanUniversity

黑重點(diǎn):

票指令格式;尋址方式、尋址范圍;

累擴(kuò)展操作碼,哈夫曼編碼;

%CISC和RISC;指令系統(tǒng)設(shè)計(jì)

票學(xué)時(shí):4

5.1基本概念

票指令就是要計(jì)算機(jī)執(zhí)行某種操作的命令。

率指令系統(tǒng)是一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合。

京系列計(jì)算機(jī)是指基本指令系統(tǒng)相同,基本體系結(jié)構(gòu)

相同的一系列計(jì)算機(jī)。系列機(jī)能解決軟件兼容問(wèn)題

的必要條件是該系列的各機(jī)種有共同的指令集,而

且新推出的機(jī)種的指令系統(tǒng)一定包含舊機(jī)種的所有

指令,因此在舊機(jī)種上運(yùn)行的各種軟件可以不加任

何修改地在新機(jī)種上運(yùn)行。

'41MC^WuhanUniversity

5.2指令格式

5.2.1指令格式

指令由表示操作性質(zhì)的操作碼和表示操作對(duì)象的地址碼兩

部分組成。即:

操作碼字段地址碼字段

票操作碼指出指令中該指令應(yīng)該執(zhí)行什么性質(zhì)的操作和具有

何種功能。

票地址碼指出該操作數(shù)所在的存儲(chǔ)器地址或寄存器地址。

架根據(jù)指令中的操作數(shù)地址碼的數(shù)目的不同,可將指令分成

零地址指令、一地址指令、二地址指令、三地址指令和多

地址指令等多種格式。

________4

*WuhanUniversity

(1)零地址指令格式

WKWl^MkVX\—ri.一\■

架IOPI

黑指令中只給出操作碼,沒(méi)有顯地址。

親這種指令有兩種可能:

①不需要操作數(shù)的指令。

②隱含對(duì)累加器AC內(nèi)容進(jìn)行操作

再貼4lwWuhanUniversity

(2)一地址指令格式

OPA

柴其功能:OP(A)-A或(AC)OP(A)-AC

柴一地址指令有兩種常見(jiàn)的形態(tài),根據(jù)操作碼含義確定它

究竟是哪一種。

斃①只有目的操作數(shù)的單操作數(shù)指令

架②隱含約定目的地址雙操作數(shù)指令

票注意:采用隱地址(隱含約定)可以簡(jiǎn)化指令地址結(jié)構(gòu),

即減少指令中的顯地址數(shù)Q

再貼WuhanUniversity

震(金二地亞指令格式L

其功能:(A1)OP(A2)->A1

黑(4)三地址指令格式:

pP|AC|A2|A3

其功能廠區(qū)1)OP(A2)-A3

空(5)多地址指令

在某些性能較好的大、中型機(jī)甚至高檔小型機(jī)中,往往設(shè)

置一些功能很強(qiáng)的,用于處理成批數(shù)據(jù)的指令,如字符串

處理指令,向量、矩陣運(yùn)算指令等。為了描述一批數(shù)據(jù),

指令中需要多個(gè)地址來(lái)指出數(shù)據(jù)存放的首地址、長(zhǎng)度和下

標(biāo)等信息。

=』至丈孝松園觀學(xué)

WuhanUniversity

架零地址、一地址和兩地址指令具有指令短,

執(zhí)行速度快,硬件實(shí)現(xiàn)簡(jiǎn)單等特點(diǎn),多為結(jié)

構(gòu)較簡(jiǎn)單,字長(zhǎng)較短的小型、微型機(jī)所采

用;

票兩地址、三地址和多地址指令具有功能強(qiáng),

便于編程等特點(diǎn),多為字長(zhǎng)較長(zhǎng)的大、中型

機(jī)所采用。

架指令的地址是由程序計(jì)數(shù)器(PC)規(guī)定的,而

數(shù)據(jù)的地址是由指令規(guī)定的。

WuhanUniversity

5.2.2指令操作碼的擴(kuò)展技中

親通常在指令字中用一個(gè)固定長(zhǎng)度的字段來(lái)表

示基本操作碼,而對(duì)于一部分不需要某個(gè)地

址碼的指令,把它們的操作碼擴(kuò)充到該地址

字段,這樣既能充分地利用指令字的各個(gè)字

段,又能在不增加指令長(zhǎng)度的情況下擴(kuò)展操

作碼的長(zhǎng)度,使它能表示更多的指令。

.大學(xué)

WuhanUniversity

梗直㈣皿鼻?例5」P130

1旨令字長(zhǎng)為16位,每個(gè)地址碼為4小>用擴(kuò)展操

作碼的方式,設(shè)計(jì)15條三地址指令、15條二地址

指令、15條一地址指令和16條零地址指令。

①畫出擴(kuò)展圖

②畫出指令譯碼邏輯。

【例題分析】

每個(gè)地址碼為4位:

三地址占12位,15條三地址指令的操作碼為4位;

二地址占8位,15條二地址指令的操作碼為8位;

一地址占4位,15條一地址指令的操作碼為12位;

16條零地址指令的操作碼為16位;

University

Hi①操作碼的擴(kuò)展如下:

00:0oxxxxxxxL

15條三地山指令

1110xxxxxxxxxxxx

11,11000^0XXX、xxxx

15條二kfet摘令

11111110xxxxxxxx

11:11111;10000:xxxx

15條T地址指令

111111111110xxxx

11:1111L11111;0000

16條零地址指令

1111111111

uhanUniversity

②指令譯碼邏輯如圖所示

松園觀學(xué)

'41MC^WuhanUniversity

星鼠內(nèi)例5.3P131

法二二字一^?V

i'指令字長(zhǎng)為16位,每個(gè)地址碼為4位。用擴(kuò)施操

作碼的方式,設(shè)計(jì)15條三地址指令、14條二地址指

令、31條一地址指令和16條零地址指令。

①畫出擴(kuò)展圖

②畫出指令譯碼邏輯。

【例題分析】

每個(gè)地址碼為4位:

荒三地址占12位,15條三地址指令的操作碼為4位;

黑二地址占8位,14條二地址指令的操作碼為8位;

柴一地址占4位,31條一地址指令的操作碼為12位;

架16條零地址指令的操作碼為16位;

'41MC^WuhanUniversity

xxxx0

IIIIIIIIIII

xxxx00000

IIIIIII

xxxxxxxxloll

wlw=-<寸I

xxxxkxxxoho0

xxxxxxxxxxxx。III

蠢AW^^OLI

00

。

xxxxxxxxxxxx,°

)-F.”將

一3

②指令譯碼邏輯如圖所示

'41MC^WuhanUniversity

例5.4

指令字長(zhǎng)為12位,每個(gè)地址碼為3位,采用擴(kuò)展操作碼

的方式,設(shè)計(jì)4條三地址指令、16條二地址指令、64

條一地址指令和16條零地址指令。

①畫出擴(kuò)展圖

②畫出指令譯碼邏輯。

③計(jì)算操作碼平均長(zhǎng)度

【例題分析】

每個(gè)地址碼為3位:

武三地址占9位,4條三地址指令的操作碼為3位;

交二地址占6位,16條二地址指令的操作碼為6位;

柴一地址占3位,64條一地址指令的操作碼為9位;

北16條零地址指令的操作碼為12位;

'41MC^WuhanUniversity

操作碼的擴(kuò)展如下:

00:0'XXXi^XXXXX

4條三地址指令

011XXXXXXXXX

10:0000:XXXXXX

16條RW聆

101111XXXXXX

11:0000j000XXX

64條^^^聆

110111111XXX

11:1000:0000Q0

16條零地址指令

M。步ooi111

ff^rrWuhanUniversity

②指令譯碼邏輯如圖所示

XXXXXXXXXXXX

譯碼開(kāi)

始曹JI

M4:16渤喘[~c|6:64譯喘

-C3:8譯碼器'工XX

nyiir

16地耐聆16條罩她指令

③操作碼平均長(zhǎng)度

=(4X3+16X6+64X9+16X12)/(4+16+64+16)

=8.7

'41MC^WuhanUniversity

例5.4

指令字長(zhǎng)為12k每個(gè)地址碼為3位二采用擴(kuò)展操作碼

的方式,設(shè)計(jì)4條三地址指令、30二地址指令、15條一地

址指令和8條零地址指令。

①畫出擴(kuò)展圖

②畫出指令譯碼邏輯。

③計(jì)算操作碼平均長(zhǎng)度

【例題分析】

每個(gè)地址碼為3位:

會(huì)三地址占9位,4條三地址指令的操作碼為3位;

柴二地址占6位,16條二地址指令的操作碼為6位;

建一地址占3位,64條一地址指令的操作碼為9位;

北16條零地址指令的操作碼為12位;

造翥ty松導(dǎo)

操作碼的擴(kuò)展如下:

00:0'XXXi^XXXXX

4條三地址指令

011XXXXXXXXX

10:0000:XXXXXX

16條RW聆

101111XXXXXX

11:0000j000XXX

64條^^^聆

110111111XXX

11:1000:0000Q0

16條零地址指令

M。步ooi111

ff^rrWuhanUniversity

直面運(yùn)奇eAAAA例5.5

某計(jì)算機(jī)指令長(zhǎng)度為32位,有3種指令:雙操作數(shù)指令、單操作數(shù)

指令、無(wú)操作數(shù)指令。今采用擴(kuò)展操作碼的方式來(lái)設(shè)計(jì)指令,

假設(shè)操作數(shù)地址為12位,己知有雙操作數(shù)指令K條,單操作數(shù)

指令L條,問(wèn)無(wú)操作數(shù)指令有多少條?

【例題分析】

黑對(duì)于雙操作數(shù)指令,操作碼長(zhǎng)度為(32—12X2)=8位;最多有28

條,現(xiàn)已有K條,所以留有⑵一K)個(gè)編碼用于擴(kuò)展到單操作數(shù)指

令;

案對(duì)于單操作數(shù)指令,可擴(kuò)展位為20—8=12位;最多有⑵一

K)X212條,現(xiàn)已有L條,所以留有[⑵一K)X2i2—L]個(gè)編碼用于

擴(kuò)展到無(wú)操作數(shù)指令;

震對(duì)于無(wú)操作數(shù)指令,可擴(kuò)展位為32—20=12位,所以無(wú)操作數(shù)指

令條數(shù)=[(28—K)X212—L]X212

^WuhanUnive^rsity

?訃而離畫廊垣篤k例5.6

【;柴玉司機(jī)的指令系統(tǒng)字長(zhǎng)定長(zhǎng)為16位,采用擴(kuò)展操作碼,

操作數(shù)地址需4位。該指令系統(tǒng)已有三地址指令M條,二地

址指令N條,沒(méi)有零地址指令。問(wèn):最多還有多少條一地址

指令?

票解:由于指令總長(zhǎng)度為16位,操作數(shù)地址為4位,貝(J:

案對(duì)于三地址指令,操作碼長(zhǎng)度為(16—4義3)=4位;

親對(duì)于二地址指令,操作碼長(zhǎng)度為(16—4義2)=8位,可擴(kuò)展

位為8—4=4位;

柴對(duì)于一地址指令,操作碼長(zhǎng)度為(16—4)=12位,可擴(kuò)展位

為12—8=4位。

親由于三地址指令有M條,而三地址指令最多有24條,所以

留有(24—M)個(gè)編碼用于擴(kuò)展到兩地址指令;

北二地址指令N條,而二地址指令最多有Q4—M)X24條,所

以留有[Q4—M)X24—N]個(gè)編碼用于擴(kuò)展到一地址指令;

柒根據(jù)以上分析:一地址指令條數(shù)=[(24-M)X24-N]X24O

IV履雌守蛇

例5.7

某計(jì)算機(jī)指令長(zhǎng)度為32位,有3種指令:雙操作數(shù)指令、單操作數(shù)

指令、無(wú)操作數(shù)指令。今采用擴(kuò)展操作碼的方式來(lái)設(shè)計(jì)指令,

假設(shè)操作數(shù)地址為12位,己知有雙操作數(shù)指令K條,無(wú)操作數(shù)

指令L條,問(wèn)單操作數(shù)指令有多少條?

【例題分析】

票對(duì)于雙操作數(shù)指令,操作碼長(zhǎng)度為(32—12X2)=8位;最多有28

條,現(xiàn)已有K條,所以留有⑵一K)個(gè)編碼用于擴(kuò)展到單操作數(shù)指

令;

親對(duì)于單操作數(shù)指令,可擴(kuò)展位為20—8=12位;最多有⑵一

K)X212條,現(xiàn)已有L條,所以留有[⑵一K)X2i2—L]個(gè)編碼用于

擴(kuò)展到無(wú)操作數(shù)指令;

震對(duì)于無(wú)操作數(shù)指令,可擴(kuò)展位為32—20=12位,所以無(wú)操作數(shù)指

令條數(shù)=[(28—K)X212—L]X212

WuhanUniversity

裝習(xí)題5.1

松蹣膘院

B^PBB^J^^^WuhanUniversity

展操作碼的編碼原則(哈夫曼編碼)

與CM員

票編碼的原則是:對(duì)使用頻度(指在程序中由現(xiàn)的概率)

較高的指令,分配較短的操作碼字段;對(duì)使用頻度

較低的指令,分配較長(zhǎng)的操作碼字段。

例5.6

某計(jì)算機(jī)有io條指令,它們的使用頻率分別為:0.35>0.20>

0.11>0.09>0.08>0.07>0.04>0.03>0.02>0.01,用擴(kuò)

展操作碼技術(shù)對(duì)它們的操作碼進(jìn)行編碼,并計(jì)算平均代碼長(zhǎng)度。

解:編碼方案見(jiàn)右表指令使用頻率操作碼

這種表示法的平均長(zhǎng)度二T135%00

35%X2+20%X2+llT220%01

%X2+9%X4T311%10

+8%X4+7%X4T49%1100

+4%X6+3%X6T58%1101

+2%X6+1%X6T67%1110

=0.7+0.4+0.22T74%111100

+0.36+0.32+0.28T83%111101

+0.24+0.18+0.12T92%111110

T101%11on

University

編碼方案2

指令’’使用頻率操4作碼

這種表示法的平均

T135%000長(zhǎng)度=35%*3+20

T220%001%X3+ll%X3+9

T311%010%X3+8%X3+7

T49%011%X3+4%X3+3

T58%100%X5+2%X5+1

%X5

T67%101

=1.05+0.6+0.33

T74%110

+0.27+0.24+0.21

T83%11100

T92%11101+0.12+0.15+0.10

T101%11110+0.05=3.12<4

這種編碼方案沒(méi)有上一種好

—坨得我孝moi

可''箭'WuhanUniversity

裝習(xí)題5.13

松蹣膘院

University

星威由5.2.3指令長(zhǎng)度與字長(zhǎng)的關(guān)系

,黑字長(zhǎng)是指病機(jī)能著氤理的二進(jìn)制數(shù)據(jù)的位或]

黑字長(zhǎng)決定了計(jì)算機(jī)的運(yùn)算精度,字長(zhǎng)越長(zhǎng),計(jì)算機(jī)的運(yùn)算精度

越高;

裝一般機(jī)器的字長(zhǎng)都是字節(jié)長(zhǎng)度(即8位)的L2,4或8倍,也就是

8,16,32或64位。

黑指令的長(zhǎng)度主要取決于操作碼的長(zhǎng)度、操作數(shù)地址的長(zhǎng)度和操

作數(shù)地址的個(gè)數(shù)。

票由于操作碼的長(zhǎng)度、操作數(shù)地址的長(zhǎng)度及指令格式不同,各指

令的長(zhǎng)度可以是固定的,也可以是不固定的,但也不是任意的。

宏為了充分地利用存儲(chǔ)空間,指令的長(zhǎng)度通常為字節(jié)的整數(shù)倍。

黑指令的長(zhǎng)度與機(jī)器的字長(zhǎng)沒(méi)有固定的關(guān)系,它既可以小于或等

于機(jī)器的字長(zhǎng),也可以大于機(jī)器的字長(zhǎng)。

'41MC^WuhanUniversity

數(shù)據(jù)表示見(jiàn)P132

——_~v?Bg,—

黑存儲(chǔ)器的地址,一般按字節(jié)表示。計(jì)算機(jī)的指令系統(tǒng)可支持對(duì)字節(jié)、

半字、字、雙字的運(yùn)算;有些計(jì)算機(jī)有位處理指令。為便于硬件實(shí)

現(xiàn),一般要求多字節(jié)數(shù)據(jù)對(duì)準(zhǔn)邊界,如圖所示。

黑當(dāng)所存數(shù)據(jù)不能滿足此要求時(shí),則填充一個(gè)至多個(gè)空白字節(jié)Q、

碘f的穗超輟對(duì)準(zhǔn)邊界,但可能增加訪問(wèn)存儲(chǔ)器次數(shù)。;

黑假如存儲(chǔ)器與運(yùn)算部件間數(shù)據(jù)通路的寬度為32位(一個(gè)

字),在不按邊界對(duì)準(zhǔn)的計(jì)算機(jī)中,訪存指令所要求存取的

數(shù)據(jù)(例如一個(gè)字),可能在兩個(gè)存儲(chǔ)單元中,因此需要訪

問(wèn)兩次存儲(chǔ)器,而且還要對(duì)高低字節(jié)的位置進(jìn)行調(diào)整,圖

5.2(b)的陰影部分即屬這種情況。在數(shù)據(jù)對(duì)準(zhǔn)邊界的計(jì)算

機(jī)中,當(dāng)以二進(jìn)制來(lái)表示地址時(shí),半字地址的最低位恒為

零,字地址的最低兩位為零,雙字地址的最低三位為零。

松園觀學(xué)

尾s5.4尋址方式

染所謂尋址方式,就是尋找指令或操作數(shù)的有效地址的方式。

黑1.指令的尋址方式

黑指令尋址的基本方式有兩種,一種是順序?qū)ぶ贩绞剑硪?/p>

種是跳躍尋址方式

黑2.操作數(shù)尋址方式

黑操作數(shù)的尋址方式就是形成操作數(shù)有效地址的方法。

需設(shè)某計(jì)算機(jī)具有如下所示的單地址指令結(jié)構(gòu)。其中,OP為

操作碼;X為尋址特征碼;A為形式地址,或稱偏移量。尋址

過(guò)程就是把X和A的不同組合變換成有效地址的過(guò)程。

'41MC^WuhanUniversity

震例如,一種單地址指令的結(jié)構(gòu)如下所示,其中X,LA

組成該指令的操作數(shù)地址。

操作碼變址間址形式地址

OPXIA

柒其中:

黑A稱為形式地址,也稱位移量;

宏I為間址特征;

/X為尋址方式特征位;

北尋址過(guò)程就是把操作數(shù)的形式地址A變換為操作數(shù)

的有效地址的過(guò)程。

黑(1)隱含尋址

指令中隱含著操作數(shù)的地址,EA=(PC)o

斃⑵立即尋址

操作數(shù)在指令中,Data=A,EA=(PC),這種尋址方式

稱為立即尋址。立即尋址方式的特點(diǎn)是指令執(zhí)行時(shí)間很

短,因?yàn)樗恍枰L問(wèn)內(nèi)存取數(shù),從而節(jié)省了訪問(wèn)內(nèi)存的

時(shí)間。

架(3)直接尋址

指令中的形式地址A就是操作數(shù)的有效地址EA,即EA=

A,Data=(A)o

松導(dǎo)

江指令地址字段中的形式地址A不是操作數(shù)的真正地址,而是

操作數(shù)地址的地址,或者說(shuō)A單元的內(nèi)容才建操作數(shù)的有效

地址,即:EA=(A),Data=((A)),如圖所示

O:A

票采用間接尋址可擴(kuò)大的尋址范圍。

黑設(shè)A為8位,存儲(chǔ)器字長(zhǎng)為16位,貝U:

廉直接尋址:EA=A(8位),尋址范圍是28=256;

震間接尋址:EA=(A)(16位),尋址范圍是2i6=64K。

造翥ty松園觀學(xué)

裝(5)寄存器尋址

黑操作數(shù)在寄存器中。即:EA=R,Data=(R),此時(shí)指令中給出的

操作數(shù)地址不是內(nèi)存的地址單元號(hào),而是通用寄存器的編號(hào)。

黑(6)寄存器間接尋址

瑞操作數(shù)地址在寄存器中。即:EA=(R),Data=((R))o

裝采用寄存器間接尋址可提高機(jī)器的尋址速度。

潴采用寄存器間接尋址也可擴(kuò)大的尋址范圍,若寄存器長(zhǎng)為16位,貝人

EA=(R)(16位),尋址范圍是2i6=64K。

盛(7)變址尋址

瑞操作數(shù)地址為變址寄存器中的內(nèi)容與位移量A之和,即:EA=(R)變址

+A,變址尋址一般用于數(shù)組的操作。

\^30/一■

(8)基址尋址

指令中給出一個(gè)形式地址(作為修改量),并給出基址寄存器號(hào),基址

寄存器內(nèi)容(作為基址)與形式地址相加得到操作數(shù)有效地址。即:EA

=(R)基址+A

次基址尋址中如果用通用寄存器作為基址寄存器,與變址尋址沒(méi)有區(qū)

另IJ,變址寄存器與通用寄存器都可以變化;

非但如果用專用寄存器作為基址寄存器,它與變址尋址是有區(qū)別的,這

時(shí)基址寄存器提供基準(zhǔn)量,是不能變化的;

(9)相對(duì)尋址

EA=(PC)+Ao采用相對(duì)尋址方式的好處是程序員勿需用指令的絕

對(duì)地址編程,因而所編程序可以放在內(nèi)存任何地方,相對(duì)尋址一般用

于轉(zhuǎn)移指令中。

■tjgWuhanUniversity

r^雕國(guó)嬸爰?(10)復(fù)合尋址方式

法二二字一^?v

器復(fù)合尋址方式是把間接尋址方式同相對(duì)尋址方式或變址方式相結(jié)合而形成

的尋址方式。它分為先間接方式與后間接方式兩種。

累相對(duì)間接尋址

操作數(shù)的有效地址EA數(shù)學(xué)形式為:EA=((PC)+A)O

票間接相對(duì)尋址

操作數(shù)的有效地址EA數(shù)學(xué)形式為:EA=(PC)+(A)。

票變址間接尋址

操作數(shù)的有效地址EA數(shù)學(xué)形式為:EA=((R)+A)O

黑間接變址尋址

操作數(shù)的有效地址EA數(shù)學(xué)形式為:EA=(R)+(A)O

交基址+變址尋址:操作數(shù)的有效地址EA數(shù)學(xué)形式為:

EA=(R)基址+(R)變址+A

__4*

5卬4tw(WuhanUniversity

z事電向面畫唐庵鼠由(1

黑段寄存器中的16位數(shù)左移4位,然后與16位

偏移量相加,形成內(nèi)存所需的20位物理地

址。這種尋址方式的實(shí)質(zhì)還是基值尋址。

再貼WuhanUniversity

黑例1一種單地址指令格式如下所示,其中I為間接特征,X為尋址模式,D為

形式地址。I、X、D組成該指令的操作數(shù)有效地址EA。設(shè)R為變址寄存器,

(R)=1000H,PC為程序計(jì)數(shù)器,(PC)=2000H,D=100H,存儲(chǔ)器的有關(guān)數(shù)據(jù)

見(jiàn)表1,請(qǐng)將表2填寫完整。

指令格式0PIXD

11存儲(chǔ)拗帽關(guān)魏

地址0080H0100H0165H0181H1000H1100H2100H

轆40H80H66H100H256H181H165H

表72

尋址方式1X有效地址EA操作數(shù)

直接000

相對(duì)001

變址010

寄存器011

間接100

相對(duì)間接101

變址間接110

寄存器間接111

大字松瞬隔院

WuhanUniversity

黑解:填完整后的表7.2如下:

秘址方式有嬲址EA

靛000EA=D=100HSOH

椰t001EA二(PC)+D=2100H165H

變址010EA=(R)+D=1100H181H

寄赫011EA=R1000H

?100EA=(D)=80H40H

帆瞰101EA=((PC)+D)=165H66H

間A

一-

1

U

變沙1--EA=((R)+D)=181H100H

喘瞧111EA=(R)=1000H256H

松園觀學(xué)

例2

假設(shè)(R)=1000,(1000)=2000,(2000)=3000,(PC)=4000,

問(wèn)在以下尋址方式下訪問(wèn)到的操作數(shù)的值是什么?

⑴寄存器尋址R⑵寄存器間接尋址(R)

(3)直接尋址1000(4)存儲(chǔ)器間接尋址(1000)

(5)相對(duì)尋址一2000(PC)⑹立即數(shù)尋址#2000

【例題答案】

(1)EA=RData=(R)=1000

(2)EA=(R)=1000Data=(1000)=2000

(3)EA=1000Data=(1000)=2000

(4)EA=(1000)=2000Data=(2000)=3000

(5)EA=(PC)-2000=4000-2000=2000

Data=(EA)=(2000)=3000

(6)Data=2000

加—率大學(xué)

4等*WuhanUniversity

指令系統(tǒng)的分析舉例

指令格式如下所示,0P為操作碼字段,試分析指令格式的特

點(diǎn)。

3126252322181716150

OP源寄存器變址寄存器偏移量

解:(1)操作碼字段為6位,可指定26=64種操作,即64

條指令。

(2)單字長(zhǎng)(32)二地址指令。

(3)一個(gè)操作數(shù)在源寄存器(共16個(gè)),另一個(gè)操作數(shù)

在存儲(chǔ)器中(由變址寄存器內(nèi)容+偏移量來(lái)決定),所以

是RS型指令。

(4)這種指令結(jié)構(gòu)用于訪問(wèn)存儲(chǔ)器。

造翥ty

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

案例4某機(jī)主存容量為64kxi6位,采用單字長(zhǎng)、單地址指

令,共有60條。試采用立即、直接、寄存器、寄存器間接、

變址、變址間接、相對(duì)、相對(duì)間接這八種尋址方式設(shè)計(jì)指令

格式。并說(shuō)明每一種尋址方式的尋址范圍及有效地址計(jì)算方

法。

票【例題分析】

柒60條指令操作碼字段(OP)至少需占用6位;尋址方式有八種,所以尋

址字段3位(其中I為間接特征,X為尋址模式);形式地址①)7位。

次其指令格式如下:

151098760

OPIXD

'41MC^WuhanUniversity

尋址方式的尋址范圍如下:

尋址楨名稱IXWWfctltE尋照豳

000E=(PC)Data二D1個(gè)面

方樹001E=(PC)+D(7位)PC附近用*共128個(gè)單兀

010E=(IX)+D(16位)64K個(gè)單兀

粉器011E=R(D部分為寄存整鵡)決定CPU中有多少個(gè)可用的寄存器

懿100E=D(7位)data=(D)128個(gè)#TU

本附'礁101E=((PC)+D)(16位)熊個(gè)單兀

110E=((IX)+D)(16位)64K個(gè)單兀

1U氏(R)(16位)粗K個(gè)單兀

其中寄存器R(16位),IX演址寄存器,PC為程序計(jì)數(shù)器(16位),

皿址和相對(duì)尋址時(shí),位移量D可正可負(fù)。

松導(dǎo)

某機(jī)字長(zhǎng)16位,直接尋址空間為128字,變址時(shí)的位移量是

—64?+63,16個(gè)通用寄存器都可以作為變址寄存器,設(shè)計(jì)一套指令系統(tǒng),滿足

下列尋址類型的要求:

①直接尋址的二地址指令3條;

②變址尋址的一地址指令6條;

③寄存器尋址的二地址指令8條;

④直接尋址的一地址指令12條;

⑤零地址指令32條。

【例題分析】由于題中給出了多種尋址方式,為了簡(jiǎn)化指令設(shè)計(jì),我們可選用

擴(kuò)展操作碼方式來(lái)設(shè)計(jì)。因?yàn)樗蟮闹噶顢?shù)從①到⑤遞增,所以我們按從

①到⑤的順序來(lái)設(shè)計(jì)。

①因?yàn)橹苯訉ぶ房臻g為128字,所以直接地址為2X7位,操作碼部分應(yīng)該為2位,

則操作碼耳L學(xué)01,10o

//uhanUniversity

次②因?yàn)樽冎窌r(shí)的位移量是一64?+63,所以位移量需用7位來(lái)表示;因

為16個(gè)通用寄存器都可以作為變址寄存器,所以變址寄存器需用4位進(jìn)

行編碼;這樣一地址變址尋址指令的操作碼應(yīng)該為16—7—4=5位,從

11000開(kāi)始,順序遞增到11101為止。

黑③因?yàn)橛?6個(gè)通用寄存器,所以寄存器需用4位進(jìn)行編碼;二地址寄存

器尋址指令的操作碼位數(shù)=16-4-4=8位,從11110000開(kāi)始,順序遞

增到11110111為止。

聯(lián)④因?yàn)橹苯訉ぶ房臻g為128字,所以直接尋址的一地址為7位,操作碼部

分應(yīng)該為16—7=9位,從111110000開(kāi)始,順序遞增至IJ1111U0U為止。

黑⑤零地址指令的操作碼為16位,從1111111000000000開(kāi)始,遞增到

llllllllOOOOOllllo

此題的指令編碼格式如下

2bits7bits00

OP地址碼]地址碼2操作碼01總共三條

10

5bits4bits7bits11000

②OP器索引移量操作碼心、/

11101

8bits4bits4bits11110000

OP器索引1寄存器索引2操作碼,映8條

11110111

9bits7bits111110000

④OP地址碼操作碼—^總、共12條

111111011

16bits1111111000000000

⑤OP操作碼—,就32條

_________大學(xué)1111111000011111

fWuhanUniversity

訃事豆國(guó)畫通g庵嗎引例6

窠并算機(jī)字長(zhǎng)16位,運(yùn)算器16位,有16個(gè)通用寄存器,8和尋見(jiàn)方式,圭存客

量為64K字,指令中地址碼由尋址方式字段和寄存器字段組成,試問(wèn):

(1)雙操作數(shù)指令最多有多少條?

(2)單操作數(shù)指令最多有多少條?

(3)間接尋址的范圍有多大(單字長(zhǎng))?

(4)直接尋址的范圍有多大(雙字長(zhǎng))?

(5)變址尋址的范圍有多大(雙字長(zhǎng))?

解:(1)雙操作數(shù)指令格式如下:

V----源操作數(shù)—2<—目的操作數(shù)一A

151413111076430

0PMODSRsMODDRD

OP有2位,雙操作數(shù)指令最多有22—1=3條,留一個(gè)編碼用

(2)單操作數(shù)指令格式如下

'―2'Y-----目的W1-----

1576543210

OPMODDRD

奈OP有9位,可擴(kuò)展位為9—2=7位,所以單操作

數(shù)指令最多有27=128條。

家(3)間接尋址時(shí)指令格式為單字長(zhǎng),EA=(R)

(16位),所以間接尋址的范圍為2i6=64K。

松導(dǎo)

'41MC^WuhanUniversity

直接尋址時(shí)指令格式為雙字長(zhǎng)如下所示:

目的二操作教

1576543210

0PM0DDRD

D

《源操作數(shù)AY_________目口的3r操_LO作H數(shù)叱4________A

151413111076430

0PM0D

MODsRsDRD

D

EA=D(16位),所以直接尋址的范圍為216=64K。

(5)變址尋址時(shí)指令格式也為雙字長(zhǎng),如上所示。

EA=(R)+D(16位),所以變址尋址的范圍為2i6=64K。

松園觀學(xué)

造K>《我誕翥ty

5.7精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)和

復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)

濫5.7.1復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)

為了做到程序兼

容,同一系列計(jì)算機(jī)的新機(jī)器和高檔機(jī)的指令系統(tǒng)只能擴(kuò)充而不能減去任意一條,因

此也促使指令系統(tǒng)越來(lái)越復(fù)雜,某些計(jì)算機(jī)的指令多達(dá)幾百條。我們稱這些計(jì)算機(jī)為

復(fù)雜指令系統(tǒng)計(jì)算機(jī)(ComplexInstructionSetComputer,簡(jiǎn)稱CISC)。

CISC復(fù)雜指令系統(tǒng)計(jì)算機(jī)的其特點(diǎn)

①指令系統(tǒng)復(fù)雜龐大,指令數(shù)目一般多達(dá)2、3百條。

②尋址方式多③指令格式多

④指令字長(zhǎng)不固定

⑤可訪存指令不加限制

⑥各種指令使用頻率相差很大

⑦各種指令執(zhí)行時(shí)間相差很大

⑧大多數(shù)采用微程序控制器

WuhanUniversity

Pentium微處理器指令系統(tǒng)

節(jié),1或20或fd?或i—FTi,2或2

OOPMMOD/RMSIBDispImm

ModReg/opR/MSSIndexBase

7654321076543210

指令包括以下字段:

⑴OP(操作碼)

每條指令都有操作碼,某些指令在操作碼中還包含有操作數(shù)長(zhǎng)度W(8位,16位或32位)或立

即數(shù)是否需擴(kuò)充符號(hào)位(S)等信息。

(2)MOD/RM

MOD/RM字節(jié)分成3個(gè)字段:

Mod=ll時(shí),由RM字段(3位)指出操作數(shù)所在的寄存器;

ModW11時(shí),與RM字段(3位)一起指出操作數(shù)的24種尋址方式。

Reg/op字段(3位)可以是寄存器號(hào),或者作為3位附加的操作碼;

(3)SIB

當(dāng)MOD/RM的ModW11時(shí),需要SIB參與決定尋址方式。SIB字節(jié)分成3個(gè)字段;SS字

段(2位)指出變址寄存器的放大因子;Index字段(3位)指出變址寄存器;Base字段(3位)指出基

鎏奧色f夠上翥ty

湎直離畫圜再庵嗎R例題

表列出TPentium機(jī)的9種尋址方式名稱及有關(guān)說(shuō)明,請(qǐng)寫出對(duì)應(yīng)尋址方

式的有效地址E的計(jì)算方法。

序號(hào)尋址方式名稱說(shuō)明

(1)立即操作數(shù)在指令中

(2)寄存器操作數(shù)在某寄存器中,指令給出寄存器號(hào)

(3)直接Disp為偏移量

(4)基值B為基值寄存器

(5)基值+偏移量

(6)比例變址+偏移量I為變址寄存器,S為比例因子

(7)基值+變址+偏移量

(8)基值+比例變址+偏移量

(9)相對(duì)PC為程序計(jì)算器

解(1)E=(PC)(6)E=(I)XS+Disp

(2)E=R⑺E=(B)+⑴+Disp

(3)E=Disp(8)E=(B)+(I)XS+Disp

(4)E=(B)⑼指令地址=(PC)+Disp

⑸及XB/Disp

WuhanUniversity

裝習(xí)題5.8

University

7.2精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)

盜⑴RISC的意義

襄CISC指令系統(tǒng)很復(fù)雜,功能很強(qiáng),但不一定能提高機(jī)器的速度,原因

是:

/①CISC中采用很多復(fù)雜的尋址方式,為了計(jì)算有效地址,需花費(fèi)一定

的時(shí)間,有的指令需要多次訪問(wèn)主存器,所以執(zhí)行速度會(huì)降低。

聯(lián)②復(fù)雜指令系統(tǒng)的實(shí)現(xiàn)需要復(fù)雜的控制器來(lái)支持,且系列機(jī)為實(shí)現(xiàn)兼

容,其控制部件多用微程序控制方式來(lái)實(shí)現(xiàn),以便于指令系統(tǒng)的擴(kuò)展。

但微程序控制部件執(zhí)行一條機(jī)器指令一般需要幾個(gè)微周期,因此嚴(yán)重降

低了指令的執(zhí)行速度。

整③為了提高指令的執(zhí)行速度,CISC中常采用流水線技術(shù),但由于很多問(wèn)

題,例如指令系統(tǒng)采用變字長(zhǎng)指令,不同指令爭(zhēng)用共同資源以及轉(zhuǎn)移指

令等,使流水線的效率不高。

'41MC^WuhanUniversity

譚所以,傳統(tǒng)的CISC設(shè)計(jì)思想并不利于提高計(jì)算機(jī)的速度。而且,復(fù)雜的指令系

統(tǒng)必然增加硬件實(shí)現(xiàn)的復(fù)雜性,從而使計(jì)算機(jī)的研制周期長(zhǎng),投資高。

黑(2)RISC的特點(diǎn)

黑精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)的著眼點(diǎn)不是簡(jiǎn)單地放在簡(jiǎn)化指令系統(tǒng)上,而是通過(guò)簡(jiǎn)

化指令使計(jì)算機(jī)的結(jié)構(gòu)更加簡(jiǎn)單合理,從而提高處理速度,其主要途徑是減少

指令的執(zhí)行周期數(shù)。

*計(jì)算機(jī)執(zhí)行程序所需要的時(shí)間P可用下式表示:

濾P=IXCPIXT

黑其中I是高級(jí)語(yǔ)言程序編譯后在機(jī)器上運(yùn)行的指令數(shù),CPI為執(zhí)行每條指令所需

的平均周期數(shù),T是每個(gè)機(jī)器周期的時(shí)間。

裝由于RISC指令比較簡(jiǎn)單,原CISC機(jī)中比較復(fù)雜的指令在這里用子程序

來(lái)代替,因此RISC的I要比CISC多20%?40%。但是RISC的大多數(shù)指

令只用一個(gè)機(jī)器周期實(shí)現(xiàn),所以CPI的值要比CISC小得多。同時(shí)因?yàn)?/p>

RISC結(jié)構(gòu)簡(jiǎn)單,所以完成一個(gè)操作所經(jīng)過(guò)的數(shù)據(jù)通路較短,使得T值大

為減少。后來(lái),RISC的硬件結(jié)構(gòu)有很大改進(jìn),一個(gè)機(jī)器周期平均可完

成1條以上指令,甚至可達(dá)到幾條指令。

震RISC是在繼承CISC的成功技術(shù)并克服CISC的缺點(diǎn)的基礎(chǔ)上產(chǎn)生并發(fā)

展起來(lái)的,大部分RISC具有下述一些特點(diǎn):

黑①優(yōu)先選取使用頻率最高的一些簡(jiǎn)單指令,以及一些很有用但不復(fù)雜

的指令。避免復(fù)雜指令。

裝②大多數(shù)指令在一個(gè)機(jī)器周期內(nèi)完成

黑③采用LOAD/STORE結(jié)構(gòu)

大孝

University

LOAD(取數(shù))和STORE(存數(shù))兩種指令可以訪存;其余指令只能對(duì)存放

在寄存器中的操作數(shù)進(jìn)行處理。

-④較少的指令數(shù)和尋址方式

黑⑤固定的指令格式

盆⑥面向寄存器的結(jié)構(gòu)

為減少訪問(wèn)主存儲(chǔ)器,CPU內(nèi)應(yīng)設(shè)大量的通用寄存器。

黑⑦硬布線控制邏輯

由于指令系統(tǒng)的精簡(jiǎn),控制部件可由組合邏輯實(shí)現(xiàn),不用或少用微程序

控制,這樣可使控制部件的速度大大提高。

瑞⑧注重編譯的優(yōu)化

5.8指令系統(tǒng)舉例

裝一個(gè)較完整的指令系統(tǒng),應(yīng)包含傳送類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)

算類指令、移位指令、轉(zhuǎn)移指令、字符串指令和程序控制類指令。若統(tǒng)

一編址,則用傳送指令即可達(dá)到輸入輸出的目的;若單獨(dú)編址,則需要

專門的輸入輸出指令。

黑5.8.1SPARC的指令系統(tǒng)

黑SPARC指令系統(tǒng)是一RISC,字長(zhǎng)32位,有三種指令格式、六種指令類

型。

/(l)SPARC的指令格式

SPARC的指令格式中OP,OP2,

溫馨提示

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