微機原理習題答案_第1頁
微機原理習題答案_第2頁
微機原理習題答案_第3頁
微機原理習題答案_第4頁
微機原理習題答案_第5頁
已閱讀5頁,還剩94頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、作業14、(畫一個計算機系統的方框圖),簡述各部分的主要功能。計算機系統框圖見課本P7圖1.3,各部分功能如下:1)微處理器:從存儲器中取指,進行算術邏輯運算,與存儲或I/O傳送數據,程序流向控制等。2)存儲器:由RAM和ROM組成,用來存儲程序和數據。3)I/O接口:用于連接CPU與外部設備,當它們之間進行數據交換時,使之在信息的格式、電平、速度方面匹配。4)總線:將CPU與存儲器和I/O接口相連,是傳送地址、數據和控制信息的通道。可分為地址總線,數據總線和控制總線。5)I/O設備:輸入數據及程序,輸出或顯示運算和程序執行結果。6)軟件系統:可分為系統軟件、支撐軟件和應用軟件,使計算機能完成

2、各種任務。9、將下列二進制數轉換為十進制數。(1)1101.01B 1101.01B = 23+22+20+2-2=13.25D(2) 111001.0011B111001.0011B = 25+24+23+20+2-3+2-4=57.1875D11、將下列十進制數轉換為二進制、八進制和十六進制數。(2)107107 D=1101011B = 153O = 6BH(3)12381238D=10011010110B = 2326O = 4D6H12、將下列十進制數轉換為8位有符號二進制數。(1)+32原碼:00100000B補碼:00100000B(4)-92原碼:11011100B補碼:101

3、00100B13、將下列十進制數轉換為壓縮和非壓縮格式的BCD碼。(2)44壓縮BCD碼:01000100B = 44H非壓縮BCD碼:0000 0100 0000 0100B = 0404H(3)301壓縮BCD碼:00000011 00000001 = 0301H非壓縮BCD碼:00000011 00000000 00000001B = 030001H14、將下列二進制數轉換為有符號十進制數。(1)10000000B 10000000B = -0D 15、將下列十進制數轉換為單精度浮點數。單精度浮點數為32位二進制數: 1位符號 8位階碼 23位尾數(1)+1.51.5D = 1.120符

4、號 0 階碼 127+0 = 0111111 尾數 100 0000 0000 0000 0000 0000存儲為: 0011 1111 1100 0000 0000 0000 0000 0000B = 3FC00000H(2)-10.625-10.625D = - 1010.101B = - 1.01010123符號 1 階碼 127+3 = 130D = 1000 0010B 尾數 010 1010 0000 0000 0000 0000存儲為:1100 0001 0010 1010 0000 0000 0000 0000B = C12A0000H作業作業2 P55P565、要完成下述運算

5、或控制,用什么標志位判別?其值是什么?、要完成下述運算或控制,用什么標志位判別?其值是什么?(1)比較兩數是否相等。)比較兩數是否相等。 假設兩個數分別為假設兩個數分別為A和和B,進行,進行A-B運算,運算,若若ZF=1 A=B; 若若ZF =0 AB(2)兩數運算后結果是正數還是負數。)兩數運算后結果是正數還是負數。若若SF=1,結果為負數,結果為負數 SF=0結果為正數結果為正數(3)兩數相加后是否溢出。)兩數相加后是否溢出。若若OF = 1,結果溢出;,結果溢出;OF=0無溢出。無溢出。(5)兩數相減后比較大小。()兩數相減后比較大小。(A-B) 無符號數無符號數 CF=1, AB; 有

6、符號數有符號數 無溢出無溢出 (O = 0) : S=0 AB S=1 AB S=0 A B SF + OF= 1 時時 A debug-r AX= 0000 BX=0000 CX=0079 DX=0000 SP=FEEE BP =0000 SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC (1)試畫出此時存儲器分段示意圖試畫出此時存儲器分段示意圖(2)寫出狀態標志寫出狀態標志OF、SF、ZF、CF的值。的值。解:解:(1)分段示意圖見后頁)分段示意圖見后頁(2)OF =0 SF=0

7、ZF=0 CF=000000HDS:10E4HSS:21F0H0FFFFHES:10F4HCS:31FFH數據段數據段附加段附加段堆棧段堆棧段程序段程序段10E40H10F40H20E3FH20F3FH21F00H31EFFH31FF0H41FEFH16、8086系統中為什么要用地址鎖存器?系統中為什么要用地址鎖存器?8282地址鎖存器與地址鎖存器與CPU如何連接?(畫圖如何連接?(畫圖說明)說明)答:答:8086微處理器的數據線和地址線復用引腳微處理器的數據線和地址線復用引腳AD0AD15,狀態和高,狀態和高4位地址線復用位地址線復用引腳引腳A19A15。在。在CPU與存儲器(或與存儲器(或

8、IO)進行數據交換時,)進行數據交換時,CPU先送地址信號先送地址信號然后再發出控制信號及傳送數據。為使讀然后再發出控制信號及傳送數據。為使讀/寫總線周期內地址穩定,需要加地址寫總線周期內地址穩定,需要加地址鎖存器,先將地址鎖存。鎖存器,先將地址鎖存。鎖存器鎖存器8282與與CPU的連接如下圖所示的連接如下圖所示8086地址地址鎖存器鎖存器STB(8282*3)(8286*2)OE(選用)(選用)A19A0D15D0地址總線地址總線數據總線數據總線+5VMN/MXAD15AD0A19A16DENDT/RALETOE作業3_1 P120P121 2、已知:DS=1000H,BX=0200H,SI

9、=02H,內存10200H 10205H單元的內容分別為10H,2AH,3CH,46H,59H,6BH。下列每條指令執行后AX寄存器的內容各是什么?(2)MOVAX,200H AX = 2A10H(4)MOVAX,3BXAX = 5946H (6)MOVAX,2BX+SIAX = 6B59H18、什么叫總線周期?在、什么叫總線周期?在CPU讀讀/寫總線周期中,數據在哪個狀態出現在數據總線上?寫總線周期中,數據在哪個狀態出現在數據總線上?答:答:(1)8086微處理器執行一個總線操作所需要的時間稱為總線周期,一個基本的總線微處理器執行一個總線操作所需要的時間稱為總線周期,一個基本的總線周期通常包

10、含周期通常包含 4 個個T狀態。狀態。(2)讀總線周期:存儲器(或)讀總線周期:存儲器(或I/O)一般在)一般在T3狀態將數據送到數據總線上,狀態將數據送到數據總線上,8086在在T4狀態讀信號的上升沿將數據讀入。狀態讀信號的上升沿將數據讀入。寫總線周期:寫總線周期:8086CPU在在T2狀態將數據送到數據總線,直到狀態將數據送到數據總線,直到T4狀態通過寫信號的上狀態通過寫信號的上升沿將數據寫到存儲器或升沿將數據寫到存儲器或I/O接口中。接口中。3、設DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,數據段中變量名為

11、VAL的偏移地址為0030H,試說明下列源操作數字段的尋址方式是什么?物理地址是多少?(1)MOVAX,100H直接尋址,物理地址為:10100H(2)MOVAX,VAL直接尋址,物理地址為:10030H (4)MOVAX,ES:BX寄存器間接尋址,20100H(6)MOVAX,BX+10H寄存器相對尋址,10110H(8)MOVAX,VALBPSI 相對基址變址,352D0H(10)MOVAX,BPDI基址變址尋址,35224H6、指出下列指令中哪些是錯誤的,錯在什么地方?(1)MOVDL,AX指令錯誤,源操作數與目標操作數應為相同類型數據(2)MOV8650H,AX指令錯誤,目標操作數不能

12、為立即數(3)MOVDS,0200H指令錯誤,不能直接對段寄存器DS直接賦值,需通過寄存器AX賦值。(5)MOVIP,0FFH指令錯誤,IP寄存器的值由微處理器內部控制,不能通過指令直接對其操作。(7)MOVAX,BXBP指令錯誤,不能同時使用基址寄存器BX和BP (11)MOV AL,OFFSET TABLE指令錯誤,OFFSET TABLE返回16位地址,而AL寄存器為8位,數據類型不同。(13)INBL,05H指令錯誤,IN指令必須使用AL寄存器讀8位端口。(14)OUTAL,0FFEH指令錯誤,端口號應存入DX寄存器7、已知當前數據段中有一個十進制數字09的7段代碼表,其數值依次為40

13、H,79H,24H,30H,19H,12H,02H,78H,00H,18H。要求用XLAT指令將十進制數57轉換成相應的7段代碼值,存到BX寄存器中,試寫出相應的程序段。SDATA SEGMENTTABLE:DB 40H,79H,24H,30H,19H DB 12H,02H,78H,00H,18HSDATA ENDSSCODE SEGMENTASSUME CS:SCODE, DS:SDATASTART:MOV AX,SDATAMOVDS,AXMOV AL,5MOV BX,OFFSET TABLEXLAT TABLEMOVAH,ALMOV AL,7XLATTABLEMOVBX,AXHLTSCOD

14、E ENDSSTART END作業3_2 P121P123 8、已知當前SS=1050H,SP=0100H,AX=4860H,BX=1287H試用示意圖表示執行下列指令的中,堆棧中的內容和堆棧指針SP怎樣變化?PUSHAXPUSHBXPOPBXPOPAX1050:0100SP1050:00FCSP48H60H12H1050:00FESP48H60H1050:00FESP48H60H1050:0100SP48H60H87H12H87H12H87H(1) PUSH AX(2) PUSH BX(3) POP BX(4) POP AX10、已知AX=2508H,BX=0F36H,CX=0004H,DX

15、=1864H,求下列每條指令執行后的結果是什么?標志位CF等于什么?(2)ORBL,30HBL = 36H CF = 0(4)XORCX,0FFF0HCX = FFF4H, CF = 0(6)CMPCX,00HCX值不變,CF = 0(7)SHRDX,CLDX = 0186HCF= 0(9)SHLBH,CLBH = 0F0H CF=0(11)RCLBX,1BX = 000111100110110 xB若執行指令前 CF =0 BX = 0001111001101100B=1E6C若執行指令前 CF =1 BX = 0001111001101101B=1E6D執行后 CF = 013、設CS=1

16、200H,IP=0100H,SS=5000H,SP=0400H,DS=2000H,SI=3000H,BX=0300H,(20300H)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N標號的地址為1200:0278H, PROG_F標號的地址為3400:0ABCH。說明下列每條指令執行完后,程序將分別轉移到何處執行?如指令中的操作碼JMP改為CALL,則每條指令執行后,程序轉何處執行?并請畫圖說明堆棧中的內容和堆棧指針如何變化(1)JMPPROG_N程序轉移到地址 1200:0278H ; 改為CALL指令后,disp = 0175H,指令編碼為E97501,斷點

17、IP為0103H 5000:03FESP01H03H5000:0400(2)JMPBX程序轉移到地址 1200:0300H;改為CALL指令后,指令編碼為FFD3,斷點IP為0102H(3)JMPBX程序轉移到地址 1200:4800H;改為CALL指令后,指令編碼為FF27,斷點IP為0102H(4)JMPFAR PROG_F程序轉移到地址 3400:0ABCH;改為CALL指令后,指令編碼為EABC0A0034,斷點地址為1200H:0105H。CS內容先入棧,然后是IP內容入棧。(5)JMPDWORD PTRBX 程序轉移到地址 00FFH:4800H;改為CALL指令后,指令編碼為FF

18、1F,斷點地址為1200:0102H,CS內容先入棧,然后是IP內容入棧。 16、中斷向量表的作用是什么?它存放在內存的什么區域?中斷向量表中的什么地址存放類型3的中斷?答:中斷向量表的作用:存儲中斷服務程序的入口地址(中斷向量)。中斷向量位于內存:00000H03FFH,共1024字節中斷類型3的中斷向量存放于0000CH0000FH。17、設類型2的中斷服務程序的起始地址為0485:0016H,它在中斷向量表中如何存放?(畫圖說明)答: 85H00008H00H16H04H0000BH作業作業4 P198P199 1、2、3、4、51、下列變量各占多少字節?、下列變量各占多少字節?A1DW

19、23H,5876H A2DB3 DUP (?), 0AH, 0DH,$A3DD5 DUP (1234H, 567890H)A4DB4 DUP (3 DUP (1, 2, ABC)解解:A1占占4個字節個字節A2占占6個字節個字節A3占占5 x 8 =40個字節個字節A4占占5 x (3x(2+3) =60字節字節23H00H76H58HA1xxHxxHxxH0AHA20DH24H$34H12H00H00HA390H78H56H00H重復5次01H02H41H42HA443H重復3次01H02H41H42H43H01H02H41H42H43H2、下列指令完成什么功能?、下列指令完成什么功能?(1

20、)MOVAX,00FFH AND 1122H + 3344H 解:解: 00FFH AND 1122H + 3344H = 00FFH AND 4466H = 0066H,指令將立即,指令將立即數數0066H送送AX寄存器。寄存器。(2)MOVAL,15 GE 1111B 解:關系為真,表達式為解:關系為真,表達式為0FFH,指令將立即數,指令將立即數0FFH送送AL寄存器,執行指令后寄存器,執行指令后AX = 00FFH(3)MOVAX,00FFH LE 255 + 6/5 解:解:( 00FFH LE ( 255 + 6/5)= 00FFH LE 256 ,(6/5=1),關系為真,表達式

21、為關系為真,表達式為0FFFFH,指令將立即數指令將立即數0FFFFH送寄存器送寄存器AX。指令執行后。指令執行后AX = 0FFFFH(4)ANDAL,50 MOD 4 解:解: 50 MOD 4 = 2,指令將立即數,指令將立即數02H與與AL內容相與,執行指令后內容相與,執行指令后 AX= 0FF02H(5)OR AX,0F00FH AND 1234H OR 00FFH 解:解: 0F00FH AND 1234H OR 00FFH = 1004H OR 00FFH = 10FFH,指令將,指令將AX的內容(的內容( 0FF02H )與立即數)與立即數10FFH相或,執行指令后相或,執行指

22、令后 AX= 0FFFFH3、有符號定義語句如下:、有符號定義語句如下:BUFDB3,4,5,123ABUFDB0LEQUABUF BUF求求L的值為多少?的值為多少?解:解:L值的內容為值的內容為6。4、假設程序中的數據定義如下:、假設程序中的數據定義如下:PARDW?PNAME DB16 DUP(?)COUNT DD?PLENTHEQU$ - PAR求求PLENTH的值為多少?表示什么意義?的值為多少?表示什么意義?解:解: PLENTH的值為的值為 22 ,表示三個變量占用的字節數。,表示三個變量占用的字節數。5、對于下面的數據定義,各條、對于下面的數據定義,各條MOV指令執行后,有關寄

23、存器的內容是什么?指令執行后,有關寄存器的內容是什么?DA1DB?DA2DW10 DUP(?)DA3DBABCDMOVAX, TYPE DA1MOVBX, SIZE DA2MOV CX,LENGTH DA3解:指令執行后解:指令執行后AX = 1BX =20CX = 11 靜態RAM和動態RAM有何區別?解:SRAM集成度低于DRAM;SRAM功耗也比DRAM高;SRAM只要電源存在,內容就不會消失,不需要刷新,DRAM由于總是存在有泄漏電流,故要求刷新;SRAM存取速度較DRAM快;3、 DRAM的/CAS和/RAS輸入的用途是什么?解:/RAS:行地址選通信號,把行地址送入行地址鎖存器,/

24、CAS:列地址選通信號,把列地址送入列地址鎖存器。7用10241位的RAM芯片組成16K8位的存儲器,需要多少芯片?在地址線中有多少位參與片內尋址?多少位組合成片選信號?(設地址總線16位)解:(1)存儲器總容量 = 16K8bits128kbits;每片存儲芯片容量為:1kbits需要128/1 =128個存儲芯片(2)210 = 1024,每個存儲芯片需要10位地址線參與片內尋址(3)由于每8個存儲芯片生成一個字節寬度存儲器,共用一個片選信號,需要片選信號數為 128/8 = 16由于 24 = 16,所以至少需要4位地址線生成片選信號。8現有一存儲體芯片容量5124位,若要用組成4KB的

25、存儲器,需要多少這樣的芯片?每塊芯片需要多少尋址線?整個存儲系統最少需要多少尋址線?解:(1)總存儲容量為:4KB = 32Kbits, 每片存儲芯片的容量為:5124 = 2Kbits 所以需要32/2 = 16片存儲芯片。(2)512 = 29,所以每片芯片需要9根尋址線(3)由于2片4位芯片構成一個字節存儲體,共用1個片選信號,因此需要16/2 = 8條片選信號。由于23 = 8,需要3根地址線生成片選信號。所以整個存儲系統至少需要12根地址線。11當要將一個字寫入到存儲器奇地址開始的單元中去,列出存儲器的控制信號和它們的有效邏輯電平信號(8086工作在最小模式)解:(參見課本P230頁

26、,圖5.22)存儲器寫操作由兩個總線周期組成,使用的控制信號為:/WE 存儲器信號,低電平有效 /CE1 存儲器片選信號,低電平有效。(由高位地址線和M/IO信號經譯碼生成 )CE2 存儲器片選信號,高電平有效 奇存儲體的CE2信號由/BHE反向后生成 偶存儲體的CE2信號由A0反向后生成 8086微處理器發起寫操作總線周期控制信號(參見課本P53 圖2.53):ALE信號:高電平有效M/IO信號:高電平有效/WR信號:低電平有效DT/R信號:高電平有效/DEN信號:低電平有效 第一個總線周期/BHE=0,A0=1讀取奇地址字節 第二個總線周期/BHE=1,A0=0讀取偶地址字節12設計一個6

27、4K8存儲器系統,采用74LS138和EPROM2764器件,使其尋址范圍為40000H4FFFFH 解:EPROM2764容量為8K8 = 64kbits,存儲系統容量為64K8 = 512Kbits,故需要512 / 64 = 8片2764 ;8192 = 213 ,每片2764需要13根地址線。分兩種情況分析:(1)采用8088微處理器的計算機系統:由于采用8位數據總線,A12 A0用于芯片內部存儲字節尋址線。地址范圍為:40000H4FFFFH,A19A16=0100,A15A13作為74LS138譯碼輸入產生片選信號。參考電路圖如下:A19A18A17A16G1G2AG2BCBA+5

28、VM/IOA15A14A13RDD7D0A12A0CEOED7D0Y774LS138Y0A12A0CEOED7D0A12A01#8# (2)采用8088微處理器的計算機系統:由于采用16位數據總線,A13 A1用于芯片內部存儲字節尋址線。地址范圍為:40000H4FFFFH,A19A17=0100,A16A14作為74LS138譯碼輸入產生片選信號Y3Y0 。參考電路圖如下:A19A18A17G1G2AG2BCBA+5VM/IOA16A15A14RDD7D0Y374LS138Y0A12A0CEOED7D0A12A0CEOED7D0A13A1。Y7A13A1D15D813用8K8位的EPROM2

29、764、 8K8位的6264和譯碼器74LS138構成一個16K字ROM、16K字RAM的存儲器子系統。8086工作在最小模式,系統帶有地址鎖存器8282,數據收發器8286。畫出存儲器系統與CPU的連線圖,寫出各芯片的地址分配。 解:(1) 16K字ROM需要4片2764(8K8) 16K字RAM需要4片6264 (8K8)(2) 對于8086系統存儲子系統至少要包括的存儲空間ROM:FFFF0HFFFFFH(8086復位后,CS=0FFFFH,IP = 0000H,因此微處理器每次上電都從地址0FFFF0H執行第一條指令),若各ROM地址連續分布,4片ROM實現的地址空間為:0F8000H

30、0FFFFFH(32KB)RAM: 00000H003FFH空間為存儲中斷向量表,要使微機系統能正常工作(處理各種中斷),存儲器子系統包括這段空間。 4片RAM實現的地址空間為:00000H07FFFH (32KB)READYX1 X2(8284A)8086地址鎖存器STB(8282*3)(8286*2)OE(選用)BHEA19A0D15D0地址總線數據總線+5VMN/MXCLKRESETAD15AD0A19A16DENDT/RM/IOWRRDHOLDHLDAINTRINTAALEBHEREADYRESETT存儲器子系統系統連線分別參考課本P43圖2.15和課本P230頁圖5.22。G1G2A

31、G2BCBA+5VM/IOA16A15A14RDY174LS138Y0A12A0CEOEA12A0CE1OEA13A1Y7A13A1CE2CE2CE2CE21#2#3#4#WEWEWRA0BHERDWRA12A0CEOED7D02#1#A12A0CEOED7D02#1#DBA13A1A13A1RDRDD7D0D15D8D7D0D15D8Y6GND5.說明查詢式輸入和輸出接口電路的工作原理。略,見書P241-242.6.簡述在微機系統中,DMA控制器從外設提出請求到外設直接將數據傳送到存儲器的工作過程。答:當外設需要利用DMA方式進行數據傳送時,接口電路可以向CPU提出請求,要求CPU讓出對于總

32、線的控制權。DMA臨時接管總線,控制外設和存儲器之間直接進行高速的數據傳送??刂破鹘o出訪問內存所需要的地址信息,并且自動修改地址指針,設定和修改傳送的字節數,向存儲器和外設發出相應的讀寫控制信號。在DMA傳送結束后,它能釋放總線。用DMA方式讀磁盤的過程分為以下幾步:進行一次DMA傳輸前,首先對控制器進行初始化編程。CPU向磁盤控制器發出讀盤命令,由磁盤控制器找到要讀取的數據位置,并開始讀出數據。當磁盤控制器準備好了第一個字節的數據后,就向DMA控制器發送一個DMA請求信號DREQ。DMA送一個請求保持信號HRQ到CPU。CPU將總線浮空。DMA通過地址總線向存儲器發送地址信號,指示要被寫入內

33、存的第一個數據的地址。隨后DMA向磁盤控制器發出確認信號,通知磁盤控制器準備好要輸出地數據字節。DMA使控制總線上的I/O讀信號和存儲器寫信號有效。每完成一個字節數據的傳送,DMA會自動修改內部地址寄存器的內容,指向下一個字節的地址。傳送結束后,DMA撤銷保持信號,釋放總線。7.某一個微機系統中,有8塊I/O接口芯片,每個芯片占有8個端口地址,若起始地址為300H,8塊芯片的地址連續分布,用74LS138作譯碼器,試畫出端口譯碼電路,并說明每塊芯片的端口地址范圍。解:每塊芯片占有8個端口地址,故需要A2 A1 A0 作為片內尋址線。要求地址連續分布,故需要A3 A4 A5作為片選信號,連接到7

34、4LS138的ABC。起始地址為0000,0011,0000,0000. 故A8 A9 保持為1,其余為0端口地址為:#1: 0000,0011,0000,0000 0000,0011,0000,0111 即300H307H#2:0000,0011,0000,1000 0000,0011,0000,1111 即308H30FH#3: 310H317H #4: 318H31FH#5: 320H327H#6: 328H32FH#7: 330H337H#8:338H33FH下圖為8086存儲器的部分電路連線圖。問:( 1 )M0和M1的尋址范圍分別是什么?(2)存儲總容量為多少?BHE M/IOA1

35、7 A16 A111A0& M1CSD7D0A15A0M0CSD7D0A15A0D7D0D15D8A18A19解:由圖可知,此存儲器系統采用雙體存儲器結構,其中:A0用于選偶存儲體,BHE用于選奇存儲體。存儲芯片M0、M1的片選邏輯表達式為:當且僅當A19A18A17A0BHE M/IO=110011時,CSM0=0,選中M0; 當A19A18A17A0BHE M/IO=110101時,CSM1=0,選中M1; 當A19A18A17A0BHE M/IO=110001時,CSM0=0, CSM1=0, 同時選中M0和M1;于是,由A16A1用于片內地址選擇可得:(1)M1的尋址范圍為:C

36、0000HDFFFFH的奇地址; M2的尋址范圍為:C0000HDFFFFH的偶地址;(2)總存儲容量 217 B分析:存儲器的地址空間關鍵是要搞清楚存儲器結構是單體(8位)還是雙體(16位),以及CPU有哪些高端地址線用于參與地址譯碼,哪些地址用于片內單元的選擇,然后根據譯碼邏輯的輸出,從而確定存儲器的地址空間。如果對譯碼邏輯很熟悉,可直接根據連線情況,直接寫出各存儲器芯片的地址范圍。課堂練習:試用SRAM62256(32Kx8)芯片為8086系統設計一個64KB的存儲子系統。要求地址從8086的存儲器地址空間80000H開始連續編址。(用3-8譯碼器74LS138譯碼):(1) 需要幾片S

37、RAM芯片,若采用全譯碼,需要多少位地址產生片選信號?(2) 每片SRAM訪問內部存儲單元的地址線為多少條?寫出每片SRAM的地址范圍。(3) 畫出其地址譯碼及連接電路圖。(假設系統20位地址總線為A19A0,16位數據總線為D15D0,控制信號為RD、WR,奇存儲體選擇信號為/BHE,偶存儲體選擇信號是A0)(1)需要2片SRAM,需要4條地址線進行譯碼(2)15條地址線奇存儲體的地址范圍 80000H8FFFFH中奇地址偶存儲體的地址范圍 80000H8FFFFH中偶地址(3) 電路連接圖如下BHE A151A0 M2CSD7D0A14A0 M1CSD7D0A14A0D7D0D15D8AG

38、1G2AG2BCBA74LS138Y7Y4Y0M/IOA19A18A17GNDA162.8255A有哪幾種工作方式?各用于什么場合?端口A、端口B和端口C各可以工作于哪幾種工作方式?8255A有三種工作方式:方式0:基本輸入輸出方式,適用于不需要用應答信號的簡單輸入輸出場合;方式1:選通輸入輸出方式,在這種方式下,A口和B口仍可作為數據的輸入輸出口,但是同時規定C口的某些位作為控制或狀態信息。方式2:雙向總線方式,使外設可以在單一的8位總線上,既能發送數據也能接受數據,工作時可用程序查詢方式,也可工作在中斷方式。端口A可工作于方式0,方式1,方式2;端口B可工作于方式0,方式1;端口C可工作于

39、方式0。4若8255A的系統基地址為2F9H,且各端口都是奇地址,則8255A的3個端口和控制寄存器的地址各是多少? 已知CPU的系統總線為A0A9,D15D0,M/IO, /IOR, /IOW, RESET,試畫出8255A的地址譯碼電路及它與CPU系統總線的連接圖。A口:2F9H B口:2FBH C口:2FDH 控制寄存器:2FFH78255A的端口地址為80H,82H,84H,86H, 若A口工作在方式0輸入,B口工作在方式1輸出,C口各位的作用是什么?控制字是什么?若B口工作在方式0輸出,A口工作在方式1輸入,C口各位的作用是什么?控制字是什么? A口工作在方式0輸入,B口工作在方式1

40、輸出,C口各位的作用是: PC0,PC1和PC2作為B口的聯絡控制信號,其中PC0連接INTR,中斷請求信號,PC1連接/OBF,輸出緩沖器滿信號,PC2連接/ACK信號,外設的回答信號,C口的其余各位仍可做基本輸入輸出。 INTEB用于允許與禁止B口中斷,通過對PC2的置位和復位操作實現 控制字為:1001X10X D7 D6 D5 D4 D3 D2 D1 D0 1 1 0 控制字 端口 B 輸出 B 組方式 1 PB7PB0 8 位 & 1NTEA PC2 PC1 PC0 ACKB INTRB WR WR OBFB B口工作在方式0輸出,A口工作在方式1輸入,C口各位的作用是: C

41、口的PC4,PC5和PC3用作端口A的狀態和控制線,其中PC4接/STB,輸入選通信號,PC5接IBF向外設發出輸入緩沖器滿信號,PC3接INTE,中斷允許信號,C口其余各位仍可做基本輸入輸出。INTEA用于允許與禁止A口中斷,通過對PC4的置位和復位操作實現 控制字為:1011X00X D7 D6 D5 D4 D3 D2 D1 D0 1 0 1 1 1/0 控制字 1=PC6、PC7輸入 0=PC6、PC7輸出 端口 A 為輸入 A 組方式 1 PA7PA0 8 位 & 1NTEA PC4 PC5 PC3 STBA IBFA INTRA RD RD I/O PC6、PC7 讀打印機狀

42、態 建立指針 延時20ms再讀 等待中斷 返回DOS 是 仍未就緒 12.試畫出打印機驅動程序的流程圖:發送選通信號 傳送 完成? 中斷返回 是 否 主程序中斷服務程序保護現場關中斷允許8255中斷 發送字符 修改地址指針 結束中斷 恢復現場 關閉8255中斷 初始化 初始化各段寄存器 建立服務程序的中斷向量 初始化8259 初始化8255延時50us 準備好否 準備好否 FIN允許8086中斷 初始化打印機8255APA0PA1PA2PA3PC0PC2PC4PC5PB0PB1PB2PB3PB4PB5PB6PB7到8259INTRACKBERRPESLCTBUSYACKSTROBEINITDA

43、TA1DATA2DATA3DATA4DATA5DATA6DATA7DATA8打印機插座1、已知某指令的邏輯地址CS=0074H IP=5000H,求其物理地址。解:物理地址為0074H10H+5000H = 5740H2、有兩個字807FH,5FEFH,它們在8086系統的存儲器中的地址分別是41020H和41023H,請用圖示它們在存儲器中的位置。若它們的段地址是4000H,這兩個字的有效地址是什么? 解:(1)存儲位置圖右圖 (2)有效地址分別為0020H和1023H 7FH 41020H 80H 41021H 5FH 41024H EFH 41023H 4、若已知當前DS=1230H,在

44、偏移地址為00A1H開始的存儲器中連續存放6個字節的數據分別為11H,22H,33H,44H,55H和66H.請指出這些數據在存儲器中的物理地址。如果要從存儲器中以字讀取方式讀出這些數據,需要訪問幾次存儲器?(幾個總線周期)解:由于訪問非規則字,需要對存儲器訪問6次。3、在某系統中,已知當前SS=1200H,SP=0800H,請說明該堆棧段在存儲器中的物理地址范圍,若在當前堆棧段中存入20個字節數據,那么SP的內容為什么值?解:堆棧段在存儲器中的物理地址范圍為12000H21FFFH. 當前堆棧區的范圍:12000H127FFH. SP的內容為800H-14H(20) =7ECH. 33H 1

45、23A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H習題1、高速緩存的存取速度 。A、比內存慢、比輔存快B、比內存慢,比內部寄存器快C、比內存慢,比內部寄存器慢2、下面的說法中,正確的是: 。A、 EPROM是不能改寫的B 、EPROM是可改寫的,所以也使一種讀寫存儲器C 、EPRPM只能改寫一次D 、EPRPM是可改寫的,它不能作為讀寫存儲器3、若256KB的SRAM具有8條數據線,則它具有條 地址線A、10 B、15 C、20 D、32下圖為8086存儲器的部分電路連線圖。問:( 1 )M0和M1的尋址范圍分別是什么?(2

46、)存儲總容量為多少?BHE M/IOA17 A16 A111A0& M1CSD7D0A15A0M0CSD7D0A15A0D7D0D15D8A18A19答案1、C2、DEPROM是紫外線擦除可編程ROM,可反復多次改寫,所以A和C不正確; EPROM的編程需外加編程電壓,不能在線隨機改寫,因此EPROM不是隨機讀寫存儲器。所以不正確。3、B256Kb=28 x 210 b=215 x (23) b=215 B解:由圖可知,此存儲器系統采用雙體存儲器結構,其中:A0用于選偶存儲體,BHE用于選奇存儲體。存儲芯片M0、M1的片選邏輯表達式為:當且僅當A19A18A17A0BHE M/IO=1

47、10011時,CSM0=0,選中M0; 當A19A18A17A0BHE M/IO=110101時,CSM1=0,選中M1; 當A19A18A17A0BHE M/IO=110001時,CSM0=0, CSM1=0, 同時選中M0和M1;于是,由A16A1用于片內地址選擇可得:(1)M1的尋址范圍為:C0000HDFFFFH的奇地址; M2的尋址范圍為:C0000HDFFFFH的偶地址;(2)總存儲容量 217 B分析:存儲器的地址空間關鍵是要搞清楚存儲器結構是單體(8位)還是雙體(16位),以及CPU有哪些高端地址線用于參與地址譯碼,哪些地址用于片內單元的選擇,然后根據譯碼邏輯的輸出,從而確定存

48、儲器的地址空間。如果對譯碼邏輯很熟悉,可直接根據連線情況,直接寫出各存儲器芯片的地址范圍。課堂練習:試用SRAM62256(32Kx8)芯片為8086系統設計一個64KB的存儲子系統。要求地址從8086的存儲器地址空間80000H開始連續編址。(用3-8譯碼器74LS138譯碼):(1) 需要幾片SRAM芯片,若采用全譯碼,需要多少位地址產生片選信號?(2) 每片SRAM訪問內部存儲單元的地址線為多少條?寫出每片SRAM的地址范圍。(3) 畫出其地址譯碼及連接電路圖。(假設系統20位地址總線為A19A0,16位數據總線為D15D0,控制信號為RD、WR,奇存儲體選擇信號為/BHE,偶存儲體選擇

49、信號是A0)(1)需要2片SRAM,需要4條地址線進行譯碼(2)15條地址線奇存儲體的地址范圍 80000H8FFFFH中奇地址偶存儲體的地址范圍 80000H8FFFFH中偶地址(3) 電路連接圖如下BHE A151A0 M2CSD7D0A14A0 M1CSD7D0A14A0D7D0D15D8AG1G2AG2BCBA74LS138Y7Y4Y0M/IOA19A18A17GNDA161、已知某指令的邏輯地址CS=0074H IP=5000H,求其物理地址。解:物理地址為0074H10H+5000H = 5740H2、有兩個字807FH,5FEFH,它們在8086系統的存儲器中的地址分別是4102

50、0H和41023H,請用圖示它們在存儲器中的位置。若它們的段地址是4000H,這兩個字的有效地址是什么? 7FH 41020H 80H 41021H 5FH 41024H EFH 41023H 解: (1)存儲位置圖如下圖(2)有效地址分別為0020H和1023H3、在某系統中,已知當前SS=1200H,SP=0800H,請說明該堆棧段所在段的物理地址范圍,若在當前堆棧段中存入20個字節數據,那么SP的內容為什么值?解: 堆棧段所在段的物理地址范圍為12000H21FFFH.當前堆棧段的范圍:12000H127FFH.SP的內容為800H-14H(20) =7ECH.4、若已知當前DS=123

51、0H,在偏移地址為00A1H開始的存儲器中連續存放6個字節的數據分別為11H,22H,33H,44H,55H和66H.請指出這些數據在存儲器中的物理地址。如果要從存儲器中以字讀取方式讀出這些數據,需要訪問幾次存儲器?(幾個總線周期) 33H 123A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H解:由于訪問非規則字,需要對存儲器訪問6次。5、對于給定的數據定義,畫圖說明下列語句所分配的存儲空間及初始化的數據,并寫出變量R1的值。A1DW1,2,3,ABA2DBABCA3DB 6 DUP (?)R1EQUA3-A16、已知ORG

52、0200HARYDW-1,2,-3,4CNTDW $-ARYVARDWARY,$+4RSTDW?MOVAX, ARYMOVBP, OFFSETVARMOVBX, VARMOVCX, CNTMOVDX, VAR+2LEASI, RST 此程序執行后AX = ,BP = ,BX = ,CX = ,DX = ,SI= ? AX = 0FFFFH , BP = 020AH , BX = 0200H ,CX = 0008H ,DX = 0210H ,SI= 020EH7、若十進制數字、若十進制數字09的的LED七段碼對照下表,試用七段碼對照下表,試用XLAT指令求數字指令求數字5的七段碼值:的七段碼值:

53、十進制數十進制數七段顯示碼七段顯示碼十進制數十進制數七段顯示碼七段顯示碼040H512H179H602H224H778H330H800H419H918HDPabcdefgDPgfedcba七段碼位為七段碼位為0時發光,為時發光,為1時熄滅。時熄滅。十進制數十進制數0,a、b、c、d、e、f均為均為0,發光。,發光。g、DP為為1,七段顯示碼為,七段顯示碼為40HSDATA SEGMENTTABLE:DB 40H,79H,24H,30H,19H ;七段碼表格七段碼表格 DB 12H,02H,78H,00H,18HSDATA ENDS MOV AL,5;數字數字5的偏移量的偏移量AL MOV BX

54、,OFFSET TABLE ; 表首地址表首地址BX XLAT TABLE;查表得到查表得到AL=12H實現以上操作的程序實現以上操作的程序偽指令偽指令 SEGMENT ENDS 定義數據段,段名為定義數據段,段名為SDATA DB 在數據段中定義字節數據,建立七段碼表在數據段中定義字節數據,建立七段碼表TABLE OFFSET獲取表獲取表TABLE相對于數據段基址的偏移相對于數據段基址的偏移 存儲器存儲器 BX=0000.301910006H10001H10004H10000H7940241202 DS=100010002H10003H10005H8、以下程序實現什么功能?若VAR1的內容為

55、1234H,本段程序執行后,寫出VAR2中的數值?畫出程序流程圖。DSEGSEGMENTVAR1DW?VAR2DB5 DUP (?)DSEGENDSCSEGSEGMENTBAPPROC FARPUSHAXPUSHSIMOV AX,VAR1CMP AX,8000HJCDONEMOVSI, OFFSET VAR2MOVCX, LENGTH VAR2MOV BX,10ADDSI,CXDECSIAGAIN: XORDX, DXDIVBXADDDL, 30HMOVSI,DLDECSILOOPAGAINDONE: POPSI.POPAXRETBAPENDPCSEG ENDSEND答:(1)功能:將16位的

56、二進制數變為ASCII碼(2)VAR2 30H,34H,36H,36H,30H(3)流程圖略4、若已知當前DS=1230H,在偏移地址為00A1H開始的存儲器中連續存放6個字節的數據分別為11H,22H,33H,44H,55H和66H.請指出這些數據在存儲器中的物理地址。如果要從存儲器中以字讀取方式讀出這些數據,需要訪問幾次存儲器?(幾個總線周期)1、已知某指令的邏輯地址CS=0074H IP=5000H,求其物理地址。2、有兩個字807FH,5FEFH,它們在8086系統的存儲器中的地址分別是41020H和41023H,請用圖示它們在存儲器中的位置。若它們的段地址是4000H,這兩個字的有效

57、地址是什么? 3、在某系統中,已知當前SS=1200H,SP=0800H,請說明該堆棧段在存儲器中的物理地址范圍,若在當前堆棧段中存入20個字節數據,那么SP的內容為什么值? 33H 123A4H 11H 123A1H 22H 123A2H 55H 123A5H 44H 123A4H 66H 123A6H第一章 微型計算機概述了解微型計算機層次結構微處理器 微型計算機和微型計算機系統微型計算機系統的硬件結構馮諾依曼(von Neuman)結構 由運算器、控制器、存儲器、輸入設備和輸出設備組成。 程序指令和數據采用二進制 表示 實現程序存儲和程序控制。早期微型計算機的三總線結構(總線的概念)數據

58、總線,地址總線和控制總線個人計算機PC/XT&AT的擴展總線結構 ISA總線,PCI總線, PCI Express微處理器的基本結構與指令執行過程 基本組成 累加器和算術邏輯單元(ALU) 寄存器陣列 控制部件 執行過程 取指令、分析指令、執行指令運算基礎 基本概念: 原碼、反碼和補碼,BCD碼 ,ASCII碼 有符號數與無符號,符號數的表示與補碼運算若X= -107,Y= 74為字節寬度的有符號數,那么X補為 H, Y補為 H,X+Y補為 H, X+Y補為 H ,若將X補擴展到16位有符號數則為 H。解:X補 = 10010101B = 95H (107 =01101011B)Y補

59、= 01001010B = 4AHX +Y補 = X補+ Y補 = 10010101B+ 01001010B = 11011111B = 0DFH-Y補 = Y補取反加1 = 10110110B = 0B6H X -Y補 = X補+ -Y補 = 10010101B+ 10110110B = 1 01001011B = 4BH 結果溢出X補16 = 0FF95H 第二章 8086微型計算機體系結構8086微處理器的內部結構執行單元(EU)和總線接口單元(BIU) EU: 完成算術邏輯運算, 計算出要尋址的操作數地址 BIU:完成取指令,操作數的存取,指令隊列減少取指等待時間 取指和執行指令分開完

60、成,實現CPU并行工作兩級流水線。8086CPU寄存器基本寄存器:八個16位通用寄存器 數據寄存器: AX(AH AL)、BX(BH BL)、 CX(CH CL)、DX(DH DL ) 地址指針及變址寄存器:SP BP SI DI 控制寄存器組指令指針IP 標志寄存器FLAG 四個段寄存器( 四種類型的存儲器段) CS DS SS ES實現存儲器空間的分段管理 各種寄存器的作用和在指令中的使用方法,標志寄存器各標志位的功能,常用指令對標志位的影響。復位后各寄存器狀態.8086CPU的引腳及功能主要引腳 地址線數據線 AD0AD15分時復用, A16A19高位地址或狀態 控制和狀態線 總線操作: RD,WR,READY, M/IO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論