io通道和dma 什么是IO接口?
什么是IO接口?I/O接口只是基本的輸入和輸出端口。為每個(gè)設(shè)備動(dòng)作做好準(zhǔn)備。I/O是輸入/輸出的縮寫(xiě),即輸入和輸出端口。每個(gè)設(shè)備都有一個(gè)專用的I/O地址來(lái)處理自己的輸入和輸出信息。CPU與外部設(shè)備和存
什么是IO接口?
I/O接口只是基本的輸入和輸出端口。為每個(gè)設(shè)備動(dòng)作做好準(zhǔn)備。I/O是輸入/輸出的縮寫(xiě),即輸入和輸出端口。每個(gè)設(shè)備都有一個(gè)專用的I/O地址來(lái)處理自己的輸入和輸出信息。CPU與外部設(shè)備和存儲(chǔ)器之間的連接和數(shù)據(jù)交換需要通過(guò)接口設(shè)備來(lái)實(shí)現(xiàn)。前者稱為I/O接口,后者稱為內(nèi)存接口。存儲(chǔ)器通常在CPU的同步控制下工作,接口電路相對(duì)簡(jiǎn)單;I/O器件種類繁多,其相應(yīng)的接口電路也各不相同。因此,通常說(shuō)接口僅指I/O接口。I/O接口的功能是通過(guò)系統(tǒng)總線實(shí)現(xiàn)CPU與外圍設(shè)備的連接。根據(jù)電路和設(shè)備的復(fù)雜性,I/O接口的硬件主要分為兩類:(1)I/O接口芯片這些芯片大多是集成電路,通過(guò)CPU輸入不同的命令和參數(shù),控制相關(guān)的I/O電路和簡(jiǎn)單的外圍設(shè)備進(jìn)行相應(yīng)的操作。常見(jiàn)的接口芯片有定時(shí)器/計(jì)數(shù)器、中斷控制器、DMA控制器、并行接口等。(2)I/O接口控制卡有多個(gè)集成電路,按一定的邏輯組成為一個(gè)組件,或直接與主板上的CPU相連,或?qū)⒁粋€(gè)插件插入系統(tǒng)總線槽中。按接口的連接對(duì)象可分為串行接口、并行接口、鍵盤(pán)接口和磁盤(pán)接口。
2. 由于計(jì)算機(jī)外圍設(shè)備的接口功能多種多樣,幾乎都采用機(jī)電傳輸設(shè)備,因此,CPU在與I/O設(shè)備進(jìn)行數(shù)據(jù)交換時(shí)存在以下問(wèn)題:速度不匹配:I/O設(shè)備的工作速度遠(yuǎn)遠(yuǎn)慢于CPU,同時(shí)由于類型的不同,CPU與I/O設(shè)備之間的數(shù)據(jù)交換速度也不同他們之間的速度差距也很大。例如,硬盤(pán)的傳輸速度比打印機(jī)快得多。
IO接口和端口的區(qū)別?
1. 在不同的位置,CPU與外部設(shè)備和存儲(chǔ)器之間的連接和數(shù)據(jù)交換需要通過(guò)接口設(shè)備來(lái)實(shí)現(xiàn)。前者稱為I/O接口,后者稱為內(nèi)存接口。I/O接口是主機(jī)與被控對(duì)象之間信息交換的紐帶。主機(jī)通過(guò)I/O接口與外部設(shè)備交換數(shù)據(jù)。
2. 具有不同功能的I/O接口為數(shù)據(jù)傳輸提供緩沖區(qū),以消除計(jì)算機(jī)與外設(shè)之間“定時(shí)”或數(shù)據(jù)處理速度的差異。I/O端口可以協(xié)調(diào)CPU與外圍設(shè)備之間信息類型和電平的差異,如電平轉(zhuǎn)換驅(qū)動(dòng)程序、D/A或A/D轉(zhuǎn)換器等。硬件電路包括基本邏輯電路、端口譯碼電路和可選電路。軟件編程包括初始化程序段、傳輸方式處理程序段、主控程序段、程序終止退出程序段和輔助程序段。I/O端口設(shè)置數(shù)據(jù)寄存器和緩沖邏輯,以適應(yīng)CPU和外圍設(shè)備之間的速度差異。接口通常由一些寄存器或RAM芯片組成。如果芯片足夠大,還可以實(shí)現(xiàn)批量數(shù)據(jù)傳輸。
CPU與I/O設(shè)備之間的數(shù)據(jù)傳送有哪幾種方式?
CPU與IO設(shè)備之間的數(shù)據(jù)傳輸主要有四種方式:
查詢控制方式:
CPU通過(guò)程序主動(dòng)讀取狀態(tài)寄存器,了解接口情況,完成相應(yīng)的數(shù)據(jù)操作。查詢操作需要在較少的時(shí)鐘周期間隔內(nèi)重復(fù),因此CPU效率較低。
中斷控制模式:
程序正常運(yùn)行時(shí),如果有優(yōu)先級(jí)較高的外部事件,中斷請(qǐng)求會(huì)通知CPU,CPU會(huì)讀取狀態(tài)寄存器來(lái)確定事件類型,從而執(zhí)行不同的分支處理。該方法CPU效率高,實(shí)時(shí)性好。
DMA(直接內(nèi)存訪問(wèn))控制模式:顧名思義,直接內(nèi)存訪問(wèn)是數(shù)據(jù)傳輸?shù)奶囟ㄟ^(guò)程,由內(nèi)存和Io之間的硬件(DMA控制器)直接完成。CPU只在數(shù)據(jù)傳輸開(kāi)始時(shí)暫時(shí)對(duì)DMA進(jìn)行控制,直到數(shù)據(jù)傳輸結(jié)束。這樣,傳輸速度比通過(guò)CPU的傳輸速度快,特別是在批量傳輸中。
信道控制模式:
基本方法與上述DMA控制模式相同,只是DMA由DMA控制器完成,信道控制模式由專用通信信道總線完成。比DMA更高效。