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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

指令格式4.2.1

操作碼4.2.2

地址碼4.2.3

指令字長度4.2.4

指令助記符4.2.5

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

OP(Acc)Acc一地址指令單操作數(shù)運算: OP(A1)A1雙操作數(shù)運算:隱含一個操作數(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多地址指令(如四地址)這類指令功能強,一般用高檔小型機或中大型機,用于實現(xiàn)成批數(shù)據(jù)處理,字符串處理、向量或矩陣運算指令等。OPA1A2A3OPA1A2如ADD、XOR等指令05二月202315存儲器-存儲器(SS)型指令A(yù)1、A2均為存儲單元;這類指令的執(zhí)行需要多次訪存。寄存器-寄存器(RR)型指令A(yù)1、A2均為寄存器(通用寄存器、專用寄存器);這類指令的執(zhí)行不需要訪存。寄存器-存儲器(RS)型指令

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

且指令格式不同,

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

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

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

單地址指令需15條│

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

11110000A1A2......11111110A1A2

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

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

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

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

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

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

某16位系統(tǒng)中,指令格式如下所示,OP為操作碼字段,試分析指令格式特點。指令字長為_________,操作數(shù)的數(shù)目為____個。操作碼字段OP為____位,可以指定_____種操作。一個操作數(shù)在源寄存器,該類寄存器共____個,另一個操作數(shù)在________中,所以該類指令是____型指令。操作數(shù)S的地址由變址寄存器和位移量共同或一部分決定;雙字長兩6RSOP——源寄存器變址寄存器1510987430位移量(16位)雙字長二地址指令6416存儲器05二月202326TEC-XP實驗系統(tǒng)中的指令舉例單字長、雙操作數(shù)指令定長操作碼,長度為8位;兩個操作數(shù)均為寄存器尋址方式,各4位,指定R0~R15;典型指令:雙字長、雙操作數(shù)指令定長操作碼,長度為8位;一個操作數(shù)為寄存器尋址方式,4位,指定R0~R15;另一個操作數(shù)為立即尋址或直接尋址方式,16位;典型指令:傳送指令MVRRDR,SR加法指令A(yù)DDDR,SR傳送指令MVRDDR,DATALDRADR,[ADR]05二月2023274.3操作數(shù)類型機器指令對數(shù)據(jù)進行操作,數(shù)據(jù)通常分為以下四類:地址數(shù)據(jù)通過某種運算確定的操作數(shù)的有效地址;數(shù)值數(shù)據(jù)各種數(shù)制、各種編碼數(shù)據(jù);壓縮十進制數(shù);文本數(shù)據(jù)或字符數(shù)據(jù);邏輯數(shù)據(jù)由若干二進制位組成,每位的值可以是1或0。如各類指令中的存儲單元尋址方式如各類指令中的立即數(shù)尋址方式如各類指令中的標(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ù)器/指令指針寄存器記錄所要執(zhí)行指令的地址;一般在每次取指之后,其值加本條指令所占存儲單元數(shù);跳躍尋址方式當(dāng)程序執(zhí)行的流向發(fā)生變化時,指令的尋址方式;程序計數(shù)器的內(nèi)容由本條指令給出,而不是順序改變;直接尋址方式:相對尋址方式:間接尋址方式:4.4.1指令的尋址方式指令中給出要轉(zhuǎn)向的有效地址指令中給出要轉(zhuǎn)向單元與當(dāng)前單元的偏移量指令中給出保存要轉(zhuǎn)向地址的寄存器或存儲單元05二月202330指令的尋址演示動畫演示:

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

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

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

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

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

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

A

尋址特征立即數(shù)

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

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

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

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

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

可自動增減量;變址尋址適用于數(shù)組、字符串等成批連續(xù)數(shù)據(jù)處理指令;變址寄存器可用通用寄存器充當(dāng),一般包含多個;上圖中采用通用寄存器R0作為變址寄存器;05二月202341OPA操作數(shù)主存尋址特征ALU專用R9、相對尋址方式是基址尋址的一種變通;程序計數(shù)器PC提供基準(zhǔn)地址;形式地址作為位移量D,可正可負(fù);EA=(PC)+D;相對尋址方式常用于轉(zhuǎn)移類指令中;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)如下所示: 通過I,X,D的組合,請寫出下表所示的六種尋址方式的名稱。OP——通用寄存器間址標(biāo)志I尋址模式X偏移量D6位——4位1位2位16位IX有效地址E的算法說明尋址方式000E=D100E=(D)111E=(R3)R3為通用寄存器001E=(PC)+DPC位程序計數(shù)器010E=(R2)+DR2為變址寄存器011E=(R1)+DR1為基址寄存器直接尋址相對尋址寄存器間接尋址間接尋址基址尋址變址尋址05二月202344【例3】

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

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

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

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

MOV001010,STO011011,LAD11110011110000

1111

0001001111001101001000101000

0101

011001101111

1101

011000101000011100

1100

001000101005二月2023504.5

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

設(shè)某機字長16位,直接尋址空間為128字,變址時的位移量為-64~+63,16個通用寄存器都可以作為變址寄存器,請設(shè)計一套指令系統(tǒng),滿足下列尋址類型的要求: (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

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

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

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

00000000XXXXXXXXXXXX11111110XXXXXXXXXXXX11111111000000XXXXXX

11111111111110XXXXXX

11111111111111000000

11111111111111111111

雙操作數(shù)255條

單操作數(shù)63條

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

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

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

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

X=11相對尋址有效地址E=(PC)+D(64K)其中R為變址寄存器(16位)、PC為程序計數(shù)器(16位)。相對尋址和變址尋址中,D可正可負(fù)。本章綜合舉例4OP(6位)X(2位)D(8位)05二月2023572009年考研真題16.某機器字長16位,主存按字節(jié)編址,轉(zhuǎn)移指令采用相對尋址,由兩個字節(jié)組成,第一字節(jié)為操作碼字段,第二字節(jié)為相對位移量字段。假定取指令時,每取一個字節(jié)PC自動加1。若某轉(zhuǎn)移指令所在主存地址為2000H,相對位移量字段的內(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,則變址尋址方式下訪問到的操作數(shù)是()

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

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

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

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論