現(xiàn)代微型計算機與接口習題解答1_第1頁
現(xiàn)代微型計算機與接口習題解答1_第2頁
現(xiàn)代微型計算機與接口習題解答1_第3頁
現(xiàn)代微型計算機與接口習題解答1_第4頁
現(xiàn)代微型計算機與接口習題解答1_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、上海市教育委員會高等學?!笆濉敝攸c規(guī)劃教材現(xiàn)代微型計算機與接口教程(習題解答)主 編:楊文顯副主編:壽慶余編 著:楊晶鑫 黃春華 胡建人清 華 大 學 出 版 社習 題 解 答清 華 大 學 出 版 社1說 明2習 題 一3習 題 二7習 題 三13習 題 四20習 題 五26習 題 六37習 題 七40習 題 八44習 題 九49習 題 十54習 題 十 一59說 明為了方便購買本書的讀者和使用本教材進行教學的教師使用本書,我們制作了本書的習題參考答案。為了維持正常的教學秩序,我們不向使用本教材的學生提供本習題答案。鑒于它的用途,若干答案的內容并未局限于對題目的解答,而是闡述了與該習題有關

2、的知識。因此,許多習題的答案可以看作是本書內容的延續(xù)。換個角度來說,它不是可供學生參考的“標準答案”。本書在2003年9月出版后,很快就收到了不少讀者的來信,索要本書的習題答案,這使得原本想“松口氣”的我們猝不及防,不得不在完成大量教學、科研的同時編寫這本“習題答案”。在各位編者完成之后,主編對全文進行了整理。雖然我們盡了自己的努力,但是,錯誤和不足恐難避免。歡迎各位同行和讀者來信指正和交流。編者 2003-12-03 E_Mail: 習 題 一1. 8086CPU由哪幾個部件構成?它們的主要功能各是什么?8086 CPU由指令執(zhí)行部件EU和總線接口部件BIU兩個部份組成。指令執(zhí)行部件主要功能

3、是執(zhí)行指令??偩€接口部件的主要功能是完成訪問存儲器或I/O端口的操作: 形成訪問存儲器的物理地址; 訪問存儲器取得指令并暫存到指令隊列中等待執(zhí)行; 訪問存儲器或I/O端口以讀取操作數(shù)參與EU運算,或存放運算結果。2. 什么是邏輯地址?什么是物理地址?它們各自如何表示?如何轉換?程序中使用的存儲器地址稱為邏輯地址,由16位“段基址”和16位“偏移地址”(段內地址)組成。段基址表示一個段的起始地址的高16位。偏移地址表示段內的一個單元距離段開始位置的距離。訪問存儲器的實際地址稱為物理地址,用20位二進制表示。將兩個16位二進制表示的邏輯地址錯位相加,可以得到20位的物理地址:物理地址段基址

4、5;16 + 偏移地址在32位CPU的保護模式下,“邏輯地址”的表示產生了一些變化,請參考第8章的相關內容。3. 什么是“堆棧”?它有什么用處?在使用上有什么特點?堆棧是內存中的一塊存儲區(qū),用來存放專用數(shù)據(jù)。例如,調用子程序時的入口參數(shù)、返回地址等,這些數(shù)據(jù)都按照“先進后出”的規(guī)則進行存取。SS存放堆棧段的段基址,SP存放當前堆棧棧頂?shù)钠频刂?。?shù)據(jù)進出堆棧要使用專門的堆棧操作指令,SP的值在執(zhí)行堆棧操作指令時根據(jù)規(guī)則自動地進行修改。X=36H=00110110BY=78H=01111000B (= 10111110BCF=1, SF=1, OF=0, PF=1, ZF=0, AF=14. 設

5、X=36H,Y=78H,進行X+Y和XY運算后FLAGS寄存器各狀態(tài)標志位各是什么?X=36H=00110110BY=78H=01111000B (+= 10101110BCF=0, SF=1, OF=1, PF=0, ZF=0, AF=05. 按照傳輸方向和電氣特性劃分,CPU引腳信號有幾種類型?各適用于什么場合?CPU引腳傳輸?shù)男盘柊凑諅鬏敺较騽澐?,有以下幾種類型:輸出:信號從CPU向外部傳送;輸入:信號從外部送入CPU;雙向:信號有時從外部送入CPU,有時從CPU向外部傳送。雙向信號主要用于數(shù)據(jù)信號的傳輸;輸出信號用于傳輸?shù)刂沸盘柡鸵恍┛刂菩盘?;輸入信號主要用于傳輸外部的狀態(tài)信號(例如R

6、EADY)和請求(中斷、DMA)信號。按照信號的電器特性劃分,有以下幾種類型:一般信號:用來傳輸數(shù)據(jù)/地址信號時,高電平表示“1”,低電平表示“0”;用來表示正邏輯的控制/狀態(tài)信號時,“1”表示有效,“0”表示信號無效;用來表示負邏輯的控制/狀態(tài)信號時,“0”表示有效,“1”表示信號無效。三態(tài)信號:除了高電平、低電平兩種狀態(tài)之外,CPU內部還可以通過一個大的電阻阻斷內外信號的傳送,CPU內部的狀態(tài)與外部相互隔離,也稱為“懸浮態(tài)”。CPU放棄總線控制權,允許其他設備使用總線時,將相關信號置為“懸浮態(tài)”。6. 8086CPU以最小模式工作,現(xiàn)需要讀取內存中首地址為20031H的一個字,如何執(zhí)行總線

7、讀周期?請具體分析。為了讀取內存中首地址為20031H的一個字,需要執(zhí)行二個總線讀周期。第一個總線周期讀取20031H字節(jié)內容,進行的操作如下。T1狀態(tài): = 1,指出CPU是從內存讀取數(shù)據(jù)。隨后CPU從地址/狀態(tài)復用線(A19/S6A16/S3)和地址/數(shù)據(jù)復用線(AD15AD0)上發(fā)出讀取存儲器的20位地址20031H。為了鎖存地址,CPU在T1狀態(tài)從ALE引腳輸出一個正脈沖作為地址鎖存信號。由于需要讀取高8位數(shù)據(jù)線上的數(shù)據(jù)(奇地址),= 0。為了控制總線收發(fā)器8286接受數(shù)據(jù), = 0。T2狀態(tài): 地址信息撤消,地址/數(shù)據(jù)線AD15AD0進入高阻態(tài),讀信號開始變?yōu)榈碗娖剑ㄓ行В?0,用

8、來開放總線收發(fā)器8286。T3狀態(tài): CPU檢測READY引腳信號。若READY為高電平(有效)時,表示存儲器或I/O端口已經準備好數(shù)據(jù),CPU在T3狀態(tài)結束時讀取該數(shù)據(jù)。若READY為低電平,則表示系統(tǒng)中掛接的存儲器或外設不能如期送出數(shù)據(jù),要求CPU在T3和T4狀態(tài)之間插入1個或幾個等待狀態(tài)Tw。TW狀態(tài):進入TW狀態(tài)后,CPU在每個TW狀態(tài)的前沿(下降沿)采樣READY信號,若為低電平,則繼續(xù)插入等待狀態(tài)TW 。若READY信號變?yōu)楦唠娖?,表示?shù)據(jù)已出現(xiàn)在數(shù)據(jù)總線上,CPU從AD15AD0讀取數(shù)據(jù)。T4狀態(tài):在T3(TW)和T4狀態(tài)交界的下降沿處,CPU對數(shù)據(jù)總線上的數(shù)據(jù)進行采樣,完成讀取

9、數(shù)據(jù)的操作。第二個總線周期讀取地址為20032H字節(jié)的內容。CPU發(fā)出的信號與第一個周期類似,區(qū)別在于T1狀態(tài)CPU發(fā)出存儲器地址為20032H,由于只需要讀取低8位數(shù)據(jù)線上的數(shù)據(jù)(偶地址),=1。在CPU內部,從20031H讀入的低位字節(jié)和從20032H讀入的高位字節(jié)被拼裝成一個字。7. 8086CPU有幾種工作方式?各有什么特點?8086/8088 CPU有兩種工作模式:最大工作模式和最小工作模式。所謂最小工作模式,是指系統(tǒng)中只有一個8086/8088處理器,所有的總線控制信號都由8086/8088 CPU直接產生,構成系統(tǒng)所需的總線控制邏輯部件最少,最小工作模式因此得名。最小模式也稱單處

10、理器模式。最大模式下,系統(tǒng)內可以有一個以上的處理器,除了8086/8088作為“中央處理器”之外,還可以配置用于數(shù)值計算的8087“數(shù)值協(xié)處理器”、用于I/O管理的“I/O協(xié)處理器”8089。各個處理器發(fā)往總線的命令統(tǒng)一送往“總線控制器”,由它“仲裁”后發(fā)出。CPU兩種工作模式由引腳決定,接高電平,CPU工作在最小模式;將接地,CPU工作在最大模式。8. 分析8086CPU兩個中斷輸入引腳的區(qū)別,以及各自的使用場合。INTR用于輸入可屏蔽中斷請求信號,電平觸發(fā),高電平有效。中斷允許標志IF= 1時才能響應INTR上的中斷請求。NMI用于輸入不可屏蔽中斷請求信號,上升沿觸發(fā),不受中斷允許標志的限

11、制。CPU一旦測試到NMI請求有效,當前指令執(zhí)行完后自動轉去執(zhí)行類型2的中斷服務程序。NMI引腳用于連接CPU外部的緊急中斷請求,例如內存校驗錯,電源掉電報警等。INTR引腳用于連接一般外部設備的中斷請求。9. 什么是時鐘周期、總線周期、指令周期?它們的時間長短取決于哪些因素?時鐘周期:CPU連接的系統(tǒng)主時鐘CLK一個周期的時間。CLK信號頻率越高,時鐘周期越短。總線周期:CPU通過外部總線對存儲器或I/O端口進行一次讀/寫操作的過程稱為總線周期。8086CPU總線周期一般由四個時鐘周期組成,存儲器/IO設備(接口)速度不能滿足CPU要求時,可以增加一個或多個時鐘周期。指令周期: CPU執(zhí)行一

12、條指令的時間(包括取指令和執(zhí)行該指令所需的全部時間)稱為指令周期。指令周期的時間主要取決于主時鐘的頻率和指令的復雜程度,它也受到存儲器或IO設備接口工作速度的影響。10. 在一次最小模式總線讀周期中,8086CPU先后發(fā)出了哪些信號?各有什么用處?T1狀態(tài): 指出CPU是從內存(1)還是從IO端口(0)讀取數(shù)據(jù)。隨后CPU從地址/狀態(tài)復用線(A19/S6A16/S3)和地址/數(shù)據(jù)復用線(AD15AD0)上發(fā)出讀取存儲器的20位地址,對IO端口訪問時從AD15AD0上發(fā)出16位地址。為了鎖存地址,CPU在T1狀態(tài)從ALE引腳輸出一個正脈沖作為地址鎖存信號。如果需要讀取高8位數(shù)據(jù)線上的數(shù)據(jù)(奇地址

13、/讀取一個字),= 0。為了控制總線收發(fā)器8286數(shù)據(jù)傳輸方向, = 0。T2狀態(tài): 讀信號開始變?yōu)榈碗娖剑ㄓ行В?0,用來開放總線收發(fā)器8286。T3狀態(tài): CPU檢測READY引腳信號。若READY為高電平(有效),表示存儲器或I/O端口已經準備好數(shù)據(jù),進入T4狀態(tài);若READY為低電平(無效),表示存儲器或I/O端口尚未準備好數(shù)據(jù),插入一個或多個TW狀態(tài),直到READY變?yōu)楦唠娖健4狀態(tài):在T3(TW)和T4狀態(tài)交界的下降沿處,CPU對數(shù)據(jù)總線上的數(shù)據(jù)進行采樣,完成讀取數(shù)據(jù)的操作。11. 結合指令“OUT 21H, AL”,具體敘述最大模式“總線寫周期”總線上的相關信號。T1狀態(tài):地

14、址/數(shù)據(jù)復用線(AD15AD0)上出現(xiàn)訪問IO端口的16位地址21H。由于地址為奇數(shù),需要通過高8位數(shù)據(jù)線訪問端口,= 0。T2狀態(tài): = 0,表示本周期對IO端口進行寫操作。地址/數(shù)據(jù)復用線(AD15AD0)上出現(xiàn)來自AL的8位數(shù)據(jù)。T3狀態(tài):若READY為高電平(有效),表示I/O端口已經準備好接收數(shù)據(jù)。反之,表示I/O端口尚未準備好接收數(shù)據(jù),需要CPU插入TW 周期進行等待,直到READY出現(xiàn)高電平(有效)。T4狀態(tài):CPU結束本周期。習 題 二1. 內存儲器主要分為哪兩類? 它們的主要區(qū)別是什么?內存儲器分為隨機存取存儲器RAM(Radom Access Memory)和只讀存儲器RO

15、M(Read Only Memory)兩類。RAM中信息可以按地址讀出,也可以按地址寫入。RAM具有易失性,掉電后原來存儲的信息全部丟失,不能恢復。ROM 中的信息可以按地址讀出,但是在普通狀態(tài)下不能寫入,它的內容一般不能被改變。ROM具有“非易失性”,電源關閉后,其中的信息仍然保持。2. 說明SRAM、DRAM、MROM、PROM和EPROM的特點和用途。SRAM:靜態(tài)RAM,讀寫速度快,但是集成度低,容量小,主要用作Cache或小系統(tǒng)的內存儲器。DRAM:動態(tài)RAM,讀寫速度慢于靜態(tài)RAM,但是它的集成度高,單片容量大,現(xiàn)代微型計算機的“主存”均由DRAM構成。MROM:掩膜ROM,由芯片

16、制作商在生產、制作時寫入其中數(shù)據(jù),成本低,適合于批量較大、程序和數(shù)據(jù)已經成熟、不需要修改的場合。PROM:可編程ROM,允許用戶自行寫入芯片內容。芯片出廠時,所有位均處于全“0”或全“1”狀態(tài),數(shù)據(jù)寫入后不能恢復。因此,PROM只能寫入一次。EPROM:可擦除可編程只讀存儲器,可根據(jù)用戶的需求,多次寫入和擦除,重復使用。用于系統(tǒng)開發(fā),需要反復修改的場合。3. 已知一個SRAM芯片的容量為8K×8,該芯片有一個片選信號引腳和一個讀/寫控制引腳,問該芯片至少有多少個引腳?地址線多少條?數(shù)據(jù)線多少條?還有什么信號線?根據(jù)存儲芯片地址線數(shù)量計算公式,klog2(1024*8)= log2(2

17、13)=13,即總計有13根地址線。另有8根數(shù)據(jù)線、2根電源線。所以該芯片至少有25(=13+8+1+1+2)根引腳。4. 巳知一個DRAM芯片外部引腳信號中有4根數(shù)據(jù)線,7根地址線,計算它的容量。根據(jù)存儲容量計算公式S2k×I,可得該芯片的存儲容量為:214*4=16K×4bit(位),也可表示為64Kb=8KB(字節(jié))。5. 32M×8的DRAM芯片,其外部數(shù)據(jù)線和地址線為多少條?根據(jù)存儲芯片地址線數(shù)量計算公式,klog2(1024*1024*32)= log2(225)=25,即需要25根地址線。但是,由于DRAM芯片的地址采用分時輸入的方法,所以實際需要的

18、地址線只有理論值的一半,此處為13根。數(shù)據(jù)線8根是內部的還是外部的?6. DRAM為什么需要定時刷新?DRAM靠MOS管極間電容存儲電荷的有無決定所存信息是0還是1,由于漏電流的存在,它存儲的信息不能長時間保存,需要定時重新寫入,稱為“刷新”。7. 74LS138譯碼器的接線如圖2.28所示,寫出、所決定的內存地址范圍。圖2.28 譯碼電路電路從圖看出,該存儲系統(tǒng)的片內地址線有13根(A12-A0),是一個由8KB存儲芯片組成的存儲系統(tǒng),A17地址線不確定。它的地址分布為:00?0, CBA?, ?, ?, ?其中,CBA作為譯碼輸入,與輸出選擇有關;“?”表示可以為“0”,也可以為“1”。于

19、是:對應的內存地址范圍是:00000H01FFFH;或20000H21FFFH。對應的內存地址范圍是:04000H05FFFH;或24000H25FFFH。對應的內存地址范圍是:08000H09FFFH;或28000H29FFFH。對應的內存地址范圍是:0C000H0DFFFH;或2C000H2DFFFH。8. 敘述EPROM的編程過程,并說明EPROM和EEPROM的不同點。EPROM的編程過程標準編程方式:Vpp上加編程電壓,地址線、數(shù)據(jù)線上給出要編程單元的地址及其數(shù)據(jù),并使0、1。上述信號穩(wěn)定后,在端加上寬度為50±5ms的負脈沖,就可將一個字節(jié)的數(shù)據(jù)寫入相應的地址單元中。不斷

20、重復這個過程,將數(shù)據(jù)逐一寫入??焖倬幊谭绞剑菏褂?00µs的編程脈沖依次寫完所有要編程的單元,然后從頭開始校驗每個寫入的字節(jié)。若寫得不正確,則重寫這個單元。寫完后再校驗,不正確還可再寫,直到全部正確。EPROM和EEPROM的不同點:EPROM芯片用紫外線光照射擦除芯片的內容,擦除時需要把芯片從電路板上拔下,擦除操作對整個芯片進行。EPROM芯片編程需要外加“高電壓”,所以需要專用的“編程器”才能實現(xiàn)。EPROM的編程一般情況下對整個芯片進行。EEPROM芯片的擦除用電信號實現(xiàn),無需把芯片從電路板上拔下,可以進行“在系統(tǒng)編程”。EEPROM以字節(jié)為單位重寫,EEPROM沒有單獨的擦除

21、操作,寫入就意味著擦除了原來的內容,所以使用比EPROM快速方便。相比較而言,EEPROM芯片的編程比較接近RAM的寫入,它們之間的區(qū)別主要體現(xiàn)在速度上:RAM寫入與讀出的速度相近,不需要其他的聯(lián)絡信號;EEPROM的寫入比起讀出明顯要慢,為了掌握寫入時間,EEPROM通常設置了一根“狀態(tài)”引腳,供聯(lián)絡使用。9. 下列容量的ROM芯片除電源和地線,還有多少個輸入引腳和輸出引腳?寫出信號名稱。(1)64×4 (2)512×8 (3)128K×8 (4)16K×8 (5)1M×16根據(jù)存儲容量計算公式可得以上各芯片的地址、數(shù)據(jù)引腳分別為:64

22、15;4: 地址線k= log2(64)= log2(26)= 6根,數(shù)據(jù)線=4根;512×8: 地址線k= log2(512)= log2(29)= 9根,數(shù)據(jù)線=8根;128k×8:地址線k= log2(128*1024)= log2(217)= 17根,數(shù)據(jù)線=8根;16k×8: 地址線k= log2(16*1024)= log2(214)= 14根,數(shù)據(jù)線=8根;1M×16: 地址線k= log2(1024*1024)= log2(220)= 20根,數(shù)據(jù)線=16根。此外,所有ROM芯片都需要一根片選信號引腳;對于PROM,EPROM通常還需要“

23、輸出允許”和“編程脈沖”輸入引腳。EEPROM芯片除了有“片選”、“輸出允許”和“寫允許”外,通常還有表示“寫入完成”的狀態(tài)信號引腳。10. 已知RAM芯片的容量為(1)16K×8 (2)32K×8 (3)64K×8 (4)2K×8 如果RAM的起始地址為3400H、則各RAM對應的末地址為多少?存儲器的末地址=首地址+芯片內字節(jié)數(shù)(容量)1上述各芯片對應RAM的末地址為:16K×8:末地址是3400H+4000H1= 73FFH32K×8:末地址是3400H+8000H1= B3FFH64K×8:末地址是3400H+100

24、00H1= 133FFH2K×8: 末地址是3400H+800H1= 3BFFH11. 如果存儲器起始地址為1800H,末地址為1FFFH,求該存儲器的容量。該存儲器的容量為:(1FFFH1800H+1)×8 = 800H×8,該存儲器有2048×8個位,也可以寫作2KB。12. 有一個存儲體,其地址線15條,數(shù)據(jù)線8條,則1)該存儲體能夠存儲多少個漢字?2)如果該存儲體由2K×4位的芯片組成,需要多少片?3)采用什么方法擴展?分析各位地址線的使用。該存儲體容量為215×8=32KB,存儲一個漢字需要二個字節(jié),因此,它能夠存儲1638

25、4(16K)個漢字。需要2K×4位的芯片32片,(32K×8)/(2K×4)=32 ??刹捎米治蝗珨U展方法,由2片4位的芯片組成1組8位的存儲單元,16組擴展成32K的8位存儲體。芯片直接使用的地址線(片內地址)11根(A0-A10),另外需要4根高位地址,連接到4-16譯碼器輸入端,產生16個譯碼信號用作16個芯片組的片選信號。剩余的地址線用來確定該存儲體的首地址。13. 試說明Flash Memory芯片的特點及28F040的編程過程。Flash Memory也稱為“閃速存儲器”,有時直接稱之為“Flash”。Flash既有ROM非易失性的特點,又能夠在線擦除

26、和重寫,既可讀又可寫,同時有很高的存取速度,具有集成度高,價格低,耗電少等優(yōu)點。目前存取速度已突破了30ns,掉電后信息可以保持10年。Flash的編程方法與E2PROM相同,28F040的編程寫入過程采用字節(jié)編程方式。首先,向28F040狀態(tài)寄存器寫入命令10H,再在指定的地址單元寫入相應數(shù)據(jù)。接著查詢狀態(tài),判斷這個字節(jié)是否寫好,若寫好則重復上面過程寫入下一個字節(jié),直到全部字節(jié)寫入。28F040的編程速度很快,一個字節(jié)的寫入時間僅為8.6µs。14. 利用全地址譯碼將6264芯片接到8088系統(tǒng)總線上,地址范圍為30000H31FFFH,畫出邏輯圖。全地址譯碼連接圖全地址譯碼可以保

27、證存儲器芯片上的每一個單元在整個內存空間中具有唯一的、獨占的一個地址。參考教材相關內容,6264芯片有13根地址線,剩余的高位7根地址線通過譯碼組合確定該芯片的起始地址(30000H)。由30000H地址得出對應的地址線狀態(tài)為:0011 000 0 0000 0000 0000 可以看出A13A19地址線為0011 000,所以譯碼組合應邏輯為:= ···A16·A17·· =(····)·(A16·A17)= A13+A14+A15+A18+A19+ A16·A1

28、7具體邏輯如右圖所示。15. 若用2164芯片構成容量為128KB的存儲器,需多少片2164? 至少需多少根地址線?其中多少根用于片內尋址?多少根用于片選譯碼? 2164A是容量為64K×1位的動態(tài)隨機存儲器芯片,構成128KB的存儲器需要2164A芯片16片 128K×8/(64K×1)=16 。由于地址空間為128K,需要的地址線總數(shù)為17根(217=128K)。其中,片內地址線16根(216 =64K),片選地址線1根(1716=1,)。每8個2164芯片構成一組,進行位擴展,得到64KB存儲器。兩個這樣的“組”進行地址擴展,構成128KB的存儲器。16.

29、某8088系統(tǒng)用2764 ROM芯片和6264 SRAM芯片構成16KB的內存。其中,RAM的地址范圍為FC000H-FDFFFH,ROM的地址范圍為FE000H-FFFFFH。試利用74LS138譯碼,畫出存儲器與CPU的連接圖,并標出總線信號名稱。2764和6264均為8KB的存儲芯片,需要13根地址線(A0A12)用于片內尋址。8088系統(tǒng)的其他地址線(A13A19)用于產生片選信號。FC000H的地址線狀態(tài)為:1111 110 0 0000 0000 0000 FE000H的地址線狀態(tài)為:1111 111 0 0000 0000 0000將A13A15用作譯碼輸入,其他地址(A16A1

30、9=1111)用作譯碼控制,可以得到如下譯碼控制電路,連接如下圖所示。17. 存儲周期指的是( A )。A存儲器進行連續(xù)讀或寫操作所允許的最短時間間隔 B存儲器的讀出周期C存儲器進行連續(xù)寫操作所允許的最短時間間隔 D存儲器的寫入周期存儲周期是指連續(xù)兩次訪問存儲器之間所需的最小時間。存取時間是CPU訪問一次存儲器(寫入和讀出)所需的時間。存儲周期等于存取時間加上存儲器的恢復時間。所以應選擇A。18. 某一EPROM芯片,其容量為32K×8,除電源和地線外,最小的輸入引腳和輸出引腳分別為( C )。A. 15和8; B32和8; C17和8; D18和10;容量為32K×8的E

31、PROM芯片,其數(shù)據(jù)線為8根,地址線為15根,片選線1根,讀寫控制線1根。其中地址線、片選線、讀寫控制線均為EPROM的輸入信號,共17根。數(shù)據(jù)線在正常工作狀態(tài)下用于EPROM輸出,計8根。所以應選擇C。19. 掩膜ROM在制造時通過光刻是否連接MOS管來確定0和1,如果對應的某存儲單元位沒有連接MOS管,則該位信息為( C )。A不確定; B. 0; C1; D可能為0,也可能為1;掩膜ROM芯片內每一個二進制位對應于一個MOS管,該位上存儲的信息取決于這個MOS管的柵極是否被連接到字線上。柵極被連接,該單元被選中時,漏極與“地”相通,輸出低電平,該位存儲的信息就是0。柵極未連接時,盡管字線

32、被選中,輸出端與“地”仍然不能導通,輸出高電平,對應的信息為1。所以應選擇C。20. SRAM和DRAM存儲原理不同,它們分別靠( A )來存儲0和1的。A雙穩(wěn)態(tài)觸發(fā)器的兩個穩(wěn)態(tài)和極間是否有足夠的電荷B內部熔絲是否斷開和雙穩(wěn)態(tài)觸發(fā)器C極間電荷和浮置柵是否積累足夠的電荷D極間是否有足夠的電荷和雙穩(wěn)態(tài)觸發(fā)器的兩個穩(wěn)態(tài)靜態(tài)隨機存儲器(SRAM)的每一個位存儲單元有一個雙穩(wěn)態(tài)觸發(fā)器,由4個晶體管組成,它們的狀態(tài)確定了該存儲單元存儲的1位二進制信息。而動態(tài)隨機存儲器(DRAM)一般采用單管電路組成,它由一個MOS管T1和一個電容C構成。寫入時其信息通過位線(數(shù)據(jù)線)存人電容C中(寫入“1”對電容充電,寫

33、入“0”則對電容放電);讀出時存儲在電容C上的電荷通過T1輸出到位線上。所以應選擇A。習 題 三1 接口電路與外部設備之間傳送的信號有哪幾種?傳輸方向怎樣?數(shù)據(jù)信號:對于輸入設備,數(shù)據(jù)信號從外設通過接口送往總線,對于輸出設備,數(shù)據(jù)信號從總線通過接口發(fā)往外部設備。狀態(tài)信號:狀態(tài)信號表明外部設備當前的工作狀態(tài),用來協(xié)調CPU與外部設備之間的操作。狀態(tài)信號總是從外部設備通過接口發(fā)往總線??刂菩盘?:控制信號是CPU向外設發(fā)出的命令,它指定設備的工作方式,啟動或停止設備??刂菩盘枏腃PU通過接口發(fā)往外部設備。2 接口電路有哪些功能?哪些功能是必需的?接口電路可以具備:設備選擇功能、信息傳輸功能、數(shù)據(jù)格

34、式轉換功能、聯(lián)絡功能、中斷管理功能、復位功能、可編程功能和錯誤檢測等功能。其中設備選擇功能和信息傳輸功能是每一個接口電路所必備的。其他的功能是否需要則由設備的特點和工作方式決定。3 I/O端口的編址有哪幾種方法?各有什么利弊?80X86系列CPU采用哪種方法?I/O端口的編址有兩種不同的方式。I/O端口與內存統(tǒng)一編址:把內存的一部分地址分配給I/O端口,一個8位端口占用一個內存單元地址。已經用于I/O端口的地址,存儲器不能再使用。I/O端口與內存統(tǒng)一編址后,訪問內存儲器單元和I/O端口使用相同的指令,這有助于降低CPU電路的復雜性,并給使用者提供方便。但是,I/O端口占用內存地址,相對減少了內

35、存可用范圍。而且,由于難以區(qū)分訪問內存和I/O的指令,降低了程序的可讀性和可維護性。I/O端口與內存獨立編址:這種編址方法中,內存儲器和I/O端口各自有自己獨立的地址空間。訪問I/O端口需要專門的I/O指令。80x86 CPU采用I/O端口獨立編址方式。4 按照傳輸信號的種類,I/O端口有幾種?它們信號的傳輸方向怎樣?按照傳輸信號的種類,I/O端口有三種:數(shù)據(jù)端口:數(shù)據(jù)信息從端口輸入CPU(輸入設備接口),或者從CPU寫入端口(輸出設備接口);狀態(tài)端口:外設狀態(tài)信息從端口輸入CPU;控制端口:命令信息從CPU寫入端口。5 I/O端口譯碼電路的作用是什么?在最小模式和最大模式下分別有哪些輸入信號

36、?I/O端口譯碼電路用于產生端口的讀寫選擇信號。在最小模式下,譯碼電路接受來自總線的地址信號(16位),(= 0),或者信號。最大模式下,譯碼電路接受地址信號(16位),或者信號。6 外部設備數(shù)據(jù)傳送有哪幾種控制方式?從外部設備的角度,比較不同方式對外部設備的響應速度。外部設備數(shù)據(jù)傳送有以下四種控制方式。直接傳送方式(也稱為無條件傳送方式、同步傳送方式):這種情況下,外部端口完全被動地等待CPU的訪問,沒有確定的響應速度,響應時間取決于CPU忙碌的程度以及程序對外部設備控制采取的策略。查詢方式:如果CPU在某一時刻只對一個外設采用查詢方式進行數(shù)據(jù)傳輸,CPU的響應延遲約為310個指令周期。響應

37、速度快于中斷方式,慢于DMA方式。中斷方式:CPU的響應延遲平均為幾十個指令周期,慢于查詢方式,但是這種方式可以同時管理多個外部設備。DMA方式:外部端口的傳輸請求由DMA控制器響應,由于DMAC是一個專用于傳輸控制的電路,任務單一,不發(fā)生DMA傳輸競爭時,響應延遲僅為12個DMAC使用的時鐘周期,遠快于中斷方式和查詢方式。7 敘述一次查詢式輸出過程中,接口內各電路、信號的狀態(tài)變化過程。一個數(shù)據(jù)的查詢式輸出過程由二個階段組成:CPU從接口反復讀取狀態(tài)字:由地址譯碼電路產生狀態(tài)端口選擇信號,該信號不影響接口內部的狀態(tài)。外部設備輸出完成后,返回“確認”信號,該信號將狀態(tài)寄存器相關位(READY)置

38、位。如狀態(tài)字表明外設已處于“就緒”狀態(tài),則向數(shù)據(jù)端口傳送數(shù)據(jù)。由地址譯碼電路產生的數(shù)據(jù)端口選通信號一方面將數(shù)據(jù)總線上的數(shù)據(jù)寫入數(shù)據(jù)寄存器,同時清除狀態(tài)寄存器中的相關位(READY),向輸出設備發(fā)出輸出啟動信號。有的輸出接口設有控制端口,輸出啟動信號通過寫控制端口產生。8 比較程序中斷方式和查詢方式的區(qū)別,根據(jù)比較,指出中斷工作方式的優(yōu)缺點。中斷方式:外部設備工作完成后,通過“中斷請求”信號“主動”向CPU“報告”。查詢方式:外部設備工作完成后,狀態(tài)信號儲存在接口電路內,被動地等待CPU來讀取。根據(jù)上述比較,可以得到中斷工作方式的如下特點:優(yōu)點:1) CPU能夠及時了解外部設備的狀態(tài),從而對外部

39、設備IO請求進行及時處理。2) 由于CPU“被動”地等待外部設備的“中斷請求”,外部設備進行輸入/輸出操作時,CPU可以同時執(zhí)行其他的程序,CPU和外部設備“并行”工作。3) 由于同樣的原因,在中斷方式下,CPU可以同時管理多臺外部設備,CPU的效率得到提高。缺點:1) 用中斷方式需要CPU增加相應的管理邏輯,增加了CPU電路的復雜性。2) 由于CPU“被動”地接收“中斷請求”信號,CPU必須通過與外部的一個聯(lián)絡過程才能知道是那一個設備在申請中斷,這增加了響應時間。為了從當前任務轉移到中斷服務,CPU必須保護原有的運行環(huán)境,進行“任務”的“切換”,這也會增加響應時間。3) 有較多的設備使用中斷

40、方式時,會產生“中斷申請”的“競爭”。這一方面降低了響應速度,另一方面增加了管理的復雜性。 9 比較DMA方式和程序中斷方式的區(qū)別,根據(jù)比較,指出DMA工作方式的優(yōu)缺點。中斷方式:外部設備每進行一個數(shù)據(jù)的輸入/輸出,都要通過“中斷申請”要求CPU進行處理。CPU通過執(zhí)行一段“中斷服務程序”完成數(shù)據(jù)的傳輸。DMA方式:CPU通過對DMAC的初始化,啟動一個數(shù)據(jù)塊的傳輸操作。之后的數(shù)據(jù)傳輸通過信號的聯(lián)絡,在外設接口和存儲器之間進行,CPU只需簡單地讓出總線,而無需其他操作。根據(jù)上述比較,可以得到DMA工作方式的如下特點:優(yōu)點:1) 對于CPU而言,它的任務僅僅是在一個數(shù)據(jù)塊傳輸之前對DMAC進行初

41、始化,CPU用于傳輸控制的操作達到最小(不考慮與通道/IO處理器方式的比較),CPU的效率最高。CPU與外設“并行”工作。2) 外部設備一個數(shù)據(jù)輸入/輸出完成后,向DMAC申請進行數(shù)據(jù)傳輸,響應時間僅為DMAC的13個時鐘周期。響應速度達到最快,可以滿足高速傳輸?shù)男枰H秉c:1) 實現(xiàn)DMA控制需要增加DMA控制器和總線控制邏輯,增加了系統(tǒng)的復雜性。2) DMA傳輸需要占用總線,并且具有較高的“優(yōu)先級”。這使得系統(tǒng)對其他設備的響應速度不能得到明確的保證。10 某輸入設備接口數(shù)據(jù)端口、狀態(tài)端口、控制端口地址分別為70H, 71H, 72H。狀態(tài)端口D5=1表示輸入完成,控制端口D7=1表示啟動設

42、備輸入(輸入完成后由設備清除該位)。從該設備輸入100個字節(jié)數(shù)據(jù),存入以BUFFER為首地址的緩沖區(qū)。如果啟動該設備1秒后仍未完成一次輸入,則視為超時錯,顯示出錯信息后返回。分別用8086匯編語言和C語言編寫完成上述功能的I/O程序。匯編語言程序:DATASEGMENTBUFFERDB100 DUP(?)ERRORDB13, 10, “OVER TIME !”, 13, 10, “$”DATAENDSCODESEGMENTASSUMECS: CODE, DS: DATASTART: MOVAX, DATAMOVDS, AXMOVCX, 100LEABX, BUFFERONE:XORDX, DX

43、;DX用作響應計時器,每輸入一個數(shù)據(jù)之前,其初值都應為0MOVAL, 80HOUT72H, AL;啟動輸入W:INAL, 71H;從 71H 端口讀入狀態(tài)字INCDX;記錄延遲時間TESTAL, 00100000B;0010 0000B,測試完成位JNZREAD;輸入完成,轉READ讀取數(shù)據(jù)CMPDX, 50000;假設循環(huán)50000次時間為1秒JBW;未超時,繼續(xù)測試JMPOVERTIME;超過1秒,報告出錯READ:INAL, 70H;從 70H 端口讀入數(shù)據(jù)MOVBX, AL;數(shù)據(jù)存入緩沖區(qū)INCBX;修改指針LOOPONE;100個數(shù)據(jù)尚未輸入完成,轉ONE繼續(xù)JMPDONE;100個

44、數(shù)據(jù)輸入完成,轉DONE結束程序OVERTIME:LEADX, ERRORMOVAH, 9INT21H;響應超時,顯示出錯信息DONE:MOVAX, 4C00HINT21H;返回OSCODEENDSENDSTARTC語言程序:main( ) int i, status, time, buffer100 ; for( i=0; i<100; i+ )outportb( 0x72, 0x80 );/* 啟動輸入 */ for( time = 0; time < 20000; time+ ) status = inportb( 0x71 );/* 讀狀態(tài) */ if ( status &

45、amp; 0x20) buffer i = inportb ( 0x70 ); exit; /* 讀數(shù)據(jù),保存 */ if ( time >= 20000 ) printf( “n Over Time ! n”); exit ; /* 超時報錯 */ 11 某輸出設備數(shù)據(jù)端口、狀態(tài)端口地址分別為220H, 221H。狀態(tài)端口D0=1表示輸出完成。將數(shù)據(jù)段中以STRING為首地址的20個字符(用七位ASCII代碼存儲)添加水平和垂直校驗發(fā)送到該外部設備。用8086匯編語言編寫完成上述功能的I/O程序。匯編語言程序:DATASEGMENTSTRINGDB20 DUP ( ? )SUMDB0D

46、ATAENDSCODESEGMENTASSUMECS: CODE, DS: DATASTART: MOVAX, DATAMOVDS, AXMOVCX, 20LEABX, STRINGMOVSUM, 0; 垂直校驗碼初值為0ONE:MOVDX, 221H; DX置為狀態(tài)端口地址INAL, DXTESTAL, 00000001B;0000 0001B測試輸出完成位JZONE;未完成,轉ONE繼續(xù)讀取狀態(tài)MOVAL, BX;從字符串取出一個字符的ASCII代碼ANDAL, 07FH;清除最高位,準備置入校驗位JPEOUTPUT;判代碼奇偶屬性,ORAL, 80H;奇數(shù)個“1”,最高位置1(偶校驗)O

47、UTPUT:MOVDX, 220HOUTDX, AL;輸出添加了校驗位的代碼XORSUM, AL;生成垂直校驗位INCBX;修改指針LOOPONE;20個數(shù)據(jù)尚未輸出完成,轉ONE繼續(xù)MOVDX, 221H;輸出垂直校驗代碼LAST:INAL, DXTESTAL, 00000001B;0000 0001BJZLASTMOVAL, SUMMOVDX, 220HOUTDX, ALDONE:MOVAX, 4C00HINT21H;返回OSCODEENDSENDSTART12 試畫出矩陣式鍵盤查詢的程序流程圖。上述流程中假設鍵盤為8×8結構,如果有鍵按下,返回它的8位掃描碼。其中:最低3位為該

48、鍵所在列,次低3位為該鍵所在行,最高2位為0。如果沒有鍵按下,返回8位“1”。13 試畫出公用端口多位LED輸出的程序流程圖。習 題 四1 什么叫中斷?有哪幾種不同類型的中斷?由于某個事件的發(fā)生,CPU暫停當前正在執(zhí)行的程序,轉而執(zhí)行處理該事件的一個程序。該程序執(zhí)行完成后,CPU接著執(zhí)行被暫停的程序。這個過程稱為中斷。根據(jù)中斷源的位置,有兩種類型的中斷。有的中斷源在CPU的內部,稱為內部中斷。大多數(shù)的中斷源在CPU的外部,稱為外部中斷。根據(jù)中斷引腳的不同,或者CPU響應中斷的不同條件,也可以把中斷劃分為可屏蔽中斷和不可屏蔽中斷兩種。 2 什么是中斷類型?它有什么用處?用若干位二進制表示的中斷源

49、的編號,稱為中斷類型。中斷類型用來區(qū)分不同的中斷,使CPU能夠在中斷響應時調出對應的中斷服務程序進行中斷處理。3 有哪幾種確定中斷優(yōu)先級的方法?說明每一種方法各自的優(yōu)劣之處。確定中斷優(yōu)先權有四種可選的方法。(1) 軟件查詢法:采用程序查詢的方法確定中斷服務的順序。這種方法中斷邏輯最簡單(基本上不需要外部中斷邏輯),優(yōu)先級可以靈活設置,但中斷響應所需時間最長。(2) 分類申請法:CPU分設二個中斷申請信號的輸入引腳。這種方法需要CPU提供條件。(3) 鏈式優(yōu)先權排隊:菊花鏈法。這種方法需要的外部中斷邏輯比較簡單,容易實現(xiàn),但是設備較多時信號延遲大,對設備故障敏感。(4) 可編程中斷控制器: “向

50、量”優(yōu)先權排隊專用電路。這種方法功能最全面,控制靈活,可以通過程序設定中斷優(yōu)先權為固定的或循環(huán)的,但需要增加專用的中斷控制器。4 什么是中斷嵌套?使用中斷嵌套有什么好處?對于可屏蔽中斷,實現(xiàn)中斷嵌套的條件是什么?CPU在處理級別較低的中斷過程中,出現(xiàn)了級別較高的中斷請求。CPU停止執(zhí)行低級別中斷的處理程序而去優(yōu)先處理高級別中斷,等高級別中斷處理完畢后,再接著執(zhí)行低級別的未處理完的中斷處理程序,這種中斷處理方式稱為多重(級)中斷或中斷嵌套。使用中斷嵌套可以使高優(yōu)先級別的中斷得到及時的響應和處理。對于可屏蔽中斷,由于CPU在響應中斷時已將IF清零,所以一定要在中斷處理程序中加入開中斷指令,才有可能

51、進行中斷嵌套。5 什么叫中斷屏蔽?如何設置I/O接口的中斷屏蔽?用程序的方法使某些中斷源的中斷請求不能夠發(fā)送到CPU,或者雖然能夠發(fā)送但是不能得到響應,這種方法稱為中斷屏蔽。在外設的接口內增設一個中斷屏蔽觸發(fā)器(可以用D觸發(fā)器實現(xiàn)),該觸發(fā)器的端與中斷請求信號相“與”后連接到INTR。當 = 0時,中斷請求不能發(fā)往INTR。通過設定中斷屏蔽觸發(fā)器的狀態(tài),可以控制中斷請求信號是否能夠送到INTR端。置IF= 0, 可以使80x86CPU不響應來自INTR的可屏蔽中斷請求。6 什么是中斷向量?中斷類型為1FH的中斷向量為2345H:1234H,畫圖說明它在中斷向量表中的安置位置。中斷服務程序的入口

52、地址稱為中斷向量。中斷類型為1FH,它的中斷向量放置在1FH×4=0000: 7CH開始的位置上。如右圖。7 敘述一次可屏蔽中斷的全過程。(1) 中斷源請求中斷外部中斷源通過INTR引腳向CPU請求中斷。(2) 中斷響應 中斷源提出中斷請求后,如果CPU處于允許中斷狀態(tài)(IF=1); 沒有不可屏蔽中斷請求和總線請求; 當前指令執(zhí)行結束。則轉入中斷響應周期。在中斷響應周期: CPU取得中斷源的中斷類型; 將標志寄存器FLAGS和CS、IP(斷點)先后壓入堆棧保存; 清除自陷標志位TF和中斷允許標志位IF; 讀中斷向量表,獲得相應的中斷服務程序入口地址,轉入中斷服務程序。(3)中斷服務

53、中斷服務程序的主要內容包括: 保護現(xiàn)場 開中斷 中斷處理 關中斷 恢復現(xiàn)場 (4)中斷返回 8 簡要敘述8259A內部IRR, IMR, ISR三個寄存器各自的作用。三個寄存器長度均為8位。IRR用來記錄引腳IR7IR0上由外部設備送來的中斷請求信號。當外部中斷請求線IRi變?yōu)橛行r,IRR中與之對應的第i位被置1。IMR用于設置對中斷請求的屏蔽信號。此寄存器的第i位被置1時,與之對應的外部中斷請求線IRi被屏蔽,不能向CPU發(fā)出INT信號??赏ㄟ^軟件設置IMR內容,確定每一個中斷請求的屏蔽狀態(tài)。ISR用于記錄當前正在被服務的所有中斷級,包括尚未服務完而中途被更高優(yōu)先級打斷的中斷級。若CPU響

54、應了IRi中斷請求,則ISR中與之對應的第i位置1。ISR用于中斷優(yōu)先級管理。9 8259A是怎樣進行中斷優(yōu)先權管理的?8259A通過以下兩種途徑實現(xiàn)對中斷優(yōu)先權的管理:(1) 通過設置中斷屏蔽寄存器IMR,可以屏蔽某些中斷請求,從而動態(tài)地改變各請求端的優(yōu)先級別。(2) 8259A響應某個中斷請求之后,將ISR寄存器對應位置1。如果后續(xù)的中斷請求級別低于正在響應的中斷請求,則該中斷不能立即被響應。反之,如果新的中斷請求級別高于正在響應的中斷請求,則允許進行中斷嵌套。中斷服務結束時,應將ISR寄存器對應位清零。10 特殊全嵌套方式有什么特點?它的使用場合是什么?特殊全嵌套方式一般用于級聯(lián)方式下的8259A主片。如果8259A主片在一次中斷處理尚未結束時,收到了來自同一個引腳的第二次中斷請求,并且該8259A采用普通全嵌套方式,則它不會響應來自同一個引腳的第二次中斷請求。如果該8259A采用特殊全嵌套方式,就會響應該請求(中斷嵌套),從而可以及時響應連接在同一從片8259A上,并且相對有較高優(yōu)先級別的中斷請求。11 向8259A發(fā)送“中斷結束”命令有什么作用?8259A有哪幾種中斷結束方式?分析各自的利弊。中斷服務完成時,必須給8259A一個命令,使這個中斷級別在ISR中的相應位清“0”,表

溫馨提示

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

評論

0/150

提交評論