微機原理簡答題

第二章 8086體系結構與8086CPU 

1.8086CPU由哪兩部分構成?它們的主要功能是什麼?

答:8086CPU由兩部分組成:指令執行部件(EU)和總線接口部件(BIU)

指令執行部件(EU)主要由算術邏輯運算單元(ALU)、標誌寄存器FR、通用寄存器組和EU控制器等4個部件組成,其主要功能是執行指令。總線接口部件(BIU)主要由地址加法器、寄存器組、指令隊列和總線控制電路等4個部件組成,其主要功能是形成訪問存儲器的物理地址、訪問存儲器並取指令暫存到指令隊列中等待執行,訪問存儲器或I/O端口讀取操作數參加EU運算或存放運算結果等。

2.8086CPU預取指令隊列有什麼好處?8086CPU內部的並行操作體現在哪裏?

答:8086CPU的預取指令隊列由6個字節組成,按照8086CPU的設計要求,指令執行部件(EU)在執行指令時,不是直接通過訪問存儲器取指令,而是從指令隊列中取得指令代碼,並分析執行它。從速度上看,該指令隊列是在CPU內部,EU從指令隊列中獲得指令的速度會遠遠超過直接從內存中讀取指令。

8086CPU內部的並行操作體現在指令執行的同時,待執行的指令也同時從內存中讀取,並送到指令隊列。

3.8086CPU中有哪些寄存器?各有什麼用途?

答:指令執行部件(EU)設有8個16位通用寄存器AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存數據和地址(包括內存地址和I/O端口地址)。其中AX、BX、CX、DX主要用於保存數據,BX可用於保存地址,DX還用於保存I/O端口地址;BP、SI、DI主要用於保存地址;SP用於保存堆棧指針。

標誌寄存器FR用於存放運算結果特徵和控制CPU操作。

BIU中的段寄存器包括CS、DS、ES、SS,主要用途是保存段地址,其中CS代碼段寄存器中存放程序代碼段起始地址的高16位,DS數據段寄存器中存放數據段起始地址的高16位,SS堆棧段寄存器中存放堆棧段起始地址的高16位,ES擴展段寄存器中存放擴展數據段起始地址的高16位。

指令指針寄存器IP始終存有相對於當前指令段起點偏移量的下一條指令,即IP總是指向下一條待執行的指令。

5.簡述8086系統中物理地址的形成過程。8086系統中的物理地址最多有多少個?邏輯地址呢?

答:8086系統中的物理地址是由20根地址總線形成的。8086系統採用分段並附以地址偏移量辦法形成20位的物理地址。採用分段結構的存儲器中,任何一個邏輯地址都由段基址和偏移地址兩部分構成,都是16位二進制數。通過一個20位的地址加法器將這兩個地址相加形成物理地址。具體做法是16位的段基址左移4位(相當於在段基址最低位後添4個“0”),然後與偏移地址相加獲得物理地址。

由於8086CPU的地址線是20根,所以可尋址的存儲空間爲1M字節,即8086系統的物理地址空間是1MB。邏輯地址由段基址和偏移地址兩部分構成,都是無符號的16位二進制數,程序設計時採用邏輯地址,也是1MB。

6.8086系統中的存儲器爲什麼要採用分段結構?有什麼好處?

答:8086CPU中的寄存器都是16位的,16位的地址只能訪問64KB的內存。086系統中的物理地址是由20根地址總線形成的,要做到對20位地址空間進行訪問,就需要兩部分地址,在8086系統中,就是由段基址和偏移地址兩部分構成。這兩個地址都是16位的,將這兩個地址採用相加的方式組成20位地址去訪問存儲器。

在8086系統的地址形成中,當段地址確定後,該段的尋址範圍就已經確定,其容量不大於64KB。同時,通過修改段寄存器內容,可達到邏輯段在整個1MB存儲空間中浮動。各個邏輯段之間可以緊密相連,可以中間有間隔,也可以相互重疊(部分重疊,甚至完全重疊)。採用段基址和偏移地址方式組成物理地址的優點是:滿足對8086系統的1MB存儲空間的訪問,同時在大部分指令中只要提供16位的偏移地址即可。

7.8086存儲器中存放數據字時有“對準字”和“非對準字”之分,請說明它們的差別。

答:一個16位的數據字是按照低地址存放低位數據、高地址存放高位數據來存放的。若16位數據的低8位存放在偶地址,則該數據字就是“對準字”,否則就是“非對準字”。主要差別是CPU讀取和存儲數據字時,如果是對準字,只需要一次讀寫操作即可,而非對準字就需要兩次讀寫操作才能實現一個數據字的存取。

9.在某系統中,已知當前(SS)=2360H,(SP)=0800H,那麼該堆棧段在存儲器中的物理地址範圍是什麼?若往堆棧中存入20個字節數據,那麼SP的內容爲什麼值?

答:(SS)×10H+(SP)=23600H+0800H=23E00H,堆棧段在存儲器中的物理地址範圍是23600H~23E00H。若往堆棧中存入20個字節數據,那麼SP的內容爲0800H-14H=07ECH。(20的十六進制爲14H)。

10.已知當前數據段位於存儲器的B4000H到C3FFFH範圍內,則段寄存器DS的內容爲多少?

答:段寄存器DS的內容爲B4000H。

11.8086系統中爲什麼一定要有地址鎖存器?需要鎖存哪些信息?

答:由於8086CPU受芯片封裝的限制,只有40個管腳,所以地址線和數據線只能採用複用的方式共同使用某些管腳。對存儲器進行訪問時,在讀取數據或寫入數據時,存儲器芯片要求在這個過程中地址信息必須穩定提供給存儲器,而由於8086CPU地址線和數據線是複用的,就不可能在同一時刻具有地址和數據的兩種功能。這就需要在CPU提供地址信息時,將地址鎖存起來,以保證下一個時刻當這些複用的管腳起着數據線的功能時,存儲器有正確的地址信息。要鎖存的信息包括這些複用管腳的地址和BHE等信號。

12.8086讀/寫總線週期各包括最少幾個時鐘週期?什麼情況下需要插入等待週期TW?插入多少個TW取決於什麼因素?

答:8086讀/寫總線週期各包括最少四個時鐘週期。在系統中增加等待週期TW的一般情況是:當CPU提供了地址後,由於外設或存儲器的讀出或寫入時間較慢,不能與CPU的速度匹配,就需要插入等待週期TW,等待CPU能從外設或存儲器將數據正確地讀出或寫入爲止。顯然,插入的等待週期TW的個數取決於外設或存儲器的取出或寫入時間。

第4章 8086彙編語言程序設計

1.編寫8086彙編語言程序,將寄存器AX的高8位傳送到寄存器BL,低8位傳送到寄存器DL。

答:CODE SEGMENT

ASSUME CS:CODE

START: MOV BL,AH

MOV DL,AL

MOV AX,4C00H

INT 21H

CODE ENDS

END STAR  

2.將寄存器DX的內容按從低位到高位的順序分成4組,並將各組數分別送到寄存器AL,BL,CL和DL中。(例如:(DX)=0ABCDH,分成四組(DL)=0AH,(CL)=0BH,(BL)=0CH,(AL)=0DH)

答:CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,DX

AND AL,0FH

MOV BL,DL

MOV CL,4

SHR BL,CL

AND AH,0FH

MOV CL,4

SHR DH,CL

MOV CL,AH

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.試統計9個數中偶數的個數,並將結果在屏幕上顯示。

答:DATA SEGMENT

BUFF DB 3BH,47H,8DH,-75,0AH,69,-2EH,0CCH,200

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET BUFF

MOV CX,9

XOR DL,DL

A1: SHR BYTE PTR [SI],1

JC NEXT

INC DL

NEXT: INC SI

LOOP A1

ADD DL,30H

MOV AH,2

MOV AX,4C00H

INT 21H

CODE ENDS

END START

5.試將一串16位無符號數加密,加密方法是每個數乘以2。(不考慮進位)

答:DATA SEGMENT

MEM DW 20 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV CX,LENGTH MEM

LEA BX,MEM

AA1: MOV AX,[BX]

ADD AX,AX   ;或MUL AX,2 或SHL AX,1或SAL AX,1

MOV [BX],AX

ADD BX,2

LOOP AA1

MOV AX,4C00H

INT 21H

CODE ENDS

END START

第五章 存儲器原理與接口

2.什麼是RAM和ROM? RAM和ROM各有什麼特點?

答:RAM是隨機存儲器,指計算機可以隨機地、個別地對各個存儲單元進行訪問,訪問所需時間基本固定,與存儲單元的地址無關。ROM是隻讀存儲器,對其內容只能讀,不能寫入。與RAM相比,其信息具有非易失性,即掉電後,ROM中的信息仍會保留。

3.什麼是多層次存儲結構?它有什麼作用?

答:存儲器的性能是計算機性能的最主要指標之一,其目標是大容量、高速度和低成本,因此應該在系統結構的設計上揚長避短,採用多層存儲結構構成一個較爲合理的存儲系統。多層存儲結構是一個金字塔的結構,距塔尖(即CPU)越近速度越快,容量越小,單位價格也較貴;反之速度較慢,容量較大,單位價格也較便宜。其作用是獲得最佳性價比。

5.主存儲器的主要技術指標有哪些?

答:主存儲器的主要技術指標有主存容量、存儲器存取時間、存儲週期和可靠性。

7.若用1K×1位的RAM芯片組成16K×8位的存儲器,需要多少片芯片?在CPU的地址線中有多少位參與片內尋址?多少位用做芯片組選擇信號?

答:要128片。A1~A9共10位參與片內尋址,其餘可用於片選信號。

第七章

5.在某應用系統中,計數器/定時器8253地址爲310H~316H,定時器0作爲分頻器(N爲分頻係數),定時器2作爲外部事件計數器,編寫初始化程序框架。

答:MOV DX,316H

MOV AL,控制字

OUT DX,AL

MOV DX,310H

MOV AL,分頻係數低8位

OUT DX,AL

MOV AL,分頻係數高8位

OUT DX,AL

MOV DX,316H

MOV AL,控制字

OUT DX,AL

MOV DX,314H

MOV AL,計數常數低8位

OUT DX,AL

MOV AL,計數常數高8位

OUT DX,AL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章