Files
final-exam/接口与通讯技术/重点复习/填空题专题/8259A中断管理基础.md
T

5.0 KiB
Raw Blame History

tags, create time
tags create time
接口与通讯技术
8259A
中断管理
重点复习
2026-06-28 15:00

8259A 中断管理基础

概述

82C59A(8259A)是 x86 系统中最核心的中断管理芯片,在 3 套试卷中出现了 6 道填空题,是最高频考点。本专题聚焦填空题常考的四个核心知识点:单片管理级数、级联扩展、中断类型号传递机制以及中断号取值范围。

正文

1. 单片管理级数

一片 82C59A 内部有 8 个中断请求输入引脚(IR0 ~ IR7),因此单片最多管理 8 级中断。

引脚 编号 说明
IR0 最高优先级 默认优先级最高
IR1 ~ IR6 中间优先级 依次递减
IR7 最低优先级 默认优先级最低

[!tip] 记忆口诀 "一片 59A 八个脚,IR 零到 IR 七,管理八级中断源。"

2. 级联扩展

多片 82C59A 可以通过级联方式扩展中断管理能力:

graph TB
    subgraph 单片
        A1["IR0~IR7"] --> A2["8 级中断"]
    end
    subgraph 两级级联
        B1["主片 IR0~IR7"] --> B2["从片 1~8"]
        B2 --> B3["每片从片 8 级"]
        B3 --> B4["最多 64 级"]
    end
配置 中断级数 说明
单片 8 级 IR0~IR7 全部直接使用
一主一从 15 级 从片占用主片 1 个 IR(8+8-1=15)
两级级联(最多) 64 级 主片 8 个 IR 各接一片从片,8×8=64

[!important] 考试关键点 "两级级联最多可管理 64 级中断"——这是理论最大值(8×8=64),不是实际可用值。实际一主一从只有 15 级(因为主片要留一个 IR 给从片)。

[!question] 思考题 为什么理论最大是 64 级,而不是 8×7=56 级?

答:64 级是理想情况——主片 8 个 IR 各接一片从片(8×8=64),此时主片的所有 IR 都被从片占用,没有留给外部设备的中断引脚。如果主片还要留引脚给外部设备,则实际可用级数 = 8 + 外部引脚数×0 + 从片数×8,例如一主一从 = 7 + 8 = 15 级。

3. 中断响应:两个 INTA 脉冲

当可屏蔽中断被响应时,CPU 发出两个 INTA(中断应答)负脉冲,82C59A 在第二个脉冲中向 CPU 提供中断源的中断类型号(中断号):

sequenceDiagram
    participant CPU as "CPU"
    participant PIC as "82C59A"
    participant IVT as "中断向量表"
    CPU->>PIC: "第一个 INTA 负脉冲"
    Note over PIC: "锁定最高优先级中断<br/>ISR 对应位置 1<br/>IRR 对应位清 0"
    PIC->>CPU: "无数据"
    CPU->>PIC: "第二个 INTA 负脉冲"
    PIC->>CPU: "中断类型号(8 位)"
    CPU->>IVT: "类型号 × 4 → 查向量表"
    IVT->>CPU: "CS:IP 中断服务入口"

[!important] 两个 INTA 脉冲的区别

脉冲 82C59A 的操作 CPU 获得的数据
第一个 INTA 锁定优先级、更新 ISR/IRR 无
第二个 INTA 将中断类型号送上数据总线 中断类型号(8 位)

4. 中断号取值范围

8086 微机的中断系统为每个中断源分配一个中断号(中断类型号),中断号为 8 位,取值范围为:

00H \sim FFH \quad (0 \sim 255)

共 256 个中断向量,每个向量占 4 字节(CS:IP),中断向量表位于内存最低端:

项目 值
中断号范围 00H ~ FFH(0 ~ 255)
向量表起始地址 00000H
向量表大小 256 × 4 = 1024 字节 = 1KB
向量表结束地址 003FFH
向量地址计算 中断号 × 4
graph LR
    A["中断号 N"] --> B["N × 4"]
    B --> C["向量地址"]
    C --> D["00000H + N×4"]
    D --> E["4 字节: IP低 IP高 CS低 CS高"]

[!example] 计算示例 中断号 08H 的向量地址 = 08H × 4 = 20H,存放在 00020H~00023H 四个字节。

5. 中断类型号分布

中断号范围 用途
00H~07H 内部中断(除法错误、单步等)
08H~0FH 主 82C59A 管理的外部中断(IRQ0~IRQ7)
70H~77H 从 82C59A 管理的外部中断(IRQ8~IRQ15)
10H~FFH 软中断(INT n)及系统保留

6. 真题回顾

[!example] 【真题】一片 82C59A 能管理______级中断。

答案:8

[!example] 【真题】一片 82C59A 能管理 8 级中断,若采用级联方式,两级级联最多可管理______级中断。

答案:64

[!example] 【真题】当可屏蔽中断被响应时,82C59A 在第二个中断响应负脉冲中,向 CPU 提供中断源的______。

答案:中断类型号(中断号)

[!example] 【真题】8086 微机的中断系统为每个中断源分配一个中断号,中断号的取值范围是______。

答案:00HFFH(0255)

关联笔记