計算機接口技術解析課件_第1頁
計算機接口技術解析課件_第2頁
計算機接口技術解析課件_第3頁
計算機接口技術解析課件_第4頁
計算機接口技術解析課件_第5頁
已閱讀5頁,還剩142頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機接口技術解析計算機接口技術解析什么是接口? CPU與外部設備、存儲器的連接和數(shù)據(jù)交換都需要通過接口設備來實現(xiàn),前者被稱為I/O接口,而后者則被稱為存儲器接口。存儲器通常在CPU的同步控制下工作,接口電路比較簡單;而I/O設備品種繁多,其相應的接口電路也各不相同,因此,習慣上說到接口只是指I/O接口。什么是接口? CPU與外部設備、存儲器的連接和數(shù)據(jù)交換都需要計算機外圍設備很多I/O接口的功能是負責實現(xiàn)CPU通過系統(tǒng)總線把I/O電路和外圍設備聯(lián)系在一起計算機外圍設備很多I/O接口的功能為什么需要接口?速度不匹配:I/O設備的工作速度要比CPU慢許多,而且由于種類的不 同,他們之間的速度差異

2、也很大,例如硬盤的傳輸速度就要比打印機快出很多。時序不匹配:各個I/O設備都有自己的定時控制電路,以自己的速度傳輸數(shù)據(jù),無法與CPU的時序取得統(tǒng)一。信息格式不匹配:不同的I/O設備存儲和處理信息的格式不同串行和并行兩種;二進制格式、ACSII編碼和BCD編碼等。信息類型不匹配:不同IO設備采用的信號類型不同,有些是數(shù)字信號,而有些是模擬信號,因此所采用的處理方式也不同。為什么需要接口?速度不匹配:接口的原理圖數(shù)據(jù)總線地址總線控制總線?標準非標準轉(zhuǎn)換接口的原理圖數(shù)據(jù)總線?標準非標準轉(zhuǎn)換鼠標相關內(nèi)容分析通過分析我們所熟悉的鼠標與計算機的接口,了解計算機接口技術所包含的內(nèi)容鼠標相關內(nèi)容分析通過分析我

3、們所熟悉的鼠標與計算機的接口,了解鼠標與計算機連接Mouse 與 Computer連接有兩種方式:1.有線連接2.無線連接無線通信方式包括藍牙、Wi-Fi (IEEE 802.11)、Infrared (IrDA)、ZigBee (IEEE 802.15.4)等等多個無線技術標準,但對于當前主流無線鼠標而言,僅有27Mhz、2.4G和藍牙無線鼠標共三類。 有線鼠標按接口類型可分為串行鼠標、PS/2鼠標、總線鼠標、USB鼠標(多為光電鼠標)四種 機械鼠標光電鼠標鼠標與計算機連接Mouse 與 Computer連接無線通信以PS/2鼠標為例計算機接口以PS/2鼠標為例計算機接口PS/2接口針定義P

4、S/2接口針定義鼠標功能介紹鼠標發(fā)送的信息(以三鍵鼠標為例):X、Y坐標信息【相對坐標:1】左右按鍵信息【Left:21;Right:22】滾輪信息【相對坐標: 1 】鼠標功能介紹鼠標發(fā)送的信息(以三鍵鼠標為例):需要我們回答的問題PS/2只有2根線與數(shù)據(jù)有關,而所傳遞的信息需要8位(或者更多)信息,PS/2如何傳遞信息?我們在這里稱之為串行通訊;CPU(8088為例)所接收的是8位數(shù)據(jù)信息,需要8根線,而PS/2只有2根線,如何將2根線的信息轉(zhuǎn)換為8根線的信息傳送給CPU?(串并轉(zhuǎn)換)需要我們回答的問題PS/2只有2根線與數(shù)據(jù)有關,而所傳遞的信需要我們回答的問題CPU如何區(qū)分是鼠標設備信息而

5、不是其他設備(如鍵盤)的信息?(端口地址)CPU如何知道Mouse移動了?CPU實時讀鼠標信息;(查詢方式)CPU正常工作,只有當鼠標移動或者按鍵被按下時才接收鼠標信息;(中斷方式)CPU與Mouse的上述兩種方式,哪種最佳?需要我們回答的問題CPU如何區(qū)分是鼠標設備信息而不是其他設備接口需要考慮的問題數(shù)據(jù)通信的方式有幾種?計算機如何對I/O接口進行編址?計算機對外設接口的控制方式有幾種?分別是什么?如何管理和操作的?到目前為止,典型的I/O接口方式有哪些?各有什么特點?如何進行硬件連接?如何進行軟件編程?接口標準有哪些?標準包含的內(nèi)容是什么?如何應用標準?接口需要考慮的問題數(shù)據(jù)通信的方式有幾

6、種?數(shù)據(jù)通訊相關概念數(shù)據(jù)通訊相關概念數(shù)據(jù)通信系統(tǒng)的主要技術指標數(shù)據(jù)傳輸速率誤碼率信道帶寬信道容量數(shù)據(jù)通信系統(tǒng)的主要技術指標數(shù)據(jù)傳輸速率1.數(shù)據(jù)傳輸速率 數(shù)據(jù)傳輸速率有兩種度量單位:波持率和比持率。波特率又稱為波形速率或碼元速率指數(shù)據(jù)通信系統(tǒng)中,線路上每秒傳送的波形個數(shù)。具單位是波特(band)。比特率又稱為信息速率反映一個數(shù)據(jù)通信系統(tǒng)每秒所傳輸?shù)亩M制位數(shù),單位是每秒比特(位),以bit/s或bps表示。注意:這里是小b bbit代表是數(shù)據(jù)傳輸?shù)娜萘?,而一般在存儲?shù)據(jù)的時候使用的是大BB=byte1.數(shù)據(jù)傳輸速率 數(shù)據(jù)傳輸速率有兩種度量單位:波持率和2.誤碼率誤碼率是衡量通信系統(tǒng)線路質(zhì)量的一個

7、重要參數(shù)。它的定義為:二進制符號在傳輸系統(tǒng)中被傳錯的概率,近似等于被傳錯的二進制符號數(shù)與所傳二進制符號總數(shù)的比值。計算機網(wǎng)絡通信系統(tǒng)中,要求誤碼率低于10-9。2.誤碼率誤碼率是衡量通信系統(tǒng)線路質(zhì)量的一個重要參數(shù)。它的定3.信道帶寬信道帶寬(Bandwidth)是指信道所能傳送的信號的頻率寬度,也就是可傳送信號的最高頻率與最低頻率之差。例如,一條傳輸線可以接受從300 Hz到3000 Hz的頻率,則在這條傳輸線上傳送頻率的帶寬就是2700 Hz。信道的帶寬由傳輸介質(zhì)、接口部件、傳輸協(xié)議以及傳輸信息的特性等因素所決定。它在一定程度上體現(xiàn)了信道的傳輸性能,是衡量傳輸系統(tǒng)的一個重要指標。信道的容量、

8、傳輸速率和抗干擾性等均與帶寬有密切的聯(lián)系。通常,信道的帶寬大,信道的容量也大,其傳輸速率相應也高。3.信道帶寬信道帶寬(Bandwidth)4.信道容量信道容量是衡量一個信道傳輸數(shù)字信號的重要參數(shù),信道容量是指單位時間內(nèi)信道上所能傳輸數(shù)據(jù)的最大容量,單位是bps信道容量和傳輸速率之間應滿足以下關系:信道容量傳輸速率,否則高的傳輸速率在低信道上傳輸,其傳輸速率受信道容量所限制,肯定難以達到原有的指標。4.信道容量信道容量在計算機領域中有兩種數(shù)據(jù)通信方式:串行通信和并行通信。并行通信:數(shù)據(jù)在多條并行1位寬的傳輸線上同時由源傳送到目的。以1字節(jié)的數(shù)據(jù)為例,在并行傳送中,1字節(jié)的數(shù)據(jù)通過8條并行傳輸線

9、同時由源傳送到目的。串行通信:數(shù)據(jù)在單條1位寬的傳輸線上,一位一位地按順序分時傳送。以1字節(jié)為例,在串行傳送中,1字節(jié)的數(shù)據(jù)要通過一條傳輸 線分8次由低位到高位按順序一位一位地傳送。源目的0 1 1 0 1 0 1 0源目的在計算機領域中有兩種數(shù)據(jù)通信方式:串行通信和并行通信。源目串并行隱喻并行通訊串行通訊串并行隱喻并行通訊串行通訊串行通信和并行通信比較距離:并行近距離傳送(通常小于30米)串行遠距離傳送(幾米數(shù)千公里)速度:傳統(tǒng)觀念:并行快得多。最新觀念:很難說,跟帶寬有關。設備費用:對遠距離通信而言,串行通信的費用顯然會低得多。另一方面串行通信還可利用現(xiàn)有的電話網(wǎng)絡來實現(xiàn)遠程通信,降低了通

10、信費用。串行通信和并行通信比較距離:典型的并行通訊應用CPU與存儲器之間通訊計算機板卡:ISAEISAPCIPCI ExpressAGP典型的并行通訊應用CPU與存儲器之間通訊典型的串行通訊應用RS232RS485RS422USBEtherNet 網(wǎng)絡典型的串行通訊應用RS232數(shù)據(jù)傳輸同步技術在數(shù)據(jù)通信中,通信雙方收發(fā)數(shù)據(jù)序列必須在時間上取得一致,這樣才能保證接收的數(shù)據(jù)與發(fā)送的數(shù)據(jù)一致,這就是數(shù)據(jù)通信中的同步。如果不采用數(shù)據(jù)傳輸?shù)耐郊夹g則有可能產(chǎn)生數(shù)據(jù)傳輸?shù)恼`差。在計算機網(wǎng)絡中,實現(xiàn)數(shù)據(jù)傳輸?shù)耐郊夹g有以下兩種方法:同步通信和異步通信。同步傳輸方式異步傳輸方式數(shù)據(jù)傳輸同步技術在數(shù)據(jù)通信中,

11、通信雙方收發(fā)數(shù)據(jù)序列必須在時間1.同步傳輸方式同步通信就是使接收端接收的每一位數(shù)據(jù)塊或一組字符都要和發(fā)送端準確地保持同步,在時間軸上,每個數(shù)據(jù)碼字占據(jù)等長的固定時間間隔,碼字之間一般不得留有空隙,前后碼字接連傳送,中間沒有間斷時間。收發(fā)雙方不僅保持著碼元(位)同步關系,而且保持著碼字(群)同步關系。如果在某一期間確實無數(shù)據(jù)可發(fā),則需用某一種無意義碼字或位同步序列進行填充,以便始終保持不變的數(shù)據(jù)串格式和同步關系。否則,在下一串數(shù)據(jù)發(fā)送之前,必須發(fā)送同步序列(一般是在開始使用同步字符SYN“01101000”表示或一個同步字節(jié)“01111110”表示,并且在結(jié)束時使用同步字符或同步字節(jié)),以完成數(shù)

12、據(jù)的同步傳輸過程1.同步傳輸方式同步通信就是使接收端接收的每一位數(shù)據(jù)塊或一組2.異步傳輸方式所謂異步傳輸又稱起止式傳輸。即指發(fā)送者和接收者之間不需要合作。發(fā)送者可以在任何時候發(fā)送數(shù)據(jù),只要被發(fā)送的數(shù)據(jù)已經(jīng)是可以發(fā)送的狀態(tài)的話。接收者則只要數(shù)據(jù)到達,就可以接受數(shù)據(jù)。它在每一個被傳輸?shù)淖址那?、后各增加一位起始位、一位停止位,用起始位和停止位來指示被傳輸字符的開始和結(jié)束,在接收端,去除起、止位,中間就是被傳輸?shù)淖址?。這種傳輸技術由于增加了很多附加的起、止信號,因此傳輸效率不高,異步通信傳輸方式2.異步傳輸方式所謂異步傳輸又稱起止式傳輸。計算機對I/O接口編址方式計算機對I/O接口編址方式CPU如何

13、訪問接口電路?CPU如何訪問存儲器?通過地址總線確定要訪問的存儲單元;通過數(shù)據(jù)總線讀寫存儲單元的數(shù)據(jù)信息;通過控制總線協(xié)調(diào)CPU與存儲器的讀寫任務。CPU如何訪問接口電路?通過地址總線確定要訪問的I/O設備;通過數(shù)據(jù)總線讀寫I/O設備的數(shù)據(jù)信息;通過控制總線協(xié)調(diào)CPU與I/O設備的讀寫任務。CPU如何訪問接口電路?CPU如何訪問存儲器?馮.諾依曼結(jié)構(gòu)馮.諾依曼結(jié)構(gòu)如何定義I/O設備的地址?分析I/O信息的類型:數(shù)據(jù)、命令、狀態(tài)。傳送這三類信息的通道分別稱為:數(shù)據(jù)端口(I/O)命令端口(O)狀態(tài)端口(I)不同外設具有的端口數(shù)各不相同,計算機中為每一個端口都賦予一個惟一編號稱為端口地址(或端口號)

14、。 與存儲器統(tǒng)一編制(存儲器映像編址)。存儲器和I/O端口共用統(tǒng)一的地址空間。獨立編址(專用的I/O端口編址)存儲器和I/O端口在兩個獨立的地址空間中如何定義I/O設備的地址?分析I/O信息的類型:存儲器映像編址優(yōu)點:不需要專用的I/O指令,任何對存儲器數(shù)據(jù)進行操作的指令都可用于I/O端口的數(shù)據(jù)操作,程序設計比較靈活;由于I/O端口的地址空間是內(nèi)存空間的一部分,這樣,I/O端口的地址空間可大可小,從而使外設的數(shù)量幾乎不受限制;缺點:I/O端口占用了內(nèi)存空間的一部分,影響了系統(tǒng)的內(nèi)存容量;訪問I/O端口也要同訪問內(nèi)存一樣,由于內(nèi)存地址較長,導致執(zhí)行時間增加;CPU的尋址方式都可以照常使用,如:M

15、OV AX,DS:2000H如果DS*16+2000HF0000H則訪問I/O設備;否則,訪問存儲器存儲器映像編址優(yōu)點:CPU的尋址方式都可以照常使用,如果DS優(yōu)點:I/O端口的地址碼較短,譯碼電路簡單,存儲器同I/O端口的操作指令不同,程序比較清晰;存儲器和I/O端口的控制結(jié)構(gòu)相互獨立,可以分別設計;缺點:需要有專用的I/O指令,程序設計的靈活性較差;專用的I/O端口編址優(yōu)點:專用的I/O端口編址8086/8088的編址方式采用I/O獨立編址方式(但地址線與存儲器共用) 地址線上的地址信號用IO/#M來區(qū)分:IO/#M=1時為I/O地址 I/O操作只使用20根地址線中的16根:A15A0 可

16、尋址的I/O端口數(shù)為64K(65536)個 I/O地址范圍為0FFFFH IBM PC只使用了1024個I/O地址(03FFH) 另設訪問I/O設備指令:IN、OUT指令MOV AX,DS:2000H 時CPU產(chǎn)生MEMR信號IN AX,DX 時CPU產(chǎn)生IOR、AEN信號(DX中存端口地址)8086/8088的編址方式采用I/O獨立編址方式(但地址線計算機接口控制方式計算機接口控制方式接口的控制方式外部設備的速度比CPU的速度要慢很多,換句話說:CPU和I/O設備的速度不配合,怎么辦?程序查詢方式中斷處理方式DMA(直接存儲器存?。﹤魉头绞浇涌诘目刂品绞酵獠吭O備的速度比CPU的速度要慢很多,

17、1.程序查詢方式這種方式下,CPU通過I/O指令詢問指定外設當前的狀態(tài),如果外設準備就緒,則進行數(shù)據(jù)的輸入或輸出,否則CPU等待,循環(huán)查詢。這種方式的優(yōu)點是結(jié)構(gòu)簡單,只需要少量的硬件電路即可,缺點是由于CPU的速度遠遠高于外設,因此通常處于等待狀態(tài),工作效率很低。1.程序查詢方式這種方式下,CPU通過I/O指令詢問指定外設2.中斷處理方式在這種方式下,CPU不再被動等待,而是可以執(zhí)行其他程序,一旦外設為數(shù)據(jù)交換準備就緒,可以向CPU提出服務請求,CPU如果響應該請求,便暫時停止當前程序的執(zhí)行,轉(zhuǎn)去執(zhí)行與該請求對應的服務程序,完成后,再繼續(xù)執(zhí)行原來被中斷的程序。中斷處理方式的優(yōu)點是顯而易見的:它

18、不但為CPU省去了查詢外設狀態(tài)和等待外設就緒所花費的時間,提高了CPU的工作效率,還滿足了外設的實時要求。但需要為每個IO設備分配一個中斷請求號和相應的中斷服務程序還需要一個中斷控制器(IO接口芯片)管理IO設備提出的中斷請求,例如設置中斷屏蔽、中斷請求優(yōu)先級等。中斷處理方式的缺點:每傳送一個字符都要進行中斷,啟動中斷控制器,還要保留和恢復現(xiàn)場以便能繼續(xù)原程序的執(zhí)行,花費的工作量很大,這樣如果需要大量數(shù)據(jù)交換,系統(tǒng)的性能會很低。2.中斷處理方式在這種方式下,CPU不再被動等待,而是可以執(zhí)2.1 什么是中斷?中斷(Interrupt)是一種操作,它使CPU中止正在執(zhí)行的程序,而轉(zhuǎn)入稱為中斷處理程

19、序(Interrupt Handler)(或稱中斷服務程序Interrupt Service,或稱中斷例程Interrupt Routine)的程序。當中斷處理程序執(zhí)行完后,CPU接著執(zhí)行被中斷的程序(相對于中斷處理程序來說,被中斷的程序稱為主程序)。為了實現(xiàn)中斷功能而設置的硬件和軟件系統(tǒng)稱為中斷系統(tǒng)。二個概念:1.正在執(zhí)行的程序2.中斷服務程序2.1 什么是中斷?中斷(Interrupt)是一種操作中斷事件2005年11月13日中國石油吉林石化公司爆炸事故發(fā)生后,監(jiān)測發(fā)現(xiàn)苯類污染物流入第二松花江,造成水質(zhì)污染。苯類污染物是對人體健康有危害的有機物。中斷事件2005年11月13日中國石油吉林石

20、化公司爆炸事故發(fā)中斷隱喻-1假設我們正在上課,有什么會打擾我們上課這個正常的進程?有的同學來晚了;手機突然響起;領導來檢查;突然停電了;發(fā)生火災;放聲地震;上述任何一件事情的發(fā)生都可能導致教師的上課因故被打斷。我們稱這些事件為中斷源中斷隱喻-1假設我們正在上課,有什么會打擾我們上課這個正常的中斷隱喻-2對于如此眾多的中斷源,我們該如何處理?可以分為兩類:停電、火災、地震等,我們沒有辦法!對于學生來晚、手機響、領導來檢查我們還有兩種解決方案:教師不予理睬依然固我地講課教師停止講課,批評學生或者迎接領導所以,我們將所有的中斷源分為兩類:不可屏蔽中斷(NonMask Interrupt)可屏蔽中斷(

21、Maskable Interrupt)中斷隱喻-2對于如此眾多的中斷源,我們該如何處理?可以分為兩中斷隱喻-3對于可屏蔽的中斷源,還有一種情況要考慮:如果教師對于學生來晚很難接受,就會停下來對來晚的學生進行批評;上述情況可以理解為:教師正常的程序是上課,但是因為有同學來晚,停止上課,去批評學生,進入了一個“批評學生”的中斷服務程序。教師正在批評學生的時候,領導來檢查,教師此時需要進行一個決策:是繼續(xù)批評學生,還是和領導打聲招呼?如果教師認為領導更重要,他會選擇放棄批評學生,進而進入另一個中斷服務程序“和領導打招呼”。換句話說:在執(zhí)行中斷服務程序時,又來一個中斷,而且后來的中斷的級別比前一個中斷

22、的級別高,停下現(xiàn)在的中斷服務,跳去執(zhí)行更高級別的中斷。這個分析中,我們看到了兩個概念:中斷是有級別的;中斷應該可以嵌套。中斷隱喻-3對于可屏蔽的中斷源,還有一種情況要考慮:中斷隱喻-總結(jié)中斷什么時候來,不確定:中斷是隨機的;中斷源的種類會很多;-中斷源中斷源有的必須響應,有的卻可以不予理睬;-中斷屏蔽眾多的中斷源是有級別的,必須劃出級別來;-中斷級別中斷根據(jù)級別是可以嵌套的;- 中斷嵌套中斷隱喻-總結(jié)中斷什么時候來,不確定:中斷是隨機的;中斷源 概念:引起中斷的原因或發(fā)出中斷請求的來源,稱為中斷源,中斷源種類:通用的I/O設備。如鍵盤、打印機等。數(shù)據(jù)通道中斷源。如磁盤、磁帶、光盤等設備。實時時

23、種(RTC)。故障源。如電源掉電、存儲器出錯、運算溢出等。軟件設置的中斷源。如中斷指令INT產(chǎn)生的中斷。為調(diào)試程序而設置的中斷源。如斷點中斷、單步中斷。根據(jù)中斷源的性質(zhì),可以分為硬件中斷和軟件中斷。硬件中斷源產(chǎn)生一個硬件請求信號,該信號連接到CPU的INTR或NMI引腳,使CPU執(zhí)行中斷處理。硬件中斷又稱為外部中斷。軟件中斷源是CPU根據(jù)指令(如INT指令)或內(nèi)部狀態(tài)(如運算溢出、單步標志TF)產(chǎn)生的中斷又稱為內(nèi)部中斷。中斷源 概念:中斷的優(yōu)先權(quán)(優(yōu)先級)-1多個設備使用中斷方式與CPU交換數(shù)據(jù)時,需解決優(yōu)先級問題。CPU對中斷的優(yōu)先權(quán)處理的一般原則是:不同級的中斷請求同時發(fā)生時,先處理優(yōu)先級

24、高的請求。當CPU正在處理低優(yōu)先級中斷的過程中,又出現(xiàn)優(yōu)先級高的請求,則CPU暫停低優(yōu)先級中斷的處理, 而優(yōu)先處理高優(yōu)先級的中斷,當高優(yōu)先級中斷處理完后,再接著處理低優(yōu)先級中斷。這種情況稱為多重中斷或中斷嵌套。當CPU正在處理某優(yōu)先級中斷的過程中,出現(xiàn)優(yōu)先級低的請求,則CPU在處理完該中斷后再響應新的請求。中斷優(yōu)先級相同的請求同時發(fā)生時,按預先規(guī)定的次序逐個處理。中斷的優(yōu)先權(quán)(優(yōu)先級)-1多個設備使用中斷方式與CPU交換數(shù)中斷的優(yōu)先權(quán)(優(yōu)先級)-2CPU處理中斷優(yōu)先級的方法:軟件查詢方式硬件排隊方式鏈式排隊電路優(yōu)先權(quán)編碼集成芯片中斷的優(yōu)先權(quán)(優(yōu)先級)-2CPU處理中斷優(yōu)先級的方法:軟件查詢方式

25、.軟件查詢方式 軟件查詢方式要借助簡單的硬件電路。把多個設備的中斷請求信號相或作為向CPU的請求信號, 任意外設有中斷請求時,都可以向CPU發(fā)出INTR信號。同時,設計一個狀態(tài)寄存器,其中每一位標識一個設備的請求情況(如,有請求時,對應位置1)。CPU在中斷處理程序中,讀入狀態(tài)寄存器的值,然后逐位檢查它們的狀態(tài)。若發(fā)現(xiàn)某位有中斷請求,就轉(zhuǎn)入相應的中斷處理程序。設中斷優(yōu)先級排列為:電源故障磁盤磁帶CRT紙帶輸入紙帶穿孔鍵盤打印機軟件查詢方式.軟件查詢方式 設中斷優(yōu)先級排列為:鏈式排隊電路-菊花鏈法在每個外設對應的接口電路上連接一個邏輯電路,這些邏輯電路構(gòu)成一個鏈,稱為菊花鏈。當某個或幾個外設請求

26、中斷時,優(yōu)先級排隊電路設置中斷(F/F),并向CPU發(fā)出INTR信號,CPU響應中斷時發(fā)出INTA信號。INTA信號只能傳送到排隊電路的前面,因此排隊電路前面的外設獲得允許信號(圖中的中斷輸出),送出中斷類型碼。排隊電路后面的外設收不到INTA信號。因此,接口在菊花鏈中的位置,決定了其優(yōu)先級,越靠近排隊電路前面的外設,優(yōu)先級越高。鏈式排隊電路-菊花鏈法在每個外設對應的接口電路上連接一個邏輯優(yōu)先級編碼集成芯片在微機中,典型地使用可編程中斷控制器Intel 8259管理多個外設的中斷請求。在中斷控制器內(nèi)部,有一個優(yōu)先權(quán)編碼排隊電路8條中斷輸入線的任意一條請求信號,經(jīng)8到3優(yōu)先權(quán)編碼器5產(chǎn)生三位二進

27、制編碼A2A1A0,優(yōu)先權(quán)最高的請求編碼為111,優(yōu)先權(quán)最低的請求編碼為000。若有多個請求線同時請求,編碼器僅輸出優(yōu)先權(quán)最高的編碼。當CPU尚未處理任何中斷時,優(yōu)先權(quán)失效信號為1,此時,任意請求線有請求時,均可以經(jīng)“或門7”、與門2”、“或門3”向CPU申請中斷,且該中斷的編碼經(jīng)過CPU數(shù)據(jù)總線送至優(yōu)先權(quán)寄存器6。 優(yōu)先權(quán)寄存器中總是存放著當前正在處理的中斷的編碼(B2B1B0)。當出現(xiàn)新的請求時,新請求的編碼A2A1A0送到比較器,只有當新請求的優(yōu)先級A2A1A0大于正在處理的中斷的編碼B2B1B0時,比較器輸出1,經(jīng)“與門1”、“或門3”向CPU申請中斷,同時,新中斷的編碼經(jīng)過CPU數(shù)據(jù)

28、總線送至“優(yōu)先權(quán)寄存器6”。優(yōu)先級編碼集成芯片在微機中,典型地使用可編程中斷控制器Int8086/8088中斷系統(tǒng)1.8086/8088如何管理中斷?2.硬件電路如何設計?3.如何實現(xiàn)中斷編程?4.中斷如何調(diào)試?8086/8088中斷系統(tǒng)1.8086/8088如何管理中斷8086/8088對中斷的支持8086/8088的硬件支持8086/8088的軟件管理NMI:Non Maskable InterruptINTR: Maskable InterruptINTA:Interrupt Acknowledge8086/8088對中斷的支持8086/8088的硬件支持N8086/8088中斷系統(tǒng)80

29、86/8088可管理256個中斷源包括:非屏蔽中斷可屏蔽中斷NMI引入,1個,不受IF的屏蔽INTR引入,多個,受IF的屏蔽CPU根據(jù)軟件中的某條指令或者軟件對標志寄存器中的設置而產(chǎn)生的硬件中斷軟件中斷(外部中斷)(內(nèi)部中斷)8086/8088中斷系統(tǒng)8086/8088可管理256個中8086/8088中斷系統(tǒng)CPU的FLAG寄存器中有一位IF,該位不控制NMI和軟件中斷。當IF置0時,所有外部可屏蔽中斷被禁止;當IF置1時,所有外部可屏蔽中斷被允許。匯編語言對該位的操作指令:CLI:關中斷STI:開中斷C語言對該位的操作命令:Enable():開中斷Disable():關中斷8086/808

30、8中斷系統(tǒng)CPU的FLAG寄存器中有一位IF8086/8088中斷系統(tǒng)256個中斷如何管理?對計算機而言,中斷一旦來,CPU將自動響應中斷,即CPU自動跳轉(zhuǎn)到中斷服務程序處,開始執(zhí)行中斷服務程序。中斷服務程序必須預先編寫好,并放置在CPU所知道的地方,以方便CPU的自動跳轉(zhuǎn)。計算機需要一套管理機制,自動管理中斷服務。8086/8088設置了一個中斷向量表,以矢量的形式來管理256個中斷。中斷向量表固定放置在以00000H開始的內(nèi)存中,占據(jù)內(nèi)存1K字節(jié),即每個中斷占4Bytes,我們稱之為中斷向量。每個中斷有一個號碼(0255),稱之為中斷號。8086/8088中斷系統(tǒng)256個中斷如何管理?80

31、86/8088中斷向量表8086/8088中斷向量表 8086/8088的中斷優(yōu)先級別中斷源優(yōu)先級除法錯、INT n,INTO最高NMIINTR單步(陷阱)最低 8086/8088的中斷優(yōu)先級別中斷源優(yōu)先級除法錯、INT707中斷向量在內(nèi)存中的安排4bytes非為兩部分1.低地址存IP2.高地址存CS里面存的是地址,中斷服務程序的入口地址707中斷向量在8086/8088中斷系統(tǒng)中斷矢量表范圍: 00000H 003FFH(1KB)每一個中斷服務程序的入口地址占四個字節(jié)單元(2564=1024B),高字節(jié)放的是段地址(CS),低字節(jié)放的是偏移地址(IP)每個中斷源對應一個中斷服務程序,每一個中

32、斷服務程序都有固定的入口地址中斷矢量號N中斷矢量表的地址中斷矢量表中斷服務程序的入口 地址(CS,IP) 48086/8088中斷系統(tǒng)中斷矢量表范圍: 00000H 例: 鍵盤中斷的矢量號為09H,它的中斷服務程序入口地址為0BA9H:0125H,求它在中斷矢量表中的地址及相應單元內(nèi)容 解:鍵盤中斷對應的中斷矢量表位于0000:0024H (09H4=24H)開始的4單元,這4個單元的內(nèi)容見表:例: 鍵盤中斷的矢量號為09H,它的中斷服務程序入口地址為08086/8088中斷系統(tǒng)問題1:中斷向量表中存的是中斷服務程序的入口地址假設已經(jīng)編好一個中斷服務程序,放在0024:1200H為起始地址的內(nèi)

33、存中,如何將0024:1200H這個地址放到中斷向量表中?問題2:CPU如果接收到了一個中斷請求,如何自動執(zhí)行?問題3:很顯然外設不僅要給CPU一個INTR信號,還需要給出中斷向量號,如何給出?8086/8088中斷系統(tǒng)問題1:問題1:設置中斷向量有兩個方法:方法1:假設0024:1200H是中斷4的服務程序入口地址,你需要將指針指到0000:0010H處,然后分別將0024H、1200H寫到0000:0010H0000:0014H中,但這種操作方法需要對計算機有清晰的概念,否則容易出錯。方法2:匯編語言和高級語言分別有指令可以設置中斷向量表。以C語言為例。問題1:設置中斷向量有兩個方法:問題

34、1:設置中斷向量先編寫中斷服務程序:void interrupt yourisr() disable(); /*關中斷*/ /* Body of ISR Goes Here */ oldhandler(); /*舊的中斷服務程序*/ outportb(0 x20h,0 x20h); /*中斷返回指令 IRET*/ enable(); /*開中斷*/問題1:設置中斷向量先編寫中斷服務程序:問題1:設置中斷向量主程序#include #define INTN0 0 x0Bvoid interrupt (*oldhandler)(); /*定義函數(shù)指針變量*/void main(void) oldh

35、andler = getvect (INTNO); /*獲得0 x0B號中斷向量,保存在oldhandler變量中*/ setvect (INTNO, yourisr); /*將你的中斷服務程序的入口地址設置在0 x0B中斷向量中,當0 x0B號中斷來時,CPU自動跳轉(zhuǎn)到你的服務程序yourisr中*/ outportb (0 x21h, (inportb (0 x21h)&0 xF7h); /* Set Card Port to Generate Interrupts */ /* Body of Program Goes Here */ /* Reset Card Port as to St

36、op Generating Interrupts */ outportb (0 x21h, (inportb (0 x21h)|0 x08h); setvect (INTNO, oldhandler);問題1:設置中斷向量主程序#include 問題2:CPU響應中斷過程CPU響應中斷需要幾個條件:IF=1,中斷允許;匯編語言每條指令執(zhí)行完畢后檢測中斷信號;(1)從數(shù)據(jù)總線上讀取中斷矢量號,將其存入內(nèi)部暫存器(2)將標志寄存器FR的值進棧(PUSHF)(3)把FR的中斷允許標志IF和單步標志TF清零(4)將斷點保護到堆棧中(PUSH CS;PUSH IP) 斷點:是指響應中斷時,主程序中當前指

37、令下面的一條指令的地址,包括CS和IP的值(5)依據(jù)獲得的中斷矢量號,到內(nèi)存中斷矢量表中找到中斷矢量,再依據(jù)該中斷矢量轉(zhuǎn)入相應的中斷服務程序問題2:CPU響應中斷過程CPU響應中斷需要幾個條件:(1)中斷服務(處理)子程序的結(jié)構(gòu)模式現(xiàn)場保護,既通過一系列進棧指令保護中斷現(xiàn)場,如保護CPU各寄存器的值用指令設置中斷允許標志IF開中斷,以允許級別更高的中斷進入中斷處理的具體內(nèi)容現(xiàn)場恢復中斷返回指令IRET,目的將堆棧中保護的斷點值和標志值分別裝入IP、CS和標志寄存器中中斷服務(處理)子程序的結(jié)構(gòu)模式現(xiàn)場保護,既通過一系列進棧指8086/8088CPU的中斷處理過程當前指令結(jié)束,采樣中斷源?內(nèi)部中

38、斷?NMI中斷?INTR中斷?TF=1?執(zhí)行下一條指令IF=1?內(nèi)部獲取中斷類型碼內(nèi)部獲取中斷類型碼從外部獲取中斷類型碼標志寄存器FR入棧TEMP = TF清除TF、IFCS、IP入棧形成中斷服務程序入口有NMI中斷?TEMP=1?執(zhí)行中斷服務程序CS、IP出棧標志寄存器FR出棧轉(zhuǎn)入NMI中斷服務轉(zhuǎn)入單步中斷服務YNYYYNNNYNNNNYY8086/8088CPU的中斷處理過程當前指令結(jié)束,內(nèi)部中斷CPU進入中斷響應,F(xiàn)R入棧,將TF送入暫存器TEMP,然后清除IF和TF。清除IF將保護本中斷服務過程不被可屏蔽中斷打斷,清除TF是保護中斷服務程序的連續(xù)執(zhí)行。在中斷返回時,隨著FR的恢復,IF

39、、TF隨之恢復;NMI引腳上的請求需要立即處理,因此在進入任何中斷服務程序之前先安排測試NMI上是否有中斷請求,有,則再次保護現(xiàn)場和斷點,進入NMI中斷服務,從而保證NMI實際上擁有最高優(yōu)先權(quán)。如果當前執(zhí)行的就是NMI中斷服務程序,則不會再次轉(zhuǎn)入;在執(zhí)行任何中斷服務前,若沒有NMI請求,則接著查看暫存器TEMP狀態(tài),若TEMP1,則中斷前CPU已處于單步工作,與NMI相同,重新保護現(xiàn)場和斷點,轉(zhuǎn)入單步中斷服務程序;若TEMP0,則中斷前為非單步工作,無需執(zhí)行單步中斷。如果當前執(zhí)行的就是單步中斷服務程序,則不會再次轉(zhuǎn)入;如果在中斷服務程序中設置了開中斷指令,使IF=1,則在中斷服務過程中可以再次

40、響應優(yōu)先權(quán)級別高的可屏蔽中斷,實現(xiàn)中斷嵌套;CPU進入中斷響應,F(xiàn)R入棧,將TF送入暫存器TEMP,然后問題3:中斷接口電路8259A8259A是中斷接口芯片,負責接收外設的信號,并產(chǎn)生INTR信號給CPU,同時給出中斷向量號。問題3:中斷接口電路8259A8259A是中斷接口芯片,負責8259A的功能圖8259A是專門為了對8085A和8086/8088進行中斷控制而設計的芯片,它是可以用程序控制的中斷控制器。8259A能管理8級向量優(yōu)先級中斷。在不增加其他電路的情況下,最多可以級聯(lián)成64級的向量優(yōu)級中斷系統(tǒng)。8259A有多種工作方式,能用于各種系統(tǒng)。各種工作方式的設定是在初始化時通過軟件進

41、行的。 在總線控制器的控制下,8259A芯片可以處于編程狀態(tài)和操作狀態(tài),編程狀態(tài)是CPU使用IN或OUT指令對8259A芯片進行初始化編程的狀態(tài)。8259A的功能圖8259A是專門為了對8085A和80868259A隱喻CPU就相當于一個公司的老總,而8259A芯片就相當于這個老總的秘書。現(xiàn)在有很多人想見老總,但老總正在打電話,于是交由秘書先行接待。每個想見老總的人都需要把自己的名片交給秘書,秘書首先看看名片,有沒有老總明確表示不愿見到的人,如果沒有就把它放到一個盒子里面。這時老總的電話還沒打完,但不停的有人遞上名片求見老總,秘書就把符合要求的名片全放在盒子里了。老總打完電話了,探出頭來問秘書

42、:有人想見我嗎?這時,秘書就從盒子里挑選一個級別最高的,并把他的名片交給老總。 8259A隱喻CPU就相當于一個公司的老總,而8259A芯片8259A外形及管腳定義8259使用說明8259A外形及管腳定義8259使用說明CPU與8259A接口電路原理圖CPU與8259A接口電路原理圖計算機接口技術解析3.DMA處理方式DMA最明顯的一個特點是它不是用軟件而是采用一個專門的控制器來控制內(nèi)存與外設之間的數(shù)據(jù)交流,無須CPU介入,大大提高CPU的工作效率。在進行DMA數(shù)據(jù)傳送之前,DMA控制器會向CPU申請總線控制權(quán),CPU如果允許,則將控制權(quán)交出,因此,在數(shù)據(jù)交換時,總線控制權(quán)由DMA控制器掌握,

43、在傳輸結(jié)束后,DMA控制器將總線控制權(quán)交還給CPU。3.DMA處理方式DMA最明顯的一個特點是它不是用軟件而是采DMA(Directory Memory Access)直接內(nèi)存存取3.DMA技術76DMA(Directory Memory Access)3.主要內(nèi)容DMA 傳送的特點DMA 傳送的過程DMA 傳送的方式3.13.23.377DMA 控制器3.4DMA 系統(tǒng)3.5DMA 傳送的應用3.6主要內(nèi)容DMA 傳送的特點DMA 傳送的過程DMA 傳送的方DMADMA (Direct Memory Access):讓存儲器與高速外設直接進行數(shù)據(jù)交換而無需CPU的干預。特點DMA傳送期間,D

44、MA控制器(DMAC)接管了CPU對總線的控制權(quán)。DMA方式中,內(nèi)存地址的修改、傳送結(jié)束的判斷都由硬件電路實現(xiàn)。即:用硬件控制代替了軟件控制。DMA控制器是實現(xiàn)DMA傳送的核心器件。783.1 DMA傳送的特點DMA803.1 DMA傳送的特點應用場合DMA方式主要用于高速大批量傳輸數(shù)據(jù)的場合。如:硬盤和軟盤外設;快速通信通道;多處理機和多程序數(shù)據(jù)塊傳送;圖像處理中向CRC屏幕傳送數(shù)據(jù);快速數(shù)據(jù)采集;DRAM的刷新操作。793.1 DMA傳送的特點應用場合813.1 DMA傳送的特點3.2 DMA傳送的過程803.2 DMA傳送的過程825個階段初始化階段813.2 DMA傳送的過程 要傳送的

45、數(shù)據(jù)字節(jié)數(shù) 數(shù)據(jù)在存儲器中的起始地址 傳送方向 DMAC的通道號 DMAC 5個階段833.2 DMA傳送的過程 要傳送的數(shù)據(jù)字節(jié)數(shù) 申請階段當外設有DMA需求,并且已準備就緒,則向DMA控制器發(fā)出DMA請求信號DREQ。DMA控制器接收到DMA請求信號后,向CPU發(fā)出總線請求信號HRQ。該信號連接到CPU的HOLD信號。823.2 DMA傳送的過程 外部設備 DMAC DREQ CPU HRQ申請階段843.2 DMA傳送的過程 外部設備 DMAC 響應階段CPU收到DMA的HRQ請求后,若允許DMA傳輸,則在當前總線周期結(jié)束后,釋放總線控制權(quán),并向DMAC發(fā)HLDA信號,通知其CPU已交出

46、總線。833.2 DMA傳送的過程CPU檢測HRQHRQ有效且LOCK無效CPU交出總線CPU向DMAC發(fā)HLDAYNDMAC成為總線主控者 響應階段853.2 DMA傳送的過程CPU檢測HRQHRQ有數(shù)據(jù)傳送階段DMA控制器獲得總線的控制權(quán),向外設發(fā)送應答信號DACK,通知外設可以進行DMA傳輸了。DMA控制器送出地址信號和控制信號,實現(xiàn)外設與內(nèi)存的數(shù)據(jù)傳輸。843.2 DMA傳送的過程 外部設備 DMAC 存儲器 DACK地址信號讀寫信號數(shù)據(jù)傳送階段863.2 DMA傳送的過程 外部設備 DMAC傳送結(jié)束階段DMAC向外設發(fā)送EOP信號,外設撤銷DREQ請求,同時HRQ和HLDA信號變?yōu)闊o

47、效,DMAC釋放總線,CPU重獲總線控制權(quán)。853.2 DMA傳送的過程CPU重獲總線控制權(quán)DMAC向外設發(fā)EOP信號外設撤消DREQ信號HRQ和HLDA變?yōu)闊o效DMAC交出總線控制權(quán)傳送結(jié)束階段873.2 DMA傳送的過程CPU重獲總線控制權(quán)DMA的傳送類型數(shù)據(jù)傳送:把源地址的數(shù)據(jù)傳送到目的地址去。DMA讀:把數(shù)據(jù)由存儲器傳送到外設。DMA寫:把外設輸入的數(shù)據(jù)寫入存儲器。存儲器與存儲器之間的傳遞。讀/寫操作均是針對存儲器而言。數(shù)據(jù)校驗:對數(shù)據(jù)塊內(nèi)的每個字節(jié)進行校驗。數(shù)據(jù)檢索:在指定的內(nèi)存區(qū)域內(nèi)查找某個關鍵字節(jié)或某幾個關鍵數(shù)據(jù)位是否存在,如果查到了,就停止檢索。863.3 DMA傳送的方式DM

48、A的傳送類型883.3 DMA傳送的方式DMA的傳送方式按照每次DMA操作所操作的字節(jié)數(shù),可分為:單字節(jié)傳送方式數(shù)據(jù)塊傳送方式請求傳送方式級聯(lián)傳輸方式873.3 DMA傳送的方式DMA的傳送方式893.3 DMA傳送的方式單字節(jié)傳送方式每次傳送一個字節(jié),然后釋放總線控制權(quán)。傳送下一個字節(jié)時,重新申請使用總線。特點CPU在每個DMA周期結(jié)束后立即控制總線。對系統(tǒng)影響不大。CPU和DMAC輪流控制系統(tǒng)總線,傳輸效率低。883.3 DMA傳送的方式允許 DMADMAC發(fā)總線請求CPU響應DMA放棄總線DMAC控制傳一個字節(jié)放棄總線中斷請求NDMA放棄總線NYYDMA請求?塊結(jié)束否?單字節(jié)傳送方式90

49、3.3 DMA傳送的方式允許 DMADMA數(shù)據(jù)塊傳送方式只要DMA一啟動,DMAC始終占用總線,直到數(shù)據(jù)傳送結(jié)束,或外部強制停止,才交出總線控制權(quán)。特點效率高。DMA傳輸期間CPU長時間不能控制總線。若一次傳輸?shù)臄?shù)據(jù)較多,對系統(tǒng)會有一定響應。893.3 DMA傳送的方式允許 DMADMAC發(fā)總線請求CPU 響應 DMA放棄總線DMAC控制傳一個字節(jié)放棄總線中斷請求YNDMA請求?塊結(jié)束?數(shù)據(jù)塊傳送方式913.3 DMA傳送的方式允許 DMADMA請求傳送方式當外部有DMA請求時DMAC才占用總線。當DMA請求無效,或操作結(jié)束,或由外部送來結(jié)束信號EOP,DMAC都會釋放總線,把總線控制權(quán)交還C

50、PU。具體實現(xiàn):每傳完一個字節(jié),DMAC都會檢測外設的DREQ請求。若DREQ無效,則馬上停止DMA傳輸,將總線控制權(quán)交給CPU。特點實現(xiàn)靈活,DMA操作可由外設用DREQ信號控制發(fā)送過程。903.3 DMA傳送的方式請求傳送方式923.3 DMA傳送的方式913.3 DMA傳送的方式允許DMADMAC發(fā)出總線請求CPU響應DMA放棄總線DMAC控制傳一個字節(jié)放棄總線中斷請求YY放棄總線NNYDMA請求?塊結(jié)束?DMA請求?N933.3 DMA傳送的方式允許DMADMAC發(fā)出總線請求C級聯(lián)傳送方式將多個DMAC連在一起,一個為主,其余為從。從片收到外設的DMA請求后,不是向CPU申請總線,而是

51、向主片申請,再由主片向CPU申請。923.3 DMA傳送的方式級聯(lián)傳送方式943.3 DMA傳送的方式DMA控制器的2種狀態(tài)主動工作態(tài) 在主動工作狀態(tài)下,DMAC取代處理器CPU,獲得了對系統(tǒng)總線的控制權(quán),成為系統(tǒng)總線的主控者,向存儲器和外設發(fā)號施令。被動工作態(tài) 在被動工作狀態(tài)下,DMAC接受CPU對它的控制和指揮。例如:對DMAC進行初始化編程以及從DMAC讀取狀態(tài)等。933.4 DMA控制器DMA控制器的2種狀態(tài)953.4 DMA控制器DMAC與CPU間總線控制權(quán)的轉(zhuǎn)移兩組聯(lián)絡信號實現(xiàn)總線控制權(quán)的轉(zhuǎn)移 943.4 DMA控制器DMAC與CPU間總線控制權(quán)的轉(zhuǎn)移963.4 DMA控制器DMA

52、控制器8237A-5 的基本特點8237A-5是一個高性能通用可編程DMAC。具有4個獨立的通道,通過級聯(lián)方式進行擴充。最多可擴展4個從片,即16個DMA通道。每個通道可傳輸?shù)淖畲髷?shù)據(jù)塊均為64KB??蓪崿F(xiàn)內(nèi)存到外設、外設到內(nèi)存以及內(nèi)存到內(nèi)存之間的高速數(shù)據(jù)傳輸,最高數(shù)據(jù)傳輸速率可達1.6MB/s。具有多種控制方式和操作類型。953.4 DMA控制器DMA控制器8237A-5 的基本特點973.4 DMA控制8237A-5外部特性概況 40引腳上列直插封裝。引腳說明963.4 DMA控制器8237A-5外部特性983.4 DMA控制器(1) 請求與應答信號DREQ3 DREQ0:DMA通道請求輸

53、入信號(由外設提供)。有效電平可高可低,由程序選定。 優(yōu)先級:DREQ0最高, DREQ3最低。HRQ:8237A-5向CPU發(fā)出的總線請求信號,高電平有效。HLDA:CPU發(fā)給8237A-5的總線請求響應信號。高電平有效。有效時表示CPU已讓出總線。DACK3 DACK0:DMA響應輸出信號(外接外設)。有效電平可高可低,由程序選定。 8237A-5在同一個時間,只能有一個DACK應答信號有效。973.4 DMA控制器 外部設備 DMAC DREQ CPU HRQHLDADACK(1) 請求與應答信號993.4 DMA控制器 外部設備 (2) 地址信號線A3 A0:地址線,雙向三態(tài)。被動狀態(tài)

54、下,為輸入,作為CPU對8237A-5內(nèi)部的16個寄存器與計數(shù)器尋址之用。主動狀態(tài)下,為輸出,作為20位存儲器地址的最低4位。A7 A4:地址線,單向。主動狀態(tài)下,為輸出。作為訪問20位存儲器地址低8位中的高4位。983.4 DMA控制器 (2) 地址信號線1003.4 DMA控制器 (3) 數(shù)據(jù)信號DB7 DB0:地址數(shù)據(jù)復用線,雙向三態(tài)。被動狀態(tài)下,為雙向數(shù)據(jù)線。用于CPU對8237A進行初始化,或DMA傳輸結(jié)束后傳送狀態(tài)。主動狀態(tài)下,分時復用作為訪問存儲器的高8位地址線和數(shù)據(jù)線。在存儲器到存儲器傳送方式中,作為數(shù)據(jù)的輸入輸出端。993.4 DMA控制器 (3) 數(shù)據(jù)信號1013.4 DM

55、A控制器 (4) 控制信號CS:片選信號,低有效。被動狀態(tài)下用于CPU對8237的尋址。CLK:控制芯片內(nèi)部操作和數(shù)據(jù)傳輸。RESET:輸入信號,復位8237A。IOR/IOW:讀寫控制信號。被動狀態(tài)下,為輸入。用于CPU向DMAC寫命令或初始化參數(shù),或CPU讀取8237A內(nèi)部寄存器狀態(tài)。主動狀態(tài)下,為輸出。對外設進行讀寫。MEMR/MEMW:存儲器讀/寫信號,單向輸出。當8237A為主動工作狀態(tài)時,對存儲器進行讀寫。1003.4 DMA控制器 (4) 控制信號1023.4 DMA控制器ADSTB:地址選通信號,輸出。在主動狀態(tài)下,DB0 DB7作為高8位地址線時,ADSTB是把這8位地址鎖存

56、到地址鎖存器的輸入選通信號。高電平允許輸入,低電平鎖存。AEN:地址允許,輸出。是高8位地址鎖存器輸出允許信號。READY:準備就緒信號,輸入,高電平有效。在主動工作狀態(tài)下,控制總線周期的長度,與慢速設備同步。EOP:過程結(jié)束信號,雙向。DMA傳送過程結(jié)束,則從EOP輸出一個低有效脈沖。若從EOP輸入低脈沖信號,則表明外部強制結(jié)束DMA傳送。1013.4 DMA控制器ADSTB:地址選通信號,輸出。在主動狀態(tài)下,DB0 D8237A-5內(nèi)部結(jié)構(gòu)4個DMA通道和一個公共控制部分。每個DMA通道包括:基本地址寄存器、當前地址寄存器基字節(jié)寄存器、當前字節(jié)計數(shù)器公共控制部分:工作方式寄存器、命令寄存器

57、、狀態(tài)寄存器請求寄存器、屏蔽寄存器、暫存寄存器1023.4 DMA控制器8237A-5內(nèi)部結(jié)構(gòu)1043.4 DMA控制器1033.4 DMA控制器1053.4 DMA控制器8237A-5 DMA通道內(nèi)部寄存器1043.4 DMA控制器基地址寄存器(只寫)16位寄存器。用來存放DMA傳送的內(nèi)存起始地址。初始化時由CPU寫入,先寫低字節(jié),后寫高字節(jié)。在DMA傳輸過程中,基址寄存器的內(nèi)容保持不變。自動預置時,將它的內(nèi)容裝入當前地址寄存器。當前地址寄存器(可讀可寫)16位寄存器,用來存放DMA傳送的當前內(nèi)存地址值。每次DMA傳送后,其值自動增(減)1。其初值與基址寄存器相同,由CPU同時一并寫入。自動

58、預置時,傳輸結(jié)束后(EOP信號)其值重置為基地址。8237A-5 DMA通道內(nèi)部寄存器1063.4 DMA控制基字節(jié)寄存器(只寫)16位寄存器。用來存放DMA傳送的總字節(jié)數(shù) (傳N個字節(jié)時字節(jié)總數(shù)應為N-1)。初始化時由CPU寫入,先寫低字節(jié),后寫高字節(jié)。在DMA傳輸過程中,其保持不變。自動預置時,將它的內(nèi)容重新裝入當前字節(jié)寄存器。當前字節(jié)計數(shù)器(可讀可寫)16位寄存器,用來存放DMA傳送過程中沒有傳送完的字節(jié)數(shù)減1。每次傳送后該寄存器的值自動減1。若減到-1,則數(shù)據(jù)塊傳輸結(jié)束,EOP有效。其初值與基字節(jié)寄存器相同,由CPU同時一并寫入。自動預置時,傳輸結(jié)束后(EOP信號)其值重置為基字節(jié)數(shù)。

59、1053.4 DMA控制器基字節(jié)寄存器(只寫)1073.4 DMA控制器8237A-5 DMA通道公用寄存器(1) 工作方式寄存器 (只寫)1063.4 DMA控制器8237A-5 DMA通道公用寄存器1083.4 DMA控制D7、D6:設置工作方式。D5:指出每次DMA傳輸后地址寄存器的內(nèi)容是增1還是減1,它決定了在內(nèi)存中存儲數(shù)據(jù)或讀取數(shù)據(jù)的順序。D4:為1時對DMA進行自動預置。自動預置時,當完成一個DMA操作,EOP出現(xiàn)負脈沖,當前地址寄存器和當前字節(jié)寄存器會從基地址寄存器和基字節(jié)計數(shù)器中重新取得初值,從而為下一次數(shù)據(jù)傳輸做好準備。D3D2:設置數(shù)據(jù)傳輸類型。針對存儲器而言。D1D0:選

60、擇通道號。1073.4 DMA控制器D7、D6:設置工作方式。1093.4 DMA控制器例:PC系列軟盤讀寫操作選擇DMA通道2,單字節(jié)傳送,地址增1,不用自動預置,其寫、讀、校驗操作的方式字分別如下:寫操作:01000110 = 46H。讀操作:01001010 = 4AH。校驗操作:01000010 = 42H。1083.4 DMA控制器例:PC系列軟盤讀寫操作選擇DMA通道2,單字節(jié)傳送,地址增 (2) 命令寄存器(只寫)1093.4 DMA控制器 (2) 命令寄存器(只寫)1113.4 DMA控制器D7、D6:決定DREQ和DACK的有效電平。D5:滯后寫和擴展寫D5=1:滯后寫,表示

溫馨提示

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

最新文檔

評論

0/150

提交評論