計算機組成原理 第八章 輸入輸出系統(慕課學習筆記)

8.1 輸入輸出系統概述

1.輸入輸出系統的組成
外部設備、接口部件、總線以及相應的管理軟件統稱爲計算機的輸入/輸出系統,簡稱I/O系統

2.I/O系統的基本功能

  1. 完成計算機內部二進制信息與外部多種信息形式間的交流;
  2. 保證CPU能夠正確選擇輸入輸出設備並實現對其控制,傳輸大量數據、避免數據出錯 ;
  3. 利用數據緩衝、選擇合適的數據傳送方式等,實現主機與外設間速度的匹配。

3.I/O系統的特點

  1. 異步性:外圍設備相對於處理機通常是異步工作的;
  2. 實時性:當外圍設備與處理機交互時,由於設備的類型不同,它們的工作步調是不同的,處理機必須按照不同設備所要求傳送方式和傳輸速率不失時機地爲設備提供服務,這就要求實時性控制;
  3. 與設備無關性:各種外部設備必須根據其特點和要求選擇一種標準接口和處理機進行連接,它們之間的差別必須由設備本身的控制器通過硬件和軟件來填補;這樣,處理機本身無須瞭解外設的具體細節,可以採用統一的硬件和軟件對其管理。

4.輸入/輸出設備同CPU交換數據的過程
輸入過程:

  1. CPU把一一個地址值放在地址總線上,這一步將選擇某一輸入設備;
  2. CPU等候輸入設備的數據成爲有效;
  3. CPU從數據總線讀入數據,並放在一一個相應的寄存器中。
    輸出過程:
  4. CPU把一一個地址值放在地址總線上,選擇輸出設備;
  5. CPU把數據放在數據總線上;
  6. 輸出設備認爲數據有效,從而把數據取走。

5.I/O系統的性能
按照主要完成的工作可以分爲:存儲I/O(硬盤);通信I/O(網卡)
I/O系統的性能對CPU的性能有很大的影響,若兩者的性能不匹配,I/O系統就有可能成爲整個系統的瓶頸。

主要評價參數:

  1. 連接特性:哪些I/O設備可以和計算機系統相連接
  2. I/O系統的容量: I/O系統可以容納的I/O設備數
  3. 系統的響應時間:從用戶輸入命令開始,到得到結果所花費的時間;由I/O系統的響應時間和CPU的處理時間兩部分構成,單位通常用**秒(S )**表示。
  4. I/O的吞吐率:單位時間完成的I/O操作次數,單位通常用IOP表示。

8.2 輸入輸出方式

  1. 無條件I/O方式
  2. 程序控制I/O方式
  3. 中斷I/O方式
  4. DMA方式
  5. 通道方式
  6. I/O處理機方式

1、無條件I/O方式
在程序的適當位置直接安排I/O指令,當程序執行到這些I/O指令時,CPU默認外設始終是準備就緒的( I/O總是準備好接收CPU的輸出數據,或總是準備好向CPU輸入數據),無需檢查I/O的狀態,就進行數據的傳輸;
硬件接電路和軟件控制程序都比較簡單。輸入時,必須確保CPU執行I/O指令讀取數據時,外設已將數據準備好;輸出時,必須確保外部設備的數據鎖存器爲空,即外設已將上次的數據取走,等待接收新的數據,否則會導致數據傳送出錯,但一般的外設難以滿足這種要求。

2、程序控制I/O方式
一種早期計算機採用的輸入/輸出方式,數據在計算機和外設之間的傳送全部靠計算機程序控制;計算機執行I/O指令時,先獲取外設狀態,並根據外設的狀態決定下一步操作
程序查詢的I/O原理

  1. 程序先向I/O設備發出I/O命令字;
  2. 讀取I/O設備工作狀態信息ic
  3. 檢查狀態字中的標誌,看是否可以進行數據交換;
  4. 若設備未準備就緒,則返回到上步,重複查詢;否則,發出設備準備就緒信號;
  5. CPU與I/O接口的數據緩衝寄存器進行數據交換,與此同時,將接口中的狀態標誌復位。

程序查詢流程圖

設備狀態字寄存器
◆用來標誌設備的工作狀態,以便接口對外部設備進行監視。
◆CPU通過程序查詢設備狀態位來判斷設備的狀態。
◆因此,設備狀態寄存器是設備對主機的窗口,主機通過它瞭解設備的狀態,並對設備設置操作方式。
◆設備狀態寄存器又叫**設備狀態字( DSW )**是設備所有狀態的集合,每種狀態均用一個觸發器來表示。

程序控制/O方式特點: 何時對何設備進行輸入輸出操作完全受CPU控制,外圍設備與CPU處於異步工作關係,數據的輸入/輸出都要經過CPU.

優點:計算機和外設間能夠同步,控制簡單,硬件簡單
缺點:CPU的大量時間用來查詢外設的狀態

3、中斷I/O方式
當外設準備好後,主動通知CPU並進行接收或輸出數據的方法;

CPU接到外設的通知後暫停現行的工作,轉入中斷服務程序,和外設交換數據,
等中斷程序處理完畢後,再返回到被中斷的原程序中繼續以前被暫停的工作。

優點:節約CPU時間,實時性好。
缺點:控制電路相對複雜,服務開銷較大(現場和斷點的保護)。
應用場合:實時性要求高,且數據傳輸量又不大的場合。

4、DMA方式
是一種完全由硬件執行的I/O交換方式

當外設準備好後,通知DMA控制器,DMA控制器從CPU接管總線,並完成外
設和內存之間的大量數據傳輸;傳輸完成後DMA控制器將總線控制權交還給
CPU,整個數據交換的過程不需要CPU參與

優點:既有中斷的優點,同時又降低了服務開銷
缺點:控制電路更加複雜

5、通道和I/O處理機方式
在複雜的計算機系統中,外圍設備的臺數一般比較多,設備的種類、工作方式和工作速度的差別很大,爲了把對外圍設備的管理工作從CPU中分離出來,採用通道或I/O處理機方式。

通道是能夠專執行1/O指令的處理機,它可以實現對外圍設備的統一管理,以及外設與主存之間的數據傳輸。

I/O處理機是通道方式的進一步發展 ,它的結構更接近於一般處理機。

8.3 中斷請求與響應

中斷:是指CPU在正常運行程序時,由於內部/外部事件(或由程序)引起CPU中斷正在運行的程序,而轉到爲中斷事件服務的程序中去,服務完畢,再返回執行原程序的這一過程。(具有隨機性)

中斷作用(故障處理、實時處理)
實現主機與外設之間的並行工作
故障處理:中斷系統能使計算機在運行過程中出現故障的時候,調用相應的中斷服務程序處理故障。

在這裏插入圖片描述

內部中斷:來自CPU內部
外部中斷:來自CPU外部
不可屏蔽中斷NMI :由系統內部硬件引發的中斷,優先級高於外部硬件中斷,且不受中斷允許標誌位的影響,所以是不可屏蔽中斷。
可屏蔽中斷:由外設通過中斷請求線向處理器申請而產生的中斷,處理器可以用指令來屏蔽(禁止),, 即不響應它的中斷請求。

中斷系統的基本功能:
1、中斷請求信號的保持與清除(硬件實現)
在這裏插入圖片描述

2、中斷源的識別
中斷號:是系統分配給每個中斷源的代號,以便識別和處理。
中斷號的獲取:CPU對系統中不同類型的中斷源,獲取它們的中斷號的方法不同。

3、中斷控制
中斷觸發方式:是指外設以什麼邏輯信號去申請中斷,即邊沿觸發和電平觸發兩種方式
中斷排隊方式:(多箇中斷源發送中斷請求,需要中斷排隊)處理器按“優先級高的先服務”

按優先級排隊:根據任務的輕重緩急,給每個中斷源指定CPU響應的優先級,任務緊急的先響應,可以暫緩的後響應。
循環輪流排隊:不分級別高低, CPU輪流響應各個中斷源的中斷請求。

中斷嵌套:
》當CPU正在處理某個中斷時,會出現優先級更高的中斷源申請中斷;爲了使更緊急的、級別更高的中斷源及時得到服務,需要暫時打斷(掛起)當前正在執行的中斷服務程序,去處理級別更高的中斷請
求,處理完成後再返回被打斷了的中斷服務程序繼續執行。
》但級別相同或級別低的中斷源不能打斷級別高的中斷服務,這就是所謂的中斷嵌套。
》可屏蔽中斷可以進行中斷嵌套。NMI不可以進行中斷嵌套。

中斷屏蔽:
》處理器用指令來控制中斷屏蔽觸發是的狀態,從而控制是否接受某個特殊外設的中斷請求。
》處理器內部也有一箇中斷允許觸發器,只有當其爲"1”( 即開中斷),CPU才能響應外部中斷。

4.中斷優先級
硬件響應優先序:未被屏蔽的幾個中斷源同時提出申請時,CPU選擇服務對象的順序由硬件電路實現,用戶不能修改。
軟件服務優先序:在各中斷服務程序開頭,用軟件設置自己的中斷屏蔽字,以此改變實際服務順序。

5、中斷的處理
中斷響應週期:當CPU收到外設的中斷請求後,如果當前一條指令已執行完,且允許中斷CPU進入中斷響應週期,發出中斷應答信號完成一箇中斷響應週期。
中斷響應:讀取中斷源的中斷號,完成中斷申請與中斷響應的握手過程。
中斷處理:

  1. 標誌位的處理與斷點保存:處理器獲得外部中斷源的中斷號後,保存斷點(返回地址) , 關閉中斷保護現場。
  2. 向中斷服務程序轉移並執行中斷服務程序
  3. 返回斷點:中斷服務程序執行完畢後,恢復斷點和現場,要返回主程序。

在這裏插入圖片描述
在這裏插入圖片描述

8.4 DMA方式

數據的傳送不經過CPU ,由DMA控制器(DMAC)實現內存和外設、外設和外設之間的直接快速傳送。(用於需要高速大批量數據傳送的系統)

DMA控制器作爲主設備之一:
在這裏插入圖片描述
DMA控制器與IO接口集成:
在這裏插入圖片描述
DMA控制器提供專門IO總線:
在這裏插入圖片描述

DMAC的兩種工作狀態:
被動態(受控器) : 未取得總線控制權,受CPU的控制。
主動態(主控器) :接管並取得總線控制權,取代CPU而成爲系統的主控者。

DMA傳輸步驟:

申請階段: 一個設備接口試圖通過總線直接向另個設備發送數據(一般是大批量的數據) ,它會先向CPU發送DMA請求信號;
響應階段: CPU收到DMA請求信號後,在當前的總線週期結束後,會按DMA信號的優先級和提出DMA請求的先後順序響應DMA信號
數據傳送階段: CPU對某個設備接口響應DMA請求時會讓出總線控制權;於是在DMA控制器的管理下,外設和存儲器直接進行數據交換,而不需CPU干預;
傳送結束階段: 數據傳送完畢後,設備接口會向CPU發送DMA結束信號,交還總線控制權。

DMA操作類型:

數據傳送:把源地址的數據傳輸到目的地址去(存儲器或I/O )。
數據校驗:不進行數據傳輸,只對數據塊內部的每個字節進行某種校驗;這種數據校驗一般安排在讀數據塊之 後,以便校驗所讀的數據是否有效。
數據檢索:不進行數據傳輸,只是在指定的內存區域內查找某個關鍵字節或某幾個數據位是否存在。

DMA操作方式:

單字節傳輸模式:每次DMA操作傳送一個字節後 ,接着釋放總線。
塊傳輸模式:連續傳送多個字節,每傳輸一一個字節,當前字節計數器減1,當前地址寄存器加1或減1 , 直到所要求的字節數傳輸完(當前字節計數器減至0 ) ,然後釋放總線。
請求傳輸模式: DMA控制器要詢問外設,當外設請求信號無效時暫停傳輸(不釋放總線) ;當請求信號再次有效後,繼續進行傳輸。
級聯傳輸模式:多片DMA控制器級聯,構成主從式DMA系統。

請求傳輸模式

1、停止CPU訪問內存
當需要傳送一批數據時, DMA控制器首先要求CPU放棄對總線的控制權;然後開始進行數據傳送。在一批
數據傳送完畢後, DMA控制器通知CPU可以使用內存並把總線控制權交還給CPU。

在這種DMA傳送過程中, CPU基本處於不工作狀態或者說保持狀態。

優點:
控制簡單,它適用於數據傳輸率很高的設備進行成組傳送。
缺點:
在DMA控制器訪內存階段,內存的效能沒有充分發揮,相當一部分內存工作週期是空閒的。這是因爲,傳送兩個數據之間的間隔一般總是大於內存存儲週期,即使高速I/O設備也是如此。

2、週期挪用:

當I/O設備沒有DMA請求時,CPU按程序要求訪問內存;一旦I/O設備有DMA請求,則由I/O設備挪用一個或幾個內存週期。

I/O設備要求DMA傳送時可能遇到兩種情況:
1、當CPU不需要訪內時,此時I/O訪內與CPU訪內沒有衝突,即
I/O設備挪用一二個內存週期對CPU執行程序沒有任何影響 ;
2、CPU也同時要求訪問內存,這就產生了訪存衝突,在這種情況
I/O設備訪存優先

優點:
既實現了I/O傳送,又較好地發揮了內存和CPU的效率,是一種廣泛採用的方法。
缺點:
I/O設備每一次週期挪用都有申請、建立、歸還總線控制權的過程,所以傳送一個字對內存來說要 佔用一個週期,但對DMA控制器來說一般要2 5個內存週期;因此,週期挪用方法適用於I/O設備讀寫週期大於內存存儲週期的情況。

3、DMA與CPU交替訪存:(透明的DMA方式)
如果CPU的工作週期比內存存取週期長很多,此時採用交替訪存的方法,可以使DMA傳送和CPU同時發揮最高的效率。

優點:
這種方式不需要總線使用權的申請、建立和歸還過程,總線使用權是通過分時進行的,這種總線控制權的轉移幾乎不需要什麼時間,所以對DMA傳送來講效率是很高的。
缺點:
硬件邏輯複雜

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章