第六章 中断技术
第一节 中断系统 一、中断基本概念 定义:CPU穿插处理随机事件的过程。 中断过程: 中断请求:CPU检测到有中断请求; 第一节 中断系统 一、中断基本概念 定义:CPU穿插处理随机事件的过程。 中断请求 中断响应 中断服务 中断结束 中断处理 中断过程: 中断请求:CPU检测到有中断请求; 中断响应:取得中断类型号、保存现场(含CS:IP)、取得中断服务程序入口地址,并置为CS:IP; 中断服务:从CS:IP处执行,用IRET触发中断结束; 中断结束:恢复现场(含CS:IP)。 回下页 回4页
二、中断系统 1、中断系统组成 由CPU中的中断机构、I/O系统中的中断控制器、OS中的中断服务程序管理机构组成。 (1)中断机构功能 自动检测多种中断请求(软件/硬件); 自动对产生的中断请求进行判优; 自动对中断请求进行响应; 自动实现中断屏蔽; 自动进行优先级管理,并支持中断嵌套处理。 转上页
管理中断向量表IVT(为中断机构取得中断服务程序入口地址提供机制)。 (2)中断控制器功能 自动检测、记录多个外部硬件中断请求; 自动对产生的中断请求进行排队、判优; 自动向CPU提出外部硬件中断请求; 根据要求自动实现中断屏蔽; 根据要求自动实现中断源的优先级管理。 (3)中断服务程序管理机构功能 管理中断向量表IVT(为中断机构取得中断服务程序入口地址提供机制)。 IVT的表项为中断服务程序入口 地址,可通过中断类型号检索。 偏移量 段地址 … 中断 类型号 全部中断 类型数*4 转2页 回19页
2、中断类型—中断请求类型 中断源类型 中断源数量 中断源 请求时机 CPU检测时机 中断请求类型取得 硬件(外部) 外部硬件中断 多个 任意时刻 指令间 CPU产生总线操作从中断控制器中得到 不可屏蔽中断 1个 不经过中断控制器,固定类型号为2 软件(内部) CPU专用 中断(异常) 指令中或指令间 指令中和指令间 根据指令执行状态或标志寄存器状态,通过约定得到 BIOS中断 指令中 根据INTn指令参数得到 DOS中断 自由中断 说明:⑴指令间指当前指令执行完、下条指令执行前; ⑵指令中指当前指令执行过程中; ⑶CPU专用中断请求类型取得由硬件实现,其他软件中断在指令译码时可取得。 保护模式下将软件(内部)中断称为异常 回下页 回7页 回10页 回13页
CPU检测方法:检测其INTR引脚和标志REG的IF位。 (1)外部硬件中断 中断请求方法: … 中断 控制器 外部硬件中断源1 CPU INTR NMI 请求 外部硬件中断源n 不可屏蔽中断源 CPU检测方法:检测其INTR引脚和标志REG的IF位。 (2)不可屏蔽中断 中断请求方法:请求信号送到CPU的NMI引脚上。 CPU检测方法:检测其NMI引脚(有效时间≥4TC),不检测标志REG的IF位。 转上页 回9页
CPU专用中断—除零、溢出、单步、断点等; BIOS中断—I/O控制、实用服务、特殊中断等; DOS中断—公开/未公开的系统功能调用; (3)软件中断 中断类型: CPU专用中断—除零、溢出、单步、断点等; BIOS中断—I/O控制、实用服务、特殊中断等; DOS中断—公开/未公开的系统功能调用; 自由中断—未定义(未使用)的中断。 中断请求方法:指令间、指令中或为INTn时产生。 CPU专用中断检测方法: --不检测标志REG的IF位 出错中断—指令执行状态电路在指令中做中断源; 调试中断—标志REG状态在指令间做中断源。 其他软件中断检测方法: --不检测标志REG的IF位 指令译码时(指令中),检测是否为INTn指令。 转5页 回11页
原则:中断机构按中断源类型采用静态优先级管理, 中断控制器可采用动态优先级管理。 3、中断请求优先级管理 原则:中断机构按中断源类型采用静态优先级管理, 中断控制器可采用动态优先级管理。 结果:①CPU专用>NMI>外部硬件>BIOS>DOS>自由,即基本按中断类型号大小排序; 中断源类型 中断类型号 中断名称 优先级管理 CPU专用 0、1,3~7 除零、单步、溢出等 静态 不可屏蔽 2 NMI 外部硬件 8~0FH,70H~77H 时钟、键盘、串口等 静态或动态 BIOS 10H~1FH,40H~5FH I/O设备控制等 DOS 20H~3FH 系统功能调用等 自由 60H~FFH 内部、未使用区等 ②应可使外部硬件各中断源服务机会均等。
所有中断源中,只有外部硬件中断可被屏蔽。 4、中断屏蔽处理 所有中断源中,只有外部硬件中断可被屏蔽。 屏蔽效果: 中断机构可屏蔽外部硬件请求,CPU不响应请求; 中断控制器可屏蔽中断源,使其不参与判优。 屏蔽种类: 中断源 中断控制器 检测 机构 判优 CPU 响应 请求 ①可使部分 请求无效 如:门电路 ②可使请求 得不到响应 如:IF=0 屏蔽方法:通过软件控制相应电路完成。 转6页 回24页
实现功能:取得中断类型号、保存现场、转入中断服务程序。 5、中断响应处理 实现功能:取得中断类型号、保存现场、转入中断服务程序。 响应时机:检测机构检测到中断请求后立即响应,不同类型中断请求在不同时侯检测。 (1)取得中断类型号 外部硬件中断:产生总线操作,通过DataBus从中断控制器取得(触发了中断控制器的中断响应); 其它中断:检测机构检测时已得到,无额外动作。 中断控制器的中断响应:当前请求作为正在处理请求、中断源被复位,向CPU提出的请求被复位等。 转5页
硬件(非软件)实现标志REG及程序断点地址压栈。 (2)保存现场 硬件(非软件)实现标志REG及程序断点地址压栈。 程序断点地址--中断返回点地址 外部硬件中断:下条指令地址(当前CS:IP); 不可屏蔽中断:当前指令地址(当前CS:IP-x); CPU专用中断: 失效(如CPU出错中断)—当前指令地址; 陷阱(如CPU调试中断)—下条指令地址; 中止(如硬件故障)—不保存(需重启机器); 其他软件中断:下条指令地址。 中断类型号与IRQ不对应。 思考:硬件连接—中断控制器不连接CPU的INTR, 中断类型号取得—通过程序定时查中断控制器的请求状态,计算出中断类型号, 转入中断服务程序—与向量中断相同。 (3)转入中断服务程序 产生总线操作,用刚取得的中断类型号查IVT或IDT,得到中断服务程序入口地址,将其置为CS:IP。 转7页
实现:通过中断服务程序中IRET指令实现。 6、中断结束处理 实现:通过中断服务程序中IRET指令实现。 处理过程: IRET实现将保存现场时压栈的信息出栈,写入标志REG及CS和IP,某些CPU可进行附加的动作。 7、中断嵌套处理 中断机构/中断控制器一般允许中断响应后(中断结束前),响应/提出高优先级请求。 缺省处理:CPU在中断响应至中断结束间,将标志REG的IF位置为0,即不允许外部硬件中断嵌套,允许其它类型中断嵌套。 手工实现:中断服务程序可将标志REG的IF位在适当时候置为1,实现允许外部硬件中断嵌套。
8、中断系统工作原理综述 中断机构、中断控制器的3个工作段并行工作。 (1)CPU中断机构工作原理 (2)中断控制器工作原理 检测 判优 响应 有请求 新请求高 时间到 说明:①不同类型中断检测时间不同; ②中断结束由中断服务程序的IRET指令触发完成,不属于中断机构硬件自动完成范围。 (2)中断控制器工作原理 检测 判优 向CPU提出请求 新请求高 排队 响应 结束 有响应操作 有结束操作 优先级管理 硬件自动完成: 响应总线操作: 回下页 转5页
中断机构针对不同类型中断,检测时机不同。 (3)中断系统工作原理 固定 检→判→响 检→判→响 结 结 优先级 测 优 应 测 优 应 束 束 响 检→排→判→请 响 结→动态 结→动态 应 测 队 优 求 应 束 优先级 束 优先级 中断2 服务 中断机构 中断 控制器 外设请求 请求1~3 检→排→判→请 测 队 优 求 软件请求 软件程序 屏蔽 请求 请求5 请求4 中断1服务 时间 中断1 嵌套 嵌 套 IVT/IDT 中断类型号→中断向量 中断机构针对不同类型中断,检测时机不同。 转上页
三、中断向量表(IVT) 1、中断向量表 开始位置:从内存地址0000:0000开始; 表项内容:中断服务程序入口地址,4B大小; 表长度:1KB=256×4B。 段地址 偏移量 … 0#中断 0000:0000 0000:0004 0000:03FF 1#中断 255#中断 IVT 2、信息装入 系统启动时已装入所有类型中断服务程序入口地址(未使用中断指向只有1条IRET指令的程序)。 3、中断程序入口地址的获取 段地址=(0+中断类型号×4+2) 偏移量=(0+中断类型号×4)
四、中断描述符表(IDT) 1、中断描述符表 开始位置:从IDTR内容所对应的主存地址开始; 表项内容:中断描述符,8B大小; 表长度:2KB=256×8B。 2、中断描述符 类型:任务门、中断门、陷阱门, 通过特征位(b40~b44)可区分类型。 3、中断描述符指针 指向IDT中的中断描述符的指针(主存地址)。 中断描述符指针=IDT基地址+中断类型号×8
中断门处理时EFLAG的IF被自动复位,陷阱门不改变IF位状态,故中断门的优先级比陷阱门高。 4、中断门/陷阱门入口地址的获取 选择符 属性 偏移 中断门/陷阱门 IDTR IDT 中断类型号 7 0 ×8 索引 线性地址 中断服务子程序 代码段 CS EIP … 基地址 边界 段描述符 GDT/LDT 中断门与陷阱门区别: 中断门处理时EFLAG的IF被自动复位,陷阱门不改变IF位状态,故中断门的优先级比陷阱门高。 中断门处理的中断源请求无嵌套。
被中断任务环境的进栈和中断任务环境的出栈均自动完成; 5、任务门TSS结构入口地址的获取 选择符 属性 偏移 任务门 IDTR IDT 中断类型号 7 0 ×8 TR 线性地址 TSS结构 … 基地址 段限 TSS描述符 GDT 基址 采用任务门进行任务切换的优点: 被中断任务环境的进栈和中断任务环境的出栈均自动完成; 中断任务和被中断任务完全隔开。
第二节 Intel 8259A 8259A应具有的功能: ⑴自动检测、记录多个中断源(可扩充)的请求; ⑵自动对中断请求(同时/先后产生)进行判优; ⑶自动实现中断屏蔽; ⑷自动向CPU提出中断请求; ⑸被动向CPU提供最高优先级的中断源类型号; ⑹自动实现中断源的优先级管理; 有多种管理方式时,可用软件选择 ⑺被动接收并执行CPU命令—任何接口均应具备 转4页 回22页
一、8259A内部结构及其工作原理 1、8259A引脚 CPU侧引脚: CS; DB0~DB7、A0、RD和WR; INT、INTA; 外设侧引脚: IR0~IR7; 级联引脚: SP/EN、 CAS0~CAS2。 回39页
(1)向CPU提出中断请求⑷原理 —IRi→INT过程 2、8259A内部结构及工作原理 IRR:用于锁存中断请求(防止遗漏); ISR:CPU响应中断时置位,中断处理完时复位; IMR:用于屏蔽中断请求,通过CPU命令置位和复位。 (1)向CPU提出中断请求⑷原理 —IRi→INT过程
检测到请求IRR置位,ISR置位时IRR复位 (2)中断请求检测与记录⑴原理 检测到请求IRR置位,ISR置位时IRR复位 & 中断屏蔽寄存器IMR … 特殊屏蔽SMM 正在服务寄存器ISR … 比 B0 较 B1 器 B2 A>B或A≥B A0 A1 A2 中断请求优先编码器 IBR 中断服务优先编码器 ≥1 … IR0 IR7 … 中断请求寄存器IRR & INT ①中断请求优先编码器实现了同时请求的排队/判优功能; ②比较器实现了先后产生的请求的判优功能; 说明:①IBR为最低优先级IRi的位寄存器,为两个编码器的编码基准; ②A2A1A0、B2B1B0为优先级编码,非IR号; ③SMM为特殊屏蔽信号,允许特殊屏蔽时为1。 回下页 转19页 回24页 回26页 回27页 回28页 回29页
8259A规则:为简化电路设计,从IR0→IR7→IR0的优先级为降序循环队列。 (3)优先级编码器原理 8259A规则:为简化电路设计,从IR0→IR7→IR0的优先级为降序循环队列。 例:IR7优先级为0时,IR0为7、IR6为1; IR2优先级为0时,IR3为7、IR1为1。 IR0 IR4 IR6 IR2 IR1 IR3 IR7 IR5 优先级编码器电路示意图: 优先 编码器 74LS148 Y2 Y1 Y0 移位寄存器 74LS194 S1 S0 CP IBR & IR0&~IMR0 IR3 &~IMR3 I0 I3 设置S1 S0 设置IBR,可改变输出 11 并行输入 01 右移 00 保持 IR4&~IMR4 IR7 &~IMR7 I4 I7 注意:循环优先级的实现 转上页
中断请求优先编码器(排队器)(IR0最高) (4)自动判优⑵原理 —优先级电路PR 中断请求编码器:负责尚未服务请求(含同时产生和先后产生的请求)的排队; 比较器:负责正在服务与尚未服务请求的判优。 时间 IR5 IR7 (IR7被 阻塞) 中断请求优先编码器(排队器)(IR0最高) 比较器(判优器) INT为高 请求:无 服务:无 ISR5置位 IR7 INT为低 IRR5复位 IR2 IR6 (IR6、IR7 被阻塞) INT为高 ISR2置位 IR6 INT为低 IRR2复位 ISR2 复位 ISR? INT=? ?? 回下页 转22页 回30页
排队—尚未服务的请求间欲获得中断服务时的优先级比较; 排队与判优概念的含义: 排队—尚未服务的请求间欲获得中断服务时的优先级比较; 判优—尚未服务请求欲在正在服务请求中进行嵌套时的优先级比较,用于中断嵌套。 嵌套方式— 即判优方式(比较器比较条件) 全嵌套 :比较器比较条件为A>B; 特殊全嵌套:比较器比较条件为A≥B。 (如:IR2请求改为IR5) 转上页
通过CPU命令,实现IMR的置位与复位。 (5)中断请求屏蔽⑶原理 包含正常屏蔽和特殊屏蔽两种手段。 正常屏蔽: 屏蔽中断源请求IRR,使其不参排队; 通过CPU命令,实现IMR的置位与复位。 特定屏蔽: 屏蔽正在服务请求ISR,使ISR不参与判优; t IR4 IR5 IR7 IR4正在服务 ISR4=1,IRR4=0 IR?正在服务 优先级:IR4>IR5和IR7 按自动排队规则处理 优先级:IR5>IR7 通过CPU命令,实现SMM的允许与禁止。 转9页 转22页
(6)响应CPU中断原理 --含提供中断类型号⑸ ①当前指令执行完毕;②EFLAG中IF=1; ③INTR信号有效。 CPU取得外部硬件中断请求类型号的动作: 发送两个INTA信号。 8259A响应CPU中断的动作: 第一个INTA—封锁中断状态(用于判优),最高优先级请求的ISR相应位置位,IRR相应位复位; 思考:为何用INTA,而不用IN/OUT命令? 用IN/OUT命令的缺点: ⑴CPU需存在8259A端口的REG,增加了成本; ⑵多片8259A芯片时,无法知道从哪个芯片上取。 第二个INTA—将最高优先级请求的中断类型号送上DataBus总线,自动结束方式时ISR相应位复位,解锁中断状态。 转22页
(7)中断结束原理 —ISR复位的时机和方法 自动结束: 时机—接收到第二个INTA时; 方法—ISR中最高优先级IR位(刚被置位)复位; 效果—按“后产生请求优先”原则判优(嵌套)。 手工结束: 时机—接收到CPU中断结束命令(EOI)时; 方法— 不指定方式—ISR中最高优先级IR位复位 指定方式—ISR中指定的IR位复位 效果—按“高优先级请求优先”原则判优(嵌套)。 回30页 转22页
不指定轮转—ISR中被自动复位IR优先权最低; 指定轮转—ISR中被指定复位IR优先权最低。 (8)优先级管理⑹原理 —设置IBR 固定优先级:IR0→IR7降序; 轮转优先级:IR0→IR7→IR0循环降序 不指定轮转—ISR中被自动复位IR优先权最低; 指定轮转—ISR中被指定复位IR优先权最低。 优先级管理实现: 时机—ISR位变化时(即中断结束处理时); 方法—控制IBR变化。 固定优先级—IBR固定为80H; 轮转优先级—IBR根据ISR变化而变化。 允许特定屏蔽:后产生的请求优先于先产生的请求,即开放优先级低于自己的请求 回下页 转22页
思考:IRR、IMR、ISR、IBR、INT置位和复位时机? 寄存器 置位时间 复位时间 备注 IRR 有请求时 ISR置位时 硬件自动实现 IMR 收到屏蔽操作时 程序实现 ISR 收到第一个INTA时 自动结束—第二个INTA时 手工结束—收到EOI操作时 IBR ISR复位时(初始化时为80H) ISR置位时不变化 INT 有高优先级请求时 收到第二个INTA时 根据判优结果而定 例:轮转优先级(不指定)、手工结束时,相关REG的变化 t IR4 IR2 IR7 IR4服务结束 IR?服务结束 IR6 CPU响应 所有中断结束 IRR:10H 00H 00H 84H 04H 44H 04H 04H 04H 00H 00H ISR:00H 10H 00H 00H 80H 80H C0H 80H 00H 04H 00H IBR:80H 80H 10H 10H 10H 10H 10H 40H 80H 80H 04H INT: 1 0 0 1 0 1 0 0 1 0 0 转28页 转上页 转24页
含请求、响应、屏蔽、嵌套、结束、优先级、级联方式 3、8259A工作模式设置 含请求、响应、屏蔽、嵌套、结束、优先级、级联方式 屏蔽方式 特定屏蔽 正常屏蔽 结束方式 自动 手工 不指定 指定 中断请求IRR IR0 IR7 … & INT ≥1 IRR优先编码器 ISR优先编码器 比较器 IBR 正在服务ISR 中断屏蔽IMR D0 D7 特殊屏蔽SMM 优先级方式 固定 轮转 不指定 指定 响应方式 向量 查询 请求方式 电平触发 边沿触发 嵌套方式 完全嵌套 特殊全嵌套 级联方式 缓冲 非缓冲 INT 转下页 转34页 转36页 转37页
特定屏蔽:是/否屏蔽ISR(置位/复位SMM位)。 (1)中断请求方式 [初始化时] 边沿触发:高电平表示有请求; 电平触发:上升沿时表示有请求。 (2)响应方式 [连接/动态操作时] 向量:INT→INTR、且IF=1; 查询:INT悬空、或IF=0。 (3)屏蔽方式 [动态操作时] 正常屏蔽:置位/复位IMR某些位; 特定屏蔽:是/否屏蔽ISR(置位/复位SMM位)。 (4)嵌套方式:[初始化时] 全 嵌 套:比较器比较条件为A>B; 特殊全嵌套:比较器比较条件为A≥B。 回上页
自动结束:中断响应时ISR中最高优先级IR位复位; 手工结束: 不指定—ISR中最高优先级(当前服务)的IR位复位 (4)结束方式 [可动态操作时] 自动结束:中断响应时ISR中最高优先级IR位复位; 手工结束: 不指定—ISR中最高优先级(当前服务)的IR位复位 指 定—ISR中被指定的IR位复位。 (5)优先级方式 [可动态操作时] 固定优先级:IR0→IR7降序,IBR为80H; 轮转优先级:IR0→IR7→IR0循环降序,IBR可变 不指定:ISR中被自动复位IR优先权最低; 指 定:ISR中被指定复位IR优先权最低。 与结束方式共享 回下页 回31页
结束方式与优先级管理的关联: 自动结束 不指定方式手工结束 指定方式手工结束 固定优先级 INTA时当前ISR位复位,IBR不变 轮转 优先 级 不指定 INTA时当前ISR位复位,并用此位改IBR 最高优先级ISR位复位,并用此位改IBR -- 指 定 INTA时ISR位已复位,用指定的位改IBR 指定的ISR位复位,并用此位改IBR 说明:只有自动结束、且固定或不指定轮转优先级管理时不需手工操作(程序)实现 转上页
主片—SP/EN接高电平;从片—SP/EN接低电平 (6)级联方式 [初始化时] INT INTA A0 CAS0~CAS2 SP/EN 从8259A IR0 IR7 GND 主8259 VCC 从8259B AB CB DB 非缓冲:SP/EN表示级联时主/从关系 主片—SP/EN接高电平;从片—SP/EN接低电平 缓冲:SP/EN表示数据传送方向,级联时主/从关系通过软件设定。 回31页
初始化操作:请求、嵌套、结束、优先级、级联 其后的操作:正常/特殊屏蔽、结束、优先级管理 (7)工作模式的设置 所有工作方式的设置均通过对8259A操作实现。 选项 加电后缺省值 设置时机 请求方式 电平/边沿 无缺省值 初始化时 响应方式 向量/查询 与INT连接有关 与IF位有关 正常屏蔽 屏蔽/不屏蔽IRR 不屏蔽全部IRR 初始化后的操作 特殊屏蔽 允许/不允许 不允许 嵌套方式 全嵌套/特殊全嵌套 全嵌套 结束方式 自动/手工 自动 初始化或其后的EOI操作 优先级管理 固定/轮转 固定 初始化后的EOI操作 级联方式 有/无 初始化操作:请求、嵌套、结束、优先级、级联 其后的操作:正常/特殊屏蔽、结束、优先级管理 回39页 回31页
4、8259A级联的请求与响应 思考1:主、从片均有请求时,谁的优先级最高? 思考2:主片或从片向DataBus送中断类型号的条件? IR0~IR7按主片相关规则请求 IR0~IR7按从片相关规则处理 响应 第一个INTA 第二个INTA 设最高优先级请求为IRi 设最高优先级请求为IRk CAS线送出i, 置位ISRi, 复位IRRi IRi未连从片时 发送中断类型号 (主片VBase+i) 各从片译码CAS线 均不命中 无动作 IRi连接从片时 命中的从片 置位ISRk、 复位IRRk (从片VBase+k) 思考1:对从片按从片的规则处理,对主片按主片的规则处理 思考2:看主片中最高优先级的IR是否连接从片,成立—从片送中断类型号;否则主片送中毒那类型号 思考3:64个 思考1:主、从片均有请求时,谁的优先级最高? 思考2:主片或从片向DataBus送中断类型号的条件? 思考3:8259A级联时最多可支持多少个中断源?
思考4:课件35页图中主片IR3、从片A的IR3、从片B的IR3同时产生中断请求时,谁的优先级最高? 思考5:级联时初始化要完成哪些基本设置? 提示:中断响应时,主片如何知道优先级最高的IR连接着从片?从片如何知道自己被选中? 思考6:级联时对主、从片的嵌套方式有何要求? 提示:采用手工结束方式时,如何实现从片的先IR4、后IR3请求的嵌套处理? 思考7:级联且手工结束时应进行哪些操作? 提示:从片有多个请求时,主片应如何处理? 思考4:从片B的IR3 思考5:主片、从片之间的对应关系应先约定好,通过REG存储, 主片通过CAS0~2发送信息到各从片,从片译码后与相关REG比较即可知道。 思考6:主片采用特殊全嵌套、从片采用全嵌套。 思考7:主片、从片的ISR均要复位,主片、从片的IBR均要修改。 思考8:请求、嵌套、结束、优先级、级联(是否有、主从片映射)方式 思考8:8259A初始化时应完成哪些设置? 请求、嵌套、结束、优先级、级联(是否有、主从片映射)方式
二、8259A编程 1、8259A的操作命令 I/O端口地址:只有二个端口(A0)。 操作命令: I/O端口与操作冲突时解决方法: ICW1~ICW4—初始化(请求、嵌套、结束、级联), OCW1—正常屏蔽, OCW2—结束方式和优先权管理, OCW3—特殊屏蔽和状态查询选择, 取状态—IMR状态、其他状态(IRR、ISR、查询字)。 I/O端口与操作冲突时解决方法: 信息字(AL)中有空闲位时—特征位方法; 信息字(AL)中无空闲位时—时序方法。 回下页 转20页 转36页
8259A命令关系表: PIC1 (主) PIC2 (从) 操 作 内容 特征位 时序 D4D3 20H 0A0H 写 ICW1 1* 无 OCW2 00 OCW3 01 21H 0A1H ICW2~ICW4 ICW2→ICW4顺序 OCW1 初始化后 读 IRR,ISR OCW3中D2~D0决定 间接访问 查询字 IMR 说明:⑴ICWx只在初始化时才会出现; ⑵每个8259A芯片均要初始化。 转上页 回ICW1 回ICW2 回ICW3 回ICW4 回OCW1 回OCW2 回OCW3
特征位:D4D3=1*;(OCW2=00,OCW3=01) (1)初始化命令ICW1 功能:设置请求、是否有级联方式 特征位:D4D3=1*;(OCW2=00,OCW3=01) ICW4功能:设定嵌套、级联、结束方式, 缺省值为全嵌套、非缓冲、自动结束方式; 优先级管理:缺省为固定优先级。 转命令表
功能:设置IRi在IVT的位置(中断类型号) 如:主片为08H~0FH,从片为70H~77H,…… (2)初始化命令ICW2 功能:设置IRi在IVT的位置(中断类型号) 如:主片为08H~0FH,从片为70H~77H,…… IR中断类型号=高5位(ICW2设置)+低3位(IR编码) 例:IR3的中断类型号为08H+03H=0BH IR4的中断类型号为08H+04H=0CH 初始化时序: A0=0 ICW1 A0=1 ICW2→[ICW3]→[ICW4] 转命令表
主片ICW3:哪些位对应的IR有从片连接; 从片ICW3:连接到主片那个IR的编码。 功能:设置级联时主片与从片的连接关系 主片ICW3:哪些位对应的IR有从片连接; 从片ICW3:连接到主片那个IR的编码。 初始化时序:ICW1→ICW2→[ICW3]→[ICW4]。 ICW1 ICW2 ICW1的 D1=1 ICW3 D0=1 ICW4 Y N 转命令表
说明:非缓冲方式级联时,主、从片关系由SP/EN电平决定(高电平为主片、低电平为从片)。 (4)初始化命令ICW4 功能:设置嵌套、级联、结束方式 说明:非缓冲方式级联时,主、从片关系由SP/EN电平决定(高电平为主片、低电平为从片)。 转命令表 转50页
A1=1,读—取正常屏蔽状态(每位对应一个IR) (5)操作命令OCW1 功能:正常屏蔽操作 特征位:无,时序:无。 初始化后A1=1端口操作: A1=1,写—正常屏蔽操作(1/0—是/否屏蔽) A1=1,读—取正常屏蔽状态(每位对应一个IR) 转命令表
特征位:D4D3=00;(ICW1=1*,OCW3=01) 功能:结束方式和优先级管理操作 特征位:D4D3=00;(ICW1=1*,OCW3=01) OCW2使用时机: 手工结束方式(ISR复位); 变换优先级管理方式、指定轮转优先级。 回下页 转命令表
结束方式与优先级管理关系表: 例:MOV AL,20H OUT 20H,AL的含义是什么? 不指定\指定 固定\轮转 自动\手工 特征位 命令功能 R SL EOI 0 0 L2 L1 L0 结束方式 优先级管理 0 0 0 0 0 0 0 0 自动EOI 优先权固定 0 0 1 0 0 0 0 0 非自动EOI[不指定] 0 1 1 0 0 L2 L1 L0 非自动EOI[指定] 1 0 0 0 0 0 0 0 优先权自动轮转 1 0 1 0 0 0 0 0 1 1 1 0 0 L2 L1 L0 优先权指定轮转 1 1 0 0 0 L2 L1 L0 例:MOV AL,20H OUT 20H,AL的含义是什么? 转上页
特征位:D4D3=01; (ICW1=1*,OCW2=00) 功能:设置状态查询类型和特定屏蔽操作 特征位:D4D3=01; (ICW1=1*,OCW2=00) 8259A规定:因端口冲突,读取IRR、ISR、状态查询字需要采用间接访问方式完成。 思考:设置ESMM、RR的目的? 防止某操作改变以前的其它操作效果 回下页 转命令表
读取IRR、ISR和状态查询字: 查询字格式: 特定屏蔽管理: P RR RIS 0 1 0 0 1 1 0 0 * 1 * * 功能 不可读取任何寄存器内容 读取状态查询字内容 应用 MOV AL,0AH OUT 20H,AL IN AL,20H MOV AL,0BH MOV AL,0CH 查询字格式: D7(I)— I=1有中断请求,I=0无中断请求; D2~D0(W2~W0)—所有请求中优先级最高的IR编码。 特定屏蔽管理: 允许特定屏蔽 不允许特定屏蔽 MOV AL,68H OUT 20H,AL MOV AL,48H 转上页
不同8259A(即主、从片)的I/O端口地址不同; 2、8259初始化编程 (1)初始化编程步骤 (2)初始化编程示例(下页) (3)初始化编程注意点 不同8259A(即主、从片)的I/O端口地址不同; 8259A级联时,每个8259A均必须有完整的初始化过程(端口地址和部分参数不同而已); 初始化刚完成时IR0的优先级最高。 转下页 回44页
单片8259A初始化编程示例: INTM00 EQU 020H ;8259A端口0 INTM01 EQU 021H ;8259A端口1 …… MOV AL, 00010011B ;ICW1:边沿触发,要ICW4; ;单片方式(不要ICW3)。 OUT INTM00, AL JMP SHORT $+2 ;I/O端口延时 MOV AL,00001000B ;ICW2:设置起始中断向量为08H OUT INTM01, AL JMP SHORT $+2 MOV AL,00000001B ;ICW4:非缓冲,全嵌套,自动结束 回上页
三、现代微机中8259A的应用 1、82801A中8259A级联 注意: 主、从区分; IRQ优先级; 请求与响应。 回下页 回54页
MOV AL, 00010001B ;ICW1:边沿触发,要ICW4 ;级联方式(要ICW3)。 OUT INTM00, AL INTM00 EQU 020H ;主8259A端口0 INTM01 EQU 021H ;主8259A端口1 …… MOV AL, 00010001B ;ICW1:边沿触发,要ICW4 ;级联方式(要ICW3)。 OUT INTM00, AL JMP SHORT $+2 ;I/O端口延时 MOV AL, 00001000B ;ICW2:主片的起始中断向量为08H OUT INTM01, AL JMP SHORT $+2 MOV AL, 00000100B ;ICW3:表示8259A从片的INT输出 ;是连接到主片的IR2。 MOV AL, 00000001B ;ICW4:非缓冲,全嵌套,自动结束 转上页
MOV AL, 01110000B ;ICW2:从片的起始中断向量为70H OUT INTS01, AL INTS00 EQU 0A0H ;从8259A端口0 INTS01 EQU 0A1H ;从8259A端口1 …… MOV AL, 00010001B ;ICW1边沿触发,要ICW4 ;级联方式(要ICW3)。 OUT INTS00, AL JMP SHORT $+2 MOV AL, 01110000B ;ICW2:从片的起始中断向量为70H OUT INTS01, AL MOV AL, 00000010B ;ICW3:设置从片的识别标志, ;指定对应主片的IR2。 MOV AL, 00000001B ;ICW4:非缓冲,全嵌套,自动结束 转52页
2、中断请求线连接及中断控制 8259A IR输入 典型的中断源 被连接的引脚/功能 主片 内部 内部定时/计数器0的输出 1 键盘 内部 内部定时/计数器0的输出 1 键盘 通过SERIRQ来的IRQ1 2 从控制器的级联引脚 3 串行端口2 通过SERIRQ来的IRQ3 4 串行端口1 通过SERIRQ来的IRQ4 5 并行端口/普通 通过SERIRQ来的IRQ5 6 软磁盘 通过SERIRQ来的IRQ6 7 通过SERIRQ来的IRQ7 从片 内部实时时钟 内部RTC 普通 通过SERIRQ来的IRQ9 通过SERIRQ来的IRQ10 通过SERIRQ来的IRQ11 PS/2鼠标 通过SERIRQ来的IRQ12 基于处理器FERR#的状态机输出 基本IDE电缆 从输入信号来或通过SERIRQ来的IRQ14 第二IDE电缆 从输入信号来或通过SERIRQ来的IRQ15 回下页 回61页 回63页 回66页
现代微机中断控制过程: SIO LPC47B27X … ①IRQx 82801BA CPU 82815EP ⑥两个INTA ②SERIRQ ③INTR IRQ14,15 82815EP ⑦中断类型号 ④INTA ⑥两个INTA ⑧中断类型号 ⑤INTA LPC接口 中心高速接口 CPU总线接口 转上页 回64页
第三节 实模式下中断编程 一、中断编程注意点 1、使用正确的中断号 物理连线IRi、存放中断服务程序入口地址的中断号间要对应 第三节 实模式下中断编程 一、中断编程注意点 1、使用正确的中断号 物理连线IRi、存放中断服务程序入口地址的中断号间要对应 2、中断编程不应破坏系统环境 程序使用某中断号时,应先保存该中断号原始中断向量,程序退出前应恢复原始中断向量 3、避免中断程序中DOS重入 执行INT 21H过程中可能会处理中断请求,若中断程序中使用INT 21H可能会使系统瘫痪
中断服务程序的执行时间太长或有人-机交互,会导致系统的异常 4、中断程序执行时间的正确估计 中断服务程序的执行时间太长或有人-机交互,会导致系统的异常 5、中断的打开与关闭 CPU从中断响应开始,到中断结束(IRET)前自动使标志REG的IF=0; 中断服务程序必须使IF=1,才可能实现嵌套功能 6、中断程序结束处理及返回 从片 主片 自动结束 手工结束 从片请求的结束处理 无动作 向从片发EOI命令 从片的ISR仅有1位有效时向主片发EOI命令 主片请求的结束处理 -- 向主片发EOI命令
二、中断处理程序举例 ;主程序 …… OLD0C DD ? CODE SEGMENT MOV AX, 350CH ;保存原来的0CH中断向量 INT 21H ;输入参数在AX中,返回参数在BX、ES中 MOV WORD PTR OLD0C,BX MOV WORD PTR OLD0C+2,ES CLI ;关中断,禁止所有外部硬件中断请求 MOV AX,CODE ;写入新的0CH中断向量 MOV DS,AX MOV DX,OFFSET SERVICE MOV AX,250CH INT 21H ;输入参数在DS、DX、AX中 STI ;开中断,允许外部硬件中断中断请求 …… ;其它程序段
;中断处理子程序 SERVICE PROC PUSHA ;保护现场 PUSH DS STI ;打开中断,允许其它中断嵌套处理 …… ;串口数据处理程序 CLI ;关闭中断 ;若8259A设置为手工结束方式,则需要发EOI命令 ;MOV AL,0A0H ;0A0H表示不指定手工结束、 ;且自动轮转优先级管理 ;OUT 20H,AL POP DS ;恢复现场 POPA IRET SERVICE ENDP
第四节 PCI中断 一、PCI中断的请求 PCI中断引脚:INTA#、INTB#~INTH#。 只能采用电平触发方式,漏极开路实现同一引脚的中断请求的共享。 PCI中断请求:PIRQA#~PIRQH#。 互斥IRQ:3~7,9~12;14,15非SERIRQ中断 PCI中断的请求过程:INTx#→INT(或INTR) PCI中断控制器将PIRQ请求映射成ISA中断的IRQ请求,服从8259A的管理规则,只能映射到部分IRQ。 回下页 转55页
PIRQ到IRQ的映射过程: 管理程序 使用 情况 ① 映射内容 ② IRQ3 IRQ15 … PCI引脚 PCI请求 INTA# PIRQA INTH# PIRQH PIRQ路由REG 卡1 功能1 功能8 头区域:中断引脚REG 中断请求线REG 卡n 功能1 IRQ请求 INTA# INTB# 系统配置程序 ③ IDTR 中断服 务程序 驱动程序加载 ④ 转上页 回下页
通过SERIRQ来的已映射中断的IRQ不可再被ISA设备使用; PIRQ到IRQ映射对双方的限制: 只能映射部分ISA中断(3~7,9~12,14~15); 通过SERIRQ来的已映射中断的IRQ不可再被ISA设备使用; 不通过SERIRQ来的已映射中断的IRQ可再被ISA设备使用。 PCI中断请求的优先级: 不同PIRQ的优先级与所映射的IRQ相同。 不同设备同一PIRQ的优先级由安装次序决定: 最后安装的设备的PIRQ最高(保存原中断向量后,写入自己的中断向量--中断服务程序入口地址)。 转上页 转55页
二、PCI中断响应 具有PCI总线的系统中断控制器一般在第一级PCI总线上(隐含在82801BA内部)。系统中断控制器集成了8259A和PCI中断控制器功能。 82801BA将CPU发出的中断响应信号,自动转换成PCI总线的中断响应操作(可插入等待周期),中断控制器再将PCI中断响应操作转换成两个INTA。 CLK FRAME# 1 2 3 4 5 AD C/BE# IRDY# TRDY# 无效 向量 INT-ACK BE#s(1110) 系统中断控制器将中断类型号通过82801BA的中心接口给815EP,再返回给处理器。 转56页
三、PCI中断共享的服务 同一PIRQ中断各中断向量管理方法: PNP配置时采用链表式管理方法--将同一PIRQ的原中断向量存放到其设备驱动的特定寄存器后,才替换为新的中断向量。 PCI中断服务程序实现方法: ①读取自身中断状态位,若无中断请求,转③; ②处理自身中断请求; ③调用中断向量链表中下一个中断向量; ④中断返回。
第五节 串行中断 一、串行中断结构 传输方式:同步(PCICLK)单线传输; 信号表示: 遵循PCI信号使用的三态协议 第五节 串行中断 一、串行中断结构 SIO LPC47B27X … IRQx 82801BA SERIRQ CPU INTR IRQ14,15 传输方式:同步(PCICLK)单线传输; 信号表示: 遵循PCI信号使用的三态协议 (取样、恢复、翻转); 取样 恢复 翻转 PCICLK SERIRQ 传输格式:SERIRQ上信息分帧传输; 传输内容:SERIRQ不支持IRQ0、8、13中断传输。 转55页
二、帧结构 一次信息传输由开始帧、数据帧、停止帧构成。 1、信息帧内容 开始帧:4、6或8个时钟宽度低电平; 数据帧:21×3个时钟宽度,即21个中断源信息; 停止帧:2或3个时钟宽度低电平。 2、传输方式 开始帧 数据帧 停止帧 连续模式 82801BA发出 SIO LPC发出 静态模式 模式转换:停止帧长度为2—下次传输为静态模式; 停止帧长度为3—下次传输为连续模式。 回下页
三、串行中断传输工作原理 82801BA SIO LPC 信号线定义: 传输格式:空闲 开始帧 数据帧 停止帧 空闲 {IRi} SERIRQ PCICLK 信号线定义: 传输格式:空闲 开始帧 数据帧 停止帧 空闲 4/6/8CLK 3CLK×21 2~3CLK 帧结构: 传输模式:连续 静态 模式转换:连续/静态→静态 2CLK 连续/静态→连续 3CLK 转上页
第六节 APIC 一、APIC子系统组成 1、组成 Local APIC、I/O APIC和APIC总线(P4后为系统总线) 处理器核心 模块 I/O APIC 模块 INTIN 23 INTIN 0 系统中断请求 APIC 时钟 PICD0 PICD1 PICCLK LINT0/ INTR LINT1/ NMI 处理器0 处理器1 回下页
经APIC总线送来的处理器间中断请求(IPI); Local APIC: 包含了8259A和8254的功能。 响应中断: I/O APIC送来的系统中断请求; 经APIC总线送来的处理器间中断请求(IPI); 本地的中断请求(定时、错误、计数、连线)。 I/O APIC: 多达24个中断; 中断优先级与中断号独立; 不需要中断响应周期。 可选择某个或一组处理器中的一个为目标处理器。 转上页
组成:APICD0、APICD1、APICCLK。 类型:串行同步总线。 串行时序:不同时钟先高位,后低位;同一时钟D1高位,D0低位。 内容:EOI命令和短消息。 应用:连接的每个模块均有自己的模块ID(为固定值); APICD1、APICD0为集电极开路门:见‘1’,APICD*为低电平;全‘0’,APIC*为高电平。 每个模块均有自己的仲裁ID(可变,初值来自模块ID)。
2、APIC中断类型 系统中断: 类型:经I/O APIC模块引脚送入的中断请求。 处理:交中断请求指定的目标处理器处理。 本地中断: 类型:定时、计数、错误、INTR及NMI。 处理:只能由本地处理器处理。 处理器间中断: 类型:电平撤消初始化、初始化、启动、远程读、SMI、NMI等。 处理:交目标处理器处理。
二、I/O APIC的寄存器 1、直接访问寄存器 INDR:[R/W]存放需访问的间接寄存器编号。 DATR:[R/W]间接访问寄存器访问结果。 IRQPAR:[W]存放声明方式产生的中断向量号。 EOIR:[W]存放正在服务(将结束)的中断向量号。 2、间接访问寄存器 IDR:[R/W32B]存放模块自己的固定的ID。 VERR:[R32B]存放有无IRQ声明和重定向寄存器数。 ARBIDR:[R32B]存放模块的仲裁ID。 BOOT_CONFIGR:[R/W32B]存放中断传递方式。 回77页
RDR:[R/W64B]索引编号10H~3FH, 每个RDR占两个号。 中断向量 逻辑模式--8位 物理模式--低4位 传递模式 Vector DM DS DtM RIRR TM M 目标APICID L 中断向量 传递模式 000—固定式 001—最低优先权式 100—NMI 111--ExtINT 目标模式 0—物理方式 1—逻辑方式 递交状态 0—空闲 1—正在递交 逻辑模式--8位 物理模式--低4位 屏蔽位 0—允许 1—屏蔽 远程中断请求返回 0—无 1—中断未决 引脚极性 0—高电平激活 1—低电平激活 触发模式 0—边沿 1—电平 重定向表由24个重定向寄存器(RDR)构成,对应24个中断引脚。 RDR用于将中断请求转换成APIC消息。 RIRR类似于8259中ISR中的某个位,表示中断结束
三、APIC工作过程 1、中断请求产生并递交 收到引脚信号有效改变时,置位RDR的RIRR位,争取总线使用权后,向APIC总线发送短消息。 2、处理器接受中断请求产生并服务 目标处理器(可能多个)的Local APIC收到请求后,根据传递模式,确定本处理器是否命中。 命中的目标处理器做相应中断处理,当处理器核心执行的代码优先级低于中断请求优先级时处理中断。
3、中断结束阶段 中断为电平触发方式时,发布EOI命令通知I/O APIC做结束处理。 当前处理器的总线使用权降为最低。
四、APIC工作模式 1、APIC总线仲裁 结构:分布式仲裁。 空闲状态:D1D0=11(某消息结束后)。 仲裁周期:5个时钟周期。 CLK D1 D0 解释 1 EOI D1=1:常规,D1=0:EOI 2 NOT (ARBIDR[27]) 仲裁ID,如果82801BA检测到的值和自己发送的值不一样就失去仲裁资格。 3 NOT (ARBIDR[26]) 4 NOT (ARBIDR[25]) 5 NOT (ARBIDR[24]) EOI传输优先级高于正常传输。 转73页
仲裁算法:轮转优先级算法。 仲裁得胜者置为0,其余模块一律加1。 2、目标模式(DtM) EOI消息目标:隐含为某I/O APIC。 短消息目标:为处理器,由目标模式和传递模式所确定。 物理目标模式: 用处理器的APIC ID作为确定目标处理器条件; 当目标ID=1111时,所有处理器均为目标处理器。 逻辑目标模式: 可选单处理器或一组处理器作为目标。 处理器相关REG:目标格式REG和逻辑目标REG。
平展方式例 保留 方式 1111—平展方式 0000—成组方式 DFR 格式: 保留 逻辑ID 27 28 31 1111—平展方式 0000—成组方式 DFR 格式: 保留 逻辑ID 23 24 31 平展方式时,为目标处理器的位映射,只能有1位为1 成组方式时,高4位为组号,低4位为组内的位映射 LDR 格式: 逻辑ID 00000001 处理器0 00000010 处理器1 00000100 处理器2 00001000 处理器3 目标ID 00001010 APIC总线 I/O APIC模块 平展方式例
成组方式例 逻辑ID 00000001 处理器0 00000010 处理器1 00010001 处理器2 00010010 处理器3 00001001 APIC总线 I/O APIC模块 成组方式例 组0 组1
3、传递模式(DM) 对应不同中断类型的处理方式。 D10 D9 D8 含 义 0 0 0 含 义 0 0 0 固定方式,传递信号到所列出的所有目标处理器的INTR脚上,触发方式可以是边沿和电平 0 0 1 最低优先权方式,传递信号到所列出的所有目标处理器中具有最低优先权处理器的INTR脚上,触发方式可以是边沿和电平 0 1 0 SMI,请求中断编程为边沿触发,向量信号没有用,必须为0 0 1 1 远程读,读目标处理器Local APIC寄存器内容,寄存器号由中断向量给出 1 0 0 NMI,传递信号到所列出的所有目标处理器的NMI脚上,向量信号被忽略 1 0 1 INIT,通过声明INIT信号传递信号到所列出所有目标处理器 1 1 0 启动,目标处理器到000FF000H处执行BOOT代码 1 1 1 传递信号到所列出的所有目标处理器的INTR脚上,该信号作为与8259兼容的外部中断
处理器间中断:SMI(010)、远程读(011)、初始化(101)、启动(110)。 传递模式与目标模式关系: DM为001时目标可选; DM为其它时目标固定。 中断类型与传递模式关系: 系统中断:000、001、111; 本地中断:INTR(000、111),NMI(100), 其他(000); 处理器间中断:SMI(010)、远程读(011)、初始化(101)、启动(110)。 传递模式作用: 确定消息子类型; 配合目标模式进一步选择目标处理器。 001方式目标的选择放在后面讲。
4、触发模式(TM) 边沿触发:只能连接一个设备; 电平触发:可多个设备共享一个中断请求。 电平触发的中断请求服务后,处理器需发EOI命令结束中断处理(本身和I/O APIC)。 如何识别新的有效请求: IR复位时,请求线为高电平认为有新请求。
五、APIC总线消息 EOI消息与其他消息区分: 第一时钟D1D0为00,其他消息为10。 消息 使用 时钟数 传递 模式位 解释 14 xxx 在电平触发中断模式下由Local APIC发送到I/O APIC的中断结束消息。EOI在仲裁开始时由EOI位被测出。 短消息 21 000,001, 010, 100, 101, 111 I/O APIC传递在固定、NMI、SMI、INIT、外部中断和工作处理器的最低优先级的几种消息模式上。 最低优先消息 33 001 当状态域指明处理器没有工作时的最低优先中断传送。 远程读消息 39 011 从一个Local APIC传送到另一个Local APIC用于读寄存器的消息。 EOI消息与其他消息区分: 第一时钟D1D0为00,其他消息为10。
所有类型的消息前5个时钟格式均相同。 非EOI消息通过递交模式区分。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 M2 M0 TM V6 V4 V2 V0 D4~ D7 D2 D0 C A A1 D3 D1 V7 V5 V3 V1 极 性 Dt M M1 ID3 ID0 APICCLK APICD0 APICD1 区 间 … 所有类型的消息前5个时钟格式均相同。 后同步信号作用 非EOI消息通过递交模式区分。
主要用于系统中断请求、部分处理器间中断请求。 1、EOI消息(CPU→I/O APIC) 消息类型 仲裁 ID 刚结束的中断向量 中断向量 校验和 后同步信号 状态A 状态A1 空闲状态 1 4 2、短消息(I/O APIC→CPU) 消息类型 仲裁 ID 目标 模式 传递 引脚极性与 触发模式 中断 向量 目标位 信息 校验和 1 4 后同步信号 状态A 状态A1 空闲状态 1 主要用于系统中断请求、部分处理器间中断请求。
前部分与短消息类同(空闲状态段除外),后部: 3、没有工作处理器的最低优先消息 前部分与短消息类同(空闲状态段除外),后部: 处理器优先级 仲裁 ID 状态 空闲状态 8 4 1 特征:传递模式为最低优先权方式。 消息用途: 用于从一组侯选处理器中选出一个目标处理器。 目标位为目标模式中相应目标对象编码 固定传递方式: 目标模式中的侯选目标处理器全部被选中。
最低优先权传递方式: (只选其一) 每个处理器Local APIC有任务优先权寄存器TPR、处理器优先权寄存器PPR及仲裁优先权寄存器APR。 TPR由操作系统根据当前任务设置。 PPR由处理器根据当前任务自动设置, 无中断时PPR=TPR,中断处理时PPR>TPR。 处理器执行(或潜在执行)的任务的中断优先权APR=max(TPR,PPR,正在处理的中断IRR)。
收到IRR的处理: 所有侯选处理器发送消息(没有工作处理器的最低优先消息)后半部分到总线上竞争IRR处理权。 消息中的处理器优先级为APR。 侯选处理器APR最大者取得IRR处理权。 侯选处理器APR相同时的处理: 侯选处理器APICID最大者为命中目标。
前部分与短消息类同(空闲状态段除外),后部: 4、远程读消息 前部分与短消息类同(空闲状态段除外),后部: 远程寄存器数据 状态 寄存器数据 校验和 空闲状态 16 4 1 特征:传递模式为远程读方式。