1 / 78

第七章 输入输出系统

第七章 输入输出系统. CPU. 主存. CPU. 主存. 总线. 总线. I/O 管理部件. I/O 接口. I/O 接口. I/O 接口. I/O 接口. …. …. I/O 设备. I/O 设备. I/O 设备. I/O 设备. I/O 通过 CPU ( 标准化 方式 ). I/O 可以 不 通过 CPU ( 标准化 方式 ). §7.1 I/O 系统概述. 一、 I/O 系统的基本组成. 1 、 I/O 系统的硬件 * I/O 系统的发展: 可扩展性、性能. 主存. 主机. CPU. I/O 设备.

oleg-mason
Download Presentation

第七章 输入输出系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第七章 输入输出系统

  2. CPU 主存 CPU 主存 总线 总线 I/O管理部件 I/O接口 I/O接口 I/O接口 I/O接口 … … I/O设备 I/O设备 I/O设备 I/O设备 I/O通过CPU (标准化方式) I/O可以不通过CPU (标准化方式) §7.1 I/O系统概述 一、I/O系统的基本组成 1、I/O系统的硬件 *I/O系统的发展:可扩展性、性能 主存 主机 CPU I/O设备 I/O通过CPU (非标准化方式) *I/O硬件的组成: 由I/O设备、I/O接口、I/O管理部件组成

  3. I/O指令一般格式: 操作码 设备码 命令码 操作码—表示输入、输出 (操作码形式) 设备码—选择I/O设备及操作种类 (地址码形式) 命令码—对该I/O设备的操作内容 (地址码形式) 2、I/O系统的软件 *I/O软件的任务:①信息的传送(输入及输出) ②主机与I/O系统的传送工作协调 *I/O软件的组成:用指令或程序表示 I/O指令—CPU发出的CPU与I/O设备间传送的机器指令 通道指令—通道发出的主存与I/O设备间传送的专用指令 *I/O系统组成: 由I/O设备、I/O接口、I/O管理部件及I/O指令等组成

  4. CPU 主存 总线 1 I/O接口 n I/O接口 … I/O设备 I/O设备 二、I/O设备与主机的联系 1、I/O设备与主机的连接方式 *连接方式:有辐射方式、总线方式两种, 常采用总线方式(需设置I/O接口[操作标准化]) *总线方式连接的I/O实现需求: 机器指令—能区分操作的目标设备类型[主存或I/O设备], 能区分操作的目标设备[哪个单元或I/O设备] I/O设备(接口)—能主动判断自身是否为操作的目标设备

  5. X+N-1 … X X-1 … 0 I/O设备 地址、数据 MEMR#、MEMW# 主存 CPU MEM 地址、数据 MEMR#、MEMW# I/O设备 或接口 2、I/O设备的编址方式 指机器指令如何区分操作的目标设备类型(主存或I/O设备) (1)统一编址方法 *I/O实现方法: 机器指令—用统一的MEM读、MEM写指令表示 总线信号—用统一的MEMR#、MEMW#信号实现操作控制 MEM读/MEM写指令的地址码范围 设备选择—用机器指令中地址码(设备码)选择 *特点:无需增加机器指令、地址码较长,主存不易扩展

  6. 地址、数据 MEMR#、MEMW# X-1 … 0 MEM 主存 N-1 … 0 I/O设备 CPU 地址、数据 IOR#、IOW# MEM读/MEM写指令 的地址码范围 输入/输出指令 的地址码范围 I/O设备 或接口 3 (2)独立编址方法 *I/O实现方法: 机器指令—用单独的输入、输出指令表示 总线信号—用单独的IOR#、IOW#信号实现操作控制 设备选择—用机器指令中操作码、地址码(设备码)选择 *特点:需增加2条机器指令、地址码较短, 易单独扩展主存及I/O设备

  7. IOR# IOW# MEMR# MEMW# CPU 主存 & 地址锁存器 数据缓冲器 & =1 设备硬件 命中 比较器 3、I/O设备的寻址 指机器指令如何区分操作的目标设备, I/O设备(接口)如何判断自身是否为操作的目标设备 *I/O设备的编址及实现: 编址—每个I/O设备分配有一个惟一的设备号 实现—电路(固定)、或寄存器(OS分配[机器启动时]) *I/O设备的寻址实现: 内部的设备选择电路监视总线状态,有I/O操作时比较自身设备号与总线上的地址、判断自身是否为目标设备 设备号 寄存器 或电路

  8. CPU 主存 总线 … … … I/O接口 I/O接口 I/O接口 Strobe Ack CLK I/O设备 I/O设备 I/O设备 4、I/O设备与主机的联络方式 指I/O设备与主机(或I/O接口)间的传送定时方式 *异步联络方式:采用异步定时方式, 联络信号可为Strobe、Ack/Ready等 *同步联络方式:采用同步定时方式,联络信号可为CLK *立即响应方式:I/O设备随时响应主机操作,无联络信号

  9. CPU 主存 键盘接口 视频压缩卡 打印机接口 显卡 … 键盘 摄像机 打印机 显示器 三、I/O设备与主机的传送控制方式 指主机对I/O操作的管理方式,又称I/O方式 *I/O操作的特征:I/O设备-主存间的传送 *I/O设备的特征:①传送速度不同 ②传送数据量不同(字符/次、块/次) *I/O方式(操作管理)的目标: ①减少传送所占CPU时间如I/O设备(接口)─主存直接传送 ②提高传送速度如批量传送(字符/次×次数/批)

  10. 程序查询方式 程序中断方式 直接存储器访问(DMA)方式 通道及I/O处理机(IOP)方式 程序控制方式 *I/O组织方式示例:老师要10个孩子轮流、每人吃4颗糖 ①先给某孩子一颗糖,看着他,等到他吃完时给下一颗…; 再给另一孩子… 类比于总线连接 ②先给某孩子一颗糖,改作业,收到他一颗吃完的报告时给下一颗…; 再给另一孩子… ③先告诉某孩子吃糖规则(共4颗糖,自己拿、每次一颗…),改作业,收到他全部吃完的报告时,再告诉另一孩子… ④先写好吃糖规则及孩子名单、告诉班长按规则处理,改作业,收到他管理有困难的报告时处理该问题…;或由班长全权负责 *I/O传送控制方式的种类:

  11. IOR指令 (状态=0) IOR指令 (状态=1) … 转发状 态(=0) 转发状 态(=1) … IOW指令 (命令) CPU I/O接口 I/O设备 接收 命令 监视就绪 启动设备 设备启动 时间 1、程序查询方式 *功能:可实现CPU-I/O设备间的单个数据传送 *传送控制原理:CPU启动I/O操作后、不停地查询I/O设备状态,在I/O设备准备就绪[或空闲]时,才进行数据传送 IOW指令 (数据D1) IOW指令 (命令) 接收 操作 接收 命令 转发数据 接收状态 启动 设备 传送实现 *I/O特点:CPU与I/O设备串行工作 *对I/O接口的要求: 需设置暂存及缓冲操作命令、数据、设备状态的电路

  12. 主程序 事务B程序 (续) 10 2、程序中断方式 *功能:可实现CPU-I/O设备间的单个数据传送 *传送控制原理:CPU启动I/O操作后、继续执行现行程序, I/O设备准备就绪后、提出请求, CPU响应请求、进行数据传送 主程序 中断程序 IOW指令 (D1) IOW指令 (命令) … IOW指令 (命令) 事务B程序 CPU I/O接口 I/O设备 收操作 收命令 收命令 启动设备 监视就绪 转发数据 接收状态 启动设备 监视就绪 *I/O特点:CPU与I/O设备可并行工作 设备启动 传送实现 设备启动 t *对I/O接口的要求:需增设I/O请求产生及撤消电路

  13. 中断程序 IOW指令串 (传送需求) IOW指令 (启动设备) 事务B程序 CPU MEM I/O 接口 外设 D1(输出) D2(输出) 接收传送需求 等待设备就绪 启动I/O 传送控制1 传送控制2 接收命令 接收D1 接收D2 启动设备 监视就绪 中转 接收设 操作 备状态 启动设备 监视就绪 中转 接收设 操作 备状态 设备启动 传送实现 设备启动 传送实现 t 10 3、直接存储器存取(DMA)方式 *功能:可实现MEM-I/O设备间成组数据传送(功能弱) *传送控制原理:CPU发出传送需求后、继续执行现行程序, I/O接口控制MEM-I/O设备间批量传送、结束时提出请求, CPU响应请求、进行结束处理(如校验、再次启动传送) *I/O特点:CPU无需干预传送过程及中转传送数据

  14. MEMW指令串 (写通道程序) IOW指令 (启动通道) 事务B程序 CPU MEM I/O 通道 外设 收通道程序 程序(出) D1(出) D2(出) 执行通道程序(功能较强) 接收命令 启动 等待 控制 启动 控制 收OP 收D1 收OP 收D2 启动设备 监视就绪 启动设备 监视就绪 中转 接收设 操作 备状态 中转 接收设 操作 备状态 10 4、通道及I/O处理机(IOP)方式 *功能:可实现MEM-I/O设备间成组数据传送(功能强) *通道方式原理:CPU编写传送控制程序、发出通知后,继续执行现行程序,I/O通道管理与控制MEM-设备间数据传送 *IOP方式原理:CPU发出传送需求(更简单)后,继续执行现行程序,IOP管理与控制MEM-设备间的数据传送

  15. 主机 CPU 主存 I/O接口 设备控制器 机、电、光、磁 部件 I/O设备 §7.2 I/O设备 *I/O设备的种类: ①按功能分类— 人-机交互设备、信息存储设备、机-机通信设备 ②按I/O方向分类— 输入设备、输出设备、输入输出设备 *I/O设备的基本组成:

  16. 输出行线L(L←0000) 输入列线C Y C=1111? +5V N 行号i←0、L←1110 并行接口 输出行线L i←i+1 L←L循环左移1位 输入列线C Y C=1111? N i>3? N Y 键号k←i*4+C的编码 异常 一、输入设备 1、键盘 --字符输入设备 按设备控制器功能实现发方法分 *种类:有非编码键盘、编码键盘两种 *非编码键盘组成原理: CPU执行键盘扫描程序,软件实现按键检测及编码转换

  17. 4位计数器CNT ROM 译码器 & 延迟电路 传送电路 键盘接口 4×4 键盘阵列 译码器 时钟发生器 RD CS 单稳电路 *编码键盘组成原理: 控制电路实现按键检测及编码转换,可送至键盘接口 单稳电路输出有效→CNT暂停、ROM读出编码、传送电路接收编码, 延迟电路启动(一定延迟后输出有效); 延迟电路输出有效→单稳电路输出无效; 单稳电路输出无效→CNT正常输出、延迟电路停止

  18. 传送控制电路 按键检测电路 传送控制电路 X计数器 Y计数器 按键检测电路 LED X计数器 Y计数器 LED 带栅孔滚轴 光学引擎 光电传感器 微型摄像头 LED 2、鼠标 --图形输入设备 *种类:有机械式鼠标、光电式鼠标、触摸式鼠标等 *机械式鼠标组成原理: 滚球滚动→滚轴转动→栅盘转动→计数器变化 *光电鼠标组成原理: 第1代— 鼠标移动→反射光强弱变化→计数器变化 第2代— 鼠标移动→图像变化→比较图像→计数器变化

  19. 双光轴 单光轴 等方性 (亮度逐步变暗) 固态结晶 液晶态 液态 液晶层 温度低 温度高 偏振光穿过液晶特性: ①光轴与分子长轴平行 ②可随分子排列方向而扭曲 二、输出设备 1、显示器 --字符及图形输出设备 *种类:阴极射线管(CRT)、液晶(LCD)、等离子(PDP)、场致发光(EL)、真空荧光(VFD)等 *技术指标:分辨率、灰度级 *液晶材料特征:透光性、旋光性 亮度控制特性:偏振光易控制 长分子、受结构影响

  20. (X方向)上偏振片 玻璃基片 (Y沟槽)公共电极 液晶层 (X沟槽)控制电极 玻璃基片 (X方向)下偏振片 彩色滤光片 灯管/扩散板 反射板 框胶 框胶 (a)液晶盒不加电压 (b)液晶盒加电压 显示适配卡 HSYNC … A/D转换 显示控制 像素点矩阵 像素点 R G B 门电极 源电极 … … 液晶盒 VSYNC 单元格 … 存储电容 LCD的基本组成 LCD单元格组成 LCD像素点矩阵 *液晶显示原理:用控制电极的电压值控制灰度 *LCD组成原理:①像素点颜色由3个单元格的灰度组成 ②行扫描可用同时控制所有源电极实现

  21. 缓冲 存储器 字符 发生器 光调制驱动器 激光器 透镜 扫描电机多面转镜 打印机接口 充电电晕 接口及 控制电路 清扫刷 聚焦镜 显影器(含炭粉盒) 消电电晕 感光硒鼓 搓纸辊 收纸盒 定位辊 供纸盒 定影热辊 导纸辊 2、打印机 --字符及图形输出设备 *种类:击打式(机械式/针式)、非击打式(激光/喷墨) *激光打印机组成原理: 由激光扫描系统、电子照相系统、打印控制系统组成

  22. 磁道 磁道 位信息磁化元 三、存储设备 *辅存种类:常有磁表面MEM、光介质MEM←降低存储成本 *辅存结构:常为盘状、带状←降低操作成本 磁盘寻址步骤—寻道、道内定位(等待转动到位) *辅存性能指标: 存储密度— 存储容量— 寻址时间— 数据传输率— 误码率— FD=道密度×位密度 格式化后: 记录密度<位密度 S=磁道数×记录密度 T=平均寻道时间+平均等待时间 D=记录密度×磁盘转速

  23. *信息记录格式:记录单位为数据块, 记录格式有定长格式、变长格式 0道0扇区 0道1扇区 1道2扇区 磁盘地址: 台号 磁道号 盘面号 扇区号 头空 ID域 间隙 数据域 尾空 扇区记录格式: 同步字符 地址标志 扇区地址 CRC 同步字符 数据标志 数据 CRC 1、磁盘存储器 *磁盘类型:软/硬、固定/移动磁头、单面/双面等 定长记录格式组织— 容量/磁道=p个扇区×q个字节/扇区,P及q为常数 容量/磁盘=n个柱面 =n个磁道/盘面×m个盘面 =m×n×p×q 变长记录格式组织—数据块ID域中含数据长度信息

  24. 盘面地址 磁盘控制器 读出信息 读出放大 磁头 选择 写入信息 写入驱动 盘片 磁道地址 比较与控制 音圈电机 定位状态 柱面地址 位置检测 传动皮带 控制信号 主轴电机 磁盘适配器 数据(并) 数据缓冲 格式控制 数据译码 读时钟发生器 串/并转换 命令/数据 接口 控制 电路 REQ/ACK 并/串转换 数据编码器 BUSY DREQ/DACK 数据控制 数据分离 DMA控制接口 *磁盘存储器组成:由盘片、驱动器、控制器组成

  25. 磁道号 盘面号 扇区号 23 22 例—磁盘组有6个双面盘片(最外两侧盘面不使用),每个盘面有204个磁道、每个磁道有12个扇区、每个扇区可记录512B数据,磁盘机转速为7200rpm,平均寻道时间为8ms。 ⑴计算磁盘存储空间; ⑵计算磁盘平均寻址时间; ⑶计算磁盘数据传输率;⑷画出磁盘地址格式及参数 解—⑴存储空间= (6×2-2)×204×12×512B=12,533,760B [1/(7200÷60)]×0.5≈4.165ms, ⑵平均等待时间= 平均寻址时间=平均寻道时间+平均等待时间 = 8ms+4.165ms=12.165ms ⑶数据传输率= 12×512B×(7200÷60)=720KB/s ⑷磁盘地址格式: 8位 4位 4位

  26. 逻辑盘 物理盘0 物理盘1 物理盘2 物理盘3 条带0 条带0 条带1 条带2 条带3 阵列管理控制器 条带1 条带4 条带5 条带6 条带7 RAID控制器 RAID控制器 A A B C B A D B E C F G D C H D RAID0—数据分块盘(无冗余) RAID1—数据镜像盘 2、磁盘阵列RAID(Redundant Array of Inexpensive Disks) *目标:扩展容量(磁盘组),提高访问性能、可靠性 *RAID提高性能的方法:使多个磁盘并行工作 条带:可为数据块、扇区、字节等 *RAID提高可靠性的方法:有RAID0~RAID6等冗余级别

  27. RAID控制器 A0 A1 A2 A3 PA B0 B1 B2 B3 PB RAID3—位交叉奇偶校验盘 RAID控制器 RAID控制器 RAID控制器 A0 A1 A2 A3 PA0 PA1 PA2 A0 A1 A2 A3 A0 A1 A2 A3 PA PA QA B0 B1 B2 B3 PB0 PB1 PB2 B0 B1 PB B0 B1 B2 B3 QB B3 RAID2—位交叉海明校验盘 B2 PB RAID4—块交叉专用奇偶校验盘 C0 PC QC C2 C3 C1 RAID控制器 PD QD D1 D2 D2 D0 QE E1 E2 PE E3 E4 A0 A1 A2 A3 PA RAID6—双维奇偶校验盘 B0 B1 B2 B3 PB RAID5—块交叉分布式奇偶校验盘

  28. 保护层 保护层 保护层 反射层 反射层 反射层 盘基 盘基 盘基 Iw 外加磁场 强 弱 强 弱 (a)形变型[有/无凹坑] (b)相变型[晶态/非晶态] (c)磁光型[磁化方向] 24 23 3、光介质存储器 *光记录原理:以介质某种物态存储信息, 通过“光→电”、“光→物态”转换实现读、写 *光盘类型:按读写性质—只读型、写一次型、可重写型 按物理结构—紧致盘(CD)、数字通用盘(DVD) *信息记录格式:与磁盘的定长记录格式类似, CAV与CLV工作方式的格式有所不同 *光盘存储器组成:由盘片、驱动器、控制器组成

  29. AB DB CB … BIU CPU 主存控制器 I/O接口 I/O接口 ①设备控制 ②数据传送 ③状态查询 主存(模块) I/O设备1 … I/O设备n 各种操作信息均通过DB中转 §7.3 I/O接口 一、I/O接口的功能 *I/O接口的作用:实现对I/O设备的操作标准化 标准化操作 *I/O接口:是主机与I/O设备间的连接电路, 负责“中转”各种操作信息 *I/O接口的连接:一侧连接总线、一侧连接I/O设备

  30. *I/O接口的功能: 设备寻址—监视总线状态, 判断自身是否为目标部件 ←与总线地址比较 数据缓冲—用寄存器暂存来自总线及I/O设备的数据 操作中转—用寄存器暂存来自总线的操作命令, 适时转发操作 ←根据I/O设备状态 信号转换—实现总线与I/O设备间的信号转换 包括格式、电平、时序等←┘ 设备状态监视—监视设备状态,并暂存到寄存器中, 用于被动查询、或向CPU主动报告 *I/O端口:可与数据总线(DB)直接交换信息的寄存器 种类—数据端口、命令端口、状态端口

  31. 控制寄存器 数据总线 数据总线缓冲 信号转换逻辑 外设信号 数据输出锁存寄存器 内部控制逻辑电路 控制总线 数据输入缓冲寄存器 状态寄存器 设备选择电路 地址总线 地址总线锁存 端口地址译码器 29 二、I/O接口的组成 1、I/O接口的硬件组成 *硬件组成:核心是内部控制逻辑电路 *工作过程: 缓冲总线操作—按照总线标准,总线-I/O端口间通信 转发总线操作—按照设备协议,I/O端口-设备间通信

  32. I/O接口(设备)码 I/O端口序号(内部) I/O端口地址组成 操作码 I/O端口地址 CPU中REG地址 2、I/O接口的软件组成 *软件组成:按照设备操作特性、I/O传送方式需求,对I/O接口的相应I/O端口进行按序操作的程序 *I/O端口:种类—数据端口、命令端口、状态端口 编址—不同I/O端口有不同的地址 *I/O指令:功能—输入、输出 格式— 例:8086汇编语言的I/O指令格式— IN AL, DX 及 OUT DX, AL C语言的I/O函数格式— BYTE inp(unsigned short usPort); BYTE outp(unsigned short usPort,BYTE btData);

  33. 3、I/O接口的分类 *按数据传送方式分类: 并行接口—接口-设备间同时传输n位数据 串行接口—接口-外设间逐位传输n位数据 *按功能选择方式分类: 可 编 程接口—可通过软件选择接口功能及工作方式 不可编程接口—须通过硬连线选择接口功能及工作方式 *按传送控制方式分类: 程序查询方式接口—CPU完成设备状态查询及传送工作 程序中断方式接口—CPU在设备就绪时完成传送工作 DMA方式接口—CPU只完成准备及结束工作 作业一:P293—2、9、11

  34. 对应的机器指令 启动外设工作 启动外设工作 写控制口 读取外设状态 读取外设状态 读状态口 测试所读状态 测试所读状态 比较 N N 外设就绪? 外设就绪? 条件转移 Y Y 与外设交换数据 与外设交换数据 读/写数据口 优化 字符设备传送流程 块设备传送流程 11 §7.4 程序查询方式 一、程序查询方式的流程 *传送控制思想:CPU不停地查询外设状态,在外设准备就绪(或空闲)时,才与外设交换数据 *传送控制流程: 数据口操作 联动启动外设

  35. 例—打印机接口的数据口及状态口地址分 别为70H和71H,状态口信息格式约定如右图, 用C语言编写查询方式打印字符串(结束符为“\0”)的程序段 bit7 bit0 BUSY# …… PE BUSY#=1—准备好 =0—打印机忙 Y *pCur=0? N Stat←(71H端口) Stat←Stat&0x80 Y Stat=0? N 70H端口←*pCur pCur++,i++ 32 *接口编程:程序须满足程序查询方式流程、外设传送控制协议需求 BYTE Buff[100], *pCur = &Buff[0], Stat; inti = 0; while ( *pCur != 0 && i < 100 ) { do{ Stat = inp(0x71); Stat = Stat & 0x80; } while ( Stat == 0 ); outp(0x70,*pCur); pCur++; i++; //可插入其他功能程序段 }

  36. ⑤启动 ⑤ ⑧ ⑦工作结束 ⑥输入数据 ㈢数据 ③命令 ⑶状态 ③ ㈢ ⑶ ① ㈠ ㈡ ② ⑴ ⑵ 34 二、程序查询方式的接口组织 *接口部件组织:须设置状态口,其中包含就绪/忙位(RD) *工作过程组织:可响应总线操作,可触发设备操作 启动设备操作时—触发启动设备、准备数据 状态口 I/O设备 Q S RD R Q S BS R ④ … 数据口 控制口 设备选择电路 端口译码电路 程序查询方式流程优化时 状态查询操作时—不触发设备侧任何动作 数据传送操作时—可触发启动设备、准备数据

  37. CPU 主存 … 并行接口 +5V 34 三、无条件传送方式 *传送控制原理:CPU可随时与外设通信,无需查询其状态 *应用范围:只适用于与简单外设通信,如灯、开关等 *接口部件组织:无需设置状态口 *接口编程:程序随时使用I/O指令与I/O接口通信 例1—设总线宽度为8位,并行接口数据口(设地址为60H)的各个位与引脚(8根)一一对应,用C语言编写轮流点亮各个信号灯的程序。 while ( !kbhit() ) { BYTE Lamp[8]={0xFE,0xFD,0xFB, 0xF7,0xEF,…}; for ( inti = 0; i < 8; i++ ) { outp(0x60, Lamp[i]); Sleep(1000); //产生延迟 } }

  38. 程序A指令0 …… 程序A指令i 程序A指令i+1 …… 程序A指令m 程序A 程序B 0~i i+1~m 程序B指令0 …… 程序B指令n 0~n 时间t 当前程序 中断服务程序 §7.5 程序中断方式 一、中断基本概念 1、中断的概念 *中断:暂停执行当前程序、转去执行其它程序后、继续执行当前程序的过程

  39. 响应 返回 响应 返回 当前程序 中断程序 CPU 启动指令 中断请求 传送指令 中断请求 传送指令 I/O接口(设备) t 中断服务程序 当前程序 … 指令a 指令b … … 中断服务程序 当前程序 时间t i i+1 当前程序 指令 地址 i i+1 k k+n k … k+n 中断服务程序 主存 *中断方式传送控制:I/O设备提出请求时,CPU暂停现行程序、响应请求、处理数据传送后,再返回现行程序 *中断相关术语:中断请求、中断源、中断服务程序, 中断响应、中断服务、中断返回,中断处理

  40. 2、中断分类 (1)按中断请求分类 *按请求的来源分: 外中断—来自CPU外部的中断,称为中断(硬中断) 例:时钟、键盘、磁盘、主存奇偶校验错、电源故障等 内中断—来自CPU内部的中断,称为异常(软中断) 例:BIOS调用,除零错、溢出、单步执行、访存页面失效等 *按请求的处理等级分: 可屏蔽中断—可稍后处理的中断,如数据传送的外中断 不可屏蔽中断—须立即处理的中断,如主存奇校验错、异常 ※I/O中断—用于数据传送的外中断(可屏蔽)

  41. ※应用选择: 处理时机及中断返回点— 优点:便于实现 可屏蔽实现— ①CPU中设置“中断允许”标志位(IF位) IF=1(允许请求),=0(屏蔽请求) ②软件(指令)可修改

  42. 可有n个中断请求/同时 只能处理1个中断请求/次 主存 … Int0PrgAddr … CPU 中断请求检测逻辑 IVT IntiPrgAddr IntPrgAddr … … 中断请求判优逻辑 中断源编号 I/O接口 … … … PC I/O接口 (2)按中断源识别及中断服务程序入口获得的方法分类 *向量中断:通过硬件方式获得相关信息的中断 请求检测与选择—各中断源有独立的中断请求线, 硬件选择最紧急的请求 程序入口获得—常用中断向量表(IVT)存放各中断程序入口 硬件查IVT获得所选请求的中断程序入口

  43. I/O接口 中断请求检测逻辑 公用中断服务程序入口地址 PC … I/O接口 CPU 公用中断服务程序 读中断源A状态口 读中断源Z状态口 中断源B 保存软件现场 N N … N 有请求? 有请求? Y Y Y 恢复软件现场 A的中断处理程序 B的 Z的中断处理程序 中断返回 *非向量中断:通过软件查询方式获得相关信息的中断 请求检测—各中断源共用中断请求线 程序入口获得—中断程序查询各请求标志选择最紧急请求 函数调用隐含获得所选中断程序入口 ※应用选择:计算机系统—大多选择向量中断方式 多种请求中断源—内部采用非向量中断方式

  44. 请求A 请求B (B比A重要) 中断程序B 中断程序A t 请求A 请求B 中断程序B 中断程序A 中断程序A(续) t 实现: 当前状态表示: 状态变换实现: 指令系统设有开中断、关中断指令 41 (3)按中断处理过程能否重叠分类 *单重中断:中断处理过程中不再响应新中断请求 *多重中断:中断处理过程中可以响应新中断请求 ※应用选择:现代系统—常可选用单重/多重中断方式 中断响应时—均默认采用单重中断方式 常用IF位表示 中断响应时IF←0 软件修改IF位

  45. 中断程序A 指令m … 指令m+p 中断程序B 指令k … 指令k+n 指令i 当前程序 指令i+1 时间 主存 … a b … … i i+1 当前程序 =其在IVT中的行号 k … k+n 中断程序B 42 二、I/O中断的过程 1、中断响应过程 --仅讨论向量中断 包含识别中断源、保存现场、获得中断服务程序入口、转入中断服务程序4个步骤 (1)识别中断源 --又称中断判优(排优) *任务:⑴选择一个最紧急的中断请求 ⑵获得所选中断请求的中断类型号(中断源编号) *实现方法:稍后讨论

  46. 其他REG 状态REG EPC PC 取指周期实现 IF←0 当前指令地址 下条指令地址 中断类型号 返回点指令地址选择电路 保存现场逻辑 ② ① ① 后援寄存器堆(栈) 41 44 (2)保存现场 —又称保存断点 *任务:⑴保存硬件现场(又称断点) ⑵关中断(实现系统默认的单重中断方式) *保存现场的实现: ①采用后援寄存器堆(栈)实现保存 ②保存返回点现场←可简化中断返回的实现(不用传递类型号) *单重中断的实现:先保存IF、后IF←0,中断返回时恢复IF

  47. 检测不到(或不响应)新的I/O中断请求 IF=x IF←0 IF=0 IF←x IF=x t 中断响应 中断服务 中断返回 可屏蔽中断请求(如I/O) 中断请求检测逻辑 & 标志位IF 信号End + 中断请求 不可屏蔽中断请求 内中断请求 中断机构 44 CPU的中断请求检测逻辑— IF位作为检测条件之一 易实现 I/O中断请求的响应条件— (需全部满足) ①I/O中断请求信号有效时 ②当前指令结束时 (即指令周期结束End=1时) ③CPU处于开中断时 (即中断允许位IF=1时) ④无更高优先级中断请求及DMA请求

  48. 时序系统 其它REG PC ⑷ ⑵ ⑶ 保存现场逻辑 中断返回逻辑 程序入口获得逻辑 中断请求检测逻辑 主存 … … I/O接口 中断类型号 IVT 中断请求判优逻辑 IProcAddr … … … ⑴ 中断机构 I/O接口 其他空间 … (3)获得中断服务程序入口 --又称获得中断向量 *任务:用中断向量地址(所选请求的表中位置)查IVT, 可获得对应的中断服务程序入口(中断向量) *实现方法:IVT存放—常放在主存某连续单元中(OS维护) 查IVT—用中断向量地址(源自中断类型号)访问主存 (4)转入中断服务程序 *任务:将获得的中断服务程序入口置入PC

  49. 中断响应周期 识别中断源;保存断点、关中断; 获得中断向量;PC←中断向量 识别中断源;保存断点、关中断; 获得中断向量;PC←中断向量 保存软件现场 指令串 保存软件现场 指令串 开中断 指令 不响应新I/O请求 可响应新I/O请求 中断服务程序 某次服务对应程序 设备服务 指令串 设备服务 指令串 关中断 指令 恢复软件现场 指令串 恢复软件现场 指令串 中断返回 指令 中断返回 指令 44 2、中断处理过程 (1)中断服务过程 *任务:执行中断服务程序,即CPU按(PC)执行程序 *中断服务程序框架:单重中断方式、多重中断方式

  50. 中断处理=中断服务+中断返回 EPC 其他REG 状态REG PC ② 当前指令 下条指令 保存现场逻辑 中断返回逻辑 中断 类型号 IF←0 返回点指令地址选择电路 ① ① ① 后援寄存器堆(栈) 48 46 (2)中断返回过程 *任务:⑴恢复硬件现场 ←─ 中断响应时所保存的 ⑵返回当前程序 ←─返回点指令地址→PC *实现方法: ①中断返回时机— ②返回点地址获得— 中断服务程序用中断返回指令指明 中断响应时保存返回点地址最理想 *中断返回指令功能:

More Related