第4章指令系統(tǒng)_第1頁(yè)
第4章指令系統(tǒng)_第2頁(yè)
第4章指令系統(tǒng)_第3頁(yè)
第4章指令系統(tǒng)_第4頁(yè)
第4章指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章指令系統(tǒng)05二月20232目錄4.1指令系統(tǒng)的發(fā)展與性能要求4.2指令格式4.3操作數(shù)類(lèi)型4.4指令和數(shù)據(jù)的尋址方式4.5典型指令4.6本章練習(xí)題05二月202334.1

指令系統(tǒng)的發(fā)展和性能要求4.1.1

指令系統(tǒng)的發(fā)展4.1.2

對(duì)指令系統(tǒng)性能的要求4.1.3

低級(jí)語(yǔ)言與硬件結(jié)構(gòu)的關(guān)系(略)05二月202344.1.1指令系統(tǒng)的發(fā)展程序——用于解決實(shí)際問(wèn)題的一系列的指令;指令——使計(jì)算機(jī)執(zhí)行某種操作的命令;從組成的層次結(jié)構(gòu)來(lái)說(shuō),計(jì)算機(jī)的指令可分為如下3類(lèi):微指令:微程序級(jí)的命令,它屬于硬件;機(jī)器指令(指令):可完成一個(gè)獨(dú)立的算術(shù)或邏輯運(yùn)算;宏指令:由若干條機(jī)器指令組成的軟件指令,它屬于軟件;指令系統(tǒng):一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合。由機(jī)器的硬件結(jié)構(gòu)直接決定,影響機(jī)器的適用范圍。05二月20235計(jì)算機(jī)指令系統(tǒng)的發(fā)展過(guò)程50年代只有定點(diǎn)加減、邏輯運(yùn)算、數(shù)據(jù)傳送、轉(zhuǎn)移等十幾至幾十條指令。60年代后期增加了乘除運(yùn)算、浮點(diǎn)運(yùn)算、十進(jìn)制運(yùn)算、字符串處理等指令,指令數(shù)目多達(dá)一二百條,尋址方式也趨多樣化。出現(xiàn)了系列計(jì)算機(jī)。70年代末期復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)、精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)

早期的X86處理器(486之前)都是CISC指令系統(tǒng);奔騰系列CPU使用了RISC和CISC構(gòu)架相結(jié)合的辦法;05二月20236系列計(jì)算機(jī)基本指令系統(tǒng)、基本體系結(jié)構(gòu)相同的一系列計(jì)算機(jī);但具體的器件、結(jié)構(gòu)和性能都不會(huì)完全相同;一般,新機(jī)種在各方面要優(yōu)于舊機(jī)種。一個(gè)系列往往有多種型號(hào),各型號(hào)計(jì)算機(jī)的指令系統(tǒng)是向下兼容的。新機(jī)種的指令系統(tǒng)包含舊機(jī)種的全部指令;如Pentium系列PC機(jī)。05二月20237CISCCISC(complexinstructionsetcomputer)采用復(fù)雜的的指令系統(tǒng),來(lái)達(dá)到增強(qiáng)計(jì)算機(jī)的功能、提高機(jī)器速度的目的。特點(diǎn):指令系統(tǒng)復(fù)雜龐大,指令數(shù)目多;指令格式多,指令字長(zhǎng)不固定,多種尋址方式;CPU內(nèi)采用專(zhuān)用寄存器,指令訪(fǎng)存不受限制;各種指令的執(zhí)行時(shí)間相差很大;大都采用微程序控制器;05二月20238RISCRISC(Reducedinstructionsetcomputer)從簡(jiǎn)化指令系統(tǒng)和優(yōu)化硬件設(shè)計(jì)的角度來(lái)提高系統(tǒng)的性能與速度。RISC指令系統(tǒng)的主要特點(diǎn):選取使用頻率高的簡(jiǎn)單指令;指令長(zhǎng)度固定,指令格式少,尋址方式種類(lèi)少;采用流水線(xiàn)技術(shù);使用較多的通用寄存器,減少訪(fǎng)存;控制器以組合邏輯控制為主;采用優(yōu)化編譯技術(shù);05二月202394.1.2指令系統(tǒng)性能的要求完備性常用指令齊全,編程方便;有效性程序占用內(nèi)存少,運(yùn)行速度快;規(guī)整性指令和數(shù)據(jù)的使用規(guī)則統(tǒng)一,易學(xué)易記;規(guī)整性包括以下三方面的要求:對(duì)稱(chēng)性:所有指令的操作數(shù)都可使用各種尋址方式;勻齊性:一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類(lèi)型;指令格式和數(shù)據(jù)長(zhǎng)度的一致性:方便處理和存?。患嫒菪酝幌盗械牡蜋n計(jì)算機(jī)的程序能夠在新的高檔計(jì)算機(jī)上運(yùn)行。試使用此標(biāo)準(zhǔn)衡量8086指令系統(tǒng)和TEC-XP指令系統(tǒng)。05二月2023104.2

指令格式4.2.1

操作碼4.2.2

地址碼4.2.3

指令字長(zhǎng)度4.2.4

指令助記符4.2.5

指令格式舉例05二月202311指令的一般格式指令字(簡(jiǎn)稱(chēng)指令)表示一條指令的機(jī)器字。指令格式指令字用二進(jìn)制代碼表示的結(jié)構(gòu)形式,由操作碼字段和地址碼字段組成。操作碼字段:表征指令的操作特性與功能;地址碼字段:通常指定參與操作的操作數(shù)的地址。操作碼字段OP地址碼字段A05二月2023124.2.1操作碼操作碼字段的位數(shù)取決于指令系統(tǒng)的規(guī)模;操作碼的類(lèi)型:固定長(zhǎng)度的操作碼特征:所有指令長(zhǎng)度均相同。優(yōu)點(diǎn):控制簡(jiǎn)單,速度快,適用于指令條數(shù)不多的場(chǎng)合??勺冮L(zhǎng)度的操作碼特征:利用操作碼擴(kuò)展技術(shù)將操作碼擴(kuò)展到地址碼字段,使各類(lèi)指令的操作碼長(zhǎng)度不相同;優(yōu)點(diǎn):充分利用軟硬件資源,適用于大規(guī)模的指令系統(tǒng)。操作碼字段為4位,則指令系統(tǒng)中的指令數(shù)目為24=16條。05二月2023134.2.2地址碼(1/2)一條指令格式中有幾個(gè)地址碼字段,就稱(chēng)為是幾地址指令;零地址指令無(wú)任何操作數(shù)運(yùn)算,如NOP、HALT等指令。單操作數(shù)運(yùn)算:隱含一個(gè)操作數(shù),如Acc。

OP(Acc)Acc一地址指令單操作數(shù)運(yùn)算: OP(A1)A1雙操作數(shù)運(yùn)算:隱含一個(gè)操作數(shù),如Acc (Acc)OP(A1)Acc/A1OPOPA1如INC指令如MUL指令如CBW指令05二月2023144.2.2地址碼(2/2)兩地址指令功能:(A1)OP(A2)A1

按操作數(shù)的尋址方式可分為RR型、RS型、SS型三種。三地址指令 功能:(A1)OP(A2)A3多地址指令(如四地址)這類(lèi)指令功能強(qiáng),一般用高檔小型機(jī)或中大型機(jī),用于實(shí)現(xiàn)成批數(shù)據(jù)處理,字符串處理、向量或矩陣運(yùn)算指令等。OPA1A2A3OPA1A2如ADD、XOR等指令05二月202315存儲(chǔ)器-存儲(chǔ)器(SS)型指令A(yù)1、A2均為存儲(chǔ)單元;這類(lèi)指令的執(zhí)行需要多次訪(fǎng)存。寄存器-寄存器(RR)型指令A(yù)1、A2均為寄存器(通用寄存器、專(zhuān)用寄存器);這類(lèi)指令的執(zhí)行不需要訪(fǎng)存。寄存器-存儲(chǔ)器(RS)型指令

A1、A2中一個(gè)為寄存器,一個(gè)為存儲(chǔ)單元;執(zhí)行此類(lèi)指令時(shí),既要訪(fǎng)問(wèn)內(nèi)存單元,又要訪(fǎng)問(wèn)寄存器。兩地址指令的分類(lèi)根據(jù)操作數(shù)的物理位置分。OPA1A2哪種類(lèi)型指令執(zhí)行速度較快,哪種指令較慢?為什么?05二月202316指令的操作碼擴(kuò)展技術(shù)(補(bǔ)充)一個(gè)指令系統(tǒng)中若操作碼長(zhǎng)度固定

且指令格式不同,

指令格式如右:操作碼字段長(zhǎng)度取決于指令系統(tǒng)中的指令總數(shù)目;地址碼較少的指令,編碼浪費(fèi);操作碼擴(kuò)展對(duì)于地址碼較少的指令,把它們的操作碼擴(kuò)充到不用的地址碼字段;既充分利用指令字的各字段,又在不增加指令長(zhǎng)度的情況下擴(kuò)展操作碼的長(zhǎng)度。OPA1A2A3OPA1A2OPOPA1無(wú)用無(wú)用無(wú)用無(wú)用無(wú)用無(wú)用05二月202317

設(shè)某指令長(zhǎng)16位,包括4位基本操作碼字段和3個(gè)4位地址碼字段。若全是三地址指令,則最多能有多少條指令?操作碼為4位的,則指令條數(shù)為24=16。若三地址指令需15條─┐

兩地址指令需15條│應(yīng)如何安排?

單地址指令需15條│

零地址指令需16條─┘若采用固定操作碼,則需要6位操作碼編碼;若操作碼編碼仍采用4位,則可使用操作碼擴(kuò)展技術(shù);操作碼擴(kuò)展舉例(1/3)OPA1A2A305二月2023180000A1A2A3......1110A1A2A3

11110000A1A2......11111110A1A2

111111110000A1......111111111110A11111111111110000......111111111111111115條三地址指令15條二地址指令15條一地址指令16條零地址指令此指令系統(tǒng)共具有61條指令4位操作碼8位操作碼12位操作碼16位操作碼如果采用操作碼擴(kuò)展方法能否設(shè)計(jì)一個(gè)具有三地址指令15條,雙地址指令12條,單地址指令32條以及零地址指令16條的指令系統(tǒng)?操作碼擴(kuò)展舉例(2/3)05二月2023190000A1A2A3......1110A1A2A311110000A1A2......11111011A1A2111111000000A1......111111011111A11111111000000000......111111100000111115條三地址指令12條二地址指令32條一地址指令16條零地址指令此指令系統(tǒng)共具有75條指令,還可擴(kuò)展指令。操作碼擴(kuò)展舉例(3/3)4位操作碼8位操作碼12位操作碼16位操作碼05二月202320【例1】某機(jī)指令字長(zhǎng)32位,一個(gè)操作數(shù)地址為12位,有雙地址碼、單地址碼、零地址碼3種格式的指令。

若采用擴(kuò)展操作碼的方式來(lái)設(shè)計(jì)指令,已知雙地址碼指令K條,單地址碼指令L條,問(wèn)零地址碼指令有多少條?雙地址碼指令操作碼長(zhǎng)度為(32-12×2)=8位;單地址碼指令操作碼長(zhǎng)度為(32-12)=20位;操作碼的可擴(kuò)展位為20-8=12位。零地址碼指令操作碼長(zhǎng)度為32位操作碼的可擴(kuò)展位為32-20=12位。OP(8位)A1(12位)A2(12位)OP(8位)擴(kuò)展操作碼(12位)A2(12位)OP(8位)擴(kuò)展操作碼(12位)擴(kuò)展操作碼(12位)05二月202321【例1】某機(jī)指令字長(zhǎng)32位,一個(gè)操作數(shù)地址為12位,有雙地址碼、單地址碼、零地址碼3種格式的指令。

若采用擴(kuò)展操作碼的方式來(lái)設(shè)計(jì)指令,已知雙地址碼指令K條,單地址碼指令L條,問(wèn)零地址碼指令有多少條?由以上分析的指令格式,及題目可知:雙地址碼指令最多有28條;可用于擴(kuò)展單地址碼指令的編碼有(28-K)個(gè);單地址碼指令最多有(28-K)×212條:可用于擴(kuò)展零地址碼指令的編碼有[(28-K)×212-L]個(gè);因此,零地址碼指令最多有[(28-K)×212

-L]×212條。05二月202322機(jī)器字長(zhǎng)運(yùn)算器一次能處理的二進(jìn)制數(shù)的位數(shù)。指令字長(zhǎng)一個(gè)指令字中包含二進(jìn)制代碼的位數(shù);指令字長(zhǎng)由操作碼長(zhǎng)度、操作數(shù)長(zhǎng)度和個(gè)數(shù)共同決定。指令有半字長(zhǎng)、單字長(zhǎng)、雙字長(zhǎng)、多字長(zhǎng)等不同的長(zhǎng)度類(lèi)型;指令系統(tǒng)可分為等長(zhǎng)指令字結(jié)構(gòu)、變長(zhǎng)指令字結(jié)構(gòu)兩種;等長(zhǎng)指令字執(zhí)行時(shí),控制器容易解析,但指令類(lèi)型受限;變長(zhǎng)指令字執(zhí)行時(shí),控制器解析復(fù)雜,但指令類(lèi)型靈活;4.2.3指令字長(zhǎng)度05二月2023234.2.4指令助記符指令助記符使用3~4個(gè)英文縮寫(xiě)字母來(lái)表示的指令操作碼。在不同的計(jì)算機(jī)中,指令助記符的規(guī)定是不一樣的;指令助記符只是指令操作碼字段的一種表示方法;機(jī)器內(nèi)部保存的還是二進(jìn)制代碼形式的機(jī)器指令;由匯編或編譯程序,將助記符翻譯成機(jī)器代碼。05二月2023244.2.5指令格式舉例(1/2)P110【例1】

某16位系統(tǒng)中,指令格式如下所示,其中OP為操作碼,試分析指令格式的特點(diǎn)。指令字長(zhǎng)為_(kāi)________,操作數(shù)的數(shù)目為_(kāi)___個(gè)。該指令格式的指令最多可有_____條。根據(jù)此二地址指令的操作數(shù)位置來(lái)看,屬于____型指令。

RS型、RR型、SS型OP——源寄存器目的寄存器15987430單字長(zhǎng)兩128RR單字長(zhǎng)二地址指令05二月2023254.2.5指令格式舉例(2/2)P110【例2】

某16位系統(tǒng)中,指令格式如下所示,OP為操作碼字段,試分析指令格式特點(diǎn)。指令字長(zhǎng)為_(kāi)________,操作數(shù)的數(shù)目為_(kāi)___個(gè)。操作碼字段OP為_(kāi)___位,可以指定_____種操作。一個(gè)操作數(shù)在源寄存器,該類(lèi)寄存器共____個(gè),另一個(gè)操作數(shù)在________中,所以該類(lèi)指令是____型指令。操作數(shù)S的地址由變址寄存器和位移量共同或一部分決定;雙字長(zhǎng)兩6RSOP——源寄存器變址寄存器1510987430位移量(16位)雙字長(zhǎng)二地址指令6416存儲(chǔ)器05二月202326TEC-XP實(shí)驗(yàn)系統(tǒng)中的指令舉例單字長(zhǎng)、雙操作數(shù)指令定長(zhǎng)操作碼,長(zhǎng)度為8位;兩個(gè)操作數(shù)均為寄存器尋址方式,各4位,指定R0~R15;典型指令:雙字長(zhǎng)、雙操作數(shù)指令定長(zhǎng)操作碼,長(zhǎng)度為8位;一個(gè)操作數(shù)為寄存器尋址方式,4位,指定R0~R15;另一個(gè)操作數(shù)為立即尋址或直接尋址方式,16位;典型指令:傳送指令MVRRDR,SR加法指令A(yù)DDDR,SR傳送指令MVRDDR,DATALDRADR,[ADR]05二月2023274.3操作數(shù)類(lèi)型機(jī)器指令對(duì)數(shù)據(jù)進(jìn)行操作,數(shù)據(jù)通常分為以下四類(lèi):地址數(shù)據(jù)通過(guò)某種運(yùn)算確定的操作數(shù)的有效地址;數(shù)值數(shù)據(jù)各種數(shù)制、各種編碼數(shù)據(jù);壓縮十進(jìn)制數(shù);文本數(shù)據(jù)或字符數(shù)據(jù);邏輯數(shù)據(jù)由若干二進(jìn)制位組成,每位的值可以是1或0。如各類(lèi)指令中的存儲(chǔ)單元尋址方式如各類(lèi)指令中的立即數(shù)尋址方式如各類(lèi)指令中的標(biāo)志位判斷部分05二月2023284.4

指令和數(shù)據(jù)的尋址方式4.4.1

指令的尋址方式4.4.2

操作數(shù)尋址方式4.4.3

尋址方式舉例05二月202329順序?qū)ぶ贩绞疆?dāng)程序執(zhí)行的流向不發(fā)生變化時(shí),指令的尋址方式;由程序計(jì)數(shù)器/指令指針寄存器記錄所要執(zhí)行指令的地址;一般在每次取指之后,其值加本條指令所占存儲(chǔ)單元數(shù);跳躍尋址方式當(dāng)程序執(zhí)行的流向發(fā)生變化時(shí),指令的尋址方式;程序計(jì)數(shù)器的內(nèi)容由本條指令給出,而不是順序改變;直接尋址方式:相對(duì)尋址方式:間接尋址方式:4.4.1指令的尋址方式指令中給出要轉(zhuǎn)向的有效地址指令中給出要轉(zhuǎn)向單元與當(dāng)前單元的偏移量指令中給出保存要轉(zhuǎn)向地址的寄存器或存儲(chǔ)單元05二月202330指令的尋址演示動(dòng)畫(huà)演示:

指令尋址方式.swfLDA1000ADD1001DEC1200JMP7LDA2000SUB2001INCSTA2500LDA1100...0123456789PC+1指令的尋址方式指令地址指令順序?qū)ぶ?順序?qū)ぶ?跳躍尋址3順序?qū)ぶ?順序?qū)ぶ?05二月202331練習(xí)題1、某計(jì)算機(jī)存儲(chǔ)器按字編址(16位),讀取這條指令后,PC的值自動(dòng)加1,則說(shuō)明該指令的長(zhǎng)度是()個(gè)字節(jié)。

A.1 B.2 C.3 D.42、設(shè)某存儲(chǔ)器按字編址,相對(duì)尋址的轉(zhuǎn)移指令占兩個(gè)字節(jié),第一個(gè)字節(jié)是操作碼,第二個(gè)字節(jié)是相對(duì)位移量(用補(bǔ)碼表示)。每當(dāng)CPU從存儲(chǔ)器取出一個(gè)字節(jié)時(shí),即自動(dòng)完成PC+1PC。 (1)設(shè)當(dāng)前PC的內(nèi)容為2003H,要求轉(zhuǎn)移到200AH,則該轉(zhuǎn)移指令第二個(gè)字節(jié)的內(nèi)容應(yīng)為()。

A.05H B.06H C.07H

(2)若PC的內(nèi)容為2008H,要求轉(zhuǎn)移到2001H,則該轉(zhuǎn)移指令第二個(gè)字節(jié)的內(nèi)容應(yīng)為()。

A.0F7H B.0F8H C.0F9HBAA05二月2023324.3.2操作數(shù)的尋址方式一種單地址碼指令的結(jié)構(gòu)如下圖:地址碼字段,包括尋址特征位和形式地址部分;A字段長(zhǎng)度決定了操作數(shù)或操作數(shù)地址的位數(shù);典型而常用的尋址方式有隱含尋址、立即尋址、寄存器尋址、寄存器間接尋址、直接尋址、間接尋址、偏移尋址、堆棧尋址;具體的指令系統(tǒng)中,尋址方式可以單獨(dú)或組合使用;操作碼OP變址X間址I形式地址A尋址特征位用于區(qū)分形式地址A所用的尋址方式動(dòng)畫(huà)演示:

操作數(shù)的尋址方式.swf給出操作數(shù)、或其地址信息05二月202333操作數(shù)地址隱含在操作碼中;如8086的MUL指令被乘數(shù)隱含在AX(16位)或AL(8位)中;指令字中少了一個(gè)地址字段,可縮短指令字長(zhǎng);MULA操作數(shù)主存尋址特征AACC暫存ALU另一個(gè)操作數(shù)隱含在ACC中1、隱含尋址05二月202334形式地址A就是操作數(shù);優(yōu)點(diǎn):指令執(zhí)行階段不需要訪(fǎng)存,速度快;缺點(diǎn):形式地址A字段的位數(shù)限制了立即數(shù)的范圍。2、立即尋址OP

A

尋址特征立即數(shù)

可正可負(fù),補(bǔ)碼表示05二月202335有效地址由形式地址字段A直接給出;EA=A特點(diǎn)執(zhí)行階段訪(fǎng)問(wèn)一次存儲(chǔ)器;A的位數(shù)決定了該指令操作數(shù)的尋址范圍;改變操作數(shù)麻煩(必須修改指令中的A字段);操作數(shù)主存尋址特征OPAAACC3、直接尋址05二月202336OPA尋址特征AEA主存EAA1EAA1主存EA10OPA尋址特征A一次間址多次間址操作數(shù)操作數(shù)4、間接尋址有效地址由形式地址字段A間接提供,EA=(A)特點(diǎn)可擴(kuò)大尋址范圍;A字段的長(zhǎng)度受指令字長(zhǎng)和指令格式的限制;尋址時(shí),可根據(jù)需要進(jìn)行多次間址,但影響指令執(zhí)行速度;可用尋址特征I字段區(qū)分直接尋址和間接尋址方式;05二月202337形式地址字段A為寄存器編號(hào);OPR=(Ri)特點(diǎn)執(zhí)行階段不訪(fǎng)存,只訪(fǎng)問(wèn)寄存器,執(zhí)行速度快;寄存器個(gè)數(shù)有限,占用的指令位較少,可有效地縮短指令字長(zhǎng);OPA(Ri)尋址特征操作數(shù)………………R0RiRn寄存器組5、寄存器尋址05二月202338形式地址字段A用于指出存放有效地址的寄存器編號(hào);EA=(Ri)特點(diǎn):指令執(zhí)行階段需要訪(fǎng)存;便于編制循環(huán)程序;操作數(shù)主存OPA(Ri)尋址特征地址………………R0RiRn寄存器6、寄存器間接尋址05二月202339OPA操作數(shù)主存尋址特征ALUBR7、基址尋址方式由基址寄存器和形式地址A形成

操作數(shù)有效地址;

EA=(基址R)+A形式地址相當(dāng)于位移量,可正可負(fù);基址寄存器可以是專(zhuān)用寄存器,或者使用通用寄存器;若使用通用寄存器作為基址寄存器,則需在指令地址碼字段中顯式指出該寄存器;基址尋址可以實(shí)現(xiàn)地址的重定位,擴(kuò)大直接尋址空間;例如,P102圖3.37中頁(yè)表基址寄存器的作用;05二月202340操作數(shù)主存尋址特征ALUOPR0A通用寄存器R0Rn-1R1…8、變址尋址方式由變址寄存器和形式地址A形成

操作數(shù)有效地址;

EA=(變址R)+A形式地址A作為基準(zhǔn)地址;變址寄存器作為可修改量,

可自動(dòng)增減量;變址尋址適用于數(shù)組、字符串等成批連續(xù)數(shù)據(jù)處理指令;變址寄存器可用通用寄存器充當(dāng),一般包含多個(gè);上圖中采用通用寄存器R0作為變址寄存器;05二月202341OPA操作數(shù)主存尋址特征ALU專(zhuān)用R9、相對(duì)尋址方式是基址尋址的一種變通;程序計(jì)數(shù)器PC提供基準(zhǔn)地址;形式地址作為位移量D,可正可負(fù);EA=(PC)+D;相對(duì)尋址方式常用于轉(zhuǎn)移類(lèi)指令中;05二月20234210、堆棧尋址方式隱含尋址方式的一種變形;其隱含的操作數(shù)在堆棧段中;由棧頂指針指定;8086堆棧指令舉例入棧指令PUSHSRCSP-2SP ;SRC[SP]出棧指令POPDST[SP]DST ;SP+2SP–21FFEH+22000H棧頂棧底2000HSP2000H……1FFEHSP1FFEH棧頂棧底入棧出棧1FFEH棧頂2000H棧頂05二月2023434.4.3尋址方式舉例P118【例3】

一種二地址RS型指令的結(jié)構(gòu)如下所示: 通過(guò)I,X,D的組合,請(qǐng)寫(xiě)出下表所示的六種尋址方式的名稱(chēng)。OP——通用寄存器間址標(biāo)志I尋址模式X偏移量D6位——4位1位2位16位IX有效地址E的算法說(shuō)明尋址方式000E=D100E=(D)111E=(R3)R3為通用寄存器001E=(PC)+DPC位程序計(jì)數(shù)器010E=(R2)+DR2為變址寄存器011E=(R1)+DR1為基址寄存器直接尋址相對(duì)尋址寄存器間接尋址間接尋址基址尋址變址尋址05二月202344【例3】

某指令系統(tǒng)中有64條單字長(zhǎng)(32位)二地址RS型指令,已知系統(tǒng)中通用寄存器16個(gè),操作數(shù)S可選用直接尋址、間接尋址、變址尋址、基址尋址、相對(duì)尋址、寄存器間接尋址6種尋址方式,采用專(zhuān)用的基址和變址寄存器。指令格式應(yīng)如何設(shè)計(jì)?二地址RS型指令格式如上圖;操作碼應(yīng)為6位,對(duì)應(yīng)64種指令;R操作數(shù)應(yīng)為4位,選擇16個(gè)通用寄存器;S操作數(shù)應(yīng)包含尋址特征和形式地址兩部分;尋址特征需要3位,區(qū)分6種尋址方式;形式地址字段為32-6-4-3=19位;OPRS尋址特征形式地址05二月202345【例3】

某指令系統(tǒng)中有64條單字長(zhǎng)(32位)二地址RS型指令,已知系統(tǒng)中通用寄存器16個(gè),操作數(shù)S可選用直接尋址、間接尋址、變址尋址、基址尋址、相對(duì)尋址、寄存器間接尋址6種尋址方式,采用專(zhuān)用的基址和變址寄存器。直接尋址方式中,可直接尋址的存儲(chǔ)空間為多大?直接尋址空間由形式地址字段決定;直接尋址空間為219=512K個(gè)單元;寄存器間接尋址方式中,可尋址的存儲(chǔ)空間為多大?寄存器間接尋址方式EA=(R);假定該存儲(chǔ)系統(tǒng)的有效地址為32位;尋址過(guò)程計(jì)算的EA應(yīng)按232取模;因此,尋址空間為232=4G個(gè)單元;OP6位R4位S尋址特征3位形式地址19位OP6位R4位S特征3位R4位無(wú)用位15位05二月202346【例4】

某16位機(jī)的指令格式和尋址方式如下所示,設(shè)該機(jī)有兩個(gè)20位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)16位通用寄存器,指令格式中S(源),D(目標(biāo))指通用寄存器,M指主存單元。

操作碼對(duì)應(yīng)機(jī)器碼:傳送指令MOV0AH、寫(xiě)數(shù)指令STO1BH、讀數(shù)指令LAD3CH。05二月202347第一種指令是單字長(zhǎng)二地址指令,RR型;第二種指令是雙字長(zhǎng)二地址指令,RS型,其中S采用基址尋址或變址尋址,R由源寄存器決定;第三種指令是雙字長(zhǎng)二地址指令,RS型,其中R由目標(biāo)寄存器決定,S由20位地址(直接尋址)決定。(1)分析三種指令的指令格式與尋址方式特點(diǎn)。05二月202348(2)CPU完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長(zhǎng)?第二種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎?第一種指令所花時(shí)間最短;是RR型指令,不需要訪(fǎng)問(wèn)存儲(chǔ)器。第二種指令所花時(shí)間最長(zhǎng);RS型指令,需要訪(fǎng)問(wèn)存儲(chǔ)器,同時(shí)要進(jìn)行尋址方式的變換運(yùn)算(基址或變址),這也需要時(shí)間。第二種指令的執(zhí)行時(shí)間不會(huì)等于第三種指令第三種指令雖然也訪(fǎng)問(wèn)存儲(chǔ)器,但節(jié)省了求有效地址運(yùn)算的時(shí)間開(kāi)銷(xiāo)。05二月202349(F0F1)H(3CD2)H指令代表LAD指令,編碼正確,其含義是把主存13CD2H地址單元的內(nèi)容取至15號(hào)寄存器。(2856)H指令代表MOV指令,編碼正確,含義是把6號(hào)源寄存器的內(nèi)容傳送至5號(hào)目標(biāo)寄存器。(6FD6)H單字長(zhǎng)指令,一定是MOV指令,但編碼錯(cuò)誤,可改為2BD6H。(1C2)H單字長(zhǎng)指令,代表MOV指令,但編碼錯(cuò)誤,可改為28C2H。(3)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令?

MOV001010,STO011011,LAD11110011110000

1111

0001001111001101001000101000

0101

011001101111

1101

011000101000011100

1100

001000101005二月2023504.5

典型指令分類(lèi)1.數(shù)據(jù)傳送指令2.算術(shù)運(yùn)算指令3.邏輯運(yùn)算指令4.程序控制指令5.輸入輸出指令6.字符串處理指令7.特權(quán)指令8.其他指令05二月202351

設(shè)某機(jī)字長(zhǎng)16位,直接尋址空間為128字,變址時(shí)的位移量為-64~+63,16個(gè)通用寄存器都可以作為變址寄存器,請(qǐng)?jiān)O(shè)計(jì)一套指令系統(tǒng),滿(mǎn)足下列尋址類(lèi)型的要求: (1)直接尋址的二地址指令3條; (2)變址尋址的一地址指令6條; (3)寄存器尋址的二地址指令8條; (4)直接尋址的一地址指令12條; (5)零地址指令32條。本章綜合舉例105二月202352指令分析(1/2)直接尋址的二地址指令3條:這3條指令的操作碼為00、01、10;變址尋址的一地址指令6條:這6條指令的操作碼為:11000~11101操作碼OP直接地址1直接地址27位操作碼OP變址寄存器偏移量7位2位7位4位5位05二月202353指令分析(2/2)寄存器尋址的二地址指令8條:這8條指令的操作碼為11110000~11110111;直接尋址的一地址指令12條:這12條指令的操作碼為:111110000~111111011零地址指令32條:這32條指令的操作碼為:

1111111000000000~1111111000011111

操作碼OP寄存器1寄存器24位4位8位操作碼OP直接地址17位9位操作碼OP16位05二月202354

某計(jì)算機(jī)數(shù)據(jù)線(xiàn)和地址線(xiàn)均是8根,有一條相對(duì)尋址的無(wú)條件轉(zhuǎn)移指令存于內(nèi)存的20H單元中,指令給出的偏移量是15H,設(shè)該指令占用2個(gè)字節(jié),請(qǐng)計(jì)算:(1)取該條指令時(shí)PC的內(nèi)容。(2)該指令執(zhí)行結(jié)束時(shí)PC的內(nèi)容。解答:(1)取指令時(shí),PC的內(nèi)容為20H。(2)轉(zhuǎn)移地址=PC+2+D=20H+2+15H=37H

該條指令執(zhí)行結(jié)束時(shí)PC的內(nèi)容是37H。本章綜合舉例205二月202355本章綜合舉例3

某指令系統(tǒng)指令字長(zhǎng)為20位,具有雙操作數(shù)、單操作數(shù)和無(wú)操作數(shù)3種指令格式,每個(gè)操作數(shù)地址規(guī)定用6位表示,當(dāng)雙操作數(shù)指令條數(shù)取最大值,而且單操作數(shù)指令條數(shù)也取最大值時(shí),這3種指令最多可能擁有的指令數(shù)各是多少?解:按操作碼擴(kuò)展技術(shù)來(lái)設(shè)計(jì),雙操作數(shù)指令最多28-1條,單操作數(shù)指令最多63條,因此無(wú)操作數(shù)指令條數(shù)的最大值為64條。

00000000XXXXXXXXXXXX11111110XXXXXXXXXXXX11111111000000XXXXXX

11111111111110XXXXXX

11111111111111000000

11111111111111111111

雙操作數(shù)255條

單操作數(shù)63條

零操作數(shù)64條05二月202356某機(jī)器字長(zhǎng)為16位,主存容量是64K字,有專(zhuān)用的變址寄存器,采用單字長(zhǎng)單地址指令,共有54條指令。試采用直接、立即、變址、相對(duì)四種尋址方式設(shè)計(jì)指令格式。解答:54條指令,故操作碼需要6位。因?yàn)樗姆N尋址方式,所以尋址特征位取2位,余下的8位作為形式地址D。其指令格式為尋址模式X定義如下:

X=00直接尋址有效地址E=D(256個(gè)單元)

X=01立即尋址D=操作數(shù)

X=10變址尋址有效地址E=(R)+D(64K)

X=11相對(duì)尋址有效地址E=(PC)+D(64K)其中R為變址寄存器(16位)、PC為程序計(jì)數(shù)器(16位)。相對(duì)尋址和變址尋址中,D可正可負(fù)。本章綜合舉例4OP(6位)X(2位)D(8位)05二月2023572009年考研真題16.某機(jī)器字長(zhǎng)16位,主存按字節(jié)編址,轉(zhuǎn)移指令采用相對(duì)尋址,由兩個(gè)字節(jié)組成,第一字節(jié)為操作碼字段,第二字節(jié)為相對(duì)位移量字段。假定取指令時(shí),每取一個(gè)字節(jié)PC自動(dòng)加1。若某轉(zhuǎn)移指令所在主存地址為2000H,相對(duì)位移量字段的內(nèi)容為06H,則該轉(zhuǎn)移指令成功轉(zhuǎn)以后的目標(biāo)地址是()

A.2006HB.2007HC.2008HD.2009HC2013年考研統(tǒng)考第17題17、假設(shè)變址寄存器R的內(nèi)容為1000H,指令中的形式地址為2000H;地址1000H中的內(nèi)容為2000H,地址2000H中的內(nèi)容為3000H,地址3000H中的內(nèi)容為4000H,則變址尋址方式下訪(fǎng)問(wèn)到的操作數(shù)是()

A.1000HB.2000HC.3000HD.4000H05二月202358D2014年考研統(tǒng)考第17題17、某計(jì)算機(jī)有16個(gè)通用寄存器,采用32位定長(zhǎng)指令字,操作碼字段(含尋址方式位)為8位,Store指令的源操作數(shù)和目的操作數(shù)分別采用寄存器直接尋址和基址尋址方式。若基址寄存器可使用任一通用寄存器,且偏移量用補(bǔ)碼表示,則Store指令中偏移量的取值范圍是()

A.-32768~+32767B.-32767~+32768C.-65536~+65535D.-65535~+6553605二月202359A05二月20236010年考研真題(1/4)43.(11分)某計(jì)算機(jī)字長(zhǎng)為16位,主存地址空間大小為128KB,按字編址,采用單字長(zhǎng)指令格式,指令名字段定義如下:

轉(zhuǎn)移指令采用相對(duì)尋址方式,相對(duì)偏移是用補(bǔ)碼表示,尋址方式定義如下:操作碼OPMsRsMdRdMs/Md尋址方式助記符含義000B寄存器直接Rn操作數(shù)=(Rn)001B寄存器間接(Rn)操作數(shù)=((Rn))010B寄存器間接、自增(Rn)+操作數(shù)=((Rn)),(Rn)+1→Rn011B相對(duì)D(Rn)轉(zhuǎn)移目標(biāo)地址=(PC)+(Rn)151211986532005二月20236110年考研真題(2/4)(X)表示存儲(chǔ)地址X或寄存器X中的內(nèi)容,請(qǐng)回答下列問(wèn)題:該指令系統(tǒng)最多可有多少條指令?該計(jì)算機(jī)最多有多少個(gè)通用寄存器?存儲(chǔ)器地址寄存器(MAR)和存儲(chǔ)器數(shù)據(jù)寄存器(MDR)至少各需多少位?OP字段為4位,因此該指令系統(tǒng)最多有24=16條指令;Rs/Rd字段為3位,因此最多有23=8個(gè)通用寄存器;主存空間為128KB,按字編址,128KB/2B=64K=216

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論