第7章输入输出接口_第1页
第7章输入输出接口_第2页
第7章输入输出接口_第3页
第7章输入输出接口_第4页
第7章输入输出接口_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验报告时间备选:15周周三晚、周六下午、周六晚上、周日晚7.6 DMA方式方式7.5 程序中断方式程序中断方式7.4 程序查询方式程序查询方式7.3 I/O接口接口7.2 外部设备外部设备7.1 概述概述计算机计算机I/O系统结构图系统结构图7.1 概概 述述一、输入输出系统的发展概况一、输入输出系统的发展概况1. 无无I/O技术技术2. 程序查询程序查询I/O方式方式3. 程序中断方式程序中断方式4. 直接内存存取直接内存存取(Direct Memory Access, DMA)方式方式5. 通道通道(Channel)方式方式6. 外围处理机外围处理机(Peripheral Process

2、or Unit, PPU)方式方式1、无、无I/O技术技术(1) 辐射式连接辐射式连接 外设外设 外设外设 外设外设 主主机机特点特点(1)每个)每个I/O设备利用各自的逻辑控制电路与设备利用各自的逻辑控制电路与CPU相连相连(2)I/O与与CPU交换信息时,交换信息时,CPU必须停止其他工作必须停止其他工作(3)I/O设备控制电路与设备控制电路与CPU控制器紧密结合不分隔控制器紧密结合不分隔缺点:线路复杂缺点:线路复杂缺点:效率低下缺点:效率低下缺点:不易扩充设备缺点:不易扩充设备(2)总线及接口技术的引入)总线及接口技术的引入 主主 机机接接 口口接接 口口设设 备备 1设设 备备n 总线

3、总线特点:特点:1)总线连接,易于删减设备,故障率低)总线连接,易于删减设备,故障率低 2)接口可以使不同的外设更方便的接入计算机系统)接口可以使不同的外设更方便的接入计算机系统2、程序查询、程序查询I/O方式方式CPU读读I/O状态状态检查状态检查状态未准备就绪未准备就绪N数据传送数据传送YCPU主动去查询外设主动去查询外设 在这种方式中数据在在这种方式中数据在CPU与外围设备之间的传送完全与外围设备之间的传送完全靠计算机程序控制,是在靠计算机程序控制,是在CPU主动控制下进行的当输入主动控制下进行的当输入输出时,输出时,CPU暂停执行本程序,转去执行输入输出的服务暂停执行本程序,转去执行输

4、入输出的服务程序,根据服务程序中的程序,根据服务程序中的I/O指令进行数据传送指令进行数据传送踏步等待踏步等待3. 程序中断方式程序中断方式I/O 工作工作CPU 不查询不查询CPU 暂停现行程序暂停现行程序自身准备自身准备与主机交换信息与主机交换信息CPU 和和 I/O 并行工作并行工作 启动启动 I/O设备设备现行程序现行程序 中断服务程序中断服务程序KK+1没有踏步等待现象没有踏步等待现象中断现行程序中断现行程序程序中断方式流程程序中断方式流程CPU 向向 I/O 发读指令发读指令CPU 读读 I/O 状态状态检查状态检查状态完成否?完成否?CPU 做其他事情做其他事情I/O 设备工作设

5、备工作准备就绪准备就绪CPU I/O从从 CPU 向主存写入一个字向主存写入一个字CPU 主存主存从从 I/O 接口中读一个字到接口中读一个字到CPUI/O CPU中断请求中断请求I/O CPU出错出错是是否否未错未错4. DMA 方式方式主存和主存和 I/O 之间有一条直接数据通道之间有一条直接数据通道不中断现行程序不中断现行程序周期挪用(周期窃取)周期挪用(周期窃取)CPU 和和 I/O 并行工作并行工作存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现实现I/O与主存

6、之间的传送与主存之间的传送三种方式的三种方式的 CPU 工作效率比较工作效率比较存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现实现I/O与主存与主存之间的传送之间的传送CPU 执行执行现行程序现行程序CPU查询等待并传输查询等待并传输I/O数据数据CPU 执行执行现行程序现行程序启动启动I/OI/O 准备及传送准备及传送指令执行周期结束指令执行周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序启动启动I/O中断请求中断请求I/O准备准备I/O准备准

7、备CPU 处理中断服务程序处理中断服务程序实现实现 I/O 与主机之间的传送与主机之间的传送间间断断启动启动I/O启动启动I/OI/O准备准备中断请求中断请求启动启动I/OI/O准备准备一个存取周期一个存取周期DMA请求请求程序程序查询查询方式方式程序程序中断中断方式方式DMA 方式方式I/O 准备及传送准备及传送间间断断I/O准备准备I/O准备准备5. 具有通道结构的阶段具有通道结构的阶段 CPUM.M通通 道道I/O特点:特点: 1)通道可以看作是一个)通道可以看作是一个I/O处理器,有专用通道指令。处理器,有专用通道指令。 2) I/O通道受通道受CPU控制:启动、停止控制:启动、停止

8、3)通道可以代替)通道可以代替CPU来控制来控制I/O设备以及控制设备以及控制I/O与主与主机进行数据交换。机进行数据交换。6. 具有具有 I/O 处理机的阶段处理机的阶段 I/O 处理机又称外围处理机(处理机又称外围处理机(PPU),基本独立于主机工作。),基本独立于主机工作。它即可以完成它即可以完成I/O控制,还可以完成码制转换、数据校验等功能。控制,还可以完成码制转换、数据校验等功能。使使I/O系统对主机来说独立性更高。系统对主机来说独立性更高。二、输入输出系统的组成二、输入输出系统的组成7.2 外部设备外部设备一、概述一、概述1.外设的基本组成外设的基本组成常用的常用的I/O设备设备输

9、输入入输输出出设设备备终端设备(键盘终端设备(键盘+显示器)显示器)汉字处理设备汉字处理设备A/D、D/A转换转换多媒体多媒体脱机输入脱机输入/输出设备(软磁盘数据站)输出设备(软磁盘数据站)显示器(字符、汉字、图形、图像)显示器(字符、汉字、图形、图像)打印设备(点阵式打印机、激光打印机、喷墨打印机)打印设备(点阵式打印机、激光打印机、喷墨打印机)绘图仪(平板式、滚筒式)绘图仪(平板式、滚筒式)语音输出语音输出输输出出设设备备键盘键盘图形输入设备(鼠标器、图形板、跟踪球、操纵杆、光笔)图形输入设备(鼠标器、图形板、跟踪球、操纵杆、光笔)图像输入设备(摄像机、扫描仪、传真机)图像输入设备(摄像

10、机、扫描仪、传真机)条形码,光学字符识别,语言与文字输入条形码,光学字符识别,语言与文字输入输输入入设设备备7.3 I/O 接接 口口一、概述一、概述二、接口的功能和组成二、接口的功能和组成(1) 设备选择线设备选择线(2) 数据线数据线(3) 命令线命令线(4) 状态线状态线I/O 接口接口设备设备I/O 接口接口设备设备数据线数据线命令线命令线状态线状态线I/O总线总线设备选择线设备选择线1. 总线连接方式的总线连接方式的 I/O 接口电路接口电路2. 接口的功能和组成接口的功能和组成接口的主要功能有:接口的主要功能有:(1)地址识别与设备选择)地址识别与设备选择(2)接收、保存)接收、保

11、存CPU的的I/O控制命令控制命令 (3)反映外设的工作状态)反映外设的工作状态(4)信号转换)信号转换(5)数据格式、码制的转换与数据检错)数据格式、码制的转换与数据检错/纠错纠错 (6)传送数据)传送数据(7)中断)中断3. I/O 接口的基本组接口的基本组 成成 命令寄存器命令寄存器和命令译码器和命令译码器 设备选择设备选择 电路电路 设备状态设备状态 标记标记 数据缓冲数据缓冲 寄存器寄存器DBR 控制逻辑电路控制逻辑电路I/O接口接口外外 部部 设设 备备数据线数据线命令命令状态状态数据线数据线命令线命令线状态线状态线CPU地址线地址线接口中包含的端口接口中包含的端口数据端口数据端口

12、控制端口控制端口状态端口状态端口暂存数据信息暂存数据信息接受控制信息接受控制信息反映接口外设的状态信息反映接口外设的状态信息在用户看来:在用户看来: CPU了解外设的状态、了解外设的状态、 控制外设的工作、控制外设的工作、 与外设交换数据,与外设交换数据, 都是通过接口中都是通过接口中用户可见的寄存器用户可见的寄存器端口端口(Port) 的的“读读/写写”来实现的。这些来实现的。这些端口端口通过总线与通过总线与CPU互连。互连。CPUI/O外设外设系统系统外设外设I/O接口电路接口电路数据口数据口状态口状态口命令口命令口端口地址端口地址译码选择译码选择控制逻辑控制逻辑ABDBDB状态信息状态信

13、息命令数据命令数据CBCB(1)统一编址:)统一编址:I/O与内存统一进行编址与内存统一进行编址p占用内存编址空间占用内存编址空间p可利用访存指令访问可利用访存指令访问I/O口口 特点:特点: 图示:图示:内存空间内存空间00000HFFFFFH供供I/O口使用口使用p不占用内存的编址空间不占用内存的编址空间p有专门的输入输出指令有专门的输入输出指令 特点:特点: 图示:图示:内存空间内存空间00000HFFFFFHI/O空间空间0000HFFFFH互不干扰互不干扰(2)独立编址:)独立编址:I/O与内存有各自独立的与内存有各自独立的 地址空间,互不干扰。地址空间,互不干扰。5. I/O 口的

14、编址方式口的编址方式三、接口类型三、接口类型并行接口并行接口串行接口串行接口可编程接口可编程接口不可编程接口不可编程接口通用接口通用接口专用接口专用接口1. 按数据按数据 传送方式传送方式 分类分类2. 按功能按功能 选择的灵活性选择的灵活性 分类分类3. 按按 通用性通用性 分类分类4. 按数据传送的按数据传送的 控制方式控制方式 分类分类中断接口中断接口DMA 接口接口Intel 8255Intel 8251Intel 8255、 Intel 8251Intel 8212Intel 8255、 Intel 8251Intel 8279、 Intel 8275Intel 8259Intel

15、82577.4 程序查询方式程序查询方式一、含义:在这种方式中数据在一、含义:在这种方式中数据在CPU与外围设备之间的传送与外围设备之间的传送完全靠计算机程序控制,是在完全靠计算机程序控制,是在CPU主动控制下进行的当输入主动控制下进行的当输入输出时,输出时,CPU暂停执行本程序,转去执行输入输出的服务暂停执行本程序,转去执行输入输出的服务程序,根据服务程序中的程序,根据服务程序中的I/O指令进行数据传送指令进行数据传送三、程序查询方式的接口电路三、程序查询方式的接口电路设备选择电设备选择电 路路QQ&准备就准备就 绪绪启动命启动命 令令地址地址 线线SEL启动设备启动设备设备工作设备

16、工作 结束结束 DB10 10SSRRQn+1=S+/RQn ;SR=0设备选择电路设备选择电路DBRQQ&数据数据 线线准备就绪准备就绪启动命令启动命令地址线地址线SEL输入数据输入数据启动设备启动设备设备工作设备工作 结束结束DB10 10工作过程工作过程以输入为例以输入为例7.4 程序查询方式程序查询方式例例. 在程序查询方式的输入输出系统中,假设不考虑处理时间,在程序查询方式的输入输出系统中,假设不考虑处理时间,每一次查询操作需要每一次查询操作需要100个时钟周期,个时钟周期,CPU的时钟周期为的时钟周期为50MHz。现有鼠标和硬盘两个设备,而且现有鼠标和硬盘两个设备,而且CP

17、U必须每秒对鼠标进行必须每秒对鼠标进行30次次查询,硬盘以查询,硬盘以32位字长为单位传输数据,即每位字长为单位传输数据,即每32位被位被CPU查询查询一次,传输率为一次,传输率为2MBps。求。求CPU对这两个设备查询所花费的时对这两个设备查询所花费的时间比率,由此可得出什么结论?间比率,由此可得出什么结论?KK+1中断服务程序中断服务程序入口入口7.5 程序中断方式程序中断方式 凡是向凡是向CPU提出中断请求的各种因素,统称为提出中断请求的各种因素,统称为中断源中断源。(可以是硬件也可以是软件)(可以是硬件也可以是软件)2. 引起中断的各种因素引起中断的各种因素(1) 人为设置的中断人为设

18、置的中断(2) 程序性事故程序性事故如如 转管指令转管指令溢出、操作码不能识别、除法非法溢出、操作码不能识别、除法非法(5) 外部事件外部事件(4) I/O 设备设备(3) 硬件故障硬件故障用用 键盘中断键盘中断 现行程序现行程序转管指令转管指令管理程序管理程序3.中断的内容中断的内容 其中,中断请求和中断判优一般由其中,中断请求和中断判优一般由IO接口完成;而接口完成;而中断响应、中断服务和中断返回由中断响应、中断服务和中断返回由CPU完成完成 处理器处理器内部必须增加相关的硬件,如:内部必须增加相关的硬件,如:接受中断请求信号的引脚接受中断请求信号的引脚INTR、发出中断响应信号的引脚发出

19、中断响应信号的引脚INTA、“中断状态中断状态”触发器触发器INT、“中断允许中断允许”标志标志EINT、将将ENIT置为置为1的的“开中断开中断”指令指令STI、将将ENIT清为清为0的的“关中断关中断”指令指令CLI将程序断点将程序断点“弹回弹回”PC的中断返回指令的中断返回指令 IRET等,等,要支持中断,需要多方的配合:要支持中断,需要多方的配合:接口接口中要设置:中要设置: 中断请求触发器中断请求触发器“INTR” 中断屏蔽触发器中断屏蔽触发器MASK。CPUF主存主存中必须存储:中必须存储: 处理不同中断请求的中断服务程序。处理不同中断请求的中断服务程序。(中断)接口(中断)接口主

20、存主存实现中断的软实现中断的软/硬件,总称为硬件,总称为。二、中断的特点及其作用二、中断的特点及其作用1.特点:特点:实时性(随机性)实时性(随机性)2.作用作用注意注意: 中断的发生是随机的。在实现中断时,必须做到:不中断的发生是随机的。在实现中断时,必须做到:不管一个程序在执行的过程中,是否被中断,中断多少次,管一个程序在执行的过程中,是否被中断,中断多少次,其最其最终的运行结果必须是唯一的。终的运行结果必须是唯一的。 当有多个中断源向当有多个中断源向CPU提出中断请求时,提出中断请求时,CPU必须坚持的必须坚持的原则是:在原则是:在任何一个时刻只能为一个中断源任何一个时刻只能为一个中断源

21、的请求提供服务。的请求提供服务。发中断请求发中断请求 空空 闲闲接接 收收数据数据接接 收收数据数据准准 备备发中断请求发中断请求 打打 印印打打 印印打印机打印机执行主程序执行主程序继续执行主程序继续执行主程序继续执行主程序继续执行主程序响应中响应中 断断中断返中断返 回回响应中响应中 断断中断返中断返 回回 启动启动打印打印 机机传送传送数数 据据传传 送送数数 据据CPU四、四、 中断系统需解决的问题中断系统需解决的问题(1) 各中断源各中断源 如何如何 向向 CPU 提出请求提出请求 ?(2) 各中断源各中断源 同时同时 提出提出 请求请求 怎么办怎么办 ?(5) 如何如何 寻找入口地

22、址寻找入口地址 ?(4) 如何如何 保护现场保护现场 ?(3) CPU 什么什么 条件条件、什么、什么 时间时间、以什么、以什么 方式方式 响应中断响应中断 ?(6) 如何如何 恢复现场恢复现场,如何,如何 返回返回 ?(7) 处理中断的过程中又处理中断的过程中又 出现新的中断出现新的中断 怎么办怎么办 ?硬件硬件 软件软件配置中断请求触发器和中断屏蔽触发配置中断请求触发器和中断屏蔽触发 器器DQ&1INTR 中断请求触发中断请求触发 器器MASK 中断屏蔽触发中断屏蔽触发 器器来自来自 CPU 的的中断查询信中断查询信 号号受设备本身控受设备本身控 制制INTR D MASKQD 完

23、成触发器完成触发器 中断请求中断请求 1 1 1 & 1 & 1 &INTR1INTR2INTR3INTR4INTP1INTP2INTP3INTP4INTR1 、 INTR2 、 INTR3 、 INTR4 优先级优先级 按按 降序降序 排列排列 2. 中断判优逻辑中断判优逻辑1INTP11INTP21INTP31INTP4&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTP1 INTP2 INTP3 INTP4 INTR2INTR1INTR1INTR21&I

24、NTP2A、B、C 优先级按优先级按 降序降序 排列排列(3) 软件实现(程序查询)软件实现(程序查询)否否是否是否 A 请求?请求?是否是否 B 请求?请求?是否是否 C 请求?请求?转转 A 的服务程序的服务程序入口地址入口地址转转 B 的服务程序的服务程序入口地址入口地址转转 C 的服务程序的服务程序入口地址入口地址是是是是是是否否否否3.中断服务程序入口地址的寻找中断服务程序入口地址的寻找1) 软件查询法软件查询法中断识别程序中断识别程序(入口地址(入口地址 M)地地 址址说说 明明指指 令令 M JMP 1# SR1# D = 1 转转1# 服务程序服务程序 SKP DZ 2# JM

25、P 2# SR2# D = 0 跳跳2# D = 1 转转2# 服务程序服务程序 SKP DZ 8# JMP 8# SR8# D = 0 跳跳8# D = 1 转转8# 服务程序服务程序八个中断源八个中断源 1、2、 8 按按 降序降序 排列排列 SKP DZ 1#1# D = 0 跳跳(D为完成触发器)为完成触发器)优点:不需要增加硬件,可以灵活改变中断源的优先级;优点:不需要增加硬件,可以灵活改变中断源的优先级;缺点:占用缺点:占用CPU时间,处理速度慢,优先级低的中断请求需要等时间,处理速度慢,优先级低的中断请求需要等待较长时间才能开始中断服务待较长时间才能开始中断服务2) 硬件向量法硬

26、件向量法入口地址入口地址 200入口地址入口地址 300入口地址入口地址 40012 H13 H14 H主存主存12 H13 H14 HJMP 200JMP 300JMP 400主存主存向量地址向量地址 12H、13H、14H入口地址入口地址 200、 300、 400向量地向量地 址址排队器输排队器输 出出中断向量地址中断向量地址 形成部件形成部件 设备设备编码器编码器1 0 0 0000100100 1 0 0000100111) CPU 响应中断的条件和时响应中断的条件和时 间间(1) 条件条件(2) 时间时间中断中断允许触发器允许触发器 EINT = 1用用 开中断开中断 指令置指令置

27、 “1” EINT用用 关中断关中断 指令置指令置“ 0” EINT 或硬件或硬件 自动复位自动复位当当 D = 1(随机)且(随机)且 MASK = 0 时时在每条指令执行阶段的结束前在每条指令执行阶段的结束前CPU 发发 中断查询信号中断查询信号(将(将 INTR 置置“1”)4. 中断响应中断响应2) 中断隐指令中断隐指令(1) 保护程序断点保护程序断点(2) 寻找服务程序入口地址寻找服务程序入口地址(3) 硬件硬件 关中断关中断向量地址向量地址形成部件形成部件INTSQREINTSQRPC 1 &1排队器排队器断点存于断点存于 特定地址特定地址( 0 号地址)号地址) 内内断点

28、断点 进栈进栈INT 中断状态中断状态EINT 允许中断允许中断R S 触发器触发器向量地址向量地址PC (硬件向量法)(硬件向量法)中断识别程序中断识别程序 入口地址入口地址MPC(软件查询法)(软件查询法) CPU 工作周期的标志工作周期的标志CPU 访存有四种性质访存有四种性质取取 指令指令取取 地址地址取取 操作数操作数存存 程序断点程序断点取指周期取指周期间址周期间址周期执行周期执行周期中断周期中断周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的的4个工作周期个工作周期 提问提问. 在中断系统中,在中断系统中,INTR、INT、EINT这这三个触发器各有何

29、作用?三个触发器各有何作用? 解:解:INTR中断请求触发器,中断请求触发器,用来登记用来登记中断源发出的随机性中断请求信号,以便为中断源发出的随机性中断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定的中断请查询中断及中断排队判优线路提供稳定的中断请求信号;求信号; EINT中断允许触发器,中断允许触发器,CPU中的中断中的中断总开关。当总开关。当EINT=1时,表示允许中断(开中时,表示允许中断(开中断),当断),当EINT=0时,表示禁止中断(关中断)。时,表示禁止中断(关中断)。其状态可由开、关中断等指令设置;其状态可由开、关中断等指令设置; INT中断标记触发器,中断标记触发

30、器,控制器时序系统控制器时序系统中周期状态分配电路的一部分,表示中断周期标中周期状态分配电路的一部分,表示中断周期标记。当记。当INT=1时,进入中断周期,执行中断隐指时,进入中断周期,执行中断隐指令的操作。令的操作。5.保护现场和恢复现场保护现场和恢复现场1)保护现场)保护现场2)恢复现场)恢复现场寄存器寄存器 内容内容断点断点保护现场保护现场其他服务程序其他服务程序恢复现场恢复现场中断返回中断返回PUSH视不同请求源而定视不同请求源而定POP中断服务程序中断服务程序 完成完成中中断断服服务务程程序序中断隐指令中断隐指令 完成完成中断服务程序中断服务程序 完成完成IRET五、中断服务程序流程

31、五、中断服务程序流程1. 中断服务程序的流程中断服务程序的流程(1) 保护现场保护现场(2) 中断服务中断服务(3) 恢复现场恢复现场(4) 中断返回中断返回对不同的对不同的 I/O 设备具有不同内容的设备服务设备具有不同内容的设备服务中断返回指令中断返回指令2. 单重中断和多重中断单重中断和多重中断中断隐指令完成中断隐指令完成进栈指令进栈指令出栈指令出栈指令程序断点的保护程序断点的保护寄存器内容的保护寄存器内容的保护 在处理中断的过程中,可能有新的、优先级更高的中断请在处理中断的过程中,可能有新的、优先级更高的中断请求到来。当这种现象发生时,若允许求到来。当这种现象发生时,若允许CPU暂停现

32、行的中断服务暂停现行的中断服务程序,转去处理新的中断请求,这种现象称为程序,转去处理新的中断请求,这种现象称为多重中断或中断多重中断或中断嵌套嵌套,否则为,否则为单重中断单重中断。不允许中断不允许中断 现行的现行的 中断服务程序中断服务程序单重单重 中断中断 多重多重 中中 断断 允许级别更高允许级别更高 的中断源的中断源中断中断 现行的现行的 中断服务程序中断服务程序klmk +1l +1m +1第一次第一次 中断中断第二次第二次 中断中断第三次第三次 中断中断程序断点程序断点 k+1 , l+1 , m+13. 实现多重中断的条件实现多重中断的条件B, CA中断中断请求请求主程序主程序(2

33、) 优先级别高优先级别高 的中断源的中断源 有权中断优先级别低有权中断优先级别低 的中断源的中断源(1) 提前提前 设置设置 开中断开中断 指令指令ABCD中断服务程序中断服务程序( A、B、 C、 D 优先级按优先级按 降序降序 排列)排列)D4. 单重中断和多重中断的服务程序流程单重中断和多重中断的服务程序流程中断否?中断否?保护现场保护现场设备服务设备服务恢复现场恢复现场 开中断开中断中断返回中断返回取指令取指令执行指令执行指令中断服务程序中断服务程序 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断 向量地址向量地址 PC中断周期中断周期是是中断返回中断返回保护现场保护现场设备

34、服务设备服务关中断关中断恢复现场恢复现场开中断开中断开中断开中断开中断开中断开中断开中断中断隐指令中断隐指令中断隐指令中断隐指令否否取指令取指令执行指令执行指令中断否?中断否?否否 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断向量地址向量地址 PC中断周期中断周期是是中断服务程序中断服务程序单重单重 多重多重 六、中断屏蔽六、中断屏蔽 中断判优和中断响应,通常是由硬件完成的。这样,在中中断判优和中断响应,通常是由硬件完成的。这样,在中断优先级确定后,中断响应的顺序也就随之确定了。能否在运断优先级确定后,中断响应的顺序也就随之确定了。能否在运行时,临时调整中断的服务顺序呢?行时,临时

35、调整中断的服务顺序呢? 回答是肯定的,一个可行的解决方案就是引入由操作系统回答是肯定的,一个可行的解决方案就是引入由操作系统管理的、可变的管理的、可变的“中断屏蔽字中断屏蔽字”。 在在CPU响应了某级中断的某个中断源发来的中断请求后,响应了某级中断的某个中断源发来的中断请求后,系统将该中断源所属中断级别对应的中断屏蔽字,写入系统将该中断源所属中断级别对应的中断屏蔽字,写入中断屏中断屏蔽寄存器蔽寄存器 IMR。 CPU根据中断屏蔽字决定屏蔽掉某些级别中断的请求信号根据中断屏蔽字决定屏蔽掉某些级别中断的请求信号,使其不能进入排队器排队,从而间接地改变中断响应顺序。,使其不能进入排队器排队,从而间接

36、地改变中断响应顺序。 &1. 屏蔽触发器的作用屏蔽触发器的作用MASK = 0(未屏蔽)(未屏蔽)INTR 能被置能被置 “1” 1 & & & 1 1 1 1INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4MASK1MASK2MASK3MASK4DQ 1 DINTR MASKQCPU查询查询MASKi = 1 (屏蔽)(屏蔽)INTPi = 0 (不能被排队选中)(不能被排队选中)中断处理中断处理程序级别程序级别中断级屏蔽位中断级屏蔽位1 级级2 级级3 级级4 级级第第 1 级级第第 2 级级第第 3 级级第第 4 级级100

37、0110011101111中断处理顺序就是中断响应顺序时的中断屏蔽字中断处理顺序就是中断响应顺序时的中断屏蔽字设设“1”代表代表屏蔽屏蔽,“0”表示表示开放开放2. 屏蔽字屏蔽字优先级优先级屏屏 蔽蔽 字字 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 0

38、0 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1123456151616个中断源个中断源 1、2、3 16 按按 降序降序 排列排列3. 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级响应优先级响应优先级响应优先级响应优先级 ABCD 降序排列降序排列 不可改变不可改变处理优先级处理优先级可改变(通过重新设置屏蔽字)可改变(通过重新设置屏蔽字)中断源中断源原屏蔽字原屏蔽字新屏蔽字新屏蔽字ABCD 1 1 1 10 1 1 10 0 1 10 0 0 1 1 1 1 10 1 0 00 1 1 00 1 1 1 处理优先级处理优先级

39、ADCB 降序排列降序排列服务程序服务程序B处理完处理完C处理完处理完D处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断CPU 执行程序轨迹(原屏蔽字)执行程序轨迹(原屏蔽字)3. 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级4. 屏蔽技术的其他作用屏蔽技术的其他作用 便于程序控制便于程序控制可以可以 人为地屏蔽人为地屏蔽 某个中断源的请求某个中断源的请求服务程序服务程序D处理完处理完C处理完处理完B处理完处理完A处理完处理完t主程序主程序A程序程序B程序程序C程序程序D程序程序A、B、C、D同时请求中断同时请求中断

40、CPU 执行程序轨迹(新屏蔽字)执行程序轨迹(新屏蔽字)3. 屏蔽技术可改变处理优先等级屏蔽技术可改变处理优先等级5. 新屏蔽字的设新屏蔽字的设 置置 保护现场保护现场 置屏蔽字置屏蔽字 开中断开中断 中断服务中断服务 关中断关中断 恢复现场恢复现场 恢复屏蔽字恢复屏蔽字 开中断开中断 中断返回中断返回 置屏蔽字置屏蔽字 恢复屏蔽字恢复屏蔽字 关中断关中断 开中断开中断设备选择电路设备选择电路DBR DQ&数据线数据线启动命令启动命令地址线地址线SEL输入数据输入数据启动设备启动设备设备工作设备工作 结束结束&1QQDINTR BQQ MASK设备编码器设备编码器排队器排队器中

41、断查询中断查询来自高一级来自高一级 的排队器的排队器至低一级至低一级的排队器的排队器向量地址向量地址中断响应中断响应 INTA中断请求中断请求命令译码命令译码七、七、 I/O 中断处理过程中断处理过程10&DBR设备选择电路设备选择电路01以输入为例以输入为例主程序和服务程序抢占主程序和服务程序抢占 CPU 示意示意准备工作准备工作准备工作准备工作准备工作准备工作传送数据传送数据传送数据传送数据发中断请求发中断请求发中断请求发中断请求I/O宏观宏观 上上 CPU 和和 I/O 并行并行 工作工作微观微观 上上 CPU 中断现行程序中断现行程序 为为 I/O 服务服务主程序主程序继续执行

42、主程序继续执行主程序启动外设启动外设 服务程序服务程序(传送数据)(传送数据) 服务程序服务程序(传送数据)(传送数据)继续执行主程序继续执行主程序CPU程序中断接口芯片程序中断接口芯片 8259A 的内部结构的内部结构 内部总线内部总线 缓冲器缓冲器读读 / 写写逻逻 辑辑级联缓冲级联缓冲器器/比较器比较器优先权优先权比较器比较器 ( PR ) 中断中断 服务服务 寄存寄存 器器(ISR) 中断中断 请求请求 寄存寄存 器器(IRR)中断屏蔽寄存器中断屏蔽寄存器 (IMR)控制逻辑控制逻辑INT INTAD7D0A0RDWRCSCAS0CAS1CAS2SP/ENIR0IR1IR2IR3IR4

43、IR5IR6IR7内部总内部总 线线八、八、 中断控制器中断控制器8259A8259A的主要引脚描述如下:的主要引脚描述如下:1. IR7IR0 :输入引脚,用于接收来至外设的中断请求信号:输入引脚,用于接收来至外设的中断请求信号2. INT:输出引脚,一般与:输出引脚,一般与CPU的的INTR引脚连接。当引脚连接。当8259A接接收到外设的中断请求信号后,通过该引脚统一向收到外设的中断请求信号后,通过该引脚统一向CPU发中断发中断请求。请求。3. INTA:这是一个输入引脚,用于接收来至:这是一个输入引脚,用于接收来至CPU的中断响应信的中断响应信号号INTA。4. CS:片选信号,允许:片

44、选信号,允许8259A进行编程与控制。进行编程与控制。5. WR:低电位有效,与系统的写入控制线连接。:低电位有效,与系统的写入控制线连接。6. RD:低电位有效,与系统的读出控制线连接。低电位有效,与系统的读出控制线连接。7. A0:用:用A0的取值来选择的取值来选择8259A内部不同的命令字。内部不同的命令字。8259A的主要引脚描述如下:的主要引脚描述如下:8. SP/EN:主从定义:主从定义/缓冲器方向。接高电平时为主片,接低电缓冲器方向。接高电平时为主片,接低电平时为从片。当平时为从片。当8259A工作于缓冲器方式时,工作于缓冲器方式时, 它作为控制缓它作为控制缓冲器传送方向的输出控

45、制线;否则为输入线。冲器传送方向的输出控制线;否则为输入线。9. CAS2CAS0:级连控制信号,主片为输出,从片为输出。主:级连控制信号,主片为输出,从片为输出。主片输出一个识别码,哪一个从片的识别码与其相符,则该从片输出一个识别码,哪一个从片的识别码与其相符,则该从片的中断请求被准许。主片最多可以控制片的中断请求被准许。主片最多可以控制8个从片。个从片。九、九、 8086/8088微处理器的中断系统微处理器的中断系统 1. 1.概述概述 8086/8088微处理器微处理器的中断源分为两类:的中断源分为两类: 位于处理器外部、由硬件引起的位于处理器外部、由硬件引起的硬件中断硬件中断(或外部(

46、或外部中断)中断) 硬件中断又分为不可屏蔽中断和可屏蔽中断。它们硬件中断又分为不可屏蔽中断和可屏蔽中断。它们的请求信号,分别由的请求信号,分别由不可屏蔽中断请求输入引脚不可屏蔽中断请求输入引脚NMI和和可屏蔽中断请求输入引脚可屏蔽中断请求输入引脚INTR输入到处理器中。输入到处理器中。 当有不可屏蔽中断请求信号到来时,处理器会在结当有不可屏蔽中断请求信号到来时,处理器会在结束当前指令的执行后,立即转去执行不可屏蔽中断处理束当前指令的执行后,立即转去执行不可屏蔽中断处理程序。程序。 来自处理器内部、由某条指令的执行或某个标志位的来自处理器内部、由某条指令的执行或某个标志位的设置而引起的设置而引起

47、的软件中断软件中断(或内部中断)。(或内部中断)。8086/8088微处理器的中断系统框图微处理器的中断系统框图 “屏蔽屏蔽”是通过标志寄存器中的是通过标志寄存器中的中断允许标志中断允许标志IF来实现的。来实现的。处理器会在每条指令执行的末尾,扫描处理器会在每条指令执行的末尾,扫描INTR引脚。当检测到请引脚。当检测到请求信号时,则检查求信号时,则检查IF。若若IF=1,则表示屏蔽中断、不响应,则表示屏蔽中断、不响应,否则响应。响应信号通过否则响应。响应信号通过INTA引脚发给中断源。引脚发给中断源。软件中断有软件中断有5类:类:除法错误(溢出或除数为除法错误(溢出或除数为0)、)、定点加法溢

48、出、定点加法溢出、断点中断、断点中断、单步中断单步中断中断指令中断指令INT n。 软件中断不会发出请求信号,也不需要响应信号软件中断不会发出请求信号,也不需要响应信号。除单步。除单步中断外,内部中断无法用软件禁止。中断外,内部中断无法用软件禁止。 响应中断后,响应中断后,8086/8088微处理器进入中断周期。微处理器进入中断周期。中断周期内,中断周期内,8086/8088微处理器将执行的操作是:微处理器将执行的操作是:(1)发出中断响应信号)发出中断响应信号INTA.(2)将标志寄存器)将标志寄存器FR压入堆栈,将压入堆栈,将IF和和TF清为清为0.(3)依次将寄存器)依次将寄存器CS和和

49、IP压入堆栈压入堆栈.(4)根据中断类型号找到中断处理程序的入口地址,)根据中断类型号找到中断处理程序的入口地址,并将其写入寄存器并将其写入寄存器CS和和IP.2. 中断向量和向量表中断向量和向量表 8086/8088微处理器的微处理器的中断处理程序的入口地址中断处理程序的入口地址表示为:表示为:中断向量中断向量“CS:IP” 8086/8088微处理器被设计成最多能管理微处理器被设计成最多能管理256个中断。这些个中断。这些中断的中断的中断向量中断向量组成组成中断中断向量表向量表。每个中断向量长。每个中断向量长4个字节个字节,故中断向量表的大小为故中断向量表的大小为1024字节字节00000

50、HFFFFFH00001H00002H00003H0号中断的号中断的中断向量(地中断向量(地 址)址)003FCH003FDH003FEH003FFH256号中断的号中断的中断向量(地址)中断向量(地址) CSIPCSIP 8086/8088微处理器管理中断是通过微处理器管理中断是通过中断类型号(中断类型号(0255)来实现的。来实现的。 前前32个中断向量为个中断向量为系统专用系统专用。其中,其中, 0号是号是“除法错误除法错误”中断,中断, 1号是号是“单步单步”中断,中断, 2号是号是“非屏蔽非屏蔽”中断,中断, 3号是号是“断点断点”中断或中断或INT3, 4号是号是“溢出溢出”中断或

51、中断或INTO。中断类型中断类型5到到31,系统保留使用系统保留使用。0号中号中 断断1号中号中 断断2号中断号中断 3号中号中 断断4号中号中 断断5号中号中 断断31号中号中 断断255号中号中 断断3. 中断指令中断指令INT n和中断返回指令和中断返回指令IRET广义上的广义上的INT n指令,包括了:指令,包括了: INT3(即断点中断)和(即断点中断)和 INT4(即(即INTO)。)。 但除但除INT 3和和INTO为单字节指令外,其余为单字节指令外,其余INT n指令为指令为2个字个字节的指令,第节的指令,第1个字节是操作码,第个字节是操作码,第2个字节是操作数。操作数个字节是

52、操作数。操作数n为为中断类型号中断类型号,当执行,当执行 INT n时,系统根据类型号时,系统根据类型号n找到中断找到中断处理程序的入口地址。处理程序的入口地址。 中断返回指令中断返回指令IRET的功能是顺序从的功能是顺序从堆栈堆栈中弹出中弹出3个字,依次个字,依次送入送入寄存器寄存器IP、CS和和FR。 中断优先级,由高到低,依次为:中断优先级,由高到低,依次为: 软件中断(不含单步中断)软件中断(不含单步中断) 不可屏蔽中断、不可屏蔽中断、 可屏蔽中断、可屏蔽中断、 单步中断。单步中断。 练习练习. 现有现有A、B、C、D四个中断源,其优先级四个中断源,其优先级由高向低按由高向低按ABCD

53、顺序排列。若中断服务程序顺序排列。若中断服务程序的执行时间为的执行时间为20s,请根据下图所示时间轴给出的中,请根据下图所示时间轴给出的中断源请求中断的时刻,画出断源请求中断的时刻,画出CPU执行程序的轨迹。执行程序的轨迹。 解:解: CPU执行程序的轨迹图如下:执行程序的轨迹图如下:与与 请求请求 请求请求 请求请求 请求请求 练习练习. 设某机有五个中断源设某机有五个中断源L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为按中断响应的优先次序由高向低排序为L0L1 L2 L3 L4,现要求中断处理次序改为,现要求中断处理次序改为L1L4 L2 L0 L3,根据下面的格式,写

54、出各中断源的屏蔽字。,根据下面的格式,写出各中断源的屏蔽字。 解:各中断源屏蔽状态见下表:解:各中断源屏蔽状态见下表:例例.在程序中断方式中,磁盘申请中断优先权高于在程序中断方式中,磁盘申请中断优先权高于打印机。当打印机正在打印时,磁盘申请中断,打印机。当打印机正在打印时,磁盘申请中断,试问是否要将打印机输出停下来?试问是否要将打印机输出停下来?7.6 DMA 方式方式一、一、DMA 方式的特点及应用方式的特点及应用。CPU主主存存ACC 中断接口中断接口DMA 接口接口I/O 设设 备备中断方式数据传送通路中断方式数据传送通路输入指令输入指令输出指令输出指令DMA方式数据传送通路方式数据传送

55、通路2. DMA 与主存交换数据的三种方式与主存交换数据的三种方式主存工作时间主存工作时间CPU不执行程序不执行程序DMA不工作不工作DMA不工作不工作DMA工作工作 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t主存工作时间主存工作时间 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t主存工作时间主存工作时间 DMA控制控制并使用主存并使用主存 CPU控制控制并使用主存并使用主存t3.DMA的特点及应用的特点及应用1)特点:靠硬件控制传送)特点:靠硬件控制传送 不用保护现场不用保护现场 不具备处理故障的能力不具备处理故障的能力 优先级高,响应

56、速度快优先级高,响应速度快2)DMA应用场合:用于高速数据传送的场合应用场合:用于高速数据传送的场合 硬盘及软盘的硬盘及软盘的I/O接口接口 通信信道的通信信道的I/O接口接口 多处理机和多任务系统多处理机和多任务系统 CRT扫描扫描二、二、DMA 接口的功能和组成接口的功能和组成(1) 向向 CPU 申请申请 DMA 传送传送(2) 处理总线处理总线 控制权的转交控制权的转交(3) 管理管理 系统总线、系统总线、控制控制 数据传送数据传送(4) 确定确定 数据传送的数据传送的 首地址和长度首地址和长度(5) DMA 传送结束时,传送结束时,给出操作完成信号给出操作完成信号修正修正 传送过程中

57、的数据传送过程中的数据 地址地址 和和 长度长度2. DMA 接口组成接口组成DMA接口接口主主存存CPUDMA 控控 制制 逻逻 辑辑 中中 断断 逻逻 辑辑设备设备HLDAARWCDARHRQ中断请求中断请求数据线数据线地址线地址线+1+1溢出信号溢出信号DREQDACKBRAR:主存地址寄存器 WC:字计数器 DAR:设备地址寄存器 BR:数据缓冲寄存器三、三、DMA 的工作过程的工作过程1. DMA 传送过程传送过程预处理、数据传送、后处理预处理、数据传送、后处理(1) 预处理预处理通过几条输入输出指令预置如下信息通过几条输入输出指令预置如下信息 通知通知 DMA 控制逻辑传送方向(入

58、控制逻辑传送方向(入/出)出) 设备地址设备地址 DMA 的的 DAR 主存地址主存地址 DMA 的的 AR 传送字数传送字数 DMA 的的 WC预处理:预处理:主存起始地址主存起始地址设备地址设备地址 传送数据个数传送数据个数启动设备启动设备DMADMADMA数据传送数据传送:继续执行主程序继续执行主程序同时完成一批数据传送同时完成一批数据传送后处理:后处理:中断服务程序中断服务程序做做 DMA 结束处理结束处理继续执行主程序继续执行主程序CPU(2) DMA 传送过程示意传送过程示意允许传送?允许传送?主存地址送总线主存地址送总线数据送数据送I/O设备(或主存设备(或主存 )主存地址主存地

59、址 加加 1传送个数传送个数 减减 1 数据块数据块传送结束?传送结束?向向CPU申请申请 程序中断程序中断DMA请求请求否否否否是是是是数据传送数据传送(3) 数据传送过程(输入)数据传送过程(输入)BR设备设备DMA 控控 制制 逻逻 辑辑 中中 断断 逻逻 辑辑ARWCDARDMA接口接口主主存存CPU+1+1DREQHRQHLDA地址线地址线DACK数据线数据线溢出信号溢出信号中断请求中断请求ARWC+1+1BRBRBRBRBRBRBR设备设备DMA 控控 制制 逻逻 辑辑 中中 断断 逻逻 辑辑ARWCDARDMA接口接口主主存存CPU+1+1DREQHRQHLDA地址线地址线DAC

60、K数据线数据线溢出信号溢出信号中断请求中断请求ARWC+1+1(4) 数据传送过程(输出)数据传送过程(输出)BRBRBRBR(5) 后处理后处理校验送入主存的数是否正确校验送入主存的数是否正确是否继续用是否继续用 DMA测试传送过程是否正确,错则转诊断程序测试传送过程是否正确,错则转诊断程序由中断服务程序完成由中断服务程序完成例例.一个一个DMA接口可采用周期窃取方式把字符传送到接口可采用周期窃取方式把字符传送到存储器,它支持的最大批量为存储器,它支持的最大批量为400个字节。若存取周个字节。若存取周期为期为100ns,每处理一次中断需,每处理一次中断需5s,现有的字符设,现有的字符设备传输率为备传输率为9600bps。假设字符之间的传输是无间隙。假设字符之间的传输是无间隙的,若忽略预处理所需要的时间,试问采用的,若忽略预处理所需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论