国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

操作系統中的IO控制方式詳解

Acceml / 4160人閱讀

摘要:當輸入的時候,設備先將輸入的信息放到控制器中的數據寄存器中,等到攢到一定數量或者輸入完成后,一次性將數據拿走,提高了的運行效率。設別狀態識別控制器會識別設備的工作狀態,將工作狀態保存到狀態寄存器中,供查用。

IO簡介

IO就是Input和Output的簡稱,也就是輸入輸出。主要包括磁盤IO、網絡IO、鍵盤輸入,顯示器輸出、USB等操作。

輸入是從IO設備輸入到內存中,輸出是從內存中輸出到IO設備中。

IO控制器

CPU不會直接控制IO設備,而是通過IO控制器間接的控制IO設備。因為市面上有各種各樣的IO設備,操作方式都不太一樣,CPU無法直接控制IO設備。所以引入了IO控制器,也叫做設備控制器來間接控制IO設備。

IO控制器作為CPU和IO設備的中介,通過地址總線、控制總線與CPU相連。有以下作用:
1、數據緩沖
CPU和內存等速度都非常快,IO設備的速度比較慢,所以IO控制器設立緩沖區。
當輸出的時候,CPU將數據放到IO控制器中的數據寄存器中,然后就可以去忙其他工作了,IO設備可以慢慢的從IO控制器中的數據寄存器中拿數據然后輸出。
當輸入的時候,IO設備先將輸入的信息放到IO控制器中的數據寄存器中,等到攢到一定數量或者輸入完成后,CPU一次性將數據拿走,提高了CPU的運行效率。
2、IO設別狀態識別
IO控制器會識別IO設備的工作狀態,將工作狀態保存到狀態寄存器中,供CPU查用。
3、控制IO設備
控制IO設備的讀取和寫入,定時等控制信號。

IO分類

IO主要分為以下4類:程序查詢方式、中斷方式DMA、通道,這四類效率依次是變高的。
我們接下來挨個仔細分析一下。
1、程序查詢方式

讀取數據時,CPU從設備控制器的狀態寄存器中查詢設備是否可用,如果不可用就一直輪詢查詢,直到可用為止。如果可用就發送讀取信號,然后輪詢查詢數據是否準備號,如果準備好就從數據寄存器中讀取數據到CPU中,然后將數據從CPU轉移到內存中。

寫數據時,CPU也是輪詢查看設備是否可用,如果可用就將數據從CPU寫入到數據寄存器中。

缺點: 程序查詢方式,CPU需要不斷的查詢,白白浪費了CPU資源,CPU利用率低。

2、中斷驅動

中斷驅動是對程序查詢的改進,中斷的意思就是CPU是可以被打斷的,硬件可以向CPU發送中斷命令,然后CPU會執行對應的中斷程序。

當CPU請求IO時,就直接發送IO讀取的相關命令。如果當前設備正被占用,就排隊,然后IO設備器會對依次對隊列中的進行處理,處理完成后就發出中斷命令,打斷CPU原本的操作,轉而去執行中斷程序,比如將數據從數據寄存器轉到CPU,然后從CPU轉到內存中。

優點: 在IO的時候,CPU可以處理其他線程的工作,CPU的利用效率提高了
缺點: 在IO完成后,還是需要CPU將數據轉移到內存中,還是會占用一定的CPU。

3、DMA
DMA全稱為Direct Memory Access,也叫做直接存儲器訪問。DMA可以直接與內存相連,也就是說IO設備可以直接與內存交換數據,不要CPU的中轉了。

相較于中斷驅動,DMA有了以下改進:
1、以為單位進行傳送
2、內存和IO設備可以直接傳遞,不需要CPU的中轉。
3、CPU只需要在開始的時候發出CPU指令,在結束的時候DMA會發出中斷,CPU執行相關的中斷程序就行了。

優點: CPU只需要在開始的時候,指定從內存和IO設備中的哪些位置進行讀寫,進一步增加了CPU的利用率。

缺點: DMA可以一次性讀取多個塊,但是在內存和IO設備中必須是連續的。

如果牽扯到讀寫離散的塊,CPU必須發出多個IO指令。

4、通道

通道是一種硬件,自己就可以執行IO命令,相當于一個削弱版的小CPU,執行的指令單一。

通道可以執行IO指令,CPU只需要將相關的IO指令發送給通道控制器就可以了,通道會執行IO指令,完成對應的傳輸。

相較于DMA,DMA實現固定的數據傳送,而通道擁有著自己的指令和程序,具有更強的IO處理能力。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/118977.html

相關文章

  • C++IO詳解

    摘要:在使用時候必須要包含頭文件并引入標準命名空間。在該頭文件下,標準庫三個類進行流的輸入進行流的輸出進行流的輸入輸出將結構體的內容轉換成字符串字符串的內容輸出到結構體當中注意實際是在其底層維護了一個類型的對象用來保存結果。 ...

    trilever 評論0 收藏0
  • 我的阿里之路+Java面經考點

    摘要:我的是忙碌的一年,從年初備戰實習春招,年三十都在死磕源碼,三月份經歷了阿里五次面試,四月順利收到實習。因為我心理很清楚,我的目標是阿里。所以在收到阿里之后的那晚,我重新規劃了接下來的學習計劃,將我的短期目標更新成拿下阿里轉正。 我的2017是忙碌的一年,從年初備戰實習春招,年三十都在死磕JDK源碼,三月份經歷了阿里五次面試,四月順利收到實習offer。然后五月懷著忐忑的心情開始了螞蟻金...

    姘擱『 評論0 收藏0
  • DMA控制器原理詳解

    摘要:目錄工作原理硬件架構硬件架構通道的作用寄存器出現的目的出現的目的工作原理全拼直接內存存取,在傳統的存取數據時會先將數據放到緩存寄存器中然后在寫入到指定位置存取數據流程圖經歷了三個步驟,先將內存中指定位置 目錄 工作原理 DMA硬件架構 DMA通道的作用 DMA寄存器 DMA出現的目的 工作原...

    moven_j 評論0 收藏0
  • 超長干貨 | Kubernetes命名空間詳解

    摘要:使用命名空間的概念幫助解決集群中在管理對象時的復雜性問題。命名空間為集群中的對象名稱賦予作用域。同樣,命名空間范圍的策略允許運維人員為生產環節設置嚴格的權限。這會修改操作在活躍時應用到的命名空間。 K8s使用命名空間的概念幫助解決集群中在管理對象時的復雜性問題。在本文中,會討論命名空間的工作原理,介紹常用實例,并分享如何使用命名空間來管理K8s對象。最后,介紹名為projects的Ra...

    wpw 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<