微機(jī)原理與接口-第5章第6章存儲器IO接口課件_第1頁
微機(jī)原理與接口-第5章第6章存儲器IO接口課件_第2頁
微機(jī)原理與接口-第5章第6章存儲器IO接口課件_第3頁
微機(jī)原理與接口-第5章第6章存儲器IO接口課件_第4頁
微機(jī)原理與接口-第5章第6章存儲器IO接口課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五章存儲器及其與CPU接口

?存儲器分類及性能指標(biāo)?隨機(jī)讀寫存儲器?只讀存儲器?存儲器與CPU接口的基本技術(shù)

存儲器是微型計(jì)算機(jī)系統(tǒng)中的重要組成部分。任何CPU構(gòu)成的微機(jī)系統(tǒng)必須配備一定存儲容量的存儲器。存儲器的主要功能是用來存放系統(tǒng)工作時(shí)的信息,即程序和數(shù)據(jù)。存儲器容量愈大,能存放的信息就愈多,計(jì)算機(jī)的能力就愈強(qiáng)。

存儲器作為計(jì)算機(jī)系統(tǒng)的重要組成部分,隨著更好的存儲載體材料的發(fā)現(xiàn)及生產(chǎn)工藝的不斷改進(jìn),爭取更大的存儲容量、獲得更快的存取速度、減小存儲器載體的體積以及降低單位存儲容量性價(jià)比等方面都獲得快速的發(fā)展。

5.1存儲器分類及性能指標(biāo)5.1.1半導(dǎo)體存儲器的分類簡單的二級結(jié)構(gòu)

主存 + 輔存一般為半導(dǎo)體存儲器,也稱為短期存儲器。解決讀寫速度問題。包括磁盤(中期存儲器)、磁帶、光盤(長期存儲)等。解決存儲容量問題。DRAM:動(dòng)態(tài)RAM。利用MOS管的柵極對其襯底間的分布電容保存信息,DRAM的每個(gè)存儲單元所需MOS管較少,因此集成度高,功耗小,價(jià)格便宜。DRAM中的信息會(huì)因電容漏電而逐漸消失,需配置專門的動(dòng)態(tài)刷新電路。四、只讀存儲器ROM

使用使只能讀出,不能寫入。ROM中信息關(guān)機(jī)后不消失。掩膜ROM(MaskedROM):生產(chǎn)時(shí)已將程序、數(shù)據(jù)寫入其中,用戶只能讀出,不能修改。PROM(ProgrammableROM):可編程的只讀存儲器。PROM中的程序是由用戶自行寫入的,但一經(jīng)寫入就無法更改了,是一種一次性寫入的ROM。EPROM(ErasableProgrammableROM

):可擦除可編程存儲器。EPROM可由用戶自行寫入程序,寫入后的內(nèi)容可用紫外線燈照射來擦除,然后可重新寫入內(nèi)容。EPROM可多次改寫。E2PROM(ElectricallyErasableProgrammableROM

):電可擦除可編程ROM。可用電信號進(jìn)行清除和重寫的存儲器。E2PROM使用方便,但存取速度較慢,價(jià)格較貴。半導(dǎo)體存儲器磁介質(zhì)存儲器光存儲器Multi-SRAMNV-SRAMFIFOCache雙極型:存取速度快,但集成度低,一般用于大 型計(jì)算機(jī)或高速微機(jī)中;MOS型掩膜ROM一次性可編程PROM紫外線可擦除EPROM電可擦除E2PROM可編程只讀存儲器FLASH讀寫存儲器RAM只讀存儲器ROM(按讀寫功能分類)靜態(tài)SRAM動(dòng)態(tài)DRAM:集成度高但存取速度較低

一般用于需要較大容量的場合。速度較快,集成度較低,一般用于對速度要求高、而容量不大的場合。按存儲介質(zhì)分類5.1.2半導(dǎo)體存儲器的主要技術(shù)指標(biāo)1.容量:指一個(gè)存儲器芯片能存儲的二進(jìn)制信息。

存儲器芯片容量=存儲單元數(shù)×每單元的數(shù)據(jù)位數(shù)例:6264

8KB=8K×8bit

61162KB=2K×8bit

1字節(jié)=8bit;1KB=210字節(jié)=1024字節(jié);1MB=210KB=1024KB;1GB=210MB=1024MB;1TB=210GB=1024GB。2.存取時(shí)間:存取時(shí)間是指向存儲器單元寫入數(shù)據(jù)及從存儲器單元讀出數(shù)據(jù)所需的時(shí)間,有時(shí)又稱為讀寫周期。3.功耗:功耗是存儲器的重要指標(biāo),不僅表示存儲器芯片的功耗,還確定了計(jì)算機(jī)系統(tǒng)中的散熱問題。功耗通常是指每個(gè)存儲元消耗功率的大小,單位為微瓦/位(μW/位)或者毫瓦/位(mW/位)。5.2隨機(jī)讀寫存儲器5.2.1靜態(tài)讀寫存儲器SRAMT1和T2組成一個(gè)雙穩(wěn)態(tài)觸發(fā)器,用于保存數(shù)據(jù)。T3和T4為負(fù)載管。如A點(diǎn)為數(shù)據(jù)D,則B點(diǎn)為數(shù)據(jù)/D。T1T2ABT3T4+5VT5T6行選擇線有效(高電平)時(shí),A、B處的數(shù)據(jù)信息通過門控管T5和T6送至C、D點(diǎn)。行選擇線CD列選擇線T7T8I/OI/O列選擇線有效(高電平)時(shí),C、D處的數(shù)據(jù)信息通過門控管T7和T8送至芯片的數(shù)據(jù)引腳I/O。

一、靜態(tài)RAM基本存儲電路

二、典型的靜態(tài)RAM芯片

不同的靜態(tài)RAM的內(nèi)部結(jié)構(gòu)基本相同,只是在不同容量時(shí)其存儲體的矩陣排列結(jié)構(gòu)不同。典型的靜態(tài)RAM芯片如Intel6116(2K×8位),6264(8K×8位),62128(16K×8位)和62256(32K×8位)等。圖為SRAM6264芯片的引腳圖,其容量為8K×8位,即共有8K(213)個(gè)單元,每單元8位。因此,共需地址線13條,即A12~A0;數(shù)據(jù)線8條即I/O8~I/O1、WE、OE、CE1、CE2的共同作用決定了SRAM6264的操作方式。

123456789101112131428272625242322212019181716156264NCA4A5A6

A7A8

A9A10A11A12I/O1I/O2I/O3GNDVCCWECE2A3A2A1OEA0CE1I/O8I/O7I/O6I/O5I/O46264的操作方式I/O1~I/O8IN寫0100IN寫1100OUT讀0101高阻輸出禁止1101高阻未選中×0××高阻未選中××1×I/O1~I/O8方式WECE1CE2OE

SRAM6264引腳圖(一)6225662256是32K*8的CMOS靜態(tài)RAM

補(bǔ)充:典型存儲器芯片和譯碼器芯片62256工作表(二)3-8譯碼器74LS13874LS138引腳功能(1)片選信號:G1?G2A?G2B(2)CBA譯碼Y0到Y(jié)7有效5.2.2動(dòng)態(tài)讀寫存儲器DRAM

一、基本存儲元素行選擇線T1B存儲電容CA列選擇線T2I/O1.設(shè)

T1導(dǎo)通時(shí)(行選線=1),將A=1寫入,則C上有電荷。2.行選擇線有效時(shí),數(shù)據(jù)通過T1送至B處;3.列選擇線有效時(shí),數(shù)據(jù)通過T2送至芯片的數(shù)據(jù)引腳I/O;4.為防止存儲電容C放電導(dǎo)致數(shù)據(jù)丟失,必須定時(shí)進(jìn)行刷新;5.動(dòng)態(tài)刷新時(shí)行選擇線有效,而列選擇線無效。(刷新是逐行進(jìn)行的。)刷新放大器

二、動(dòng)態(tài)RAM集成芯片2164

一種典型的DRAM如Intel2164。2164是64K×1位的DRAM芯片,片內(nèi)含有64K個(gè)存儲單元,所以,需要16位地址線尋址。為了減少地址線引腳數(shù)目,采用行和列兩部分地址線各8條,內(nèi)部設(shè)有行、列地址鎖存器。利用外接多路開關(guān),先由行選通信號RAS選通8位行地址并鎖存。隨后由列選通信號CAS選通8位列地址并鎖存,16位地址可選中64K存儲單元中的任何一個(gè)單元。2164芯片的引腳和內(nèi)部結(jié)構(gòu)示意如圖所示。

掩膜ROM芯片所存儲的信息由芯片制造廠家完成,用戶不能修改。掩膜ROM以有/無跨接管子來區(qū)分0/1信息:有為0,無(被光刻而去掉)為1。5.3.1掩膜ROM和PROM一、掩膜ROM(ReadOnlyMemory)位線字線

D3D2D1D0單元01010單元11101單元20101單元301105.3只讀存儲器ROM1.由浮柵雪崩注入的FAMOS器件構(gòu)成。2.當(dāng)浮柵有足夠的電荷積累時(shí),記錄的信息為0,沒有一定的電荷積累時(shí),信息為1。3.用戶可以多次編程。編程加寫脈沖后,某些存儲單元的PN結(jié)表面形成浮動(dòng)?xùn)?,阻擋通路,?shí)現(xiàn)信息寫入。4.用紫外線照射可驅(qū)散浮動(dòng)?xùn)牛ǜ派系碾姾尚纬晒怆娏髀?,原有信息全部擦除(擦除后?nèi)容全為“1”),便可再次改寫。5.3.2

可擦除可編程的只讀存儲器EPROM

典型的EPROM芯片常用的典型EPROM芯片有:2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。VCCPGENCA8A9A11OEA10CED7D6D5D4D3123456789101112131428272625242322212019181716152764VPPA12A7A6

A5A4

A3A2A1A0D0D1D2GND封裝及引腳2764封裝圖A0~A12地址輸入,213=8192=8KD0~D7雙向數(shù)據(jù)線VPP編程電壓輸入端OE輸出允許信號CE片選信號PGE編程脈沖輸入端,讀PGE=15.4存儲器與CPU接口的基本技術(shù)5.4.1

接口連接應(yīng)注意的主要問題一、CPU總線的負(fù)載能力

由于存儲器芯片是MOS器件,直流負(fù)載很小,它的輸入電容為5-10PF。所以:

小系統(tǒng)中,CPU與存儲器可直連。

大系統(tǒng)常加驅(qū)動(dòng)器。二、CPU時(shí)序與存儲器存取時(shí)序的配合選擇存儲器芯片要盡可能滿足CPU取指令和讀寫存儲器的時(shí)序要求。一般選高速存儲器,避免需要在CPU有關(guān)時(shí)序中插入TW,降低CPU速度。三、存儲器組織和地址分配(1)確定整機(jī)存儲容量。(2)整機(jī)存儲容量在整個(gè)存儲空間的位置。(3)選用存儲器芯片的類型和數(shù)量。(4)劃分RAM、ROM區(qū),地址分配,畫出地址分配圖。四、控制信號的配合與連接一般指存儲器的WE、OE、CS等與CPU的RD、WR等相連,不同的存儲器和CPU其控制信號也不完全相同。5.4.2

存儲器容量的擴(kuò)充

當(dāng)單片存儲器芯片的容量不能滿足系統(tǒng)容量要求時(shí),可多片組合以擴(kuò)充位數(shù)(位擴(kuò)展)或存貯單元數(shù)(字?jǐn)U展)。存儲芯片存儲模塊存儲體

進(jìn)行位擴(kuò)展,以實(shí)現(xiàn)按字節(jié)編址的結(jié)構(gòu)

進(jìn)行字?jǐn)U展,以滿足總?cè)萘康囊蟠鎯w、地址譯碼、數(shù)據(jù)緩沖和讀寫控制

二、單元數(shù)擴(kuò)充(字?jǐn)U展)例:用8K×8bit的6264擴(kuò)充形成32K×8bit的存儲區(qū),需要的8K×8芯片數(shù)為:32K/8K=4(片)8K×8芯片A14A13A12~A0地址范圍0#000…00至1…110000H—1FFFH1#010…00至1…112000H—3FFFH2#100…00至1…114000H—5FFFH3#110…00至1…116000H—7FFFH

連接時(shí):⑴A0~A12,D7~D0,R/W等同名信號連接在一起。

⑵由于容量的擴(kuò)充,增加了兩位地址線,譯碼后產(chǎn)生4個(gè)片選信號,用于區(qū)分4個(gè)芯片。這樣,32K的地址范圍在4個(gè)芯片中的分配為:

稱地址線A0~A12實(shí)現(xiàn)片內(nèi)尋址,A13~A14實(shí)現(xiàn)片間尋址。

擴(kuò)充連接圖進(jìn)行字?jǐn)U展時(shí),模塊中所有芯片的地址線、控制線和數(shù)據(jù)線互連形成整個(gè)模塊的低位地址線、控制線和數(shù)據(jù)線

,CPU的高位地址線(擴(kuò)展的字線)被用來譯碼以形成對各個(gè)芯片的選擇線——片選線。

當(dāng)單元數(shù)與位數(shù)都要擴(kuò)充時(shí),將以上兩者結(jié)合起來。如:用8K×8芯片構(gòu)成32K×16存儲區(qū),需要4×2個(gè)芯片。(1)先擴(kuò)充位數(shù),每2個(gè)芯片一組,構(gòu)成4個(gè)8K×16芯片組;(2)再擴(kuò)充單元數(shù),將這4個(gè)芯片組組合成32K×16存儲區(qū)。5.4.3

8086/8088與存儲器的連接

設(shè)CPU引腳已經(jīng)外圍芯片(鎖存器、驅(qū)動(dòng)器),可以連接存貯器或I/O接口電路。以8088系統(tǒng)總線與SRAM連接為例,AB、CB、DB如何連?地址總線的低位地址線直接與各存儲芯片的地址線連接。所需低位地址線的數(shù)目N與存儲芯片容量L的關(guān)系:L=2N。地址總線余下的高位地址線經(jīng)譯碼后,做各存儲芯片的片選。通常M/IO信號也參與片選譯碼。

存儲器片選譯碼電路例:用4片6264構(gòu)成32K×8的存貯區(qū)。1.全譯碼法——高位地址線A19~A13全部參加譯碼,產(chǎn)生6264的片選信號。注:MEMW=IO/M+WRMEMR=IO/M+RD

整個(gè)32K×8存儲器的地址范圍:

00000H—07FFFH僅占用80881M容量的32K地址范圍。用戶擴(kuò)展存儲器地址空間的范圍決定了存儲芯片的片選信號的實(shí)現(xiàn)方式。地址總線余下的高位地址線經(jīng)譯碼后,做各存儲芯片的片選。通常IO/M信號也參與片選譯碼.全譯碼的優(yōu)點(diǎn)地址唯一實(shí)現(xiàn)地址連續(xù)便于擴(kuò)充全譯碼的優(yōu)點(diǎn)地址唯一實(shí)現(xiàn)地址連續(xù)便于擴(kuò)充次高位地址線A15~A13譯碼后產(chǎn)生片選信號區(qū)分4個(gè)存儲芯片;最高位地址線A19~A16及IO/M用作片選信號有效的使能控制。2.部分譯碼法——除片內(nèi)尋址外的高位地址的一部分來譯碼產(chǎn)生片選信號(簡單)。缺點(diǎn):地址重疊,每個(gè)地址有2(20~15)=25個(gè)重疊地址。令未用到的高位地址全為0,則稱為基本存貯器地址。3.線選法

——用除片內(nèi)尋址外的高位地址線中的任一根做為片選信號,直接接各存儲器的片選端來區(qū)別各芯片的地址。特點(diǎn):①線選法也有地址重疊區(qū)。②地址不連續(xù),但簡單。

實(shí)際應(yīng)用中,存儲器芯片的片選信號可根據(jù)需要選擇上述某種方法或幾種方法并用。

ROM與CPU的連接同RAM。用戶擴(kuò)展存儲器地址空間的范圍決定了存儲芯片的片選信號的實(shí)現(xiàn)方式。地址總線余下的高位地址線經(jīng)譯碼后,做各存儲芯片的片選。通常IO/M信號也參與片選譯碼。低位地址線A12~A0直接接在存儲芯片上,尋址片內(nèi)8K單元;次高位地址線A15~A13譯碼后產(chǎn)生片選信號區(qū)分4個(gè)存儲芯片;最高位地址線A19~A16及IO/M用作片選信號有效的使能控制。6.1I/O接口的基本功能與結(jié)構(gòu)6.2I/O端口的編址方式6.3I/O同步控制方式6.4I/O接口中的中斷技術(shù)

6.5I/O接口中的DMA技術(shù)

6.6I/O接口中的數(shù)據(jù)緩存技術(shù)6.7接口的分類

第六章I/O接口兩者的信息類型可能不一樣即使都是數(shù)字量信息,兩者的信息格式、信號時(shí)序、傳輸速度還可能不一樣6.1I/O接口的基本功能和結(jié)構(gòu)I/O設(shè)備是微機(jī)系統(tǒng)必不可少的組成部分。但外部I/O設(shè)備并不能直接與微機(jī)相連,而需要通過I/O接口與微機(jī)相連,這是因?yàn)椋?.1.1接口的基本功能6.1.2接口的基本結(jié)構(gòu)總之,就是完成三大總線的轉(zhuǎn)換和連接任務(wù)。不同外設(shè)的接口,其功能及與外設(shè)的連接、通信方式各不相同。但任何接口電路的基本功能是相同的,有三:6.1.1接口的基本功能作為微型機(jī)與外設(shè)傳遞數(shù)據(jù)的緩沖站正確尋址與微機(jī)交換數(shù)據(jù)的外設(shè)提供微型機(jī)與外設(shè)間交換數(shù)據(jù)所需的控制邏輯和狀態(tài)信號。同樣,不同外設(shè)接口的內(nèi)部結(jié)構(gòu)可能千差萬別,但其基本結(jié)構(gòu)也是相似的。與接口的基本功能相對應(yīng),接口電路必須包含以下三種基本邏輯部件:I/O數(shù)據(jù)緩沖寄存器——與功能1)對應(yīng)寄存器地址譯碼器——與功能2)對應(yīng)讀/寫控制邏輯——與功能3)對應(yīng)對于一些比較復(fù)雜的接口,為了增強(qiáng)功能和適應(yīng)不同I/O同步控制方式的需要,往往還要引入一些別的邏輯電路。6.1.2接口的基本結(jié)構(gòu)1.接口電路的典型結(jié)構(gòu)6.1.2接口的基本結(jié)構(gòu)數(shù)據(jù)總線緩沖器讀寫控制邏輯地址總線緩沖與譯碼控制寄存器輸出數(shù)據(jù)緩存器狀態(tài)寄存器輸入數(shù)據(jù)緩存器聯(lián)絡(luò)控制邏輯系統(tǒng)DB系統(tǒng)ABMPU中斷請求I/O數(shù)據(jù)線外設(shè)準(zhǔn)備好選通聯(lián)絡(luò)線系統(tǒng)讀/寫控制線等中斷響應(yīng)用以確定接口電路的工作方式和功能。輸入緩存器和狀態(tài)寄存器的輸出接在數(shù)據(jù)總線上,因此它必須有三態(tài)輸出功能。通常把接口中可被CPU讀/寫的寄存器稱為I/O端口。端口寄存器的全部或部分端口線被連接到外設(shè)上。如圖所示:M

P

UABDBCB接口數(shù)據(jù)狀態(tài)控制I/O設(shè)備I/O端口1I/O端口2I/O端口3

所謂的I/O操作,是指I/O端口操作,而不是指I/O設(shè)備操作,即CPU訪問的是與外設(shè)相連的I/O端口,而不是籠統(tǒng)的I/O設(shè)備。2.I/O操作6.1.2接口的基本結(jié)構(gòu)6.2.1存儲器映象方式6.2.2隔離I/O方式6.2.3Intel系列處理器的I/O編址方式6.2I/O端口的編址方式6.2.1存儲器映象方式這種方式是將I/O端口與存儲器單元同等看待,一起編址,所以也叫統(tǒng)一編址方式。讀/寫AB存儲空間存儲器I/O端口控制控制邏輯MPUDBRDWR6.2.1存儲器映象方式

(2)I/O端口數(shù)目(即外設(shè)數(shù)目)只受總存儲容量的限制,大大增加了系統(tǒng)的吞吐率。1.優(yōu)點(diǎn):(1)I/O操作與存儲器操作完全相同,無需使用專用I/O指令,而存儲器操作指令及其尋址方式非常豐富,從而使I/O功能增強(qiáng),編程方便、靈活。

(3)使微機(jī)系統(tǒng)的讀寫控制邏輯簡單。讀/寫AB存儲空間存儲器I/O端口控制控制邏輯MPUDBRDWR6.2.1存儲器映象方式(2)為識別一個(gè)端口,必須對全部地址線譯碼,增加了地址譯碼電路的復(fù)雜性,并使外設(shè)尋址時(shí)間增長。(1)占用了存儲器的一部分地址空間,使可用的內(nèi)存空間減少。2.缺點(diǎn):(3)訪問存儲器與I/O操作區(qū)別不明顯。讀/寫AB存儲空間存儲器I/O端口控制控制邏輯MPUDBRDWR將I/O端口和存儲器分開編址,即兩者的地址空間是互相“隔離”的。6.2.2隔離I/O方式有兩個(gè)地址空間,MPU使用不同的讀寫控制信號訪問存儲器和I/O端口。MPU必須采用專用I/O指令訪問I/O端口,以便產(chǎn)生相應(yīng)的I/O讀寫信號。存儲器(1MB)MPU控制邏輯I/O端口(256個(gè))MEMRMEMWIORIOWR/W控制20208888ABDB1.優(yōu)點(diǎn):6.2.2隔離I/O方式存儲器全部地址空間都不受I/O尋址影響;I/O地址譯碼較簡單,I/O尋址速度較快;使用專用I/O指令和存儲器訪問指令有明顯區(qū)別,可使編制的程序清晰易懂,便于檢查。存儲器(1MB)MPU控制邏輯I/O端口(256個(gè))MEMRMEMWIORIOWR/W控制20208888ABDB2.缺點(diǎn):

6.2.2隔離I/O方式I/O指令類型少,不如存儲器訪問指令豐富,使程序設(shè)計(jì)靈活性較差;I/O指令只能在規(guī)定的內(nèi)部寄存器和I/O端口間交換信息,處理能力和靈活性不如存儲器映象式強(qiáng);MPU必須提供存儲器和I/O兩組讀寫控制信號,增加了控制邏輯的復(fù)雜性。存儲器(1MB)MPU控制邏輯I/O端口(256個(gè))MEMRMEMWIORIOWR/W控制20208888ABDB6.2.3Intel系列處理器的I/O編址方式Intel系列MPU既可采用隔離I/O編址方式,又可使用存儲器映象I/O編址方式。Intel系列MPU的I/O地址空間關(guān)于Intel系列MPU的I/O編址方式的幾點(diǎn)說明Intel系列MPU的I/O保護(hù)機(jī)制實(shí)際的80X86系統(tǒng)中只使用了1K字節(jié)的I/O空間,即只用A9~A0這十根地址線對I/O尋址,并且對這1K字節(jié)的I/O地址空間也大都按AT系統(tǒng)的技術(shù)標(biāo)準(zhǔn)作了分配。

80X86都提供一個(gè)區(qū)別于物理存儲器地址空間的獨(dú)立的I/O地址空間,由216(64K)個(gè)可獨(dú)立尋址的8位端口組成。兩個(gè)相鄰的8位端口可構(gòu)成一個(gè)16位端口,一般應(yīng)對準(zhǔn)于偶數(shù)地址。4個(gè)相鄰的8位端口可構(gòu)成一個(gè)32位端口(386以上),一般應(yīng)對準(zhǔn)于能被4整除的地址。1.Intel系列MPU的I/O地址空間6.2.3Intel系列處理器的I/O編址方式這10根I/O地址線并非專設(shè)的,而是借用存儲器尋址的低10位地址線A9~A0。為了與存儲器的訪間相區(qū)別,就要在I/O端口地址譯碼電路上加限定信號IOR*或IOW*。為了保證DMA控制器訪問存儲器時(shí),不會(huì)同時(shí)選通I/O空間中相同地址的端口,在I/O端口地址譯碼電路中還要加一個(gè)限定信號"AEN",使得DMAC訪問時(shí),AEN=1,禁止I/O端口譯碼。2.關(guān)于Intel系列MPU的I/O編址方式的幾點(diǎn)說明:6.2.3Intel系列處理器的I/O編址方式3.Intel系列MPU的I/O保護(hù)機(jī)制6.2.3Intel系列處理器的I/O編址方式Intel系列MPU為I/O操作提供了兩種保護(hù)機(jī)制:用EFLAGS中的IOPL字段控制使用I/O指令訪問I/O地址空間的權(quán)限。用任務(wù)狀態(tài)段的“I/O允許位映象”控制對I/O地址空間中各具體端口的訪問權(quán)限。保護(hù)虛地址方式下,當(dāng)某個(gè)程序要訪問I/O端口時(shí),CPU先檢查是否滿足CPL≤IOPL,如滿足,則可訪問。如不滿足,再對相應(yīng)于這些端口的所有映象位進(jìn)行測試。在虛擬8086方式下,處理器不考慮IOPL,只檢查I/O允許位映象。關(guān)于保護(hù)機(jī)制的兩點(diǎn)說明:6.2.3Intel系列處理器的I/O編址方式6.3I/O同步控制方式數(shù)據(jù)輸入緩存器數(shù)據(jù)輸出緩存器接口數(shù)據(jù)數(shù)據(jù)總線MPU外設(shè)系統(tǒng)ABIOR/IOW①③②③I/O同步控制方式是微機(jī)基本系統(tǒng)與I/O外設(shè)之間數(shù)據(jù)傳送的管理方法,是微機(jī)系統(tǒng)的一種調(diào)度策略。輸入過程輸出過程輸入輸出①②②、③由輸入指令完成①、②由輸出指令完成I/O設(shè)備的同步控制方式通常有四種:程序查詢式控制中斷驅(qū)動(dòng)式控制直接存儲器存取式控制延時(shí)等待式控制6.3I/O同步控制方式(1)特點(diǎn):I/O操作總是由MPU通過程序查詢外設(shè)的狀態(tài)來啟動(dòng),即總是MPU主動(dòng),I/O被動(dòng)。

(2)硬件接口結(jié)構(gòu)

輸入接口輸出接口1.程序查詢式控制1.查詢式2.中斷式3.DMA式4.等待式6.3I/O同步控制方式①輸入接口硬件結(jié)構(gòu)輸入狀態(tài)信息輸入數(shù)據(jù)狀態(tài)位復(fù)位數(shù)據(jù)就緒?(b)工作流程N(yùn)Y&數(shù)據(jù)鎖存三態(tài)緩沖器(8位)三態(tài)緩沖器(1位)&地址譯碼選通>DQ數(shù)據(jù)+5V準(zhǔn)備就緒觸發(fā)器PdDiDBMPUIORREADY(狀態(tài)信息)PsR輸入設(shè)備AB(a)硬件結(jié)構(gòu)1.查詢式2.中斷式3.DMA式4.等待式6.3I/O同步控制方式②輸出接口除數(shù)據(jù)端口外,必須有狀態(tài)端口狀態(tài)端口和輸入數(shù)據(jù)端口必須有三態(tài)輸出功能說明:(b)工作流程輸入狀態(tài)信息輸出數(shù)據(jù)狀態(tài)位復(fù)位YN忙否?MPUQD輸出設(shè)備數(shù)據(jù)鎖存器三態(tài)緩沖器(1位)&地址譯碼數(shù)據(jù)PdPsDBIOW(a)硬件結(jié)構(gòu)忙觸發(fā)器RACK狀態(tài)信息+5VDiABIOR&1.查詢式2.中斷式3.DMA式4.等待式6.3I/O同步控制方式它是一種天然的同步控制機(jī)構(gòu),能很好地協(xié)調(diào)MPU與外設(shè)之間的工作,數(shù)據(jù)傳送可靠。接口簡單,硬件電路不多,查詢程序也不復(fù)雜。在MPU使用效率與響應(yīng)實(shí)時(shí)性間有矛盾,軟件開銷大,MPU使用效率低。

缺點(diǎn):這種I/O控制方式是優(yōu)是劣,不能一概而論,要看具體應(yīng)用場合。優(yōu)點(diǎn):(3)評價(jià)1.查詢式2.中斷式3.DMA式4.等待式6.3I/O同步控制方式1.查詢式2.中斷式3.DMA式4.等待式(1)特點(diǎn):每次I/O操作都是由I/O設(shè)備向MPU發(fā)中斷請求而啟動(dòng)的,即I/O主動(dòng),MPU被動(dòng)。(2)接口電路結(jié)構(gòu)中斷請求觸發(fā)器輸入設(shè)備狀態(tài)信號&數(shù)據(jù)鎖存器三態(tài)緩存器1MPU地址譯碼>數(shù)據(jù)RDYD+5VQIORDBABINTCP>2.中斷驅(qū)動(dòng)式控制6.3I/O同步控制方式6.3I/O同步控制方式1.查詢式2.中斷式3.DMA式4.等待式I/O設(shè)備較多時(shí),硬件復(fù)雜,需以一系列中斷邏輯電路作為支持;因?yàn)橹袛喾绞奖旧硎且环N異步控制機(jī)構(gòu),中斷請求信號的出現(xiàn)完全是隨機(jī)的,故軟件開發(fā)和調(diào)試比程序查詢式復(fù)雜、困難。缺點(diǎn):優(yōu)點(diǎn):既能節(jié)省MPU時(shí)間,提高計(jì)算機(jī)使用效率,又能使I/O設(shè)備的服務(wù)請求得到及時(shí)響應(yīng),較好地解決了效率與實(shí)時(shí)性間的矛盾。鑒于上述原因,如不是實(shí)時(shí)性要求很高、非使用中斷驅(qū)動(dòng)式控制不可的地方,還是盡量用程序查詢式控制為好,或者把兩種控制方式結(jié)合起來。(3)優(yōu)缺點(diǎn)3.直接存儲器存取式控制I/O設(shè)備必須通過MPU才能和存儲器交換信息。每次I/O操作的引發(fā)方式無論是軟件查詢引發(fā)還是硬件中斷引發(fā),引發(fā)后的具體數(shù)據(jù)傳輸過程則都是由軟件控制完成的。而DMA方式無需MPU介入,進(jìn)入DMA工作狀態(tài)后,數(shù)據(jù)完全是在硬件(DMAC)控制下在I/O設(shè)備和存儲器間直接交換,因此速度可大大提高。前兩種的共同特點(diǎn)是:6.3I/O同步控制方式1.查詢式2.中斷式3.DMA式4.等待式軟件延時(shí)硬件延時(shí)這是一種無需控制的I/O操作方式,只有在外部控制過程的各種動(dòng)作時(shí)間是固定的,且是已知的條件下才能使用。兩種方法:4.延時(shí)等待式控制1.查詢式2.中斷式3.DMA式4.等待式6.4.1中斷的基本概念與分類6.4.2中斷優(yōu)先級與中斷嵌套6.4.3中斷響應(yīng)條件6.4.4中斷服務(wù)判決6.4.5中斷處理過程6.4I/O接口中的中斷技術(shù)6.4.1中斷的基本概念與分類

1.中斷的定義

中斷是指CPU在執(zhí)行當(dāng)前程序的過程中,由于某種隨機(jī)出現(xiàn)的外設(shè)請求或CPU內(nèi)部的異常事件,使CPU暫停正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的服務(wù)處理程序;當(dāng)服務(wù)處理程序運(yùn)行完畢后,CPU再返回到暫停處繼續(xù)執(zhí)行原來的程序。中斷是為解決CPU與外設(shè)之間的信息交換問題而引入的。但現(xiàn)代意義上的中斷已不僅僅應(yīng)用于I/O控制,也應(yīng)用到CPU內(nèi)部的指令中斷和內(nèi)部異常處理。微機(jī)系統(tǒng)的中斷可分為兩大類:2.中斷分類硬中斷軟中斷指由CPU外部事件引起的中斷,又叫外中斷,簡稱中斷。又分為:①非屏蔽中斷NMI②可屏蔽中斷INTR

前者不受CPU內(nèi)部的中斷允許標(biāo)志IF的控制,而后者受控制。指由CPU內(nèi)部原因引起的中斷,也叫內(nèi)中斷,統(tǒng)稱為異常。又分為兩大類:

①指令引起的異常②處理器檢測的異常

6.4.1中斷的基本概念與分類6.4.2中斷優(yōu)先級與中斷嵌套

當(dāng)多個(gè)中斷源同時(shí)申請中斷時(shí),CPU同一時(shí)刻只能響應(yīng)一個(gè)中斷源的申請,應(yīng)按各中斷源的輕重緩急程度來確定它們的優(yōu)先級別。優(yōu)先級高的中斷先響應(yīng)。

中斷嵌套是指在優(yōu)先級已定的情況下,低優(yōu)先級的中斷服務(wù)程序可以被高優(yōu)先級的中斷源所中斷,等高優(yōu)先級的中斷服務(wù)程序結(jié)束后,再返回去執(zhí)行被中斷的低優(yōu)先級中斷服務(wù)程序。主程序1#中斷服務(wù)程序2#中斷服務(wù)程序3#中斷服務(wù)程序(中斷優(yōu)先級:3#>2#>1#)嵌套的級數(shù)原則上不限,只取決于堆棧深度,實(shí)際上與要求的中斷響應(yīng)速度也有關(guān)。中斷嵌套示意圖:6.4.2中斷優(yōu)先級與中斷嵌套1#中斷服務(wù)程序2#中斷服務(wù)程序3#中斷服務(wù)程序1#中斷請求響應(yīng)2#中斷請求響應(yīng)3#中斷請求響應(yīng)返回返回返回6.4.3CPU響應(yīng)中斷的條件CPU對中斷源發(fā)出的中斷請求是否響應(yīng),視中斷源而有所不同:對內(nèi)中斷和非屏蔽中斷請求,可在當(dāng)前指令執(zhí)行前或執(zhí)行后直接轉(zhuǎn)入中斷周期,由內(nèi)部硬件自動(dòng)執(zhí)行預(yù)定的操作;對外部可屏蔽中斷請求,通常要滿足一定的條件才能響應(yīng)。CPU響應(yīng)外部可屏蔽中斷請求,通常要滿足以下條件:置位了中斷請求觸發(fā)器。中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。CPU內(nèi)部是中斷開放的(CPU內(nèi)部中斷允許觸發(fā)器IF=1)。沒有更高優(yōu)先級別的中斷請求正在被響應(yīng)或正發(fā)出、正掛起。CPU正在執(zhí)行的現(xiàn)行指令已經(jīng)結(jié)束。6.4.3CPU響應(yīng)中斷的條件6.4.4中斷服務(wù)判決在有多中斷源的微機(jī)系統(tǒng)中,凡存在多個(gè)中斷源合用一根中斷請求線的情況,都存在一個(gè)多中斷請求的服務(wù)判決問題。主要包括兩方面:判別哪個(gè)中斷請求源的優(yōu)先權(quán)最高,確定為誰服務(wù);將程序轉(zhuǎn)移到相應(yīng)的中斷處理程序入口。程序查詢式判決中斷向量式判決6.4.4中斷服務(wù)判決解決這一問題的方法通常有兩種:這是一種軟件為主的判決方法。所需的硬件支持最少,主要需要一個(gè)帶三態(tài)緩沖的中斷請求鎖存器作為狀態(tài)輸入口,以供MPU查詢用。1.查詢式判決原理程序查詢

式判決中斷向量式判決MPU中斷處理器≥1中斷請求鎖存器7#=I/OINTD7D6D0IACK中斷接口INT0INT1INT7三態(tài)緩沖器0#=I/O1#=I/OEN6.4.4中斷服務(wù)判決程序查詢

式判決中斷向量式判決2.查詢式中斷流程圖中斷處理程序保護(hù)現(xiàn)場讀中斷請求狀態(tài)N恢復(fù)現(xiàn)場Y中斷返回7#I/O服務(wù)程序7#I/O請求?6#I/O服務(wù)程序6#I/O請求?0#I/O服務(wù)程序0#I/O請求?YYNN6.4.4中斷服務(wù)判決優(yōu)點(diǎn):硬件簡單,程序?qū)哟畏置?,只要改變程序中查詢的順序而不必改變硬件連接,即可方便地改變外設(shè)的中斷優(yōu)先級。缺點(diǎn):中斷源較多時(shí),中斷響應(yīng)速度慢,CPU使用效率降低。3.查詢式判決的優(yōu)缺點(diǎn)程序查詢

式判決中斷向量式判決6.4.4中斷服務(wù)判決這是一種硬件為主的判決方法。主要用硬件電路對中斷源進(jìn)行優(yōu)先級排隊(duì),并將程序引導(dǎo)到有關(guān)I/O的中斷服務(wù)程序入口。具體實(shí)現(xiàn)方案有:

●菊花鏈優(yōu)先級判決

●并行優(yōu)先級判決中斷向量式判決程序查詢式判決中斷向量

式判決6.4.4中斷服務(wù)判決

每個(gè)I/O設(shè)備除有中斷請求邏輯外,還必須包含一個(gè)中斷向量發(fā)生器;當(dāng)IACK有效并到達(dá)某個(gè)提出了中斷請求的I/O設(shè)備的輸入端時(shí),該設(shè)備將其識別碼(也叫中斷向量號)置于數(shù)據(jù)總線上。1.菊花鏈優(yōu)先級判決程序查詢式判決中斷向量

式判決MPU中斷向量發(fā)生器nn#I/O數(shù)據(jù)總線(DB)IACKIN1OUT1OUT2IN2IN3INnIR1IR2IRnINT中斷請求線中斷向量發(fā)生器1中斷向量發(fā)生器2(中斷處理器)1#I/O2#I/O6.4.4中斷服務(wù)判決其核心部件是一個(gè)優(yōu)先級編碼器和各中斷源公用的中斷向量發(fā)生器。當(dāng)IACK有效時(shí),中斷向量發(fā)生器將把與最高優(yōu)先級中斷請求源對應(yīng)的中斷向量號送上數(shù)據(jù)總線DB。2.并行優(yōu)先級判決程序查詢式判決中斷向量

式判決MPU中斷向量發(fā)生器優(yōu)先級編碼器數(shù)據(jù)總線(DB)IACKINTnIR0IR1IR2n-1(中斷處理器)6.4.4中斷服務(wù)判決

無論菊花鏈還是并行結(jié)構(gòu),當(dāng)MPU在中斷響應(yīng)周期中收到中斷向量號后,便通過計(jì)算或查表得到中斷向量(即中斷服務(wù)程序入口地址),并自動(dòng)進(jìn)入和執(zhí)行相應(yīng)的中斷服務(wù)程序。6.4.5中斷處理過程響應(yīng)中斷請求保證中斷處理完畢后能返回原程序,從斷點(diǎn)開始正確執(zhí)行。保護(hù)內(nèi)容包括:

CPU標(biāo)志寄存器FR

斷點(diǎn)地址PC

中斷處理將用到的CPU內(nèi)部寄存器保護(hù)現(xiàn)場開中斷中斷服務(wù)關(guān)中斷恢復(fù)現(xiàn)場開中斷中斷返回以便執(zhí)行中斷服務(wù)程序時(shí),能響應(yīng)更高級別的中斷源請求。完成I/O操作或異常事件處理,是整個(gè)中斷處理程序的核心。以便恢復(fù)現(xiàn)場時(shí)不被其他中斷打斷。以便中斷返回后可響應(yīng)新的中斷6.5I/O接口中的DMA技術(shù)

DMA方式不僅用于高速I/O設(shè)備與存儲器之間的數(shù)據(jù)傳輸,也常用于存儲器與存儲器之間、I/O設(shè)備與I/O設(shè)備之間的數(shù)據(jù)傳輸。如:6.5.1DMA操作的一般過程6.5.2DMA操作控制器

?磁盤、光盤與內(nèi)存之間的數(shù)據(jù)交換;?圖像與圖形顯示;?高速數(shù)據(jù)采集系統(tǒng);……DMA操作的過程取決于DMAC接管總線的方式。DMAC通常有三種從MPU接管總線的方式:使MPU暫時(shí)放棄總線控制權(quán)暫停MPU時(shí)鐘脈沖竊取MPU空閑時(shí)間6.5.1DMA操作的一般過程第一種方式下DMA操作過程示意:MPUDMAC存儲器外部設(shè)備地址總線數(shù)據(jù)線(a)DMA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論