計算機組成原理——指令系統考研題


(一)指令格式

1.指令的基本格式
2.定長操作碼指令格式
3.擴展操作碼指令格式

(二)指令的尋址方式

1.有效地址的概念
 2.數據尋址和指令尋址
3.常見尋址方式

(三)CISC和 RISC的基本概念

2009

16.某機器字長16位,主存按字節編制,轉移指令采用相對尋址,由兩個字節組成,第一字節為操作碼字段,第二字節為相對位移量字段。假定取指令時,每取一個字節PC自動加1。若某轉移指令所在主存地址為2000H,相對位移量字段的內容為06H,則該轉移指令成功轉移后的目標地址是
    A. 2006H     B.2007H
    C. 2008H     D.2009H

答案:C
考點:PC相對尋址方式
相對尋址EA=(PC)+A;
執行轉移指令,第一步要取指令,是取指令后PC2000H的值。轉移指令由兩個字節組成,每取一個字節PC自動加1,因此取指令后PC值為2002H,故EA=(PC)+A=2002H+06H=2008H,故答案為C。

17.下列關於RISC的敘述中,錯誤的是
    A. RISC普遍采用微程序控制器
    B. RISC大多數指令在一個時鍾周期內完成
    C. RISC的內部通用寄存器數量相對CISC多
    D. RISC的指令數、尋址方式和指令格式種類相對CISC少

答案:A
考點:RISC指令集和CISC的區別

RISC精簡指令集特點:
   RISC不是簡單地簡化指令系統,而是通過簡化指令使計算機的結構更加簡單合理,從而提高運算速度。
1、僅選使用頻率高的一些簡單指令和很有用但不復雜指令,指令條數少。
2、指令長度固定,指令格式少,尋址方式少。
3、只有取數/存數指令訪問存儲器,其余指令都在寄存器中進行,即限制內存訪問。
4、CPU中通用寄存器數量相當多;大部分指令都在一個機器周期內完成。
5、以硬布線邏輯為主,不用或少用微程序控制。
6、特別重視編譯工作,以簡單有效的方式支持高級語言,減少程序執行時間。


2010

18.下列寄存器中,反匯編語言程序員可見的是()
A.存儲器地址寄存器(MAR)
B.程序計數器(PC)
C.存儲區數據寄存器(MDR)
D.指令寄存器(IR)

答案:B
考點:所謂可見,就是程序員可以對其進行主動的修改。

2011

16.偏移尋址通過將某個寄存器內容與一個形式地址相加而生成有效地址。下列尋址方式中,不屬於偏移尋址方式的是
 A.間接尋址   B.基址尋址
 C.相對尋址  D.變址尋址

答案:A
考點:偏移尋址的概念
相對尋址、變址尋址、基址尋址統稱為偏移尋址。

 

17.某機器有一個標志寄存器,其中有進位/借位標志CF、零標志ZF、符號標志SF和溢出標志OF,條件轉移指令bgt(無符號整數比較大於時轉移)的轉移條件是
A.CF+OF=1              B./ SF+ ZF =1            
C. / (CF+ ZF) =1             D./ (CF+ SF) =1

答案:C
考點:指令標志位的含義
判斷無符號整數A>B成立,滿足的條件是結果不等於0,即零標志ZF=0,並且在這個比較就是兩個數相減若A>B是不會造成借位的,即進位/借位標志CF=0。所以正確選項為C。

其余選項中用到了符號標志SF和溢出標志OF,顯然可以排除掉。其實這里SF=0,OF=0,這樣D也成立,但是不符合要求。

18.下列給出的指令系統特點中,有利於實現指令流水線的是
I.    指令格式規整且長度一致                     
II.指令和數據按邊界對齊存放
III.只有Load/Store指令才能對操作數進行存儲訪問
A.僅I、II                   B.僅II、III                 
C.僅I、III                   D.I、II、III
答案:D
考點:以上三個RISC特征都能有效降低取指令或執行指令的復雜度,從而有利於流水線操作

19.假定不采用Cache和指令預取技術,且機器處於“開中斷”狀態,則在下列有關指令執行的敘述中,錯誤的是
A.每個指令周期中CPU都至少訪問內存一次
B.每個指令周期一定大於或等於一個CPU時鍾周期
C.空操作指令的指令周期中任何寄存器的內容都不會被改變
D.當前程序在每條指令執行結束時都可能被外部中斷打斷

答案:C
考點:中斷的基本概念 ,寄存器用途,指令周期的概念,就算是進行空操作,只要有取指令的過程PC都要+1,所以任何寄存器的內容不會改變的說法錯誤。

2013

假設變址寄存器 R 的內容為 1000H,指令中的形式地址為 2000 H;地址 1000H 中的內容為 2000H,地址 2000H 中的內容為 3000H,地址 3000 H 中的內容為 4000H,則變址尋址方式下訪問到的操作數是( )
    A. 1000H          B. 2000H      C. 3000H    D. 4000H

答案:D


2014

17. 某計算機有16個通用寄存器,采用32位定長指令字,操作碼字段(含尋址方式位)為8位,Store指令的源操作數和目的操作數分別采用寄存器直接尋址和基址尋址方式,若基址寄存器可使用任一通用寄存器,且偏移量用補碼表示,則Store指令中偏移量的取值范圍是
A  -32768~+32767      B  -32767~+32768   
C  -65536~+65535      D  -65535~+65536

題目中指令為 32 位,操作碼為 8 位(已經包含尋址方式位)。
源操作數采用寄存器直接尋址,因此可以用 4 位來標記使用哪一個寄存器。
目的操作數使用基址尋址,由於可以使用任何一個通用寄存器,因此需要 4 位來標記,所以偏移量站總數 32 - 8 - 4 - 4 = 16 位,因此答案為A.

2016

16.某指令格式如下,


其中M為尋址方式,I為變址寄存器編號,D為形式地址,若采用先變址后間址的尋址方式,則操作數的有效地址是()
A I+D           B. (I)+D    
C. ((I)+D)    D. ((I))+D

答案:C
解析:變址+間址的尋址方式


【2010年真題】43題(11分)
某計算機字節長為16位,主存地址空間大小為128KB,按字編址。采用字長指令格式,指令名字段定義如下:

轉移指令采用相對尋址,相對偏移用補碼表示,尋址方式定義如下:

注:(X)表示有存儲地址X或寄存器X的內容,請回答下列問題: (1)該指令系統最多可有多少指令?該計算機最多有多少個通用寄存器?存儲地址寄存器(MAR)和存儲數據寄存器(MDR)至少各需多少位?

答:該指令系統最多可有16條指令(OP4位,24=16),該計算機最多有8個通用寄存器(Ms和Md都是3位),存儲地址寄存器(MAR)和存儲數據寄存器(MDR)至少都需16位。因為地址空間大小為 128KB,按字編址,故共有 64K 個存儲單元,地址位數為 16 位,所以MAR 至少為 16 位; 因為字長為 16 位, 所以 MDR 至少為 16 位。

這里對按字編址做出解釋,在32位機中,一個字等於4個字節;在64位機中,一個字表示8個字節,那么字就是機器字長!對本題中的16位機來說,一個字等於2個字節,那么也就是將128KB=128k*8b=64*16b,故而需要64K個存儲單元。

(2)轉移指令的目標地址范圍是多少?
答:轉移指令的目標地址范圍為0000H~FFFFH。(主存地址空間為128KB,0~217-1)
(3)若操作碼0010B表示加法操作(助記符為add),寄存器R4和R5的編號分別為100B和101B,R4的內容為1234H,R5的內容為5678H,地址1234H中的內容為5678H,地址5678H中的內容為1234H,則匯編語句“add (R4), (R5)+”(逗號前為源操作數,逗號后為目的操作數)對應的機器碼是什么(用十六進制表示)?該指令執行后,哪些寄存器和存儲單元的內容會改變?改變后的內容是什么?
答:語句“add (R4), (R5)+”對應的機器碼:0010(操作碼)001(寄存器間接) 100(源操作數) 010(寄存器間接、自增) 101(目的操作數)B,十六進制表示為2315H。
  該指令的功能是:把內存1234H單元中的數據與內存5678H單元中的數據進行相加,結果寫回到5678H單元,而且R5的內容用作內存地址之后,還要執行R5的內容加1的操作,所以“add (R4), (R5)+”指令執行后,R5和存儲單元5678H的內容會改變。執行后,R5的內容從5678H變為5679H。內存5678H單元的內容將變為該加法指令計算得到的和:5678H+1234H=68ACH。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM