《微機(jī)原理與接口技術(shù)》第3版 課件 牟琦 06 半導(dǎo)體存儲(chǔ)器;07 輸入輸出技術(shù);08 常用接口芯片_第1頁(yè)
《微機(jī)原理與接口技術(shù)》第3版 課件 牟琦 06 半導(dǎo)體存儲(chǔ)器;07 輸入輸出技術(shù);08 常用接口芯片_第2頁(yè)
《微機(jī)原理與接口技術(shù)》第3版 課件 牟琦 06 半導(dǎo)體存儲(chǔ)器;07 輸入輸出技術(shù);08 常用接口芯片_第3頁(yè)
《微機(jī)原理與接口技術(shù)》第3版 課件 牟琦 06 半導(dǎo)體存儲(chǔ)器;07 輸入輸出技術(shù);08 常用接口芯片_第4頁(yè)
《微機(jī)原理與接口技術(shù)》第3版 課件 牟琦 06 半導(dǎo)體存儲(chǔ)器;07 輸入輸出技術(shù);08 常用接口芯片_第5頁(yè)
已閱讀5頁(yè),還剩295頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理與接口技術(shù)(第3版)6半導(dǎo)體存儲(chǔ)器概述隨機(jī)讀/寫存儲(chǔ)器只讀存儲(chǔ)器例題解析虛擬存儲(chǔ)器Intel80x86內(nèi)存管理模式6.1.1存儲(chǔ)器的分類

一個(gè)雙穩(wěn)態(tài)半導(dǎo)體電路、一個(gè)CMOS晶體管或磁性材料的存儲(chǔ)元,均可以存儲(chǔ)一位二進(jìn)制代碼。這個(gè)二進(jìn)制代碼位是存儲(chǔ)器中最小的存儲(chǔ)單位,稱為一個(gè)存儲(chǔ)位或存儲(chǔ)元。由若干個(gè)存儲(chǔ)元組成一個(gè)存儲(chǔ)單元,多個(gè)存儲(chǔ)單元組成一個(gè)存儲(chǔ)器。6.1概述

根據(jù)存儲(chǔ)器的存儲(chǔ)介質(zhì)的性能及使用方法的不同,可以從不同的角度對(duì)存儲(chǔ)器進(jìn)行分類。1.按存儲(chǔ)介質(zhì)分類

存儲(chǔ)介質(zhì)是指能寄存“0”、“1”兩種代碼并能區(qū)別兩種狀態(tài)的物質(zhì)或元器件。存儲(chǔ)介質(zhì)主要有半導(dǎo)體器件、磁性材料和光盤等。⑴半導(dǎo)體存儲(chǔ)器

優(yōu)點(diǎn)是體積小、功耗低、存取時(shí)間短。

缺點(diǎn)是當(dāng)切斷電源時(shí),所存信息也隨即丟失,它是一種易失性存儲(chǔ)器。6.1概述⑵磁表面存儲(chǔ)器磁表面存儲(chǔ)器是在金屬或塑料基體的表面上涂一層磁性材料作為記錄介質(zhì),工作時(shí)磁層隨載磁體高速運(yùn)轉(zhuǎn),用磁頭在磁層上進(jìn)行讀/寫操作,故稱為磁表面存儲(chǔ)器。

特點(diǎn):具有非易失性的。⑶光盤存儲(chǔ)器

光盤存儲(chǔ)器是應(yīng)用激光在記錄介質(zhì)(磁光材料)上進(jìn)行讀/寫的存儲(chǔ)器。

特點(diǎn):具有非易失性、記錄密度高、耐用性好、可靠性高和可互換性強(qiáng)。6.1概述2.按存取方式分類⑴隨機(jī)存儲(chǔ)器

隨機(jī)存儲(chǔ)器(RandomAccessMemory,RAM)是一種可讀/寫存儲(chǔ)器,其特點(diǎn)是存儲(chǔ)器的任何一個(gè)存儲(chǔ)單元的內(nèi)容都可以隨機(jī)存取,而且存取時(shí)間與存儲(chǔ)單元的物理位置無(wú)關(guān)。隨機(jī)存儲(chǔ)器又分為靜態(tài)隨機(jī)存儲(chǔ)器(StaticRAM,SRAM)和動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DynamicRAM,DRAM)。⑵只讀存儲(chǔ)器只讀存儲(chǔ)器(ReadOnlyMemory,ROM)是只能對(duì)其存儲(chǔ)的內(nèi)容讀出,而不能對(duì)其重新寫入的存儲(chǔ)器。6.1概述3.按存取順序分類分為串行訪問(wèn)存儲(chǔ)器和直接存取存儲(chǔ)器。

串行訪問(wèn)存儲(chǔ)器:如果對(duì)存儲(chǔ)單元進(jìn)行讀/寫操作時(shí),需按其物理位置的先后順序?qū)ふ业刂罚瑒t這種存儲(chǔ)器叫做串行訪問(wèn)存儲(chǔ)器(順序存儲(chǔ)器)。還有部分串行訪問(wèn)的存儲(chǔ)器,如磁盤。在對(duì)磁盤讀/寫時(shí),首先直接指出該存儲(chǔ)器中的某個(gè)小區(qū)域(磁道),然后再順序?qū)ぴL,直至找到位置。故其前段是直接訪問(wèn),后段是串行訪問(wèn)。6.1概述

按作用不同,存儲(chǔ)器又可分為主存儲(chǔ)器、輔助存儲(chǔ)器和緩沖存儲(chǔ)器。存儲(chǔ)器的分類如圖6.1所示。6.1概述圖6.1存儲(chǔ)器的分類6.1.2存儲(chǔ)器的性能指標(biāo)1.存儲(chǔ)器容量

指的是存儲(chǔ)器所能容納的最大字存儲(chǔ)位數(shù)。由于存儲(chǔ)容量一般都很大,因此常以KB、MB或GB為單位。計(jì)算方式:

存儲(chǔ)器芯片容量=單元數(shù)×位數(shù)2.存取周期指實(shí)現(xiàn)一次完整的讀出或?qū)懭霐?shù)據(jù)的時(shí)間,是存儲(chǔ)器連續(xù)啟動(dòng)兩次讀或?qū)懖僮魉试S的最短時(shí)間間隔。計(jì)算機(jī)的運(yùn)行速度與存儲(chǔ)器的存取周期有著直接的關(guān)系,因此它是存儲(chǔ)器的一項(xiàng)重要參數(shù)。6.1概述3.功耗半導(dǎo)體存儲(chǔ)器屬于大規(guī)模集成電路,集成度高、體積小,但是不易散熱,因此在保證速度的前提下應(yīng)盡量減小功耗。4.可靠性指存儲(chǔ)器對(duì)電磁場(chǎng)、溫度變化等因素造成干擾的抵抗能力(電磁兼容性),以及在高速使用時(shí)也能正確地存?。▌?dòng)態(tài)可靠性)。5.集成度指在一塊數(shù)平方毫米芯片上所制作的基本存儲(chǔ)單元數(shù),常以“位/片”表示,也可以用“字節(jié)/片”表示。6.其他。還應(yīng)考慮輸入、輸出電平是否與外電路兼容,對(duì)CPU總線負(fù)載能力的要求,使用是否方便靈活以及成本價(jià)格等。6.1概述6.1.3存儲(chǔ)器的分級(jí)結(jié)構(gòu)目前通常采用多級(jí)存儲(chǔ)器體系結(jié)構(gòu),如圖6.2所示。6.1概述圖6.2存儲(chǔ)系統(tǒng)的分級(jí)結(jié)構(gòu)6.2.1靜態(tài)MOS存儲(chǔ)器1.基本存儲(chǔ)元

基本存儲(chǔ)元是組成存儲(chǔ)器的基礎(chǔ)和核心,它用來(lái)存儲(chǔ)1位二進(jìn)制信息。靜態(tài)存儲(chǔ)器的基本存儲(chǔ)元電路如圖6.3所示。6.2隨機(jī)讀/寫存儲(chǔ)器圖6.3靜態(tài)存儲(chǔ)器存儲(chǔ)元電路2.SRAM的組成

SRAM存儲(chǔ)體是一個(gè)由64×64=4096個(gè)六管靜態(tài)存儲(chǔ)電路組成的存儲(chǔ)矩陣,結(jié)構(gòu)圖如圖6.4所示6.2隨機(jī)讀/寫存儲(chǔ)器圖6.4

SRAM存儲(chǔ)體結(jié)構(gòu)圖3.SRAM的讀/寫過(guò)程⑴讀出過(guò)程①地址碼A0~A11加到RAM芯片的地址輸入端,經(jīng)X與Y地址譯碼器譯碼,產(chǎn)生行選與列選信號(hào),選中某一存儲(chǔ)單元,該單元中存儲(chǔ)的代碼,經(jīng)一定時(shí)間,出現(xiàn)在I/O電路的輸入端。I/O電路對(duì)讀出的信號(hào)進(jìn)行放大、整形,送至輸出緩沖寄存器。②在送上地址碼的同時(shí),還要送上讀/寫控制信號(hào)(R/或、)和片選信號(hào)()。6.2隨機(jī)讀/寫存儲(chǔ)器⑵寫入過(guò)程①地址碼加在RAM芯片的地址輸入端,選中相應(yīng)的存儲(chǔ)單元,使其可以進(jìn)行寫操作。②將要寫入的數(shù)據(jù)放在DB上。③加上片選信號(hào)=0及寫入信號(hào)R/=0。這兩個(gè)有效控制信號(hào)打開三態(tài)門使DB上的數(shù)據(jù)進(jìn)入輸入電路,送到存儲(chǔ)單元的位線上,從而寫入該存儲(chǔ)單元。6.2隨機(jī)讀/寫存儲(chǔ)器4.SRAM芯片舉例⑴Intel2114存儲(chǔ)器芯片(1K×4位)其內(nèi)部結(jié)構(gòu)如圖6.6所示,芯片的引腳圖如圖6.7所示。6.2隨機(jī)讀/寫存儲(chǔ)器圖6.7

2114引腳圖圖6.6

2114內(nèi)部結(jié)構(gòu)圖⑵Intel6264存儲(chǔ)器芯片(8K×8位)其內(nèi)部主要包括512×128的存儲(chǔ)器矩陣、行/列地址譯碼器以及數(shù)據(jù)輸入/輸出控制邏輯電路,工作方式如表6.1所示。表6.16264工作方式表6.2隨機(jī)讀/寫存儲(chǔ)器方式功能000禁止不允許和同時(shí)為低電平010讀出數(shù)據(jù)讀出001寫入數(shù)據(jù)寫入011選通芯片選通,輸出高阻態(tài)1××未選通芯片未選通6.2隨機(jī)讀/寫存儲(chǔ)器6264內(nèi)部結(jié)構(gòu)如圖6.8所示,芯片的引腳圖如圖6.9所示。圖6.9

6264引腳圖圖6.8

6264內(nèi)部結(jié)構(gòu)圖5.SRAM與CPU的連接同CPU連接時(shí),要完成地址線、數(shù)據(jù)線和控制線的連接。⑴位擴(kuò)展法:只加大字長(zhǎng),而存儲(chǔ)器的字?jǐn)?shù)與存儲(chǔ)器芯片字?jǐn)?shù)一致。假定使用8K×1的RAM存儲(chǔ)器芯片,那么組成8K×8位的存儲(chǔ)器可采用如圖6.10所示。6.2隨機(jī)讀/寫存儲(chǔ)器圖6.10

位擴(kuò)展連接圖⑵字?jǐn)U展法:僅在字?jǐn)?shù)擴(kuò)充,而位數(shù)不變。將芯片的低位地址線、數(shù)據(jù)線、讀/寫控制線并聯(lián),由片選信號(hào)來(lái)區(qū)分各片地址,片選信號(hào)端連接到選片譯碼器的輸出端。用16K×8位的芯片采用字?jǐn)U展法組成64K×8位的存儲(chǔ)器連接圖如圖6.11所示。6.2隨機(jī)讀/寫存儲(chǔ)器圖6.11

字?jǐn)U展連接圖地址空間分配表如表6.2所示。6.2隨機(jī)讀/寫存儲(chǔ)器地址片號(hào)片外A15A14片內(nèi)A13A12A11…A1A0說(shuō)明10000000…00111…11最低地址最高地址20101000…00111…11最低地址最高地址31010000…00111…11最低地址最高地址41111000…00111…11最低地址最高地址表6.2

字?jǐn)U展地址分配表⑶字位同時(shí)擴(kuò)展法

一個(gè)存儲(chǔ)器的容量假定為M×N位,若使用1×k位的芯片(1<M,k<N),則需要在字?jǐn)?shù)和位數(shù)同時(shí)進(jìn)行擴(kuò)展。此時(shí)共需要(M/1)×(N/k)個(gè)存儲(chǔ)器芯片。⑷靜態(tài)隨機(jī)存取存儲(chǔ)器的連接舉例在64KB的地址空間中,用8片2114構(gòu)成4K×8,即4KB存儲(chǔ)區(qū)的全譯碼法連接方案:其地址范圍為2000H~2FFFH。連接圖如圖6.12所示。6.2隨機(jī)讀/寫存儲(chǔ)器6.2隨機(jī)讀/寫存儲(chǔ)器圖6.12

字、位擴(kuò)展連接圖6.2.2動(dòng)態(tài)MOS存儲(chǔ)器1.單管動(dòng)態(tài)存儲(chǔ)元:由一個(gè)MOS管子T1和一個(gè)電容C構(gòu)成,電路如圖6.13所示。由單管動(dòng)態(tài)存儲(chǔ)元組成的存儲(chǔ)體矩陣如圖6.14所示。6.2隨機(jī)讀/寫存儲(chǔ)器圖6.13

動(dòng)態(tài)存儲(chǔ)元電路圖圖6.14動(dòng)態(tài)存儲(chǔ)元存儲(chǔ)體矩陣2.DRAM的刷新和DRAM控制器最常用刷新的方法的是“只有行地址有效”的方法。在刷新時(shí)限2ms中對(duì)DRAM芯片中所有行刷新一遍,可以實(shí)現(xiàn)全面刷新。為了實(shí)現(xiàn)刷新,DRAM控制器具有如下功能:⑴時(shí)序功能DRAM控制器需要按固定的時(shí)序提供行地址選通信號(hào)RAS,為此,用一個(gè)計(jì)數(shù)器產(chǎn)生刷新地址,同時(shí)用一個(gè)刷新定時(shí)器產(chǎn)生刷新請(qǐng)求信號(hào),以此啟動(dòng)一個(gè)刷新周期,刷新地址和刷新請(qǐng)求信號(hào)聯(lián)合產(chǎn)生行地址選通信號(hào)RAS,每刷新一行,就產(chǎn)生下一個(gè)行地址選通信號(hào)。6.2隨機(jī)讀/寫存儲(chǔ)器⑵地址處理功能DRAM控制器一方面要在刷新周期中順序提供行地址,以保證在2ms中使所有的DRAM單元都被刷新一次;另一方面,要用一個(gè)多路開關(guān)對(duì)地址進(jìn)行切換,刷新時(shí)只是來(lái)自刷新地址計(jì)數(shù)器的行地址而沒(méi)有列地址,總線地址則被封鎖。⑶仲裁功能當(dāng)來(lái)自CPU對(duì)內(nèi)存的正常讀/寫請(qǐng)求和來(lái)自刷新電路的刷新請(qǐng)求同時(shí)出現(xiàn)時(shí),仲裁電路要作出仲裁,原則上,CPU的讀/寫請(qǐng)求優(yōu)先于刷新請(qǐng)求。6.2隨機(jī)讀/寫存儲(chǔ)器DRAM控制器的原理圖如圖6.15所示。6.2隨機(jī)讀/寫存儲(chǔ)器圖6.15DRAM控制器原理圖3.動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器舉例動(dòng)態(tài)存儲(chǔ)器常作為微型計(jì)算機(jī)的主存儲(chǔ)器。目前常用的有4164、41256、41464以及414256等類型,其存儲(chǔ)容量分別為64K×1、256K×1、64K×4和256K×4。414256需要每8ms刷新一次。刷新時(shí)通過(guò)在512個(gè)行地址間按順序循環(huán)進(jìn)行,可以分散刷新,也可以連續(xù)刷新。分散刷新也稱為分布刷新,是指每15.6μs刷新一行;連續(xù)刷新也稱猝發(fā)方式刷新,它是對(duì)512行集中刷新。MCM414256必須每8ms進(jìn)行一次快速刷新,MCM41M256每64ms進(jìn)行一次快速刷新。414256的內(nèi)部組成如圖6.16所示。6.2隨機(jī)讀/寫存儲(chǔ)器6.2隨機(jī)讀/寫存儲(chǔ)器圖6.16414256的內(nèi)部組成4.高集成度DRAM容量為1M×1、1M×4、4M×1以及更高集成度的存儲(chǔ)器芯片已大量使用。通常把這些芯片放在內(nèi)存條上,用戶只需把內(nèi)存條插到系統(tǒng)板上提供的存儲(chǔ)條插座上即可使用。例如有256K×8、1M×8、256K×9、1M×9(9位時(shí)有一位為奇偶校驗(yàn)位)及更高集成度的存儲(chǔ)條。6.2隨機(jī)讀/寫存儲(chǔ)器6.2隨機(jī)讀/寫存儲(chǔ)器圖6.17是采用HYM59256A的存儲(chǔ)條。圖6.17

59256存儲(chǔ)條

只讀存儲(chǔ)器(ROM)的信息在使用時(shí)是不能被改變的,即只能讀出,不能寫入,故一般只能存放固定程序,如監(jiān)控程序、IBMPC中的BIOS程序等。只讀存儲(chǔ)器可分為:掩膜只讀存儲(chǔ)器、可編程只讀存儲(chǔ)器(ProgrammableROM,PROM)、可擦可編程只讀存儲(chǔ)器(ErasableProgrammableROM,EPROM)、電可擦可編程只讀存儲(chǔ)器(ElectricallyErasableProgrammableROM,EEPROM)以及快擦型存儲(chǔ)器(FlashMemory)。6.3只讀存儲(chǔ)器

6.3.1掩膜只讀存儲(chǔ)器圖6.18為一個(gè)簡(jiǎn)單的4×4位MOS管ROM,在行和列的交點(diǎn)處,有的連有管子,有的沒(méi)有,這是由工廠根據(jù)用戶提供的程序?qū)π酒瑘D形(掩膜)進(jìn)行二次光刻所決定的,所以稱為掩膜ROM。6.3只讀存儲(chǔ)器圖6.18

掩膜ROM存儲(chǔ)圖圖6.18存儲(chǔ)矩陣的內(nèi)容如表6.4所示。6.3只讀存儲(chǔ)器表6.4

存儲(chǔ)矩陣內(nèi)容表6.3.2可擦可編程只讀存儲(chǔ)器類存儲(chǔ)器可利用專門的擦除器(由紫外線燈照射)將其擦除,各字節(jié)內(nèi)容復(fù)原(為FFH),再根據(jù)需要利用EPROM編程器寫入新的數(shù)據(jù),因此這種芯片可反復(fù)使用。1.EPROM的存儲(chǔ)單元電路EPROM存儲(chǔ)電路如圖6.19所示。6.3只讀存儲(chǔ)器圖6.19

可擦可編程ROM存儲(chǔ)圖2.典型EPROM芯片介紹(Intel2764A)

2764功能框圖如圖6.20所示。6.3只讀存儲(chǔ)器圖6.20

2764功能圖Intel2764A有7種工作方式,如表6.5所示。6.3只讀存儲(chǔ)器A9A0VPPVCC數(shù)據(jù)端功能讀低低高××VCC5V數(shù)據(jù)輸出輸出禁止低高高××VCC5V高阻備用高××××VCC5V高阻編程低高低××12.5VVCC數(shù)據(jù)輸入校驗(yàn)低低高××12.5VVCC數(shù)據(jù)輸出編程禁止高××××12.5VVCC高阻標(biāo)識(shí)符低低高高低高VCCVCC5V5V制造商編碼器件編碼表6.5

2764工作方式表3.高集成度EPROM除了常用的EPROM2764外,27128、27256、27512等也是常用的EPROM芯片。由于工業(yè)控制計(jì)算機(jī)的發(fā)展,迫切需用電子盤取代硬盤,常把用戶程序、操作系統(tǒng)固化在電子盤(ROMDISK)上,這時(shí)要用27C010(128K×8)、27C020(256K×8)、27C040(512K×8)等大容量芯片。6.3只讀存儲(chǔ)器6.3.3電可擦可編程存儲(chǔ)器1.2816的基本特點(diǎn)(2K×8位)

6.3只讀存儲(chǔ)器圖6.232816邏輯符號(hào)圖2.2816的工作方式有6種工作方式,每種工作方式下各個(gè)控制信號(hào)所需電平如表6.6所示。6.3只讀存儲(chǔ)器

管腳方式VPP(V)數(shù)據(jù)線功能讀方式低低+4~+6輸出備用方式高×+4~+6高阻字節(jié)擦除低高+21輸入為高電平字節(jié)寫低高+21輸入片擦除低+9~+15V+21輸入為高電平擦寫禁止高×+21高阻表6.6

2816工作方式表⑴讀方式在讀方式時(shí),允許CPU讀取2816的數(shù)據(jù)。⑵寫方式2816具有以字節(jié)為單位的擦寫功能,擦除和寫入是同一種操作,即都是寫,只不過(guò)擦除是固定寫“1”而已。因此,在擦除時(shí),數(shù)據(jù)輸入是TTL高電平。⑶片擦除方式在2816需整片擦除時(shí),也可按字節(jié)擦除方式將整片2KB逐個(gè)進(jìn)行。6.3只讀存儲(chǔ)器3.2817AEEPROM(2K×8位)2817A的特點(diǎn)是片內(nèi)具有防寫保護(hù)單元,適于現(xiàn)場(chǎng)修改參數(shù)。2817A引腳如圖6.24所示。6.3只讀存儲(chǔ)器圖6.242817A引腳圖

2817A讀取時(shí)間為200ns,數(shù)據(jù)保存時(shí)間接近十年,每個(gè)單元允許擦寫104次。2817A的工作方式如表6.7所示。6.3只讀存儲(chǔ)器引腳方式數(shù)據(jù)線功能讀低低高高阻輸出維持高無(wú)關(guān)無(wú)關(guān)高阻高阻字節(jié)寫入低高低低輸入字節(jié)擦除字節(jié)寫入前自動(dòng)擦除表6.7

2817A工作方式表6.3.4快擦寫存儲(chǔ)器主要有以下3類。1.整體擦除快擦寫存儲(chǔ)器除了一般只讀存儲(chǔ)器所具備的地址鎖存器/譯碼器、片選電路、數(shù)據(jù)鎖存器、輸入/輸出緩沖器和讀控制電路之外,存儲(chǔ)器陣列采用的是快擦寫存儲(chǔ)器電路,另外有擦除電壓開關(guān)、編程電壓開關(guān)、命令寄存器、停止定時(shí)器以及狀態(tài)控制電路等。其中,命令寄存器用來(lái)寫入命令字以及執(zhí)行該命令所需要的地址和數(shù)據(jù)。主要型號(hào)有28F010、28F020、28F256和28F512。6.3只讀存儲(chǔ)器2.對(duì)稱型塊結(jié)構(gòu)快擦寫存儲(chǔ)器把存儲(chǔ)器陣列劃分成大小相等的存儲(chǔ)塊,每塊可以獨(dú)立地被擦除或者編程。擦除時(shí)可以擦除其中的任意一塊。主要型號(hào)有28F008SA、28F016SA和28F032SA等。3.帶自舉塊快擦寫存儲(chǔ)器是在塊結(jié)構(gòu)的基礎(chǔ)上增加了自舉塊,自舉塊用來(lái)存儲(chǔ)自舉程序。自舉塊具有數(shù)據(jù)保護(hù)特性,以在臨界應(yīng)用中保護(hù)自舉程序代碼。主要型號(hào)有28F400BX和28F004BX等。注意:ROM、FLASH存儲(chǔ)器與CPU的連接、設(shè)計(jì)原則同SRAM。6.3只讀存儲(chǔ)器

虛擬存儲(chǔ)器只是一個(gè)容量非常大的存儲(chǔ)器的邏輯模型,不是任何實(shí)際的物理存儲(chǔ)器。它借助于磁盤等輔助存儲(chǔ)器來(lái)擴(kuò)大主存容量,使之為更大或更多的程序所使用。虛擬存儲(chǔ)器工作于主存-外存層次,它以透明的方式為用戶提供了一個(gè)比實(shí)際主存空間大得多的程序地址空間。

物理地址是實(shí)際的主存單元地址,由CPU地址引腳送出,是用于訪問(wèn)主存的。設(shè)CPU地址總線的寬度為m位,則物理地址空間的大小就是2m。

虛擬地址是用戶編程時(shí)使用的地址,由編譯程序生成,是程序的邏輯地址。其地址空間的大小受到輔助存儲(chǔ)器容量的限制。顯然,虛擬地址要比實(shí)際地址大得多。程序的邏輯地址空間稱為虛擬地址空間。6.4虛擬存儲(chǔ)器

根據(jù)地址格式的不同,虛擬存儲(chǔ)器可分成頁(yè)式虛擬存儲(chǔ)器、段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器3種。頁(yè)式虛擬存儲(chǔ)器:以定長(zhǎng)的頁(yè)為基本信息傳送單位,主存的物理空間也被分成等長(zhǎng)的頁(yè),每一頁(yè)等長(zhǎng)的區(qū)域稱為頁(yè)面,頁(yè)面在主存中的位置是固定的。段式虛擬存儲(chǔ)器:對(duì)主存按段分配和管理。段是利用程序的模塊化性質(zhì),按照程序的邏輯結(jié)構(gòu)劃分成多個(gè)相對(duì)獨(dú)立的部分,如過(guò)程、數(shù)據(jù)表、陣列等。段頁(yè)式存儲(chǔ)管理:是結(jié)合兩者優(yōu)點(diǎn)的一種方案。它把整個(gè)存儲(chǔ)器分成若干個(gè)段,每段又分成若干頁(yè),每頁(yè)包含若干個(gè)存儲(chǔ)單元。程序按模塊分段管理,進(jìn)入主存仍以頁(yè)為基本信息傳送單位。6.4虛擬存儲(chǔ)器

從Intel80386開始,Intel80x86CPU有三種工作模式:實(shí)地址模式、保護(hù)模式、和虛擬8086模式。6.5.1實(shí)模式存儲(chǔ)管理

實(shí)地址模式是最基本的工作模式。Intel8086CPU只運(yùn)行在實(shí)地址模式下,Intel80386之后的CPU在計(jì)算機(jī)在剛剛啟動(dòng)的時(shí)候運(yùn)行在實(shí)模式下,等到操作系統(tǒng)運(yùn)行起來(lái)之后就切換到保護(hù)模式。實(shí)模式只能訪問(wèn)地址在1MB以下的常規(guī)內(nèi)存,1MB以上的內(nèi)存稱為擴(kuò)展內(nèi)存。6.5Intel80x86內(nèi)存管理模式

6.5.2保護(hù)模式存儲(chǔ)管理在程序運(yùn)行過(guò)程中,為了避免應(yīng)用程序破壞系統(tǒng)程序、或破壞其他應(yīng)用程序、或錯(cuò)誤地把數(shù)據(jù)當(dāng)做程序運(yùn)行,所采取的措施稱之為“保護(hù)”。保護(hù)模式的特點(diǎn)是引入了虛擬存儲(chǔ)器的概念。Intel80386CPU有32根地址線,當(dāng)工作在保護(hù)模式時(shí),全部32位地址線有效,可尋址高達(dá)4GB的物理地址空間。保護(hù)模式采用分段分頁(yè)的虛擬存儲(chǔ)器機(jī)制,使用46位虛擬地址,虛擬地址空間最大可達(dá)64TB。用戶在程序中所使用的地址都是由“段選擇符”和“偏移量”組成的邏輯地址,程序在系統(tǒng)中運(yùn)行時(shí),由存儲(chǔ)管理機(jī)制把邏輯地址轉(zhuǎn)換成物理地址。6.5Intel80x86內(nèi)存管理模式

Intel80386CPU集成存儲(chǔ)管理部件(MemoryManagementUnit,MMU),MMU采用了分段機(jī)制和分頁(yè)機(jī)制以實(shí)現(xiàn)兩級(jí)“虛擬-物理”地址轉(zhuǎn)換,如圖6.25所示。6.5Intel80x86內(nèi)存管理模式分段機(jī)制分頁(yè)機(jī)制D31D0D31D0D31D0物理地址邏輯地址線性地址偏移量...D15D0選擇符圖6.25

“虛擬-物理”地址轉(zhuǎn)換圖

6.5.3虛擬8086模式存儲(chǔ)管理虛擬8086模式是保護(hù)模式下的一種工作方式。在虛擬8086模式下,處理器類似于8086,尋址的地址空間是1MB,段寄存器的內(nèi)容作為段地址解釋,20位存儲(chǔ)單元地址由段地址×16+偏移地址構(gòu)成。但虛擬8086模式的工作原理與保護(hù)模式相同,通過(guò)使用分頁(yè)功能,把虛擬8086模式下的1MB地址空間映射到80386的4GB物理空間中的任何位置。6.5Intel80x86內(nèi)存管理模式微機(jī)原理與接口技術(shù)(第3版)7輸入輸出技術(shù)輸入/輸出系統(tǒng)概述程序控制方式中斷方式例題解析直接存儲(chǔ)器存取7.1.1輸入/輸出接口

1.接口電路主機(jī)對(duì)性能各異的外設(shè)進(jìn)行控制,與它們交換信息,在主機(jī)與外設(shè)間設(shè)置一組電路界面,將CPU系統(tǒng)總線發(fā)出的控制信號(hào)、數(shù)據(jù)信號(hào)和地址信號(hào)轉(zhuǎn)換成外設(shè)所能識(shí)別和執(zhí)行的具體命令,而將外設(shè)發(fā)送給CPU的數(shù)據(jù)和狀態(tài)信息轉(zhuǎn)換成系統(tǒng)總線所能接受的信息,傳送給CPU。這就是輸入/輸出接口電路,簡(jiǎn)稱I/O接口,也稱適配器。7.1輸入/輸出系統(tǒng)概述

I/O接口電路位于主機(jī)和外圍設(shè)備之間,起著“轉(zhuǎn)換器”的作用,協(xié)助完成輸入/輸出過(guò)程中的數(shù)據(jù)傳送和控制任務(wù)。I/O接口通過(guò)系統(tǒng)總線連接主機(jī)和外設(shè),如圖7.1所示。主機(jī)設(shè)備控制器外圍設(shè)備I/O接口控制線數(shù)據(jù)線地址線……圖7.1外圍設(shè)備的連接7.1輸入/輸出系統(tǒng)概述2.接口電路分類

⑴按接口電路的通用性:可以分為專用接口和通用接口。

專用接口:是指針對(duì)某一種具體的外圍設(shè)備而設(shè)計(jì)的接口電路。

通用接口:是可供多種外圍設(shè)備使用的標(biāo)準(zhǔn)接口。⑵按數(shù)據(jù)傳送格式:可以分為并行接口和串行接口。

并行接口:是指接口與系統(tǒng)總線之間,接口與外圍設(shè)備之間,都按并行方式傳送數(shù)據(jù)。

串行接口:是指接口與外圍設(shè)備之間用串行方式傳送數(shù)據(jù),但與系統(tǒng)總線之間仍按并行方式傳送數(shù)據(jù)。7.1輸入/輸出系統(tǒng)概述⑶按接口是否可編程:可以分為可編程接口和不可編程接口??删幊探涌冢菏侵冈诓桓淖兘涌谟布那闆r下,可通過(guò)編程修改接口的操作參數(shù),改變接口的工作方式和工作狀態(tài),從而提高接口功能的靈活性。不可編程接口:是指接口的工作方式和工作狀態(tài)完全由接口硬件電路決定,用戶不可通過(guò)編程加以修改。⑷按時(shí)序控制方式:可以分為同步接口和異步接口。

同步接口:是指接口與系統(tǒng)總線之間信息的傳送,由統(tǒng)一的時(shí)序信號(hào)同步控制。異步接口:是指接口與系統(tǒng)總線之間、接口與外圍設(shè)備之間的信息傳送不受統(tǒng)一的時(shí)序信號(hào)控制,而由異步應(yīng)答方式傳送。7.1輸入/輸出系統(tǒng)概述3.接口的基本功能⑴數(shù)據(jù)緩沖功能:為了調(diào)節(jié)外圍設(shè)備傳送信息的速度與CPU處理速度較大的差異,可以在接口電路中設(shè)置數(shù)據(jù)寄存器,實(shí)現(xiàn)對(duì)輸入/輸出數(shù)據(jù)的緩沖和鎖存。⑵聯(lián)絡(luò)功能:接口電路接收CPU發(fā)來(lái)的控制命令,將它轉(zhuǎn)換為外圍設(shè)備所需的操作命令。同時(shí),針對(duì)外圍設(shè)備的不同情況,CPU應(yīng)能根據(jù)當(dāng)前外圍設(shè)備的狀態(tài),采取相應(yīng)的措施,為此接口電路就要記錄外圍設(shè)備送入的工作狀態(tài)信息,供CPU查詢。7.1輸入/輸出系統(tǒng)概述

⑶尋址功能:CPU對(duì)接口電路的訪問(wèn),實(shí)際上就是對(duì)這些寄存器的訪問(wèn)。I/O接口內(nèi)部的寄存器稱為I/O端口,每個(gè)端口有一個(gè)端口地址。接口接收來(lái)自系統(tǒng)總線的尋址信息,經(jīng)過(guò)譯碼電路,選擇相應(yīng)的寄存器,與總線進(jìn)行信息交換。⑷預(yù)處理功能:系統(tǒng)總線采取并行傳送方式,如果是串行接口,那么接口就要完成數(shù)據(jù)的串—并轉(zhuǎn)換。另外,如果外圍設(shè)備與接口,接口與系統(tǒng)總線之間傳送的數(shù)據(jù)寬度、時(shí)序、負(fù)載不匹配,則接口要進(jìn)行相應(yīng)的匹配;如果外圍設(shè)備所用信號(hào)電平與系統(tǒng)總線不相同,則接口還要進(jìn)行信號(hào)電平的轉(zhuǎn)換。7.1輸入/輸出系統(tǒng)概述

⑸中斷管理/DMA控制功能有些接口,為了能夠?qū)崿F(xiàn)以中斷方式與CPU交換信息,或以DMA方式與存儲(chǔ)器交換信息,往往在接口電路中設(shè)置中斷控制邏輯或DMA控制邏輯,以便能夠向主機(jī)提出中斷請(qǐng)求或DMA請(qǐng)求,反過(guò)來(lái),對(duì)主機(jī)給予的請(qǐng)求應(yīng)答能得到立即響應(yīng),即提供相應(yīng)的處理。7.1輸入/輸出系統(tǒng)概述4.接口電路的基本結(jié)構(gòu)通用接口電路的一般結(jié)構(gòu)圖如圖7.2所示。圖7.2接口電路結(jié)構(gòu)圖7.1輸入/輸出系統(tǒng)概述

⑴I/O端口:是I/O接口電路中能被CPU直接訪問(wèn)的寄存器的地址。包括三種端口:數(shù)據(jù)端口、狀態(tài)端口和控制端口。①數(shù)據(jù)端口對(duì)來(lái)自或者送往CPU和內(nèi)存的數(shù)據(jù)起緩沖作用。數(shù)據(jù)輸出寄存器鎖存CPU送出的數(shù)據(jù)信息,以提供給外設(shè);數(shù)據(jù)輸入寄存器暫存由外設(shè)傳遞給主機(jī)的數(shù)據(jù)信息。根據(jù)不同的需要,在接口電路中還可以設(shè)置不同的數(shù)據(jù)寄存器,從一個(gè)到幾十個(gè)不等。7.1輸入/輸出系統(tǒng)概述②狀態(tài)端口存放外圍設(shè)備或者接口部件本身的狀態(tài)。外設(shè)通過(guò)狀態(tài)寄存器存放向CPU提供的可查詢的外設(shè)狀態(tài)信息,CPU可通過(guò)數(shù)據(jù)線讀回,并根據(jù)外設(shè)的狀態(tài)信息采取相應(yīng)措施。③控制端口存放CPU發(fā)出的命令,以便控制接口和設(shè)備的動(dòng)作??刂萍拇嫫鹘邮諄?lái)自CPU的控制命令字,并將它們轉(zhuǎn)換為外設(shè)可識(shí)別的操作命令。7.1輸入/輸出系統(tǒng)概述

⑵地址譯碼器:對(duì)接口電路內(nèi)部寄存器地址進(jìn)行譯碼,選中某一個(gè)寄存器。⑶控制邏輯:接收來(lái)自CPU的命令,控制接口中的各個(gè)部件協(xié)調(diào)工作。⑷其他:對(duì)于采用中斷方式或DMA方式與主機(jī)進(jìn)行數(shù)據(jù)交換的外設(shè),其接口電路還可以設(shè)置中斷/DMA控制邏輯部分。5.端口的編址方式第2章2.2.2小節(jié)中介紹了對(duì)I/O端口的兩種編址方式:I/O端口和內(nèi)存儲(chǔ)器統(tǒng)一編址方式,I/O端口單獨(dú)編址方式。7.1輸入/輸出系統(tǒng)概述7.1.2輸入/輸出的基本方法1.程序控制方式程序控制方式的特點(diǎn)是:依靠程序的控制來(lái)實(shí)現(xiàn)主機(jī)和外設(shè)的數(shù)據(jù)傳送??煞譃闊o(wú)條件傳送方式和查詢方式。

無(wú)條件傳送方式又稱為同步傳送方式:要求外設(shè)和CPU始終是準(zhǔn)備好的,CPU直接執(zhí)行輸入或輸出指令,便可實(shí)現(xiàn)數(shù)據(jù)傳送,其實(shí)質(zhì)是用程序定時(shí)同步傳送,一般用于固定外設(shè)在規(guī)定的時(shí)間進(jìn)行信息交換。優(yōu)點(diǎn):硬件、軟件都比較簡(jiǎn)單,I/O接口中一般只需要數(shù)據(jù)端口。缺點(diǎn):容易造成數(shù)據(jù)丟失。7.1輸入/輸出系統(tǒng)概述7.1輸入/輸出系統(tǒng)概述

查詢方式:是指CPU在傳送數(shù)據(jù)之前,要先檢查外設(shè)是否“準(zhǔn)備好”,若沒(méi)有準(zhǔn)備好,則繼續(xù)查詢其狀態(tài),直至外設(shè)準(zhǔn)備好,即確認(rèn)外圍設(shè)備已具備傳送條件之后,才能進(jìn)行數(shù)據(jù)傳送。

缺點(diǎn):CPU每傳送一個(gè)數(shù)據(jù),需要花費(fèi)很多時(shí)間來(lái)等待外設(shè)進(jìn)行數(shù)據(jù)傳送的準(zhǔn)備,因此CPU的效率很低,且CPU與外設(shè)不能并行工作。

優(yōu)點(diǎn):實(shí)現(xiàn)這種傳送方式的硬件接口電路簡(jiǎn)單。2.中斷控制方式中斷是外圍設(shè)備“主動(dòng)”通知CPU準(zhǔn)備發(fā)送或接收數(shù)據(jù)。當(dāng)外設(shè)需要與CPU進(jìn)行數(shù)據(jù)交換時(shí),便由中斷接口電路向CPU發(fā)出一個(gè)中斷請(qǐng)求信號(hào),待CPU響應(yīng)這一中斷請(qǐng)求后,便可通過(guò)中斷服務(wù)程序完成I/O信息交換。

優(yōu)點(diǎn):由于CPU省去了對(duì)外設(shè)狀態(tài)查詢和等待的時(shí)間,從而使CPU與外設(shè)可以并行地工作,大大提高了CPU的效率。

缺點(diǎn):中斷傳送每操作一次,CPU就會(huì)打斷原來(lái)執(zhí)行的程序去執(zhí)行一段中斷服務(wù)程序,時(shí)間開銷比較大,對(duì)速度較高的外設(shè)可能會(huì)產(chǎn)生信息丟失。7.1輸入/輸出系統(tǒng)概述3.直接存儲(chǔ)器存取控制方式直接存儲(chǔ)器存取(DirectMemoryAccess,DMA)方式是一種完全由硬件執(zhí)行I/O交換的方式。在這種方式中,CPU不參與數(shù)據(jù)的傳送,而是由DMA控制器來(lái)實(shí)現(xiàn)內(nèi)存與外設(shè)之間、外設(shè)與外設(shè)之間的直接快速傳送,幾乎沒(méi)有額外時(shí)間開銷,因此傳輸效率很高,并且減輕了CPU的負(fù)擔(dān),這對(duì)于大批量數(shù)據(jù)塊的高速傳送特別有用。4.通道方式

通道是一個(gè)具有特殊功能的處理器,某些應(yīng)用中稱其為輸入/輸出處理器(IOP),它可以實(shí)現(xiàn)對(duì)外圍設(shè)備的統(tǒng)一管理和外圍設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送。這種提高CPU效率的辦法是以花費(fèi)更多的硬件為代價(jià)的。7.1輸入/輸出系統(tǒng)概述5.外圍處理機(jī)方式外圍處理機(jī)(PeripheralProcessorUnit,PPU)方式是通道方式的進(jìn)一步發(fā)展。由于PPU基本上獨(dú)立于主機(jī)工作,它承擔(dān)原來(lái)必須由CPU承擔(dān)的I/O操作,這就大大地減輕了CPU控制外設(shè)的負(fù)擔(dān),從而有效地減少了CPU在I/O處理中的開銷。圖7.3外圍設(shè)備的輸入/輸出控制方式7.1輸入/輸出系統(tǒng)概述7.2.1無(wú)條件傳送

所謂無(wú)條件,就是假設(shè)外設(shè)已處于就緒狀態(tài),數(shù)據(jù)傳送時(shí),程序不必再去查詢外設(shè)的狀態(tài),而直接執(zhí)行I/O指令進(jìn)行數(shù)據(jù)傳輸。無(wú)條件傳送又稱為立即傳送、同步傳送。例如,有些簡(jiǎn)單的輸入設(shè)備,如按鍵、開關(guān)等,相對(duì)于CPU而言,其狀態(tài)很少發(fā)生變化。只要CPU需要,可隨時(shí)讀取其狀態(tài)。有些簡(jiǎn)單的輸出設(shè)備,如LED數(shù)碼管、交通信號(hào)燈等,可以隨時(shí)接受CPU發(fā)來(lái)的顯示數(shù)據(jù)。7.2

程序控制方式注意:①當(dāng)簡(jiǎn)單外設(shè)作為輸入設(shè)備時(shí),其輸入數(shù)據(jù)的保持時(shí)間相對(duì)于CPU的處理時(shí)間要長(zhǎng)得多,故輸入數(shù)據(jù)通常不用加鎖存器鎖存,直接使用三態(tài)緩沖器(即三態(tài)門)與系統(tǒng)數(shù)據(jù)總線相連即可。②當(dāng)簡(jiǎn)單外設(shè)作為輸出設(shè)備時(shí),由于外設(shè)的速度較慢,CPU送出的數(shù)據(jù)必須在接口中保持一段時(shí)間,以適應(yīng)外設(shè)的動(dòng)作,因此輸出必須采用鎖存器。7.2

程序控制方式

一個(gè)典型的無(wú)條件傳送方式I/O接口電路如圖7.4所示,由輸入緩沖器、輸出鎖存器、端口地址譯碼器和相應(yīng)的門電路組成。圖7.4

無(wú)條件傳送方式接口電路7.2

程序控制方式例7.1假設(shè)有兩個(gè)共陰極的發(fā)光二極管直接連接在CPU數(shù)據(jù)總線的D0和D7上,當(dāng)?shù)刂窞?000H的時(shí)候,兩個(gè)發(fā)光二極管同時(shí)點(diǎn)亮。程序如下:MOVDX,0000HMOVAL,81HOUTDX,AL7.2

程序控制方式7.2.2查詢方式查詢方式又稱為條件傳送方式,CPU通過(guò)程序不斷查詢相應(yīng)設(shè)備的狀態(tài),若狀態(tài)不符合要求,則CPU不能進(jìn)行輸入/輸出操作,需要等待;只有當(dāng)狀態(tài)信號(hào)符合要求時(shí),CPU才能進(jìn)行相應(yīng)的輸入/輸出操作。查詢方式控制數(shù)據(jù)的輸入/輸出的流程如圖7.5所示。圖7.5

條件傳送示意圖7.2

程序控制方式圖7.6

查詢方式輸入接口電路查詢方式的CPU讀接口電路如圖7.6所示。其中選通信號(hào)有兩個(gè)作用:一是把外設(shè)的數(shù)據(jù)送到接口的鎖存器中;二是使接口中的一個(gè)D觸發(fā)器置1,從而使三態(tài)緩沖器的READY=1。7.2

程序控制方式

查詢方式的CPU寫接口電路如圖7.7所示。7.2

程序控制方式圖7.7

查詢方式輸出接口電路查詢方式的優(yōu)點(diǎn):能較好地協(xié)調(diào)外設(shè)與CPU之間的定時(shí)關(guān)系,CPU和外設(shè)的操作能通過(guò)狀態(tài)信息得到同步,而且硬件結(jié)構(gòu)比較簡(jiǎn)單。查詢方式的缺點(diǎn):CPU需要不斷查詢標(biāo)志位的狀態(tài),這將占用CPU較多的時(shí)間,尤其是與中速或慢速的外圍設(shè)備交換信息時(shí),CPU絕大部分時(shí)間都消耗在了查詢上,真正用于傳送數(shù)據(jù)的時(shí)間極少,CPU效率較低;傳輸完全在CPU控制下完成,對(duì)外部出現(xiàn)的異常事件無(wú)實(shí)時(shí)響應(yīng)能力。7.2

程序控制方式例7.2假設(shè)接口的數(shù)據(jù)輸入端口地址為52H,狀態(tài)端口地址為56H,并且假設(shè)若狀態(tài)寄存器中第1位為1,則表示輸入緩沖器中已經(jīng)有1B準(zhǔn)備好,可以進(jìn)行輸入。實(shí)現(xiàn)從輸入設(shè)備輸入一串?dāng)?shù)據(jù)到內(nèi)存緩沖區(qū),如果遇到回車則結(jié)束,串最大為81。程序如下:

COM_SEGSEGMENTBUFFERDB82DUP(?);定義緩沖區(qū)COUNTDB?

COM_SEGENDS7.2

程序控制方式CODESEGMENTASSUMEDS:DATA_SEG,ES:COM_SEG,CS:CODESTART:MOVAX,COM_SEGMOVES,AXMOVDI,OFFESTBUFFERMOVCOUNT,DIMOVCX,81;設(shè)置最大循環(huán)次數(shù)CLDNEXT_IN:INAL,56H;讀入狀態(tài)信息TESTAL,02H;檢測(cè)第1位是否為1JZNEXT_IN;為0,數(shù)據(jù)未準(zhǔn)備好,繼續(xù)讀入狀態(tài)檢測(cè)7.2

程序控制方式INAL,52H;數(shù)據(jù)準(zhǔn)備好了,從數(shù)據(jù)輸入端口讀入ANDAL,7FH;將正確的數(shù)據(jù)存入緩沖區(qū)內(nèi)STOSBCMPAL,0DH;判斷是否為回車LOOPNENEXT_IN;不是則繼續(xù)輸入新的數(shù)據(jù)MOVAL,0AHSTOSBSUBDI,COUNTMOVCOUNT,DI;DI存放緩沖區(qū)內(nèi)數(shù)據(jù)的個(gè)數(shù)●●●CODEENDS7.2

程序控制方式7.3.1中斷的意義中斷系統(tǒng)在現(xiàn)代計(jì)算機(jī)系統(tǒng)中是非常重要的。其優(yōu)點(diǎn)如下:⑴同步操作中斷技術(shù)可以使CPU和外設(shè)同時(shí)工作。CPU在大部分時(shí)間里可與外設(shè)并行工作,大大提高了工作效率。⑵實(shí)時(shí)處理利用中斷技術(shù)可使計(jì)算機(jī)對(duì)被控對(duì)象的物理參數(shù)作出即時(shí)響應(yīng)。⑶故障處理可以利用中斷系統(tǒng)及時(shí)地處理計(jì)算機(jī)在運(yùn)行過(guò)程中出現(xiàn)的事先預(yù)料不到的情況或一些故障。7.3

中斷方式7.3.2中斷的判優(yōu)方法常用的判優(yōu)的方法有3種。1.軟件查詢法即由軟件來(lái)安排各中斷源的優(yōu)先級(jí)別。常用方法有屏蔽法和位移法。①屏蔽法基本思想:取連接外部中斷源端口的狀態(tài)字,然后檢查每一位,先檢查到的優(yōu)先級(jí)高。②位移法基本思想:將讀取的狀態(tài)字節(jié)大循環(huán)移位(RCL/RCR),每移動(dòng)1位,判斷被移進(jìn)CF的值是否為1,若是,轉(zhuǎn)去中斷;否則,繼續(xù)移一位再判斷。7.3

中斷方式

軟件查詢法的優(yōu)點(diǎn):不需要額外的硬件電路,并且優(yōu)先權(quán)由查詢的次序來(lái)決定,首先查詢的即為優(yōu)先級(jí)最高的。軟件查詢法的缺點(diǎn):不管外設(shè)是否有中斷請(qǐng)求都需要按次序逐一詢問(wèn),因而效率較低,特別是在中斷源較多的情況下,轉(zhuǎn)至中斷服務(wù)程序的時(shí)間較長(zhǎng)。7.3

中斷方式2.硬件判優(yōu)電路法由專門的判優(yōu)電路決定中斷源的優(yōu)先級(jí)別,基本思想是:電路上面端口的中斷請(qǐng)求可以屏蔽下面的中斷請(qǐng)求。硬件查詢法的優(yōu)點(diǎn):中斷源較多的情況下,轉(zhuǎn)至中斷服務(wù)程序的時(shí)間比軟件查詢法快。硬件查詢法的缺點(diǎn):優(yōu)先權(quán)的次序是固定的,不能更改,并且增加了硬件設(shè)計(jì)的成本。3.專用硬件控制器8259是可編程中斷控制器,除了可以實(shí)現(xiàn)優(yōu)先權(quán)的排隊(duì)外,還可以提供中斷類型碼、屏蔽中斷輸入等功能,見(jiàn)7.3.3。7.3

中斷方式7.3.38259中斷控制器單片8259可以管理8級(jí)中斷,如果采用級(jí)聯(lián)方式。例如8片8259級(jí)聯(lián),則可管理64級(jí)中斷。1.8259的內(nèi)部結(jié)構(gòu)和引腳功能⑴8259的內(nèi)部結(jié)構(gòu):有8個(gè)部分組成。①中斷請(qǐng)求寄存器(IRR):是一個(gè)8位的鎖存寄存器,用來(lái)鎖存外圍設(shè)備送來(lái)的IR0~I(xiàn)R7中斷請(qǐng)求信號(hào)。②中斷服務(wù)寄存器(ISR):是一個(gè)8位寄存器,用來(lái)存放已被CPU響應(yīng)的中斷請(qǐng)求信號(hào)。7.3

中斷方式③中斷屏蔽寄存器(IMR):是一個(gè)8位寄存器,用來(lái)對(duì)各中斷請(qǐng)求設(shè)置屏蔽信息。④優(yōu)先權(quán)判別電路(PR):用來(lái)識(shí)別各中斷請(qǐng)求的優(yōu)先級(jí)別。在多個(gè)中斷請(qǐng)求信號(hào)同時(shí)出現(xiàn)并經(jīng)IMR允許進(jìn)入系統(tǒng)后,先由PR選出其最高優(yōu)先級(jí)的中斷請(qǐng)求。⑤讀/寫控制電路:接收來(lái)自CPU的讀/寫控制命令和片選控制信息。⑥數(shù)據(jù)總線緩沖器:是一個(gè)8位的雙向三態(tài)緩沖器,使8259和CPU數(shù)據(jù)總線D7~D0直接掛接,完成命令和狀態(tài)信息的傳送,是8259與CPU交換數(shù)據(jù)的必經(jīng)之路。7.3

中斷方式⑦控制電路:是8259內(nèi)部的控制器,根據(jù)CPU對(duì)8259編程設(shè)定的工作方式產(chǎn)生內(nèi)部控制信號(hào),向CPU發(fā)出中斷請(qǐng)求信號(hào)INT,請(qǐng)求CPU響應(yīng),同時(shí)產(chǎn)生與當(dāng)前中斷請(qǐng)求服務(wù)有關(guān)的控制信號(hào),并在接收到來(lái)自CPU的中斷響應(yīng)信號(hào)后,將中斷類型號(hào)送到數(shù)據(jù)總線。⑧級(jí)聯(lián)緩沖/比較器:用來(lái)實(shí)現(xiàn)多個(gè)8259的級(jí)聯(lián)連接及數(shù)據(jù)緩沖方式。級(jí)聯(lián)時(shí),一個(gè)8259芯片為主片,最多能連接8個(gè)8259從片,因此最多可以實(shí)現(xiàn)對(duì)64級(jí)中斷源的管理。7.3

中斷方式8259的內(nèi)部結(jié)構(gòu)如圖7.8所示7.3

中斷方式圖7.88259芯片的內(nèi)部結(jié)構(gòu)圖⑵8259的引腳功能8259芯片有28條引腳,雙列直插式封裝,如圖7.9所示。圖7.98259芯片引腳定義①D7~D0:

雙向數(shù)據(jù)總線,是8259與CPU的數(shù)據(jù)信息通道。②:片選信號(hào)線,輸入,低電平有效。③:寫信號(hào),輸入,低電平有效。④:讀信號(hào),輸入,低電平有效。⑤CAS2~CAS0:3根級(jí)聯(lián)線,主8259芯片與從8259芯片的連接線。⑥/:雙重功能線,主片或從片的設(shè)定/緩沖器讀/寫控制。⑦:中斷響應(yīng)信號(hào)線,輸入⑧INT:中斷請(qǐng)求信號(hào)線,輸出⑨IR7~I(xiàn)R0:由外設(shè)或其他8259芯片輸入的中斷請(qǐng)求信號(hào)。7.3

中斷方式2.8259的中斷響應(yīng)過(guò)程①有一條或若干條中斷請(qǐng)求輸入線(IR7~I(xiàn)R0)變?yōu)楦唠娖綍r(shí)(即有一個(gè)或多個(gè)相應(yīng)設(shè)備發(fā)出中斷請(qǐng)求),8259內(nèi)部中斷請(qǐng)求寄存器IRR的相應(yīng)位置1。②用中斷屏蔽寄存器IMR對(duì)IRR進(jìn)行屏蔽,通過(guò)優(yōu)先權(quán)判別電路PR,將當(dāng)前未屏蔽的各中斷源的中斷級(jí)別進(jìn)行比較判別,從中選出優(yōu)先級(jí)別最高的中斷請(qǐng)求從INT輸出,送至CPU的INTR端。③CPU在收到8259發(fā)來(lái)的中斷請(qǐng)求信號(hào)INT后,如果當(dāng)前指令執(zhí)行完且中斷允許標(biāo)志位IF=1,則CPU向8259發(fā)出信號(hào),進(jìn)入中斷響應(yīng)周期。7.3

中斷方式④8259收到CPU的第1個(gè)信號(hào)時(shí),將ISR(中斷服務(wù)寄存器)中當(dāng)前優(yōu)先級(jí)別最高的中斷請(qǐng)求所對(duì)應(yīng)的位置1,IRR的相應(yīng)位清0。⑤8259收到CPU發(fā)出的第2個(gè)信號(hào)后,通過(guò)數(shù)據(jù)線將對(duì)應(yīng)的中斷類型碼n送至CPU。CPU根據(jù)讀入的中斷類型碼,在中斷向量表中找到相應(yīng)的中斷服務(wù)程序入口地址,繼而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。如果8259工作在自動(dòng)中斷結(jié)束方式下,則在第2個(gè)脈沖信號(hào)結(jié)束時(shí),使被響應(yīng)的中斷源在ISR中的對(duì)應(yīng)位清0,否則,當(dāng)中斷服務(wù)結(jié)束時(shí),由安排的8259中斷結(jié)束命令EOI來(lái)使ISR的相應(yīng)位復(fù)位,最后執(zhí)行IRET指令,返回主程序,結(jié)束本次中斷處理。7.3

中斷方式3.8259的工作方式⑴中斷結(jié)束方式當(dāng)中斷結(jié)束時(shí),應(yīng)將ISR的相應(yīng)位復(fù)位,以清除正在被服務(wù)的記錄。ISR的復(fù)位方式有以下幾種:①非自動(dòng)結(jié)束方式:當(dāng)中斷服務(wù)程序完成時(shí),需提供一條EOI(中斷結(jié)束)

命令,使8259中ISR的相應(yīng)位清除,讓ISR只記錄那些正在被服務(wù)而未服務(wù)完的中斷。非自動(dòng)中斷結(jié)束有兩種方式:一般EOI方式、特殊EOI方式。這種工作方式下,在任一級(jí)中斷服務(wù)結(jié)束后,中斷返回之前,安排一條一般EOI命令。執(zhí)行該命令,則8259將ISR寄存器中級(jí)別最高的置1位清0。這種結(jié)束方式很簡(jiǎn)單,但只有在當(dāng)前結(jié)束的中斷總是位于未服務(wù)完的中斷中級(jí)別最高的中斷時(shí),才能使用這種結(jié)束方式。當(dāng)中斷服務(wù)程序結(jié)束,給8259發(fā)送EOI命令的同時(shí),將當(dāng)前結(jié)束的中斷級(jí)別也傳送給8259,使8259將ISR寄存器中指定級(jí)別的相應(yīng)位清0,這種結(jié)束方式適用于在中斷服務(wù)程序中改變了中斷源的原有的中斷優(yōu)先權(quán)的場(chǎng)合。在這種情況下,如果用一般EOI方式,則可能產(chǎn)生錯(cuò)誤的ISR復(fù)位。7.3

中斷方式②自動(dòng)EOI方式這種方式在中斷服務(wù)程序結(jié)束時(shí),不需要提供EOI命令,而是由8259在中斷響應(yīng)周期的第2個(gè)中斷響應(yīng)信號(hào)結(jié)束時(shí),自動(dòng)執(zhí)行一個(gè)EOI操作,將ISR寄存器中的相應(yīng)位清0。需要注意的是:采用這種結(jié)束方式,在任何一級(jí)中斷的中斷服務(wù)過(guò)程中,ISR相應(yīng)位已復(fù)位,8259中沒(méi)有留下任何標(biāo)志,如果在此過(guò)程中出現(xiàn)了新的中斷請(qǐng)求,則只要IF=1,不管新出現(xiàn)的中斷級(jí)別如何,都將打斷正在執(zhí)行的中斷服務(wù)程序而被優(yōu)先執(zhí)行,這就有可能出現(xiàn)低級(jí)中斷打斷高級(jí)中斷或同級(jí)中斷相互打斷的現(xiàn)象,這種情況稱為“重復(fù)嵌套”,由于重復(fù)嵌套的深度無(wú)法控制,很可能造成某些高級(jí)中斷得不到及時(shí)處理的情況。7.3

中斷方式⑵緩沖方式用來(lái)指定系統(tǒng)總線與8259數(shù)據(jù)總線之間是否需要進(jìn)行緩沖。①緩沖方式:可以通過(guò)對(duì)8259編程設(shè)置其工作在緩沖方式下。這時(shí),/為輸出信號(hào)線,作為緩沖器的允許信號(hào)使用。=0,表示允許緩沖器輸出;=1,表示允許緩沖器輸入。②非緩沖方式:當(dāng)設(shè)置8259芯片工作在非緩沖方式下時(shí),/為輸入信號(hào)線,作為主從設(shè)定信號(hào)使用,以識(shí)別8259是主控制器還是從屬控制器。7.3

中斷方式⑶嵌套方式嵌套方式用于8259進(jìn)行優(yōu)先級(jí)控制。①一般全嵌套方式:是指優(yōu)先級(jí)高的中斷可以打斷低級(jí)中斷服務(wù),反之不能打斷。在這種方式下,由各個(gè)IRi端引入的中斷請(qǐng)求具有固定的中斷優(yōu)先級(jí)別,且優(yōu)先級(jí)順序由高到低依次為IR7~I(xiàn)R0。②特殊全嵌套方式:主要用于級(jí)聯(lián)方式。若不采用特殊全嵌套方式,則主8259芯片將把來(lái)自于同一個(gè)從8259芯片內(nèi)的不同級(jí)別中斷請(qǐng)求認(rèn)為是同級(jí)的,而不予以響應(yīng)。7.3

中斷方式⑷中斷屏蔽方式對(duì)優(yōu)先級(jí)的管理還可采用設(shè)置中斷屏蔽寄存器IMR的方式。中斷屏蔽有如下兩種實(shí)現(xiàn)方式:①一般屏蔽方式:可以通過(guò)將中斷屏蔽寄存器IMR中的某一位或某幾位置1,將某一級(jí)或幾級(jí)中斷請(qǐng)求屏蔽掉。②特殊屏蔽方式:可以實(shí)現(xiàn)在執(zhí)行高優(yōu)先級(jí)的中斷服務(wù)程序時(shí),允許響應(yīng)低級(jí)中斷源的中斷請(qǐng)求,從而使得任一級(jí)別的中斷都有機(jī)會(huì)得到響應(yīng)。7.3

中斷方式⑸優(yōu)先級(jí)的控制①固定優(yōu)先級(jí):是指8259的8個(gè)中斷源中,IR0優(yōu)先級(jí)最高,IR1優(yōu)先級(jí)次之,依次降低,直到IR7優(yōu)先級(jí)最低,這個(gè)順序固定不變。②循環(huán)優(yōu)先級(jí):8259將中斷源IR0~I(xiàn)R7按下標(biāo)序號(hào)順序構(gòu)成一個(gè)環(huán)(即中斷源順序環(huán)),優(yōu)先級(jí)順序依此環(huán)規(guī)定,有兩種規(guī)定方式:自動(dòng)優(yōu)先循環(huán)級(jí):剛被服務(wù)過(guò)的中斷源,其優(yōu)先級(jí)別被改為最低級(jí),而將最高優(yōu)先級(jí)賦給原來(lái)比它低一級(jí)的中斷源,其他中斷源的優(yōu)先順序依中斷源順序環(huán)確定。指定優(yōu)先循環(huán)級(jí):在OCW2中指定的中斷源,其優(yōu)先級(jí)別被設(shè)為最低級(jí),其他中斷源的優(yōu)先順序依中斷源順序環(huán)確定。7.3

中斷方式

4.8259芯片編程8259芯片中把若干個(gè)可用輸入/輸出指令直接訪問(wèn)的控制位編排成7個(gè)8位的寄存器,并分為兩組。一組為初始化命令字ICW1~I(xiàn)CW4,另一組為工作命令字OCW1~OCW3,這兩組寄存器占用了兩個(gè)I/O地址。在IBM-PC中為20H和21H,如表7.1所示。7.3

中斷方式A0命令字0(20H)ICW1,OCW2,OCW31(21H)ICW2,ICW3,ICW4,OCW1表7.1IBM-PC中各命令字的地址分配8259的編程分為兩步:初始化編程和工作方式編程。①初始化編程:用來(lái)建立8259的基本工作條件。在系統(tǒng)加電和復(fù)位后,通過(guò)寫入初始化命令字ICW1~I(xiàn)CW4,來(lái)實(shí)現(xiàn)對(duì)8259的初始化操作,初始化命令字一經(jīng)確定,以后不再改變。②工作方式編程:用來(lái)完成對(duì)中斷過(guò)程的動(dòng)態(tài)控制。在8259的工作階段,CPU可以在初始化后的任何時(shí)刻寫入工作命令字OCW1~OCW3,以規(guī)定或改變8259的工作方式,實(shí)現(xiàn)對(duì)8259的工作狀態(tài)、中斷方式和中斷響應(yīng)次序等的控制和管理。7.3

中斷方式⑴8259的初始化編程初始化的主要任務(wù):①?gòu)?fù)位8259芯片。②設(shè)定中斷請(qǐng)求信號(hào)INT有效的形式,是高電平有效,還是上升沿有效。③設(shè)定8259工作在單片方式還是多片級(jí)聯(lián)方式。④設(shè)定8259管理的中斷類型號(hào)的基值,即0級(jí)IR0所對(duì)應(yīng)的中斷類型號(hào)。⑤設(shè)定各中斷級(jí)的優(yōu)先次序,IR0最高,IR7最低。⑥設(shè)定一次中斷處理結(jié)束時(shí)的結(jié)束方式。7.3

中斷方式初始化命令字ICW1用于規(guī)定8259的連接方式(單片或級(jí)聯(lián))和中斷源請(qǐng)求信號(hào)的有效形式(電平觸發(fā)或邊沿觸發(fā))。當(dāng)=0、A0=0、D4=1時(shí),表示當(dāng)前寫入8259的是ICW1命令字,其格式如圖7.10所示。圖7.108259的ICW1格式7.3

中斷方式

初始化命令字ICW2用于設(shè)置中斷類型碼基值。所謂中斷類型碼基值,是指0級(jí)中斷源IR0所對(duì)應(yīng)的中斷類型碼,它是一個(gè)可被8整除的正整數(shù)。ICW2的格式如圖7.11所示。圖7.118259的ICW2格式7.3

中斷方式

例如,在IBM-PC系列機(jī)中,ICW2的高5位在初始化編程中設(shè)置為00001,所以ICW2=08H,ICW2的口地址為21H。寫入初始化命令字ICW2可用以下程序:MOVAL,08HOUT21H,AL在其中斷系統(tǒng)中,若硬盤中斷的中斷請(qǐng)求線連接到8259的IR5上,當(dāng)CPU響應(yīng)硬盤中斷請(qǐng)求時(shí),8259把IR5的編碼101作為低3位構(gòu)成一個(gè)完整的8位中斷類型號(hào)0DH(00001101B),經(jīng)數(shù)據(jù)總線發(fā)送給CPU。7.3

中斷方式初始化命令字ICW3。

此命令字僅用于8259級(jí)聯(lián)方式。它指明從8259芯片的INT引腳與主8259芯片的哪一個(gè)中斷源請(qǐng)求信號(hào)(IR0~I(xiàn)R7中的哪一個(gè))相連。主8259芯片的ICW3格式如圖7.12所示。圖7.12寫入主8259芯片的ICW3格式7.3

中斷方式

從8259芯片的ICW3格式如圖7.13所示。圖7.13寫入從8259芯片的ICW3格式7.3

中斷方式初始化命令字ICW4。只有當(dāng)ICW1中的IC4(D0)=1時(shí),才需設(shè)置ICW4命令字。D7、D6、D5是ICW4的特征標(biāo)志,總為0。其格式和各位意義如圖7.14所示。圖7.148259芯片的ICW4格式7.3

中斷方式

8259的初始化從寫入ICW1開始,然后順序?qū)懭隝CW2、ICW3、ICW4,如圖7.15所示。圖7.158259芯片的初始化流程7.3

中斷方式⑵工作方式編程主要完成對(duì)中斷請(qǐng)求的屏蔽、優(yōu)先級(jí)循環(huán)控制、中斷結(jié)束方式、內(nèi)部控制寄存器的查詢等。OCW1~OCW33個(gè)命令字可由A0和D4、D3兩位特征標(biāo)志加以區(qū)分,如表7.2所示。A0

D4D30(20H)1(21H)

0

0OCW2OCW1

0

1OCW3表7.2OCW1~OCW3的地址分配和命名字中的特征標(biāo)志7.3

中斷方式工作命令字OCW1用來(lái)設(shè)置中斷源的屏蔽狀態(tài)并寫入IMR中,其格式如圖7.16所示。圖7.168259的OCW1格式

例如:IBM-PC機(jī)OCW1的口地址為21H,若需屏蔽IR4、IR5,則OCW1=30H。寫入IMR中的OCW1可用以下程序:MOVAL,30HOUT21H,AL7.3

中斷方式

工作命令字OCW2用于控制中斷結(jié)束方式及修改優(yōu)先權(quán)管理方式。命令字格式如圖7.17所示。圖7.178259的OCW2格式7.3

中斷方式OCW2工作命令與R、SL、EOI3位編碼的關(guān)系如表7.3所示。表7.3OCM2與R、SL、EOI3位編碼的關(guān)系RSLEOI操作001正常EOI中斷結(jié)束命令011特殊EOI中斷結(jié)束命令100置自動(dòng)、循環(huán)、優(yōu)先級(jí)方式101自動(dòng)、循環(huán)、正常中斷結(jié)束方式000自動(dòng)、循環(huán)復(fù)位命令110特殊EOI循環(huán)置位命令111特殊EOI循環(huán)命令010無(wú)意義7.3

中斷方式工作命令字OCW3用于設(shè)定特殊的屏蔽方式和查詢方式,及讀取IRR/ISR寄存器等。命令字格式如圖7.18所示。圖7.188259的OCW3格式7.3

中斷方式5.80x86微機(jī)的中斷控制器⑴PC/XT微機(jī)的中斷控制器PC/XT微機(jī)的中斷控制器的核心部件是一個(gè)8259A芯片,通過(guò)該芯片擴(kuò)展出8根可屏蔽中斷線IRQ0~I(xiàn)RQ7,接外部中斷源。PC/XT微機(jī)系統(tǒng)的8級(jí)可屏蔽中斷中,0、1、3、4、5、6、7已分別為系統(tǒng)配置的8253定時(shí)器、鍵盤、異步通信卡、硬盤、軟盤和并行打印機(jī)等設(shè)備所占用,只有第2級(jí)中斷IRQ2未用,可供用戶使用。用戶可以采用在用戶接口板上附加8259A中斷控制器的辦法,將系統(tǒng)板上的8259A中斷請(qǐng)求線進(jìn)行擴(kuò)充。7.3

中斷方式

在進(jìn)行中斷擴(kuò)充時(shí),應(yīng)注意以下幾點(diǎn):①應(yīng)選定系統(tǒng)暫不用的中斷請(qǐng)求線進(jìn)行擴(kuò)充,一般0、1、6、7級(jí)中斷是不能占用的。②為附加的8259A分配兩個(gè)端口地址,且不要與系統(tǒng)板上的I/O端口地址沖突。③在中斷系統(tǒng)開始工作之前,必須對(duì)附加的8259A進(jìn)行初始化編程,以設(shè)定其工作方式。而系統(tǒng)板上的8259A初始化由系統(tǒng)在啟動(dòng)時(shí)自動(dòng)完成。7.3

中斷方式⑵PC/AT微機(jī)的中斷控制器PC/AT微機(jī)系統(tǒng)的中斷控制器由一個(gè)主片8259A和一個(gè)從片8259A組成,通過(guò)3個(gè)級(jí)聯(lián)端CAS2~CAS0發(fā)生關(guān)聯(lián),主片的INT端接至CPU的INTR端,而從片的INT端連接到主片的IR2端,從而形成一個(gè)具有15級(jí)向量中斷的硬件中斷系統(tǒng)。在這種以主、從8259A級(jí)聯(lián)的系統(tǒng)中,從片管理的8級(jí)中斷請(qǐng)求經(jīng)過(guò)排隊(duì)判優(yōu)后,再參與到主片前8級(jí)的排隊(duì)判優(yōu)。7.3

中斷方式⑵PC/AT微機(jī)的中斷控制器PC/AT微機(jī)系統(tǒng)的中斷控制器由一個(gè)主片8259A和一個(gè)從片8259A組成,通過(guò)3個(gè)級(jí)聯(lián)端CAS2~CAS0發(fā)生關(guān)聯(lián),主片的INT端接至CPU的INTR端,而從片的INT端連接到主片的IR2端,從而形成一個(gè)具有15級(jí)向量中斷的硬件中斷系統(tǒng)。在這種以主、從8259A級(jí)聯(lián)的系統(tǒng)中,從片管理的8級(jí)中斷請(qǐng)求經(jīng)過(guò)排隊(duì)判優(yōu)后,再參與到主片前8級(jí)的排隊(duì)判優(yōu)。7.3

中斷方式⑶80386/80486微機(jī)的中斷控制器一般是由若干個(gè)8259A芯片組成的,但是這些8259A不再是一個(gè)個(gè)獨(dú)立的芯片,它們和其他功能部件(如DMAC、定時(shí)器/計(jì)數(shù)器、總線控制器等)一起集成在一個(gè)超大規(guī)模的外圍芯片中。82380就是一種典型的VLSI接口芯片,它的中斷控制器包含3片8259A電路,分別稱做中斷層A、中斷層B和中斷層C。這3層串接起來(lái)產(chǎn)生一個(gè)總的中斷請(qǐng)求信號(hào)INT,接至CPU的INTR輸入端,它共支持20級(jí)硬件向量中斷,5級(jí)在82380芯片內(nèi),供片內(nèi)其他功能的部件使用,15級(jí)作為外部中斷請(qǐng)求輸入端,每個(gè)外部中斷請(qǐng)求端又可以擴(kuò)充一片8259A作為從片。因此,最多可管理8×15=120個(gè)外部中斷源。7.3

中斷方式

82380中的每一層中斷控制邏輯與單片8259A基本相同。使用時(shí)有兩點(diǎn)區(qū)別:1)82380的每個(gè)中斷請(qǐng)求都可以獨(dú)立設(shè)置中斷向量,而不像8259A芯片那樣各個(gè)中斷向量自動(dòng)連續(xù);2)當(dāng)外接8259A作為從片時(shí),在中斷響應(yīng)周期,從片的編碼不是由CAS2~CAS0級(jí)聯(lián)送入,而是通過(guò)數(shù)據(jù)總線D7~D0傳輸。7.3

中斷方式6.應(yīng)用舉例⑴8259在IBM-PC/XT微機(jī)系統(tǒng)中的應(yīng)用例如:IBM-PC/XT微機(jī)系統(tǒng)中只使用了一片8259芯片,接受并處理8級(jí)外部中斷請(qǐng)求。系統(tǒng)分配給該8259芯片的端口地址號(hào)為20H和21H,且初始化設(shè)定為:8個(gè)中斷請(qǐng)求信號(hào)IR0~I(xiàn)R7均為邊沿觸發(fā);采用完全嵌套方式,IR0為最高優(yōu)先級(jí),IR7為最低優(yōu)先級(jí);設(shè)定IR0所對(duì)應(yīng)的中斷類型號(hào)為8,則IR1對(duì)應(yīng)的中斷類型號(hào)為9,依此類推。7.3

中斷方式其初始化程序編寫如下:INTA00EQU20H;8259端口0INTA01EQU21H;8259端口1┇MOVAL,13H;ICW1邊沿觸發(fā)、單片、需ICW4OUTINTA00,ALMOVAL,8OUTINTA01,AL;ICW2中斷類型碼的高5位MOVAL,9OUTINTA01,AL;ICW4全嵌套,8086系統(tǒng),非自動(dòng)結(jié)束7.3

中斷方式⑵8259在80286/80386微機(jī)系統(tǒng)中的應(yīng)用在80286/80386微機(jī)系統(tǒng)中,使用主、從兩片8259芯片級(jí)聯(lián),可管理15個(gè)硬件中斷源。其中:主8259芯片的地址為020H~021H,從8259芯片的地址為0A0H~0A1H;主片的CAS2~CAS0與從片的CAS2~CAS0互連,從片的INT引腳連至主片IR2;采用非緩沖方式,主片的/引腳接+5V,從片的/引腳接地;主、從片的中斷請(qǐng)求信號(hào)均采用邊沿觸發(fā);采用完全嵌套方式,優(yōu)先級(jí)的排列次序?yàn)镮RQ0最高,依次為IRQ1、IRQ8~I(xiàn)RQ15,然后是IRQ3~I(xiàn)RQ7;設(shè)定IRQ0~I(xiàn)RQ7對(duì)應(yīng)的中斷類型碼為8~0FH,IRQ8~I(xiàn)RQ15對(duì)應(yīng)的中斷類型碼為70H~77H。7.3

中斷方式對(duì)8259的主片和從片的初始化程序編寫如下:;初始化8259主片INTA00EQU020H;8259主片端口0INTA01EQU021H;8259主片端口1

┇MOVAL,11H;ICW1邊沿觸發(fā),級(jí)聯(lián),需ICW4OUTINTA00,ALJMPSHORT$+2;I/O端口延時(shí)要求MOVAL,8OUTINTA01,AL;ICW2中斷類型碼的高5位JMPSHORT$+2;I/O端口延時(shí)要求MOVAL,04H;ICW3主片的IR2上接從片OUTINTA01,AL;JMPSHORT$+2;I/O端口延時(shí)要求MOVAL,01H;ICW4非緩沖,全嵌套,8088系統(tǒng)OUTINTA01,AL;非自動(dòng)結(jié)束7.3

中斷方式

初始化8259從片INTB00EQU0A0H;8259從片端口0INTB01EQU0A1H;8259從片端口1┇MOVAL,11H;ICW1邊沿觸發(fā),級(jí)聯(lián),需ICW4OUTINTB00,ALJMPSHORT$+2;I/O端口延時(shí)要求MOVAL,70H;ICW2中斷類型號(hào)的高5位OUT

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論