




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
湖南大學計算機與通信學院1第十章輸入輸出結構10.1異步數據傳輸10.2可編程I/O10.3中斷10.4直接存儲器訪問10.5I/O處理器10.6串行通信10.7實例:串行通信標準湖南大學計算機與通信學院2為了有效地執行功能,計算機除了能實現與存儲器的交互,還應能與外部世界和設備交互信息,所有這些與計算機進行交互的設備可以歸類為輸入輸出設備(I/O設備)舉例:輸入設備:鍵盤、鼠標、掃描儀輸出設備:顯示器、打印機輸入/輸出設備:硬盤、調制調解器湖南大學計算機與通信學院3第十章輸入輸出結構10.1異步數據傳輸10.2可編程I/O10.3中斷10.4直接存儲器訪問10.5I/O處理器10.6串行通信10.7實例:串行通信標準湖南大學計算機與通信學院4輸入/輸出設備通過系統的地址總線、數據總線、控制總線和CPU相連(如圖10.1)圖10.1CPU與I/O設備的連接地址總線:單向數據總線:單/雙控制總線:單向湖南大學計算機與通信學院5根據是源還是目的設備啟動傳送以及是否使用握手,異步數據傳送可分為四種不帶握手的源啟動數據傳送不帶握手的目的啟動數據傳送帶握手的源啟動數據傳送帶握手的目的啟動數據傳送湖南大學計算機與通信學院610.1.1源啟動數據傳送源設備輸出數據選通控制信號并維持一段時間目的設備讀入數據源設備使控制信號和數據無效圖10.2不帶握手的源啟動數據傳送(a)時序湖南大學計算機與通信學院7實現源數據傳送更新LED的電路如圖10.2(b)
每隔30秒,源設備向輸出設備發送一個新值,輸出設備將此值存貯于一個8位寄存器中;寄存器的輸出轉換成相應的信號,在LED上顯示兩位數字。
圖10.2不帶握手的源啟動數據傳送:(b)實現湖南大學計算機與通信學院810.1.1目的啟動的數據傳送目的設備傳輸選通信號給源設備一段時間后源設備使數據有效,并將數據穩定一段時間目的設備讀入數據后置數據選通信號無效源設備停止傳輸有效數據圖10.3不帶握手的目的啟動數據傳送(a)時序湖南大學計算機與通信學院9實現目的數據傳送更新LED的電路如圖10.3(b)
圖10.3不帶握手的目的啟動數據傳送:(b)實現當30秒時鐘信號為高時,數據選通信號置1,選通三態緩沖器,使源設備傳輸有效數據,一個規定的延遲確保數據穩定后,目的寄存器讀取數據,然后時鐘信號為低,數據選通信號無效,有效數據不能傳輸。
湖南大學計算機與通信學院1010.3.1握手不帶握手的數據傳送無需確認數據收到,適合于在規定的時間內傳送。當每次傳送所花費的時間不同時,設備可采用握手(handshaking)方式來協調數據傳送。
湖南大學計算機與通信學院11帶握手的源啟動數據傳送源設備置數據請求信號為高,然后使有效數據可用數據穩定后,目的設備讀取此數據目的設備讀完數據,就發送一個數據確認信號給源設備源設備停止傳輸有效數據,目的設備復位數據確認信號圖10.4帶握手的源啟動數據傳送(a)時序湖南大學計算機與通信學院12圖10.4帶握手的源啟動數據傳送:(b)實現當30秒時鐘為高時,數據請求觸發器置1;數據請求信號也置1,并依次選通三態緩沖器,使有效數據對目的設備可用。經一段延遲后,目的設備讀取此數據并向源設備發送數據確認信號。清除數據請求觸發器,置數據請求信號為低并使數據無效。最后數據確認信號置低。湖南大學計算機與通信學院13帶握手的目的啟動數據傳送目的設備傳輸一個數據選通信號,源設備使有效數據可用數據穩定后,目的設備讀取此數據目的設備讀完數據,就發送一個數據準備就緒信號給源設備源設備停止傳輸有效數據,目的設備復位數據準備就緒信號圖10.5帶握手的目的啟動數據傳送(a)時序湖南大學計算機與通信學院14圖10.5帶握手的目的啟動數據傳送:(a)時序和(b)實現湖南大學計算機與通信學院15第十章輸入輸出結構10.1異步數據傳輸10.2可編程I/O10.3中斷10.4直接存儲器訪問10.5I/O處理器10.6串行通信10.7實例:串行通信標準湖南大學計算機與通信學院16可編程I/O(programmedI/O)
用指令編程來控制CPU輸入或輸出數據。可編程I/O的編址方式
獨立編址
有專門的指令訪問I/O端口 存儲器編址
把I/O端口視為存儲器的一個單元,采 用存儲器存取指令即可訪問它們湖南大學計算機與通信學院17
相對簡單CPU,其結構不能采用獨立的I/O方式,但可利用存儲器編址I/O方式例:執行指令LDACFFFF為了實現此I/O端口,設計硬件如圖10.6圖10.6地址為FFFFH的輸入端口當地址總線上的值為FFFFH,控制信號READ=1時,三態緩沖器才選通
湖南大學計算機與通信學院18
用相對簡單的CPU設計自動調溫器,它控制房間的加熱和制冷系統,它可能執行下列操作:由外部傳感器讀取溫度;如果(溫度≥自動調溫器的設置溫度+2°),則打開空調;如果(溫度≤自動調溫器的設置溫度且空調打開),則關空調;如果(溫度≤自動調溫器的設置溫度-2°),則打開加熱器;如果(溫度≥自動調溫器的設置溫度且加熱器打開),則關加熱器;返回至1。湖南大學計算機與通信學院19CPU從存儲器編址輸入端口地址FFFFH中讀取當前溫度CPU從端口地址FFFEH中獲取調溫器的設定溫度CPU向地址為FFFDH的輸出端口中寫入下面的值,以控制加熱器和空調系統。
01=打開空調 02=關閉空調
03=打開加熱器 04=關閉加熱器4.當前狀態存貯于存儲單元1000H中
00=加熱器和空調均關閉FF=加熱器打開FE=空調打開
湖南大學計算機與通信學院20系統控制程序的算法如圖10.7所示
圖10.7自動調溫器控制算法湖南大學計算機與通信學院2110.2.1新指令為了修改相對簡單CPU以支持獨立的I/O方式:必須在CPU指令集中增加輸入、輸出指令;產生必要的新控制信號;在狀態圖中增加新狀態;開發RTL代碼支持新狀態;修改寄存器、ALU和控制單元硬件來支持新的指令;湖南大學計算機與通信學院22
增加兩條新指令:一條輸入數據、一條輸出數據。如表10.1所示指令指令碼操作INPT00100000ΓAC←輸入端口ΓOTPT00100001Γ輸出端口Γ←AC表10.1相對簡單CPU的獨立I/O指令湖南大學計算機與通信學院23
增加一個新控制信號IO,IO=1時為I/O操作,IO=0時為存儲器操作
新狀態圖10.8實現INPT指令執行周期的狀態RTL代碼INPT1:DR←M,PC←PC+1,AR←AR+1INPT2:TR←DR,DR←M,PC←PC+1INPT3:AR←DR,TRINPT4:DR←輸入端口INPT5:AC←DR
湖南大學計算機與通信學院24硬件的修改
(1)修改寄存器; (2)修改ALU;
(3)修改控制單元
圖10.9產生INPT執行周期的狀態信號的硬件湖南大學計算機與通信學院25
計數器控制信號修改:
INC=(INC原有值)∨INPT1∨INPT2∨INPT3∨INPT4 CLR=(CLR原有值)∨INPT5組合INPT1狀態所需進行的修改:DRLOAD=(DRLOAD原有值)∨INPT1MEMBUS=(MEMBUS原有值)∨INPT1PCINC=(PCINC原有值)∨INPT1ARINC=(ARINC原有值)∨INPT1設定為IO=INPT4存儲器讀=READ∧IOˊ
湖南大學計算機與通信學院26第十章輸入輸出結構10.1異步數據傳輸10.2可編程I/O10.3中斷10.4直接存儲器訪問10.5I/O處理器10.6串行通信10.7實例:串行通信標準湖南大學計算機與通信學院2710.3.1CPU和I/O設備之間的數據傳送解決I/O設備變化延遲查詢(polling)
中斷(interrupt) 減少由不確定性造成的延遲, 優化系統性能的一種機制湖南大學計算機與通信學院28查詢(polling)CPUI/O傳送數據請求信號準備好沒有?湖南大學計算機與通信學院29考察計算機系統的一個輸入設備
CPU通過向I/O地址1001H中輸出01H值,啟動一個請求然后不斷查詢輸入端口1002H直至其最低位置1繼后CPU從輸入端口1000H中讀取數據圖10.10采用查詢方式實現I/O端口的硬件湖南大學計算機與通信學院30查詢方式在設計和編程方面都相對直觀,常用于CPU負荷不很重的情況
不適合對于CPU時間很寶貴的系統等待狀態(waitstate)
處理器向I/O設備請求數據(或發送數據給I/O設備),I/O設備經控制總線向CPU發送一個等待信號。只要等待信號有效,CPU就一直處于等待狀態湖南大學計算機與通信學院31中斷請求(interruptrequest)
當I/O設備采用中斷方式時,CPU在向I/O設備輸出請求后,能夠繼續執行指令,完成有用的工作,而無需查詢設備或進入等待狀態
設備準備傳輸數據時,它向CPU發送中斷請求信號
CPU響應中斷,置中斷響應信號有效,完成數據傳輸湖南大學計算機與通信學院3210.3.2中斷類型外部中斷
CPU采用外部中斷與輸入/輸出設備進行交互
內部中斷
內部中斷完全發生在CPU內部,沒有任何輸入/輸出設備介入軟中斷
由CPU指令集中的特定中斷指令產生
湖南大學計算機與通信學院3310.3.3中斷處理中斷服務程序:處理中斷工作的服務軟件
一對一或一對多 一個中斷服務程序對應一個中斷 一個中斷服務程序對應多個中斷湖南大學計算機與通信學院34
不管是一個還是多個中斷服務程序的配置方式,每個中斷都執行下列事件無操作(直至當前指令執行完)獲取中斷服務程序地址(僅向量型中斷)調用中斷服務程序
湖南大學計算機與通信學院35考察相對簡單CPU的LDAC指令的執行周期:無操作(直至當前指令執行完)LDAC1:DR←M,PC←PC+1,AR←AR+1發生中斷……LDAC2:TR←DR,DR←M,PC←PC+1LDAC3:AR←DR,TRLDAC4:DR←MLDAC5:AC←DR如果執行周期完成后產生中斷,則僅需保存PC的內容否則必須保存CPU內部寄存器內容和控制單元的狀態信息
湖南大學計算機與通信學院36獲取中斷服務程序地址(僅向量型中斷)向量中斷
向CPU提供中斷向量,此中斷向量用于產生該中斷的中斷服務程序的地址
非向量中斷
非向量中斷在一個已知地址處讀取中斷服務程序
湖南大學計算機與通信學院37調用中斷服務程序阻止任何進一步的中斷3.確保返回主程序前所有相關的寄存 器保存原有值 2.清除當前中斷,避免一個中斷請求 觸發多于一個的中斷湖南大學計算機與通信學院3810.3.4中斷硬件和優先級非向量中斷(單個設備)圖10.11單個設備的非向量中斷(a)硬件(b)時序可用于簡單嵌入式控制器
湖南大學計算機與通信學院39向量中斷 CPU必須從設備中讀取中斷向量,調用中斷服務程序,程序的地址是該向量的一個函數圖10.12單個設備的向量中斷(a)硬件(b)時序在這種結構中如果在中斷響應前,設備取消IRQ會發生什么?湖南大學計算機與通信學院40非向量中斷(多個中斷)圖10.13多個非向量中斷的硬件每個設備均有自己的IRQ和IACK信號他們的優先級是預定的,IRQn優先級最高CPU首先響應和服務優先級最高的中斷湖南大學計算機與通信學院41向量中斷(菊花鏈方法)菊花鏈:用于多中斷優先權排隊的一種方法圖10.14菊花鏈設備發出中斷請求信號CPU發出中斷響應信號設備n#接受IACK信號IACK=1?IACK=0CPU讀入中斷向量/調用程序一種可能的處理過程IACK=0/傳給其他設備YN湖南大學計算機與通信學院42IACKIN和IACKOUT所有的可能值、狀態IACKinIACKout狀態11設備有權中斷但未發送中斷請求10設備中斷CPU01無效狀態00設備的中斷請求被優先權更高的設備阻塞(設備可能或沒有發送中斷請求)表10.2IACKIN和IACKOUT的可能值及其狀態湖南大學計算機與通信學院43并行優先權排隊
菊花鏈將引起硬件延遲,特別是當鏈較長時,延遲就更大
通過一個優先權編碼器采用并行優先權排隊(parallelpriority)方式實現向量中斷,減少延遲
湖南大學計算機與通信學院44圖10.15并行方式實現優先級中斷防止干擾信號湖南大學計算機與通信學院4510.3.5CPU內部實現中斷例:相對簡單CPU處理中斷的過程添加一個IRQ輸入引腳,其響應信號傳至IACK輸出引腳添加新指令LDSP、PUSHAC等識別中斷并訪問此中斷處理的狀態訪問中斷服務程序湖南大學計算機與通信學院46指令指令碼操作LDSP10000000ΓSP←ΓCALL10000010ΓSP←SP-1;M[SP]←PC[15..8],SP←SP-1;M[SP]←PC[7..0],PC←ΓRET10000011PC[7..0]←M[SP],SP←SP+1;PC[15..8]←M[SP],SP←SP+1PUSHAC10000100SP←SP-1;M[SP]←ACPOPAC10000101AC←M[SP],SP←SP+1PUSHR10000110SP←SP-1;M[SP]←RPOPR10000111R←M[SP],SP←SP+1IESET01000000IE←1IERST01000001IE←0IPRST01000010IP←0表10.3相對簡單CPU的新指令湖南大學計算機與通信學院47識別中斷并訪問此中斷處理的狀態方法一方法二圖10.16兩種訪問中斷服務程序的方法(b)修改FETCH1支持中斷(a)采用分離的FETCH1狀態和INT1狀態(IE′∨IP′)∧FETCH1IE∧IP∧FETCH1湖南大學計算機與通信學院48訪問中斷服務程序(部分)INT1:AR←SPINT2:DR←PC[15..8],SP←SP-1INT3:M←DR,AR←AR-1,SP←SP-1INT4:DR←PC[7..0]INT5:M←DRINT6:DR←(數據總線來的向量)INT7:PC←1111,DR,0000,IP←0湖南大學計算機與通信學院49第十章輸入輸出結構10.1異步數據傳輸10.2可編程I/O10.3中斷10.4直接存儲器訪問10.5I/O處理器10.6串行通信10.7實例:串行通信標準湖南大學計算機與通信學院50直接存儲器訪問(DMA)
數據直接在I/O設備與存儲器之間傳送
DMA控制器(通道)實現直接存儲器訪問湖南大學計算機與通信學院51圖10.17帶有DMA的計算機系統DMA控制器CPU置BR=1,發送總線請求置BG=1,發送總線允許湖南大學計算機與通信學院52DMA控制器CPU置BR=0,發送取消請求置BG=0,發送取消允許當數據傳輸完成,DMA交回控制權湖南大學計算機與通信學院53DMA內部結構
圖10.18DMA控制器的內部結構湖南大學計算機與通信學院54DMA控制器包括多個寄存器DMA地址寄存器
存貯數據傳輸過程中需用到的存儲器地址
DMA計數寄存器
保存傳輸數據的字節數
DMA控制寄存器
從CPU中接受命令
狀態寄存器
向CPU提供信息
湖南大學計算機與通信學院55超時
:I/O設備在某個預定的時間內沒有準備就緒
湖南大學計算機與通信學院5610.4.2DMA傳輸方式突發方式 在突發方式中,整個數據塊連續傳輸周期竊取方式 連續地獲取和放棄系統總線控制權來傳輸透明方式
DMA利用空閑時間傳輸數據湖南大學計算機與通信學院5710.4.3修改CPU使其與DMA共處為了使CPU能與DMA控制器共同工作增加控制輸入信號BR和控制輸出信號BG產生BG的邏輯電路
CPU允許在以下狀態接受DMA的請求:
取指令后、譯碼后、取操作數后、指令執行完后、結果保存后
湖南大學計算機與通信學院58對BG的操作
如果BR=1且CPU處于FETCH1狀態,則CPU置BG為1;CPU將保持FETCH1狀態直至BR置0 BR∧FETCH1:BG←1
如果BR=0,則CPU置BG為0且執行與FETCH1狀態相關的其它微操作
BR′∧FETCH1:BG←0,(FETCH1的微操作)湖南大學計算機與通信學院59實現BG的硬件圖10.19BG的硬件實現狀態圖所需的修改
圖10.20修改狀態圖接納BR和BG湖南大學計算機與通信學院60第十章輸入輸出結構10.1異步數據傳輸10.2可編程I/O10.3中斷10.4直接存儲器訪問10.5I/O處理器10.6串行通信10.7實例:串行通信標準湖南大學計算機與通信學院61DMA控制器
僅能傳輸數據
I/O處理器
與CPU交互,處理由I/O設備讀出后數據 可連接多個I/O設備
I/O設備連接至I/O總線上,而不是系統總線上
湖南大學計算機與通信學院62圖10.21帶I/O處理器的系統結構湖南大學計算機與通信學院63
CPU向I/O處理器發送一系列I/O指令,而不象處理DMA那樣將值存于寄存器中,指令分為三類:
塊傳送命令2.執行算術、邏輯、和分支操作的命令3.控制命令
傳輸數據塊,類似于DMA數據塊傳輸有助于處理數據以便使數據能為CPU所用
通常是硬件相關并對計算機系統功能的正確發揮十分關鍵湖南大學計算機與通信學院64一個I/O處理器的系列命令能執行許多連續的I/O傳送,考慮以下任務:1、從端口地址9000H的磁盤驅動器處讀取247字節的數據,寫入起始地址為1000H的存儲器中;2、從地址為9001H的輸入端口讀取1字節數據寫入CPU的累加器中;3、將內存單元2000H至207FH的內容寫至I/O地址為9002H的打印機上。
帶DMA控制器而沒有I/O處理器的系統首先將數據寫入DMA控制器的寄存器中,并啟動傳輸,等待它完成。然后它從地址為9001H的I/O端口輸入1字節數據。最后為打印數據塊啟動第二個DMA傳送。 而在帶I/O處理器的系統中,CPU將執行三個任務所需的命令寫入存儲器的一個連續塊中,并將塊的指針給I/O處理器,從而減少了建立傳輸的開銷。湖南大學計算機與通信學院65第十章輸入輸出結構10.1異步數據傳輸10.2可編程I/O10.3中斷10.4直接存儲器訪問10.5I/O處理器10.6串行通信10.7實例:串行通信標準湖南大學計算機與通信學院66并行通信:同一時間內傳輸多位數據
DMA控制器和I/O處理器都采用并行通信串行通信:在給定的時間內不能傳輸多位數 據,傳輸數據要通過并串轉換
打印機、MODEM等通過串口與CPU通信異步串行通信:連接的設備不共用同一時鐘并且需同時傳輸數據
同步串行傳輸
:以幀(frame)的形式傳輸數據塊,幀中包括傳輸信息頭、數據和傳輸信息尾湖南大學計算機與通信學院6710.6.1串行通信原理
兩個設備采用異步串行傳輸通信時,他們不共用同一時鐘。必須采用許多措施同步數據流因而事先就一些傳輸參數達成一致
速度:比特/秒-----每秒位數奇偶校驗位
起始位停止位
一些基本參數湖南大學計算機與通信學院68
圖10.22顯示了傳輸兩字節數據及其傳輸間隔中傳輸線的值,此系統采用許多調制解調器傳輸時的典型設置N81:即沒有奇偶位、八位數據位和一位停止位
圖10.22兩字節數據的傳輸實例12345678開銷達到整
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 4215-2022耐鹽綠肥輪作及高效利用技術規程
- DB32/T 4157-2021專利申請預審規范
- DB32/T 4121-2021耕地鎘污染土壤修復效果評價規程
- DB32/T 3991-2021“紫金四季”草莓組培快繁技術規程
- DB32/T 3889-2020河灘冬青組織培養技術規程
- DB32/T 3717-2020產品質量風險監測工作規范
- DB32/T 3522.5-2019高速公路服務規范第5部分:公共信息服務
- DB31/T 999.5-2016網上政務大廳接入技術規范第5部分:統一編碼規則及獲取
- DB31/T 937-2015基于車載的實時交通信息應用服務規范
- DB31/T 857-2014家具經營服務規范
- 人教版八年級英語下冊Unit 9 Section A單詞詞匯課件
- 國家開放大學2025年《創業基礎》形考任務2答案
- 兒童支氣管哮喘診斷與防治指南(2025)解讀
- 無人機吊運材料的安全管理要求
- API RP 5A3-2023 套管、油管和管線管的螺紋脂推.薦方法
- 感染病例上報制度與流程
- 民事起訴狀(機動車交通事故責任糾紛)
- 黃岡市 2025年春季九年級調研考試物理試題
- 《重大隱患判定標準解讀》
- 疊杯培訓課件
- INS+2024指南更新要點解讀
評論
0/150
提交評論