通俗理解CPU與外設間的資料傳送方式

2021-10-01 12:30:57 字數 1018 閱讀 2192

cpu與外設間有三大傳送方式,分別是程式控制方式、中斷方式、dma方式。前兩種由軟體實現,dma由硬體實現。

1.程式控制方式

分為無條件傳送方式和條件傳送方式。

1) 無條件傳送方式

也叫做同步傳送方式,主要用於簡單外設,這類外設在任何時刻均已準備好資料或處於接受資料狀態,因此程式可以不必檢查外設的狀態,而在需要進行輸入輸出時,直接執行輸入輸出指令。

可以形象化理解成:小明放學回家,肚子餓的咕咕叫,媽媽正在做飯,從媽媽角度來看,只要媽媽把飯菜做好,就會給小明吃,不需要詢問小明有沒有寫好作業,有沒有準備好吃飯,因為小明餓的不行了。

2)條件傳送

條件傳送也叫做查詢式傳送方式,在開始傳送資料前,必須要確認外設是否已經準備好接受資料的狀態。

條件傳送可以這樣理解:小明一邊吃飯一邊玩遊戲,吃飯速度很慢。爸爸媽媽已經吃完飯了,媽媽把碗洗好之後,小明還沒有吃完,這時媽媽就去看電視了,媽媽一邊看電視,一邊問小明:你有沒有吃好啊?如果小明回答說沒有吃好,媽媽就繼續看電視,並且反覆的問小明有沒有吃好,如果小明說吃好了,媽媽就暫停看電視,去洗小明的碗,把小明的碗洗好之後,接著回去看電視。

2.中斷方式

用查詢方式,cpu要不斷的查詢外設的狀態,很浪費時間,cpu工作效率很低。採用中斷方式之後,cpu不需要查詢外設的狀態,而是執行主程式時,當外設資料準備好之後向cpu發出中斷申請,因此cpu工作效率大大提高。

中斷方式可以這樣理解:還是小明吃飯吃的很慢的例子。媽媽洗好碗後,不管小明有沒有吃完就去看電視了,看電視時也不詢問小明有沒有吃完。而是當小明吃完飯之後,主動拿著碗找媽媽,說:媽媽,我吃好了,你把我碗洗一下吧,這個時候媽媽會暫停電視,去洗小明的碗。洗完小明的碗之後,在回來看電視。

3.dma方式可以這樣理解: 還是小明吃飯吃的很慢的例子,媽媽洗完碗之後便去看電視,不管小明有沒有吃完。當小明吃完拿著碗找媽媽洗碗時,媽媽正在看電視,不願意去洗碗,於是,她把洗碗的手套,抹布給爸爸,說:我看會電視,你去把兒子碗洗了,洗好之後,把手套,抹布在還給我。

物理cpu與邏輯cpu的理解

一 yarn資源排程器中主要的資源分類 memory 記憶體 cpu 邏輯cpu 配置屬性 二 首先要明確物理cpu個數 核數 邏輯cpu數的概念 物理cpu數 主機板上實際插入的cpu數量,可以數不重複的 physical id 有幾個 physical id cpu核數 單塊cpu上面能處理資料...

物理cpu與邏輯cpu的理解

1.物理cpu個數 核數 邏輯cpu數的理解 物理cpu數 主機板上實際插入的cpu數量,可以數不重複的 physical id 有幾個 physical id cpu核數 單塊cpu上面能處理資料的晶元組的數量,如雙核 四核等 cpu cores 邏輯cpu數 一般情況下,邏輯cpu 物理cpu個...

程序與執行緒的通俗理解

程序 process 和執行緒 thread 是作業系統的基本概念,但是它們比較抽象,不容易掌握。1.計算機的核心是cpu,它承擔了所有的計算任務。它就像一座工廠,時刻在執行。2.假定工廠的電力有限,一次只能供給乙個車間使用。也就是說,乙個車間開工的時候,其他車間都必須停工。背後的含義就是,單個cp...