通道處理機

          之前準備講通道處理機時,發現網上的資料很少,所以我自己總結一下。

          對於工作方式、工作速度、工作性質不同的外圍設備,採用三種常用的三種不同的輸入輸出方式:程序控制輸入輸出方式、中斷輸入輸出方式以及DMA方式。程序控制方式不論何時何地都受cpu的控制,不能與cpu並行工作;中斷方式雖然可以克服不能並行的缺點,但數據輸入輸出都要經過cpu;DMA方式需要cpu在開始時對其進行初始化,結束時要向cpu申請中斷;
          所以,爲了把對外圍設備的管理工作從cpu分離出來,產生了通道處理機技術。

          通道處理機一次數據傳送過程,如下:



        


        1、cpu執行到訪管指令時,按其提供的入口地址,第一次進入管態(特權態),將管理程序調出來執行。這個管理程序的任務是利用所帶的參數來編制通道程序。
    在通道程序編好並且存入主存中某個通道緩衝區時,置好相應的通道地址字(即就是在主存的地址),當管理程序執行到“啓動I/O”的管態程序時,開始選擇設備。
      2、cpu選擇指定的通道、子通道、設備控制器和設備後,發出啓動命令,設備成功啓動後,cpu就退出管態,返回目態(用戶態)去執行其他的用戶程序。

      3、被啓動的通道開始執行存放於通道緩衝區的通道程序具體組織I/O操作,直至執行到斷開通道指令完成了通道程序後,又向cpu發出I/O中斷請求。
      4、cpu在響應I/O中斷請求後,第二次進入管態,調出相應的管理程序,進行善後登記和處理後(正常結束則進行登記工作,異常情況則進行額外處理),重新返回目態。

             若是看明白所描述的過程,那麼就很容易可以看懂下圖了




           其中,在cpu發中斷請求和響應中斷請求之間的時間是中斷響應時間。

   通道可劃分爲三類:字節多路通道,選擇通道,數組多路通道

         對數據傳送時間作以解釋:


           


         Ts是設備選擇時間,Td是傳送一個字節所用的時間。

       通道流量是指一個數據在傳送期間,單位時間內能夠傳送的最大數據量,一般用字節個數表示。

       傳送過程說明:

       通道在每個工作週期裏,對設備發出的請求進行一次排隊,選出優先級高的設備請求予以響應和處理,只有在此刻之前或與此刻同時發出的請求傳送數據的設備,才能參加本次排隊,錯過這個時間,必須等到下一次設備選擇期,開始參加排隊。
        流量設計的要求:要求實際流量接近極限流量,但可能會造成數據丟失,所以一般會增加通道最大流量,保證請求都可以被響應,或者動態改變優先級增加數據緩衝寄存器

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