




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、習 題 一1. 8086CPU由哪幾個部件構成?它們的主要功能各是什么?8086 CPU由指令執行部件EU和總線接口部件BIU兩個部份組成。指令執行部件主要功能是執行指令。總線接口部件的主要功能是完成訪問存儲器或I/O端口的操作: 形成訪問存儲器的物理地址; 訪問存儲器取得指令并暫存到指令隊列中等待執行; 訪問存儲器或I/O端口以讀取操作數參與EU運算,或存放運算結果。2. 什么是邏輯地址?什么是物理地址?它們各自如何表示?如何轉換?程序中使用的存儲器地址稱為邏輯地址,由16位“段基址”和16位“偏移地址”(段內地址)組成。段基址表示一個段的起始地址的高16位。偏移地址表示段內的一個單元距離段
2、開始位置的距離。訪問存儲器的實際地址稱為物理地址,用20位二進制表示。將兩個16位二進制表示的邏輯地址錯位相加,可以得到20位的物理地址:物理地址段基址×16 + 偏移地址在32位CPU的保護模式下,“邏輯地址”的表示產生了一些變化,請參考第8章的相關內容。3. 什么是“堆棧”?它有什么用處?在使用上有什么特點?堆棧是內存中的一塊存儲區,用來存放專用數據。例如,調用子程序時的入口參數、返回地址等,這些數據都按照“先進后出”的規則進行存取。SS存放堆棧段的段基址,SP存放當前堆棧棧頂的偏移地址。數據進出堆棧要使用專門的堆棧操作指令,SP的值在執行堆棧操作指令時根據規則自動地進行修改。X
3、=36H=00110110BY=78H=01111000B (= 10111110BCF=1, SF=1, OF=0, PF=1, ZF=0, AF=14. 設X=36H,Y=78H,進行X+Y和XY運算后FLAGS寄存器各狀態標志位各是什么?X=36H=00110110BY=78H=01111000B (+= 10101110BCF=0, SF=1, OF=1, PF=0, ZF=0, AF=05. 按照傳輸方向和電氣特性劃分,CPU引腳信號有幾種類型?各適用于什么場合?CPU引腳傳輸的信號按照傳輸方向劃分,有以下幾種類型:輸出:信號從CPU向外部傳送;輸入:信號從外部送入CPU;雙向:信號
4、有時從外部送入CPU,有時從CPU向外部傳送。雙向信號主要用于數據信號的傳輸;輸出信號用于傳輸地址信號和一些控制信號;輸入信號主要用于傳輸外部的狀態信號(例如READY)和請求(中斷、DMA)信號。按照信號的電器特性劃分,有以下幾種類型:一般信號:用來傳輸數據/地址信號時,高電平表示“1”,低電平表示“0”;用來表示正邏輯的控制/狀態信號時,“1”表示有效,“0”表示信號無效;用來表示負邏輯的控制/狀態信號時,“0”表示有效,“1”表示信號無效。三態信號:除了高電平、低電平兩種狀態之外,CPU內部還可以通過一個大的電阻阻斷內外信號的傳送,CPU內部的狀態與外部相互隔離,也稱為“懸浮態”。CPU
5、放棄總線控制權,允許其他設備使用總線時,將相關信號置為“懸浮態”。6. 8086CPU以最小模式工作,現需要讀取內存中首地址為20031H的一個字,如何執行總線讀周期?請具體分析。為了讀取內存中首地址為20031H的一個字,需要執行二個總線讀周期。第一個總線周期讀取20031H字節內容,進行的操作如下。T1狀態: = 1,指出CPU是從內存讀取數據。隨后CPU從地址/狀態復用線(A19/S6A16/S3)和地址/數據復用線(AD15AD0)上發出讀取存儲器的20位地址20031H。為了鎖存地址,CPU在T1狀態從ALE引腳輸出一個正脈沖作為地址鎖存信號。由于需要讀取高8位數據線上的數據(奇地址
6、),= 0。為了控制總線收發器8286接受數據, = 0。T2狀態: 地址信息撤消,地址/數據線AD15AD0進入高阻態,讀信號開始變為低電平(有效),=0,用來開放總線收發器8286。T3狀態: CPU檢測READY引腳信號。若READY為高電平(有效)時,表示存儲器或I/O端口已經準備好數據,CPU在T3狀態結束時讀取該數據。若READY為低電平,則表示系統中掛接的存儲器或外設不能如期送出數據,要求CPU在T3和T4狀態之間插入1個或幾個等待狀態Tw。TW狀態:進入TW狀態后,CPU在每個TW狀態的前沿(下降沿)采樣READY信號,若為低電平,則繼續插入等待狀態TW 。若READY信號變為
7、高電平,表示數據已出現在數據總線上,CPU從AD15AD0讀取數據。T4狀態:在T3(TW)和T4狀態交界的下降沿處,CPU對數據總線上的數據進行采樣,完成讀取數據的操作。第二個總線周期讀取地址為20032H字節的內容。CPU發出的信號與第一個周期類似,區別在于T1狀態CPU發出存儲器地址為20032H,由于只需要讀取低8位數據線上的數據(偶地址),=1。在CPU內部,從20031H讀入的低位字節和從20032H讀入的高位字節被拼裝成一個字。7. 8086CPU有幾種工作方式?各有什么特點?8086/8088 CPU有兩種工作模式:最大工作模式和最小工作模式。所謂最小工作模式,是指系統中只有一
8、個8086/8088處理器,所有的總線控制信號都由8086/8088 CPU直接產生,構成系統所需的總線控制邏輯部件最少,最小工作模式因此得名。最小模式也稱單處理器模式。最大模式下,系統內可以有一個以上的處理器,除了8086/8088作為“中央處理器”之外,還可以配置用于數值計算的8087“數值協處理器”、用于I/O管理的“I/O協處理器”8089。各個處理器發往總線的命令統一送往“總線控制器”,由它“仲裁”后發出。CPU兩種工作模式由引腳決定,接高電平,CPU工作在最小模式;將接地,CPU工作在最大模式。8. 分析8086CPU兩個中斷輸入引腳的區別,以及各自的使用場合。INTR用于輸入可屏
9、蔽中斷請求信號,電平觸發,高電平有效。中斷允許標志IF= 1時才能響應INTR上的中斷請求。NMI用于輸入不可屏蔽中斷請求信號,上升沿觸發,不受中斷允許標志的限制。CPU一旦測試到NMI請求有效,當前指令執行完后自動轉去執行類型2的中斷服務程序。NMI引腳用于連接CPU外部的緊急中斷請求,例如內存校驗錯,電源掉電報警等。INTR引腳用于連接一般外部設備的中斷請求。9. 什么是時鐘周期、總線周期、指令周期?它們的時間長短取決于哪些因素?時鐘周期:CPU連接的系統主時鐘CLK一個周期的時間。CLK信號頻率越高,時鐘周期越短。總線周期:CPU通過外部總線對存儲器或I/O端口進行一次讀/寫操作的過程稱
10、為總線周期。8086CPU總線周期一般由四個時鐘周期組成,存儲器/IO設備(接口)速度不能滿足CPU要求時,可以增加一個或多個時鐘周期。指令周期: CPU執行一條指令的時間(包括取指令和執行該指令所需的全部時間)稱為指令周期。指令周期的時間主要取決于主時鐘的頻率和指令的復雜程度,它也受到存儲器或IO設備接口工作速度的影響。10. 在一次最小模式總線讀周期中,8086CPU先后發出了哪些信號?各有什么用處?T1狀態: 指出CPU是從內存(1)還是從IO端口(0)讀取數據。隨后CPU從地址/狀態復用線(A19/S6A16/S3)和地址/數據復用線(AD15AD0)上發出讀取存儲器的20位地址,對I
11、O端口訪問時從AD15AD0上發出16位地址。為了鎖存地址,CPU在T1狀態從ALE引腳輸出一個正脈沖作為地址鎖存信號。如果需要讀取高8位數據線上的數據(奇地址/讀取一個字),= 0。為了控制總線收發器8286數據傳輸方向, = 0。T2狀態: 讀信號開始變為低電平(有效),=0,用來開放總線收發器8286。T3狀態: CPU檢測READY引腳信號。若READY為高電平(有效),表示存儲器或I/O端口已經準備好數據,進入T4狀態;若READY為低電平(無效),表示存儲器或I/O端口尚未準備好數據,插入一個或多個TW狀態,直到READY變為高電平。T4狀態:在T3(TW)和T4狀態交界的下降沿處
12、,CPU對數據總線上的數據進行采樣,完成讀取數據的操作。11. 結合指令“OUT 21H, AL”,具體敘述最大模式“總線寫周期”總線上的相關信號。T1狀態:地址/數據復用線(AD15AD0)上出現訪問IO端口的16位地址21H。由于地址為奇數,需要通過高8位數據線訪問端口,= 0。T2狀態: = 0,表示本周期對IO端口進行寫操作。地址/數據復用線(AD15AD0)上出現來自AL的8位數據。T3狀態:若READY為高電平(有效),表示I/O端口已經準備好接收數據。反之,表示I/O端口尚未準備好接收數據,需要CPU插入TW 周期進行等待,直到READY出現高電平(有效)。T4狀態:CPU結束本
13、周期。習 題 二1. 內存儲器主要分為哪兩類? 它們的主要區別是什么?內存儲器分為隨機存取存儲器RAM(Radom Access Memory)和只讀存儲器ROM(Read Only Memory)兩類。RAM中信息可以按地址讀出,也可以按地址寫入。RAM具有易失性,掉電后原來存儲的信息全部丟失,不能恢復。ROM 中的信息可以按地址讀出,但是在普通狀態下不能寫入,它的內容一般不能被改變。ROM具有“非易失性”,電源關閉后,其中的信息仍然保持。2. 說明SRAM、DRAM、MROM、PROM和EPROM的特點和用途。SRAM:靜態RAM,讀寫速度快,但是集成度低,容量小,主要用作Cache或小系
14、統的內存儲器。DRAM:動態RAM,讀寫速度慢于靜態RAM,但是它的集成度高,單片容量大,現代微型計算機的“主存”均由DRAM構成。MROM:掩膜ROM,由芯片制作商在生產、制作時寫入其中數據,成本低,適合于批量較大、程序和數據已經成熟、不需要修改的場合。PROM:可編程ROM,允許用戶自行寫入芯片內容。芯片出廠時,所有位均處于全“0”或全“1”狀態,數據寫入后不能恢復。因此,PROM只能寫入一次。EPROM:可擦除可編程只讀存儲器,可根據用戶的需求,多次寫入和擦除,重復使用。用于系統開發,需要反復修改的場合。回憶:半導體存儲器芯片容量取決于存儲單元的個數和每個單元包含的位數。存儲容量可以用下
15、面的式子表示:存儲器容量(S)存儲單元數(p)×數據位數(i)存儲單元個數(p)與存儲器芯片的地址線條數(k)有密切關系:p=2k,或klog2(p)。數據位數i一般等于芯片數據線的根數。存儲芯片的容量(S)與地址線條數(k)、數據線的位數(i)之間的關系因此可表示為:S2k×i3. 已知一個SRAM芯片的容量為8K×8,該芯片有一個片選信號引腳和一個讀/寫控制引腳,問該芯片至少有多少個引腳?地址線多少條?數據線多少條?還有什么信號線?根據存儲芯片地址線數量計算公式,klog2(1024*8)= log2(213)=13,即總計有13根地址線。另有8根數據線、2根
16、電源線。所以該芯片至少有25(=13+8+1+1+2)根引腳。4. 巳知一個DRAM芯片外部引腳信號中有4根數據線,7根地址線,計算它的容量。因為:DRAM芯片把片內地址劃分為“行地址”和“列地址”兩組,分時從它的地址引腳輸入。所以,DRAM芯片地址引腳只有它內部地址線的一半。根據存儲容量計算公式S2k×I,可得該芯片的存儲容量為:214*4=16K×4bit(位),也可表示為64Kb=8KB(字節)。5. 32M×8的DRAM芯片,其外部數據線和地址線為多少條?根據存儲芯片地址線數量計算公式,klog2(1024*1024*32)= log2(225)=25,即
17、需要25根地址線。但是,由于DRAM芯片的地址采用分時輸入的方法,所以實際需要的地址線只有理論值的一半,此處為13根。數據線8根。6. DRAM為什么需要定時刷新?DRAM靠MOS管極間電容存儲電荷的有無決定所存信息是0還是1,由于漏電流的存在,它存儲的信息不能長時間保存,需要定時重新寫入,稱為“刷新”。7. 74LS138譯碼器的接線如圖2.28所示,寫出、所決定的內存地址范圍。圖2.28 譯碼電路電路從圖看出,該存儲系統的片內地址線有13根(A12-A0),是一個由8KB存儲芯片組成的存儲系統,A17地址線不確定。它的地址分布為:00?0, CBA?, ?, ?, ?其中,CBA作為譯碼輸
18、入,與輸出選擇有關:當為000,選中y0,為001,選中y1,為010,選中y2,為011,選中y3,.“?”表示可以為“0”,也可以為“1”。于是:對應的內存地址范圍是:00000H01FFFH;或20000H21FFFH。對應的內存地址范圍是:04000H05FFFH;或24000H25FFFH。對應的內存地址范圍是:08000H09FFFH;或28000H29FFFH。對應的內存地址范圍是:0C000H0DFFFH;或2C000H2DFFFH。8. 敘述EPROM的編程過程,并說明EPROM和EEPROM的不同點。EPROM的編程過程標準編程方式:Vpp上加編程電壓,地址線、數據線上給出
19、要編程單元的地址及其數據,并使0、1。上述信號穩定后,在端加上寬度為50±5ms的負脈沖,就可將一個字節的數據寫入相應的地址單元中。不斷重復這個過程,將數據逐一寫入。快速編程方式:使用100µs的編程脈沖依次寫完所有要編程的單元,然后從頭開始校驗每個寫入的字節。若寫得不正確,則重寫這個單元。寫完后再校驗,不正確還可再寫,直到全部正確。EPROM和EEPROM的不同點:EPROM芯片用紫外線光照射擦除芯片的內容,擦除時需要把芯片從電路板上拔下,擦除操作對整個芯片進行。EPROM芯片編程需要外加“高電壓”,所以需要專用的“編程器”才能實現。EPROM的編程一般情況下對整個芯片進
20、行。EEPROM芯片的擦除用電信號實現,無需把芯片從電路板上拔下,可以進行“在系統編程”。EEPROM以字節為單位重寫,EEPROM沒有單獨的擦除操作,寫入就意味著擦除了原來的內容,所以使用比EPROM快速方便。相比較而言,EEPROM芯片的編程比較接近RAM的寫入,它們之間的區別主要體現在速度上:RAM寫入與讀出的速度相近,不需要其他的聯絡信號;EEPROM的寫入比起讀出明顯要慢,為了掌握寫入時間,EEPROM通常設置了一根“狀態”引腳,供聯絡使用。9. 下列容量的ROM芯片除電源和地線,還有多少個輸入引腳和輸出引腳?寫出信號名稱。(1)64×4 (2)512×8 (3)
21、128K×8 (4)16K×8 (5)1M×16根據存儲容量計算公式可得以上各芯片的地址、數據引腳分別為:64×4: 地址線k= log2(64)= log2(26)= 6根,數據線=4根;512×8: 地址線k= log2(512)= log2(29)= 9根,數據線=8根;128k×8:地址線k= log2(128*1024)= log2(217)= 17根,數據線=8根;16k×8: 地址線k= log2(16*1024)= log2(214)= 14根,數據線=8根;1M×16: 地址線k= log2(10
22、24*1024)= log2(220)= 20根,數據線=16根。此外,所有ROM芯片都需要一根片選信號引腳;對于PROM,EPROM通常還需要“輸出允許”和“編程脈沖”輸入引腳。EEPROM芯片除了有“片選”、“輸出允許”和“寫允許”外,通常還有表示“寫入完成”的狀態信號引腳。10. 已知RAM芯片的容量為(1)16K×8 (2)32K×8 (3)64K×8 (4)2K×8 如果RAM的起始地址為3400H、則各RAM對應的末地址為多少?存儲器的末地址=首地址+芯片內字節數(容量)1上述各芯片對應RAM的末地址為:16K×8:末地址是3400
23、H+4000H1= 73FFH32K×8:末地址是3400H+8000H1= B3FFH64K×8:末地址是3400H+10000H1= 133FFH2K×8: 末地址是3400H+800H1= 3BFFH11. 如果存儲器起始地址為1800H,末地址為1FFFH,求該存儲器的容量。該存儲器的容量為:(1FFFH1800H+1)×8 = 800H×8,該存儲器有2048×8個位,也可以寫作2KB。12. 有一個存儲體,其地址線15條,數據線8條,則1)該存儲體能夠存儲多少個漢字?2)如果該存儲體由2K×4位的芯片組成,需要多
24、少片?3)采用什么方法擴展?分析各位地址線的使用。該存儲體容量為215×8=32KB,存儲一個漢字需要二個字節,因此,它能夠存儲16384(16K)個漢字。需要2K×4位的芯片32片,(32K×8)/(2K×4)=32 。可采用字位全擴展方法,由2片4位的芯片組成1組8位的存儲單元,16組擴展成32K的8位存儲體。芯片直接使用的地址線(片內地址)11根(A0-A10),另外需要4根高位地址,連接到4-16譯碼器輸入端,產生16個譯碼信號用作16個芯片組的片選信號。剩余的地址線用來確定該存儲體的首地址。13. 試說明Flash Memory芯片的特點及28
25、F040的編程過程。Flash Memory也稱為“閃速存儲器”,有時直接稱之為“Flash”。Flash既有ROM非易失性的特點,又能夠在線擦除和重寫,既可讀又可寫,同時有很高的存取速度,具有集成度高,價格低,耗電少等優點。目前存取速度已突破了30ns,掉電后信息可以保持10年。Flash的編程方法與E2PROM相同,28F040的編程寫入過程采用字節編程方式。首先,向28F040狀態寄存器寫入命令10H,再在指定的地址單元寫入相應數據。接著查詢狀態,判斷這個字節是否寫好,若寫好則重復上面過程寫入下一個字節,直到全部字節寫入。28F040的編程速度很快,一個字節的寫入時間僅為8.6µ
26、;s。14. 利用全地址譯碼將6264芯片接到8088系統總線上,地址范圍為30000H31FFFH,畫出邏輯圖。回憶:一個存儲芯片內各個存儲單元的高位地址是相同的,它決定了這個芯片在整個內存中占據的地址范圍。所以,芯片的選片信號應該由高位地址譯碼產生。芯片內部存儲單元的選擇由低位地址決定,通過芯片的地址引腳輸入。它們可以理解為“片內相對地址”。存儲器的地址譯碼有兩種方式:全地址譯碼和部份地址譯碼。所謂全地址譯碼,就是連接存儲器時要使用全部20位地址信號,所有的高位地址都要參加譯碼。譯碼電路構成方法很多,可以利用基本邏輯門電路構成,也可以利用集成的譯碼器芯片或可編程芯片組成。全地址譯碼連接圖全
27、地址譯碼可以保證存儲器芯片上的每一個單元在整個內存空間中具有唯一的、獨占的一個地址。參考教材相關內容P28,6264芯片有13根地址線,剩余的高位7根地址線通過譯碼組合確定該芯片的起始地址(30000H)。由30000H地址得出對應的地址線狀態為:0011 000 0 0000 0000 0000 可以看出A13A19地址線為0011 000,所以譯碼組合應邏輯為:= ···A16·A17·· =(····)·(A16·A17)= A13+A14+A15+A18+A19+ A
28、16·A17具體邏輯如右圖所示。15. 若用2164芯片構成容量為128KB的存儲器,需多少片2164? 至少需多少根地址線?其中多少根用于片內尋址?多少根用于片選譯碼? 2164A是容量為64K×1位的動態隨機存儲器芯片,構成128KB的存儲器需要2164A芯片16片 128K×8/(64K×1)=16 。由于地址空間為128K,需要的地址線總數為17根(217=128K)。其中,片內地址線16根(216 =64K),片選地址線1根(1716=1,)。每8個2164芯片構成一組,進行位擴展,得到64KB存儲器。兩個這樣的“組”進行地址擴展,構成128K
29、B的存儲器。16. 某8088系統用2764 ROM芯片和6264 SRAM芯片構成16KB的內存。其中,RAM的地址范圍為FC000H-FDFFFH,ROM的地址范圍為FE000H-FFFFFH。試利用74LS138譯碼,畫出存儲器與CPU的連接圖,并標出總線信號名稱。2764和6264均為8KB的存儲芯片,需要13根地址線(A0A12)用于片內尋址。8088系統的其他地址線(A13A19)用于產生片選信號。FC000H的地址線狀態為:1111 110 0 0000 0000 0000 FE000H的地址線狀態為:1111 111 0 0000 0000 0000將A13A15用作譯碼輸入,
30、其他地址(A16A19=1111)用作譯碼控制,可以得到如下譯碼控制電路,連接如下圖所示。17. 存儲周期指的是( A )。A存儲器進行連續讀或寫操作所允許的最短時間間隔 B存儲器的讀出周期C存儲器進行連續寫操作所允許的最短時間間隔 D存儲器的寫入周期存儲周期是指連續兩次訪問存儲器之間所需的最小時間。存取時間是CPU訪問一次存儲器(寫入和讀出)所需的時間。存儲周期等于存取時間加上存儲器的恢復時間。所以應選擇A。18. 某一EPROM芯片,其容量為32K×8,除電源和地線外,最小的輸入引腳和輸出引腳分別為( C )。A. 15和8; B32和8; C17和8; D18和10;容量為32
31、K×8的EPROM芯片,其數據線為8根,地址線為15根,片選線1根,讀寫控制線1根。其中地址線、片選線、讀寫控制線均為EPROM的輸入信號,共17根。數據線在正常工作狀態下用于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雙穩態觸發器的兩個穩態和極間是否有足夠的電荷B內部熔絲是否斷開和雙穩態觸發器C極間電荷和浮置柵是否積累足夠的電荷D極間是否有足夠的電荷和雙穩態觸發器的兩個穩態靜態隨機存儲器(SRAM)的每一個位存儲單元有一個雙穩態觸發器,由4個晶體管組成,它們的狀態確定了該存儲單元存儲的1位二進制信息。而動態隨機存儲器(DRAM)一般采用單管電路組成,它由一個MOS管T1和一個電容C構成。寫入時其信息通過位線(數據線)存人電容C中(寫入
33、“1”對電容充電,寫入“0”則對電容放電);讀出時存儲在電容C上的電荷通過T1輸出到位線上。所以應選擇A。習 題 三1 接口電路與外部設備之間傳送的信號有哪幾種?傳輸方向怎樣?數據信號:對于輸入設備,數據信號從外設通過接口送往總線,對于輸出設備,數據信號從總線通過接口發往外部設備。狀態信號:狀態信號表明外部設備當前的工作狀態,用來協調CPU與外部設備之間的操作。狀態信號總是從外部設備通過接口發往總線。控制信號 :控制信號是CPU向外設發出的命令,它指定設備的工作方式,啟動或停止設備。控制信號從CPU通過接口發往外部設備。2 接口電路有哪些功能?哪些功能是必需的?接口電路可以具備:設備選擇功能、
34、信息傳輸功能、數據格式轉換功能、聯絡功能、中斷管理功能、復位功能、可編程功能和錯誤檢測等功能。其中設備選擇功能和信息傳輸功能是每一個接口電路所必備的。其他的功能是否需要則由設備的特點和工作方式決定。3 I/O端口的編址有哪幾種方法?各有什么利弊?80X86系列CPU采用哪種方法?I/O端口的編址有兩種不同的方式:(1) I/O端口與內存統一編址:把內存的一部分地址分配給I/O端口,一個8位端口占用一個內存單元地址。已經用于I/O端口的地址,存儲器不能再使用。I/O端口與內存統一編址后,訪問內存儲器單元和I/O端口使用相同的指令,這有助于降低CPU電路的復雜性,并給使用者提供方便。但是,I/O端
35、口占用內存地址,相對減少了內存可用范圍。而且,由于難以區分訪問內存和I/O的指令,降低了程序的可讀性和可維護性。(2) I/O端口與內存獨立編址:這種編址方法中,內存儲器和I/O端口各自有自己獨立的地址空間。訪問I/O端口需要專門的I/O指令。80x86 CPU采用I/O端口獨立編址方式。4 按照傳輸信號的種類,I/O端口有幾種?它們信號的傳輸方向怎樣?按照傳輸信號的種類,I/O端口有三種:數據端口:數據信息從端口輸入CPU(輸入設備接口),或者從CPU寫入端口(輸出設備接口);狀態端口:外設狀態信息從端口輸入CPU;控制端口:命令信息從CPU寫入端口。5 I/O端口譯碼電路的作用是什么?在最
36、小模式和最大模式下分別有哪些輸入信號?I/O端口譯碼電路用于產生端口的讀寫選擇信號。在最小模式下,譯碼電路接受來自總線的地址信號(16位),(= 0),或者信號。最大模式下,譯碼電路接受地址信號(16位),或者信號。6 外部設備數據傳送有哪幾種控制方式?從外部設備的角度,比較不同方式對外部設備的響應速度。外部設備數據傳送有以下四種控制方式。直接傳送方式(也稱為無條件傳送方式、同步傳送方式):這種情況下,外部端口完全被動地等待CPU的訪問,沒有確定的響應速度,響應時間取決于CPU忙碌的程度以及程序對外部設備控制采取的策略。查詢方式:如果CPU在某一時刻只對一個外設采用查詢方式進行數據傳輸,CPU
37、的響應延遲約為310個指令周期。響應速度快于中斷方式,慢于DMA方式。中斷方式:CPU的響應延遲平均為幾十個指令周期,慢于查詢方式,但是這種方式可以同時管理多個外部設備。DMA方式:外部端口的傳輸請求由DMA控制器響應,由于DMAC是一個專用于傳輸控制的電路,任務單一,不發生DMA傳輸競爭時,響應延遲僅為12個DMAC使用的時鐘周期,遠快于中斷方式和查詢方式。7 敘述一次查詢式輸出過程中,接口內各電路、信號的狀態變化過程。一個數據的查詢式輸出過程由二個階段組成:CPU從接口反復讀取狀態字:由地址譯碼電路產生狀態端口選擇信號,該信號不影響接口內部的狀態。外部設備輸出完成后,返回“確認”信號,該信
38、號將狀態寄存器相關位(READY)置位。如狀態字表明外設已處于“就緒”狀態,則向數據端口傳送數據。由地址譯碼電路產生的數據端口選通信號一方面將數據總線上的數據寫入數據寄存器,同時清除狀態寄存器中的相關位(READY),向輸出設備發出輸出啟動信號。有的輸出接口設有控制端口,輸出啟動信號通過寫控制端口產生。8 比較程序中斷方式和查詢方式的區別,根據比較,指出中斷工作方式的優缺點。中斷方式:外部設備工作完成后,通過“中斷請求”信號“主動”向CPU“報告”。查詢方式:外部設備工作完成后,狀態信號儲存在接口電路內,被動地等待CPU來讀取。根據上述比較,可以得到中斷工作方式的如下特點:優點:1) CPU能
39、夠及時了解外部設備的狀態,從而對外部設備IO請求進行及時處理。2) 由于CPU“被動”地等待外部設備的“中斷請求”,外部設備進行輸入/輸出操作時,CPU可以同時執行其他的程序,CPU和外部設備“并行”工作。3) 由于同樣的原因,在中斷方式下,CPU可以同時管理多臺外部設備,CPU的效率得到提高。缺點:1) 用中斷方式需要CPU增加相應的管理邏輯,增加了CPU電路的復雜性。2) 由于CPU“被動”地接收“中斷請求”信號,CPU必須通過與外部的一個聯絡過程才能知道是那一個設備在申請中斷,這增加了響應時間。為了從當前任務轉移到中斷服務,CPU必須保護原有的運行環境,進行“任務”的“切換”,這也會增加
40、響應時間。3) 有較多的設備使用中斷方式時,會產生“中斷申請”的“競爭”。這一方面降低了響應速度,另一方面增加了管理的復雜性。 9 比較DMA方式和程序中斷方式的區別,根據比較,指出DMA工作方式的優缺點。中斷方式:外部設備每進行一個數據的輸入/輸出,都要通過“中斷申請”要求CPU進行處理。CPU通過執行一段“中斷服務程序”完成數據的傳輸。DMA方式:CPU通過對DMAC的初始化,啟動一個數據塊的傳輸操作。之后的數據傳輸通過信號的聯絡,在外設接口和存儲器之間進行,CPU只需簡單地讓出總線,而無需其他操作。根據上述比較,可以得到DMA工作方式的如下特點:優點:1) 對于CPU而言,它的任務僅僅是
41、在一個數據塊傳輸之前對DMAC進行初始化,CPU用于傳輸控制的操作達到最小(不考慮與通道/IO處理器方式的比較),CPU的效率最高。CPU與外設“并行”工作。2) 外部設備一個數據輸入/輸出完成后,向DMAC申請進行數據傳輸,響應時間僅為DMAC的13個時鐘周期。響應速度達到最快,可以滿足高速傳輸的需要。缺點:1) 實現DMA控制需要增加DMA控制器和總線控制邏輯,增加了系統的復雜性。2) DMA傳輸需要占用總線,并且具有較高的“優先級”。這使得系統對其他設備的響應速度不能得到明確的保證。10 某輸入設備接口數據端口、狀態端口、控制端口地址分別為70H, 71H, 72H。狀態端口D5=1表示
42、輸入完成,控制端口D7=1表示啟動設備輸入(輸入完成后由設備清除該位)。從該設備輸入100個字節數據,存入以BUFFER為首地址的緩沖區。如果啟動該設備1秒后仍未完成一次輸入,則視為超時錯,顯示出錯信息后返回。用8086匯編語言編寫完成上述功能的I/O程序。DATASEGMENTBUFFERDB100 DUP(?)ERRORDB13, 10, “OVER TIME !”, 13, 10, “$”DATAENDS;CODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATA ;對DS初始化,置段基址MOVDS, AXMOVCX, 100 ;設置CX為計
43、數器LEABX, BUFFER ;設置緩沖區指針ONE:XORDX, DX ;DX用作響應計時器,初值0MOVAL, 80H ; 設控制字,控制端口D7=1啟動設備輸入OUT72H, AL ;啟動輸入W:INAL, 71H ;讀狀態端口INCDX ;紀錄延遲時間TESTAL, 00100000B;測輸入完成否,狀態端口D5=1輸入完成JNZREAD;輸入完成,轉READ讀取數據CMPDX, 50000;假設循環50000次時間為1秒JBW;未超時(即DX<50000),繼續測試 ;JB為條件轉移指令,即DX-50000<0時轉移JMPOVERTIME;超過1秒,報告出錯,JMP無條
44、件轉移指令READ:INAL, 70H;讀入數據MOVBX, AL;數據存入緩沖區INCBX;修改指針LOOPONE;100個數據尚未輸入完成,轉ONE繼續JMPDONE;100個數據輸入完成,轉DONE結束程序OVERTIME:LEADX, ERRORMOVAH, 09H ; 設置顯示功能號INT21H;響應超時,顯示出錯信息DONE:MOVAX, 4CHINT21H;返回DOSCODEENDSENDSTART11 某輸出設備數據端口、狀態端口地址分別為220H, 221H。狀態端口D0=1表示輸出完成。將數據段中以STRING為首地址的20個字符(用七位ASCII代碼存儲)添加水平和垂直校
45、驗發送到該外部設備。用8086匯編語言編寫完成上述功能的I/O程序。匯編語言程序:DATASEGMENTSTRINGDB20 DUP ( ? )SUMDB0DATAENDS;CODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATA ;對DS初始化,置段基址MOVDS, AXMOVCX, 20 ;設置CX為計數器LEABX, STRING ;設置緩沖區指針MOVSUM, 0; 垂直校驗碼初值為0ONE:MOVDX, 221H; DX置為狀態端口地址INAL, DX ;讀入狀態TESTAL, 00000001B;測輸出完成位,狀態端口D0=1輸出完成
46、JZONE;未完成,轉ONE繼續讀取狀態MOVAL, BX;從字符串取出一個字符的ASCII代碼;水平校驗(偶校驗)ANDAL, 07FH;清除最高位,準備置入校驗位JPEOUTPUT;判1的個數奇偶性,PF=1(有偶數個1)則轉移ORAL, 80H;奇數個“1”,最高位置1(偶校驗)OUTPUT:MOVDX, 220HOUTDX, AL;輸出添加了校驗位的代碼XORSUM, AL;生成垂直校驗位INCBX;修改指針LOOPONE;20個數據尚未輸出完成,轉ONE繼續 ;輸入完成, 輸出垂直校驗碼MOVAL, SUMMOVDX, 220HOUTDX, ALDONE:MOVAX, 4C00HIN
47、T21H;返回DOSCODEENDSENDSTART12 試畫出矩陣式鍵盤查詢的程序流程圖。上述流程中假設鍵盤為8×8結構,如果有鍵按下,返回它的8位掃描碼。其中:最低3位為該鍵所在列,次低3位為該鍵所在行,最高2位為0。如果沒有鍵按下,返回8位“1”。13 試畫出公用端口多位LED輸出的程序流程圖。習 題 四1 什么叫中斷?有哪幾種不同類型的中斷?由于某個事件的發生,CPU暫停當前正在執行的程序,轉而執行處理該事件的一個程序。該程序執行完成后,CPU接著執行被暫停的程序。這個過程稱為中斷。根據中斷源的位置,有兩種類型的中斷。有的中斷源在CPU的內部,稱為內部中斷。大多數的中斷源在C
48、PU的外部,稱為外部中斷。根據中斷引腳的不同,或者CPU響應中斷的不同條件,也可以把中斷劃分為可屏蔽中斷和不可屏蔽中斷兩種。 2 什么是中斷類型?它有什么用處?用若干位二進制表示的中斷源的編號,稱為中斷類型。中斷類型用來區分不同的中斷,使CPU能夠在中斷響應時調出對應的中斷服務程序進行中斷處理。3 有哪幾種確定中斷優先級的方法?說明每一種方法各自的優劣之處。確定中斷優先權有四種可選的方法。(1) 軟件查詢法:采用程序查詢的方法確定中斷服務的順序。這種方法中斷邏輯最簡單(基本上不需要外部中斷邏輯),優先級可以靈活設置,但中斷響應所需時間最長。(2) 分類申請法:CPU分設二個中斷申請信號的輸入引
49、腳。這種方法需要CPU提供條件。(3) 鏈式優先權排隊:菊花鏈法。這種方法需要的外部中斷邏輯比較簡單,容易實現,但是設備較多時信號延遲大,對設備故障敏感。(4) 可編程中斷控制器: “向量”優先權排隊專用電路。這種方法功能最全面,控制靈活,可以通過程序設定中斷優先權為固定的或循環的,但需要增加專用的中斷控制器。4 什么是中斷嵌套?使用中斷嵌套有什么好處?對于可屏蔽中斷,實現中斷嵌套的條件是什么?CPU在處理級別較低的中斷過程中,出現了級別較高的中斷請求。CPU停止執行低級別中斷的處理程序而去優先處理高級別中斷,等高級別中斷處理完畢后,再接著執行低級別的未處理完的中斷處理程序,這種中斷處理方式稱
50、為多重(級)中斷或中斷嵌套。使用中斷嵌套可以使高優先級別的中斷得到及時的響應和處理。對于可屏蔽中斷,由于CPU在響應中斷時已將IF清零,所以一定要在中斷處理程序中加入開中斷指令,才有可能進行中斷嵌套。5 什么叫中斷屏蔽?如何設置I/O接口的中斷屏蔽?用程序的方法使某些中斷源的中斷請求不能夠發送到CPU,或者雖然能夠發送但是不能得到響應,這種方法稱為中斷屏蔽。在外設的接口內增設一個中斷屏蔽觸發器(可以用D觸發器實現),該觸發器的端與中斷請求信號相“與”后連接到INTR。當 = 0時,中斷請求不能發往INTR。通過設定中斷屏蔽觸發器的狀態,可以控制中斷請求信號是否能夠送到INTR端。置IF= 0,
51、 可以使80x86CPU不響應來自INTR的可屏蔽中斷請求。6 什么是中斷向量?中斷類型為1FH的中斷向量為(段基址:偏移地址)2345H:1234H,畫圖說明它在中斷向量表中的安置位置。中斷服務程序的入口地址稱為中斷向量。中斷類型為1FH,它的中斷向量放置在1FH×4=0000: 7CH開始的位置上。如右圖。7 敘述一次可屏蔽中斷的全過程。(1) 中斷源請求中斷外部中斷源通過INTR引腳向CPU請求中斷。(2) 中斷響應 中斷源提出中斷請求后,如果 CPU處于允許中斷狀態(IF=1); 沒有不可屏蔽中斷請求和總線請求; 當前指令執行結束。則轉入中斷響應周期。在中斷響應周期: CPU
52、取得中斷源的中斷類型; 將標志寄存器FLAGS和CS、IP(斷點)先后壓入堆棧保存; 清除自陷標志位TF和中斷允許標志位IF; 讀中斷向量表,獲得相應的中斷服務程序入口地址,轉入中斷服務程序。(3) 中斷服務 中斷服務程序的主要內容包括: 保護現場 開中斷 中斷處理 關中斷 恢復現場 (4)中斷返回 8 簡要敘述8259A內部IRR, IMR, ISR三個寄存器各自的作用。三個寄存器長度均為8位。IRR用來記錄引腳IR7IR0上由外部設備送來的中斷請求信號。當外部中斷請求線IRi變為有效時,IRR中與之對應的第i位被置1。IMR用于設置對中斷請求的屏蔽信號。此寄存器的第i位被置1時,與之對應的
53、外部中斷請求線IRi被屏蔽,不能向CPU發出INT信號。可通過軟件設置IMR內容,確定每一個中斷請求的屏蔽狀態。ISR用于記錄當前正在被服務的所有中斷級,包括尚未服務完而中途被更高優先級打斷的中斷級。若CPU響應了IRi中斷請求,則ISR中與之對應的第i位置1。ISR用于中斷優先級管理。9 8259A是怎樣進行中斷優先權管理的?8259A通過以下兩種途徑實現對中斷優先權的管理:(1) 通過設置中斷屏蔽寄存器IMR,可以屏蔽某些中斷請求,從而動態地改變各請求端的優先級別。(2) 8259A響應某個中斷請求之后,將ISR寄存器對應位置1。如果后續的中斷請求級別低于正在響應的中斷請求,則該中斷不能立
54、即被響應。反之,如果新的中斷請求級別高于正在響應的中斷請求,則允許進行中斷嵌套。中斷服務結束時,應將ISR寄存器對應位清零。10 特殊全嵌套方式有什么特點?它的使用場合是什么?特殊全嵌套方式一般用于級聯方式下的8259A主片。如果8259A主片在一次中斷處理尚未結束時,收到了來自同一個引腳的第二次中斷請求,并且該8259A采用普通全嵌套方式,則它不會響應來自同一個引腳的第二次中斷請求。如果該8259A采用特殊全嵌套方式,就會響應該請求(中斷嵌套),從而可以及時響應連接在同一從片8259A上,并且相對有較高優先級別的中斷請求。11 向8259A發送“中斷結束”命令有什么作用?8259A有哪幾種中斷結束方式?分析各自的利弊。中斷服務完成時,必須給8259A一個命令,使這個中斷級別在ISR中的相應位清“0”,表示該中斷處理已經結束,允許響應新的較低級別的中斷。這個命令稱為“中斷結束”命令。8259A有兩種不同的中斷結束方式。(1)自動中斷結束方式(AEOI) 8259A在中斷響應周期內自動清除ISR中對應位。這種方式使用簡單,但是不能充分實現中斷的優先權管理。這種方式只能用在系統中只有一個8259A,且多個中斷不會嵌套的情況。(2)非自動中斷結束方式(EOI)從中斷服務程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 致敬逆行者教育
- 腫瘤患者診療路徑圖解
- 證券投資虧損補償合同
- 草原生態環境監測與評估承包合同范本
- 火焰燒傷病人的護理查房
- 商用車輛所有權變更及維護保養合作協議
- 車輛典當服務長期合作協議
- 星級酒店餐飲外包業務合作協議書
- 水利工程場地調研與防洪能力評估合同
- 體育館場地租賃合同安全責任及管理協議
- 2025電商平臺店鋪轉讓合同模板
- 物業監控調取管理制度
- 高端私人定制服務方案
- 2025年保密知識競賽考試題庫300題(含答案)
- 腫瘤日間化療規范化管理
- 湖北省武漢市部分重點中學2022-2023學年高一下學期期末聯考數學 含解析
- 廣東省東莞市2025屆九年級下學期中考二模歷史試卷(含答案)
- DB44-T 2579-2024 嶺南傳統天灸技術操作規范
- 房地產市場報告 -2025年第一季度西安寫字樓和零售物業市場報告
- 中國成人呼吸系統疾病家庭氧療指南(2024年)解讀課件
- 2026屆新高考地理精準復習-從“情境”到“實踐”+破解人文地理認知困境的具身化教學感悟
評論
0/150
提交評論