• 沒有找到結果。

本章目標

N/A
N/A
Protected

Academic year: 2022

Share "本章目標"

Copied!
16
0
0

加載中.... (立即查看全文)

全文

(1)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.1

本章目標

• 了解中斷要求類型與CPU對中斷要求的反應

• 了解80x86/Pentium CPU的中斷要求

• 了解多重中斷要求與優先權的處理

• 了解82C59A可規劃中斷要求控制器的原理

• 了解中斷服務程式的設計

• 了解軟體中斷、TRAP、及其應用

微算機原理與應用 第9章 中斷要求與處理

中斷要求類型

中斷要求發生的來源有三種:

• 內部中斷(internal interrupt)或稱為TRAP:由CPU內部的硬體電路 產生的中斷要求;

• 軟體中斷(software interrupt):由CPU執行一個軟體中斷指令產生 的中斷要求;

• 外部中斷(external interrupt):由CPU外部經由中斷要求輸入線產 生的中斷要求。

• 可抑制式中斷要求

• 不可抑制式中斷要求

(2)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.3

中斷要求類型

中斷要求依其決定中斷服務程式的起始位址的方式可以分成:

• 導向性中斷要求

• 非導向性中斷要求

微算機原理與應用 第9章 中斷要求與處理

9.4

導向性中斷要求動作

80x86 IF

指令結束 中斷來源裝置

1. 產生中斷 (INTR) 3. 讀取中斷類型

資料匯流排

2. 中斷認知

( )

INTA

(3)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.5

80x86中斷程序

記憶器

80x86

IP CS FLAGS

4N 4N+2

SS

SP 位址

00000

新的IP 新的CS

舊的IP 舊的CS 舊的FLAGS

堆疊

 

 

中斷類型=N

1 2

4 3 5

微算機原理與應用 第9章 中斷要求與處理

80x86中斷向量表

中斷向量表

}

} } } } } } } } } } }

類型0

類型3 類型1 類型2

類型4 類型5 類型6 類型7 類型8 類型9 類型10 類型11 位址

00000 00004 00008 0000C 00010 00014 00018 0001C 00020 00024 00028 0002C

除以0(80x86) 單步執行(80x86) NMI(80x86)

單位元組軟體中斷(80x86) 溢位(INTO) (80x86) BOUND(80286 ) 不成立OPCODE(80286 ) 浮點運算處理器不存在(80286 ) 雙重錯誤(80286 )

浮點運算處理器節區溢填(80386) 不成立的TSS(80286 )

節區不存在(80286 ) IP

CS

(4)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.7

80x86中斷向量表





} } } } }



 類型12 類型13 類型14 類型15 類型16

類型20

~ 類型31 類型32

~ 類型255 00030

00034 00038

00080 00044 0003C 00040

0007C

000FC

~

~

Intel 保留

使用者定義

堆疊節區溢填(80286 ) 一般保護(80286 ) 頁區錯誤(80386 ) 未定義

FPU錯誤(80286 )

↑ 類型17

類型18 類型19 00050

0004C 00048

} } }

對正錯誤(80486 )↑ 機器錯誤(Pentium )↑ SIMD錯誤(Pentium )↑

微算機原理與應用 第9章 中斷要求與處理

9.8

多個I/O裝置利用單一中斷要求輸入線

INTR

CPU

CSR

IE RDY

界面 1

0 1

CSR

IE RDY

界面 2

0 1

CSR

IE RDY

界面 3

1 1

0 0 1

註 註註

註;;;CSR表控制與; 狀態暫存器(control and status register)

1

(5)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.9

程式9.2-1程式的輪呼程序表

輪呼程序表 CSR位址

ISR位址

}

CSR位址

ISR位址

}

CSR位址

ISR位址

}

}

00 00 POOLTAB

裝置 1

裝置 2

裝置 3

END旗號

微算機原理與應用 第9章 中斷要求與處理

鍵結優先權結構

INTR CPU

INTA IEI

IEO IEI

IEO IEI

IEO

裝置 1 界面

裝置 2 界面

裝置 N 界面

INT INT INT

開路 集極閘 +5V

IEI:中斷致能輸入 IEO:中斷致能輸出

最高優先權 次高優先權 最低優先權

裝置1認

知信號 裝置1中

斷要求 裝置2認

知信號

裝置2中 斷要求

裝置N認 知信號

裝置N中 斷要求 INTA

(6)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.11

簡單的INTR擴充方法

D7 D6 D5 D4 D3 D2 D1 D0

INTR INTA

2Y4 2Y3 2Y2 2Y1 1Y4 1Y3 1Y2 1Y1

2A4 2A3 2A2 2A1 1A4 1A3 1A2 1A1

7 6 5 4 3 2 1 0

1G 2G

A2 A1 A0

EO

IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 EI

GS 74LS148 74LS244

+5 V

CPU IR0優先權最高

IR7優先權最低

微算機原理與應用 第9章 中斷要求與處理

9.12

中斷優先仲裁器

D0 D1 D2 D3 D4 D5 D6 D7

IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 M0 M1 M2 M3 M4 M5 M6 M7



 由CPU設定 I0

I1 I2 I3 I4 I5 I6 I7 O0 O1 O2 O3 O4 O5 O6 O7

0 1

6 7 A0 A1 A2

優先權編碼器 門閂

INTR

INTA

OE

STROBE EO

罩網暫存器 中斷要求門閂

(接往CPU)

M

M

M

M

(7)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.13

82C59A內部功能方塊圖

讀/寫 電路

控制電路

中斷罩網暫存器(IMR) 串接緩衝

器/比較器

器(ISR) 調 器(IRR) 18 19 20 21 22 23 24 25

IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 Vcc

GND 28

14 INT 17 26

INTA

11 10 9 8 7 6 5 4 D0 D1 D2 D3 D4 D5 D6 D7

3 2 27 1 12 13 15

16 A0

CAS0 CAS1 CAS2 RD WR

CS

SP / EN

微算機原理與應用 第9章 中斷要求與處理

8086中斷要求認知時序圖

T1 T2 T3 T4 T1 T2 T3 T4

第一個中斷要求認知匯流排週期 第二個中斷要求認知匯流排週期

CLK

ALE

LOCK

INTA AD7~AD0

中斷類型

(8)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.15

82C59A與8086 CPU模組的界接

中斷要求輸入

串接輸出

I/O位址解碼 +5V INTA

D0~D7

A0

INTR WAIT1

A0 A1 A15 M/IO RD WR

接往CPU模組

8259A 11 D0

10 D1 9 D2 8 D3 7 D4 6 D5 5 D6 4 D7 27 A0

1 CS 3 RD 2 WR

SP/EN 16 17 INT 26 INTA

IR0 18 IR1 19 IR2 20 IR3 21 IR4 22 IR5 23 IR6 24 IR7 25

CAS0 12 CAS1 13 CAS2 15

微算機原理與應用 第9章 中斷要求與處理

9.16

82C59A讀取與寫入時序圖

(c) 參數值(82C59A-2) 參數

最大值 數值(ns)

tAHWL

tWHAX tDVWH tWHDX tWLWH tAHRL tRLRH tRHAX tRLDV tRHDZ tAHDV

最小值 0

200

160 0

190 10 160

0

5

120

10 85

(b) 讀取時序(與 )INTA A0

CS tAHRL tRHAX

RD INTA

D0~D7

tRLRH

tRHDZ tRLDV

tAHDV

成立的資料 A0

CS

WR

tAHWL tWHAX

tWHDX tDVWH

tWLWH D0~D7

(a) 寫入時序

(9)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.17

82C59A的初值設定程序

82C59A 初值設定程序 Begin

1. 首先使用 A0 = 0 的位址設定 ICW1 2. 使用 A0 = 1 的位址設定 ICW2

3. 若 ICW1 中的 D1(即 SNGL)為 1 則直接進行步驟 4 ;否則設定 ICW3 4. 若 ICW1 中的 D0(即 IC4)為 0 則進行步驟 5 ;否則設定 ICW4 5. 設定完成。此時 82C59A 已經可以接受中斷要求了。

End {82C59A 的初值設定程序}

微算機原理與應用 第9章 中斷要求與處理

ICW1格式(A0 = 0)

D7 D6 D5 D4 D3 D2 D1 D0

A7 A6 A5 1 LTIM ADI SNGL IC4

觸發方式 位址區間 單一模式 ICW4

中斷位址向量的 A7 ~ A5 (MCS80/85A)

1 = 位準 0 = 緣觸發

1 = 4 0 = 8

1 = 單一 0 = 串接

1=需要 ICW4 0=不需要

(10)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.19

ICW2格式(A0 = 1)

D7 D6 D5 D4 D3 D2 D1 D0

A15/T7 A14/T6 A13/T5 A12/T4 A11/T3 A10 A9 A8 中斷位址向量的 A15 ~ A8 (MCS80/85A)

中斷位址向量的 T7 ~ T3 (80x86)

為 IRn 中的 n 值

微算機原理與應用 第9章 中斷要求與處理

9.20

ICW3格式(A0 = 1)

ICW3(主元件)

D7 D6 D5 D4 D3 D2 D1 D0

S7 S6 S5 S4 S3 S2 S1 S0

Si = 1 表示 IRi 輸入端有從屬元件; Si = 0 表示 IRi 輸入端沒有從屬元件。

ICW3(從屬元件)

D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 0 ID2 ID1 ID0

元件識別碼

(11)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.21

ICW4格式(A0 = 1)

D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 SFNM BUF M/S AEOI µPM

1 = 特殊巢路串 接

00 = 非緩衝型 10 = 緩衝型/從屬元件 11 = 緩衝型/主元件

1 = 自動 EOI 0 = 正常 EOI

1 = 80x86 0 = MCS 80/85

微算機原理與應用 第9章 中斷要求與處理

82C59A的規劃

MOV AL,13H ;set ICW1

OUT 20H,AL ;single 8259, need ICW4 MOV AL,08H ;set ICW2

OUT 21H,AL ;vector 08H 0FH MOV AL,0DH ;set ICW4

OUT 21H,AL ;normal EOI, buffered master.

(12)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.23

OCW1格式與定義(A0 = 1)

D7 D6 D5 D4 D3 D2 D1 D0

M7 M6 M5 M4 M3 M2 M1 M0

Mn = 1 表示 IRn 對應的罩網為 1 ; Mn = 0 表示 IRn 對應的罩網為 0 。

微算機原理與應用 第9章 中斷要求與處理

9.24

OCW2格式與定義(A0=0)

D7 D6 D5 D4 D3 D2 D1 D0

R SL EOI 0 0 L2 L1 L0

見文中說明 L2 ~ L0 的值表 IR 動作的層次

(13)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.25

Rn優先權順序變化圖

IR0 IR1 IR2 IR3

IR7 IR6 IR5 IR4

最高

最低

次高

微算機原理與應用 第9章 中斷要求與處理

OCW3格式與定義(A0 = 0)

D7 D6 D5 D4 D3 D2 D1 D0

0 ESMM SMM 0 1 P RR RIS

特殊罩網型態 輪呼 讀取暫存器命令

0φ = 沒有動作 10 = 清除特殊罩網 11 = 設定特殊罩網

1 = 有 0 = 無

0φ = 沒有動作 10 = 讀取 IRR 11 = 讀取 ISR

D7 D6 D5 D4 D3 D2 D1 D0

I - - - - W2 W1 W0

(14)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.27

多個82C59A串接使用

0 0 1

8259A(主元件) 8259A(從屬元件B)

8259A(從屬元件A)

中斷要求輸入 A0

INTA

D7~D0 CS1 CS2 CS0 INTR WR RD

D011 D110 D29 D38 D47 D56 D65 D74 A027 CS1 RD3 WR2 SP/EN16 INT17

INTA26 IR018IR119

IR220 IR321IR422IR523 IR624IR725 CAS012 CAS113

CAS215 D011

D110 D29 D38 D47 D56 D65 D74 A027 CS1 RD3 WR2 SP/EN16 INT17

INTA26 IR018IR119

IR220IR321IR422 IR523 IR624IR725 CAS012 CAS113

CAS215 D011

D110 D29 D38 D47 D56 D65 D74 A027 CS1 RD3 WR2 SP/EN16 INT17

INTA26 IR018IR119

IR220IR321IR422 IR523IR624IR725 CAS012 CAS113 CAS215

微算機原理與應用 第9章 中斷要求與處理

9.28

PC中斷系統

CPU NMI

INTR

I/O通道檢查 RAM同位檢查

罩網位元(埠位址70H,位元7)

主8259A

從屬8259A INT

INT 0

1 2 3 4 5 6 7

0 1 2 3 4 5 6 7 IR0

IR1 IR2 IR3 IR4 IR5 IR6 IR7

IR8 IR9 IR10 IR11 IR12 IR13 IR14 IR15 82C54通道0

鍵盤

串列埠 2 串列埠 1 並列埠 2

FDC 並列埠 1 ( 列表機)

即時時脈 軟體重新設定為 IRQ2(INT 0AH)



(保留予I/O插槽)

(保留) FPU HDC

(15)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.29

鍵盤界面電路

鍵盤控制電路 (8042) 8255

A埠(60H)

掃描碼 IRQ1

PC 系統

1 0 B埠(61H) 位元6

位元7

微算機原理與應用 第9章 中斷要求與處理

巢路中斷要求結構

8254 定時器

INT 08H

IRET INT 82H INT 08H ISR

IRET INT 82H ISR

(STI) (STI)

(16)

林銘波編著 --- 全華科技圖書公司

第9章 中斷要求與處理

9.31

80x86中斷指令

指令 動作 OF SF ZF AF PF CF

WAIT 令 CPU 檢查數值處理器的例外狀態 - - - - - -

INT imm8 (≠3) (在實址模式)

儲存 FLAGS 於堆疊中並且清除 IF 與 TF;

儲存 CS 於堆疊中;儲存 IP 於堆疊內;

IP ← Mem(imm8×4);

CS ← Mem(imm8×4+2)

- - - - - -

INT 3 與 INT imm8( = 3)的指令相同 - - - - - - INTO (即 INT 4)若 OF = 1 則執行下列動作:

儲存 FLAGS 於堆疊中並且清除 IF 與 TF;

儲存 CS 於堆疊中;儲存 IP 於堆疊內;

IP ← Mem(10H);

CS ← Mem(12H)

- - - - - -

IRET/IRETD (在實址模式)

1. 若為 32 位元模式(IRETD 指令) 自堆疊取回 EIP (80386↑) 否則為 16 位元模式(IRET 指令) 自堆疊取回 IP ; (80x86↑) 2. 自堆疊取回 CS ;

3. 若為 32 位元模式(IRETD 指令) 自堆疊取回 EFLAGS ; (80386↑) 否則為 16 位元模式(IRET 指令) 自堆疊取回 FLAGS ; (80x86↑)

自堆疊取回先前存入的旗號位 元狀態。

微算機原理與應用 第9章 中斷要求與處理

9.32

80286 BOUND指令

指令 動作 OF SF ZF AF PF CF

BOUND r16,m16&16 (80286↑)

若 r16 的值不在(m16) ~ (m16)範圍內則 產生 INT 5 ;

否則繼續執行下一個指令。

- - - -

BOUND r32,m32&32 (80386↑)

若 r32 的值不在(m32) ~ (m32)範圍內則 產生 INT 5 ;

否則繼續執行下一個指令。

- - - -

參考文獻

相關文件

第五章 多項式.

第一章 一瞥即答 第二章 算法對決 第三章 北極出地 第四章 授時曆 第五章 改曆請願 第六章

學校危機處理小組的事前準備 附件 1:支援服務機構電話一覽表 附件

傳統與現代的交會 第四章 近代的移民與交流.. 章 節次 節名

第四章 能源 第三章 水資源與海洋資源. 南一

林銘波編著 --- 全華科技圖書公司.

[r]

中斷來源 中斷要求旗號 CPU 自動清除 中斷向量. INT0 IE0