中斷、DMA、通道(轉自http://www.exam100.com/)

一、輪詢方式   對I/O設備的程序輪詢的方式,是早期的計算機系統對I/O設備的一種管理方式。它定時對各種設備輪流詢問一遍有無處理要求。輪流詢問之後,有要求的,則加以處理。在處理I/O設備的要求之後,處理機返回繼續工作。   儘管輪詢需要時間,但輪詢不比I/O設備的速度要快得多,所以一般不會發生不能及時處理的問題。   當然,再快的處理機,能處理的輸入輸出設備的數量也是有一定限度的。而且,程序輪詢畢竟佔據了CPU相當一部分處理時間,因此程序輪詢是一種效率較低的方式,在現代計算機系統中已很少應用。

二、中斷方式   處理器的高速和輸入輸出設備的低速是一對矛盾,是設備管理要解決的一個重要問題。爲了提高整體效率,減少在程序直接控制方式中CPU之間的數據傳送,是很必要的。   在I/O設備中斷方式下,中央處理器與I/O設備之間數據的傳輸步驟如下:   ⑴在某個進程需要數據時,發出指令啓動輸入輸出設備準備數據   ⑵在進程發出指令啓動設備之後,該進程放棄處理器,等待相關I/O操作完成。此時,進程調度程序會調度其他就緒進程使用處理器。   ⑶當I/O操作完成時,輸入輸出設備控制器通過中斷請求線向處理器發出中斷信號,處理器收到中斷信號之後,轉向預先設計好的中斷處理程序,對數據傳送工作進行相應的處理。   ⑷得到了數據的進程,轉入就緒狀態。在隨後的某個時刻,進程調度程序會選中該進程繼續工作。   中斷方式的優缺點   I/O設備中斷方式使處理器的利用率提高,且能支持多道程序和I/O設備的並行操作。   不過,中斷方式仍然存在一些問題。首先,現代計算機系統通常配置有各種各樣的輸入輸出設備。如果這些I/O設備都同過中斷處理方式進行並行操作,那麼中斷次數的急劇增加會造成CPU無法響應中斷和出現數據丟失現象。   其次,如果I/O控制器的數據緩衝區比較小,在緩衝區裝滿數據之後將會發生中斷。那麼,在數據傳送過程中,發生中斷的機會較多,這將耗去大量的CPU處理時間。

三、直接內存存取(DMA)方式   直接內存存取技術是指,數據在內存與I/O設備間直接進行成塊傳輸。   DMA技術特徵   DMA有兩個技術特徵,首先是直接傳送,其次是塊傳送。   所謂直接傳送,即在內存與IO設備間傳送一個數據塊的過程中,不需要CPU的任何中間干涉,只需要CPU在過程開始時向設備發出“傳送塊數據”的命令,然後通過中斷來得知過程是否結束和下次操作是否準備就緒。   DMA工作過程   ⑴當進程要求設備輸入數據時,CPU把準備存放輸入數據的內存起始地址以及要傳送的字節數分別送入DMA控制器中的內存地址寄存器和傳送字節計數器。   ⑵發出數據傳輸要求的進行進入等待狀態。此時正在執行的CPU指令被暫時掛起。進程調度程序調度其他進程佔據CPU。   ⑶輸入設備不斷地竊取CPU工作週期,將數據緩衝寄存器中的數據源源不斷地寫入內存,直到所要求的字節全部傳送完畢。   ⑷DMA控制器在傳送完所有字節時,通過中斷請求線發出中斷信號。CPU在接收到中斷信號後,轉入中斷處理程序進行後續處理。   ⑸中斷處理結束後,CPU返回到被中斷的進程中,或切換到新的進程上下文環境中,繼續執行。   DMA與中斷的區別   ⑴中斷方式是在數據緩衝寄存器滿之後發出中斷,要求CPU進行中斷處理,而DMA方式則是在所要求傳送的數據塊全部傳送結束時要求CPU 進行中斷處理。這就大大減少了CPU進行中斷處理的次數。   ⑵中斷方式的數據傳送是在中斷處理時由CPU控制完成的,而DMA方式則是在DMA控制器的控制下,不經過CPU控制完成的。這就排除了CPU因並行設備過多而來不及處理以及因速度不匹配而造成數據丟失等現象。   DMA方式的優缺點   在DMA方式中,由於I/O設備直接同內存發生成塊的數據交換,因此I/O效率比較高。由於DMA技術可以提高I/O效率,因此在現代計算機系統中, 得到了廣泛的應用。許多輸入輸出設備的控制器,特別是塊設備的控制器,都支持DMA方式。   通過上述分析可以看出,DMA控制器功能的強弱,是決定DMA效率的關鍵因素。DMA控制器需要爲每次數據傳送做大量的工作,數據傳送單位的增大意味 着傳送次數的減少。另外,DMA方式竊取了始終週期,CPU處理效率降低了,要想盡量少地竊取始終週期,就要設法提高DMA控制器的性能,這樣可以較少地 影響CPU出理效率。

四、通道方式   輸入/輸出通道是一個獨立於CPU的,專門管理I/O的處理機,它控制設備與內存直接進行數據交換。它有自己的通道指令,這些通道指令由CPU啓動,並在操作結束時向CPU發出中斷信號,見圖6-3。   輸入/輸出通道控制是一種以內存爲中心,實現設備和內參內直接交換數據的控制方式。在通道方式中,數據的傳送方向、存放數據的內存起始地址以及傳送的數據塊長度等都由通道來進行控制。   另外,通道控制方式可以做到一個通道控制多臺設備與內存進行數據交換。因而,通道方式進一步減輕了CPU的工作負擔,增加了計算機系統的並行工作程度。   輸入/輸出通道分類   按照信息交換方式和所連接的設備種類不同,通道可以分爲以下三種類型:   ⑴字節多路通道   它適用於連接打印機、終端等低速或中速的I/O設備。這種通道以字節爲單位交叉工作:當爲一臺設備傳送一個字節後,立即轉去爲另一它設備傳送一個字節。   ⑵選擇通道   它適用於連接磁盤、磁帶等高速設備。這種通道以“組方式”工作,每次傳送一批數據,傳送速率很高,但在一段時間只能爲一臺設備服務。每當一個I/O請求處理完之後,就選擇另一臺設備併爲其服務。   ⑶成組多路通道   這種通道綜合了字節多路通道分時工作和選擇通道傳輸速率高的特點,其實質是:對通道程序採用多道程序設計技術,使得與通道連接的設備可以並行工作。   通道工作原理   在通道控制方式中,I/O設備控制器(常簡稱爲I/O控制器)中沒有傳送字節計數器和內存地址寄存器,但多了通道設備控制器和指令執行部件。CPU只需發出啓動指令,指出通道相應的操作和I/O設備,該指令就可啓動通道並使該通道從內存中調出相應的通道指令執行。   一旦CPU發出啓動通道的指令,通道就開始工作。I/O通道控制I/O控制器工作,I/O控制器又控制I/O設備。這樣,一個通道可以連接多個I/O控制器,而一個I/O控制器又可以連接若干臺同類型的外部設備。   通道的連接   由於通道和控制器的數量一般比設備數量要少,因此,如果連接不當,往往會導致出現“瓶頸”。故一般設備的連接採用交叉連接,這樣做的好處是:   ①  提高系統的可靠性:當某條通路因控制器或通道故障而斷開時,可使用其他通路。   ②   提高設備的並行性:對於同一個設備,當與它相連的某一條通路中的控制器或通道被佔用時,可以選擇另一條空閒通路,減少了設備因等待通路所需要花費的時間。   通道處理機   通道相當於一個功能單純的處理機,它具有自己的指令系統,包括讀、寫、控制、轉移、結束以及空操作等指令,並可以執行由這些指令編寫的通道程序。   通道的運算控制部件包括:   ① 通道地址字(CAW):記錄下一條通道指令存放的地址,其功能類似於中央處理機的指令寄存器。   ② 通道命令字(CCW):記錄正在執行的通道指令,其作用相當於中央處理機的指令寄存器。   ③  通道狀態字(CSW):記錄通道、控制器、設備的狀態,包括I/O傳輸完成信息、出錯信息、重複執行次數等。   通道對主機的訪問   通道一般需要與主機共享同一個內存,以保存通道程序和交換數據。通道訪問內存採用“週期竊用”方式。   採用通道方式後,輸入/輸出的執行過程如下:   CPU在執行用戶程序時遇到I/O請求,根據用戶的I/O請求生成通道程序(也可以是事先編好的)。放到內存中,並把該通道程序首地址放入CAW中。   然後,CPU執行“啓動I/O”指令,啓動通道工作。通道接收“啓動I/O”指令信號,從CAW中取出通道程序首地址,並根據此地址取出通道程序的第一條指令,放入CCW中;同時向CU發回答信號,通知“啓動I/O”指令完成完畢,CPU可繼續執行。   通道開始執行通道程序,進行物理I/O操作。當執行完一條指令後,如果還有下一條指令則繼續執行;否則表示傳輸完成,同時自行停止,通知CPU轉去處理通道結束事件,並從CCW中得到有關通道狀態。   總之,在通道中,I/O運用專用的輔助處理器處理I/O操作,從而剪徑了主處理器處理I/O的負擔。主處理器只要發出一個I/O操作命令,剩下的工作完全由通道負責。I/O操作結束後,I/O通道會發出一箇中斷請求,表示相應操作已完成。   通道的發展   通道的思想是從早期的大型計算機系統中發展起來的。在早期的大型計算機系統中,一般配有大量的I/O設備。爲了把對I/O設備的管理從計算機主機中分離出來,形成了I/O通道的概念,並專門設計出I/O通道處理機。   I/O通道在計算機系統中是一個非常重要的部件,它對系統整體性能的提高起了相當重要的作用。不過,隨着技術不斷的發展,處理機和I/O設備性能的不 斷提高,專用的、獨立I/O通道處理機已不容易見到。但是通道的思想又融入了許多新的技術,所以仍在廣泛地應用着。由於光纖通道技術具有數據傳輸速率高、 數據傳輸距離遠以及可簡化大型存儲系統設計的優點,新的通用光纖通道技術正在快速發展。這種通用光纖通道可以在一個通道上容納多達127個的大容量硬盤驅 動器。顯然,在大容量高速存儲應用領域,通用光纖通道有着廣泛的應用前景。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章