【考點(diǎn)九】 輸入與輸出系統(tǒng)
1.輸入輸出系統(tǒng)的發(fā)展輸入輸出系統(tǒng)的發(fā)展大致分為五種方式,即程序控制的輸入輸出方式、中斷方式,DMA方式、輸入/輸出通道方式和I/O處理機(jī)等五種方式。程序查詢方式和程序中斷方式適用于數(shù)據(jù)傳輸率比較低的外部設(shè)備。而DMA方式、通道方式和I/O處理機(jī)方式適用于數(shù)據(jù)傳輸率比較高的設(shè)備。目前,小型機(jī)和微型機(jī)大都采用程序查詢方式、程序中斷方式和DMA方式。通道方式I/O處理機(jī)方式大都用在中、大型計(jì)算機(jī)中。為了介紹方便,我們把通道方式和I/O處理機(jī)方式視為一種方式。2.程序查詢方式程序查詢方式又叫程序控制I/O方式。在這種方式中,數(shù)據(jù)在CPU和外部設(shè)備之間的傳送完全靠計(jì)算機(jī)程序控制,是在CPU主動(dòng)控制下進(jìn)行的,當(dāng)輸入/輸出時(shí),CPU暫停執(zhí)行主程序,轉(zhuǎn)去執(zhí)行輸入/輸出的服務(wù)程序,根據(jù)服務(wù)程序中的I/O指令進(jìn)行數(shù)據(jù)傳送。這是一種最簡單、最經(jīng)濟(jì)的輸入/輸出方式。它只需很少的硬件,因此幾乎所有的機(jī)器都具有程序查詢方式。特別是在微、小型機(jī)中,常用程序查詢方式來實(shí)現(xiàn)低速設(shè)備的輸入輸出管理。
3.程序中斷方式“中斷”概念的提出,是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中的一個(gè)重大變革。在程序中斷方式中,某一外設(shè)的數(shù)據(jù)準(zhǔn)備就緒后,它“主動(dòng)”向CPU發(fā)請求中斷的信號,請求CPU暫時(shí)中斷目前的工作而進(jìn)行數(shù)據(jù)交換。當(dāng)CPU響應(yīng)這個(gè)中斷時(shí),便暫停運(yùn)行主程序,并自動(dòng)轉(zhuǎn)移到該設(shè)備的中斷服務(wù)程序。當(dāng)中斷服務(wù)程序結(jié)束以后,CPU又回到原來的主程序。其原理和調(diào)用子程序相仿,不過,這里要求轉(zhuǎn)移到中斷服務(wù)子程序的請求是由外部設(shè)備發(fā)出的。中斷方式特別適合于隨機(jī)出現(xiàn)的服務(wù)。
4.DMA方式(1)DMA方式的基本概念直接訪問內(nèi)存DMA方式,是一種完全由硬件執(zhí)行I/O交換的工作方式。在這種方式中,DMA控制器從CPU中完全接管對總線的控制,數(shù)據(jù)交換不經(jīng)過CPU,而直接在內(nèi)存儲(chǔ)器和I/O設(shè)備之間進(jìn)行。DMA方式一般用于高速地傳送成組的數(shù)據(jù)。DMA控制器將向內(nèi)存發(fā)出地址和控制信號、修改地址、對傳送的字的個(gè)數(shù)計(jì)數(shù),并且以中斷方式向CPU報(bào)告?zhèn)魉筒僮鞯慕Y(jié)束。DMA方式的主要優(yōu)點(diǎn)是速度快。由于CPU根本不參加傳送操作,因此就省去了CPU取指令、取數(shù)、送數(shù)等操作。在數(shù)據(jù)傳送過程中,也不象中斷方式那樣,要進(jìn)行保存現(xiàn)場、恢復(fù)現(xiàn)場之類的工作。內(nèi)存地址修改、傳送字個(gè)數(shù)的計(jì)數(shù)等,也不是由軟件實(shí)現(xiàn),而是用硬件線路直接實(shí)現(xiàn)的。DMA的種類很多,但各種DMA至少能執(zhí)行以下一些基本操作:
、購耐獠吭O(shè)備發(fā)出DMA請求;
、贑PU響應(yīng)請求,把CPU工作改成DMA操作方式,DMA控制器從CPU接管總線的控制;
、塾蒁MA控制器對內(nèi)存尋址,即決定數(shù)據(jù)傳送的內(nèi)存單元首地址及數(shù)據(jù)傳送個(gè)數(shù)的計(jì)數(shù),并執(zhí)行數(shù)據(jù)傳送的操作;
、芟駽PU報(bào)告DMA操作的結(jié)束。
(2)DMA技術(shù)的出現(xiàn),使得外部設(shè)備可以通過DMA控制器直接訪問內(nèi)存,與此同時(shí),CPU可以繼續(xù)執(zhí)行程序。那么DMA控制器與CPU怎樣分時(shí)使用內(nèi)存呢?通常采用以下三種方法:
、偻V笴PU訪問
②周期挪用;
、跠MA與CPU交替訪問。
(3)基本的DMA控制器一個(gè)DMA控制器實(shí)際上是采用DMA方式的外部設(shè)備與系統(tǒng)總線之間的接口電路。這個(gè)接口電路是在中斷接口的基礎(chǔ)上再加DMA機(jī)構(gòu)組成。習(xí)慣上將DMA方式的接口電路稱為DMA控制器。
、賰(nèi)存地址計(jì)數(shù)器用于存放內(nèi)存中要交換的數(shù)據(jù)地址。在DMA傳送前,需通過程序?qū)?shù)據(jù)在內(nèi)存中的起始位置(首地址)送到內(nèi)存地址計(jì)數(shù)器。而當(dāng)DMA傳送時(shí),每交換一次數(shù)據(jù),將地址計(jì)數(shù)器加“1”,從而以增量方式給出內(nèi)存中要交換的一批數(shù)據(jù)的地址。
、谧钟(jì)數(shù)器用于記錄傳送數(shù)據(jù)塊的長度(多少字?jǐn)?shù))。其內(nèi)容也是在數(shù)據(jù)傳送之間由程序預(yù)置,交換的字?jǐn)?shù)通常以補(bǔ)碼形式表示。在DMA傳送時(shí),每傳送一個(gè)字,字計(jì)數(shù)器就加“1”,當(dāng)計(jì)數(shù)器溢出即最高位產(chǎn)生進(jìn)位時(shí),表示這批數(shù)據(jù)傳送完畢,于是引起DMA控制器向CPU發(fā)出中斷信號。
、蹟(shù)據(jù)緩沖寄存器用于暫存每次傳送的數(shù)據(jù)(一個(gè)字)。當(dāng)輸入時(shí),由設(shè)備(如磁盤)送往數(shù)據(jù)緩沖寄存器,再由緩沖寄存器通過數(shù)據(jù)總線送到內(nèi)存。反之,輸出時(shí),由內(nèi)存通過數(shù)據(jù)總線送到數(shù)據(jù)緩沖寄存器,然后再送到設(shè)備。
、堋癉MA請求”標(biāo)志每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)字后給出一個(gè)控制信號,使“DMA”請求標(biāo)志置“1”。該標(biāo)志置位后向“控制/狀態(tài)”邏輯發(fā)出DMA請求,后者又向CPU發(fā)出總線使用權(quán)的請求(HOLD),CPU響應(yīng)此請求后發(fā)回響應(yīng)信號HLDA,“控制/狀態(tài)”邏輯接收此信號后發(fā)出DMA響應(yīng)信號,使“DMA請求”標(biāo)志復(fù)位,為交換下一個(gè)字做好準(zhǔn)備。
、荨翱刂/狀態(tài)”邏輯它由控制和時(shí)序電路,以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送類型(輸入輸出),并對“DMA請求”信號和CPU響應(yīng)信號進(jìn)行協(xié)調(diào)和同步。⑥中斷機(jī)構(gòu)當(dāng)字計(jì)數(shù)器溢出時(shí)(全0),意味著一組數(shù)據(jù)交換完畢,由溢出信號觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷報(bào)告。這里的中斷與前面介紹的I/O中斷所采用的技術(shù)相同,但中斷的目的不同,前面是為了數(shù)據(jù)的輸入或輸出,而這里是為了報(bào)告一組數(shù)據(jù)傳送結(jié)束。因此它們是I/O系統(tǒng)中不同的中斷事件。
5.通道方式(1)通道的功能DMA控制器的出現(xiàn)已經(jīng)減輕了CPU對數(shù)據(jù)輸入輸出的控制,使得CPU的效率有顯著的提高。而通道的出現(xiàn)則進(jìn)一步提高了CPU的效率。這是因?yàn)橥ǖ朗且粋(gè)特殊功能的處理器,它有自己的指令和程序?qū)iT負(fù)責(zé)數(shù)據(jù)輸入輸出的傳輸控制,而CPU將“傳輸控制”的功能下放給通道后只負(fù)責(zé)“數(shù)據(jù)處理”功能。這樣,通道與CPU分時(shí)使用內(nèi)存,實(shí)現(xiàn)了CPU內(nèi)部運(yùn)算與I/O設(shè)備的并行工作。通道的基本功能是執(zhí)行通道指令、組織外部設(shè)備和內(nèi)存進(jìn)行數(shù)據(jù)傳輸,按I/O指令要求啟動(dòng)外部設(shè)備,向CPU報(bào)告中斷等,具體有以下五項(xiàng)任務(wù)
、俳邮蹸PU的I/O指令,按指令要求與指定的外部設(shè)備進(jìn)行通信;
、趶膬(nèi)存選取屬于該通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種命令;
、劢M織外部設(shè)備和內(nèi)存之間進(jìn)行數(shù)據(jù)傳送,并根據(jù)需要提供數(shù)據(jù)中間緩存的空間,以及提供數(shù)據(jù)存入內(nèi)存的地址和傳送的數(shù)據(jù)量;
④從外部設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存的指定單元,供CPU使用;⑤將外部設(shè)備的中斷請求和通道本身的中斷請求,按次序及時(shí)報(bào)告CPU。
(2)通道類型根據(jù)通道的工作方式,通道可分為:
①選擇通道。
、跀(shù)組多路通道。
、圩止(jié)多路通道
。④通道適配器。
6.外部設(shè)備外部設(shè)備分為輸入設(shè)備、輸出設(shè)備、輸入輸出兼用設(shè)備、外存設(shè)備、數(shù)據(jù)通信設(shè)備和過程控制設(shè)備等
。①輸入設(shè)備
、谳敵鲈O(shè)備
、蹪h字設(shè)備
④數(shù)據(jù)通信設(shè)備
、葸^程控制設(shè)備
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |