日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

您好,歡迎來電子發(fā)燒友網! ,新用戶?[免費注冊]

當前位置:電子發(fā)燒友網 > 圖書頻道 > 電子 > 《微計算機原理》 > 第2章 8086微處理器

第7節(jié) 練習題

 

  第二章 8086微處理器

  1、8086 CPU為什么要有EU和BIU兩個單元?每個單元都由哪幾部分組成?它們的作用是什么?兩者之間有何聯系?

  2、為什么設置段寄存器?它們的主要特點是什么?

  3、為什么設置堆棧?堆棧操作有何特點?

  4、8086預取指令隊列有什么好處?簡述預取指令機構的工作情況。

  5、分別簡述AX、BX、CX、DX、SP、BP、DI的用途。

  6、設CS的內容為A000H,試說明現行代碼段可尋址的存儲空間范圍是多少?

  7、設現行數據段位于存儲器B0000H和BFFFFH存儲單位,問DS的內容是多少?

  8、8086系統中,存儲器的物理地址由哪兩部分組成?每一個段和寄存器間有何對應要求?

  9、CPU執(zhí)行轉移指令時是,指令隊列寄存器內容將如何發(fā)生變化?

  10、在指令執(zhí)行過程中,EU能直接存取存儲器中操作數嗎?EU是如何得到指令中的操作數的?它有是有什么方法將指令執(zhí)行結果寫入存儲單元中?

  11、有兩個16位字902AH和903BH,它們在一個8086系統存儲器中的地址分別是00020H和00023H,請用圖示標出它們在存儲器中的位置。

  12、在一個8086系統中,存放如下信息,現在處理器要讀一個地址為000A3H的字,試寫出該字內容,并指出讀該字的過程。

  13、設雙字12345678H的起始地址是0A001H,說明這個雙字在存儲器中是如何存放的?

  14、說明8086最小模式系統和最大模式系統之間的差別。

  15、試說明8086與8088微處理器之間的主要差別。

  16、將兩數相加(用加法指令),即01001100B加01100101B,執(zhí)行加法指令后,CF、PF、AF、ZF、SF、OF各為何值?

  第二章 自測題

  1、8086CPU由哪兩部分組成?它們的主要功能是什么?8086CPU與8088CPU的主要區(qū)別是什么?

  答案

  8086CPU內部由執(zhí)行部件和總線接口部件兩部分組成。總線接口部件的任務是負責在I/O接口、存儲器及CPU之間進行數據傳送。執(zhí)行部件負責分析指令并執(zhí)行指令。8088CPU內部的指令隊列寄存器只有4個(8086為6個)8088的數據總線僅有8位(8086為16位)。

  2、8086/8088和傳統的計算機相比,在執(zhí)行指令方面有什么不同?這種設計的優(yōu)點何在?

  答案

  傳統的計算機在執(zhí)行指令時取指令、分析指令和執(zhí)行指令均由內部一次完成。而 8086/8088CPU內部由EU和BIU兩個部件組成,二者間用指令隊列寄存器進行聯系。BIU由存儲器中取出指令后放入指令對列寄存器中,EU再由指令隊列中取出指令然后分析指令并執(zhí)行指令。即是說,在8086/8088CPU內部取指令和分析指令是同時進行的,這樣,CPU執(zhí)行完一條指令后馬上就可以執(zhí)行下一條指令,故可以提高運算速度。

  3、8086/8088微處理器內部有哪些寄存器?其主要作用是什么?

  答案

  8086/8088內部的寄存器陣列可以分為四組,它們是:通用寄存器組AX,BX,CX,DX;指示器和變址寄存器SP,BP,SI,DI;段寄存器CS,DS,SS,ES;指令指示器和標志寄存器IP,FLAG。簡單地說,通用寄存器用作常規(guī)運算,寄存中間結果。指示器和變址寄存器在對寄存器的操作數尋址時,用以形成20位物理地址的偏移量,任何情況下都不能單獨形成或訪問內存的地址碼。段寄存器用以指明8086/8088 20位物理地址的高16位,它們使用專一,不可互換。指令寄存器IP用以指明要執(zhí)行指令的偏移量(段地址由CS提供)。標志寄存器用以存放運算過程中的狀態(tài)。

  4、設某臺微處理器有20條地址總線和16條數據總線:

  (1)若存儲器尋址空間和I/O地址的尋址空間是分開的,問存儲器空間有多大?

  (2)經由數據總線可傳送的帶符號數的范圍是多大?

  答案

  (1)存儲器的尋址空間為220=1MB。

  (2)可傳送的帶符號數的范圍為-32768~+32767。

  5、有兩個16位字1EF5H和2A3DH分別存放在00B0H和00BCH單元中,用圖表表示它們在存儲器里存放情況。

  答案

  

 

  6、存儲器里存放的信息如圖所示。試讀出30022H,30024H單元字節(jié)的內容及30021H及30022H單元字的內容。

  答案

  (30022H)=ABH   (30024H)=EFH

  (30021H)=AB34H  (30022H)=CDABH

  7、寫出下列存儲器地址的短地址、偏移地址和物理地址。

  (1)2314H:0035;(2)1FD0H:00A0H;(3)0000H:0100H;(4)3FB0H:0053H

  答案

  題號段地址偏移地址物理地址

  (1)2314H0035H23175H

  (2)1FD0H00A0H1FDA0H

  (3)0000H0100H00100H

  (4)3FB0H0053H3FB53H

  8、如果在一個程序段開始執(zhí)行之前,(CS)=0A7EH,(IP)=2B40H。試問:該程序段的第一個字的物理地址?指向這一物理地址的CS值和IP值是唯一的嗎?

  答案

  該程序段第一個字節(jié)的物理地址為(CS)×16+IP=0D320H,該字節(jié)的物理地址是唯一的,但段地址和偏移地址不是唯一的。例如(CS)=0D301H,IP=0020H,其物理地址亦為0D320H。

  9、狀態(tài)標志和控制標志有何不同?程序中如何利用這兩類標志?8086/8088的狀態(tài)標志和控制標志有哪些?

  答案

  狀態(tài)標志表示前面的操作執(zhí)行后,算術邏輯部件處在怎樣一個狀態(tài),這種狀態(tài)會像某種先決條件一樣影響后面的操作??刂茦酥臼侨藶樵O置的,8086/8088指令系統中有專門的指令用于控制標志的設置與清除。每個控制標志都對某種特定的功能起控制作用。

  10、將十六進制數62A0H與下列各個數相加,試給出和數及標志AF,SF,ZF,CF,OF和PF的狀態(tài):

  (1)1234H;(2)4321H;(3)CFA0H;(4)9D60H

  答案

  (1)0111010011010100

  SF=0 ZF=0 PF=1 CF=0 AF=0 OF=0

  (2)1010010111000001

  SF=1 ZF=0 PF=0 CF=0 AF=0 OF=1(用雙高位判別)

  (3)10011001001000000

  SF=0 ZF=0 PF=0 CF=1 AF=0 OF=0

  (4)0000000000000000

  SF=0 ZF=1 PF=0 CF=1 AF=0 OF=0

  11、在某個程序的運行過程中,堆棧的棧頂單元偏移地址為7F80H,而堆棧中相應數據區(qū)存放一個偏移地址為74CAH的數。試問:當執(zhí)行程序要引用該數據區(qū)中的數據時,上述兩個地址應防在寄存器中?提示:棧中的數據為程序的偏移地址。

  答

  在堆棧操作中,段地址只能用在SS,而偏移地址只能由SP來提供,故棧頂單元的偏移地址7F80H只能放在SP中,根據題意,堆棧中存放的數為程序的偏移地址,因此它也只能放在指令寄存器IP中。即74CAH在引用此數時放入IP中。

  12、試述8086/8088中SP,BP,SI,DI有何特殊用途。

  答

  SP,BP,SI,DI分別叫做指示器和變址寄存器。它們的通常用法是在尋址過程中作為偏移得罪寄存器。此外它們還有自己的特殊用法。SP和BP在運算中訪問當前堆棧數據提供了方便,把堆棧段作為一個“數據區(qū)”,對執(zhí)行高級語言很有用途。這樣,除非特別指定,存放在指示器中的偏移量,總是假定為引用當前的數據段。有些指令又把SP和BP加以區(qū)分,如PUSH,POP,只用SP作偏移量。BP不能用作這個目的,但卻可以用著堆棧段中一個數據區(qū)的“基址”的偏移量。SI和BI一般是假定為引用當前數據段基址的偏移量。另外在數據串操作指令中,SI和DI的使用非常專一。SI只能作為源操作數的偏移地址,而DI只能作為目標操作數的偏移地址。而者絕對不可以互換。還應當指出,在串操作指令中,串操作指令不能直接地指定它們,因它們是被隱含指定的。

  13、現有8個字節(jié)的數據為:34H,45H,56H,67H,78H,89H,9AH,ABH,假定它們在存儲器中的物理地址為400A5H~400ACH。若當前(DS)=4002H,試求各存儲單元的有效地址;若從存儲器中讀出這些數據,試問需要訪問幾次存儲器?

  答案

  根據題意,該數據段第一字節(jié)的物理地址為400A5H,而段地址為4002H,故第一個字節(jié)的有效地址為400A5H-4002H×16=0085H。依次類推,各個字節(jié)的有效地址分別為0085H,0086H,0087H,0088H,0089H,008AH,008BH和008CH。

  由于數據是以字節(jié)的形式存放的。因此每讀一個字節(jié)需訪問一次存儲器,共需8個總線周期。若是以字節(jié)的方式讀出這些數據,由于存放的格式為非對準字,每讀出一個非對準字需要兩個總線周期,四個非對準字共需8個總線周期。

  14、選擇題:

  (1)計算機使用總線結構的優(yōu)點是便于實現積木化,同時( )。

  (A)減少了信息傳輸量;(B)提高了信息傳輸速度;(C)減少了信息傳輸線的條數。

  其缺點是( )。

  (D)地址信息、數據信息結合控制信息不能同時出現;(E)地址信息和數據信息不能同時出現;(F)兩種信息源的代碼在總線中不能同時傳遞。

  (2)微型計算機的控制總線提供( )。

  (A)數據信息流;(B)存儲器和I/O設備的地址碼;(C)所有存儲器和I/O設備的時序信號;(D)所有存儲器和I/O設備的控制信號;(E)來自I/O設備和存儲器的響應信號;(F)上述各項;(G)上述C、D項;(H)上述C、D和E三項。

  (3)總線中地址線的功能是( )。

  (A)用于選擇存儲器單元;(B)用于選擇進行信息傳輸的設備;(C)用于指定存儲單元和I/O設備接口電路的選擇地址。

  (4)微型計算機中讀/寫控制信號的作用是( )。

  (A)決定數據線上的數據流方向;(B)控制存儲器或I/O接口操作(R/W)的類型;(C)控制流入、流出存儲器或I/O接口信息的方向;(D)以上任意用。

  答案

  (1)C,F (2)H (3)C (4)A,B,C

  15、填空題:

  (1)8086工作在最小模式下,控制數據流方向的信號是   、   、   、   、   。

  (2)為了減輕總線負載,總線上的不見大都應具有三態(tài)邏輯,三態(tài)邏輯電路輸出信號的三個狀態(tài)是   、    、   。

  (3)微處理器總線響應物理上的含義是    。

  答案

  (1)M/IO,RD,WR,DT/R,DEN

  (2)高電平,低電平,高阻

  (3)CPU的地址總線、數據總線和三態(tài)的控制總線已處于高阻狀態(tài)。

  16、在8086/8088中RESET信號來到后,CPU的狀態(tài)有哪些特點?

  答案

  (1)把CPU內部寄存器置初值:指令隊列及FLAG,IP,DS,ES和SS均清零,CS置為FFFFH。

  (2)由于狀態(tài)標志被清0,故不能響應可屏蔽中斷。

  (3)將所有的三態(tài)輸出線置成成高阻狀態(tài),包括:AD0~AD15。A16/S3~A19/S6,BHE/S7,M/IO,DT/R,DEN,WR,RD,INTA。

  (4)其它信號線狀態(tài):ALE,HLDA,QS0,QS1置為邏輯“0”,RQ/GT0,RQ/GT1置為邏輯“1”。

  17、BHE信號和A0信號是通過怎樣的組合解決存儲器和I/O端口讀/寫操作的?這種組合決定了8086系統中存儲器偶地址及奇地址之間應該用什么信號區(qū)分?怎樣區(qū)分?

  答案

  在8086中把1MB的存儲空間分為512KB的存儲體,一個用于存放偶數地址字節(jié)(低字節(jié)),一個用于存放奇數字節(jié)(高字節(jié)),兩個存儲體之間采用交叉編址方式,即用地址線A0作為偶存儲體的地址選通信號。A0=0選通偶存儲體,偶存儲體的數據線與數據總線的高8位(D8~D15)相連。CPU可以訪問任何一個存儲體,讀/寫一個字節(jié),也可以同時訪問兩個存儲體讀寫一個字節(jié)。

  18、試說明空閑周期的含義。

  答案

  所謂空閑狀態(tài)是指總線接口部件BIU不和總線交換信息的狀態(tài)。由于當BIU需要補充指令隊列流的空缺或當EU執(zhí)行指令過程中需經外部總線與存儲器或I/O接口之間進行信息傳輸時,CPU才執(zhí)行總線周期。在不執(zhí)行總線周期時,就不存在總線周期,但卻存在時鐘周期。沒有總線活動的周期被稱為總線空閑周期T1。

  在總線空閑周期,雖然不進行總線操作,但CPU內部的EU卻仍在進行著有效的操作。因此總線空閑周期是總線接口部件BIU對執(zhí)行部件的等待。

  *19、時鐘發(fā)生器8284的功能是什么?畫出它的電路圖。

  答案

  時鐘發(fā)生器8284的作用是為8086/8088CPU提供頻率恒定的時鐘信號;同時還提供了復位信號發(fā)生電路和“準備好”信號控制電路,復位信號發(fā)生電路提供系統復位信號RESET,“準備好”信號控制電路用于對存儲器或I/O口產生 的“準備好”信號READY進行同步。關于線路圖及引腳的使用請參考資料。

  20、總線周期的含義是什么?8086/8088的基本總線周期由幾個時鐘周期組成?假定某8086CPU的時鐘頻率為24MHz,試問它的一個時鐘周期是多少?一個基本總線周期是多少?

  答案

  CPU訪問存儲器或I/O端口存取一個字節(jié)所需的時間稱為一個總線周期。8086/8088的基本總線周期由4個時鐘周期組成,分別叫做T1,T2,T3,T4。8086/8088的讀周期和寫周期是有差別的。

  當8086的時鐘頻率為24MHz時,一個時鐘周期為1us/24,一個基本的總線周期為1us/24×4=1us/6。

  21、從引腳上看,8086和8088有什么區(qū)別?

  答案

  8086和8088引腳的差別如下(均為最小方式比較):

  比較項80868088

  數據線168

  地址/數據復用線168

  存儲器/I/O接口選通線M/IOIO/M

  高位地址選通信號BHE/S7選通寄存儲體無,SS0與IO/M,DT/R組合產生控制信號

  22、在8086的微機系統中,為什么采用AD0作為低8位數據的選通信號?

  答案

  在8086中,存儲器結構有奇偶之分,又規(guī)定,當讀/寫一個字時,若從偶地址開始,則只需一個總線周期;若從奇地址開始,則需兩個總線周期。數據存放格式又規(guī)定為低字節(jié)在地址的低位,高字節(jié)在地址的高位。上述因素決定了能滿足系統規(guī)定的要求,又能加快信息的存取時間,用AD0=0作為偶存儲體(存放低8位數據)的選通信號。

  23、8086和8088在最大模式和最小模式下,引腳信號分別有什么不同?

  24、8086和8088如何解決地址線和數據先的復用問題?ALE信號何時處于有效狀態(tài)?

  答案

  8086/8088通過外接地址鎖存器解決地址線和數據線的復用問題。當ALE處于有效狀態(tài)時,CPU地址/數據復用線上輸出的為地址信息。

  *25、試述總線控制器8288的功能;并說明8086在最大模式下為什么一定要用總線控制器;總線控制起輸入及輸出信號各是什么?

  答案

  簡單地說,總線控制器8288用來對8086/8088的CPU控制信號進行轉換,以使8086/8088工作在最大模式時能完成對多CPU處理系統中的總線爭用問題,同時保證各處理器之間能正常通信。具體地說,8288有如下6種功能:

  (1)產生系統總線控制信號或僅訪問I/O設備的I/O控制信號(INTA,IORC,IOWC)。即可選擇8288是工作于系統總線方式還是I/O總線工作方式。

  (2)使總線控制信號浮空,以允許DMA操作或決定總線優(yōu)先權。

  (3)提供超前控制信號,以便和慢速存儲器及I/O設備交換信息。

  (4)實現使控制信號無效控制,以供多CPU結構使用。

  (5)產生ALE地址鎖存允許信號和雙向數據驅動的控制信號DEN和DT/R。

  (6)產生簡單或級聯中斷邏輯所需的控制信號。

  8288輸入、輸出信號(略)。

  *26、8086系統在最小模式下的基本配置如何?試畫出這種配置的連接關系。

  答案

  8086系統在最小模式時需配備如下器件:8284時鐘發(fā)生器,20位地址鎖存器(用3片8282或8283完成,亦可用74LS373完成),用以鎖存有效地址。用ALE作為選通信號,用2片8286(或8287,74LS245)作為數據總線驅動器,其控制信號有DT/R或DEN。

  連線圖請參考相關資料。此處略。

  27、試述T1狀態(tài)下地址/數據總線上的信息類型及鎖存信號狀態(tài)。數據信息在何時有效。用時序圖表示。

  答案

  在T1狀態(tài)下,首先由M/IO指明是進行的I/O操作還是存儲器操作。地址/數據復用線給出進行操作的地址(存儲器操作20位,I/O操作16位),地址鎖存信號ALE處于有效狀態(tài)(高電平)以鎖存地址。BHE信號為有效狀態(tài)(低電平)以便輸入/輸出數據的高8位。

  在T3狀態(tài)下,數據線上出現有效數據。

  *28、畫出8086在最小模式下的讀周期時序。

  答案

  8086在最小模式下的讀周期時序如圖所示:

?
武功县| 贵港市| 太康县| 双辽市| 博白县| 永春县| 海林市| 依安县| 喀什市| 南投市| 云霄县| 屯昌县| 宜丰县| 铁岭县| 定远县| 三江| 松阳县| 深水埗区| 大渡口区| 晋州市| 樟树市| 娄底市| 宝坻区| 城口县| 龙山县| 古丈县| 新野县| 团风县| 高陵县| 扎赉特旗| 舒城县| 济宁市| 新干县| 安宁市| 黑水县| 郴州市| 汝州市| 邯郸市| 福海县| 肥西县| 祥云县|