控制cpu_I/O控制器及控制方式,了解一下
1、什么是I/O控制器
由于CPU無法直接控制I/O設(shè)備的機(jī)械部件,因此I/O設(shè)備還要有個(gè)電子部件作為CPU和I/O設(shè)備機(jī)械部件之間的“中介”,用于實(shí)現(xiàn)CPU對(duì)設(shè)備的控制,這個(gè)電子部件就是I/O控制器,又稱為設(shè)備控制器。
I/O控制器是控制計(jì)算機(jī)輸入輸出的一個(gè)最基本的控制系統(tǒng),可指揮計(jì)算機(jī)的各個(gè)部件按照指令的功能要求協(xié)調(diào)工作的部件。它由指令寄存器IR(InstructionRegister)、程序計(jì)數(shù)器PC(ProgramCounter)和操作控制器OC(OperationController)三個(gè)部件組成,對(duì)協(xié)調(diào)整個(gè)電腦有序工作極為重要。
下面小編就從功能和控制方式兩個(gè)方面帶大家進(jìn)一步了解I/O控制器,想學(xué)習(xí)的客戶朋友就一起看下去吧,絕對(duì)干貨哦!
2、I/O控制器的功能
● 接收設(shè)備CPU指令:CPU的讀寫指令和參數(shù)存儲(chǔ)在控制寄存器中
● 向CPU報(bào)告設(shè)備的狀態(tài):I/O控制器中會(huì)有相應(yīng)的狀態(tài)寄存器,用于記錄I/O設(shè)備的當(dāng)前狀態(tài)。(比如1代表設(shè)備忙碌,0代表設(shè)備就緒)
● 數(shù)據(jù)交換:數(shù)據(jù)寄存器,暫存CPU發(fā)來的數(shù)據(jù)和設(shè)備發(fā)來的數(shù)據(jù),之后將數(shù)據(jù)發(fā)給控制寄存器或CPU。
● 地址識(shí)別:類似于內(nèi)存的地址,為了區(qū)分設(shè)備控制器中的各個(gè)寄存器,需要給各個(gè)寄存器設(shè)置一個(gè)特定的地址。I/O控制器通過CPU提供的地址來判斷CPU要讀寫的是哪個(gè)寄存器。
這里向大家簡(jiǎn)單介紹常見的幾種I/O控制方式,包括程序直接控制方式、中斷驅(qū)動(dòng)方式、DMA(直接存儲(chǔ)方式)、通道控制方式。
3、I/O控制方式
①程序直接控制方式
CPU向I/O模塊發(fā)出讀寫指令,CPU會(huì)從狀態(tài)寄存器中讀取I/O設(shè)備的狀態(tài),如果是忙碌狀態(tài)就繼續(xù)輪詢檢查狀態(tài),如果是已就緒,就代表I/O設(shè)備已經(jīng)準(zhǔn)備好,可以從中讀取數(shù)據(jù)到CPU寄存器中,讀到CPU后,CPU還要往存儲(chǔ)器(內(nèi)存)中寫入數(shù)據(jù),寫完后再執(zhí)行下一套指令。
優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單。在讀寫指令之后,加上實(shí)現(xiàn)輪詢檢查的一系列指令即可。
缺點(diǎn):CPU和I/O設(shè)備只能串行化工作,CPU需要一直輪詢檢查,長(zhǎng)期處于忙等狀態(tài),CPU利用率很低。
②中斷驅(qū)動(dòng)方式
中斷驅(qū)動(dòng)方式的思想是允許I/O設(shè)備主動(dòng)打斷CPU的運(yùn)行并請(qǐng)求服務(wù),從而“解放”CPU,使得其向I/O控制器發(fā)送讀命令后可以繼續(xù)做其他有用的工作。I/O控制器從CPU接收一個(gè)讀命令,然后從外圍設(shè)備讀數(shù)據(jù),一旦數(shù)據(jù)讀入到該I/O控制器的數(shù)據(jù)寄存器,便通過控制線給CPU發(fā)出一個(gè)中斷信號(hào),表示數(shù)據(jù)已準(zhǔn)備好,然后等待CPU請(qǐng)求該數(shù)據(jù)。I/O控制器收到CPU發(fā)出的取數(shù)據(jù)請(qǐng)求后,將數(shù)據(jù)放到數(shù)據(jù)總線上,傳到CPU的寄存器中。至此,本次I/O操作完成,I/O控制器又可開始下一次I/O操作。這樣就使得CPU與I/O設(shè)備能夠并行工作。
優(yōu)點(diǎn):與程序直接控制方式相比,在中斷驅(qū)動(dòng)方式中,I/O控制器會(huì)通過中斷信號(hào)主動(dòng)報(bào)告I/O已完成,CPU不再需要不停的輪詢。CPU和I/O設(shè)備可并行工作,CPU利用率得到明顯提升。
缺點(diǎn):由于數(shù)據(jù)中的每個(gè)字在存儲(chǔ)器與I/O控制器之間的傳輸都必須經(jīng)過CPU,這就導(dǎo)致了中斷驅(qū)動(dòng)方式仍然會(huì)消耗較多的CPU時(shí)間。
③DMA(直接存儲(chǔ)方式)
DMA方式的數(shù)據(jù)流向是從設(shè)備直接放入內(nèi)存(設(shè)備→內(nèi)存),或者是從內(nèi)存直接到設(shè)備(內(nèi)存→設(shè)備),不再使用CPU作為中間者。CPU在讀寫數(shù)據(jù)前要指明要讀入多少數(shù)據(jù)、數(shù)據(jù)要存放在內(nèi)存中的什么位置、數(shù)據(jù)放在外部磁盤的什么位置等問題,然后DMA控制器會(huì)根據(jù)CPU提出的要求完成數(shù)據(jù)的讀寫操作。當(dāng)整塊數(shù)據(jù)的傳輸完成后,才向CPU發(fā)出中斷信號(hào)。
優(yōu)點(diǎn):數(shù)據(jù)傳輸效率以“塊”塊為單位,僅僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),才需要CPU的干預(yù),CPU的介入性進(jìn)一步降低。同時(shí)。CPU和I/O設(shè)備的并行性進(jìn)一步提升。
缺點(diǎn):CPU發(fā)出一條指令,只能讀或?qū)懸粋€(gè)或多個(gè)連續(xù)的數(shù)據(jù)塊。如果讀寫的數(shù)據(jù)塊不是連續(xù)存放的而是離散的,那么CPU要分別發(fā)出多條I/O指令,進(jìn)行多次中斷處理才能完成。
④通道控制方式
通道是一種硬件,可以理解為“低配版的CPU”。通道與CPU相比的話,CPU能夠處理的指令種類比較多,而通道只能執(zhí)行單一指令。使用這種控制方式,CPU干涉頻率極低,通道會(huì)根據(jù)CPU的指令執(zhí)行響應(yīng)程序,只有完成一組數(shù)據(jù)塊的讀寫后才需要發(fā)出中斷信號(hào)讓CPU干預(yù)。
優(yōu)點(diǎn):CPU、 通道、I/O設(shè)備可并行工作,資源利用率極高。
缺點(diǎn):實(shí)現(xiàn)復(fù)雜,需要專門的通道硬件支持。
懵逼了的小伙伴快看這里!貼心小編為你奉上總結(jié)表格,一目了然呢!
總結(jié)
以上是生活随笔為你收集整理的控制cpu_I/O控制器及控制方式,了解一下的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云存储技术-JDK的安装
- 下一篇: ajax定时器怎么写,js定时器怎么写?