微機(jī)接口第五章 第六章_第1頁
微機(jī)接口第五章 第六章_第2頁
微機(jī)接口第五章 第六章_第3頁
微機(jī)接口第五章 第六章_第4頁
微機(jī)接口第五章 第六章_第5頁
已閱讀5頁,還剩156頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

接口技術(shù)

第五章中斷技術(shù)5.1中斷的基本概念5.2中斷處理過程5.3可編程中斷控制器82595.48259在微機(jī)系統(tǒng)中的應(yīng)用5.1中斷的基本概念一、中斷的概念中斷:指CPU正常運(yùn)行程序,由于內(nèi)外部事件引起CPU暫時(shí)終止正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行請(qǐng)求中斷的服務(wù)程序,服務(wù)完畢,返回原程序的過程。用途使CPU和外設(shè)同步工作提高CPU的效率二、中斷源與中斷識(shí)別1、中斷源:發(fā)出中斷請(qǐng)求的外部設(shè)備或引起中斷的內(nèi)部原因稱為中斷源

2、中斷源的種類:①外設(shè)中斷:系統(tǒng)外部設(shè)備要求與CPU交換信息而產(chǎn)生的中斷。②指令中斷:為了方便用戶使用系統(tǒng)資源或調(diào)試軟件而設(shè)置的中斷指令,如調(diào)用I/O設(shè)備的BIOS及DOS系統(tǒng)功能的中斷指令和設(shè)置斷點(diǎn)中斷等。③程序性中斷:程序員的疏忽或算法上的差錯(cuò),使程序在運(yùn)行過程中出現(xiàn)多種錯(cuò)誤而產(chǎn)生的中斷。④硬件故障中斷:機(jī)器在運(yùn)行過程中,硬件出現(xiàn)偶然性或固定性的錯(cuò)誤而引起的中斷,如奇偶校驗(yàn)錯(cuò)中斷、電源故障等。

3、中斷識(shí)別:(1)什么是中斷識(shí)別:CPU響應(yīng)中斷后,設(shè)法尋找中斷源,即找到是哪一個(gè)中斷源發(fā)出的中斷請(qǐng)求,這就是所謂的中斷識(shí)別。(2)中斷識(shí)別的目的:是將該中斷源的中斷服務(wù)程序的人口地址置入CS:IP寄存器,從而實(shí)現(xiàn)程序的轉(zhuǎn)移。CPU識(shí)別中斷或獲取中斷服務(wù)程序人口地址的方法有兩種:向量中斷和查詢中斷。①向量中斷;是由中斷向量來指示中斷服務(wù)程序的入口地址。

②查詢中斷:是采用軟件或硬件(串行順序鏈電路)查詢技術(shù)來確定發(fā)出中斷請(qǐng)求的中斷源。

三、中斷向量、中斷向量號(hào)與中斷向量表1、什么是中斷向量:中斷向量是中斷服務(wù)程序的人口地址。它包括中斷服務(wù)程序的段基址CS和偏移地址IP(共占4個(gè)字節(jié)地址)。

2、什么是中斷向量號(hào):是系統(tǒng)分給每個(gè)中斷源的代號(hào)。系統(tǒng)中的外部中斷和內(nèi)部中斷,硬中斷和軟中斷一律統(tǒng)一編號(hào),共有256個(gè)號(hào),其中有一部分中斷號(hào)已經(jīng)分配給了中斷源,尚有部分中斷號(hào)空著,待分配。

3、中斷向量表:每一個(gè)中斷服務(wù)程序都有一個(gè)確定的人口地址,把系統(tǒng)中所有的中斷向量集中放到存儲(chǔ)器的某一區(qū)域內(nèi),這個(gè)存放中斷向量的存儲(chǔ)區(qū)就叫中斷向量表或中斷服務(wù)程序入口地址表。PC系列微機(jī)的存儲(chǔ)器的0000—03FFH共1024個(gè)地址作為中斷向量存儲(chǔ)區(qū),每個(gè)中斷向量需占用4個(gè)字節(jié)的地址空間,所以,可容納256個(gè)中斷向量,即可處理256個(gè)中斷服務(wù)程序。

專用中斷5個(gè)(0~4),DOS使用59個(gè),其余的原則上可由用戶使用

類型0類型1類型2類型3類型4類型5類型63IPCS除數(shù)為零單步(TF=1)非屏蔽中斷斷點(diǎn)中斷溢出(OF=1)類型28000H004H008H00CH010H014H070H0FCHCPU使用(5)DOS使用(59)1/18.2S定時(shí)類型64類型65類型66類型67類型255100H104H108H10CH3FCH用戶使用(192)中斷向量表中斷向量表地址=4×中斷類型碼4、中斷向量號(hào)與中斷向量表的關(guān)系:中斷向量=中斷類型號(hào)×4開始的連續(xù)4個(gè)內(nèi)存單元(也就是中斷服務(wù)程序入口地址)。關(guān)系見下圖:

中斷向量

00700FC9中斷向量指針

004FH004EH004DH004CH寄存器CSHCSLIPHIPL中斷類型號(hào)為13HCS=0070HIP=0FC9H

例:某中斷的中斷類型碼為68H,其操作過程如下類型67H中斷向量0:19CH0:1A0H50200:1A2H00A00:1A4H

類型69H

中斷向量2050

IP

A000

CS中斷服務(wù)入口

A000:2050STIRETI43INT68HMOVAX,05向量地址=68*4=1A0H12四、中斷向量的裝入(填寫)與修改

中斷向量并非常駐內(nèi)存,而是開機(jī)上電時(shí),由程序裝人內(nèi)存指定的中斷向量表中。系統(tǒng)配置和使用的中斷所對(duì)應(yīng)的中斷向量由系統(tǒng)軟件負(fù)責(zé)裝入,用戶使用的中斷其中斷向量由用戶自己裝入。

例1:用指令設(shè)置。例如,假設(shè)中斷類型號(hào)為60H,中斷服務(wù)程序的段基址是SEG_INTR,偏移地址是OFFSET_INTR(006DH),則填寫中斷向量表的程序段為:CLI ;關(guān)中斷

CLD ;內(nèi)存地址加1操作

MOVAX,0 MOVES,AX ;ES賦值為0 MOVDI,4*60H ;中斷向量指針入DI MOVAX,OFFSET_INTR;中斷服務(wù)程序偏移值入AX STOSW MOVAX,SEG_INTR;中斷服務(wù)程序的段基址入AX STOSW STI;開中斷例2:將中斷服務(wù)程序的人口地址直接寫入中斷向量表;

MOVAX,00H MOVES,AX MOVBX,60H*4;中斷號(hào)*4入BXMOVAX,006DH;中斷服務(wù)程序偏移地址入AX MOVES:[BX],AX;裝入偏移地址

PUSHCS POPAX ;獲取中斷服務(wù)程序段基址

MOVES:[BX+2],AX;裝入段基址例3:利用DOS功能調(diào)用INT21的35號(hào)和25號(hào)功能對(duì)中斷向量進(jìn)行修改。步驟入下①用35H號(hào)功能,獲取原中斷向量,并保存在字變量中。②用25H號(hào)功能,設(shè)置新中斷向量,取代原中斷向量,以便當(dāng)中斷發(fā)生后,轉(zhuǎn)移到新中斷服務(wù)程序中去。③新中斷服務(wù)程序完畢后,利用25H號(hào)功能恢復(fù)原中斷向量。

設(shè)置中斷首地址按AL中預(yù)置的中斷類型碼,DS:DX中預(yù)置的中斷首地址設(shè)置至中斷向量表中25HAH功能說明取用中斷首地址按AL中預(yù)置的中斷類型碼,取用中斷向量表中的首地址送至ES:BX中35H

假設(shè)原中斷程序的中斷號(hào)為n,新中斷程序的入口地址的段基址為SEG_INTR,偏移地址為OFFSET_INTR。中斷向量修改的程序段為:

MOVAH,35H;取原中斷向量

MOVAL,n INT21HMOVDX,ES MOVOLD_SEG,DX;保存原中斷向量

MOVOLD_OFF,BXMOVAH,25H;設(shè)置新中斷向量

MOVAL,n ;中斷號(hào)入AL MOVDX,SEG_INTRMOVDS,DX;DS指向新中斷程序段址MOVDX,OFFSET_INTR;DX指向新中斷程序偏移INT21H ;地址

MOVAH,25H;恢復(fù)原中斷向量

MOVAL,nMOVDX,OLD_SEGMOVDS,DXMOVDX,OLD_OFFINT21H五、中斷優(yōu)先級(jí)排隊(duì)方式

排隊(duì)的方式有:a.按優(yōu)先級(jí)排隊(duì)。根據(jù)任務(wù)的輕重緩急,給每個(gè)中斷源指定CPU向應(yīng)的優(yōu)先級(jí),任務(wù)緊急的先響應(yīng),可以暫緩的后響應(yīng)。b、循環(huán)輪流排隊(duì)。不分級(jí)別,CPU輪流響應(yīng)各個(gè)中斷源。

中斷優(yōu)先級(jí)的確定

在微機(jī)系統(tǒng)中通常用三種方法來確定中斷源的優(yōu)先級(jí)別,即軟件查詢法、硬件排隊(duì)電路法和專用中斷控制芯片法。

中斷狀態(tài)位DBCPUINT譯碼AB查詢次序?yàn)閮?yōu)先級(jí)次序1)軟件查詢法

對(duì)于圖7.13所示電路,設(shè)中斷寄存器端口號(hào)為n,則軟件查詢的程序段如下:

IN AL,nTEST AL,80H ;1號(hào)外設(shè)有請(qǐng)求?JNZ II1 ;有,轉(zhuǎn)1號(hào)中斷服務(wù)程序

TESTAL,40H ;2號(hào)外設(shè)有請(qǐng)求?JNZ II2 ;有,轉(zhuǎn)2號(hào)中斷服務(wù)程序…

可以看出,采用軟件查詢方式,各中斷源的優(yōu)先級(jí)是由查詢順序決定的,最先查詢的設(shè)備,其優(yōu)先級(jí)最高,最后查詢的設(shè)備,其優(yōu)先級(jí)最低。采用軟件查詢方式的優(yōu)點(diǎn)是節(jié)省硬件。但是,由于CPU每次響應(yīng)中斷時(shí)都要對(duì)各中斷源進(jìn)行逐一查詢,所以其響應(yīng)速度較慢。對(duì)于優(yōu)先級(jí)較低的中斷源來說,該缺點(diǎn)更為明顯。

2)硬件排隊(duì)電路

采用硬件排隊(duì)電路法,各個(gè)外設(shè)的優(yōu)先級(jí)與其接口在排隊(duì)電路中的位置有關(guān)。常用的硬件優(yōu)先權(quán)排隊(duì)電路有鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路、硬件優(yōu)先級(jí)編碼加比較器的排隊(duì)電路等。

鏈?zhǔn)街袛鄡?yōu)先級(jí)電路

上述兩種方法雖然可以解決中斷優(yōu)先級(jí)控制問題,但實(shí)現(xiàn)起來在硬件和軟件上都要做大量的工作,十分麻煩。目前,最方便的辦法就是利用廠家提供的可編程中斷控制器,這樣的器件在各種微機(jī)中得到普遍應(yīng)用。本章后面將介紹廣泛應(yīng)用于80x86微機(jī)系統(tǒng)中的專用可編程中斷控制芯片8259A。六、中斷嵌套當(dāng)CPU正在響應(yīng)較低級(jí)的中斷服務(wù)過程中,如果有更高級(jí)的中斷申請(qǐng),CPU將停止當(dāng)前的中斷服務(wù)程序,而轉(zhuǎn)去響應(yīng)高級(jí)中斷,當(dāng)高級(jí)中斷結(jié)束后,再返回到低級(jí)中斷繼續(xù)服務(wù),服務(wù)結(jié)束后再返回到斷點(diǎn)處繼續(xù)執(zhí)行。多重中斷和單級(jí)中斷的區(qū)別:加入屏蔽本級(jí)或較低級(jí)中斷請(qǐng)求環(huán)節(jié)在中斷服務(wù)之前要開中在中斷服務(wù)結(jié)束后,為使現(xiàn)場(chǎng)不受干擾,必須關(guān)中現(xiàn)場(chǎng)恢復(fù),重新開放中斷5.2IBM-PC機(jī)中斷系統(tǒng)

非屏蔽中斷請(qǐng)求中斷邏輯INTN指令I(lǐng)NTO指令除法指令單步TF=18259A可屏蔽中斷NMI

一、中斷的分類外部中斷由外部引腳輸入信號(hào)引起中斷非屏蔽中斷:不受IF標(biāo)志影響可屏蔽中斷:受IF標(biāo)志影響內(nèi)部中斷由于CPU本身啟動(dòng)的中斷或執(zhí)行中斷指令引起

可屏蔽中斷采用電平觸發(fā),高電平有效受CPU內(nèi)部中斷請(qǐng)求標(biāo)志IF影響由中斷管理芯片8259驅(qū)動(dòng)中斷類型碼獲得是在接受到CPU中斷響應(yīng)信號(hào)后,由8259A送出(擴(kuò)展一片8259A,可外接8個(gè)中斷源)

非屏蔽中斷非屏蔽中斷用于處理掉電,存儲(chǔ)器讀、寫錯(cuò)誤等災(zāi)難性事件不受CPU內(nèi)部IF標(biāo)志影響,優(yōu)先級(jí)高于可屏蔽中斷邊沿觸發(fā)中斷類型碼為2,不需要中斷響應(yīng)周期

內(nèi)部中斷由中斷指令I(lǐng)NT引起(ROM-BIOS,DOS)

INTN;N為中斷類型號(hào)由CPU的某些運(yùn)行錯(cuò)誤引起中斷*除法出錯(cuò)中斷:執(zhí)行DIV,IDIV指令,除數(shù)為0,商超過范圍,產(chǎn)生0型中斷*溢出中斷;算術(shù)運(yùn)算過程中,結(jié)果溢出(OF=1),且執(zhí)行INTO指令,產(chǎn)生4型中斷由調(diào)試程序DEBUG設(shè)置中斷*單步中斷:當(dāng)TF=1,8086處單步方式,每執(zhí)行一條指令,產(chǎn)生1型中斷*斷點(diǎn)中斷:斷點(diǎn)中斷是單字節(jié),中斷類型碼是3

內(nèi)部中斷的特點(diǎn):中斷類型碼或由指令規(guī)定,或是預(yù)定不執(zhí)行INTA總線周期除單步中斷外,內(nèi)部中斷無法用軟件禁止除單步中斷外,內(nèi)部中斷比外部中斷具有更高優(yōu)先級(jí)對(duì)CPU來說,如果這三種中斷同時(shí)發(fā)生內(nèi)部中斷(除單步中斷)(高)

不可屏蔽中斷可屏蔽中斷單步中斷(低)二、硬中斷與軟中斷的比較1、硬中斷的特點(diǎn)外部事件引起中斷響應(yīng)周期,CPU發(fā)INTA中斷回答信號(hào)中斷號(hào)由中斷控制器提供INTR是可屏蔽2、軟中斷的特點(diǎn)執(zhí)行中斷指令產(chǎn)生,中斷號(hào)是事先規(guī)定中斷響應(yīng)周期,CPU不發(fā)INTA中斷回答信號(hào)是不可屏蔽(單步除外)三、中斷處理過程中斷處理過程組成:中斷請(qǐng)求中斷響應(yīng)保護(hù)現(xiàn)場(chǎng)中斷服務(wù)恢復(fù)現(xiàn)場(chǎng)中斷返回

中斷響應(yīng)流程:

執(zhí)行指令指令結(jié)束?有中斷請(qǐng)求?響應(yīng)中斷關(guān)中斷保護(hù)斷點(diǎn)尋找中斷源轉(zhuǎn)中斷服務(wù)程序保護(hù)現(xiàn)場(chǎng)中斷服務(wù)恢復(fù)現(xiàn)場(chǎng)開中斷返回

YNY取下一條指令(1)接口邏輯電路使系統(tǒng)總線上的中斷請(qǐng)求線出現(xiàn)有效信號(hào),即有中斷請(qǐng)求。(2)中斷控制器(如8259)接收這一請(qǐng)求信號(hào),并與其他可能同時(shí)到來或正掛起等待處理的中斷請(qǐng)求一起進(jìn)行優(yōu)先級(jí)比較。(3)如果只有這一個(gè)請(qǐng)求信號(hào),或者該信號(hào)是在剛處理的最高級(jí)的中斷請(qǐng)求服務(wù)結(jié)束時(shí)掛起的次高級(jí)的請(qǐng)求信號(hào),那么這個(gè)中斷請(qǐng)求就能被送往CPU。(4)接著CPU發(fā)出兩個(gè)/INTA中斷響應(yīng)脈沖到中斷控制器:第一個(gè)脈沖時(shí),CPU輸出/LOCK信號(hào)使總線封鎖,防止DMA和其他微處理器占用總線;同時(shí)8259保留優(yōu)先級(jí),并把這個(gè)優(yōu)先級(jí)別送到服務(wù)鎖存器第二個(gè)/INTA脈沖時(shí),總線封鎖解除;同時(shí)要求中斷控制器送出一個(gè)8位的指針值(中斷向量)。(5)CPU接收到這個(gè)8位中斷向量值。根據(jù)該值可找到低地址存儲(chǔ)區(qū)表,這個(gè)表包含有對(duì)應(yīng)中斷服務(wù)子程序的段地址和偏移值。(6)CPU把當(dāng)前的偏移地址、代碼段地址和標(biāo)志推入系統(tǒng)堆棧,叫保護(hù)現(xiàn)場(chǎng)。然后從中斷向量表中取出新的偏移和代碼段值分別送給IP和CS。這時(shí),中斷服務(wù)程序尚可執(zhí)行。(7)中斷執(zhí)行完畢,恢復(fù)現(xiàn)場(chǎng)(即把入棧的內(nèi)容出棧)返回?cái)帱c(diǎn)處。整個(gè)過程結(jié)束。5.3可編程中斷控制器82598259的功能8259的外部特性和內(nèi)部結(jié)構(gòu)8259的工作方式一、8259的功能優(yōu)先級(jí)排隊(duì)管理接受和擴(kuò)充外部設(shè)備的中斷請(qǐng)求提供中斷類型號(hào)進(jìn)行中斷請(qǐng)求的屏蔽和開放

RDWRA0CS讀/寫邏輯數(shù)據(jù)總線緩沖器級(jí)聯(lián)緩沖/比較器D0~D7CAS0CAS1CAS2SP/EN正在服務(wù)寄存器ISR優(yōu)先權(quán)分析器PR中斷請(qǐng)求寄存器IRR中斷屏蔽寄存器IMR

控制邏輯內(nèi)部總線IR0IR7INTAINT二、8259的外部特性和內(nèi)部結(jié)構(gòu)

和CPU連接D0~D7A0CSWRRDINTINTA和級(jí)聯(lián)有關(guān)CAS0~CAS2SP/EN和外設(shè)請(qǐng)求信號(hào)有關(guān)IR0~IR78259A芯片內(nèi)部結(jié)構(gòu)主要由8部分組成,它們分別是:(1)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器用來傳輸從8259A內(nèi)部讀出到CPU的數(shù)據(jù)(狀態(tài)信息)或者CPU向8259A內(nèi)部寫入的數(shù)據(jù)(控制字)。(2)中斷請(qǐng)求寄存器IRR

它是一個(gè)8位寄存器,每一位對(duì)應(yīng)一個(gè)I/O設(shè)備,用來記錄發(fā)生中斷請(qǐng)求的外設(shè)。當(dāng)某一外設(shè)(I/O設(shè)備)發(fā)生中斷請(qǐng)求信號(hào)IRQ時(shí),對(duì)應(yīng)位被置1。(3)中斷服務(wù)寄存器ISR它是一個(gè)8位寄存器,每一位同樣對(duì)應(yīng)一個(gè)I/O設(shè)備,用來記錄正被CPU服務(wù)的那個(gè)I/O設(shè)備。(4)中斷屏蔽寄存器IMR它是一個(gè)8位寄存器,每一位對(duì)應(yīng)一個(gè)I/O設(shè)備,當(dāng)某一位被置為1時(shí),對(duì)應(yīng)的I/O設(shè)備發(fā)來的中斷請(qǐng)求信號(hào)就被屏蔽掉(視為無效);當(dāng)某一位置為0時(shí),對(duì)應(yīng)I/O設(shè)備發(fā)來的中斷請(qǐng)求信號(hào)有效(允許引起中斷)。IMR中各位的值由軟件進(jìn)行設(shè)置,這點(diǎn)與IRR和ISR不同。(5)選優(yōu)電路選優(yōu)電路的作用:從中斷請(qǐng)求寄存器IRR中選出優(yōu)先權(quán)最高的那一位,并將其送到ISR中的對(duì)應(yīng)位中。在中斷請(qǐng)求寄存器IRR中,如果有多個(gè)I/O設(shè)備發(fā)出中斷請(qǐng)求信號(hào)使多個(gè)位被置為1,則在中斷響應(yīng)期間,8259A接收到第一個(gè)中斷響應(yīng)信號(hào)INTA時(shí),優(yōu)選電路負(fù)責(zé)將中斷請(qǐng)求寄存器IRR中優(yōu)先權(quán)最高的那一位1送入中斷服務(wù)寄存器ISR中對(duì)應(yīng)位。(6)讀寫邏輯電路

它負(fù)責(zé)把CPU發(fā)來的各種命令字寫入到8259A內(nèi)部寄存器中,或者把8259A內(nèi)部寄存器值,也稱狀態(tài)信息讀出給CPU。CSWRRDA0

讀寫操作PIC(主)PIC(從)0010寫ICW1,OCW2,OCW320H0A0H0011寫ICW2~ICW4,OCW121H0A1H0100讀IRR,ISR,查詢字20H0A0H0101讀IMR21H0A1H(7)控制電路它產(chǎn)生向CPU發(fā)出的中斷信號(hào)INT,并接收CPU發(fā)來的中斷響應(yīng)信號(hào)/INTA。(8)級(jí)聯(lián)緩沖器/比較器用于多片級(jí)聯(lián)和數(shù)據(jù)緩沖。三、8259A的工作方式1、引入中斷請(qǐng)求(中斷觸發(fā))的方式:①邊沿觸發(fā)方式。以正跳沿向8259A請(qǐng)求中斷。②電平觸發(fā)方式。以高電平申請(qǐng)中斷,但在響應(yīng)中斷后必須及時(shí)清除高電平,以免引起第二次誤中斷。③中斷查詢方式。外設(shè)通過8259A申請(qǐng)中斷,但8259A卻不使用INT信號(hào)向CPU申請(qǐng)中斷,CPU用軟件查詢確定中斷源,并為其服務(wù)。2、連接系統(tǒng)總線的方式在多片級(jí)聯(lián)的大系統(tǒng)中,要求數(shù)據(jù)總線有總線緩沖器。8259A與這種帶總線緩沖器的系統(tǒng)總線連接的方式稱緩沖器方式。

若在小系統(tǒng)中,則8259A不需要總線緩沖器而是將其直接接至數(shù)據(jù)總線。8259A與這種不需總線緩沖器而直接連到系統(tǒng)總線的方式稱非緩沖器方式。3、屏蔽中斷源的方式①通常屏蔽方式。利用操作命令字OCWl,使屏蔽寄存器IMR中的一位或幾位置1來屏蔽一個(gè)或幾個(gè)中斷源的中斷請(qǐng)求。若要開放某二個(gè)中斷源的中斷請(qǐng)求,則將IMR中相應(yīng)的位置0。②特殊屏蔽方式。在某些場(chǎng)合,在執(zhí)行某一個(gè)中斷服務(wù)程序時(shí),要求允許另一個(gè)優(yōu)先級(jí)比它低的中斷請(qǐng)求被響應(yīng),此時(shí)可采用特殊屏蔽方式。它可通過OCW3的D6D5:11來設(shè)定。4、優(yōu)先級(jí)排隊(duì)的方式①全嵌套方式。在此種方式下中斷優(yōu)先級(jí)按0-7順序進(jìn)行排隊(duì),并且只允許中斷級(jí)別高的中斷源去中斷中斷級(jí)別低的中斷服務(wù)程序,而不能相反。這是8259A最常用的方式。②特殊全嵌套方式。它和全嵌套方式的不同之處在于,當(dāng)執(zhí)行某一級(jí)中斷服務(wù)程序時(shí),可響應(yīng)同級(jí)的中斷請(qǐng)求,從而實(shí)現(xiàn)對(duì)同級(jí)中斷請(qǐng)求的特殊嵌套。用于多片級(jí)聯(lián)。③優(yōu)先級(jí)自動(dòng)輪換方式。在這種方式下,優(yōu)先級(jí)順序不是固定不變的,一個(gè)設(shè)備受到中斷服務(wù)后,其優(yōu)先級(jí)自動(dòng)降為最低。④優(yōu)先級(jí)指定輪換方式。是由程序指定IR0-IR7中任意一個(gè)為最低優(yōu)先級(jí),然后再按順序自動(dòng)輪換,決定優(yōu)先級(jí)。5、結(jié)束中斷的處理方式

①自動(dòng)中斷結(jié)束方式。這種方式用在多個(gè)中斷不會(huì)嵌套的系統(tǒng)中。②非自動(dòng)中斷結(jié)束方式。在中斷返回之前,必須發(fā)中斷結(jié)束命令才能將ISR中的當(dāng)前服務(wù)位清除。有兩種形式:a、不指定中斷結(jié)束命令;b、指定中斷結(jié)束命令。四、8259A的初始化1、如何對(duì)8259進(jìn)行初始化?對(duì)8259的初始化是通過CPU對(duì)8259A送控制命令字實(shí)現(xiàn)的。對(duì)于只占兩個(gè)I/O地址的8259A,CPU對(duì)8259A各寄存器的讀寫是I/O地址和數(shù)據(jù)配合完成的。8259的命令字分為初始化命令字和操作方式命令字兩種,分別有:(1)4個(gè)初始化命令字ICW1、ICW2、ICW3和ICW4(2)3個(gè)操作方式命令字OCW1、OCW2和OCW32、PC機(jī)對(duì)主片8259A各寄存器的選定:(PC機(jī)上的8259A的I/O地址為20H和21H)(1)對(duì)于4個(gè)初始化命令字的選定:

ICW1:0020HA0=0,D4=1 ICW2:0021HA0=1 ICW3:0021HA0=1,ICW1中SNGL(D1)位=0 ICW4:0021HA0=1,ICW1中IC4(D0)位=1

按照ICW1--ICW4的順序?qū)懭耄?)對(duì)于操作方式命令字的選定

OCW1:0021HA0=1 OCW2:0020HA0=0,D3D4=00 OCW3:0020HA0=0,D3D4=10

3、初始化命令字初始化命令字ICW1寫入后,8259A內(nèi)部完成初始化過程:A、使8259A對(duì)中斷請(qǐng)求信號(hào)邊沿檢測(cè)電路復(fù)位,以使它在中斷請(qǐng)求信號(hào)由低變高時(shí),才能產(chǎn)生中斷。B、清除中斷屏蔽寄存器,設(shè)置中斷優(yōu)先級(jí)排隊(duì)。ICW1IC4SNGL00*1LTIM**A0D7D6D5D4D3D2D1D001不寫ICW4寫ICW401級(jí)聯(lián),寫ICW3單片,不寫ICW38088/8086不用標(biāo)志位0=邊沿觸發(fā)方式1=電平觸發(fā)方式ICW2D7D6D5D4D3D2D1D0T31A00T7T6T5T400D7D6D5D4D3D2D1D0IR7T7T6T5T4T3111IR6T7T6T5T4T3110IR5T7T6T5T4T3101IR4T7T6T5T4T3100IR3T7T6T5T4T3011IR2T7T6T5T4T3010IR1T7T6T5T4T3001IR0T7T6T5T4T30008259A輸送的中斷類型號(hào)無特征位,跟在ICW1后

S7S6S5S4S3S2S1S0

1ICW3A0D7D6D5D4D3D2D1D0ICW3中斷級(jí)聯(lián)方式的設(shè)置主片

Si表示IRi有中斷請(qǐng)求XXXXXID2ID1ID0

1ICW3A0D7D6D5D4D3D2D1D0從片

從片標(biāo)志碼ICW3在ICW1中D1=1時(shí)有效,緊跟在ICW2后

IR7IR0SP/ENCSA0INTAINTCS0~CS2IR7IR0SP/ENCSA0INTAINTCS0~CS2IR7IR0SP/ENCSA0INTAINTCS0~CS2數(shù)據(jù)總線控制總線地址總線8259主從級(jí)聯(lián)GNDGNDVCC

主片MOVAL,48HOUT21H,AL從片AMOVAL,03H地址A1HOUT0A1H,AL從片BMOVAL,06H地址F1HOUT0F1H,ALICW4PMAEOIM/S10SFNMBUF00A0D7D6D5D4D3D2D1D001選用8085選用808601非自動(dòng)方式自動(dòng)中斷結(jié)束方式0=全嵌套方式1=特殊全嵌套方式=非緩沖方式,此時(shí)若用級(jí)聯(lián),由SP/EN確定主從設(shè)備。=緩沖方式,本片為從片=緩沖方式,本片為主片01011全嵌套方式:高級(jí)中斷可打斷正在處理的中斷,優(yōu)先處理更高級(jí)的中斷。特殊全嵌套方式:對(duì)于級(jí)聯(lián)方式,主8259A把從同一從8259A來的不同級(jí)別的中斷請(qǐng)求認(rèn)為是同級(jí)的。在8259A級(jí)聯(lián)時(shí),若主片處于特殊全嵌套方式就允許對(duì)相同級(jí)別的中斷請(qǐng)求開放。

4、操作命令OCW1~OCW3M7M6M5M4M3M2M1M0

1OCW1A0D7D6D5D4D3D2D1D01=屏蔽;0=開放OCW1操作命令設(shè)置中斷屏蔽字,可讀可寫

要使中斷源IR3開放,其余均被屏蔽,其OCWl:llll0111BMOVAL,0F7HOUT21H,AL

RSLEOI

0

0L2L1L0

0

OCW2A0D7D6D5D4D3D2D1D0優(yōu)先級(jí)輪換指定中斷優(yōu)先級(jí)中斷結(jié)束

特征位

中斷等級(jí)編碼OCW2用來設(shè)置中斷結(jié)束方式,中斷排隊(duì)方式OCW2的功能總結(jié)為下表:RSLEOIL2L1L0功能001000不指定EOI命令011L2L1L0指定EOI命令101000在不指定EOI方式中輪換命令100000在自動(dòng)EOI方式中輪換置位命令000000在自動(dòng)EOI方式中輪換復(fù)位命令111L2L1L0

在指定EOI方式中輪換命令110L2L1L0

直接置優(yōu)先級(jí)輪換命令作用:A、非自動(dòng)中斷結(jié)束方式的操作。①不指定的EOI方式:當(dāng)8259A接收到一個(gè)不指定的EOI命令時(shí),它直接將最高優(yōu)先級(jí)(在被置位的ISR中最高)的ISR位復(fù)位。(適用于全嵌套方式)ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR000100100ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR000100000MOVAL,20HOUT20H,AL②指定的EOI方式:指定出一個(gè)確切的被復(fù)位的ISR位,可以指定8259A的8個(gè)IR等級(jí)中的任何一個(gè)。(適用于非全嵌套方式)ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR000100100ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR000000100MOVAL,65HOUT20H,ALB、中斷排隊(duì)方式的操作(0CW2)

8259有兩種優(yōu)先權(quán)排隊(duì)方式:固定、優(yōu)先權(quán)輪換由OCW2的R控制。當(dāng)R=0,優(yōu)先權(quán)固定(如前)當(dāng)R=1,優(yōu)先權(quán)輪換①不指定的EOI輪換方式ISR7IDR6ISR5ISR4ISR3ISR2ISR1ISR00010010076543210ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR00010000043210765MOVAL,0A0HOUT20H,AL②指定的EOI輪換方式ISR7IDR6ISR5ISR4ISR3ISR2ISR1ISR00010010076543210ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR00000010010765432MOVAL,0E5HOUT20H,AL

OCW3:查詢中斷、讀狀態(tài)、特殊屏蔽方式XESMMSMM01PRRRIS

0

OCW3A0D7D6D5D4D3D2D1D0特殊屏蔽允許特殊屏蔽設(shè)置特征位查詢方式讀寄存器允許讀ISR

XESMMSMM01PRRRIS

0

OCW3A00X:無效10:讀IRR11:讀ISR1:查詢8259狀態(tài)字0:不查詢0X:無效10:特殊屏蔽方式復(fù)位11:特殊屏蔽方式置位A、查詢方式:可使CPU處于查詢方式,此時(shí)8259A不向CPU發(fā)INT信號(hào),CPU可根據(jù)需要隨時(shí)查詢中斷源。I----W2W1W0D7D6D5D4D3D2D1D0申請(qǐng)服務(wù)的最高優(yōu)先權(quán)等級(jí)編碼I=1:有中斷請(qǐng)求I=0:無中斷請(qǐng)求例:對(duì)8259編程,以查詢的方式判斷是否有中斷請(qǐng)求(地址為3A0H,3A1H)

X:MOVAL,00001100BMOVDX,3A0HOUTDX,AL;發(fā)查詢命令

INAL,DXTESTAL,80HJZXB、設(shè)置和撤消特殊屏蔽方式在執(zhí)行高級(jí)中斷服務(wù)程序中,希望開放低級(jí)中斷。方法:先用屏蔽命令(ICW1)將正在服務(wù)的中斷屏蔽,然后置位特定屏蔽方式命令ESMM=1、SMM=1(即OCW3的D6D5=11)。中斷服務(wù)完了,在撤銷屏蔽方式ESMM=1、SMM=0(OCW3的D6D5=10)C、設(shè)置對(duì)8259A內(nèi)部寄存器的讀出命令8259A內(nèi)部的3個(gè)寄存器IRR、ISR、IMR可供CPU讀取。IRR和ISR的讀取由OCW3確定。D0:RIS用于選擇被讀寄存器ISR或IRR。若要讀ISR,則RIS置1;若要讀IRR,則RIS置0。D1:讀寄存器允許,RIS的狀態(tài)僅在RR位為1時(shí)有效

例:對(duì)8259編程,讀取ISR的狀態(tài)(地址為3A0H,3A1H)

MOVAL,00001011BMOVDX,3A0HOUTDX,AL;發(fā)查詢命令

INAL,DX;讀ISR5.48259在微機(jī)系統(tǒng)中的應(yīng)用一、8259編程命令的使用1、兩類編程命令:送初始化命令字ICW和操作命令字OCW2、PC機(jī)中的操作:初始化由系統(tǒng)軟件來做,上電即完成,不允許用戶做初始化編程。用戶在PC機(jī)上開發(fā)中斷程序,不需要設(shè)置ICW,只需使用OCW1和OCW2開放/屏蔽中斷和發(fā)中斷結(jié)束命令。OCW3很少使用。二、8259A的初始化編程ICW1~ICW4:上電后,進(jìn)行初始化,必須嚴(yán)格按順序。OCW1~OCW3:可在任何時(shí)候?qū)懭?,且根?jù)要求單獨(dú)寫某一個(gè)OCW區(qū)分ICW1,OCW1,OCW2,OCW3PC機(jī)上8259的用法①共8級(jí)向量中斷,因?yàn)槭遣捎脝纹绞剑蔆AS2~CASo不用,SP/EN接+5V。②端口地址在020H-03F范圍內(nèi),實(shí)際使用020H和021H兩個(gè)端口。③8個(gè)中斷請(qǐng)求輸入信號(hào)IR0~IR7均為邊沿觸發(fā)。④采用完全嵌套方式,0級(jí)為最高優(yōu)先級(jí),7級(jí)為最低優(yōu)先級(jí)。⑤設(shè)定0級(jí)請(qǐng)求對(duì)應(yīng)中斷號(hào)為8,1級(jí)請(qǐng)求對(duì)應(yīng)中斷號(hào)為9,依次類推,直到7級(jí)請(qǐng)求中斷號(hào)為0FH

IR0IR1IR2IR3IR4IR5IR6IR7T/C0計(jì)時(shí)中斷鍵盤控制器中斷保留串行口2串行口1硬盤軟盤并行口1INTAINT主片口地址:20H21H單片INTRINTARDWRSP/EN+5V初始化編程INTA00EQU020H;8259A端口0INTA01EQU021H;8259A端口1MOVAL,13H;ICW1:邊沿觸發(fā)、單片、 ;要ICW4OUTINTA00,ALMOVAL,8;ICW2:中斷號(hào)的高5位OUTINTA01,

ALMOVAL,1;ICW4:全嵌套/16位機(jī)/非自動(dòng)結(jié)束OUTINTA01,

AL286以上PC機(jī)中8259的使用①共15級(jí)向量中斷,采用兩片級(jí)連,故CAS2~CAS0作互連線,從片的INT直接連到主片的IR2上。②端口地址,主片在020H~03F范圍內(nèi),實(shí)際使用020H和021H。從片在0A0~0BFH范圍,實(shí)際使用0A0H,0A1H兩個(gè)端口。③主、從片的中斷請(qǐng)求信號(hào)均采用邊沿觸發(fā)。④采用完全嵌套方式,優(yōu)先級(jí)的排列次序?yàn)?級(jí)最高,依次為1級(jí),8-15級(jí),然后是3-7級(jí)。⑤采用非緩沖方式,主片的SP/EN端接+5V,從片SP/EN端接地。⑥設(shè)定0級(jí)-7級(jí)對(duì)應(yīng)主片的中斷號(hào)為8H-OFH,8級(jí)-15級(jí)對(duì)應(yīng)從片的中斷號(hào)為70H-77H。

T/C0計(jì)時(shí)中斷鍵盤控制器中斷級(jí)聯(lián)中斷串行口2串行口1并行口2軟盤控制器并行口108090A0B0C0D0E0F

IR0IR1IR2IR3IR4IR5IR6IR77071727374757677INTAINTAINTAINTINTINTR主片從片口地址:20H21H口地址:A0HA1H雙片IR0IR1IR2IR3IR4IR5IR6IR7IR0IR1IR2IR3IR4IR5IR6IR7SP/ENSP/EN+5VGND初始化編程系統(tǒng)上電期間,分別對(duì)8259A的主片和從片進(jìn)行初始化的程序段如下:;初始化8259A主片

MOVAL,11H;ICW1:邊沿觸發(fā),多片,要ICW4 OUT20H,AL JMPSHORT$+2 MOVAL,8;ICW2:中斷類型號(hào)高5位

OUT21H,AL JMPSHORT$+2MOVAL,04H;主片的IR2接從片(S=1) OUT21H,AL JMPSHORT$+2

MOVAL,01H;ICW4:非緩沖,全嵌套 ;

16位的CPU,非自動(dòng)結(jié)束

OUT21H,AL;初始化8259A從片

MOVAL,11H;ICW1:邊沿觸發(fā),多片,要ICW4OUT0a0H,ALJMPSHORT$+2MOVAL,70H;ICW2:中斷號(hào)的高5位

OUT0a1H,ALJMPSHORT$+2MOVAL,02H;ICW3:從片接主片的IR2OUT0a1H,ALJMPSHORT$+2MOVAL,01H;ICW4:非緩沖,全嵌套,16 ;位的CPU,非自動(dòng)結(jié)束

OUT0a1H,AL

作業(yè)1假如某中斷類型號(hào)為20,中斷服務(wù)程序?yàn)镮NT_PROC,完成中斷服務(wù)入口的裝填。作業(yè)2描述8259級(jí)聯(lián)方式下中斷響應(yīng)過程。作業(yè)3描述由中斷類型號(hào)得到中斷服務(wù)程序入口的過程。作業(yè)4:給定SP=0100H、SS=0500H、PSW=0240H,在存儲(chǔ)單元中已有內(nèi)容為(00024H)=0060H,(00026H)=1000H,在段地址為0800H及偏移地址為00A0H的單元中,有一條中斷指令I(lǐng)NT9。試問執(zhí)行INT9指令后,SS、SP、IP、PSW的內(nèi)容是什么?棧頂?shù)娜齻€(gè)字是什么?在PC系統(tǒng)中編寫一個(gè)在PC上運(yùn)行的中斷處理程序,對(duì)輸入到IRQ7引腳的中斷請(qǐng)求次數(shù)進(jìn)行統(tǒng)計(jì)并在屏幕上顯示,計(jì)滿8次后返回DOS操作系統(tǒng)。

MOVAH,25HMOVAL,0FHMOVDX,SEGCNT MOVDS,DXMOVDX,OFFSETCNT INT21HINAL,21HANDAL,01111111BOUT21H,AMOVDL,31HAGAIN:STIHLTINCDLCMPDL,39HJNZAGAINMOVAX,4C00HINT21H

CNTPROCPUSHAXMOVAH,02HINT21HMOVAL,67HOUT20H,ALPOPAX

STIRETICNTENDP第六章存儲(chǔ)器接口6.1半導(dǎo)體存儲(chǔ)器6.2存儲(chǔ)器接口技術(shù)6.3主存儲(chǔ)器接口

一、存儲(chǔ)器分類按用途分類存儲(chǔ)器6.1半導(dǎo)體存儲(chǔ)器內(nèi)存儲(chǔ)器(主存):用來存放當(dāng)前運(yùn)行的程序數(shù)據(jù)外存儲(chǔ)器(輔存):存放暫時(shí)不運(yùn)行的程序數(shù)據(jù)主存:速度快,容量小,價(jià)格高輔存:速度慢,容量大,價(jià)格低

按存儲(chǔ)介質(zhì)分類存儲(chǔ)器光存儲(chǔ)器光盤磁表面存儲(chǔ)器半導(dǎo)體存儲(chǔ)器軟磁盤硬磁盤盒式錄音帶ROMRAM可編程PROM掩膜ROMPROMEPROMEAROM雙極型MOS型動(dòng)態(tài)RAM靜態(tài)RAM

ROM只讀存儲(chǔ)器只能讀,不能寫,斷電后信息不會(huì)丟失,屬非易性存儲(chǔ)器1、掩膜ROM:由生產(chǎn)廠商用掩膜技術(shù)將程序?qū)懭肫渲?,適用于大批量生產(chǎn)2、可編程ROM(PROM或OTP):由用戶自行寫入程序,一旦寫入,不能修改,適用于小批量生產(chǎn)3、可擦除可編程ROM(EPROM):可由用戶自行寫入寫入后,可用紫外線光照擦除重新寫新的程序,適用于科研4、電可擦除ROM(EEPROM):可用電信號(hào)擦除和重新寫入的存儲(chǔ)器,適用于斷電保護(hù)5、閃存(FlashMemory)電可擦除,反復(fù)使用,速度塊,靈活性好,集RAM和EEPROM優(yōu)點(diǎn)

RAM隨機(jī)存取存儲(chǔ)器既能讀,又能寫,斷電后信息會(huì)丟失,屬易失性存儲(chǔ)器RAM用于存放各種現(xiàn)場(chǎng)的輸入輸出程序,數(shù)據(jù),中間結(jié)果1、靜態(tài)RAM(SRAM):利用半導(dǎo)體觸發(fā)器兩個(gè)穩(wěn)定的狀態(tài)表示0或1

雙極型的SRAM:用晶體管觸發(fā)器作為記憶單元

MOS管的SRAM:由6個(gè)MOS管作為記憶單元雙極型速度快,MOS管速度慢,不需要刷新2、動(dòng)態(tài)RAM(DRAM):利用MOS管的柵極電容保存信息,即電荷的多少表示0和1。動(dòng)態(tài)RAM需要進(jìn)行刷新操作3、幾種新型的存儲(chǔ)器FIFO存儲(chǔ)器、閃速存儲(chǔ)器、雙端口RAM(1)FIFO存儲(chǔ)器的特點(diǎn)A、FIFO存儲(chǔ)器(FistInFirstOutMemory)是一個(gè)有兩個(gè)端口(輸入口和輸出口),并按先進(jìn)先出的順序來暫時(shí)存放數(shù)據(jù)的存儲(chǔ)器。B、輸入口和輸出口的工作彼此是獨(dú)立的。也就是說,只要當(dāng)前存放在FIFO中的數(shù)據(jù)字?jǐn)?shù)少于FIFO的容量,那么就可以繼續(xù)向FIFO中寫入數(shù)據(jù)存滿數(shù)據(jù)的時(shí)候,它會(huì)阻止繼續(xù)寫入數(shù)據(jù)。同樣,只要FIFO內(nèi)部還存有數(shù)據(jù),那么就可以繼續(xù)從FIFO中讀出數(shù)據(jù),當(dāng)FIFO中所有的數(shù)據(jù)被讀完時(shí),它就會(huì)禁止繼續(xù)讀出數(shù)據(jù)。(2)閃速存儲(chǔ)器的特點(diǎn):A、閃速存儲(chǔ)器(FlashMemory),一種新型的半導(dǎo)體存儲(chǔ)器,它具有可靠的非易失性、電擦除性以及低成本特性。B、可直接執(zhí)行,對(duì)于需要實(shí)施代碼或數(shù)據(jù)更新的嵌入性應(yīng)用是一種理想的存儲(chǔ)器。C、它在固有性能和成本方面有較明顯的優(yōu)勢(shì)。D、與EPROM只能通過紫光線照射實(shí)施擦除的特點(diǎn)不同,閃速存儲(chǔ)器可實(shí)現(xiàn)大規(guī)模電擦除,閃速存儲(chǔ)器的擦除功能可迅速清除整個(gè)器件中所有內(nèi)容。E、從功能上講,由于其隨機(jī)存取的特點(diǎn)閃速存儲(chǔ)器也可看作是一種非易失的RAM。兼E2PROM與RAM的特點(diǎn)于一身,同時(shí)又優(yōu)于E2PROM和RAM。F、經(jīng)濟(jì)的高密度,Intel的1M位閃速存儲(chǔ)器的成本按每位計(jì)要比靜態(tài)RAM低一半以上(不包括靜態(tài)RAM電池的額外花費(fèi)和占用空間)。(3)雙端口RAM

在數(shù)據(jù)采集、實(shí)時(shí)控制等微機(jī)應(yīng)用系統(tǒng)中,常常采用多個(gè)CPU并行工作的方式,即兩個(gè)(或多個(gè))CPU同時(shí)工作,處理不同的任務(wù),這樣,利用CMOS/BiCMOS技術(shù),許多廠家生產(chǎn)了多端口RAM產(chǎn)品,如雙端口、四端口的單片RAM器件等。特點(diǎn):A、雙端口RAM的兩個(gè)端口被分別獨(dú)立地控制,即它們的控制信號(hào)、地址I/O引線都是彼此獨(dú)立的,通過這兩個(gè)完全獨(dú)立的端口,可以分別對(duì)任何一個(gè)存儲(chǔ)單元進(jìn)行讀寫操作。B、可進(jìn)行數(shù)據(jù)總線寬度擴(kuò)展,可完全異步操作C、廣泛應(yīng)用在多數(shù)據(jù)總線或多處理器系統(tǒng)中,實(shí)現(xiàn)數(shù)據(jù)共享。D、控制邏輯簡單,每個(gè)處理器都可以完全獨(dú)立地把雙端口RAM看作是本地RAM一樣進(jìn)行訪問,不僅方便了軟件設(shè)計(jì),還大大地提高了系統(tǒng)的工作效率。

二、存儲(chǔ)器的主要性能指標(biāo)1、存儲(chǔ)容量:一個(gè)基本存儲(chǔ)器能匯集的最大信息量存儲(chǔ)器的容量=地址寄存器的編址數(shù)*存儲(chǔ)字的位數(shù)2、存儲(chǔ)速度存取時(shí)間TA:從存儲(chǔ)器接到讀或?qū)懨畹綇拇鎯?chǔ)器讀出或?qū)懭氲臅r(shí)間稱為存儲(chǔ)時(shí)間存儲(chǔ)周期TM:兩個(gè)獨(dú)立存儲(chǔ)操作之間的最小時(shí)間間隔3、價(jià)格:存儲(chǔ)器的價(jià)格正比于容量,反比于存儲(chǔ)時(shí)間4、存儲(chǔ)器的可靠性MTBF越大,可靠性越高三、存儲(chǔ)芯片組成1.存儲(chǔ)體:大量記憶二進(jìn)制信息的存儲(chǔ)單元有規(guī)則的結(jié)合。排列方式可分為字結(jié)構(gòu)方式和位結(jié)構(gòu)方式。(1)字結(jié)構(gòu)方式:是指將芯片上所有存儲(chǔ)元排列成不同的存儲(chǔ)單元,每個(gè)單元一個(gè)字,每個(gè)字的各位在同一個(gè)芯片內(nèi)。例如1KX8位的芯片。(2)位結(jié)構(gòu)方式:是指將芯片上所有存儲(chǔ)元排列成不同的存儲(chǔ)單元,每個(gè)單元一位,即將所有存儲(chǔ)元列成不同字的同一位,例如8KXl位的芯片。

大量芯片采用兩種方式相結(jié)合,例如2KX4

2.地址譯碼器:接受地址信息經(jīng)譯碼選中相應(yīng)單元地址譯碼3.讀寫控制電路:接受CPU控制信息,決定存儲(chǔ)器操作控制4.數(shù)據(jù)緩沖器:寄存來自CPU的寫入數(shù)據(jù)或存儲(chǔ)體內(nèi)讀出數(shù)據(jù)

片選信號(hào):表示存儲(chǔ)器是否工作讀信號(hào):表示存儲(chǔ)器的操作為讀操作寫操作:表示存儲(chǔ)器的操作為寫操作一唯譯碼:每一字選線選中存儲(chǔ)單元二唯譯碼:X,Y譯碼,X,Y相交處選中一單元6.2存儲(chǔ)器接口技術(shù)存儲(chǔ)器接口中應(yīng)考慮的幾個(gè)問題存儲(chǔ)器與CPU的時(shí)序問題CPU總線負(fù)載能力存儲(chǔ)器芯片的選擇一、存儲(chǔ)器接口中應(yīng)考慮的問題1、存儲(chǔ)器與CPU的時(shí)序配合幾個(gè)問題:(1)什么是總線周期?(2)什么是時(shí)鐘周期?(3)如何實(shí)現(xiàn)二者之間的時(shí)序配合?(4)設(shè)計(jì)產(chǎn)生等待信號(hào)電路應(yīng)注意那些問題2、CPU總線負(fù)載能力3、存儲(chǔ)器芯片的選用二、存儲(chǔ)器地址譯碼方法1、什么是尋址?存儲(chǔ)器與CPU地址總線連接時(shí),要根據(jù)內(nèi)存地址分配連接,以實(shí)現(xiàn)CPU在某一時(shí)刻只能唯一選中某一個(gè)內(nèi)存地址單元,稱為尋址。2、如何完成尋址功能?要完成尋址功能必須具備兩種選擇:(1)片選:即首先要從眾多存儲(chǔ)器中,選中要進(jìn)行數(shù)據(jù)傳輸?shù)哪骋淮鎯?chǔ)器芯片,稱為片選。一般由接口電路中的端口譯碼產(chǎn)生。(2)字選:然后從該芯片內(nèi)選擇出某一存儲(chǔ)單元,稱為字選。由存儲(chǔ)器內(nèi)部的譯碼電路完成。3、片選控制的譯碼方法常用方法有:線選法、全譯碼法、部分譯碼法、混合譯碼法等。

(1)線選法:用高位地址直接作為存儲(chǔ)芯片的片選信號(hào),每一根選通一塊芯片,這種方法稱線選法。例:假定某微機(jī)系統(tǒng)的存儲(chǔ)容量為4KB,CPU尋址空間為64KB(即地址總線為16位),芯片容量為1KB(即片內(nèi)地址為10位)。

1KBCS11KBCS11KBCS11KBCS1A10A11A12A13A0~A9

第一塊芯片A10為1時(shí)選中第二塊芯片A11為1時(shí)選中第三塊芯片A12為1時(shí)選中第四塊芯片A13為1時(shí)選中適用:存儲(chǔ)器容量不大,所使用的存儲(chǔ)芯片數(shù)量不多,而CPU尋址空間遠(yuǎn)遠(yuǎn)大于存儲(chǔ)器容量時(shí)的場(chǎng)合。線選法特點(diǎn):優(yōu)點(diǎn)是連線簡單,片選控制無需專門的譯碼電路。兩個(gè)缺點(diǎn),一是導(dǎo)至地址重疊,二是整個(gè)存儲(chǔ)器地址分布不連續(xù),使可尋址范圍減小。給編程帶來麻煩。

用A13或A14作片選A0~A12A0~A12A0~A12A0~A12CS6264CS6264(A14)A13M/IOD0~D7D0~D7D0~D7D0~D7

用A13作片選,其地址分布1#2#1#2#00000H~01FFFH02000H~03FFFH04000H~05FFFH06000H~07FFFH

用A14作片選,其地址分布1#1#2#2#00000H~01FFFH02000H~03FFFH04000H~05FFFH06000H~07FFFH

(2)全地址譯碼:除了將低位地址總線直接與各芯片的地址線相連接之外,其余高位地址總線全部經(jīng)譯碼后作為各芯片的片選信號(hào)。例:CPU地址總線為16位,存儲(chǔ)芯片容量為8KB,采用全地址譯碼設(shè)計(jì)64KB存儲(chǔ)器

8KBCS8KBCS8KBCSY0Y1Y73:8譯碼器A13~A15A0~A12(1)(2)(8)

特點(diǎn):全譯碼法可以提供對(duì)全部存儲(chǔ)空間的尋址能力,存儲(chǔ)器的地址是連續(xù)且唯一確定的,即無地址間斷和地址重疊現(xiàn)象。電路較復(fù)雜,特別是地址范圍較大時(shí)

(3)部分地址譯碼:是將高位地址線中的一部分進(jìn)行譯碼,產(chǎn)生片選信號(hào)。例:CPU地址總線為16位,存儲(chǔ)器由4片容量為8KB的芯片構(gòu)成,采用部分譯碼法進(jìn)行地址譯碼

8KBCS8KBCS8KBCSY0Y1Y32:4譯碼器A13~A14A0~A12(1)(2)(4)A15空閑

雖然仍有地址重疊現(xiàn)象,但不會(huì)出現(xiàn)兩塊芯片地址同時(shí)選中。在大地址空間設(shè)計(jì)小容量存儲(chǔ)器,常采用這種方式,電路簡單。

(4)混合地址譯碼:一部分采用部分譯碼,一部分采用線選譯碼例:當(dāng)CPU地址總線為16位,存儲(chǔ)器由10片容量為2KB的芯片構(gòu)成,使用混合譯碼法實(shí)現(xiàn)地址譯碼

2KBCS(1)2KBCS(2)2KBCS(8)2KBCS(9)2KBCS(10)Y0Y1Y73-8譯碼器A11~A13A14A15A0~A10

特點(diǎn):該方法將用于片選控制的高位地址分為兩組,其中一組的地址(通常為較低位)采用部分譯碼法,經(jīng)譯碼后的每一個(gè)輸出作為一塊芯片的片選信號(hào);另一組地址(通常為較高位)則采用線選法,每一位地址線作為一塊芯片均片選信號(hào)。4、地址譯碼電路的設(shè)計(jì)存儲(chǔ)器地址譯碼電路的設(shè)計(jì)一般遵循如下步驟:①根據(jù)系統(tǒng)中實(shí)際存儲(chǔ)器容量,確定存儲(chǔ)器在整個(gè)尋址空間中的位置;②根據(jù)所選用存儲(chǔ)芯片的容量,畫出地址分配圖或列出地址分配表;③根據(jù)地址分配圖或分配表確定譯碼方法并畫出相應(yīng)的地址位圖;④選用合適器件,畫出譯碼電路圖。

某系統(tǒng)地址總線為16位,實(shí)際存儲(chǔ)器容量為16KB,ROM區(qū)和RAM區(qū)各占8KB,其中ROM區(qū)采用容量為2KB的EPROM芯片,RAM區(qū)采用容量為1KB的靜態(tài)芯片,設(shè)計(jì)存儲(chǔ)器的地址譯碼電路.

選片確定芯片數(shù)目EPROM2KB4片,RAM1KB8片確定各芯片的地址芯片號(hào)類型容量地址范圍1ROM2KB0000~07FFH2ROM2KB0800~0FFFH3ROM2KB1000~17FFH4ROM2KB1800~1FFFH

芯片號(hào)類型和容量地址范圍1RAM1KB2000~23FFH2RAM1KB2400~27FFH3RAM1KB2800~2BFFH4RAM1KB2C00~2FFFH5RAM1KB3000~33FFH6RAM1KB3400~37FFH7RAM1KB3800~3BFFH8RAM1KB3C00~3FFFH

≥1≥1≥1≥1≥1≥1≥1≥11ABCG2AG2BG1A14A15+5VA11A12A13A10(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)去4片EPROM去8片RAMY0Y774LS138

存儲(chǔ)器與控制總線、數(shù)據(jù)總線的連接存儲(chǔ)器與控制總線的連接用CPU的讀、寫信號(hào)控制存儲(chǔ)器的讀、寫存儲(chǔ)器與數(shù)據(jù)線連接根據(jù)CPU的數(shù)據(jù)線的寬度和選用的存儲(chǔ)器的寬度決定幾個(gè)存儲(chǔ)器同時(shí)工作6.3主存儲(chǔ)器接口主存儲(chǔ)器的類型不同,則接口不同。以EPROM、SRAM、DRAM為例分別介紹。一、EPROM與CPU的接口EPROM的實(shí)例276427162K*8地址線A0~A1213根27324K*8數(shù)據(jù)線D0~D78根27648K*8片選CS2712816K*8讀允許OE2725632K*8編程脈沖PGM2751264K*8編程電壓VPP

電源電壓VCC

2764的工作模式信號(hào)VCCVPPCEOEPGMD7~D0讀方式+5V+5V低低低輸出編程方式+5V+25V高高正脈沖輸入校驗(yàn)方式+5V+25V低低低輸出備用方式+5V+5V無關(guān)無關(guān)高高阻未選中+5V+5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論