中斷控制器
中斷控制器
§(1)ICW1的格式和定義。 )§(2)ICW2的格式和定義。 §(2)OCW2的格式和定義。
目錄
各組成部分的功能如下:
§(1)中斷請求寄存儲器(IRR)8位。它寄存外部設備提出的中斷請求。
§(2)優先權裁決器。對IRR中有請求的中斷源以及正在服務的中斷源進行判別,以裁決出當前優先順序最高的中斷請求。
§(3)中斷在服務寄存器(ISR)8位。與IRR的各位相對應,記錄了當前正在中斷處理的中斷請求。
§(4)中斷屏蔽寄存器(IMR)。IMR為8位,對應位置1,即可屏蔽IRR中相應位的中斷請求。
§(5)匯流排緩衝器。與系統的數據匯流排連接,是8位雙向三態緩衝器。對8259A寫入命令字,以及讀取狀態信息都是通過該緩衝器傳送的。
§(6)讀/寫控制邏輯。該邏輯電路接收埠地址信號和CPU的讀寫控制信號IOW和IOR產生相應的控制信號,控制命令字的寫入和狀態字的讀取。
§(7)級聯緩衝器和比較器。用來存放和比較系統中從片8259A的標識碼。
§(8)控制邏輯。控制邏輯中有一組寄存器,用來寄存8259A的命令字,實現對多種工作方式的控制。同時還包括有中斷請求和響應的電路,在有中斷請求時向CPU發出中斷請求,同時接收CPU響應中斷時發出的中斷響應信號。
§2.8259A的外部引腳信號
§8259A為28腳雙列直插封裝。
D7~D0雙向數據線。
§RD:輸入,讀命令信號。與控制匯流排相連。
§WR:輸入,寫命令信號。與控制匯流排相連。
§CS:輸入,片選信號。與地址解碼電路相連。
§A0:輸入,地址線。8259A佔用相鄰兩個埠
§地址,A0與CS配合,A0=1時選中奇地址,
§A0=0時選中偶地址,而且要求偶地址
§低,奇地址高。PC機中主片為20H和21H。
§CAS2~CAS0:級聯線。在主從結構中,主、
§從片8259A的CAS2一CAS0。對應連接。
§SP/EN:雙向信號線。有兩個功能,作為輸入時,主片8259A的此信號線接高電平,從片8259A的此信號線接低電平。做輸出時,如果8259A採用緩衝方式工作,則SP/EN信號作為數據線驅動器的使能信號。§INT:中斷請求信號。輸出,與CPU的intr引腳連接,向CPU發出中斷請求。§INTA:中斷響應信號。輸入,與CPU的中斷響應輸出相連。
§5.2.28259A的工作方式
§1.優先順序方式選擇
§(1)全嵌套方式。亦稱固定優先順序方式。在8個中斷請求IR0~IR7中,IR0為最高級,依次為IR1,IR2,…,IR7為最低。在中斷服務過程中禁止同級和優先順序低於本級的中斷請求。
§(2)特殊全嵌套方式。它與全嵌套方式基本相同,只是在特殊全嵌套方式下,當某級正在處理中斷時,同時可以響應本級的中斷請求,實現對同級中斷的嵌套。
§(3)優先順序自動循環方式。初始化時,優先順序次序為IR0、IR7,IR0最高。IR7最低。當某級中斷響應后,則優先順序降為最低。例如,IR4響應后的優先順序次序變為IR5,IR6,IR7,IR0,IR1,IR2,IR3,IR4。
§(4)優先順序特殊循環方式。開始時由編程指定最低優先順序的中斷請求,其他同優先順序自動循環方式。例如,初始化時指定IR6為最低優先順序,則優先順序次序為:IR7,IR0…….IR6。
優先順序自動循環方式有利於平衡各個中斷源的響應幾率:對於幾個中斷源地位幾乎相等的情況,默認的優先順序總是使得排在前面的中斷源得到響應的幾率較大。但是在自動循環方式中,先響應的中斷源變為最低,則提升了後面的優先順序,從而平衡了各個中斷源的響應幾率。§2.屏蔽中斷方式選擇
§(1)普通屏蔽方式。將操作命令字OCW1寫入到片內屏蔽寄存器IMR中,例如IMR=00001100,則IR2,IR3的中斷請求被禁止。
§(2)特殊屏蔽方式。在本分式下,當某個中斷正在被響應時,允許較低級別的中斷源的中斷請求。暫時中斷正在執行的中斷服務程序。
§3.中斷處理結束方式選擇
§當中斷存服務寄存器ISR中某位ISRn為1時,表示相應的中斷請求IRN正在服務中;中斷服務結束時,則應將ISRn清0。
§(1)白動中斷結束方式。8259A在收到CPU的中斷響應后,自動將ISR中的正在處理的ISRn位清0。僅適用單片8259A和中斷無嵌套的情況。
§(2)一般的中斷結束方式。在中斷服務程序返回前,執行一條一般中斷結束命令,將ISR中當前最高的置1位清0。適用全嵌嘗方式。
§(3)特殊中斷結束方式。在中斷結束前,向8259A發出一條特殊中斷結束命令;根據命令字的編碼。將ISR中的指定位清0,以結束中斷。
§4.中斷請求信號觸發方式選擇
§(1)邊沿觸發方式:正跳變信號,表示有中斷請求。出現正跳變信號后,允許高電平保持。
§(2)電平觸發方式:高電平信號表示有中斷請求。該請求電平必須在中斷服務程序中的中斷結束命令執行前予以撤消。
§5.2.38259A的命令字
§命令字包括初始化命令字和操作命令字兩部分。要按規定寫入到8259A的兩個埠(1個為偶地址,一個為奇地址)中寄存。
§1.初始化命令字
§初始化命令字共有ICW1~ICW4四個。
§(1)ICW1的格式和定義。
§ICW1必須寫到8259A的偶地址埠。
§LTIM:1中斷請求電平觸發、0中斷請求邊沿觸發
§SNGL:1單片、0多片(為了擴大中斷源的數目8259A可以多片級連。)
§(2)ICW2的格式和定義。
§ICW2用來設置中斷類型碼,必須寫到8259A的奇地址埠。ICW2用來指定8259A的8個中斷請求IR0—IR7的中斷類型碼。
§其中T7—T3由程序寫入,最低3位根據正在響應的中斷請求IRn的n值自動填入。
§例如:ICW2為40H,則所對應的中斷類型碼為40H,41H,42H,43H,44H,45H,46H,47H。
§(3)ICW3的格式和定義。
§8259A作為主片和從片的ICW3格式和含義是不同的,ICW3必須寫到8259A的奇地址埠。
§8259A作為主片的格式:
主片的IR0~IR7的某個引腳上連接從片8259A,則該位為l,反之為0。
8259A作為從片的格式:
§ID2、ID1、ID0的值取決於本從片的INT輸出端連到主片哪個IR輸入端。如連到IR7,則ID2,ID1,ID0=111。
§從片的CAS7~CAS0接收到主片8259A發來的編碼,將該碼與從片本身的ICW3中的ID2~ID0比較,若相等,則在中斷響應過程中將自己的中斷類型碼發送到CPU。
(4)ICW4的格式和定義:ICW4必須寫入到8259A的奇地址埠
SFNM=:1特殊全嵌套方式,0非特殊全嵌套方式
BUF,M/S=:0X非緩衝方式,10從片緩衝方式,11主片緩衝方式
§
AEOI=:1中斷自動結束方式,0一般中斷結束方式式
µPM=:18088/8086系統,08080/8085系統
§對初始化命令字編程時應注意到:
§(1)初始化命令字必須按規定的奇、偶地址埠寫入。
§(2)ICW1~ICW4寫入的順序是固定的,不可顛倒。
§(3)ICW1、ICW2是必須設置的,但ICW3、ICW4根據工作方式的需要設置。
§2.8259A的操作命令字
§8259共有3個操作命令字OCW1—OCW3。
§(1)OCW1的格式和定義。這是一個中斷屏蔽命令字,OCW1必須寫入到8259A的奇地址埠。
§
§OCW1的格式如下:
OCW1中某位為l時,其對應的中斷請求IRn被屏蔽,對應於各位為0的中斷請求被允許參與優先權的裁決。
§(2)OCW2的格式和定義。OCW2必須寫入到8259A的偶地址埠。
§OCW2的格式如下:
R=:1中斷優先順序循環,0中斷優先順序非循環
SL=:1L2~L0有效,0L2~L0無效
EOI=:1非自動結束中斷,0自動結束中斷
§(3)OCW3的格式和定義。OCW3的功能是設置或撤消特殊屏蔽方式,設置中斷查詢方式以及設置對8259A內部寄存器讀出的命令。
OCW3必須寫入到8259A的偶地址埠。
§OCW3的格式如下:
ESMMSMM方式RRRIS P
11進入特殊屏蔽方式10在下條指令讀取IRR1查詢命令
10恢復到一般屏蔽方式11在下條指令讀取ISR0不查詢命令
§OCW3中的P位稱為查詢方式位,P=1時,使8259A設置為中斷查詢工作方式。當發出查詢命令后,下一條輸入指令,CPU就可讀取8259A中ISR寄存器的值。OCW3的PR=l,RIS=0時,則OCW3發出后的下一條輸入指令就可讀取IRR寄存器的值。當RR=1,RIS=1時,則下一條輸人指令就可讀取ISR寄存器的值。
§OCW1~OCW3是在應用程序中設置的,寫的次序沒有嚴格規定