![外部設(shè)備與主機(jī)的連接課件_第1頁](http://file4.renrendoc.com/view/55b6c74e67eaafb9dddb68ff2dab9653/55b6c74e67eaafb9dddb68ff2dab96531.gif)
![外部設(shè)備與主機(jī)的連接課件_第2頁](http://file4.renrendoc.com/view/55b6c74e67eaafb9dddb68ff2dab9653/55b6c74e67eaafb9dddb68ff2dab96532.gif)
![外部設(shè)備與主機(jī)的連接課件_第3頁](http://file4.renrendoc.com/view/55b6c74e67eaafb9dddb68ff2dab9653/55b6c74e67eaafb9dddb68ff2dab96533.gif)
![外部設(shè)備與主機(jī)的連接課件_第4頁](http://file4.renrendoc.com/view/55b6c74e67eaafb9dddb68ff2dab9653/55b6c74e67eaafb9dddb68ff2dab96534.gif)
![外部設(shè)備與主機(jī)的連接課件_第5頁](http://file4.renrendoc.com/view/55b6c74e67eaafb9dddb68ff2dab9653/55b6c74e67eaafb9dddb68ff2dab96535.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
外部設(shè)備與主機(jī)的連接2022/10/19外部設(shè)備與主機(jī)的連接外部設(shè)備與主機(jī)的連接2022/10/15外部設(shè)備與主機(jī)的連接任何數(shù)字計(jì)算機(jī)的用途很大程度上取決于它所能連接的外圍設(shè)備的范圍。遺憾的是,由于外圍設(shè)備種類繁多,速度各異,不可能簡單地把外圍設(shè)備連接在CPU上。因此,必須尋找一種方法,一邊將同某種計(jì)算機(jī)連接起來,使他們一起可以正常工作。通常這項(xiàng)任務(wù)用適配器部件來完成。通過適配器可以實(shí)現(xiàn)高速CPU和低速外設(shè)之間速度上的匹配和同步,并取決稱計(jì)算機(jī)和外設(shè)之間的所有數(shù)據(jù)傳送和控制。適配器通常稱為接口。外部設(shè)備與主機(jī)的連接任何數(shù)字計(jì)算機(jī)的用途很大程度上取決于它所能連接的外
3.3.1外部設(shè)備與主機(jī)的連接
1.影響外部設(shè)備與主機(jī)連接方式的主要因素(1)I/O系統(tǒng)的工作模式·程序控制直接傳送模式·程序查詢控制模式·程序中斷控制模式·直接存儲器訪問(DMA)模式·通道控制模式·I/O處理機(jī)控制模式(2)數(shù)據(jù)傳送方式·并行傳送·串行傳送(3)數(shù)據(jù)通信的同步方式·同步通信(發(fā)送端與接收端之間有統(tǒng)一的時(shí)鐘)
·異步通信(發(fā)送端與接收端之間無統(tǒng)一的時(shí)鐘,采用應(yīng)答控制方式。)外部設(shè)備與主機(jī)的連接3.3.1外部設(shè)備與主機(jī)的連接外部設(shè)備與主機(jī)(4)傳送信息的種類·設(shè)備地址信息·數(shù)據(jù)·設(shè)備狀態(tài)信息·控制信息2.外部設(shè)備與主機(jī)的連接模式在描述系統(tǒng)或部件之間的連接時(shí),使用得最為廣泛的一個(gè)術(shù)語是“接口”(interface)。這里,我們把接口分為如下兩種:把插入在兩個(gè)彼此不能直接連接的機(jī)器或系統(tǒng)之間,并使它們相互連接通信的附加裝置稱為適配器(adapter);把位于一種設(shè)備、器件上與其他設(shè)備、器件相連接的部分稱為I/O端口。適配器是主機(jī)和外部設(shè)備之間的橋梁,也可以看作是一種器件,它有1個(gè)面向主機(jī)的I/O端——系統(tǒng)接口,另1個(gè)面向設(shè)備的I/O端口——設(shè)備接口。此外在外部設(shè)備上也需要1個(gè)與適配器連接的I/O端口——設(shè)備驅(qū)動電路,在主機(jī)方面需要1個(gè)與適配器連接的I/O端口——主機(jī)的I/O接口。外部設(shè)備與主機(jī)的連接(4)傳送信息的種類外部設(shè)備與主機(jī)的連接這3種器件或設(shè)備、4個(gè)I/O端口形成如下圖所示的結(jié)構(gòu)。I/O接口系統(tǒng)接口設(shè)備接口設(shè)備驅(qū)動電路主機(jī)適配器設(shè)備地址控制、狀態(tài)數(shù)據(jù)圖3.38外部設(shè)備與主機(jī)連接的一般模式外部設(shè)備與主機(jī)的連接這3種器件或設(shè)備、4個(gè)I/O端口形成如下圖所示的結(jié)構(gòu)。I/3.I/O接口的尋址方式CPU通過端口與外部設(shè)備進(jìn)行通信:如發(fā)送命令、讀取狀態(tài)和傳送數(shù)據(jù)。為此一個(gè)接口中常設(shè)置有與這些通信操作相對應(yīng)的端口:如命令端口、狀態(tài)端口和數(shù)據(jù)端口。CPU要訪問這些端口,首先要解決尋址問題。這就是I/O接口的尋址問題。I/O接口的尋址有兩種方式:端口地址與存儲器地址統(tǒng)一編址和分別編址。前者把I/O端口當(dāng)作存儲器的一部分單元進(jìn)行訪問,即I/O端口占用了存儲器的一部分單元;CPU不設(shè)置專門的I/O指令,用統(tǒng)一的訪問存儲器的命令訪問I/O端口。后者要求用專門的I/O指令訪問I/O端口,I/O端口不占用存儲器空間,它與存儲器分別使用兩套獨(dú)立的地址編碼系統(tǒng)。外部設(shè)備與主機(jī)的連接3.I/O接口的尋址方式外部設(shè)備與主機(jī)的連接3.3.2并行通信和并行接口1.并行接口概述將一個(gè)字或其一部分(一個(gè)字節(jié))的各位用多根數(shù)據(jù)線同時(shí)進(jìn)行傳輸,稱為并行通信。實(shí)現(xiàn)并行通信的接口(適配器)是并行接口。一個(gè)并行接口可以設(shè)計(jì)為只作輸出接口,或只作輸入接口,還可以設(shè)計(jì)為既作為輸入接口又作為輸出接口。并行接口可以分為硬線連接接口和可編程接口。硬線連接接口的工作方式及功能不能用編程的方法加以改變,只能用硬線連接設(shè)定;可編程接口的工作方式及功能可以用程序加以改變。外部設(shè)備與主機(jī)的連接3.3.2并行通信和并行接口外部設(shè)備與主機(jī)的連接2.硬線連接并行接口硬線連接并行接口可分為3種。(1)簡單并行接口簡單并行接口,也稱無條件傳送接口。它僅用于外設(shè)與CPU交換數(shù)據(jù)之前就準(zhǔn)備好了而不需要聯(lián)絡(luò)信號的情形。(2)條件傳送接口在實(shí)際應(yīng)用中,大多數(shù)外部設(shè)備與CPU之間交換的是一系列連續(xù)的數(shù)據(jù),只有前一個(gè)數(shù)據(jù)發(fā)送或接收完成以后才能傳送下一個(gè)數(shù)據(jù)。因此接口中必須帶有自己的應(yīng)答信號,以表明設(shè)備的狀態(tài),如設(shè)備已“準(zhǔn)備好”等。CPU在執(zhí)行I/O操作時(shí),要先檢測外部設(shè)備是否已具備數(shù)據(jù)傳送的條件,若不具備,則等待,直至設(shè)備作好準(zhǔn)備。這種并行接口稱為條件傳送接口,或叫程序查詢方式接口。它們的特點(diǎn)是帶有應(yīng)答信號。圖3.21介紹的程序查詢控制接口就是這種接口。外部設(shè)備與主機(jī)的連接2.硬線連接并行接口外部設(shè)備與主機(jī)的連接(3)中斷傳送I/O接口采用中斷方式與CPU交換數(shù)據(jù),讓CPU實(shí)時(shí)地實(shí)現(xiàn)對外設(shè)的讀寫操作,這種并行接口叫做中斷傳送方式I/O接口。這時(shí)I/O設(shè)備的狀態(tài)既可以作為程序查詢的標(biāo)志,又可以作為中斷請求信號。這種接口在3.2.2節(jié)中已經(jīng)作了介紹。3.可編程并行接口(8255A)可編程實(shí)際上是具有可選擇性,如用戶可以在程序中選擇哪一個(gè)或哪幾個(gè)數(shù)據(jù)端口與外設(shè)連接;輸入和輸出分別占用端口中的哪一位或哪幾位以及選擇端口與CPU之間的數(shù)據(jù)傳送模式等。它除了具有硬線連接接口的性能外,最主要的是可編程。編程由用戶用指令向端口送入方式字或控制字進(jìn)行。這種接口在微型計(jì)算機(jī)中稱為PIO。外部設(shè)備與主機(jī)的連接(3)中斷傳送I/O接口外部設(shè)備與主機(jī)的連接下面簡要介紹一種適合于IBM\|PC系列機(jī)的PIO芯片8255A。(1)8255A內(nèi)部結(jié)構(gòu)圖3.39為8255A的內(nèi)部結(jié)構(gòu)框圖。它由A,B,C3個(gè)數(shù)據(jù)端口、A/B組控制、讀/寫控制邏輯電路和數(shù)據(jù)總線緩沖器組成。3個(gè)數(shù)據(jù)端口的組成及在PC/XT系統(tǒng)中的地址如表3.2所示。外部設(shè)備與主機(jī)的連接下面簡要介紹一種適合于IBM\|PC系列機(jī)的PIO芯A組控制數(shù)據(jù)總線緩沖器讀/寫控制邏輯B組控制A組A口(8位)A組C口高位(4位)B組C口低位(4位)B組B口(8位)PA7~PA0PC7~PC4PC3~PC0PB7~PB0D7~D0RDWRA1A0CSRESET圖3.398255A內(nèi)部結(jié)構(gòu)外部設(shè)備與主機(jī)的連接A組控制數(shù)據(jù)總線讀/寫控制邏輯B組控制A組A組B組B組P端口端口A端口C端口B數(shù)據(jù)輸入數(shù)據(jù)輸出PC/XT中的地址1X8位鎖存器1X8位鎖存/緩沖器60H2X4位緩沖器2X4位鎖存/緩沖器62H1X8位鎖存器1X8位鎖存/緩沖器61H表3.28255A的3個(gè)數(shù)據(jù)端口外部設(shè)備與主機(jī)的連接端口端口A端口C端口B數(shù)據(jù)輸入1X8位鎖存器2X4位緩沖器在使用中,端口A和端口B常常作為獨(dú)立的輸入端口或輸出端口;端口C常常分為上下兩部分,形成兩個(gè)4位端口,分別作為端口A和端口B的輸出控制信號和輸入狀態(tài)信號。(2)8255A的工作方式8255A有3種工作方式:①方式0方式0也稱基本I/O方式。在這種方式下,端口A和端口B以及兩個(gè)4位的端口C,形成4個(gè)端口;任一端口都可以作輸入口,也可以作輸出口,各端口之間沒有規(guī)定必然的聯(lián)系;各端口可以有16種不同的組合,可以適用于多種使用。外部設(shè)備與主機(jī)的連接在使用中,端口A和端口B常常作為獨(dú)立的輸入端口或輸出端②方式1方式1也稱選擇I/O方式。當(dāng)A,B端口按方式1工作時(shí),C的兩個(gè)4位端口要分別作為A,B的輸出控制信號和輸入狀態(tài)信號。③方式2方式2也稱雙向傳輸方式,只適用于端口A。這時(shí)端口C要為端口A自動提供相應(yīng)的控制信號。(3)8255A控制字8255A通過指令往端口設(shè)置控制字決定工作方式??刂谱址譃閮深悾汗ぷ鞣绞娇刂谱趾投丝贑置1/置0控制字。外部設(shè)備與主機(jī)的連接②方式1外部設(shè)備與主機(jī)的連接①工作方式控制字工作方式控制字,用以把3個(gè)端口分為A組(包括端口C的高位)和B組(包括端口C的低位)來設(shè)置工作方式。它的格式及每位定義如下圖所示。例如,要把A口指定為方式1輸入,C口上半部為輸出,B口為方式0輸出,C口下半部為輸入,工作方式字應(yīng)為10110001B或B1H。初始化程序?yàn)椋篗OVDX,63H;8255A控制口地址MOVAL,B1H;置工作方式控制字
OUTDX,AL;送控制字到控制口1D6D5D4D3D2D1D0特征位A組方式00:方式001:方式11X:方式2A口0:輸出1:輸入C4~70:輸出1:輸入B組方式0:方式01:方式1B口0:輸出1:輸入C0~30:輸出1:輸入外部設(shè)備與主機(jī)的連接①工作方式控制字1D6D5D4D3D2D1D0特征②端口C置1/置0控制字這個(gè)控制字可以使端口C中的任一位置0/置1,設(shè)置相應(yīng)的控制位。它的格式及每位的定義如下圖所示。例如,要對端口C的PC7位置1,則控制字應(yīng)為00001111B,即0FH;而端口C的PC3要置0,則控制字應(yīng)為00000110B,即06H。則相應(yīng)程序段為MOVAL,OF;送對PC7置1控制字MOVDX,63H;控制口地址送DXOUTDX,AL;對PC7,置1MOVAL,06H;送控制字06H到ALOUTDX,AL;對PC3置04.微型計(jì)算機(jī)標(biāo)準(zhǔn)并行口1D6D5D4D3D2D1D0特征位不用位選擇000:C口0位001:C口1位::111:C口7位1:置位0:復(fù)位外部設(shè)備與主機(jī)的連接②端口C置1/置0控制字1D6D5D4D3D2D1標(biāo)準(zhǔn)接口即通用接口。目前的標(biāo)準(zhǔn)并行接口主要作為打印機(jī)端口,接口使用25針DB-25連接器。常用的并行接口有如下幾種:·標(biāo)準(zhǔn)并行接口:有4位、8位和半8位。大多數(shù)的PC機(jī)配有4位或8位并口?!PP口(增強(qiáng)并行口):8位雙向傳送,可以用于連接掃描儀、CD-ROM驅(qū)動器等非打印設(shè)備?!CP口(擴(kuò)展并行口):支持多個(gè)邏輯設(shè)備尋址,在多任務(wù)環(huán)境下可以使用DMA方式。目前很多高檔微機(jī)的主板都集成了并行口插座,標(biāo)注為LPT1,LPT2或Paralle1和Paralle2。
外部設(shè)備與主機(jī)的連接標(biāo)準(zhǔn)接口即通用接口。目前的標(biāo)準(zhǔn)并行接口主要作為打印機(jī)端5.磁盤接口磁盤是一般計(jì)算機(jī)的駐在設(shè)備,因此磁盤與主機(jī)的接口顯得尤為重要,常見的磁盤接口有如下兩種:(1)IDE接口IDE接口也稱ATA端口,通常用于微機(jī)上做磁盤接口。IDE接口最多可接兩個(gè)容量不超過528M的磁盤驅(qū)動器,不支持DMA方式,但其成本低,在微機(jī)中很流行,幾乎所有的586主板上都集成了兩個(gè)IDE接口插座,標(biāo)注為IDE1和IDE2。(2)EIDE接口EIDE接口是對IDE的改進(jìn),它可連接4個(gè)外設(shè),而且外設(shè)不僅可以是磁盤,還可以是CD-ROM和其他磁盤備份設(shè)備。對于硬盤的容量,可以控制的范圍提高到了8G,其數(shù)據(jù)傳輸率要比IDE高。外部設(shè)備與主機(jī)的連接5.磁盤接口外部設(shè)備與主機(jī)的連接3.3.3串行通信和串行接口串行通信是在一根傳輸線上一位一位地傳輸信息。由于所用的傳輸線根數(shù)少,特別適合于遠(yuǎn)距離的信息傳送。1.串行通信的同步方式和異步方式并行通信時(shí),一組信息按位分別同時(shí)傳送,聯(lián)絡(luò)信號通過專用的控制線傳送,數(shù)據(jù)信息通過數(shù)據(jù)線傳送,由于所用的線不同,各位的作用很清楚。串行通信時(shí)情況就不同了。一組信息要一位一位地傳送,聯(lián)絡(luò)信號、數(shù)據(jù)信號都在一根線上依次傳送,為區(qū)分它們,就要給出串行通信的信息格式約定,并把串行通信分為異步和同步兩種信息格式,形成異步通信和同步通信兩種方式。外部設(shè)備與主機(jī)的連接3.3.3串行通信和串行接口外部設(shè)備與主機(jī)的連接異步通信(又稱起止式通信)是把每個(gè)字符作為獨(dú)立的整體進(jìn)行傳輸。為實(shí)現(xiàn)通信雙方的同步,每位字符傳送組織的方式如下圖所示:編碼第1位前加1位起始位,表示一個(gè)字符傳送的開始,編碼的最后1位后加1位或多位停止位,表示一個(gè)字符傳送完畢。信息編碼與停止位之間可插入校驗(yàn)位。這種通信方式中,從一個(gè)字符的結(jié)束到下一個(gè)字符的開始沒有固定的時(shí)間間隔,因此稱之為異步通信。0/10/1100/10/10/10/10/10/10/10/1100/10/10/10/1奇偶校驗(yàn)停止位起始位低位高位7位數(shù)據(jù)奇偶校驗(yàn)停止位起始位7位數(shù)據(jù)第n個(gè)字符第(n+1)個(gè)字符第(n-1)個(gè)字符下降邊指出下一個(gè)字符的開始數(shù)據(jù)流向外部設(shè)備與主機(jī)的連接異步通信(又稱起止式通信)是把每個(gè)字符作為獨(dú)同步通信是把數(shù)據(jù)塊(字符順序組織)作為傳輸單位,格式如下圖所示,只在數(shù)據(jù)塊的首部加同步字符,表示數(shù)據(jù)傳送的開始,數(shù)據(jù)塊的數(shù)據(jù)間沒有空隙,嚴(yán)格按規(guī)定的速率發(fā)送和接收,在數(shù)據(jù)塊尾部可帶校驗(yàn)碼,最后以同步字符結(jié)束,表示數(shù)據(jù)塊傳送結(jié)束。數(shù)據(jù)塊連同附加的同步字符和校驗(yàn)碼信息稱為一幀。SYNC字符1字符2…字符nCRC1CRC2SYNC1幀同步字符(開始)同步字符(結(jié)束)檢驗(yàn)字符1檢驗(yàn)字符2外部設(shè)備與主機(jī)的連接同步通信是把數(shù)據(jù)塊(字符順序組織)作為傳輸單同步字符起聯(lián)絡(luò)作用。不同的通信系統(tǒng)對同步字符的約定不同,有的約定用01111110作為同步字符,有的約定用00010110作為同步字符。傳送開始后,接收設(shè)備首先搜索同步字符。在同步字符后,傳送的是一個(gè)數(shù)據(jù)塊,為了正確地接收字符,要求接收設(shè)備和發(fā)送設(shè)備保持完全的同步。而為了使兩個(gè)系統(tǒng)的時(shí)鐘同步,需要有專門的設(shè)備(近距離傳輸時(shí),增加一根時(shí)鐘信號線)或采用鎖相技術(shù)(遠(yuǎn)距離通信時(shí))等提取同步信號。外部設(shè)備與主機(jī)的連接同步字符起聯(lián)絡(luò)作用。不同的通信系統(tǒng)對同步字符的約定不2.串行接口串行通信接口的基本任務(wù)有如下幾條:(1)實(shí)現(xiàn)串行數(shù)據(jù)格式化在異步通信方式下,自動生成(發(fā)送時(shí))或去掉(接收時(shí))啟/停位。在同步通信方式下發(fā)送時(shí),在數(shù)據(jù)塊前自動加上同步字符。(2)進(jìn)行串\|并變換把外部的串行輸入碼轉(zhuǎn)換成計(jì)算機(jī)所需的并行碼,把計(jì)算機(jī)內(nèi)部的并行碼轉(zhuǎn)換為在外部傳送的串行碼。(3)可靠性檢驗(yàn)發(fā)送時(shí)接口電路自動生成奇偶校驗(yàn)位等校驗(yàn)碼;接收時(shí),接口電路對字符加以自動校驗(yàn)。外部設(shè)備與主機(jī)的連接2.串行接口外部設(shè)備與主機(jī)的連接(4)實(shí)施連接和控制目前,廣泛使用的一種通用串行數(shù)據(jù)接口叫USART(異步接收發(fā)送器)。隨著大規(guī)模集成電路技術(shù)的發(fā)展,通用可編程同步和異步接口芯片USART的種類越來越多,Intel8251就是其中一個(gè)代表。下圖為Intel8251的結(jié)構(gòu)框圖。其編程原理與8255A有些相似。數(shù)據(jù)總線緩沖器讀/寫控制邏輯調(diào)制控制發(fā)送緩沖器發(fā)送控制接收緩沖器接收控制TXDTXRDYTXEMPTYTXCRXDRXRDYSYNDETRXCD0~7RESETCLKC/DRDWRCSDTRDSRRTSCTS內(nèi)部數(shù)據(jù)總線外部設(shè)備與主機(jī)的連接(4)實(shí)施連接和控制數(shù)據(jù)總線讀/寫調(diào)制控3.微型計(jì)算機(jī)標(biāo)準(zhǔn)串行口一般微機(jī)均有兩個(gè)串行口COM1和COM2。COM1采用9針DB-9連接器,COM2有的使用的是DB\|25針連接器。通常串行口常常用于鼠標(biāo)和打印機(jī)接口。由于串行傳送數(shù)據(jù)距離較長,因此,長距離數(shù)據(jù)通信中往往采用串行口。外部設(shè)備與主機(jī)的連接3.微型計(jì)算機(jī)標(biāo)準(zhǔn)串行口外部設(shè)備與主機(jī)的連接
3.4I/O設(shè)備管理
3.4.1緩沖區(qū)技術(shù)3.4.2設(shè)備驅(qū)動程序3.4.3I/O設(shè)備分配外部設(shè)備與主機(jī)的連接3.43.4.1緩沖區(qū)技術(shù)1.緩沖區(qū)的作用(1)高低速設(shè)備之間的速度匹配中斷和通道技術(shù)為CPU與外設(shè)之間的并行操作提供了可能。但是由于CPU與外設(shè)之間的速度的不匹配以及外設(shè)頻繁地中斷CPU的運(yùn)行,仍會降低CPU的工作效率。為此在輸入/輸出系統(tǒng)中引入了緩沖技術(shù)。其基本方法是在CPU與外設(shè)之間設(shè)置一個(gè)緩沖區(qū),當(dāng)CPU要向外設(shè)輸出數(shù)據(jù)時(shí),先把數(shù)據(jù)送到緩沖區(qū)中,讓外設(shè)慢慢地去“消化”,CPU可以繼續(xù)進(jìn)行別的工作;當(dāng)外設(shè)要向CPU輸入數(shù)據(jù)時(shí),先慢慢地把數(shù)據(jù)送到緩沖區(qū)中,CPU需要時(shí)可以像使用內(nèi)存中的數(shù)據(jù)那樣使用緩沖區(qū)中的數(shù)據(jù)。外部設(shè)備與主機(jī)的連接3.4.1緩沖區(qū)技術(shù)外部設(shè)備與主機(jī)的連接外部設(shè)備雖然慢但處理的數(shù)據(jù)量少,CPU處理的數(shù)據(jù)量大但速度快,借用緩沖就能很好地解決二者之間的匹配問題。例如如CPU與打印機(jī)通信時(shí),當(dāng)CPU引發(fā)一個(gè)輸出時(shí),只需快速地把數(shù)據(jù)送到緩沖區(qū)中即可,接著便可以去作別的工作,緩沖區(qū)中的數(shù)據(jù)則由打印機(jī)慢慢地享用,從而減少了中斷次數(shù)。
在存儲體系中,緩沖技術(shù)成為解決容量與速度之間的矛盾的主要方法,Cache實(shí)際上就是主存與CPU之間的緩沖區(qū)。再如,當(dāng)CPU要與磁盤交換數(shù)據(jù)時(shí),也以緩沖區(qū)作為中間過渡環(huán)節(jié)。(2)一次讀入的信息能多次使用使用過文件的人都會有一個(gè)體驗(yàn):當(dāng)你要瀏覽一張軟盤中的文件目錄時(shí),第一次時(shí)間是比較慢的;如果你中間又瀏覽另外的目錄再返回來瀏覽先前那張軟盤目錄時(shí),會發(fā)現(xiàn)快多了。原因就在于第一次瀏覽時(shí),軟盤目錄已經(jīng)調(diào)入內(nèi)存的緩沖區(qū)了。一般地說,在通道或控制器內(nèi)設(shè)置局部寄存器,可以暫存I/O信息,減少CPU的中斷次數(shù)。
外部設(shè)備與主機(jī)的連接外部設(shè)備雖然慢但處理的數(shù)據(jù)量少,CPU處理的數(shù)據(jù)量大(3)中轉(zhuǎn)通過中轉(zhuǎn)避免外設(shè)與CPU之間的完全互連,可以解決設(shè)備連接和數(shù)據(jù)傳輸?shù)膹?fù)雜性。2.緩沖區(qū)的實(shí)現(xiàn)為了有效地進(jìn)行I/O操作,緩沖存儲已經(jīng)成為不同設(shè)備之間相互連接的重要環(huán)節(jié)?,F(xiàn)代計(jì)算機(jī)系統(tǒng)中在信息傳輸?shù)耐ǖ郎显O(shè)置和增加了各種各樣的存儲器,例如顯示存儲器、打印緩沖區(qū)等。當(dāng)然,并非所有的I/O操作都要經(jīng)過緩沖區(qū)。例如有的作業(yè)可以直接輸入到外存,再由外存調(diào)入內(nèi)存執(zhí)行。緩沖區(qū)可以用硬件實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn)。硬緩沖區(qū)通常設(shè)在設(shè)備中,軟緩沖區(qū)由軟件設(shè)置在內(nèi)存中。外部設(shè)備與主機(jī)的連接(3)中轉(zhuǎn)外部設(shè)備與主機(jī)的連接按照組織方式緩沖技術(shù)可以分為:單緩沖、雙緩沖、多緩沖和緩沖池等形式。(1)單緩沖:在設(shè)備與CPU之間設(shè)置一個(gè)緩沖區(qū)。顯然單緩沖區(qū)難以解決兩臺設(shè)備之間的并行操作。(2)雙緩沖:在設(shè)備與CPU之間設(shè)置兩個(gè)緩沖區(qū),這樣可以解決兩臺設(shè)備之間的并行操作問題。(3)多緩沖:把多個(gè)緩沖區(qū)連接起來組成兩個(gè)部分:一部分用于輸入,另一部分用于輸出。(4)緩沖池:把多個(gè)緩沖區(qū)連接起來統(tǒng)一管理,既可用于輸入,又可用于輸出。
外部設(shè)備與主機(jī)的連接外部設(shè)備與主機(jī)的連接3.緩沖區(qū)管理下面以緩沖池為例來介紹緩沖區(qū)的管理方法。一個(gè)緩沖區(qū)由兩部分組成:緩沖首部和緩沖體。緩沖體用于存放數(shù)據(jù)。緩沖首部用來標(biāo)識所在緩沖區(qū)以便對其進(jìn)行管理,它由下圖所示的幾部分組成。設(shè)備號數(shù)據(jù)塊號緩沖器號互斥標(biāo)識位隊(duì)列連接指針外部設(shè)備與主機(jī)的連接3.緩沖區(qū)管理設(shè)備號數(shù)據(jù)塊號緩沖器號互斥標(biāo)識位隊(duì)列連接指針利用緩沖首部的隊(duì)列連接指針,可以將緩沖池中的緩沖區(qū)組織成3種隊(duì)列:·空閑緩沖隊(duì)列:未使用的緩沖區(qū)隊(duì)列?!ぽ斎刖彌_隊(duì)列:裝滿輸入數(shù)據(jù)的緩沖區(qū)組成的隊(duì)列?!?/p>
輸出緩沖隊(duì)列:裝滿輸出數(shù)據(jù)的緩沖區(qū)組成的隊(duì)列。
外部設(shè)備與主機(jī)的連接利用緩沖首部的隊(duì)列連接指針,可以將緩沖池中的緩緩沖池工作時(shí),將按如下算法進(jìn)行:(1)當(dāng)設(shè)備有輸入數(shù)據(jù)時(shí),先從空閑隊(duì)列中(隊(duì)首)申請一個(gè)緩沖區(qū)——稱為收容輸入緩沖區(qū),將輸入數(shù)據(jù)寫入收容輸入緩沖區(qū)中;寫滿后,按一定規(guī)則(如FIFO)插入到輸入緩沖隊(duì)列中。(2)當(dāng)CPU(系統(tǒng))要提取數(shù)據(jù)時(shí),將從輸入緩沖隊(duì)列中(隊(duì)首)申請一個(gè)緩沖區(qū)——稱為提取輸入緩沖區(qū),從中讀取數(shù)據(jù);提取結(jié)束后,將該緩沖區(qū)插入到空閑隊(duì)列。
(3)當(dāng)CPU要輸出數(shù)據(jù)時(shí),先從空閑隊(duì)列中(隊(duì)首)申請一個(gè)緩沖區(qū)——稱為收容輸出緩沖區(qū),將輸出數(shù)據(jù)寫入收容輸出緩沖區(qū)中;寫滿后,按一定規(guī)則(如FIFO)插入到輸出緩沖隊(duì)列中。(4)當(dāng)設(shè)備要提取數(shù)據(jù)時(shí),將從輸出緩沖隊(duì)列中(隊(duì)首)申請一個(gè)緩沖區(qū),從中讀取數(shù)據(jù)——稱為提取輸出緩沖區(qū);提取結(jié)束后,將該緩沖區(qū)插入到空閑隊(duì)列。上述收容輸入緩沖區(qū)、提取輸入緩沖區(qū)、收容輸出緩沖區(qū)和提取輸出緩沖區(qū)統(tǒng)稱為工作緩沖區(qū)。與它們對應(yīng)的輸入、提取、輸出操作,由相應(yīng)的過程實(shí)現(xiàn)。外部設(shè)備與主機(jī)的連接緩沖池工作時(shí),將按如下算法進(jìn)行:外部設(shè)備與主機(jī)3.4.2設(shè)備驅(qū)動程序每一臺外部設(shè)備的使用都要涉及DMA或中斷過程,并要借助一些特定的寄存器進(jìn)行機(jī)器指令級的操作。但是,用戶都是通過一些應(yīng)用程序,使用簡單的命令來使用外部設(shè)備的,不可能進(jìn)行這樣一些低級的操作。另一方面,隨著計(jì)算機(jī)應(yīng)用的深入和廣泛展開,計(jì)算機(jī)所使用的外部設(shè)備品種越來越多。即使同樣一種用途的設(shè)備,由于生產(chǎn)廠家不用,型號不同,其操作方法也會不同。操作系統(tǒng)只是設(shè)置了一些通用性的I/O操作和管理模塊,與設(shè)備的具體操作關(guān)系密切的程序,往往是設(shè)備制造廠家在研制設(shè)備的同時(shí)開發(fā)的。這種程序就稱為設(shè)備驅(qū)動程序。外部設(shè)備與主機(jī)的連接3.4.2設(shè)備驅(qū)動程序外部設(shè)備與主機(jī)的連接1.設(shè)備驅(qū)動程序的功能設(shè)備驅(qū)動程序進(jìn)行的處理工作,對不同的設(shè)備有所不同,但基本任務(wù)是啟動指定設(shè)備,并且在啟動設(shè)備之前完成一系列準(zhǔn)備工作。一般地說,設(shè)備驅(qū)動程序的工作過程如下所述。(1)將應(yīng)用程序中的抽象要求轉(zhuǎn)換為具體要求設(shè)備是由設(shè)備控制器控制的。但是用戶與上層軟件的應(yīng)用程序并不了解設(shè)備控制器的細(xì)節(jié),而只能給它提出抽象要求——命令。而設(shè)備控制器又不能理解這些抽象要求。于是,驅(qū)動程序就肩負(fù)了中間轉(zhuǎn)換作用,要將抽象要求轉(zhuǎn)換為具體要求,確定將命令、數(shù)據(jù)和參數(shù)分別送到設(shè)備控制器的哪個(gè)寄存器。外部設(shè)備與主機(jī)的連接1.設(shè)備驅(qū)動程序的功能外部設(shè)備與主機(jī)的連接(2)對I/O請求進(jìn)行合法性檢查檢查用戶要求是否能為設(shè)備接受,是否屬于設(shè)備的功能范圍。(3)讀出并檢查設(shè)備狀態(tài)啟動設(shè)備控制器的條件是設(shè)備就緒,如對打印機(jī)要檢查:電源是否合上、是否有紙等;對軟盤驅(qū)動器要檢查:有無磁盤、有無寫保護(hù)等。(4)傳送必要的參數(shù)如要提供本次傳送的字節(jié)數(shù)等。(5)設(shè)置工作方式例如對于異步串行通信接口要設(shè)置:傳輸速率、奇偶檢驗(yàn)方式、停止位寬度及數(shù)據(jù)長度等。(6)啟動I/O設(shè)備完成上述工作后,即可向設(shè)備控制器發(fā)出啟動命令。外部設(shè)備與主機(jī)的連接(2)對I/O請求進(jìn)行合法性檢查外部設(shè)備與主機(jī)的連2.設(shè)備驅(qū)動程序的結(jié)構(gòu)一般說來,設(shè)備驅(qū)動程序應(yīng)包含如下5部分:(1)設(shè)備標(biāo)題(deviceheader);(2)數(shù)據(jù)存儲和局部過程(datastorage&localprocedure);(3)策略過程(strategyprocedure);(4)中斷過程(interruptprocedure);(5)命令處理子程序(commandprocessing)。外部設(shè)備與主機(jī)的連接2.設(shè)備驅(qū)動程序的結(jié)構(gòu)外部設(shè)備與主機(jī)的連接3.設(shè)備驅(qū)動程序在I/O系統(tǒng)中的位置下圖給出了I/O系統(tǒng)的一般結(jié)構(gòu)。自底向上,它由硬件、中斷處理程序、設(shè)備驅(qū)動程序、與設(shè)備無關(guān)的系統(tǒng)軟件以及用戶空間軟件等5個(gè)層次組成。圖中的箭頭給出了I/O部分的控制流。與設(shè)備無關(guān)的系統(tǒng)軟件的主要作用是在用戶應(yīng)用程序和與設(shè)備相關(guān)的程序之間提供一個(gè)統(tǒng)一的接口。它的具體作用如下所述。用戶空間軟件與設(shè)備無關(guān)的系統(tǒng)軟件設(shè)備驅(qū)動順序中斷處理程序硬件I/O請求I/O回答外部設(shè)備與主機(jī)的連接3.設(shè)備驅(qū)動程序在I/O系統(tǒng)中的位置用戶空間(1)名字映射通常,在操作系統(tǒng)的I/O用戶中對輸入輸出設(shè)備和文件采取了統(tǒng)一的命名。與設(shè)備無關(guān)的系統(tǒng)軟件的一個(gè)作用就是將一個(gè)名字映射到相應(yīng)的設(shè)備驅(qū)動程序上。(2)設(shè)備保護(hù)防止無授權(quán)的訪問或授權(quán)用戶的非法操作。在UNIX中采用權(quán)限模式,對于系統(tǒng)中的I/O設(shè)備提供“rwx”位進(jìn)行保護(hù)。(3)緩沖并提供與設(shè)備無關(guān)的邏輯塊無論塊設(shè)備還是字符設(shè)備,一般都要使用緩沖區(qū)。對于塊設(shè)備,每當(dāng)緩沖區(qū)滿,就就進(jìn)行一次讀寫操作;但最后一次傳送,緩沖區(qū)不一定恰好滿,這時(shí)要全部“推”出緩沖區(qū)。對于字符設(shè)備,每傳送一個(gè)字符,進(jìn)行一次讀寫操作。在各種輸入輸出設(shè)備中,緩沖存儲器的大小、讀寫速度和傳輸速率各不相同。與設(shè)備無關(guān)的系統(tǒng)軟件要對高層屏蔽各種I/O設(shè)備空間的大小、處理速度和傳輸速率,向上層提供大小統(tǒng)一的邏輯塊尺寸。外部設(shè)備與主機(jī)的連接(1)名字映射外部設(shè)備與主機(jī)的連接(4)存儲設(shè)備的塊分配對于寫磁盤操作,操作系統(tǒng)要為其分配新的存儲塊。為此,要為每個(gè)磁盤設(shè)置一張空閑塊表或位圖。其算法是與設(shè)備無關(guān)的。(5)獨(dú)占設(shè)備的分配和釋放獨(dú)占設(shè)備只有空閑時(shí),才能接受一個(gè)應(yīng)用請求,才能被打開;使用完畢,必須釋放、關(guān)閉,以備下一個(gè)進(jìn)程使用。(6)協(xié)助出錯(cuò)處理一般說來,出錯(cuò)處理是設(shè)備驅(qū)動程序的工作,因?yàn)榇蠖鄶?shù)錯(cuò)誤與設(shè)備密切相關(guān)。但是,也有一些錯(cuò)誤不一定由輸入輸出設(shè)備的錯(cuò)誤造成。如:磁盤塊不能讀時(shí),驅(qū)動程序?qū)L試重讀;重讀若干次后,還不能排除,設(shè)備驅(qū)動程序就要通知與設(shè)備無關(guān)軟件,給出錯(cuò)誤信息報(bào)告給調(diào)用者。外部設(shè)備與主機(jī)的連接(4)存儲設(shè)備的塊分配外部設(shè)備與主機(jī)的連接用戶空間的I/O軟件直接反映用戶的抽象I/O需求,多數(shù)通過I/O系統(tǒng)調(diào)用,由庫函數(shù)以及內(nèi)核之外運(yùn)行的程序?qū)崿F(xiàn)。在C語言程序中,庫函數(shù)的作用是把系統(tǒng)調(diào)用的參數(shù)放到合適的位置,由其他I/O過程實(shí)現(xiàn)真正的操作。在多道程序設(shè)計(jì)系統(tǒng)中,也可以采用SPOOL系統(tǒng)實(shí)現(xiàn)對獨(dú)占設(shè)備的用戶層I/O軟件處理。外部設(shè)備與主機(jī)的連接用戶空間的I/O軟件直接反映用戶的抽象I/O3.4.3I/O設(shè)備分配在現(xiàn)代多任務(wù)系統(tǒng)中,并不是每一個(gè)應(yīng)用都能在其需要的時(shí)候就一定能申請到所需要的設(shè)備資源。因此,設(shè)備管理的一項(xiàng)重要內(nèi)容是設(shè)備的分配,即每個(gè)應(yīng)用需要設(shè)備服務(wù)時(shí),首先要向設(shè)備管理程序提出資源申請;設(shè)備管理程序則按一定的算法為這些申請分配設(shè)備資源。如果申請的應(yīng)用得不到資源,就被放到資源等待隊(duì)列中等待,直到所需的資源被釋放??偟膩碚f,設(shè)備分配方式有兩種方式:靜態(tài)方式和動態(tài)方式。靜態(tài)方式是在用戶作業(yè)開始之前,系統(tǒng)一次性地將該作業(yè)所需的設(shè)備、控制器和通道分配都分配給它,直到該作業(yè)退出。這種方法不會產(chǎn)生死鎖,但設(shè)備的使用效率低。動態(tài)分配是在作業(yè)進(jìn)行過程中動態(tài)地按需分配,及時(shí)收回。它有利于提高設(shè)備的利用率,但如果分配不當(dāng),會出現(xiàn)死鎖。具體的分配方式,還要考慮設(shè)備固有的屬性——設(shè)備特性。按照設(shè)備特性,設(shè)備可以分為獨(dú)占、共享和虛擬設(shè)備。外部設(shè)備與主機(jī)的連接3.4.3I/O設(shè)備分配外部設(shè)備與主機(jī)的連接1.獨(dú)占設(shè)備的分配——虛擬設(shè)備技術(shù)獨(dú)占設(shè)備是每次只能分配給一個(gè)應(yīng)用的設(shè)備。由于系統(tǒng)中同一類的獨(dú)占設(shè)備是有限的,因而由于不能滿足多個(gè)應(yīng)用的爭用,會引起大量應(yīng)用的等待,成為系統(tǒng)的“瓶頸”;另一方面,申請到獨(dú)占設(shè)備的應(yīng)用卻利用率極低,設(shè)備還往往處于空閑狀態(tài)。解決這一矛盾的辦法是虛擬設(shè)備技術(shù),或稱SPOOL(SimultaneousPeripheralOperationOn-Line,假脫機(jī)操作)技術(shù)。下面介紹假脫機(jī)技術(shù)的基本原理。外部設(shè)備與主機(jī)的連接1.獨(dú)占設(shè)備的分配——虛擬設(shè)備技術(shù)外部設(shè)備(1)脫機(jī)、聯(lián)機(jī)和假脫機(jī)字符設(shè)備與主機(jī)(具體地講是設(shè)備與內(nèi)存)的信息交換有兩種基本方式:脫機(jī)方式和聯(lián)機(jī)方式。聯(lián)機(jī)信息交換方式就是一般字符設(shè)備直接與內(nèi)存交換信息。這種方式就是前面介紹的獨(dú)享設(shè)備的工作方式,也具有獨(dú)享設(shè)備的不足。脫機(jī)信息交換方式的字符設(shè)備一般要以一個(gè)塊設(shè)備為中間過渡。以輸入為例,先用一臺外圍機(jī)將字符輸入設(shè)備上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省成都市蓉城高中聯(lián)盟2022-2023學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試題及答案
- 2025年個(gè)人裝修合同參考樣本(4篇)
- 2025年個(gè)人租房正規(guī)合同模板(2篇)
- 2025年個(gè)人無息借款合同參考模板(三篇)
- 游泳館裝修工程用工合同
- 2025年度安防用電安全責(zé)任保險(xiǎn)合同
- 塑料助劑液堿運(yùn)送協(xié)議
- 寵物活體單次空運(yùn)合同
- 機(jī)械設(shè)備融資貸款居間合同
- 民宿生態(tài)園裝修合同范本
- 長期處方管理規(guī)范
- 汽車電氣設(shè)備檢測與維修中職全套教學(xué)課件
- 幼兒園大班數(shù)學(xué)PPT課件2、3、4的分解與組成
- 遙感圖像的分析解譯(共34張PPT)
- “花卉栽培”培訓(xùn)教學(xué)計(jì)劃
- API682機(jī)械密封沖洗方案(中文)課件
- 七年級上冊英語完形填空、閱讀理解綜合訓(xùn)練100題(含參考答案)
- DB35T 1345-2013蘭壽系列金魚養(yǎng)殖技術(shù)規(guī)范
- 祛痘產(chǎn)品原料配方與消費(fèi)者祛痘方案選擇建議
- 年產(chǎn)一萬噸蓖麻項(xiàng)目可行性論證報(bào)告
- 儒林外史每回概括
評論
0/150
提交評論