版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理與接口技術(第3版)6半導體存儲器概述隨機讀/寫存儲器只讀存儲器例題解析虛擬存儲器Intel80x86內存管理模式6.1.1存儲器的分類
一個雙穩(wěn)態(tài)半導體電路、一個CMOS晶體管或磁性材料的存儲元,均可以存儲一位二進制代碼。這個二進制代碼位是存儲器中最小的存儲單位,稱為一個存儲位或存儲元。由若干個存儲元組成一個存儲單元,多個存儲單元組成一個存儲器。6.1概述
根據(jù)存儲器的存儲介質的性能及使用方法的不同,可以從不同的角度對存儲器進行分類。1.按存儲介質分類
存儲介質是指能寄存“0”、“1”兩種代碼并能區(qū)別兩種狀態(tài)的物質或元器件。存儲介質主要有半導體器件、磁性材料和光盤等。⑴半導體存儲器
優(yōu)點是體積小、功耗低、存取時間短。
缺點是當切斷電源時,所存信息也隨即丟失,它是一種易失性存儲器。6.1概述⑵磁表面存儲器磁表面存儲器是在金屬或塑料基體的表面上涂一層磁性材料作為記錄介質,工作時磁層隨載磁體高速運轉,用磁頭在磁層上進行讀/寫操作,故稱為磁表面存儲器。
特點:具有非易失性的。⑶光盤存儲器
光盤存儲器是應用激光在記錄介質(磁光材料)上進行讀/寫的存儲器。
特點:具有非易失性、記錄密度高、耐用性好、可靠性高和可互換性強。6.1概述2.按存取方式分類⑴隨機存儲器
隨機存儲器(RandomAccessMemory,RAM)是一種可讀/寫存儲器,其特點是存儲器的任何一個存儲單元的內容都可以隨機存取,而且存取時間與存儲單元的物理位置無關。隨機存儲器又分為靜態(tài)隨機存儲器(StaticRAM,SRAM)和動態(tài)隨機存儲器(DynamicRAM,DRAM)。⑵只讀存儲器只讀存儲器(ReadOnlyMemory,ROM)是只能對其存儲的內容讀出,而不能對其重新寫入的存儲器。6.1概述3.按存取順序分類分為串行訪問存儲器和直接存取存儲器。
串行訪問存儲器:如果對存儲單元進行讀/寫操作時,需按其物理位置的先后順序尋找地址,則這種存儲器叫做串行訪問存儲器(順序存儲器)。還有部分串行訪問的存儲器,如磁盤。在對磁盤讀/寫時,首先直接指出該存儲器中的某個小區(qū)域(磁道),然后再順序尋訪,直至找到位置。故其前段是直接訪問,后段是串行訪問。6.1概述
按作用不同,存儲器又可分為主存儲器、輔助存儲器和緩沖存儲器。存儲器的分類如圖6.1所示。6.1概述圖6.1存儲器的分類6.1.2存儲器的性能指標1.存儲器容量
指的是存儲器所能容納的最大字存儲位數(shù)。由于存儲容量一般都很大,因此常以KB、MB或GB為單位。計算方式:
存儲器芯片容量=單元數(shù)×位數(shù)2.存取周期指實現(xiàn)一次完整的讀出或寫入數(shù)據(jù)的時間,是存儲器連續(xù)啟動兩次讀或寫操作所允許的最短時間間隔。計算機的運行速度與存儲器的存取周期有著直接的關系,因此它是存儲器的一項重要參數(shù)。6.1概述3.功耗半導體存儲器屬于大規(guī)模集成電路,集成度高、體積小,但是不易散熱,因此在保證速度的前提下應盡量減小功耗。4.可靠性指存儲器對電磁場、溫度變化等因素造成干擾的抵抗能力(電磁兼容性),以及在高速使用時也能正確地存?。▌討B(tài)可靠性)。5.集成度指在一塊數(shù)平方毫米芯片上所制作的基本存儲單元數(shù),常以“位/片”表示,也可以用“字節(jié)/片”表示。6.其他。還應考慮輸入、輸出電平是否與外電路兼容,對CPU總線負載能力的要求,使用是否方便靈活以及成本價格等。6.1概述6.1.3存儲器的分級結構目前通常采用多級存儲器體系結構,如圖6.2所示。6.1概述圖6.2存儲系統(tǒng)的分級結構6.2.1靜態(tài)MOS存儲器1.基本存儲元
基本存儲元是組成存儲器的基礎和核心,它用來存儲1位二進制信息。靜態(tài)存儲器的基本存儲元電路如圖6.3所示。6.2隨機讀/寫存儲器圖6.3靜態(tài)存儲器存儲元電路2.SRAM的組成
SRAM存儲體是一個由64×64=4096個六管靜態(tài)存儲電路組成的存儲矩陣,結構圖如圖6.4所示6.2隨機讀/寫存儲器圖6.4
SRAM存儲體結構圖3.SRAM的讀/寫過程⑴讀出過程①地址碼A0~A11加到RAM芯片的地址輸入端,經(jīng)X與Y地址譯碼器譯碼,產(chǎn)生行選與列選信號,選中某一存儲單元,該單元中存儲的代碼,經(jīng)一定時間,出現(xiàn)在I/O電路的輸入端。I/O電路對讀出的信號進行放大、整形,送至輸出緩沖寄存器。②在送上地址碼的同時,還要送上讀/寫控制信號(R/或、)和片選信號()。6.2隨機讀/寫存儲器⑵寫入過程①地址碼加在RAM芯片的地址輸入端,選中相應的存儲單元,使其可以進行寫操作。②將要寫入的數(shù)據(jù)放在DB上。③加上片選信號=0及寫入信號R/=0。這兩個有效控制信號打開三態(tài)門使DB上的數(shù)據(jù)進入輸入電路,送到存儲單元的位線上,從而寫入該存儲單元。6.2隨機讀/寫存儲器4.SRAM芯片舉例⑴Intel2114存儲器芯片(1K×4位)其內部結構如圖6.6所示,芯片的引腳圖如圖6.7所示。6.2隨機讀/寫存儲器圖6.7
2114引腳圖圖6.6
2114內部結構圖⑵Intel6264存儲器芯片(8K×8位)其內部主要包括512×128的存儲器矩陣、行/列地址譯碼器以及數(shù)據(jù)輸入/輸出控制邏輯電路,工作方式如表6.1所示。表6.16264工作方式表6.2隨機讀/寫存儲器方式功能000禁止不允許和同時為低電平010讀出數(shù)據(jù)讀出001寫入數(shù)據(jù)寫入011選通芯片選通,輸出高阻態(tài)1××未選通芯片未選通6.2隨機讀/寫存儲器6264內部結構如圖6.8所示,芯片的引腳圖如圖6.9所示。圖6.9
6264引腳圖圖6.8
6264內部結構圖5.SRAM與CPU的連接同CPU連接時,要完成地址線、數(shù)據(jù)線和控制線的連接。⑴位擴展法:只加大字長,而存儲器的字數(shù)與存儲器芯片字數(shù)一致。假定使用8K×1的RAM存儲器芯片,那么組成8K×8位的存儲器可采用如圖6.10所示。6.2隨機讀/寫存儲器圖6.10
位擴展連接圖⑵字擴展法:僅在字數(shù)擴充,而位數(shù)不變。將芯片的低位地址線、數(shù)據(jù)線、讀/寫控制線并聯(lián),由片選信號來區(qū)分各片地址,片選信號端連接到選片譯碼器的輸出端。用16K×8位的芯片采用字擴展法組成64K×8位的存儲器連接圖如圖6.11所示。6.2隨機讀/寫存儲器圖6.11
字擴展連接圖地址空間分配表如表6.2所示。6.2隨機讀/寫存儲器地址片號片外A15A14片內A13A12A11…A1A0說明10000000…00111…11最低地址最高地址20101000…00111…11最低地址最高地址31010000…00111…11最低地址最高地址41111000…00111…11最低地址最高地址表6.2
字擴展地址分配表⑶字位同時擴展法
一個存儲器的容量假定為M×N位,若使用1×k位的芯片(1<M,k<N),則需要在字數(shù)和位數(shù)同時進行擴展。此時共需要(M/1)×(N/k)個存儲器芯片。⑷靜態(tài)隨機存取存儲器的連接舉例在64KB的地址空間中,用8片2114構成4K×8,即4KB存儲區(qū)的全譯碼法連接方案:其地址范圍為2000H~2FFFH。連接圖如圖6.12所示。6.2隨機讀/寫存儲器6.2隨機讀/寫存儲器圖6.12
字、位擴展連接圖6.2.2動態(tài)MOS存儲器1.單管動態(tài)存儲元:由一個MOS管子T1和一個電容C構成,電路如圖6.13所示。由單管動態(tài)存儲元組成的存儲體矩陣如圖6.14所示。6.2隨機讀/寫存儲器圖6.13
動態(tài)存儲元電路圖圖6.14動態(tài)存儲元存儲體矩陣2.DRAM的刷新和DRAM控制器最常用刷新的方法的是“只有行地址有效”的方法。在刷新時限2ms中對DRAM芯片中所有行刷新一遍,可以實現(xiàn)全面刷新。為了實現(xiàn)刷新,DRAM控制器具有如下功能:⑴時序功能DRAM控制器需要按固定的時序提供行地址選通信號RAS,為此,用一個計數(shù)器產(chǎn)生刷新地址,同時用一個刷新定時器產(chǎn)生刷新請求信號,以此啟動一個刷新周期,刷新地址和刷新請求信號聯(lián)合產(chǎn)生行地址選通信號RAS,每刷新一行,就產(chǎn)生下一個行地址選通信號。6.2隨機讀/寫存儲器⑵地址處理功能DRAM控制器一方面要在刷新周期中順序提供行地址,以保證在2ms中使所有的DRAM單元都被刷新一次;另一方面,要用一個多路開關對地址進行切換,刷新時只是來自刷新地址計數(shù)器的行地址而沒有列地址,總線地址則被封鎖。⑶仲裁功能當來自CPU對內存的正常讀/寫請求和來自刷新電路的刷新請求同時出現(xiàn)時,仲裁電路要作出仲裁,原則上,CPU的讀/寫請求優(yōu)先于刷新請求。6.2隨機讀/寫存儲器DRAM控制器的原理圖如圖6.15所示。6.2隨機讀/寫存儲器圖6.15DRAM控制器原理圖3.動態(tài)隨機存取存儲器舉例動態(tài)存儲器常作為微型計算機的主存儲器。目前常用的有4164、41256、41464以及414256等類型,其存儲容量分別為64K×1、256K×1、64K×4和256K×4。414256需要每8ms刷新一次。刷新時通過在512個行地址間按順序循環(huán)進行,可以分散刷新,也可以連續(xù)刷新。分散刷新也稱為分布刷新,是指每15.6μs刷新一行;連續(xù)刷新也稱猝發(fā)方式刷新,它是對512行集中刷新。MCM414256必須每8ms進行一次快速刷新,MCM41M256每64ms進行一次快速刷新。414256的內部組成如圖6.16所示。6.2隨機讀/寫存儲器6.2隨機讀/寫存儲器圖6.16414256的內部組成4.高集成度DRAM容量為1M×1、1M×4、4M×1以及更高集成度的存儲器芯片已大量使用。通常把這些芯片放在內存條上,用戶只需把內存條插到系統(tǒng)板上提供的存儲條插座上即可使用。例如有256K×8、1M×8、256K×9、1M×9(9位時有一位為奇偶校驗位)及更高集成度的存儲條。6.2隨機讀/寫存儲器6.2隨機讀/寫存儲器圖6.17是采用HYM59256A的存儲條。圖6.17
59256存儲條
只讀存儲器(ROM)的信息在使用時是不能被改變的,即只能讀出,不能寫入,故一般只能存放固定程序,如監(jiān)控程序、IBMPC中的BIOS程序等。只讀存儲器可分為:掩膜只讀存儲器、可編程只讀存儲器(ProgrammableROM,PROM)、可擦可編程只讀存儲器(ErasableProgrammableROM,EPROM)、電可擦可編程只讀存儲器(ElectricallyErasableProgrammableROM,EEPROM)以及快擦型存儲器(FlashMemory)。6.3只讀存儲器
6.3.1掩膜只讀存儲器圖6.18為一個簡單的4×4位MOS管ROM,在行和列的交點處,有的連有管子,有的沒有,這是由工廠根據(jù)用戶提供的程序對芯片圖形(掩膜)進行二次光刻所決定的,所以稱為掩膜ROM。6.3只讀存儲器圖6.18
掩膜ROM存儲圖圖6.18存儲矩陣的內容如表6.4所示。6.3只讀存儲器表6.4
存儲矩陣內容表6.3.2可擦可編程只讀存儲器類存儲器可利用專門的擦除器(由紫外線燈照射)將其擦除,各字節(jié)內容復原(為FFH),再根據(jù)需要利用EPROM編程器寫入新的數(shù)據(jù),因此這種芯片可反復使用。1.EPROM的存儲單元電路EPROM存儲電路如圖6.19所示。6.3只讀存儲器圖6.19
可擦可編程ROM存儲圖2.典型EPROM芯片介紹(Intel2764A)
2764功能框圖如圖6.20所示。6.3只讀存儲器圖6.20
2764功能圖Intel2764A有7種工作方式,如表6.5所示。6.3只讀存儲器A9A0VPPVCC數(shù)據(jù)端功能讀低低高××VCC5V數(shù)據(jù)輸出輸出禁止低高高××VCC5V高阻備用高××××VCC5V高阻編程低高低××12.5VVCC數(shù)據(jù)輸入校驗低低高××12.5VVCC數(shù)據(jù)輸出編程禁止高××××12.5VVCC高阻標識符低低高高低高VCCVCC5V5V制造商編碼器件編碼表6.5
2764工作方式表3.高集成度EPROM除了常用的EPROM2764外,27128、27256、27512等也是常用的EPROM芯片。由于工業(yè)控制計算機的發(fā)展,迫切需用電子盤取代硬盤,常把用戶程序、操作系統(tǒng)固化在電子盤(ROMDISK)上,這時要用27C010(128K×8)、27C020(256K×8)、27C040(512K×8)等大容量芯片。6.3只讀存儲器6.3.3電可擦可編程存儲器1.2816的基本特點(2K×8位)
6.3只讀存儲器圖6.232816邏輯符號圖2.2816的工作方式有6種工作方式,每種工作方式下各個控制信號所需電平如表6.6所示。6.3只讀存儲器
管腳方式VPP(V)數(shù)據(jù)線功能讀方式低低+4~+6輸出備用方式高×+4~+6高阻字節(jié)擦除低高+21輸入為高電平字節(jié)寫低高+21輸入片擦除低+9~+15V+21輸入為高電平擦寫禁止高×+21高阻表6.6
2816工作方式表⑴讀方式在讀方式時,允許CPU讀取2816的數(shù)據(jù)。⑵寫方式2816具有以字節(jié)為單位的擦寫功能,擦除和寫入是同一種操作,即都是寫,只不過擦除是固定寫“1”而已。因此,在擦除時,數(shù)據(jù)輸入是TTL高電平。⑶片擦除方式在2816需整片擦除時,也可按字節(jié)擦除方式將整片2KB逐個進行。6.3只讀存儲器3.2817AEEPROM(2K×8位)2817A的特點是片內具有防寫保護單元,適于現(xiàn)場修改參數(shù)。2817A引腳如圖6.24所示。6.3只讀存儲器圖6.242817A引腳圖
2817A讀取時間為200ns,數(shù)據(jù)保存時間接近十年,每個單元允許擦寫104次。2817A的工作方式如表6.7所示。6.3只讀存儲器引腳方式數(shù)據(jù)線功能讀低低高高阻輸出維持高無關無關高阻高阻字節(jié)寫入低高低低輸入字節(jié)擦除字節(jié)寫入前自動擦除表6.7
2817A工作方式表6.3.4快擦寫存儲器主要有以下3類。1.整體擦除快擦寫存儲器除了一般只讀存儲器所具備的地址鎖存器/譯碼器、片選電路、數(shù)據(jù)鎖存器、輸入/輸出緩沖器和讀控制電路之外,存儲器陣列采用的是快擦寫存儲器電路,另外有擦除電壓開關、編程電壓開關、命令寄存器、停止定時器以及狀態(tài)控制電路等。其中,命令寄存器用來寫入命令字以及執(zhí)行該命令所需要的地址和數(shù)據(jù)。主要型號有28F010、28F020、28F256和28F512。6.3只讀存儲器2.對稱型塊結構快擦寫存儲器把存儲器陣列劃分成大小相等的存儲塊,每塊可以獨立地被擦除或者編程。擦除時可以擦除其中的任意一塊。主要型號有28F008SA、28F016SA和28F032SA等。3.帶自舉塊快擦寫存儲器是在塊結構的基礎上增加了自舉塊,自舉塊用來存儲自舉程序。自舉塊具有數(shù)據(jù)保護特性,以在臨界應用中保護自舉程序代碼。主要型號有28F400BX和28F004BX等。注意:ROM、FLASH存儲器與CPU的連接、設計原則同SRAM。6.3只讀存儲器
虛擬存儲器只是一個容量非常大的存儲器的邏輯模型,不是任何實際的物理存儲器。它借助于磁盤等輔助存儲器來擴大主存容量,使之為更大或更多的程序所使用。虛擬存儲器工作于主存-外存層次,它以透明的方式為用戶提供了一個比實際主存空間大得多的程序地址空間。
物理地址是實際的主存單元地址,由CPU地址引腳送出,是用于訪問主存的。設CPU地址總線的寬度為m位,則物理地址空間的大小就是2m。
虛擬地址是用戶編程時使用的地址,由編譯程序生成,是程序的邏輯地址。其地址空間的大小受到輔助存儲器容量的限制。顯然,虛擬地址要比實際地址大得多。程序的邏輯地址空間稱為虛擬地址空間。6.4虛擬存儲器
根據(jù)地址格式的不同,虛擬存儲器可分成頁式虛擬存儲器、段式虛擬存儲器和段頁式虛擬存儲器3種。頁式虛擬存儲器:以定長的頁為基本信息傳送單位,主存的物理空間也被分成等長的頁,每一頁等長的區(qū)域稱為頁面,頁面在主存中的位置是固定的。段式虛擬存儲器:對主存按段分配和管理。段是利用程序的模塊化性質,按照程序的邏輯結構劃分成多個相對獨立的部分,如過程、數(shù)據(jù)表、陣列等。段頁式存儲管理:是結合兩者優(yōu)點的一種方案。它把整個存儲器分成若干個段,每段又分成若干頁,每頁包含若干個存儲單元。程序按模塊分段管理,進入主存仍以頁為基本信息傳送單位。6.4虛擬存儲器
從Intel80386開始,Intel80x86CPU有三種工作模式:實地址模式、保護模式、和虛擬8086模式。6.5.1實模式存儲管理
實地址模式是最基本的工作模式。Intel8086CPU只運行在實地址模式下,Intel80386之后的CPU在計算機在剛剛啟動的時候運行在實模式下,等到操作系統(tǒng)運行起來之后就切換到保護模式。實模式只能訪問地址在1MB以下的常規(guī)內存,1MB以上的內存稱為擴展內存。6.5Intel80x86內存管理模式
6.5.2保護模式存儲管理在程序運行過程中,為了避免應用程序破壞系統(tǒng)程序、或破壞其他應用程序、或錯誤地把數(shù)據(jù)當做程序運行,所采取的措施稱之為“保護”。保護模式的特點是引入了虛擬存儲器的概念。Intel80386CPU有32根地址線,當工作在保護模式時,全部32位地址線有效,可尋址高達4GB的物理地址空間。保護模式采用分段分頁的虛擬存儲器機制,使用46位虛擬地址,虛擬地址空間最大可達64TB。用戶在程序中所使用的地址都是由“段選擇符”和“偏移量”組成的邏輯地址,程序在系統(tǒng)中運行時,由存儲管理機制把邏輯地址轉換成物理地址。6.5Intel80x86內存管理模式
Intel80386CPU集成存儲管理部件(MemoryManagementUnit,MMU),MMU采用了分段機制和分頁機制以實現(xiàn)兩級“虛擬-物理”地址轉換,如圖6.25所示。6.5Intel80x86內存管理模式分段機制分頁機制D31D0D31D0D31D0物理地址邏輯地址線性地址偏移量...D15D0選擇符圖6.25
“虛擬-物理”地址轉換圖
6.5.3虛擬8086模式存儲管理虛擬8086模式是保護模式下的一種工作方式。在虛擬8086模式下,處理器類似于8086,尋址的地址空間是1MB,段寄存器的內容作為段地址解釋,20位存儲單元地址由段地址×16+偏移地址構成。但虛擬8086模式的工作原理與保護模式相同,通過使用分頁功能,把虛擬8086模式下的1MB地址空間映射到80386的4GB物理空間中的任何位置。6.5Intel80x86內存管理模式微機原理與接口技術(第3版)7輸入輸出技術輸入/輸出系統(tǒng)概述程序控制方式中斷方式例題解析直接存儲器存取7.1.1輸入/輸出接口
1.接口電路主機對性能各異的外設進行控制,與它們交換信息,在主機與外設間設置一組電路界面,將CPU系統(tǒng)總線發(fā)出的控制信號、數(shù)據(jù)信號和地址信號轉換成外設所能識別和執(zhí)行的具體命令,而將外設發(fā)送給CPU的數(shù)據(jù)和狀態(tài)信息轉換成系統(tǒng)總線所能接受的信息,傳送給CPU。這就是輸入/輸出接口電路,簡稱I/O接口,也稱適配器。7.1輸入/輸出系統(tǒng)概述
I/O接口電路位于主機和外圍設備之間,起著“轉換器”的作用,協(xié)助完成輸入/輸出過程中的數(shù)據(jù)傳送和控制任務。I/O接口通過系統(tǒng)總線連接主機和外設,如圖7.1所示。主機設備控制器外圍設備I/O接口控制線數(shù)據(jù)線地址線……圖7.1外圍設備的連接7.1輸入/輸出系統(tǒng)概述2.接口電路分類
⑴按接口電路的通用性:可以分為專用接口和通用接口。
專用接口:是指針對某一種具體的外圍設備而設計的接口電路。
通用接口:是可供多種外圍設備使用的標準接口。⑵按數(shù)據(jù)傳送格式:可以分為并行接口和串行接口。
并行接口:是指接口與系統(tǒng)總線之間,接口與外圍設備之間,都按并行方式傳送數(shù)據(jù)。
串行接口:是指接口與外圍設備之間用串行方式傳送數(shù)據(jù),但與系統(tǒng)總線之間仍按并行方式傳送數(shù)據(jù)。7.1輸入/輸出系統(tǒng)概述⑶按接口是否可編程:可以分為可編程接口和不可編程接口??删幊探涌冢菏侵冈诓桓淖兘涌谟布那闆r下,可通過編程修改接口的操作參數(shù),改變接口的工作方式和工作狀態(tài),從而提高接口功能的靈活性。不可編程接口:是指接口的工作方式和工作狀態(tài)完全由接口硬件電路決定,用戶不可通過編程加以修改。⑷按時序控制方式:可以分為同步接口和異步接口。
同步接口:是指接口與系統(tǒng)總線之間信息的傳送,由統(tǒng)一的時序信號同步控制。異步接口:是指接口與系統(tǒng)總線之間、接口與外圍設備之間的信息傳送不受統(tǒng)一的時序信號控制,而由異步應答方式傳送。7.1輸入/輸出系統(tǒng)概述3.接口的基本功能⑴數(shù)據(jù)緩沖功能:為了調節(jié)外圍設備傳送信息的速度與CPU處理速度較大的差異,可以在接口電路中設置數(shù)據(jù)寄存器,實現(xiàn)對輸入/輸出數(shù)據(jù)的緩沖和鎖存。⑵聯(lián)絡功能:接口電路接收CPU發(fā)來的控制命令,將它轉換為外圍設備所需的操作命令。同時,針對外圍設備的不同情況,CPU應能根據(jù)當前外圍設備的狀態(tài),采取相應的措施,為此接口電路就要記錄外圍設備送入的工作狀態(tài)信息,供CPU查詢。7.1輸入/輸出系統(tǒng)概述
⑶尋址功能:CPU對接口電路的訪問,實際上就是對這些寄存器的訪問。I/O接口內部的寄存器稱為I/O端口,每個端口有一個端口地址。接口接收來自系統(tǒng)總線的尋址信息,經(jīng)過譯碼電路,選擇相應的寄存器,與總線進行信息交換。⑷預處理功能:系統(tǒng)總線采取并行傳送方式,如果是串行接口,那么接口就要完成數(shù)據(jù)的串—并轉換。另外,如果外圍設備與接口,接口與系統(tǒng)總線之間傳送的數(shù)據(jù)寬度、時序、負載不匹配,則接口要進行相應的匹配;如果外圍設備所用信號電平與系統(tǒng)總線不相同,則接口還要進行信號電平的轉換。7.1輸入/輸出系統(tǒng)概述
⑸中斷管理/DMA控制功能有些接口,為了能夠實現(xiàn)以中斷方式與CPU交換信息,或以DMA方式與存儲器交換信息,往往在接口電路中設置中斷控制邏輯或DMA控制邏輯,以便能夠向主機提出中斷請求或DMA請求,反過來,對主機給予的請求應答能得到立即響應,即提供相應的處理。7.1輸入/輸出系統(tǒng)概述4.接口電路的基本結構通用接口電路的一般結構圖如圖7.2所示。圖7.2接口電路結構圖7.1輸入/輸出系統(tǒng)概述
⑴I/O端口:是I/O接口電路中能被CPU直接訪問的寄存器的地址。包括三種端口:數(shù)據(jù)端口、狀態(tài)端口和控制端口。①數(shù)據(jù)端口對來自或者送往CPU和內存的數(shù)據(jù)起緩沖作用。數(shù)據(jù)輸出寄存器鎖存CPU送出的數(shù)據(jù)信息,以提供給外設;數(shù)據(jù)輸入寄存器暫存由外設傳遞給主機的數(shù)據(jù)信息。根據(jù)不同的需要,在接口電路中還可以設置不同的數(shù)據(jù)寄存器,從一個到幾十個不等。7.1輸入/輸出系統(tǒng)概述②狀態(tài)端口存放外圍設備或者接口部件本身的狀態(tài)。外設通過狀態(tài)寄存器存放向CPU提供的可查詢的外設狀態(tài)信息,CPU可通過數(shù)據(jù)線讀回,并根據(jù)外設的狀態(tài)信息采取相應措施。③控制端口存放CPU發(fā)出的命令,以便控制接口和設備的動作??刂萍拇嫫鹘邮諄碜訡PU的控制命令字,并將它們轉換為外設可識別的操作命令。7.1輸入/輸出系統(tǒng)概述
⑵地址譯碼器:對接口電路內部寄存器地址進行譯碼,選中某一個寄存器。⑶控制邏輯:接收來自CPU的命令,控制接口中的各個部件協(xié)調工作。⑷其他:對于采用中斷方式或DMA方式與主機進行數(shù)據(jù)交換的外設,其接口電路還可以設置中斷/DMA控制邏輯部分。5.端口的編址方式第2章2.2.2小節(jié)中介紹了對I/O端口的兩種編址方式:I/O端口和內存儲器統(tǒng)一編址方式,I/O端口單獨編址方式。7.1輸入/輸出系統(tǒng)概述7.1.2輸入/輸出的基本方法1.程序控制方式程序控制方式的特點是:依靠程序的控制來實現(xiàn)主機和外設的數(shù)據(jù)傳送。可分為無條件傳送方式和查詢方式。
無條件傳送方式又稱為同步傳送方式:要求外設和CPU始終是準備好的,CPU直接執(zhí)行輸入或輸出指令,便可實現(xiàn)數(shù)據(jù)傳送,其實質是用程序定時同步傳送,一般用于固定外設在規(guī)定的時間進行信息交換。優(yōu)點:硬件、軟件都比較簡單,I/O接口中一般只需要數(shù)據(jù)端口。缺點:容易造成數(shù)據(jù)丟失。7.1輸入/輸出系統(tǒng)概述7.1輸入/輸出系統(tǒng)概述
查詢方式:是指CPU在傳送數(shù)據(jù)之前,要先檢查外設是否“準備好”,若沒有準備好,則繼續(xù)查詢其狀態(tài),直至外設準備好,即確認外圍設備已具備傳送條件之后,才能進行數(shù)據(jù)傳送。
缺點:CPU每傳送一個數(shù)據(jù),需要花費很多時間來等待外設進行數(shù)據(jù)傳送的準備,因此CPU的效率很低,且CPU與外設不能并行工作。
優(yōu)點:實現(xiàn)這種傳送方式的硬件接口電路簡單。2.中斷控制方式中斷是外圍設備“主動”通知CPU準備發(fā)送或接收數(shù)據(jù)。當外設需要與CPU進行數(shù)據(jù)交換時,便由中斷接口電路向CPU發(fā)出一個中斷請求信號,待CPU響應這一中斷請求后,便可通過中斷服務程序完成I/O信息交換。
優(yōu)點:由于CPU省去了對外設狀態(tài)查詢和等待的時間,從而使CPU與外設可以并行地工作,大大提高了CPU的效率。
缺點:中斷傳送每操作一次,CPU就會打斷原來執(zhí)行的程序去執(zhí)行一段中斷服務程序,時間開銷比較大,對速度較高的外設可能會產(chǎn)生信息丟失。7.1輸入/輸出系統(tǒng)概述3.直接存儲器存取控制方式直接存儲器存?。―irectMemoryAccess,DMA)方式是一種完全由硬件執(zhí)行I/O交換的方式。在這種方式中,CPU不參與數(shù)據(jù)的傳送,而是由DMA控制器來實現(xiàn)內存與外設之間、外設與外設之間的直接快速傳送,幾乎沒有額外時間開銷,因此傳輸效率很高,并且減輕了CPU的負擔,這對于大批量數(shù)據(jù)塊的高速傳送特別有用。4.通道方式
通道是一個具有特殊功能的處理器,某些應用中稱其為輸入/輸出處理器(IOP),它可以實現(xiàn)對外圍設備的統(tǒng)一管理和外圍設備與內存之間的數(shù)據(jù)傳送。這種提高CPU效率的辦法是以花費更多的硬件為代價的。7.1輸入/輸出系統(tǒng)概述5.外圍處理機方式外圍處理機(PeripheralProcessorUnit,PPU)方式是通道方式的進一步發(fā)展。由于PPU基本上獨立于主機工作,它承擔原來必須由CPU承擔的I/O操作,這就大大地減輕了CPU控制外設的負擔,從而有效地減少了CPU在I/O處理中的開銷。圖7.3外圍設備的輸入/輸出控制方式7.1輸入/輸出系統(tǒng)概述7.2.1無條件傳送
所謂無條件,就是假設外設已處于就緒狀態(tài),數(shù)據(jù)傳送時,程序不必再去查詢外設的狀態(tài),而直接執(zhí)行I/O指令進行數(shù)據(jù)傳輸。無條件傳送又稱為立即傳送、同步傳送。例如,有些簡單的輸入設備,如按鍵、開關等,相對于CPU而言,其狀態(tài)很少發(fā)生變化。只要CPU需要,可隨時讀取其狀態(tài)。有些簡單的輸出設備,如LED數(shù)碼管、交通信號燈等,可以隨時接受CPU發(fā)來的顯示數(shù)據(jù)。7.2
程序控制方式注意:①當簡單外設作為輸入設備時,其輸入數(shù)據(jù)的保持時間相對于CPU的處理時間要長得多,故輸入數(shù)據(jù)通常不用加鎖存器鎖存,直接使用三態(tài)緩沖器(即三態(tài)門)與系統(tǒng)數(shù)據(jù)總線相連即可。②當簡單外設作為輸出設備時,由于外設的速度較慢,CPU送出的數(shù)據(jù)必須在接口中保持一段時間,以適應外設的動作,因此輸出必須采用鎖存器。7.2
程序控制方式
一個典型的無條件傳送方式I/O接口電路如圖7.4所示,由輸入緩沖器、輸出鎖存器、端口地址譯碼器和相應的門電路組成。圖7.4
無條件傳送方式接口電路7.2
程序控制方式例7.1假設有兩個共陰極的發(fā)光二極管直接連接在CPU數(shù)據(jù)總線的D0和D7上,當?shù)刂窞?000H的時候,兩個發(fā)光二極管同時點亮。程序如下:MOVDX,0000HMOVAL,81HOUTDX,AL7.2
程序控制方式7.2.2查詢方式查詢方式又稱為條件傳送方式,CPU通過程序不斷查詢相應設備的狀態(tài),若狀態(tài)不符合要求,則CPU不能進行輸入/輸出操作,需要等待;只有當狀態(tài)信號符合要求時,CPU才能進行相應的輸入/輸出操作。查詢方式控制數(shù)據(jù)的輸入/輸出的流程如圖7.5所示。圖7.5
條件傳送示意圖7.2
程序控制方式圖7.6
查詢方式輸入接口電路查詢方式的CPU讀接口電路如圖7.6所示。其中選通信號有兩個作用:一是把外設的數(shù)據(jù)送到接口的鎖存器中;二是使接口中的一個D觸發(fā)器置1,從而使三態(tài)緩沖器的READY=1。7.2
程序控制方式
查詢方式的CPU寫接口電路如圖7.7所示。7.2
程序控制方式圖7.7
查詢方式輸出接口電路查詢方式的優(yōu)點:能較好地協(xié)調外設與CPU之間的定時關系,CPU和外設的操作能通過狀態(tài)信息得到同步,而且硬件結構比較簡單。查詢方式的缺點:CPU需要不斷查詢標志位的狀態(tài),這將占用CPU較多的時間,尤其是與中速或慢速的外圍設備交換信息時,CPU絕大部分時間都消耗在了查詢上,真正用于傳送數(shù)據(jù)的時間極少,CPU效率較低;傳輸完全在CPU控制下完成,對外部出現(xiàn)的異常事件無實時響應能力。7.2
程序控制方式例7.2假設接口的數(shù)據(jù)輸入端口地址為52H,狀態(tài)端口地址為56H,并且假設若狀態(tài)寄存器中第1位為1,則表示輸入緩沖器中已經(jīng)有1B準備好,可以進行輸入。實現(xiàn)從輸入設備輸入一串數(shù)據(jù)到內存緩沖區(qū),如果遇到回車則結束,串最大為81。程序如下:
COM_SEGSEGMENTBUFFERDB82DUP(?);定義緩沖區(qū)COUNTDB?
COM_SEGENDS7.2
程序控制方式CODESEGMENTASSUMEDS:DATA_SEG,ES:COM_SEG,CS:CODESTART:MOVAX,COM_SEGMOVES,AXMOVDI,OFFESTBUFFERMOVCOUNT,DIMOVCX,81;設置最大循環(huán)次數(shù)CLDNEXT_IN:INAL,56H;讀入狀態(tài)信息TESTAL,02H;檢測第1位是否為1JZNEXT_IN;為0,數(shù)據(jù)未準備好,繼續(xù)讀入狀態(tài)檢測7.2
程序控制方式INAL,52H;數(shù)據(jù)準備好了,從數(shù)據(jù)輸入端口讀入ANDAL,7FH;將正確的數(shù)據(jù)存入緩沖區(qū)內STOSBCMPAL,0DH;判斷是否為回車LOOPNENEXT_IN;不是則繼續(xù)輸入新的數(shù)據(jù)MOVAL,0AHSTOSBSUBDI,COUNTMOVCOUNT,DI;DI存放緩沖區(qū)內數(shù)據(jù)的個數(shù)●●●CODEENDS7.2
程序控制方式7.3.1中斷的意義中斷系統(tǒng)在現(xiàn)代計算機系統(tǒng)中是非常重要的。其優(yōu)點如下:⑴同步操作中斷技術可以使CPU和外設同時工作。CPU在大部分時間里可與外設并行工作,大大提高了工作效率。⑵實時處理利用中斷技術可使計算機對被控對象的物理參數(shù)作出即時響應。⑶故障處理可以利用中斷系統(tǒng)及時地處理計算機在運行過程中出現(xiàn)的事先預料不到的情況或一些故障。7.3
中斷方式7.3.2中斷的判優(yōu)方法常用的判優(yōu)的方法有3種。1.軟件查詢法即由軟件來安排各中斷源的優(yōu)先級別。常用方法有屏蔽法和位移法。①屏蔽法基本思想:取連接外部中斷源端口的狀態(tài)字,然后檢查每一位,先檢查到的優(yōu)先級高。②位移法基本思想:將讀取的狀態(tài)字節(jié)大循環(huán)移位(RCL/RCR),每移動1位,判斷被移進CF的值是否為1,若是,轉去中斷;否則,繼續(xù)移一位再判斷。7.3
中斷方式
軟件查詢法的優(yōu)點:不需要額外的硬件電路,并且優(yōu)先權由查詢的次序來決定,首先查詢的即為優(yōu)先級最高的。軟件查詢法的缺點:不管外設是否有中斷請求都需要按次序逐一詢問,因而效率較低,特別是在中斷源較多的情況下,轉至中斷服務程序的時間較長。7.3
中斷方式2.硬件判優(yōu)電路法由專門的判優(yōu)電路決定中斷源的優(yōu)先級別,基本思想是:電路上面端口的中斷請求可以屏蔽下面的中斷請求。硬件查詢法的優(yōu)點:中斷源較多的情況下,轉至中斷服務程序的時間比軟件查詢法快。硬件查詢法的缺點:優(yōu)先權的次序是固定的,不能更改,并且增加了硬件設計的成本。3.專用硬件控制器8259是可編程中斷控制器,除了可以實現(xiàn)優(yōu)先權的排隊外,還可以提供中斷類型碼、屏蔽中斷輸入等功能,見7.3.3。7.3
中斷方式7.3.38259中斷控制器單片8259可以管理8級中斷,如果采用級聯(lián)方式。例如8片8259級聯(lián),則可管理64級中斷。1.8259的內部結構和引腳功能⑴8259的內部結構:有8個部分組成。①中斷請求寄存器(IRR):是一個8位的鎖存寄存器,用來鎖存外圍設備送來的IR0~IR7中斷請求信號。②中斷服務寄存器(ISR):是一個8位寄存器,用來存放已被CPU響應的中斷請求信號。7.3
中斷方式③中斷屏蔽寄存器(IMR):是一個8位寄存器,用來對各中斷請求設置屏蔽信息。④優(yōu)先權判別電路(PR):用來識別各中斷請求的優(yōu)先級別。在多個中斷請求信號同時出現(xiàn)并經(jīng)IMR允許進入系統(tǒng)后,先由PR選出其最高優(yōu)先級的中斷請求。⑤讀/寫控制電路:接收來自CPU的讀/寫控制命令和片選控制信息。⑥數(shù)據(jù)總線緩沖器:是一個8位的雙向三態(tài)緩沖器,使8259和CPU數(shù)據(jù)總線D7~D0直接掛接,完成命令和狀態(tài)信息的傳送,是8259與CPU交換數(shù)據(jù)的必經(jīng)之路。7.3
中斷方式⑦控制電路:是8259內部的控制器,根據(jù)CPU對8259編程設定的工作方式產(chǎn)生內部控制信號,向CPU發(fā)出中斷請求信號INT,請求CPU響應,同時產(chǎn)生與當前中斷請求服務有關的控制信號,并在接收到來自CPU的中斷響應信號后,將中斷類型號送到數(shù)據(jù)總線。⑧級聯(lián)緩沖/比較器:用來實現(xiàn)多個8259的級聯(lián)連接及數(shù)據(jù)緩沖方式。級聯(lián)時,一個8259芯片為主片,最多能連接8個8259從片,因此最多可以實現(xiàn)對64級中斷源的管理。7.3
中斷方式8259的內部結構如圖7.8所示7.3
中斷方式圖7.88259芯片的內部結構圖⑵8259的引腳功能8259芯片有28條引腳,雙列直插式封裝,如圖7.9所示。圖7.98259芯片引腳定義①D7~D0:
雙向數(shù)據(jù)總線,是8259與CPU的數(shù)據(jù)信息通道。②:片選信號線,輸入,低電平有效。③:寫信號,輸入,低電平有效。④:讀信號,輸入,低電平有效。⑤CAS2~CAS0:3根級聯(lián)線,主8259芯片與從8259芯片的連接線。⑥/:雙重功能線,主片或從片的設定/緩沖器讀/寫控制。⑦:中斷響應信號線,輸入⑧INT:中斷請求信號線,輸出⑨IR7~IR0:由外設或其他8259芯片輸入的中斷請求信號。7.3
中斷方式2.8259的中斷響應過程①有一條或若干條中斷請求輸入線(IR7~IR0)變?yōu)楦唠娖綍r(即有一個或多個相應設備發(fā)出中斷請求),8259內部中斷請求寄存器IRR的相應位置1。②用中斷屏蔽寄存器IMR對IRR進行屏蔽,通過優(yōu)先權判別電路PR,將當前未屏蔽的各中斷源的中斷級別進行比較判別,從中選出優(yōu)先級別最高的中斷請求從INT輸出,送至CPU的INTR端。③CPU在收到8259發(fā)來的中斷請求信號INT后,如果當前指令執(zhí)行完且中斷允許標志位IF=1,則CPU向8259發(fā)出信號,進入中斷響應周期。7.3
中斷方式④8259收到CPU的第1個信號時,將ISR(中斷服務寄存器)中當前優(yōu)先級別最高的中斷請求所對應的位置1,IRR的相應位清0。⑤8259收到CPU發(fā)出的第2個信號后,通過數(shù)據(jù)線將對應的中斷類型碼n送至CPU。CPU根據(jù)讀入的中斷類型碼,在中斷向量表中找到相應的中斷服務程序入口地址,繼而轉去執(zhí)行中斷服務程序。如果8259工作在自動中斷結束方式下,則在第2個脈沖信號結束時,使被響應的中斷源在ISR中的對應位清0,否則,當中斷服務結束時,由安排的8259中斷結束命令EOI來使ISR的相應位復位,最后執(zhí)行IRET指令,返回主程序,結束本次中斷處理。7.3
中斷方式3.8259的工作方式⑴中斷結束方式當中斷結束時,應將ISR的相應位復位,以清除正在被服務的記錄。ISR的復位方式有以下幾種:①非自動結束方式:當中斷服務程序完成時,需提供一條EOI(中斷結束)
命令,使8259中ISR的相應位清除,讓ISR只記錄那些正在被服務而未服務完的中斷。非自動中斷結束有兩種方式:一般EOI方式、特殊EOI方式。這種工作方式下,在任一級中斷服務結束后,中斷返回之前,安排一條一般EOI命令。執(zhí)行該命令,則8259將ISR寄存器中級別最高的置1位清0。這種結束方式很簡單,但只有在當前結束的中斷總是位于未服務完的中斷中級別最高的中斷時,才能使用這種結束方式。當中斷服務程序結束,給8259發(fā)送EOI命令的同時,將當前結束的中斷級別也傳送給8259,使8259將ISR寄存器中指定級別的相應位清0,這種結束方式適用于在中斷服務程序中改變了中斷源的原有的中斷優(yōu)先權的場合。在這種情況下,如果用一般EOI方式,則可能產(chǎn)生錯誤的ISR復位。7.3
中斷方式②自動EOI方式這種方式在中斷服務程序結束時,不需要提供EOI命令,而是由8259在中斷響應周期的第2個中斷響應信號結束時,自動執(zhí)行一個EOI操作,將ISR寄存器中的相應位清0。需要注意的是:采用這種結束方式,在任何一級中斷的中斷服務過程中,ISR相應位已復位,8259中沒有留下任何標志,如果在此過程中出現(xiàn)了新的中斷請求,則只要IF=1,不管新出現(xiàn)的中斷級別如何,都將打斷正在執(zhí)行的中斷服務程序而被優(yōu)先執(zhí)行,這就有可能出現(xiàn)低級中斷打斷高級中斷或同級中斷相互打斷的現(xiàn)象,這種情況稱為“重復嵌套”,由于重復嵌套的深度無法控制,很可能造成某些高級中斷得不到及時處理的情況。7.3
中斷方式⑵緩沖方式用來指定系統(tǒng)總線與8259數(shù)據(jù)總線之間是否需要進行緩沖。①緩沖方式:可以通過對8259編程設置其工作在緩沖方式下。這時,/為輸出信號線,作為緩沖器的允許信號使用。=0,表示允許緩沖器輸出;=1,表示允許緩沖器輸入。②非緩沖方式:當設置8259芯片工作在非緩沖方式下時,/為輸入信號線,作為主從設定信號使用,以識別8259是主控制器還是從屬控制器。7.3
中斷方式⑶嵌套方式嵌套方式用于8259進行優(yōu)先級控制。①一般全嵌套方式:是指優(yōu)先級高的中斷可以打斷低級中斷服務,反之不能打斷。在這種方式下,由各個IRi端引入的中斷請求具有固定的中斷優(yōu)先級別,且優(yōu)先級順序由高到低依次為IR7~IR0。②特殊全嵌套方式:主要用于級聯(lián)方式。若不采用特殊全嵌套方式,則主8259芯片將把來自于同一個從8259芯片內的不同級別中斷請求認為是同級的,而不予以響應。7.3
中斷方式⑷中斷屏蔽方式對優(yōu)先級的管理還可采用設置中斷屏蔽寄存器IMR的方式。中斷屏蔽有如下兩種實現(xiàn)方式:①一般屏蔽方式:可以通過將中斷屏蔽寄存器IMR中的某一位或某幾位置1,將某一級或幾級中斷請求屏蔽掉。②特殊屏蔽方式:可以實現(xiàn)在執(zhí)行高優(yōu)先級的中斷服務程序時,允許響應低級中斷源的中斷請求,從而使得任一級別的中斷都有機會得到響應。7.3
中斷方式⑸優(yōu)先級的控制①固定優(yōu)先級:是指8259的8個中斷源中,IR0優(yōu)先級最高,IR1優(yōu)先級次之,依次降低,直到IR7優(yōu)先級最低,這個順序固定不變。②循環(huán)優(yōu)先級:8259將中斷源IR0~IR7按下標序號順序構成一個環(huán)(即中斷源順序環(huán)),優(yōu)先級順序依此環(huán)規(guī)定,有兩種規(guī)定方式:自動優(yōu)先循環(huán)級:剛被服務過的中斷源,其優(yōu)先級別被改為最低級,而將最高優(yōu)先級賦給原來比它低一級的中斷源,其他中斷源的優(yōu)先順序依中斷源順序環(huán)確定。指定優(yōu)先循環(huán)級:在OCW2中指定的中斷源,其優(yōu)先級別被設為最低級,其他中斷源的優(yōu)先順序依中斷源順序環(huán)確定。7.3
中斷方式
4.8259芯片編程8259芯片中把若干個可用輸入/輸出指令直接訪問的控制位編排成7個8位的寄存器,并分為兩組。一組為初始化命令字ICW1~ICW4,另一組為工作命令字OCW1~OCW3,這兩組寄存器占用了兩個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的編程分為兩步:初始化編程和工作方式編程。①初始化編程:用來建立8259的基本工作條件。在系統(tǒng)加電和復位后,通過寫入初始化命令字ICW1~ICW4,來實現(xiàn)對8259的初始化操作,初始化命令字一經(jīng)確定,以后不再改變。②工作方式編程:用來完成對中斷過程的動態(tài)控制。在8259的工作階段,CPU可以在初始化后的任何時刻寫入工作命令字OCW1~OCW3,以規(guī)定或改變8259的工作方式,實現(xiàn)對8259的工作狀態(tài)、中斷方式和中斷響應次序等的控制和管理。7.3
中斷方式⑴8259的初始化編程初始化的主要任務:①復位8259芯片。②設定中斷請求信號INT有效的形式,是高電平有效,還是上升沿有效。③設定8259工作在單片方式還是多片級聯(lián)方式。④設定8259管理的中斷類型號的基值,即0級IR0所對應的中斷類型號。⑤設定各中斷級的優(yōu)先次序,IR0最高,IR7最低。⑥設定一次中斷處理結束時的結束方式。7.3
中斷方式初始化命令字ICW1用于規(guī)定8259的連接方式(單片或級聯(lián))和中斷源請求信號的有效形式(電平觸發(fā)或邊沿觸發(fā))。當=0、A0=0、D4=1時,表示當前寫入8259的是ICW1命令字,其格式如圖7.10所示。圖7.108259的ICW1格式7.3
中斷方式
初始化命令字ICW2用于設置中斷類型碼基值。所謂中斷類型碼基值,是指0級中斷源IR0所對應的中斷類型碼,它是一個可被8整除的正整數(shù)。ICW2的格式如圖7.11所示。圖7.118259的ICW2格式7.3
中斷方式
例如,在IBM-PC系列機中,ICW2的高5位在初始化編程中設置為00001,所以ICW2=08H,ICW2的口地址為21H。寫入初始化命令字ICW2可用以下程序:MOVAL,08HOUT21H,AL在其中斷系統(tǒng)中,若硬盤中斷的中斷請求線連接到8259的IR5上,當CPU響應硬盤中斷請求時,8259把IR5的編碼101作為低3位構成一個完整的8位中斷類型號0DH(00001101B),經(jīng)數(shù)據(jù)總線發(fā)送給CPU。7.3
中斷方式初始化命令字ICW3。
此命令字僅用于8259級聯(lián)方式。它指明從8259芯片的INT引腳與主8259芯片的哪一個中斷源請求信號(IR0~IR7中的哪一個)相連。主8259芯片的ICW3格式如圖7.12所示。圖7.12寫入主8259芯片的ICW3格式7.3
中斷方式
從8259芯片的ICW3格式如圖7.13所示。圖7.13寫入從8259芯片的ICW3格式7.3
中斷方式初始化命令字ICW4。只有當ICW1中的IC4(D0)=1時,才需設置ICW4命令字。D7、D6、D5是ICW4的特征標志,總為0。其格式和各位意義如圖7.14所示。圖7.148259芯片的ICW4格式7.3
中斷方式
8259的初始化從寫入ICW1開始,然后順序寫入ICW2、ICW3、ICW4,如圖7.15所示。圖7.158259芯片的初始化流程7.3
中斷方式⑵工作方式編程主要完成對中斷請求的屏蔽、優(yōu)先級循環(huán)控制、中斷結束方式、內部控制寄存器的查詢等。OCW1~OCW33個命令字可由A0和D4、D3兩位特征標志加以區(qū)分,如表7.2所示。A0
D4D30(20H)1(21H)
0
0OCW2OCW1
0
1OCW3表7.2OCW1~OCW3的地址分配和命名字中的特征標志7.3
中斷方式工作命令字OCW1用來設置中斷源的屏蔽狀態(tài)并寫入IMR中,其格式如圖7.16所示。圖7.168259的OCW1格式
例如:IBM-PC機OCW1的口地址為21H,若需屏蔽IR4、IR5,則OCW1=30H。寫入IMR中的OCW1可用以下程序:MOVAL,30HOUT21H,AL7.3
中斷方式
工作命令字OCW2用于控制中斷結束方式及修改優(yōu)先權管理方式。命令字格式如圖7.17所示。圖7.178259的OCW2格式7.3
中斷方式OCW2工作命令與R、SL、EOI3位編碼的關系如表7.3所示。表7.3OCM2與R、SL、EOI3位編碼的關系RSLEOI操作001正常EOI中斷結束命令011特殊EOI中斷結束命令100置自動、循環(huán)、優(yōu)先級方式101自動、循環(huán)、正常中斷結束方式000自動、循環(huán)復位命令110特殊EOI循環(huán)置位命令111特殊EOI循環(huán)命令010無意義7.3
中斷方式工作命令字OCW3用于設定特殊的屏蔽方式和查詢方式,及讀取IRR/ISR寄存器等。命令字格式如圖7.18所示。圖7.188259的OCW3格式7.3
中斷方式5.80x86微機的中斷控制器⑴PC/XT微機的中斷控制器PC/XT微機的中斷控制器的核心部件是一個8259A芯片,通過該芯片擴展出8根可屏蔽中斷線IRQ0~IRQ7,接外部中斷源。PC/XT微機系統(tǒng)的8級可屏蔽中斷中,0、1、3、4、5、6、7已分別為系統(tǒng)配置的8253定時器、鍵盤、異步通信卡、硬盤、軟盤和并行打印機等設備所占用,只有第2級中斷IRQ2未用,可供用戶使用。用戶可以采用在用戶接口板上附加8259A中斷控制器的辦法,將系統(tǒng)板上的8259A中斷請求線進行擴充。7.3
中斷方式
在進行中斷擴充時,應注意以下幾點:①應選定系統(tǒng)暫不用的中斷請求線進行擴充,一般0、1、6、7級中斷是不能占用的。②為附加的8259A分配兩個端口地址,且不要與系統(tǒng)板上的I/O端口地址沖突。③在中斷系統(tǒng)開始工作之前,必須對附加的8259A進行初始化編程,以設定其工作方式。而系統(tǒng)板上的8259A初始化由系統(tǒng)在啟動時自動完成。7.3
中斷方式⑵PC/AT微機的中斷控制器PC/AT微機系統(tǒng)的中斷控制器由一個主片8259A和一個從片8259A組成,通過3個級聯(lián)端CAS2~CAS0發(fā)生關聯(lián),主片的INT端接至CPU的INTR端,而從片的INT端連接到主片的IR2端,從而形成一個具有15級向量中斷的硬件中斷系統(tǒng)。在這種以主、從8259A級聯(lián)的系統(tǒng)中,從片管理的8級中斷請求經(jīng)過排隊判優(yōu)后,再參與到主片前8級的排隊判優(yōu)。7.3
中斷方式⑵PC/AT微機的中斷控制器PC/AT微機系統(tǒng)的中斷控制器由一個主片8259A和一個從片8259A組成,通過3個級聯(lián)端CAS2~CAS0發(fā)生關聯(lián),主片的INT端接至CPU的INTR端,而從片的INT端連接到主片的IR2端,從而形成一個具有15級向量中斷的硬件中斷系統(tǒng)。在這種以主、從8259A級聯(lián)的系統(tǒng)中,從片管理的8級中斷請求經(jīng)過排隊判優(yōu)后,再參與到主片前8級的排隊判優(yōu)。7.3
中斷方式⑶80386/80486微機的中斷控制器一般是由若干個8259A芯片組成的,但是這些8259A不再是一個個獨立的芯片,它們和其他功能部件(如DMAC、定時器/計數(shù)器、總線控制器等)一起集成在一個超大規(guī)模的外圍芯片中。82380就是一種典型的VLSI接口芯片,它的中斷控制器包含3片8259A電路,分別稱做中斷層A、中斷層B和中斷層C。這3層串接起來產(chǎn)生一個總的中斷請求信號INT,接至CPU的INTR輸入端,它共支持20級硬件向量中斷,5級在82380芯片內,供片內其他功能的部件使用,15級作為外部中斷請求輸入端,每個外部中斷請求端又可以擴充一片8259A作為從片。因此,最多可管理8×15=120個外部中斷源。7.3
中斷方式
82380中的每一層中斷控制邏輯與單片8259A基本相同。使用時有兩點區(qū)別:1)82380的每個中斷請求都可以獨立設置中斷向量,而不像8259A芯片那樣各個中斷向量自動連續(xù);2)當外接8259A作為從片時,在中斷響應周期,從片的編碼不是由CAS2~CAS0級聯(lián)送入,而是通過數(shù)據(jù)總線D7~D0傳輸。7.3
中斷方式6.應用舉例⑴8259在IBM-PC/XT微機系統(tǒng)中的應用例如:IBM-PC/XT微機系統(tǒng)中只使用了一片8259芯片,接受并處理8級外部中斷請求。系統(tǒng)分配給該8259芯片的端口地址號為20H和21H,且初始化設定為:8個中斷請求信號IR0~IR7均為邊沿觸發(fā);采用完全嵌套方式,IR0為最高優(yōu)先級,IR7為最低優(yōu)先級;設定IR0所對應的中斷類型號為8,則IR1對應的中斷類型號為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),非自動結束7.3
中斷方式⑵8259在80286/80386微機系統(tǒng)中的應用在80286/80386微機系統(tǒng)中,使用主、從兩片8259芯片級聯(lián),可管理15個硬件中斷源。其中:主8259芯片的地址為020H~021H,從8259芯片的地址為0A0H~0A1H;主片的CAS2~CAS0與從片的CAS2~CAS0互連,從片的INT引腳連至主片IR2;采用非緩沖方式,主片的/引腳接+5V,從片的/引腳接地;主、從片的中斷請求信號均采用邊沿觸發(fā);采用完全嵌套方式,優(yōu)先級的排列次序為IRQ0最高,依次為IRQ1、IRQ8~IRQ15,然后是IRQ3~IRQ7;設定IRQ0~IRQ7對應的中斷類型碼為8~0FH,IRQ8~IRQ15對應的中斷類型碼為70H~77H。7.3
中斷方式對8259的主片和從片的初始化程序編寫如下:;初始化8259主片INTA00EQU020H;8259主片端口0INTA01EQU021H;8259主片端口1
┇MOVAL,11H;ICW1邊沿觸發(fā),級聯(lián),需ICW4OUTINTA00,ALJMPSHORT$+2;I/O端口延時要求MOVAL,8OUTINTA01,AL;ICW2中斷類型碼的高5位JMPSHORT$+2;I/O端口延時要求MOVAL,04H;ICW3主片的IR2上接從片OUTINTA01,AL;JMPSHORT$+2;I/O端口延時要求MOVAL,01H;ICW4非緩沖,全嵌套,8088系統(tǒng)OUTINTA01,AL;非自動結束7.3
中斷方式
初始化8259從片INTB00EQU0A0H;8259從片端口0INTB01EQU0A1H;8259從片端口1┇MOVAL,11H;ICW1邊沿觸發(fā),級聯(lián),需ICW4OUTINTB00,ALJMPSHORT$+2;I/O端口延時要求MOVAL,70H;ICW2中斷類型號的高5位OUT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度魚塘承包與漁業(yè)生態(tài)旅游合作合同4篇
- 2025年度LED節(jié)能燈具采購與安裝一體化合同范本3篇
- 二零二五年度木材加工設備租賃合同樣本2篇
- 二零二五年度農機行業(yè)人才引進與培養(yǎng)合同4篇
- 二零二五年度大摩退出中金項目合同終止倒計時通知2篇
- 2025年度南京家庭裝修工程竣工驗收備案合同4篇
- 2025年度個人光伏發(fā)電貸款擔保合同3篇
- 2025版文化娛樂場所租賃及活動策劃服務合同模板4篇
- 2025版儲罐泄漏檢測與預防措施合同范本3篇
- 2025版農民合作社農村農村電商扶貧項目融資合同3篇
- 2024年內蒙古自治區(qū)專業(yè)技術人員繼續(xù)教育公需課考試答案
- T-CSTM 01124-2024 油氣管道工程用工廠預制袖管三通
- 2019版新人教版高中英語必修+選擇性必修共7冊詞匯表匯總(帶音標)
- 新譯林版高中英語必修二全冊短語匯總
- 基于自適應神經(jīng)網(wǎng)絡模糊推理系統(tǒng)的游客規(guī)模預測研究
- 河道保潔服務投標方案(完整技術標)
- 品管圈(QCC)案例-縮短接臺手術送手術時間
- 精神科病程記錄
- 閱讀理解特訓卷-英語四年級上冊譯林版三起含答案
- 清華大學考博英語歷年真題詳解
- 人教版三年級上冊口算題(全冊完整20份 )
評論
0/150
提交評論