版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章輸入輸出系統(tǒng)2023/2/51輸入輸出系統(tǒng)(InputandOutputSystem,簡(jiǎn)稱I/O)是計(jì)算機(jī)硬件系統(tǒng)的重要組成部分,又稱作輸入輸出模塊。隨著計(jì)算機(jī)系統(tǒng)的不斷發(fā)展,應(yīng)用范圍的不斷擴(kuò)大,I/O設(shè)備的數(shù)量和種類也越來(lái)越多,它們與主機(jī)的聯(lián)絡(luò)方式及信息交換方式也各不相同。本章主要介紹I/O系統(tǒng)的基本概念、常用外部設(shè)備、各種I/O接口以及四種外設(shè)和主機(jī)交換信息的控制方式。2023/2/527.1I/O系統(tǒng)基本概念
輸入輸出系統(tǒng)由外部設(shè)備(輸入輸出設(shè)備和輔助存儲(chǔ)器)及其與主機(jī)(CPU和存儲(chǔ)器)之間的控制部件和計(jì)算機(jī)總線構(gòu)成,其作用是實(shí)現(xiàn)外部設(shè)備與主機(jī)之間的數(shù)據(jù)交換。輸入設(shè)備是向計(jì)算機(jī)中送入程序和數(shù)據(jù)的具有一定獨(dú)立功能的設(shè)備,通過(guò)接口和總線與計(jì)算機(jī)主機(jī)連通,用于人機(jī)交互聯(lián)系,如計(jì)算機(jī)鍵盤和鼠標(biāo)等。輸出設(shè)備是計(jì)算機(jī)中用于送出計(jì)算機(jī)內(nèi)部信息的設(shè)備,例如打印機(jī)、顯示器等。外部設(shè)備與主機(jī)之間的控制部件稱之為設(shè)備控制器,有時(shí)也稱為設(shè)備適配器或I/O接口,諸如磁盤控制器、打印機(jī)控制器等,其作用是控制并實(shí)現(xiàn)主機(jī)與外部設(shè)備之間的數(shù)據(jù)傳送。
2023/2/53常用的輸入設(shè)備有:鍵盤、圖形輸入設(shè)備(鼠標(biāo)器、圖形板、操縱桿、光筆)、圖像輸入設(shè)備(掃描儀、傳真機(jī)、攝像機(jī)、數(shù)碼相機(jī))、條形碼閱讀器、語(yǔ)音與文字輸入設(shè)備等。常用的輸出設(shè)備有:顯示器(字符、圖形、圖像)、打印機(jī)(針式、噴墨、激光)、繪圖儀、語(yǔ)音輸出設(shè)備等。總線是計(jì)算機(jī)各個(gè)部件之間傳輸信息的公共通路,包括傳輸數(shù)據(jù)信號(hào)的邏輯電路、管理信息傳輸協(xié)議的邏輯電路和物理連線。根據(jù)承擔(dān)功能的不同,總線可以分為以下三種:(1)數(shù)據(jù)總線:傳輸數(shù)據(jù)信息,頻率與寬度正比于吞吐量。(2)地址總線:傳輸?shù)刂沸畔?,寬度決定了內(nèi)存尋址空間。(3)控制總線:給出總線周期類型、I/O操作完成時(shí)刻、DMA周期、中斷等有關(guān)的控制信號(hào)等。輸入輸出系統(tǒng)的結(jié)構(gòu)及其與CPU之間的連接關(guān)系如圖7.1所示。
2023/2/54圖7.1輸入輸出系統(tǒng)結(jié)構(gòu)圖2023/2/557.2外部設(shè)備7.2.1輸入設(shè)備在計(jì)算機(jī)中,輸入設(shè)備主要完成輸入程序、數(shù)據(jù)和操作命令等功能,也是進(jìn)行人機(jī)對(duì)話的主要部件。當(dāng)實(shí)現(xiàn)人工輸入時(shí),往往與顯示器(輸出設(shè)備)聯(lián)用,以便及時(shí)檢驗(yàn)并修正輸入時(shí)的錯(cuò)誤。也可利用軟盤、磁帶等可脫機(jī)錄入的介質(zhì)進(jìn)行輸入。1.鍵盤鍵盤是目前應(yīng)用最普遍的一種輸入設(shè)備,與顯示器組成終端設(shè)備。鍵盤是由一組排列成陣列形式的按鍵開關(guān)組成的,每按下一個(gè)鍵,產(chǎn)生一個(gè)相應(yīng)的字符代碼(每個(gè)按鍵的位置碼),然后將它轉(zhuǎn)換成ASCII(AmericanStandardCodeforInformationInterchange,簡(jiǎn)稱ASCII)碼或其他碼,送主機(jī)。目前常用的標(biāo)準(zhǔn)鍵盤有101個(gè)鍵,它除了提供通常的ASCII字符以外,還有多個(gè)功能鍵(由軟件系統(tǒng)定義功能)、光標(biāo)控制鍵(上、下、左、右移動(dòng)等)與編輯鍵(插入或消去字符)等。圖7.2給出了一個(gè)典型鍵盤的外觀。2023/2/56圖7.2鍵盤(1)鍵盤的功能計(jì)算機(jī)的鍵盤是通過(guò)手工輸入字符,用于向計(jì)算機(jī)送入操作命令、源程序語(yǔ)句、運(yùn)行程序所使用的數(shù)據(jù)等內(nèi)容的輸入設(shè)備。(2)鍵盤的基本組成機(jī)械部分:按鍵(導(dǎo)電件)+彈簧+金屬件(由導(dǎo)電件控制實(shí)現(xiàn)電信號(hào)連通與斷開)。電子線路部分:識(shí)別按鍵,給出編碼;通過(guò)接口把編碼送給主機(jī)。由鍵盤上專門的CPU完成。(3)鍵盤接口串口、USB接口。2023/2/57(4)鍵盤的工作原理識(shí)別閉合鍵的具體實(shí)現(xiàn)方法:采用行列掃描的方法,即把每個(gè)鍵分配在一個(gè)m列*n行矩陣的一個(gè)交叉點(diǎn)上,通過(guò)并行接口向n行依次送出僅有一行為0、其余各行均為1的值,再用并行接口讀入m列上的取值。當(dāng)該值不為FFH(全1碼)時(shí),表明有鍵按下,若該值僅含一位零,表明取值為0的行、列的交叉點(diǎn)的鍵被按下,用一個(gè)對(duì)照表即可得到相應(yīng)鍵的編碼。上述方法的原理如圖7.3所示。2023/2/58圖7.3鍵盤工作原理圖2023/2/59對(duì)照上圖,可將識(shí)別閉合鍵的實(shí)現(xiàn)過(guò)程解釋如下:并行接口送來(lái)10…1的n位數(shù)值到二極管的負(fù)極,并行接口接收鍵盤線路m列送出的m位數(shù)據(jù)。當(dāng)A鍵按下去后,5V電源送出經(jīng)電阻、A鍵、二極管到0信號(hào)處的電流,從而在第2列產(chǎn)生0電平(紅線所示),其他各列都給出高電平(黑線所示),故并行接口接收到的是110…1這樣的m位數(shù)據(jù)。設(shè)計(jì)實(shí)用的鍵盤時(shí),尚需解決如下的一些問(wèn)題:(1)抖動(dòng):按下和松開按鍵時(shí)按鍵在接通和斷開位置之間跳動(dòng)幾次才能穩(wěn)定下來(lái)。(2)重鍵:多鍵同時(shí)按下,如何處理。2023/2/5102.鼠標(biāo)鼠標(biāo)的外觀如圖7.4所示。圖7.4鼠標(biāo)(1)鼠標(biāo)的產(chǎn)生的背景:圖形界面的出現(xiàn),需要鼠標(biāo)來(lái)進(jìn)行拖動(dòng)等操作。(2)鼠標(biāo)的功能:根據(jù)鼠標(biāo)的移動(dòng),在屏幕上移動(dòng)位置(定位);選中某個(gè)對(duì)象,進(jìn)而執(zhí)行某些操作。(3)鼠標(biāo)的種類:機(jī)械式鼠標(biāo)、光電式鼠標(biāo)。(4)鼠標(biāo)的接口:串口、USB接口。2023/2/511(5)機(jī)械鼠標(biāo)原理:底部有1個(gè)圓球,連接有兩個(gè)滑動(dòng)變阻器,圓球在移動(dòng)時(shí)帶動(dòng)變阻器,使X和Y方向電流產(chǎn)生變化,計(jì)算機(jī)主機(jī)由此計(jì)算出X和Y方向的位移,并將它在屏幕上進(jìn)行相應(yīng)的移動(dòng),鼠標(biāo)命令由鼠標(biāo)表面的按鍵決定。(6)光電鼠標(biāo)原理:光電鼠標(biāo)內(nèi)部有一個(gè)發(fā)光二極管,它發(fā)出的光線經(jīng)底部表面反射后,通過(guò)一組光學(xué)透鏡傳輸?shù)揭粋€(gè)光感應(yīng)器件內(nèi)成像。當(dāng)光電鼠標(biāo)移動(dòng)時(shí),其移動(dòng)軌跡便會(huì)被記錄為一組高速拍攝的連貫圖像,其內(nèi)部的一塊專用圖像分析芯片通過(guò)對(duì)這些圖像上特征點(diǎn)位置的變化進(jìn)行分析,來(lái)判斷鼠標(biāo)的移動(dòng)方向和移動(dòng)距離,從而完成光標(biāo)的定位。2023/2/5127.2.2輸出設(shè)備點(diǎn)陣式設(shè)備運(yùn)行原理:把字形、圖形、圖像等信息以不同的點(diǎn)陣布局方式表現(xiàn)出來(lái),在計(jì)算機(jī)顯示器屏幕上,這些被顯示的內(nèi)容,是以可見光形式表現(xiàn)出來(lái)的;而在打印紙上,通常是以“印刷”(染色)的效果表現(xiàn)出來(lái)的。它們共同的特點(diǎn)是,要表示的信息,最終要以平面上的各種可見的“形狀”體現(xiàn)出來(lái),而這些“形狀”原理上又都是以許多斷續(xù)的點(diǎn)的不同布局表示出來(lái)的。點(diǎn)陣式設(shè)備需要解決的問(wèn)題:(1)點(diǎn)陣布局規(guī)律:確定形狀的對(duì)象(保存對(duì)象的布局),無(wú)確定規(guī)律對(duì)象(保存所有點(diǎn)信息)。(2)點(diǎn)陣的密度:更密的點(diǎn)可以把要表示的形狀呈現(xiàn)得更精細(xì)準(zhǔn)確,但表示同樣大小的形狀,用到的數(shù)據(jù)數(shù)量會(huì)更多,對(duì)輸入輸出設(shè)備的處理精度要求也越高。(3)點(diǎn)陣中點(diǎn)的屬性:二值表示(0、1表示點(diǎn)的有、無(wú)),單色表示(灰度級(jí)表示不同亮度),彩色表示(RGB三基色混和表示彩色)。點(diǎn)陣式表示方法舉例見圖7.5。2023/2/513圖7.5點(diǎn)陣式表示方法舉例2023/2/5141.顯示器顯示器分為陰極射線管顯示器、液晶顯示器、等離子顯示器,如圖7.6所示。圖7.6顯示器2023/2/515陰極射線管顯示器的成像原理:通過(guò)電子束撞擊熒光板上的熒光粉,發(fā)光產(chǎn)生亮點(diǎn)。陰極射線管顯示器的基本組成:電子槍、顯示屏和偏轉(zhuǎn)控制裝置,見圖7.7。圖7.7陰極射線管顯示器的基本組成2023/2/516顯示器的相關(guān)指標(biāo):(1)分辨率:沿水平和垂直兩個(gè)方向把屏幕分成許多小的區(qū)域,一個(gè)小的區(qū)域?qū)?yīng)一個(gè)發(fā)光點(diǎn)(稱為像素),一個(gè)屏幕上所提供的全部像素的數(shù)目被稱為分辨率。(2)掃描:電子束在顯示屏上按某種軌跡運(yùn)動(dòng)被稱為掃描,控制電子束掃描軌跡的電路被稱為掃描控制邏輯部件。光柵掃描:電子束從左到右,從上到下掃描整個(gè)屏幕(隔行掃描和逐行掃描)。隨機(jī)掃描:電子束只掃描需要顯示的點(diǎn),而不是整個(gè)屏幕。(3)刷新:電子束打在熒光粉上發(fā)出的光只能持續(xù)一段時(shí)間,該時(shí)間稱為余輝時(shí)間;為了得到穩(wěn)定的圖像,需要重復(fù)掃描整個(gè)屏幕(每秒50場(chǎng)),稱之為刷新;為了重復(fù)掃描,需要存儲(chǔ)屏幕字符或者圖像信息,所使用的存儲(chǔ)器稱為幀存儲(chǔ)器。2023/2/517字符顯示的一般原理:為有效地提供屏幕上要顯示的內(nèi)容,字符顯示器內(nèi)有一個(gè)顯示存儲(chǔ)器VRAM,用于保存將顯示在整個(gè)屏幕的全部字符,顯示存儲(chǔ)器中保存的是這些字符的ASCII碼和顯示屬性,每個(gè)字符都配有一個(gè)屬性字節(jié),用來(lái)描述字符的顯示屬性,即字符的顏色、亮度、是否顯示等等。顯示存儲(chǔ)器是一個(gè)可讀寫的存儲(chǔ)器,被顯示的字符將由計(jì)算機(jī)主機(jī)以兩個(gè)字節(jié)(ASCII碼和顯示屬性)的方式提供并寫進(jìn)該存儲(chǔ)器中,由顯示器的控制邏輯按需要從中讀出準(zhǔn)備顯示的一個(gè)字符的ASCII碼的字節(jié)值和顯示屬性的字節(jié)值。字符發(fā)生器,就是用于保存每個(gè)可顯示字符字形的點(diǎn)陣數(shù)據(jù)的邏輯部件,通常是一個(gè)只讀存儲(chǔ)器(ROM),如果每個(gè)字符的字形用7(橫向)×9(縱向)的點(diǎn)陣表示,則每個(gè)字符字形的點(diǎn)陣數(shù)據(jù)要占用9個(gè)存儲(chǔ)器字節(jié)(橫向的7個(gè)點(diǎn)的布局用一個(gè)字節(jié)表示)。字形的產(chǎn)生過(guò)程如圖7.8所示。2023/2/518圖7.8字形的產(chǎn)生過(guò)程2023/2/519字符顯示的一般原理如圖7.9所示。圖7.9字符顯示的一般原理2023/2/520CRT圖形顯示器的特點(diǎn):(1)大的VRAM:要求顯示存儲(chǔ)器的容量大,設(shè)分辨率為1024*768,真彩色,則一幀圖像的存儲(chǔ)容量為1024*768*3Byte=2.3MB。(2)高速總線:刷新頻率為50場(chǎng)/秒,帶寬為2.3*50MB/s=115MB/s;需要連接PCI總線。(3)專用接口:分辨率更高的圖形設(shè)備將采用專用接口。液晶顯示器:(1)顯示原理:利用液晶的光學(xué)特性,平板后面設(shè)置光源,通過(guò)液晶改變透射光的偏振性(從水平到垂直),電場(chǎng)控制。(2)特點(diǎn):平板顯示,不需要高壓電,移動(dòng)方便,無(wú)輻射,價(jià)格較高。2023/2/521等離子顯示器:(1)成像原理:利用惰性氣體在一定電壓作用下產(chǎn)生氣體放電的特性,產(chǎn)生紫外線,紫外線激發(fā)熒光粉發(fā)光,在玻璃板之間隔開成像素,每個(gè)像素點(diǎn)內(nèi)有惰性氣體和三色熒光粉,用電極控制。(2)特點(diǎn):易于實(shí)現(xiàn)大畫面顯示,全色顯示,色純度與CRT相當(dāng),視角達(dá)160度,壽命長(zhǎng),功耗大、成本高、對(duì)比度差。2.打印機(jī)打印機(jī)分為針式打印機(jī)、噴墨打印機(jī)、激光打印機(jī)等不同類型,如圖7.10所示。2023/2/522打印機(jī)是計(jì)算機(jī)最基本的輸出形式之一,可將打印在紙上的信息長(zhǎng)期保存。打印設(shè)備種類繁多,性能各異,結(jié)構(gòu)上的差別也較大,按印字方式分類有以下兩類:(1)擊打式:通過(guò)印字的機(jī)械裝置撞擊色帶以便把字形染印在紙上,速度慢,噪聲大,打印質(zhì)量一般。包括點(diǎn)陣針式、字模式等類型。(2)非擊打式:通過(guò)靜電、噴墨等非機(jī)械撞擊方式完成在紙上著色,打印速度快,噪聲低,印字質(zhì)量高。包括噴墨、激光、熱轉(zhuǎn)印等類型。打印設(shè)備與計(jì)算機(jī)主機(jī)的連接方式有:串行接口、并行接口、USB接口。下面簡(jiǎn)單介紹一下三種常用的打印機(jī)的組成機(jī)構(gòu)和它們的打印過(guò)程。(1)針式打印機(jī)打印原理:用鋼針或鎢錸合金針撞擊色帶,將色帶的顏色印到打印紙上,完成一個(gè)點(diǎn)的輸出,完成全部點(diǎn)陣后輸出完畢。2023/2/523基本組成:打印頭、輸紙機(jī)構(gòu)、色帶機(jī)構(gòu)及打印控制器。打印控制器包括字符緩沖存儲(chǔ)器、字型發(fā)生器、時(shí)序控制電路和接口電路四部分。輸出過(guò)程:字車將打印頭橫向移動(dòng)到打印起始位置,取出輸出對(duì)象點(diǎn)陣的第一列,驅(qū)動(dòng)打印針撞擊色帶,字車移動(dòng)一小格,輸出下一列,直到本行輸出完畢,回車,輸紙機(jī)構(gòu)進(jìn)紙,輸出下一行。針式打印機(jī)和CRT字符顯示器工作原理比較:CRT字符顯示器使用電子束撞擊熒光粉產(chǎn)生發(fā)光點(diǎn),針式打印機(jī)是用打印針撞擊色帶產(chǎn)生印染點(diǎn);CRT字符顯示器以整屏信息為單位連續(xù)掃描以維持穩(wěn)定的顯示畫面,故它需要有顯示存儲(chǔ)器VRAM,而針式打印機(jī)接收到要打印的一縱列點(diǎn)陣信息并完成打印之后,這些點(diǎn)陣信息就不再有用了;光柵掃描的CRT字符顯示器,電子束在整個(gè)屏幕上按逐個(gè)橫行的掃描方式重復(fù),掃描完多個(gè)橫行才完整顯示出一行字符,針式打印機(jī)則是按逐列打印方式依此打印出字符的點(diǎn)陣列,幾次后打印出一個(gè)完整的字符。2023/2/524圖7.11針式打印機(jī)構(gòu)造2023/2/525圖7.12針式打印機(jī)打印字符“E”的過(guò)程2023/2/526(2)激光打印機(jī)圖7.13激光打印機(jī)的組成2023/2/527打印原理:激光技術(shù)和電子照相技術(shù)相結(jié)合,它由走紙機(jī)構(gòu)、激光掃描系統(tǒng)、電子照相部分和打印機(jī)控制器等幾部分組成。激光掃描系統(tǒng)的功能,是控制激光束能掃描到光導(dǎo)鼓柱面的任何位置,它由激光器,偏轉(zhuǎn)調(diào)制器,掃描器和光路系統(tǒng)組成。電子照相部分的核心部件是字形鼓,又稱光導(dǎo)鼓,這是一個(gè)圓柱型的物體,柱面高度光潔,鍍有一層由硒—碲合金組成的具有良好光導(dǎo)特性(光線照射后電阻率降為原來(lái)的1/100到1/1000)的材料,用于完成對(duì)打印內(nèi)容的照相、顯影和轉(zhuǎn)印。輸出過(guò)程:準(zhǔn)備階段:電暈放電裝置使光導(dǎo)鼓表面充電,對(duì)光導(dǎo)鼓表面均勻的充上一層正電荷;照相階段:激光束使光導(dǎo)鼓表面被照射的部分放電,未照射到的部分的帶電情況不變;顯影階段:光導(dǎo)鼓表面帶電部分吸附墨粉,從而形成了由墨粉顯示出來(lái)的字形;轉(zhuǎn)印階段:光導(dǎo)鼓表面墨粉轉(zhuǎn)移到打印紙上;定影階段:通過(guò)紅外光加熱或輻射加熱的辦法,高溫將墨粉固定在打印紙上;清除階段:清掃器清除光導(dǎo)鼓表面上剩余墨粉,消電燈消除光導(dǎo)鼓上殘存電荷。2023/2/528(3)噴墨打印機(jī)打印原理:通過(guò)把很小的墨水滴利用噴嘴噴射到打印紙上形成打印點(diǎn)來(lái)完成打印輸出功能的。主要問(wèn)題集中到如何提供出很小的墨水滴,又如何加速墨水滴的噴射速度,如何準(zhǔn)確控制墨水滴落到打印紙上的位置,如何處理墨水的循環(huán)流動(dòng)和過(guò)濾。輸出過(guò)程:壓電陶瓷受振蕩電脈沖激勵(lì)產(chǎn)生電致伸縮,噴射出墨滴;充電電極給墨滴充電,電量多少?zèng)Q定了偏轉(zhuǎn)距離;利用電場(chǎng)控制墨滴的垂直偏轉(zhuǎn)方向,噴墨頭移動(dòng)控制墨滴水平方向。2023/2/529圖7.14噴墨打印機(jī)組成與打印原理2023/2/5307.2.3外存儲(chǔ)器1.外部存儲(chǔ)設(shè)備概述類型:主要有磁表面存儲(chǔ)器(磁盤、磁帶)、光存儲(chǔ)器(光盤)。特性:容量大、成本低、斷電后還可以保存信息,能脫機(jī)保存信息,彌補(bǔ)了主存的不足。技術(shù)指標(biāo):(1)存儲(chǔ)密度:?jiǎn)挝婚L(zhǎng)度或單位面積上存儲(chǔ)的二進(jìn)制信息數(shù)量。(2)存儲(chǔ)容量:一臺(tái)設(shè)備能存儲(chǔ)的總信息量,以字節(jié)為單位。(3)尋址時(shí)間:磁盤存儲(chǔ)器采取直接存取方式,尋址時(shí)間包括兩部分:一是磁頭尋找目標(biāo)磁道所需的找道時(shí)間ts;二是找到磁道以后,磁頭等待所需要讀寫的區(qū)段旋轉(zhuǎn)到它的下方所需要的等待時(shí)間tw。由于尋找相鄰磁道和從最外面磁道找到最里面磁道所需的時(shí)間不同,磁頭等待不同區(qū)段所花的時(shí)間也不同,因此,取它們的平均值,稱作平均尋址時(shí)間Ta,它由平均找道時(shí)間tsa和平均等待時(shí)間twa組成:
Ta=Tsa+Twa=(tsmax+tsmin)/2+(twmax+twmin)/22023/2/531平均尋址時(shí)間是磁盤存儲(chǔ)器的一個(gè)重要指標(biāo)。硬磁盤存儲(chǔ)器比軟磁盤存儲(chǔ)器的平均尋址時(shí)間短。磁帶存儲(chǔ)器采取順序存取方式,不需要尋找磁道,但需要考慮磁頭尋找記錄區(qū)的等待時(shí)間,實(shí)際上磁頭不動(dòng),磁帶移動(dòng),所以尋址時(shí)間指的是磁帶空轉(zhuǎn)到磁頭應(yīng)訪問(wèn)記錄區(qū)所在位置的時(shí)間。(4)數(shù)據(jù)傳輸率:?jiǎn)挝粫r(shí)間內(nèi)傳送數(shù)據(jù)的數(shù)量,單位bps或者Bps。(5)誤碼率:一個(gè)輪次讀操作過(guò)程中,出錯(cuò)的比例。(6)價(jià)格:總價(jià)格和存儲(chǔ)單位信息的平均價(jià)格。磁記錄原理:磁表面記錄設(shè)備,是在磁頭和磁性材料的記錄介質(zhì)之間有相對(duì)運(yùn)動(dòng)時(shí),通過(guò)一次電磁轉(zhuǎn)換完成一次讀寫操作。磁頭:通常由軟磁材料(外界磁場(chǎng)的作用消失后,該磁性材料的磁性容易消失)做成。磁記錄介質(zhì):在剛性或柔性載體上涂有薄磁材料的物體,記錄以磁狀態(tài)表示的信息。一般選用硬磁材料(外界磁場(chǎng)的作用消失后,該磁性材料的磁性盡量多的保留)。2023/2/532圖7.15磁頭結(jié)構(gòu)和電磁轉(zhuǎn)換示意圖2023/2/533磁記錄方式:是指一種編碼方法,即如何將一串二進(jìn)制信息,通過(guò)讀寫電路變換成磁層介質(zhì)中的磁化翻轉(zhuǎn)序列。好的編碼方法應(yīng)該有以下特點(diǎn):(1)更高的編碼效率:編碼效率指記錄密度與最大磁化翻轉(zhuǎn)密度之比,即為記錄一位信息所用的最多磁化翻轉(zhuǎn)次數(shù)的倒數(shù);FM、PM編碼效率50%,MFM、NRZ、NRZ1編碼效率100%。(2)更高的自同步能力:自同步能力指從讀出的數(shù)據(jù)信息中提取出同步時(shí)鐘信號(hào)的難易程度,可以用最小磁化翻轉(zhuǎn)間隔與最大翻轉(zhuǎn)間隔的比值來(lái)衡量;NRZ、NRZ1沒(méi)有自同步能力,PM、FM、MFM有自同步能力。(3)更高的讀寫可靠性:采用能檢查錯(cuò)誤,甚至自動(dòng)糾正錯(cuò)誤的措施。常用的編碼方式:(1)歸零制(RZ):向磁頭線圈送入正、負(fù)脈沖電流的辦法執(zhí)行寫“1”、寫“0”操作,使1和0信號(hào)在介質(zhì)磁層中的磁化狀態(tài)正好相反。主要矛盾,是在兩個(gè)信息位之間磁層處于非磁化狀態(tài),難以解決,故不實(shí)用。2023/2/534(2)不歸零制(NRZ):與RZ方案相比,取消了兩個(gè)信息位之間磁頭線圈中無(wú)電流的情況,故磁層中不存在未被磁化的狀態(tài),不是被正向磁化,就是被反向磁化。編碼效率為100%,但無(wú)自同步能力。(3)見1翻轉(zhuǎn)的不歸零制(NRZ1):用在寫“1”時(shí)就要變化磁頭線圈中的電流方向(寫“0”則不變電流方向)的辦法執(zhí)行寫“1”、寫“0”操作的方案。編碼效率為100%,但無(wú)自同步能力。(4)調(diào)相制(PM):在磁層中采用不同的磁化翻轉(zhuǎn)方向來(lái)區(qū)別數(shù)據(jù)“1”和“0”的方案,磁頭線圈中的電流,在寫“1”和寫“0”時(shí)要朝不同的方向變化,讀出時(shí),就表現(xiàn)為讀出的信號(hào)是正還是負(fù)脈沖,即二者的信號(hào)相位差為180度。有自同步能力,但編碼效率為50%(5)調(diào)頻制(FM):用在磁層中不同的磁化翻轉(zhuǎn)次數(shù)來(lái)區(qū)別數(shù)據(jù)“1”和“0”的方案,記錄“1”比記錄“0”磁化翻轉(zhuǎn)頻率要多一倍。磁頭線圈中的電流,在每個(gè)位周期的起始處要變化一次方向,在寫“1”時(shí),還要在位周期中心處再變化一次方向,而寫“0”則不會(huì)在位周期中心處變化電流方向。有自同步能力,但編碼效率為50%(6)改進(jìn)的調(diào)頻制(MFM):調(diào)頻制的改進(jìn)方案,提高編碼效率到100%,取消了大部分的在位期起始處的改變磁頭線圈中的電流方向的動(dòng)作,只保留在連續(xù)的“0”信號(hào)的位周期起始處的的電流方向變化,以便保證該編碼方式的自同步能力。有自同步能力,編碼效率為100%2023/2/535圖7.16常用磁記錄方式波形圖2023/2/5362.磁盤設(shè)備組成與運(yùn)行原理磁盤設(shè)備的組成:(1)磁盤驅(qū)動(dòng)器:通常是一個(gè)完整獨(dú)立的設(shè)備,包括作為磁記錄介質(zhì)使用的磁盤和驅(qū)動(dòng)磁盤勻速旋轉(zhuǎn)的動(dòng)力與驅(qū)動(dòng)部件,完成讀寫功能的磁頭和驅(qū)動(dòng)磁頭沿磁盤徑向方向運(yùn)動(dòng)和準(zhǔn)確定位的部件,以及其它一些控制邏輯電路等部件。(2)磁記錄介質(zhì):?jiǎn)为?dú)的、可以和磁盤驅(qū)動(dòng)器分開保存的硬磁盤片、磁盤組、軟磁盤片等。(3)磁盤接口電路:是插在主機(jī)總線插槽中的一塊電路卡,用于把磁盤驅(qū)動(dòng)器與計(jì)算機(jī)主機(jī)連接為一體系統(tǒng),接收主機(jī)發(fā)給磁盤的操作命令,實(shí)現(xiàn)數(shù)據(jù)緩沖與格式變換,處理主機(jī)與磁盤之間的其它交互作用與時(shí)間上的同步等。2023/2/537圖7.17硬磁盤驅(qū)動(dòng)器結(jié)構(gòu)示意圖2023/2/538磁盤結(jié)構(gòu)(典型數(shù)據(jù)與磁盤容量相關(guān)):(1)磁道:每個(gè)盤片每面500至2000磁道。(2)扇區(qū):扇區(qū)是磁盤訪問(wèn)的最小單位,每個(gè)磁道32至128個(gè)扇區(qū)。早期硬盤上每個(gè)磁道上的扇區(qū)數(shù)相同,位密度不同。為增加容量,位密度恒定,外磁道比內(nèi)磁道扇區(qū)數(shù)多一些。(3)柱面:位于同一半徑的磁道集合。讀寫磁盤數(shù)據(jù)的三個(gè)步驟:(1)尋道時(shí)間:將磁頭移動(dòng)到正確的磁道上所用時(shí)間。(2)旋轉(zhuǎn)延遲:等待磁盤上扇區(qū)旋轉(zhuǎn)到磁頭下所用時(shí)間。(3)傳輸時(shí)間:真正的數(shù)據(jù)讀寫時(shí)間(1個(gè)或多個(gè)扇區(qū))。2023/2/539圖7.18磁盤結(jié)構(gòu)2023/2/540尋道時(shí)間:一般為8至12ms。旋轉(zhuǎn)延遲:旋轉(zhuǎn)速度:3600至7200RPM,旋轉(zhuǎn)時(shí)間:16ms至8ms每轉(zhuǎn),平均尋址時(shí)間8ms至4ms。訪問(wèn)速度:數(shù)據(jù)量(通常為1個(gè)扇區(qū)):1KB/扇區(qū),旋轉(zhuǎn)速度:3600RPM至7200RPM,存儲(chǔ)密度:磁道上單位長(zhǎng)度存儲(chǔ)的位數(shù),磁盤直徑:2.5至5.25in,一般為:2至12MB每秒。磁盤訪問(wèn)時(shí)間=尋道時(shí)間+旋轉(zhuǎn)延遲+傳輸時(shí)間+磁盤控制器延遲舉例:平均尋道時(shí)間=12ms,旋轉(zhuǎn)速度=5400rpm,磁盤控制器延遲:2ms,傳輸速度=5MBps,扇區(qū)大小=512bytes,讀取一頁(yè)(8KB)需要多少時(shí)間?解:平均旋轉(zhuǎn)延遲應(yīng)為磁盤旋轉(zhuǎn)半周的時(shí)間;旋轉(zhuǎn)1周=1/5400minutes=11.1ms=>?周:5.6ms;讀1個(gè)扇區(qū)時(shí)間=12ms+5.6ms+0.5KB/5MBps+2ms=12ms+5.6ms+0.1ms+2ms=19.7ms;讀1頁(yè)的時(shí)間=12ms+5.6ms+8KB/5MBps+2ms=12ms+5.6ms+1.6ms+2ms=21.2ms。2023/2/541對(duì)例子的思考:頁(yè)容量大,為什么扇區(qū)卻如此小呢?理由#1:可用性??梢栽谏葏^(qū)物理?yè)p壞時(shí)不再使用該扇區(qū)。理由#2:還是可用性。檢錯(cuò)糾錯(cuò)碼分布在每個(gè)扇區(qū),扇區(qū)容量小,檢錯(cuò)速度快,效率高。理由#3:靈活性。使用不同的操作系統(tǒng),不同的頁(yè)面大小。采用并行方式和大容量傳輸方式克服磁盤控制器延遲:大容量傳輸:每次讀取多個(gè)扇區(qū),可以節(jié)約時(shí)間,也可以分擔(dān)部分總線延遲。并行方式:并行#1:并行讀多個(gè)層面。并行#2:并行讀多個(gè)磁盤。兩點(diǎn)結(jié)論:(1)額外開銷在總開銷中比例較大=>一次傳輸大量數(shù)據(jù)比較有效。(2)將頁(yè)面存放在相鄰扇區(qū)中可以避免額外的尋道開銷。磁盤控制器接口:主機(jī)與磁盤驅(qū)動(dòng)器之間的接口,與主機(jī)接口用于控制磁盤與主機(jī)總線交換數(shù)據(jù)——系統(tǒng)級(jí)接口,與設(shè)備接口用于根據(jù)主機(jī)的命令控制設(shè)備的操作——設(shè)備級(jí)接口。2023/2/542圖7.19磁盤控制器接口2023/2/5433.磁盤陣列技術(shù)與容錯(cuò)支持CPU性能在過(guò)去的十年中有了極大地提高,幾乎是每18個(gè)月翻一番。但磁盤的性能卻沒(méi)能跟上。在70年代,小型機(jī)磁盤的平均查找時(shí)間為50到100毫秒,現(xiàn)在是10毫秒。CPU性能和磁盤性能間的差距這些年來(lái)越來(lái)越大。在提高CPU性能方面,并行處理技術(shù)已得到廣泛使用。這些年來(lái),許多人意識(shí)到,并行I/O也是一個(gè)提高磁盤性能的好辦法。1988年,Pattersonetal.在他的一篇文章中建議用6個(gè)特定的磁盤組織來(lái)提高磁盤的性能或可用性,或兩方面都同時(shí)提高。這個(gè)建議很快就被采用,并導(dǎo)致了一種新的I/O設(shè)備的誕生,這就是RAID盤。廉價(jià)磁盤的冗余陣列(RAID):最初的稱謂:RedundantArraysofInexpensiveDisks,工業(yè)界修改:RedundantArraysofIndependentDisks。RAID原理和特點(diǎn):(1)多個(gè)統(tǒng)一管理的磁盤組成磁盤陣列,數(shù)據(jù)分塊交叉存儲(chǔ)在多個(gè)磁盤上,提高讀寫并行性,性能好。(2)陣列中的一部分磁盤存放冗余信息,一旦某一磁盤失效,利用冗余信息重建數(shù)據(jù),可靠性高。(3)單個(gè)小盤徑磁盤成本低、功耗小、性能好,磁盤陣列需要RAID卡的支持,但總體成本也不高。2023/2/544陣列控制卡(RAID卡):把多個(gè)物理磁盤連接為一個(gè)邏輯磁盤,具有幾兆到幾十兆字節(jié)的陣列加速器(DRAM),起到緩沖作用??梢愿鶕?jù)用戶不同的需求,靈活配置為不同的使用和容錯(cuò)方式。分析和處理主機(jī)CPU發(fā)送的讀寫命令,支持并發(fā)命令請(qǐng)求和命令排隊(duì),可以使多個(gè)命令得以并發(fā)處理,處理命令時(shí)候可以進(jìn)行優(yōu)化,提高性能。支持設(shè)備的快速接入和斷開,提高總線的使用率和性能。磁盤陣列對(duì)容錯(cuò)的支持:6級(jí)容錯(cuò):RAID0~RAID5,其中RAID2與RAID3要求各個(gè)驅(qū)動(dòng)器嚴(yán)格同步,不實(shí)用。RAID0:數(shù)據(jù)散放,并發(fā)讀寫,沒(méi)有容錯(cuò),可靠性差。RAID1:磁盤鏡像,冗余備份,可靠性高,成本較高。RAID4:數(shù)據(jù)保護(hù),對(duì)數(shù)據(jù)散放改進(jìn),增加專用的奇偶校驗(yàn)盤,出故障恢復(fù)數(shù)據(jù)費(fèi)時(shí),不支持多個(gè)數(shù)據(jù)磁盤并行寫操作。RAID5:分布式數(shù)據(jù)保護(hù),對(duì)RAID4的改進(jìn),減少校驗(yàn)盤的負(fù)載,將校驗(yàn)位循環(huán)均勻分布到所有的驅(qū)動(dòng)器上,一些情況下支持并行寫操作。2023/2/545圖7.20RAID0和RAID12023/2/546圖7.21RAID4和RAID52023/2/5474.光盤設(shè)備組成與運(yùn)行原理光盤設(shè)備特點(diǎn):存儲(chǔ)密度高,容量大,非接觸式讀寫;可靠性好,價(jià)格便宜,廣泛使用。光盤類型:只讀型光盤CD-ROM(CD-ReadOnlyMemory),標(biāo)準(zhǔn)容量650M;寫一次型光盤WORM(writeonce,readmany),CD-R(CD-Recordable);可擦寫型光盤CD-RW,CD-RW(CD-ReWritable)。CD-ROM存儲(chǔ)原理:CD是通過(guò)在涂有玻璃表層的主盤上,用高能紅外激光束燒出0.8毫米直徑的小孔制成的。用這種主盤做成模子,上面帶有燒好的激光孔,然后往模子上注入熔化的多種碳酸鹽脂,使激光孔的形狀和玻璃主盤的形狀一樣,就基本上完成了CD的主體。接著,在碳酸鹽脂上沉淀上一薄層的反射鋁,再覆蓋上一層起保護(hù)作用的表層,最后再打上標(biāo)簽,整個(gè)CD就完成了。碳酸鹽脂底基的凹陷部分叫作凹區(qū),凹區(qū)兩邊未經(jīng)過(guò)燒制的部分叫作凸區(qū)。2023/2/548CD-R存儲(chǔ)原理:CD-R在大小上和CD-ROM一樣,最初時(shí)也是120mm的空白盤,只是CD-R有一條0.6mm寬的凹槽,用來(lái)引導(dǎo)激光進(jìn)行刻盤。凹槽有0.3mm的正弦偏移,頻率為22.05kHz,用來(lái)準(zhǔn)確控制CD-R的轉(zhuǎn)速,并在必要時(shí)加以調(diào)整。只是CD-R表面是金色,而不象CD-ROM那樣表面是銀色。用真正的金子代替鋁來(lái)做反射層。而CD-R的凹區(qū)和凸區(qū)是用不同的反射光來(lái)模擬,這點(diǎn)是通過(guò)在碳酸鹽脂和金質(zhì)反射層之間加上一層染料來(lái)實(shí)現(xiàn)的。CD-R被刻之前,染料層是透明的,激光束可以穿過(guò)它后從金質(zhì)層反射回來(lái)??瘫P時(shí),照射CD-R的激光能量被調(diào)高到8~16mW,光束照射到染料的一個(gè)點(diǎn)上時(shí)產(chǎn)生的熱量使之發(fā)生化學(xué)反應(yīng),改變了染料的分子結(jié)構(gòu),產(chǎn)生一個(gè)黑點(diǎn)。讀出時(shí)激光束的能量為0.5mW,光接收器就可以分辨出染料被照射過(guò)的黑點(diǎn)和未被照射過(guò)的透明區(qū),并用這個(gè)區(qū)別來(lái)對(duì)應(yīng)普通光盤的凹區(qū)和凸區(qū)。2023/2/549圖7.22寫一次型光盤光學(xué)系統(tǒng)示意圖2023/2/550CD-RW存儲(chǔ)原理:用銀、銦、銻和碲組成的合金做記錄層。這種合金有兩個(gè)穩(wěn)定態(tài):晶態(tài)和非晶態(tài),兩個(gè)狀態(tài)有不同的反射特性。CD-RW的驅(qū)動(dòng)器使用三種不同能量的激光。在高能激光照射下,合金熔化并從高反射性的晶態(tài)轉(zhuǎn)化為低反射性的非晶態(tài),表示凹區(qū)。在能量中等的激光束照射下,合金熔化并重新轉(zhuǎn)化為本來(lái)的晶態(tài),又成為凸區(qū)。低能激光可以感知材料的狀態(tài)(用來(lái)讀盤),但不會(huì)導(dǎo)致狀態(tài)轉(zhuǎn)換。DVD:數(shù)字多用途盤(DigitalVersatileDisk),DVD的容量比普通光盤提高了7倍,達(dá)到4.7GB,單速DVD驅(qū)動(dòng)器的工作速度為1.4MB/秒(而CD為150KB/秒)。DVD的4種標(biāo)準(zhǔn):?jiǎn)蚊鎲螌?4.7GB)、單面雙層(8.5GB)、雙面單層(9.4GB)、雙面雙層(17GB)。DVD存儲(chǔ)原理:DVD的基本設(shè)計(jì)和CD相同,也是120mm直徑的注入碳酸鹽的盤模,由激光二極管照射的凸區(qū)和凹區(qū)組成,通過(guò)光接收器讀入信息。使用紅色激光(DVD激光的波長(zhǎng)為0.65微米,而CD的為0.78微米);凹區(qū)更小(DVD為0.4微米,而CD為0.8微米);螺旋線更緊湊(DVD道間距為0.74微米,而CD的道間距為1.6微米)。其他的新標(biāo)準(zhǔn):HVDvsEVD。2023/2/5517.3I/O接口(I/O控制器)由于存儲(chǔ)器是半導(dǎo)體電路,與CPU具有相同的電路形式,數(shù)據(jù)信號(hào)也是相同的(電平信號(hào)),能相互兼容直接使用,因此存儲(chǔ)器與CPU之間是同步定時(shí)工作方式。它們之間只要在時(shí)序關(guān)系上能相互滿足就可以正常工作。但是計(jì)算機(jī)的I/O操作是比較復(fù)雜的,主要體現(xiàn)在以下幾個(gè)方面:(1)外部設(shè)備種類繁多,既有機(jī)械式的,又有機(jī)電式的,還有電子式的。不同外部設(shè)備之間性能各異,對(duì)數(shù)據(jù)傳送的要求也各不相同的,無(wú)法按統(tǒng)一格式進(jìn)行。(2)外部設(shè)備的數(shù)據(jù)信號(hào)是多種多樣的。(3)外設(shè)的數(shù)據(jù)傳送有近距離的,也有遠(yuǎn)距離的。(4)外部設(shè)備的工作速度快慢差異很大。由于上述原因,在外部設(shè)備與CPU之間往往無(wú)法直接進(jìn)行數(shù)據(jù)傳送,而必須在CPU和外設(shè)之間擴(kuò)展接口電路,通過(guò)接口電路對(duì)CPU與外設(shè)之間的數(shù)據(jù)傳送進(jìn)行協(xié)調(diào)。因此接口電路就成了數(shù)據(jù)I/O操作的核心內(nèi)容。2023/2/5527.3.1I/O接口的功能和基本結(jié)構(gòu)I/O接口(或稱為設(shè)備控制器)的基本功能是:(1)提供主機(jī)識(shí)別(指定、找到)要用的I/O設(shè)備的支持,為每個(gè)設(shè)備規(guī)定幾個(gè)地址碼或編號(hào)。(2)建立主機(jī)和設(shè)備之間的控制與通信機(jī)制,接收處理器(主設(shè)備)的命令,并提交給外部設(shè)備,同時(shí),為主設(shè)備提供外部設(shè)備的狀態(tài)。(3)提供主機(jī)和設(shè)備之間信息交換過(guò)程中的數(shù)據(jù)緩沖機(jī)構(gòu),如輸入數(shù)據(jù)緩沖寄存器和輸出數(shù)據(jù)緩沖寄存器等。(4)提供主機(jī)和設(shè)備之間信息交換過(guò)程中的其他特別需求支持,屏蔽外部設(shè)備的差異。(例如,當(dāng)主機(jī)和設(shè)備的信號(hào)幅度不同時(shí)的信號(hào)電平轉(zhuǎn)換功能,數(shù)據(jù)傳送中的格式(并行、串行)轉(zhuǎn)換功能)。2023/2/553輸入輸出接口類型有:(1)按照數(shù)據(jù)傳送的寬度可分為并行接口和串行接口。在并行接口中,設(shè)備和接口是將一個(gè)字節(jié)(或字)的所有位同時(shí)傳送。在串行接口中,設(shè)備和接口間的數(shù)據(jù)是一位一位串行傳送的,而接口和主機(jī)之間是按字節(jié)或字并行傳送。接口要完成數(shù)據(jù)格式的串—并變換。(2)按照數(shù)據(jù)傳送的控制方式可分成程序控制輸入輸出接口,程序中斷輸入輸出接口和直接存儲(chǔ)器存取(DMA)接口等。接口電路中傳遞的信息包括:數(shù)據(jù)信息、狀態(tài)信息、控制信息。CPU和外設(shè)進(jìn)行數(shù)據(jù)傳輸時(shí),各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為I/O端口,每個(gè)端口有一個(gè)端口地址。數(shù)據(jù)信息包括以下幾種:(1)數(shù)字量:通常以8位或16位的二進(jìn)制數(shù)以及ASCII碼的形式傳輸,主要指由鍵盤、磁盤、光盤等輸入的信息或主機(jī)送給打印機(jī)、顯示器、繪圖儀等的信息。2023/2/554(2)模擬量:模擬的電壓、電流或者非電量。對(duì)模擬量輸入而言,需先經(jīng)過(guò)傳感器轉(zhuǎn)換成電信號(hào),再經(jīng)A/D轉(zhuǎn)換器變成數(shù)字量;如果需要輸出模擬控制量的話,就要進(jìn)行上述過(guò)程的逆轉(zhuǎn)換。(3)開關(guān)量:用“0”和“1”來(lái)表示兩種狀態(tài),如開關(guān)的通/斷、電機(jī)的轉(zhuǎn)/停、閥門的開/關(guān)等。狀態(tài)信息:CPU在傳送數(shù)據(jù)信息之前,經(jīng)常需要先了解外設(shè)當(dāng)前的狀態(tài)。如輸入設(shè)備的數(shù)據(jù)是否準(zhǔn)備好、輸出設(shè)備是否忙等。用于表征外設(shè)工作狀態(tài)的信息就叫做狀態(tài)信息,它總是由外設(shè)通過(guò)接口輸入給CPU的。狀態(tài)信息的長(zhǎng)度不定,可以是1個(gè)二進(jìn)制位或多個(gè),含義也隨外設(shè)的具體情況不同而不同??刂菩畔ⅲ河脕?lái)發(fā)布控制命令、控制外設(shè)工作的信息,例如A/D轉(zhuǎn)換器的啟停信號(hào)??刂菩畔⒖偸荂PU通過(guò)接口發(fā)出的。I/O接口的基本結(jié)構(gòu)如圖7.23所示。2023/2/555圖7.23I/O接口的基本結(jié)構(gòu)2023/2/5567.3.2I/O端口及其編址1.端口的編址方式CPU對(duì)外部接口的訪問(wèn)實(shí)質(zhì)上是對(duì)I/O接口電路中相應(yīng)的端口進(jìn)行訪問(wèn)。因此和存儲(chǔ)器一樣,也需要由譯碼電路來(lái)形成I/O端口地址。I/O端口的編址方式有兩種:統(tǒng)一編址和獨(dú)立編址。(1)統(tǒng)一編址方式也稱存儲(chǔ)器映射方式。從存儲(chǔ)器空間劃出一部分地址空間給I/O設(shè)備,把I/O接口中的端口當(dāng)作存儲(chǔ)器單元一樣進(jìn)行訪問(wèn),不設(shè)置專門的I/O指令優(yōu)點(diǎn):訪問(wèn)I/O端口可實(shí)現(xiàn)輸入/輸出操作,還可以對(duì)端口內(nèi)容進(jìn)行算術(shù)邏輯運(yùn)算、移位等等;能給端口有較大的編址空間,這對(duì)大型控制系統(tǒng)和數(shù)據(jù)通信系統(tǒng)是很有意義的;缺點(diǎn):端口占用了存儲(chǔ)器的地址空間,使存儲(chǔ)器容量減小;指令長(zhǎng)度比專門I/O指令要長(zhǎng),因而執(zhí)行速度較慢。2023/2/557(2)獨(dú)立編址方式也稱I/O映射方式。I/O端口地址空間和存儲(chǔ)器地址空間是獨(dú)立的、分開的,即I/O端口地址不占用存儲(chǔ)器地址空間。優(yōu)點(diǎn):I/O端口地址不占用存儲(chǔ)器空間;使用專門的I/O指令對(duì)端口進(jìn)行操作,I/O指令短、執(zhí)行速度快;并且由于專門I/O指令與存儲(chǔ)器訪問(wèn)指令有明顯的區(qū)別,使程序中I/O操作和存儲(chǔ)器操作層次清晰,程序的可讀性強(qiáng)。缺點(diǎn):這種編址方式中,微處理器對(duì)存儲(chǔ)器及I/O端口是采用不同的控制線進(jìn)行選擇的,因而接口電路比較復(fù)雜。2023/2/558圖7.24編址方式示意圖2023/2/5592.端口地址譯碼獨(dú)立編址時(shí),一般用地址線的高位部分和控制信號(hào)(如RD、WR、M/IO)進(jìn)行組合(譯碼)產(chǎn)生I/O接口電路的片選信號(hào)(CS),用地址線的低位部分直接連到I/O接口芯片實(shí)現(xiàn)端口的選擇。有以下幾種常用的譯碼方法:邏輯門電路譯碼,適用口地址單一或固定的;譯碼器譯碼,適用電路需多個(gè)口地址;比較器譯碼,適合口地址可變的;可編程邏輯器件PLD,適用口地址保密,可變靈活,如PAL、GAL。(1)門電路譯碼這是最基本的也是最簡(jiǎn)單的地址譯碼方法通常采用各種門電路,如與門、或門、非門等電路的組合。設(shè)計(jì)時(shí)首先分配好地址,然后寫成二進(jìn)制形式,再根據(jù)地址總線數(shù)分配各與非門輸入管腳地址。門電路譯碼需要芯片種類較多,且譯出的端口地址單一,接口中用到的端口地址不能更改。例7-1使用74LS20/30/32和74LS04設(shè)計(jì)I/O端口地址為2E2H的只讀譯碼電路。若要產(chǎn)生2E2H端口地址,則譯碼電路的輸入地址線就應(yīng)具有如表7.1所示的值。2023/2/560表7.1譯碼電路輸入地址線的值地址線00A9A8A7A6A5A4A3A2A1A0二進(jìn)制001011100010十六進(jìn)制2E2例7-1的設(shè)計(jì)按照表7.1中地址線的值,采用門電路就可以設(shè)計(jì)出譯碼電路,如圖7.3所示。2023/2/561圖7.25帶讀/寫控制的門電路譯碼電路2023/2/562(2)譯碼器譯碼若接口電路中需使用多個(gè)端口地址,則采用譯碼器譯碼比較方便。譯碼器的型號(hào)很多,如3-8譯碼器74LS138;4-16譯碼器74LS154;雙2-4譯碼器74LS139、74LS155等。這些譯碼器通常由三個(gè)部分組成:譯碼控制端,選擇輸入端,譯碼輸出端。例7-2使用74LS138設(shè)計(jì)一個(gè)系統(tǒng)板上接口芯片的I/O端口地址譯碼電路,并且讓每個(gè)接口芯片內(nèi)部的端口數(shù)目為32個(gè)。分析:由于系統(tǒng)板上的I/O端口地址分配在000~0FFH范圍內(nèi),故只使用低8位地址線,這意味著A9和A8兩位應(yīng)賦0值。為了讓每個(gè)被選中的芯片內(nèi)部擁有32個(gè)端口,只要留出5根低位地址線不參加譯碼,其余的高位地址線作為74LS138的輸入線,參加譯碼,或作為74LS138的控制線與AEN一起,控制74LS138的譯碼是否有效。由上述分析,可以得到譯碼電路輸入地址線的值,如表7-2所示。2023/2/563表7.2譯碼電路輸入地址線的值地址線00A9A8A7A6A5A4A3A2A1A0用途控制片選片內(nèi)端口地址十六進(jìn)制0H0-7H0-1FH設(shè)計(jì):采用74LS138譯碼器,可設(shè)計(jì)PC機(jī)系統(tǒng)板上的端口地址譯碼電路,如圖7-5所示。圖中地址線的高5位參加譯碼,其中A5~A7經(jīng)譯碼器,分別產(chǎn)生(8237)、(8259)、(8253)、(8255A)的片選信號(hào),而地址線的低5位A0~A4作芯片內(nèi)部寄存器的訪問(wèn)地址。從74LS138譯碼器的真值表可知,8237A的端口地址范圍是000~01FH,8259A的端口地址范圍是020~03FH等等。2023/2/564圖7.26譯碼器多端口地址譯碼電路2023/2/565(3)比較器譯碼將比較器的A(或B)輸入端輸入地址信號(hào),B(或A)端接一組DIP(DualIn-linePackage)開關(guān)。地址總線所送的地址與DIP所設(shè)置的地址相等時(shí),產(chǎn)生一選通信號(hào)輸出。特點(diǎn):可以通過(guò)改變DIP開關(guān)的設(shè)置,很容易地改變接口的地址。不但同一功能的模塊在不同微型計(jì)算機(jī)應(yīng)用中可以被分配不同的地址,而且即使在同一微型計(jì)算機(jī)系統(tǒng)中,也可通過(guò)改變DIP開關(guān)的設(shè)置而控制不同的設(shè)備.。這種譯碼電路應(yīng)用非常廣泛,常用的比較器有四位比較器74LS85和八位比較器74LS688。2023/2/566圖7.27四位比較器譯碼電路2023/2/567(4)可編程邏輯器件作譯碼電路以上的譯碼以及端口的讀寫控制都采用傳統(tǒng)的邏輯電路或時(shí)序電路完成相應(yīng)的功能,這些邏輯電路或時(shí)序電路芯片都是中小規(guī)模的集成電路,使用起來(lái)簡(jiǎn)單方便。但如果控制邏輯復(fù)雜,且要求保密性能高,則一般不采用這些芯片,而采用可編程器件??删幊唐骷?PLD)有GAL(如16V8,20V8等)、PAL以及目前流行的CPLD、FPGA等高級(jí)可編程器件。這些可編程器件集成度較高,改變邏輯靈活多變,并具有可靠的加密功能,廣泛應(yīng)用于各個(gè)領(lǐng)域的邏輯和時(shí)器件編程,即可得到各種控制邏輯。2023/2/5683.常用接口概述(1)串行接口只需要一對(duì)信號(hào)線來(lái)傳輸數(shù)據(jù),主要用于傳輸速度不高,傳輸距離較長(zhǎng)的場(chǎng)合。典型芯片Intel8251。目前幾乎所有的計(jì)算機(jī)都采用EIARS-232C作為串行接口標(biāo)準(zhǔn),包括按位串行傳輸?shù)碾姎夂蜋C(jī)械方面的規(guī)定。RS-232C接口有25根線,數(shù)據(jù)傳輸率在50、75至19200bps之間。對(duì)串行接口的使用是通過(guò)對(duì)其命令寄存器和狀態(tài)寄存器進(jìn)行設(shè)置工作的。工作時(shí)先對(duì)接口命令寄存器發(fā)命令,設(shè)置工作方式;然后再發(fā)命令使之開始工作;工作期間通過(guò)狀態(tài)寄存器了解串口工作狀態(tài)。(2)并行接口串行接口按位傳送數(shù)據(jù),速度慢,而且主機(jī)是按字或者字節(jié)處理數(shù)據(jù),使用串行接口需要進(jìn)行并串的轉(zhuǎn)換。對(duì)速度較高的設(shè)備,采用并行數(shù)據(jù)傳輸方式比較合適。典型芯片Intel8255。2023/2/569(3)USB接口USB:通用串行總線(UniversalSerialBus)。USB由一個(gè)插在PCI總線上的根集線器組成,它的電纜接口可以連接I/O設(shè)備或者擴(kuò)展集線器。USB中有4根導(dǎo)線,兩根數(shù)據(jù)線,一根電源,一根地線。V1.1總線帶寬12Mbps,V2.0總線帶寬400Mbps。USB接口特點(diǎn):不必打開機(jī)箱來(lái)安裝新的輸入輸出設(shè)備。只需要一根電纜線就可以將所有設(shè)備連接起來(lái)。輸入/輸出設(shè)備可以從電纜上得到電源。單臺(tái)計(jì)算機(jī)最多可以連接127個(gè)設(shè)備。系統(tǒng)能支持實(shí)時(shí)設(shè)備(聲卡、電話)??稍谟?jì)算機(jī)運(yùn)行時(shí)安裝設(shè)備。安裝設(shè)備不必重新啟動(dòng)計(jì)算機(jī)。(4)IDE(IntegratedDriveElectronics)、EIDE接口廣泛應(yīng)用于PC機(jī)中,IDE最多連接2個(gè)IDE設(shè)備,EIDE最多連接4個(gè)IDE設(shè)備;IDE讀寫磁盤的數(shù)據(jù)傳輸率一般不超過(guò)1.5MB/s,EIDE可達(dá)12~18MB/s;IDE接口連接的磁盤設(shè)備容量不超過(guò)528M,EIDE無(wú)此限制。EIDE接口通常接在PCI總線上,數(shù)據(jù)傳送帶寬由IDE的8位擴(kuò)展到32位。2023/2/570(5)SCSI(SmallComputerSystemInterface)接口應(yīng)用于工作站和PC服務(wù)器中,成為主機(jī)和智能外設(shè)連接的統(tǒng)一I/O接口,可以控制磁盤驅(qū)動(dòng)器、磁帶機(jī)、光盤、打印機(jī)、掃描儀等外設(shè)。SCSI的發(fā)展以及相關(guān)標(biāo)準(zhǔn)見下表:表7.3SCSI相關(guān)標(biāo)準(zhǔn)標(biāo)準(zhǔn)總線寬度最高數(shù)據(jù)傳輸率(MB/S)連接設(shè)備數(shù)量SCSI858FastSCSI8108WideSCSI16108FastWideSCSI162016UltraSCSI8208WideUltraSCSI164016Ultra2SCSI8408WideUltra2SCSI168016Ultra3SCSI1616016Ultra32016320162023/2/571(6)IEEE1394串行接口高速率,實(shí)時(shí)性好:1394-1995規(guī)定200Mbps~400Mbps,1394b規(guī)定800Mbps~3.2Gbps;最多可以連接63個(gè)設(shè)備,即插即用,支持熱插拔。(7)AGP接口把主存和顯存通過(guò)芯片組(北橋)直接連接,提高數(shù)據(jù)傳輸率;總線寬度為32位,時(shí)鐘頻率為66MHz,最高傳輸率為528Mbps。(8)PCMCIA接口廣泛應(yīng)用于筆記本電腦的接口,I、II、III三種類型插槽(厚度不同,長(zhǎng)寬相同)。通常用來(lái)插上存儲(chǔ)器(FlashMemory)卡或Fax/Modem/Network卡等。2023/2/5727.4I/O方式7.4.1程序直接控制方式程序直接控制(programeddirectcontrol)方式就是完全通過(guò)程序來(lái)控制主機(jī)和外圍設(shè)備之間的信息傳送。通常的辦法是在用戶的程序中安排一段由輸入輸出指令和其他指令所組成的程序段直接控制外圍設(shè)備的工作。分為無(wú)條件傳送方式和查詢傳送方式。1.無(wú)條件傳送方式所謂無(wú)條件,就是假設(shè)外設(shè)已處于就緒狀態(tài),數(shù)據(jù)傳送時(shí),程序就不必再去查詢外設(shè)的狀態(tài),而直接執(zhí)行I/O指令進(jìn)行數(shù)據(jù)傳輸。當(dāng)簡(jiǎn)單外設(shè)作為輸入設(shè)備時(shí),其輸入數(shù)據(jù)的保持時(shí)間相對(duì)于CPU的處理時(shí)間要長(zhǎng)得多,所以可直接使用三態(tài)緩沖器與系統(tǒng)數(shù)據(jù)總線相連。當(dāng)簡(jiǎn)單外設(shè)作為輸出設(shè)備時(shí),由于外設(shè)的速度較慢,CPU送出的數(shù)據(jù)必須在接口中保持一段時(shí)間,以適應(yīng)外設(shè)的動(dòng)作,因此輸出采用鎖存器。2023/2/573圖7.28無(wú)條件傳送方式的接口電路2023/2/574例7-3圖中外設(shè)是簡(jiǎn)單的發(fā)光二極管,此外設(shè)的接口是用鎖存器來(lái)實(shí)現(xiàn)的。鎖存器在打入脈沖CP上升沿將輸入端D的數(shù)據(jù)鎖存在它的輸出Q端。編寫點(diǎn)亮二極管的程序。(端口地址為0000H)圖7.29無(wú)條件傳送方式接口電路圖MOV AL,81HMOV DX,0000H;送端口地址OUT DX,AL;點(diǎn)亮發(fā)光二極管2023/2/5752.查詢傳送方式(1)查詢式輸入上述的數(shù)據(jù)傳送方式,當(dāng)CPU與外部過(guò)程是同步工作時(shí)是方便的。若兩者不同步,則很難確保,在CPU執(zhí)行IN操作時(shí),外設(shè)一定是準(zhǔn)備好的;而在執(zhí)行OUT操作時(shí),外設(shè)寄存器一定是空的。所以,通常在程序控制下的傳送方式,在傳送前,必須去查詢一下外設(shè)的狀態(tài),當(dāng)外設(shè)準(zhǔn)備好了才傳送,若未準(zhǔn)備好,則CPU就等待。所以,接口部分除了數(shù)據(jù)傳送的端口以外,還必須有傳送狀態(tài)信號(hào)的端口。當(dāng)輸入裝置的數(shù)據(jù)已準(zhǔn)備好后發(fā)出一個(gè)選通信號(hào),一邊把數(shù)據(jù)送入鎖存器。而數(shù)據(jù)與狀態(tài)必須有不同的端口輸入至CPU數(shù)據(jù)總線。當(dāng)CPU要由外設(shè)輸入信息時(shí),CPU先輸入狀態(tài)信息,檢查數(shù)據(jù)是否已準(zhǔn)備好,當(dāng)數(shù)據(jù)已經(jīng)準(zhǔn)備好后,才輸入數(shù)據(jù)。讀入數(shù)據(jù)的命令,使?fàn)顟B(tài)信息"0”。讀入的數(shù)據(jù)是8位的,而讀入的狀態(tài)信息往往是一位的。所以,不同的外設(shè)的狀態(tài)信息,可以使用同一個(gè)端口,而只要使用不同的位就行。2023/2/576圖7.30查詢傳送方式輸入接口電路2023/2/577例7-4設(shè)接口電路中狀態(tài)端口的地址為STATUS,數(shù)據(jù)端口的地址為DATA,則CPU讀取輸入設(shè)備的數(shù)據(jù)應(yīng)執(zhí)行下列程序段:POLL:INAL,STATUSTESTAL,80HJEPOLLINAL,DATA圖7.31查詢方式輸入流程圖2023/2/578(2)查詢式輸出同樣的,在輸出時(shí)CPU也必須了解外設(shè)的狀態(tài),看外設(shè)是否有空(即外設(shè)不正處在輸出狀誠(chéng),或外設(shè)的數(shù)據(jù)寄存器是空的,可以接收CPU輸出的信息),若有空,是CPU執(zhí)行輸出指令;否是就等待。因此,接口電路中也必須要有狀態(tài)信息的端口。當(dāng)輸出裝置把CPU輸出的數(shù)據(jù)輸出以后,發(fā)出一個(gè)ACK(Acknowledge)信號(hào),使D觸發(fā)器置“0”,也即使“Busy”線為0(Empty=Busy),當(dāng)CPU輸入這個(gè)狀態(tài)信息后,知道外設(shè)為“空”,于是就執(zhí)行輸出指令。輸出指令執(zhí)行后,由地址信號(hào)和IO/M及WR相“與”后,發(fā)了選通信號(hào)。把在數(shù)據(jù)線上的輸出數(shù)據(jù)送至鎖存器,同時(shí),令D觸發(fā)器置“1”,它一方面通過(guò)外設(shè)輸出數(shù)已經(jīng)準(zhǔn)備好,可以執(zhí)行輸出操作,另一方面在數(shù)據(jù)由輸出裝置輸出以前,一直為“1”,告知CPU(CPU通過(guò)讀狀態(tài)端口而知道)外設(shè)“Busy”,阻止CPU輸出新數(shù)據(jù)。接口電路的端口信息為:數(shù)據(jù)端口8位;狀態(tài)信息1位,如圖7.32所示。2023/2/579圖7.32查詢傳送方式輸出接口電路2023/2/580圖7.33查詢方式輸出流程圖例7-5設(shè)接口電路中狀態(tài)端口的地址為STATUS,數(shù)據(jù)端口的地址為DATA,則CPU將內(nèi)存STORE單元的內(nèi)容送至輸出設(shè)備應(yīng)執(zhí)行下列程序段:POLL:INAL,STATUSTESTAL,80HJNEPOLLMOVAL,STOREOUTDATA,AL2023/2/5817.4.2程序中斷方式在程序中斷傳送(programinterrupttransfer)方式中,通常在程序中安排一條指令,發(fā)出START信號(hào)啟動(dòng)外圍設(shè)備,然后機(jī)器繼續(xù)執(zhí)行程序。當(dāng)外圍設(shè)備完成數(shù)據(jù)傳送的準(zhǔn)備后,便向CPU發(fā)“中斷請(qǐng)求”(INT)信號(hào)。CPU接到請(qǐng)求后若可以停止正在運(yùn)行的程序,則在一條指令執(zhí)行完后(非流水線計(jì)算機(jī)),轉(zhuǎn)去執(zhí)行“中斷服務(wù)程序”,完成傳送數(shù)據(jù)工作,通常傳送一個(gè)字或一個(gè)字節(jié)。傳送完畢仍返回原來(lái)的程序。由于系統(tǒng)在啟動(dòng)外圍設(shè)備后到數(shù)據(jù)的準(zhǔn)備完成這段時(shí)間內(nèi)一直在執(zhí)行原程序,不是處于踏步等待狀態(tài),而僅僅在外圍設(shè)備交換數(shù)據(jù)的準(zhǔn)備工作完成之后才中止程序的繼續(xù)執(zhí)行,轉(zhuǎn)而進(jìn)行數(shù)據(jù)傳送。因此,這在一定程度上實(shí)現(xiàn)了CPU和外圍設(shè)備的并行工作。此外,有多臺(tái)外設(shè)依次啟動(dòng)后,可同時(shí)進(jìn)行數(shù)據(jù)交換的準(zhǔn)備工作。若在某一時(shí)刻有幾臺(tái)外圍設(shè)備發(fā)出中斷請(qǐng)求信號(hào),CPU可根據(jù)預(yù)先規(guī)定好的優(yōu)先順序,按輕重緩急去處理幾臺(tái)外設(shè)的數(shù)據(jù)傳送,從而實(shí)現(xiàn)了外圍設(shè)備的并行工作。因此,程序中斷方式大大提高了計(jì)算機(jī)系統(tǒng)的工作效率。2023/2/5821.中斷的作用“中斷”是由I/O設(shè)備或其他非預(yù)期的急需處理的事件引起的,它使CPU暫時(shí)中斷現(xiàn)在正在執(zhí)行的程序,而轉(zhuǎn)至另一服務(wù)程序去處理這些事件。處理完后再返回原程序。中斷有下列一些作用:(1)CPU與I/O設(shè)備并行工作圖7.34表示出CPU和I/O設(shè)備(針式打印機(jī))并行工作的時(shí)間安排。圖7.34CPU與打印機(jī)并行工作的時(shí)間安排2023/2/583(2)硬件故障處理計(jì)算機(jī)運(yùn)行時(shí),如硬件出現(xiàn)某些故障,機(jī)器中斷系統(tǒng)發(fā)出中斷請(qǐng)求,CPU響應(yīng)中斷后自動(dòng)進(jìn)行處理。(3)實(shí)現(xiàn)人機(jī)聯(lián)系在計(jì)算機(jī)工作過(guò)程中,如果用戶要干預(yù)機(jī)器,如抽查計(jì)算中間結(jié)果,了解機(jī)器的工作狀態(tài),給機(jī)器下達(dá)臨時(shí)性的命令等。在沒(méi)有中斷系統(tǒng)的機(jī)器里這些功能幾乎是無(wú)法實(shí)現(xiàn)的。利用中斷系統(tǒng)實(shí)現(xiàn)人機(jī)通信是很方便、很有效的。(4)實(shí)現(xiàn)多道程序和分時(shí)操作計(jì)算機(jī)實(shí)現(xiàn)多道程序運(yùn)行是提高機(jī)器效率的有效手段。多道程序的切換運(yùn)行需借助于中斷系統(tǒng)。在一道程序的運(yùn)行中,由I/O中斷系統(tǒng)切換到另外一道程序運(yùn)行。也可以通過(guò)分配每道程序一個(gè)固定時(shí)間片,利用時(shí)鐘定時(shí)發(fā)中斷進(jìn)行程序切換。2023/2/584(5)實(shí)現(xiàn)實(shí)時(shí)處理所謂實(shí)時(shí)處理,是指在某個(gè)事件或現(xiàn)象出現(xiàn)時(shí)及時(shí)地進(jìn)行處理,而不是集中起來(lái)再進(jìn)行批處理。這些事件出現(xiàn)的時(shí)刻是隨機(jī)的,而不是程序本身所能預(yù)見的,因此,要求計(jì)算機(jī)中斷正在執(zhí)行的程序,轉(zhuǎn)而去執(zhí)行中斷服務(wù)程序。(6)實(shí)現(xiàn)應(yīng)用程序和操作系統(tǒng)(管態(tài)程序)的聯(lián)系可以在用戶程序中安排一條“Trap”指令進(jìn)入操作系統(tǒng),稱之為“軟中斷”。其中斷處理過(guò)程與其他中斷類似。(7)多處理機(jī)系統(tǒng)各處理機(jī)間的聯(lián)系在多處理機(jī)系統(tǒng)中,處理機(jī)和處理機(jī)之間的信息交流和任務(wù)切換可以通過(guò)中斷來(lái)實(shí)現(xiàn)。2023/2/5852.有關(guān)中斷的產(chǎn)生和響應(yīng)的概念(1)中斷源引起中斷的事件,即發(fā)出中斷請(qǐng)求的來(lái)源,稱為中斷源。①中斷源的種類I/O設(shè)備、定時(shí)鐘等來(lái)自處理機(jī)外部設(shè)備的中斷,又叫外中斷。處理器硬件故障或程序“出錯(cuò)”引起的中斷,又叫內(nèi)中斷。由“Trap”指令產(chǎn)生的軟中斷,這是在程序中預(yù)先安排好的。而前面兩種中斷則是隨機(jī)發(fā)生的。②中斷觸發(fā)器當(dāng)中斷源發(fā)生引起中斷的事件時(shí),先將它保存在設(shè)備控制器的“中斷觸發(fā)器”中,即將“中斷觸發(fā)器”置“1”。當(dāng)中斷觸發(fā)器為“1”時(shí),向CPU發(fā)出“中斷請(qǐng)求”信號(hào)。每個(gè)中斷源有一個(gè)中斷觸發(fā)器。全機(jī)的多個(gè)中斷觸發(fā)器構(gòu)成中斷寄存器。其內(nèi)容稱為中斷字或中斷碼。CPU進(jìn)行中斷處理時(shí),根據(jù)中斷字確定中斷源,轉(zhuǎn)入相應(yīng)的服務(wù)程序。2023/2/586(2)中斷的分級(jí)與中斷優(yōu)先權(quán)在設(shè)計(jì)中斷系統(tǒng)時(shí),要把全部中斷源按中斷性質(zhì)和處理的輕重緩急進(jìn)行排隊(duì)并給予優(yōu)先權(quán)。所謂優(yōu)先權(quán)是指有多個(gè)中斷同時(shí)發(fā)生時(shí),對(duì)各個(gè)中斷響應(yīng)的優(yōu)先次序。當(dāng)中斷源數(shù)量很多時(shí),中斷字就會(huì)很長(zhǎng);同時(shí)也由于軟件處理的方便,一般把所有中斷按不同的類別分為若干級(jí),稱為中斷級(jí),在同一級(jí)中還可以有多個(gè)中斷源。首先按中斷級(jí)確定優(yōu)先次序,然后在同一級(jí)內(nèi)再確定各個(gè)中斷源的優(yōu)先權(quán)。當(dāng)對(duì)設(shè)備分配優(yōu)先權(quán)時(shí),必須考慮數(shù)據(jù)的傳輸率和服務(wù)程序的要求。如果來(lái)自某些設(shè)備的數(shù)據(jù)只是在一個(gè)短的時(shí)間內(nèi)有效,為了保證數(shù)據(jù)的有效性,通常把最高的優(yōu)先權(quán)分配給它們。較低的優(yōu)先權(quán)分配給數(shù)據(jù)有效期較長(zhǎng)的設(shè)備,以及具有數(shù)據(jù)自動(dòng)恢復(fù)能力的設(shè)備。2023/2/587(3)禁止中斷和中斷屏蔽①禁止中斷產(chǎn)生中斷源后,由于某種條件的存在,CPU不能中止現(xiàn)行程序的執(zhí)行,稱為禁止中斷。一般在CPU內(nèi)部設(shè)有一個(gè)“中斷允許”觸發(fā)器。只有該觸發(fā)器為“1”狀態(tài)時(shí),才允許處理機(jī)響應(yīng)中斷;如果該觸發(fā)器被清除,則不響應(yīng)所有中斷源申請(qǐng)的中斷。前者叫做允許中斷,后者叫做禁止中斷?!爸袛嘣试S”觸發(fā)器通過(guò)“開中斷”或“關(guān)中斷”指令來(lái)置位、復(fù)位。進(jìn)入中斷服務(wù)程序后自動(dòng)“關(guān)中斷”。②中斷屏蔽當(dāng)產(chǎn)生中斷請(qǐng)求后,用程序方式有選擇地封鎖部分中斷,而允許其余部分中斷仍得到響應(yīng),稱為中斷屏蔽。實(shí)現(xiàn)方法是為每個(gè)中斷源設(shè)置一個(gè)中斷屏蔽觸發(fā)器來(lái)屏蔽該設(shè)備的中斷請(qǐng)求。具體說(shuō),用程序方法將該觸發(fā)器置“1”,則對(duì)應(yīng)的設(shè)備中斷被封鎖,若將其置“0”,才允許該設(shè)備的中斷請(qǐng)求得到響應(yīng)。由各設(shè)備的中斷屏蔽觸發(fā)器組成中斷屏蔽寄存器。有些中斷請(qǐng)求是不可屏蔽的,也就是說(shuō),不管中斷系統(tǒng)是否開中斷,這些中斷源的中斷請(qǐng)求一旦提出,CPU必須立即響應(yīng)。例如,電源掉電就是不可屏蔽中斷。所以,中斷又分為可屏蔽中斷和非屏蔽中斷。非屏蔽中斷具有最高優(yōu)先權(quán)。一旦CPU響應(yīng)中斷的條件得到滿足,CPU開始響應(yīng)中斷,轉(zhuǎn)入中斷服務(wù)程序,進(jìn)行中斷處理。2023/2/5883.中斷處理過(guò)程不同計(jì)算機(jī)對(duì)中斷的處理各具特色,就其多數(shù)而論,中斷處理過(guò)程可如圖7.35所示。圖7.35中斷處理過(guò)程2023/2/589(1)關(guān)中斷,進(jìn)入不可再次響應(yīng)中斷的狀態(tài),由硬件自動(dòng)實(shí)現(xiàn)。(2)保存斷點(diǎn)和現(xiàn)場(chǎng)為了在中斷處理結(jié)束后能正確地返回到中斷點(diǎn),在響應(yīng)中斷時(shí),必須把當(dāng)前的程序計(jì)數(shù)器PC中的內(nèi)容(即斷點(diǎn))保存起來(lái)。現(xiàn)場(chǎng)信息一般指的是程序狀態(tài)字,中斷屏蔽寄存器和CPU中某些寄存器的內(nèi)容。(3)判別中斷源,轉(zhuǎn)向中斷服務(wù)程序。(4)開中斷。開中斷將允許更高級(jí)中斷請(qǐng)求得到響應(yīng),實(shí)現(xiàn)中斷嵌套。(5)執(zhí)行中斷服務(wù)程序。不同中斷源的中斷服務(wù)程序是不同的,實(shí)際有效的中斷處理工作是在此程序段中實(shí)現(xiàn)的。(6)退出中斷。在退出時(shí),又應(yīng)進(jìn)入不可中斷狀態(tài),即關(guān)中斷,恢復(fù)現(xiàn)場(chǎng)、恢復(fù)斷點(diǎn),然后開中斷,返回原程序執(zhí)行。進(jìn)入中斷時(shí)執(zhí)行的關(guān)中斷、保存斷點(diǎn)等操作一般是由硬件實(shí)現(xiàn)的,它類似于一條指令,但它與一般的指令不同,不能被編寫在程序中。因此,常常稱為“中斷隱指令”。2023/2/5904.判別中斷源可以有軟件和硬件兩種方法來(lái)確定中斷源。(1)查詢法由測(cè)試程序按一定優(yōu)先排隊(duì)次序檢查各個(gè)設(shè)備的“中斷觸發(fā)器”(或稱為中斷標(biāo)志),當(dāng)遇到第一個(gè)“1”標(biāo)志時(shí),即找到了優(yōu)先進(jìn)行處理的中斷源,通常取出其設(shè)備碼,根據(jù)設(shè)備碼轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。(2)串行排隊(duì)鏈法由硬件確定中斷源。圖7.36(a)為中斷請(qǐng)求邏輯圖,圖7.36(b)為串行排隊(duì)判優(yōu)先線路。2023/2/591圖7.36中斷請(qǐng)求串行排隊(duì)邏輯2023/2/5925.多重中斷處理多重中斷是指在處理某一個(gè)中斷過(guò)程又發(fā)生了新的中斷請(qǐng)求,從而中斷該服務(wù)程序的執(zhí)行,又轉(zhuǎn)去進(jìn)行新的中斷處理。這種重疊處理中斷的現(xiàn)象又稱為中斷嵌套。一般情況下,在處理某級(jí)中的某個(gè)中斷時(shí),與它同級(jí)的或比它低級(jí)的新中斷請(qǐng)求應(yīng)不能中斷它的處理,而在處理完該中斷返回主程序后,再去響應(yīng)和處理這些新中斷。而比它優(yōu)先級(jí)高的新中斷請(qǐng)求卻能中斷它的處理。圖7.37所示為一個(gè)4級(jí)中斷嵌套的例子。圖7.37多重中斷處理示意圖2023/2/5936.程序中斷設(shè)備接口的組成和工作原理程序中斷設(shè)備接口,一般由設(shè)備選擇器、中斷控制和工作狀態(tài)邏輯、中斷排隊(duì)控制邏輯、設(shè)備碼回送邏輯和數(shù)據(jù)緩沖寄存器等組成,通過(guò)總線與主機(jī)相連。如下圖所示:圖7.38某機(jī)程序中斷設(shè)備接口框圖2023/2/594(1)設(shè)備選擇器每一臺(tái)外圍設(shè)備接口都設(shè)置一個(gè)設(shè)備選擇器,連接在系統(tǒng)上的每一臺(tái)設(shè)備都有一個(gè)設(shè)備號(hào)。當(dāng)CPU需要使用某外設(shè)時(shí),通過(guò)I/O指令或其它訪問(wèn)I/O設(shè)備地址的指令,將設(shè)備碼通過(guò)地址線送往所有外圍設(shè)備接口,但僅僅具有該設(shè)備號(hào)的設(shè)備選擇器才產(chǎn)生選中信號(hào)(SEL)。于是,該外圍設(shè)備及其接口才能響應(yīng)主機(jī)的控制并進(jìn)行數(shù)據(jù)傳送。(2)中斷控制和工作狀態(tài)邏輯圖7.38中的中斷控制是帶有中斷屏蔽的接口邏輯。它包括4個(gè)D型觸發(fā)器,其中兩個(gè)工作狀態(tài)寄存器:完成觸發(fā)器(DONE)和忙觸發(fā)器(BUSY);還有一個(gè)中斷請(qǐng)求觸發(fā)器(INTR)和一個(gè)中斷屏蔽觸發(fā)器(MASK)。當(dāng)該設(shè)備被選中,即選中信號(hào)為高電平時(shí),置1忙觸發(fā)器,啟動(dòng)設(shè)備,同時(shí)使完成觸發(fā)器置0。當(dāng)設(shè)備完成輸入輸出動(dòng)作,需要請(qǐng)求中斷時(shí),由完成信號(hào)置1DONE觸發(fā)器。如果此時(shí)屏蔽觸發(fā)器為0態(tài),則在CPU送來(lái)的指令結(jié)束信號(hào)RQENB的作用下,使中斷請(qǐng)求觸發(fā)器置1,向CPU發(fā)出中斷請(qǐng)求信號(hào)。但若中斷屏蔽寄存器處于1態(tài),則即使DONE觸發(fā)器為1,仍不能產(chǎn)生中斷請(qǐng)求信號(hào),直到中斷屏蔽觸發(fā)器為0態(tài)為止。2023/2/595(3)中斷排隊(duì)和設(shè)備碼回送邏輯CPU接到外圍設(shè)備的中斷請(qǐng)求后,如果可以響應(yīng)中斷,則需要了解是哪臺(tái)設(shè)備要求服務(wù)。因此,需要將請(qǐng)求中斷的設(shè)備碼送給CPU。當(dāng)多個(gè)外設(shè)有中斷請(qǐng)求時(shí),必須先為優(yōu)先級(jí)高的外設(shè)服務(wù)。這個(gè)任務(wù)是通過(guò)排隊(duì)線路和設(shè)備碼會(huì)送邏輯完成的。(4)數(shù)據(jù)緩沖寄存器每個(gè)外設(shè)的接口都設(shè)有數(shù)據(jù)緩沖寄存器,其長(zhǎng)度為一個(gè)字節(jié)或一個(gè)字長(zhǎng)。有的只需一個(gè)數(shù)據(jù)緩沖寄存器,有的可設(shè)多個(gè),圖7.38中有3個(gè)緩沖寄存器A、B、C。在CPU送來(lái)的信號(hào)控制下分別完成相應(yīng)緩沖數(shù)據(jù)的接收和發(fā)送工作。除上述標(biāo)準(zhǔn)部件外,各外圍設(shè)備還可設(shè)置一些特殊的控制電路,以適應(yīng)不同的外圍設(shè)備的需要,如啟停電路等。不同機(jī)器的程序中斷設(shè)備接口邏輯是不同的,但基本原理是一致的。2023/2/596程序中斷控制邏輯已由專用集成電路芯片實(shí)現(xiàn)。Intel8259A中斷控制器件的內(nèi)部結(jié)構(gòu)如圖7.39所示。它由八個(gè)部分組成:中斷請(qǐng)求寄存器、中斷狀態(tài)寄存器、優(yōu)先級(jí)判斷器、中斷屏蔽寄存器、中斷控制邏輯、數(shù)據(jù)緩沖器、級(jí)聯(lián)緩沖器/比較器和讀/寫邏輯。圖7.398259A中斷控制器2023/2/5977.4.3DMA方式直接存儲(chǔ)器存取(directmemoryaccess,簡(jiǎn)稱DMA)方式的基本思想是在外圍設(shè)備和主存之間開辟直接的數(shù)據(jù)傳送通路。在正常工作時(shí),所有工作周期均用于執(zhí)行CPU的程序。當(dāng)外圍設(shè)備完成輸入或輸出數(shù)據(jù)的準(zhǔn)備工作后,占用總線一個(gè)工作周期,和主存直接交換數(shù)據(jù)。這個(gè)周期過(guò)后,CPU又繼續(xù)控制總線,執(zhí)行原程序。如此重復(fù),直到整個(gè)數(shù)據(jù)塊的數(shù)據(jù)傳送完畢。這項(xiàng)工作是由I/O系統(tǒng)中增設(shè)的DMA控制器完成的,由它給出每次傳送數(shù)據(jù)的主存地址,并統(tǒng)計(jì)已傳送數(shù)據(jù)的個(gè)數(shù)以確定是否傳送結(jié)束。除了在數(shù)據(jù)塊傳送的起始和結(jié)束時(shí)需用中斷分別進(jìn)行前處理和后處理外,無(wú)需CPU的頻繁干預(yù)。主存儲(chǔ)器被并行工作的CPU和I/O子系統(tǒng)所共享。DMA方式也有不足之處。首先,對(duì)外圍設(shè)備的管理和某些操作的控制仍需由CPU承擔(dān)。在大中型計(jì)算機(jī)系統(tǒng)中,系統(tǒng)所配備的外設(shè)種類多、數(shù)量大,這樣,對(duì)外設(shè)的管理和控制也就愈來(lái)愈多,愈來(lái)愈復(fù)雜。大容量外存的使用,使主存和外存之間的數(shù)據(jù)流量大幅度增加,有時(shí)還要求多個(gè)DMA同時(shí)使用,引起訪問(wèn)主存的沖突增加。因此,在大型計(jì)算機(jī)系統(tǒng)中通常設(shè)置專門的硬件裝置——通道。2023/2/598DMA是I/O設(shè)備與主存儲(chǔ)器之間由硬件組成的直接數(shù)據(jù)通路,用于高速I/O設(shè)備與主存之間的成組數(shù)據(jù)傳送。數(shù)據(jù)傳送是在DMA控制器控制下進(jìn)行的,由DMA控制器給出當(dāng)前正在傳送的數(shù)據(jù)字的主存地址,并統(tǒng)計(jì)傳送數(shù)據(jù)的個(gè)數(shù)以確定一組數(shù)據(jù)的傳送是否已結(jié)束。在主存中要開辟連續(xù)地址的專用緩沖器,用來(lái)提供或接收傳送的數(shù)據(jù)。在數(shù)據(jù)傳送前和結(jié)束后要通過(guò)程序或中斷方式對(duì)緩沖器和DMA控制器進(jìn)行預(yù)處理和后處理。1.DMA三種工作方式(1)CPU暫停方式主機(jī)響應(yīng)DMA請(qǐng)求后,讓出存儲(chǔ)總線,直到一組數(shù)據(jù)傳送完畢后,DMA控制器才把總線控制權(quán)交還給CPU,采用這種工作方式的I/O設(shè)備,在其接口中一般設(shè)置有存取速度較快的小容量存儲(chǔ)器,I/O設(shè)備與小容量存儲(chǔ)器交換數(shù)據(jù),小容量存儲(chǔ)器與主機(jī)交換數(shù)據(jù),這樣可減少DMA傳送占用存儲(chǔ)總線的時(shí)間,也即減少CPU暫停工作時(shí)間。(2)CPU周期竊取方式DMA控制器與主存儲(chǔ)器之間傳送一個(gè)數(shù)據(jù),占用(竊取)一個(gè)CPU周期,即CPU暫停工作一個(gè)周期,然后繼續(xù)執(zhí)行程序。2023/2/599(3)直接訪問(wèn)存儲(chǔ)器工作方式這是標(biāo)準(zhǔn)的DMA工作方式,如傳送數(shù)據(jù)時(shí)CPU正好不占用存儲(chǔ)總線,則對(duì)CPU不產(chǎn)生任何影響。如DMA和CPU同時(shí)需要訪問(wèn)存儲(chǔ)總線,則DMA的優(yōu)先級(jí)高于CPU。在DMA傳送數(shù)據(jù)過(guò)程中,不能占用或破壞CPU硬件資源或工作狀態(tài),否則將影響CPU的程序執(zhí)行。2.DMA控制器組成DMA控制器基本組成如圖7.40所示。它包括多個(gè)設(shè)備寄存器、中斷控制和DMA控制邏輯等。圖7.40DMA控制器組成2023/2/5100(1)設(shè)備寄存器DMA控制器中主要的寄存器有:1主存地址寄存器(MAR)——該寄存器初始值為主存緩沖區(qū)的首地址,在傳送前由程序送入。2外圍設(shè)備地址寄存器(ADR)——該寄存器存放I/O設(shè)備的設(shè)備碼,或者表示設(shè)備信息存儲(chǔ)區(qū)的尋址信息。3字?jǐn)?shù)計(jì)數(shù)器(WC)——該計(jì)數(shù)器對(duì)傳送數(shù)據(jù)的總字?jǐn)?shù)進(jìn)行統(tǒng)計(jì)。4控制與狀態(tài)寄存器(CSR)——該寄存器用來(lái)存放控制字和狀態(tài)字。5數(shù)據(jù)緩沖寄存器
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 毫針刺法-針灸學(xué)課件南京中醫(yī)藥大學(xué)
- 陜西省咸陽(yáng)市武功縣2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含解析)
- 中國(guó)著名電視劇導(dǎo)演
- 河南許昌普高2025屆高考沖刺模擬語(yǔ)文試題含解析
- 《效績(jī)考核與管理》課件
- 14.2《荷塘月色》課件 2024-2025學(xué)年統(tǒng)編版高中語(yǔ)文必修上冊(cè)-1
- 遼寧省阜蒙縣育才高中2025屆高三適應(yīng)性調(diào)研考試數(shù)學(xué)試題含解析
- 遼寧沈陽(yáng)市第31中學(xué)2025屆高考考前模擬數(shù)學(xué)試題含解析
- 海南省華僑中學(xué)2025屆高三最后一模英語(yǔ)試題含解析
- 2025屆天津市寶坻區(qū)普通高中高考語(yǔ)文必刷試卷含解析
- DB3204T 1026-2022 危險(xiǎn)化學(xué)品儲(chǔ)存柜安全技術(shù)要求及管理規(guī)范
- 《大數(shù)據(jù)環(huán)境下的網(wǎng)絡(luò)安全問(wèn)題探討(論文)8000字》
- 基礎(chǔ)換填施工方案完整版
- 人工肩關(guān)節(jié)置換術(shù)手術(shù)配合共47張課件
- 癲癇發(fā)作應(yīng)急預(yù)案
- 一般設(shè)備評(píng)估常用數(shù)據(jù)和參數(shù)
- 光伏發(fā)電項(xiàng)目監(jiān)理工作制度
- (完整)《神經(jīng)病學(xué)》考試題庫(kù)及答案
- Q∕SY 201.4-2015 油氣管道監(jiān)控與數(shù)據(jù)采集系統(tǒng)通用技術(shù)規(guī)范 第4部分:數(shù)據(jù)需求與管理
- 閑置固定資產(chǎn)明細(xì)表
- 2022年雅思翻譯句精華版
評(píng)論
0/150
提交評(píng)論