




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、5.6 DMA方式方式5.5 程序中断方式程序中断方式5.4 程序查询方式程序查询方式5.3 I/O接口接口5.2 外部设备外部设备5.1 概述概述l 重点:重点:I/O接口的职能、接口的职能、I/O端口的编址端口的编址方式、中断过程、方式、中断过程、DMA过程过程 l 难点:难点:I/O端口的编址方式、中断方式端口的编址方式、中断方式的接口电路、的接口电路、DMA接口电路、接口电路、DMA过程过程 用来控制用来控制外设与主机外设与主机(内存或(内存或CPUCPU内的寄存器)内的寄存器)之间进行之间进行数据交换数据交换的机构。的机构。 通常把输入输出设备及其接口线路、控制部件、通常把输入输出设
2、备及其接口线路、控制部件、通道或通道或I/OI/O处理器以及处理器以及I/OI/O软件统称为软件统称为输入输出系统输入输出系统。什么是输入输出系统?什么是输入输出系统?输入输出系统输入输出系统I/O硬件硬件I/O软件软件I/OI/O系统最典型地反映了硬件与软件的结合。系统最典型地反映了硬件与软件的结合。实现上述功能需解决以下一系列问题:实现上述功能需解决以下一系列问题: u怎样在怎样在CPUCPU、主存和外设间、主存和外设间建立建立高效的信息传输高效的信息传输 “ “通路通路”; u怎样怎样将将用户的用户的I/OI/O请求转换请求转换成设备的成设备的命令命令; u如何如何对外设进行编址对外设进
3、行编址; u怎样使怎样使CPUCPU方便地方便地寻找到寻找到要访问的要访问的外设外设; uI/OI/O硬件和硬件和I/OI/O软件如何软件如何协调协调完成主机和外设间的数据传送;完成主机和外设间的数据传送;u输入出系统解决哪些问题?输入出系统解决哪些问题? 用户如何将所需的信息(文字、图表、声音、视用户如何将所需的信息(文字、图表、声音、视频等)通过不同的外设频等)通过不同的外设输入输入到计算机中,以及计算到计算机中,以及计算机内部处理的结果信息如何通过相应的外设机内部处理的结果信息如何通过相应的外设输出输出给给用户。用户。 解决各种信息的输入和输出解决各种信息的输入和输出 一、输入输出系统的
4、发展概况一、输入输出系统的发展概况1. 早期早期分散连接分散连接CPU 和和 I/O设备设备 串行串行 工作工作程序查询方式程序查询方式2. 接口模块和接口模块和 DMA 阶段阶段总线连接总线连接CPU 和和 I/O设备设备 并行并行 工作工作3. 具有通道结构的阶段具有通道结构的阶段4. 具有具有 I/O 处理机的阶段处理机的阶段中断方式中断方式DMA 方式方式用于大中型计算机用于大中型计算机二、输入输出系统的组成二、输入输出系统的组成1. I/O 软件软件(1) I/O 指令指令 (2) 通道指令通道指令 CPU 指令的一部分指令的一部分通道自身的指令通道自身的指令 CPU指令指令 指出数
5、组的首地址、传送字数、操作命令指出数组的首地址、传送字数、操作命令如如 IBM/370 通道指令为通道指令为 64 位位操作码操作码 命令码命令码 设备码设备码 主要完成输入、输出、协调的任务主要完成输入、输出、协调的任务用于接口模块方式用于接口模块方式?I/O?I/O指令指令 ? ?具体操作具体操作 ? ?哪个哪个I/O I/O 二、输入输出系统的组成二、输入输出系统的组成2. I/O 硬件硬件设备设备 I/O 接口接口设备设备 设备控制器设备控制器通道通道三、三、I/O 设备与主机的联系方式设备与主机的联系方式1. I/O 设备编址方式设备编址方式(1) 统一编址统一编址(2) 不统一编址
6、不统一编址用取数、存数指令用取数、存数指令有专门的有专门的 I/O 指令指令2. 设备选址设备选址用设备选择电路识别是否被选中用设备选择电路识别是否被选中3. 传送方式传送方式(1) 串行串行(2) 并行并行数据字数据字命令字命令字命令字命令字0 1 1 0 1 0 0 0起始位起始位终止位终止位9.09 ms2 9.09 ms4. 联络方式联络方式(1) 立即响应:立即响应:用于工作速度十分缓慢的设备用于工作速度十分缓慢的设备(2) 异步工作采用应答信号异步工作采用应答信号 “Ready”“Strobe”I/O 接接 口口I/O 设设 备备CPU(3) 同步工作采用同步时标同步工作采用同步时
7、标并行并行串行串行起始位起始位终止位终止位9.09 ms2 9.09 ms5. I/O 设备与主机的连接方式设备与主机的连接方式辐射式连接辐射式连接总线连接总线连接 外设外设 外设外设 外设外设 主主机机不便于增删设备不便于增删设备每台设备都配有一套每台设备都配有一套控制线路和一组信号线控制线路和一组信号线便于增删设备便于增删设备四、四、I/O设备与主机信息传送的控制方式设备与主机信息传送的控制方式1. 程序查询方式程序查询方式CPU 和和 I/O 串行工作串行工作踏步等待踏步等待CPU读读I/O状态状态 检查状态检查状态 未准备就绪未准备就绪 出错出错 从从I/O接口中读接口中读 一个字到一
8、个字到CPU 从从CPU向主存向主存 写入一个字写入一个字 CPU向向I/O发发发读指令发读指令 CPU读读I/O状态状态 检查状态检查状态 完成否完成否 未准备就绪未准备就绪 现行程序现行程序 是是 出错出错 已准备就绪已准备就绪 否否 读读2. 程序中断方式程序中断方式I/O 工作工作CPU 不查询不查询CPU 暂停现行程序暂停现行程序自身准备自身准备与主机交换信息与主机交换信息CPU 和和 I/O 并行工作并行工作 启动启动 I/O设备设备现行程序现行程序 中断服务程序中断服务程序KK+1没有踏步等待现象没有踏步等待现象 中断现行程序中断现行程序 程序中断方式流程程序中断方式流程CPU
9、向向 I/O 发读指令发读指令 CPU 读读 I/O 状态状态 检查状态检查状态 完成否?完成否? CPU 做其他事情做其他事情 I/O 设备工作设备工作 准备就绪准备就绪 CPU I/O从从 CPU 向主存写入一个字向主存写入一个字 CPU 主存主存 从从 I/O 接口中读一个字到接口中读一个字到CPU I/O CPU 中断请求中断请求 I/O CPU出错出错 是是 否否未错未错 3. DMA 方式方式主存和主存和 I/O 之间有一条直接数据通道之间有一条直接数据通道不中断现行程序不中断现行程序周期挪用(周期窃取)周期挪用(周期窃取)CPU 和和 I/O 并行工作并行工作存取周期结束存取周期
10、结束 CPU 执行现行程序执行现行程序 CPU 执行现行程序执行现行程序 DMA请求请求 启动启动I/OI/O准备准备 I/O准备准备 一个存取周期一个存取周期 实现实现I/O与主存之间的传送与主存之间的传送 存取周期结束存取周期结束 CPU 执行现行程序执行现行程序 CPU 执行现行程序执行现行程序 DMA请求请求 启动启动I/O I/O准备准备 I/O准备准备 一个存取周期一个存取周期 实现实现I/O与主存与主存 之间的传送之间的传送 启动启动I/O I/O准备准备 一个存取周期一个存取周期 DMA请求请求 I/O准备准备 指令执行周期结束指令执行周期结束 CPU 执行现行程序执行现行程序
11、 CPU 执行现行程序执行现行程序 启动启动I/O 中断请求中断请求 I/O准备准备 I/O准备准备 CPU 处理中断服务程序处理中断服务程序实现实现 I/O 与主机之间的传送与主机之间的传送 间间断断启动启动I/O I/O准备准备 中断请求中断请求 I/O准备准备 三种方式的三种方式的 CPU 工作效率比较工作效率比较CPU 执行执行 现行程序现行程序CPU查询等待并传输查询等待并传输I/O数据数据 CPU 执行执行 现行程序现行程序启动启动I/OI/O 准备及传送准备及传送启动启动I/O程序程序 查询查询 方式方式程序程序 中断中断方式方式 DMA 方式方式I/O 准备及传送准备及传送 间
12、间断断一、概述一、概述主机主机 设备设备控制器控制器机、电机、电磁、光磁、光部分部分I/O接接口口外部设备外部设备外部设备大致分三类外部设备大致分三类键盘、鼠标、打印机、显示器键盘、鼠标、打印机、显示器 磁盘、光盘、磁带磁盘、光盘、磁带1. 人机交互设备人机交互设备2. 计算机信息存储设备计算机信息存储设备3. 机机 机通信设备机通信设备调制解调器等调制解调器等二、输入设备二、输入设备1. 键盘键盘2. 鼠标鼠标3. 触摸屏触摸屏按键按键判断哪个键按下判断哪个键按下将此键翻译成将此键翻译成 ASCII 码码 (编码键盘法)(编码键盘法)机械式机械式 金属球金属球 电位器电位器光电式光电式 光电
13、转换器光电转换器三、输出设备三、输出设备1. 显示器显示器(1) 字符显示字符显示(2) 图形显示图形显示(3) 图像显示图像显示字符发生器字符发生器主观图像主观图像客观图像客观图像2. 打印机打印机(1) 击打式击打式(2) 非击打式非击打式点阵式(逐字、逐行)点阵式(逐字、逐行)喷墨(逐字)喷墨(逐字)激光(逐页)激光(逐页)四、其他四、其他1. A/D、D/A2. 终端终端3. 汉字处理汉字处理五、多媒体技术五、多媒体技术完成显示控制与存储、键盘管理及通信控制完成显示控制与存储、键盘管理及通信控制模拟模拟/数字(数字数字(数字/模拟)转换器模拟)转换器汉字输入、汉字存储、汉字输出汉字输入
14、、汉字存储、汉字输出1. 什么是多媒体什么是多媒体2. 多媒体计算机的关键技术多媒体计算机的关键技术由键盘和显示器组成由键盘和显示器组成什么是什么是I/OI/O接口?接口? u是连接外设和主机的一个是连接外设和主机的一个“桥梁桥梁”。 u与外设侧、主机侧与外设侧、主机侧各有一个各有一个接口。接口。 内部接口内部接口通过系统总线通过系统总线(I/O(I/O总线总线) )和内存、和内存、CPUCPU相相连。连。 外部接口外部接口则通过各种接口电缆(如,串行电缆、并则通过各种接口电缆(如,串行电缆、并行电缆、网线或行电缆、网线或SCSISCSI电缆等)将其连到外设上。电缆等)将其连到外设上。 u通过
15、通过I/OI/O接口,在接口,在CPUCPU、主存和外设之间建立、主存和外设之间建立了一个了一个高效的数据传输的高效的数据传输的“通路通路”。 u每个每个I/OI/O模块模块( (或或I/OI/O接口接口, ,如显卡、打印控制如显卡、打印控制器等器等) )控制一个或多个外围设备。控制一个或多个外围设备。 接口接口外设外设系统总线系统总线为什么要引入为什么要引入I/OI/O接口?接口? u主机和外设的工作方式不同。在主机和外设的工作方式不同。在CPUCPU中并入所有中并入所有的控制逻辑不切实际;的控制逻辑不切实际; u直接使用高速的系统总线连接外设不切实际;直接使用高速的系统总线连接外设不切实际
16、; u需实现串需实现串- -并转换并转换 机械、电子、光学、磁学等机械、电子、光学、磁学等 用一种专门机构来用一种专门机构来协调外设和主机间的信协调外设和主机间的信息交换过程息交换过程。具有这种功能的一类机构就是。具有这种功能的一类机构就是I/OI/O接口。接口。I/O接口的职能:接口的职能:1. 设备的选择设备的选择2. 实现数据缓冲达到速度匹配实现数据缓冲达到速度匹配4. 实现电平转换实现电平转换5. 传送控制命令传送控制命令6. 反映设备的状态(反映设备的状态(“忙忙”、“就绪就绪”、“中断请求中断请求”)3. 实现数据串实现数据串 并格式转换并格式转换 二、接口的功能和组成二、接口的功
17、能和组成(1) 设备选择线设备选择线 (2) 数据线数据线(3) 命令线命令线 (4) 状态线状态线 I/O 接口接口 设备设备 I/O 接口接口 设备设备 数据线数据线 命令线命令线 状态线状态线 I/O总线总线 设备选择线设备选择线(地址线地址线) 总线连接方式的总线连接方式的 I/O 接口电路接口电路2. 接口的功能和组成接口的功能和组成功能功能组成组成选址功能选址功能传送命令的功能传送命令的功能传送数据的功能传送数据的功能反映设备状态的功能反映设备状态的功能设备选择电路设备选择电路命令寄存器、命令译码器命令寄存器、命令译码器数据缓冲寄存器数据缓冲寄存器设备状态标记设备状态标记完成触发器
18、完成触发器 D工作触发器工作触发器 B中断请求触发器中断请求触发器 INTR屏蔽触发器屏蔽触发器 MASKD=0,B=0:暂停状态:暂停状态D=1,B=0:准备就绪:准备就绪D=0,B=1:正在准备:正在准备CPUCPUI/OI/O模块(接口)模块(接口)检查设备状态检查设备状态回送设备状态回送设备状态送命令送命令对命令译码对命令译码并对设备进行控制并对设备进行控制取数据取数据或送数据或送数据从外设取数据从外设取数据或送数据给外设或送数据给外设地址信息、数据信息、命令信息、状态信息地址信息、数据信息、命令信息、状态信息3. I/O 接口的基本组成接口的基本组成 命令寄存器命令寄存器 和命令译码
19、器和命令译码器 设备选择设备选择 电路电路 设备状态设备状态 标记标记 数据缓冲数据缓冲 寄存器寄存器DBR 控制逻辑电路控制逻辑电路 I/O接口接口 外外 部部 设设 备备 数据线数据线 命令命令 状态状态 数据线数据线 命令线命令线 状态线状态线 CPU地址线地址线 数据信息数据信息命令信息命令信息地址信息地址信息状态信息状态信息三、接口类型三、接口类型并行接口:数据各位同时传送。并行接口:数据各位同时传送。串行接口:数据逐位分时传送。串行接口:数据逐位分时传送。1. 按数据按数据 传送方式传送方式 分类分类Intel 8255 用于连接快速设备用于连接快速设备 Intel 8251 用于
20、连接显示终端等慢速设备用于连接显示终端等慢速设备 注意:接口与外设串行传送,而接口与系统总线还是并行传送注意:接口与外设串行传送,而接口与系统总线还是并行传送 接口接口外设外设系统总线系统总线并并 适合于设备本身并行工作、距主机较近的场合适合于设备本身并行工作、距主机较近的场合并并 串串 三、接口类型三、接口类型通用通用接口接口专用专用接口:接口:为某类外设或某种用途专门设计为某类外设或某种用途专门设计 3. 按按 通用性通用性 分类分类4. 按数据传送的按数据传送的 控制方式控制方式 分类分类中断中断接口接口DMA 接口:高速接口:高速Intel 8255、 Intel 8251Intel
21、8279可编程键盘可编程键盘/ /显示器接口显示器接口 Intel 8275可编程可编程CRTCRT控制器接口控制器接口 Intel 8259Intel 8257程序控制式程序控制式接口:连接慢速设备接口:连接慢速设备可编程接口可编程接口不可编程接口不可编程接口2. 按功能按功能 选择的灵活性选择的灵活性 分类分类Intel 8255、 Intel 8251Intel 8212 I/O与主机之间的数据传送控制方式有:与主机之间的数据传送控制方式有: 1程序直接控制方式程序直接控制方式(查询方式查询方式) 2程序中断控制方式程序中断控制方式 3直接存储器存取方式直接存储器存取方式(DMA方式方式
22、) 4通道方式通道方式 5I/O处理机方式处理机方式 基本思想:基本思想:直接直接通过程序通过程序来控制主机和外设的数据交换。来控制主机和外设的数据交换。直接用直接用程序里的查询程序里的查询语句。语句。一、程序查询流程一、程序查询流程检查状态标记检查状态标记1 设备设备1 准备就绪?准备就绪? 检查状态标记检查状态标记N 设备设备N准备就绪?准备就绪? 处理设备处理设备1是是否否否否 处理设备处理设备N 是是 1. 查询流程查询流程检查状态标记检查状态标记 交换数据交换数据 准备就绪准备就绪? 是是 否否 单个设备单个设备多个设备多个设备测测试试指指令令 转转移移指指令令 传传送送指指令令 2
23、. 程序流程程序流程设置主存缓冲区首址设置主存缓冲区首址 设置计数值设置计数值 启动外设启动外设 传送一个数据传送一个数据 修改主存地址修改主存地址 修改计数值修改计数值 结束结束I/O传送传送 准备好?准备好? 传送完?传送完? 未完未完是是 完完 否否 保存保存 寄存器内容寄存器内容“准备好准备好”(就绪)(就绪)的含义:的含义:对于输入设备,对于输入设备,意味意味着接口中的数缓器已着接口中的数缓器已满(输入缓冲满)满(输入缓冲满), , CPUCPU从接口取数据;从接口取数据; 对于输出设备,对于输出设备,则说则说明数缓器已空(输出明数缓器已空(输出缓冲空)缓冲空),CPU,CPU将数据
24、将数据送到接口。送到接口。设备选择电路设备选择电路 DBRQQ&数据线数据线 准备就绪准备就绪 启动命令启动命令 地址线地址线 SEL输入数据输入数据 启动设备启动设备 设备工作设备工作 结束结束D B 二、程序查询方式的接口电路二、程序查询方式的接口电路10 10以以输入输入为例为例举例:用程序直接控制方式控制打印输出举例:用程序直接控制方式控制打印输出 打印输出标准子程序打印输出标准子程序 功能:打印功能:打印ALAL寄存器中的字符。寄存器中的字符。 PRINTPROCNEAR PUSHAX 保留用到的寄存器 PUSHDX保留用到的寄存器MOVDX, 378H输入数据锁存器口地址OUTDX
25、, AL输出要打印的字符到数据锁存器MOVDX, 379H输入状态寄存器口地址WAITINAL, DX读打印机状态位 TESTAL, 80H检查忙碌位JEWAIT等待直到打印机不忙MOVDX, 37AH输入命令寄存器口地址MOVAL, 0DH置选通位1OUTDX, AL使控制卡的命令锁存器中选通位置1MOVAL,0CH置选通位0OUTDX,AL使控制卡的命令锁存器中选通位置0 POPDXPOPAX恢复寄存器 RETPRINTENDP简单、易控制简单、易控制(完全靠软件控制)、(完全靠软件控制)、外围接口控制逻辑少;外围接口控制逻辑少; CPUCPU与外设与外设串行工作串行工作,效率低、速度慢,
26、效率低、速度慢,适合于慢速设备适合于慢速设备程序查询方式的特点程序查询方式的特点工作方式:完全串行工作方式工作方式:完全串行工作方式 优点优点缺点缺点l例例5.1在程序查询方式的输入输出系统中,在程序查询方式的输入输出系统中,假设不考虑处理时间,每一次查询操作需假设不考虑处理时间,每一次查询操作需要要100个时钟周期,个时钟周期,CPU的时钟频率为的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且。现有鼠标和硬盘两个设备,而且CPU必须每秒对鼠标进行必须每秒对鼠标进行30次查询,硬盘次查询,硬盘以以32位字长为单位传输数据,即每位字长为单位传输数据,即每32位被位被CPU查询一次,传输率为查
27、询一次,传输率为2MBps。求求CPU对这两个设备查询所花费的时对这两个设备查询所花费的时间比率,由此可得出什么结论?间比率,由此可得出什么结论?(1)CPU每秒对鼠标每秒对鼠标30次查询,所需要的时钟周期数为:次查询,所需要的时钟周期数为:100303000根据根据CPU的时钟频率为的时钟频率为50MHz,所以鼠标的查询占用,所以鼠标的查询占用CPU的的时间比率为:时间比率为:3000/(50106) 100%=0.006% 结论:对鼠标的查询基本不影响结论:对鼠标的查询基本不影响CPU的性能。的性能。(2)对于硬盘,每)对于硬盘,每32位被位被CPU查询一次,所以每秒查询查询一次,所以每秒
28、查询2MB/4B=512K次次则每秒查询的时钟周期数为则每秒查询的时钟周期数为1005121024=52.4106 所以对磁盘的查询占用所以对磁盘的查询占用CPU的时间比率为的时间比率为 (52.4106)/(50106) 100%=105%结论:即使结论:即使CPU将全部时间都用于对硬盘的查询也不能满足将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求,因此磁盘传输的要求,因此CPU一般不采用程序查询方式与磁盘交一般不采用程序查询方式与磁盘交换信息。换信息。(1)主机与)主机与I/O设备传送数据时,主机与设备传送数据时,主机与I/O设备是串行工作的,设备是串行工作的,说明采用说明采用。A.
29、 程序查询方式程序查询方式B. 程序中断方式程序中断方式C. 通道方式通道方式D. DMA方式方式(2)I/O接口中数据缓冲器的作用是接口中数据缓冲器的作用是。A. 用来暂存用来暂存I/O设备和设备和CPU之间传送的数据之间传送的数据B. 用来暂存用来暂存I/O设备的状态设备的状态C. 用来暂存用来暂存CPU发出的命令发出的命令D. 以上全部正确以上全部正确(3)在采用)在采用对设备进行编址的情况下,不需要专门的对设备进行编址的情况下,不需要专门的I/O指令。指令。A. 独立编址方式独立编址方式B. 统一编址方式统一编址方式C. 两者都是两者都是D. 两者都不是两者都不是答案:答案:A A答案
30、:答案:A A答案:答案:B BCPUCPU在执行程序的过程中,每执行在执行程序的过程中,每执行一条指令一条指令结束后结束后,都会去,都会去查询有没有中断请求查询有没有中断请求。 中断请求中断请求是指外设发生了一些特殊的情况是指外设发生了一些特殊的情况(如:打印机缺纸、外设完成任务、就绪(如:打印机缺纸、外设完成任务、就绪),),外设通过中断请求送给外设通过中断请求送给CPUCPU。 CPUCPU如果发现有中断请求,就会进行相应的如果发现有中断请求,就会进行相应的处理处理(进入相应的中断服务程序)。(进入相应的中断服务程序)。 一、中断的概念一、中断的概念KK+1QQ+1中断服务程序中断服务程
31、序1中断服务程序中断服务程序2入口入口1入口入口2引入引入在程序查询方式中,在程序查询方式中,CPU“踏步踏步”等待等待的时间,如果利用起来,能执行上千条指令。的时间,如果利用起来,能执行上千条指令。能不能把这些时间利用起来呢?能不能把这些时间利用起来呢?怎么利用?怎么利用?需要知道的两个问题:需要知道的两个问题:(1 1)主机怎么知道外设完成了准备工作?)主机怎么知道外设完成了准备工作?(2 2)CPUCPU中的现行程序能不能响应中断?中的现行程序能不能响应中断?(1 1)CPUCPU执行现行程序,不像查询方式一样要不执行现行程序,不像查询方式一样要不断查询,所以让外设主动去通知断查询,所以
32、让外设主动去通知CPUCPU,工作完成,工作完成了(即:了(即:中断请求中断请求)(2 2)不能。因为外设完成工作的时间不定(随)不能。因为外设完成工作的时间不定(随机的),所以现在程序中不可能也不知道在哪里机的),所以现在程序中不可能也不知道在哪里插入与外设交换数据的语句。所以只能插入与外设交换数据的语句。所以只能编制另外编制另外一段程序一段程序,运用,运用I/OI/O指令或传送指令进行数据交指令或传送指令进行数据交换。换。基本思想:基本思想:当外设准备好时,便向当外设准备好时,便向CPUCPU发中断请求,发中断请求,CPUCPU响应后,中止响应后,中止现行程序现行程序的执行,转入一个的执行
33、,转入一个“中断中断服务程序服务程序”进行输入进行输入/ /出操作,实现主机和外设出操作,实现主机和外设接口之间的数据传送,并启动外设工作。接口之间的数据传送,并启动外设工作。 “ “中中断服务程序断服务程序”执行完后,返回原被中止的程序断执行完后,返回原被中止的程序断点处点处继续执行继续执行。此时,外设和。此时,外设和CPUCPU并行工作。并行工作。 1.1.中断的定义中断的定义 CPUCPU暂时暂时中止中止现行程序的执行,现行程序的执行,转去转去执行执行为某个随机事态服务的为某个随机事态服务的中断处理程序中断处理程序。处理完。处理完毕后自动毕后自动恢复恢复原程序的执行。原程序的执行。2.2
34、.实质实质程序切换程序切换方法:方法:保存断点,保护现场;保存断点,保护现场;恢复现场,返回断点。恢复现场,返回断点。时间:时间:一条指令结束时切换。一条指令结束时切换。保证程序的完整性。保证程序的完整性。二、二、I/O 中断的产生(外设和中断的产生(外设和CPU之间协作过程)之间协作过程)以打印机为例以打印机为例发中断请求发中断请求 空闲空闲 接收接收 数据数据 接收接收 数据数据准备准备 发中断请求发中断请求 打印打印 打印打印 打印机打印机 执行主程序执行主程序 继续执行主程序继续执行主程序 继续执行主程序继续执行主程序 响应中断响应中断 中断返回中断返回 响应中断响应中断 中断返回中断
35、返回 启动启动 打印机打印机 传送传送 数据数据传送传送 数据数据CPU CPU 与打印机并行工作与打印机并行工作三、程序中断方式的接口电路三、程序中断方式的接口电路在在I/O接口电路中必须配置相关的硬件线路:接口电路中必须配置相关的硬件线路:1. 配置配置中断请求触发器中断请求触发器和和中断屏蔽触发器中断屏蔽触发器 INTR1:该设备向:该设备向CPU提出中断请求提出中断请求 MASK1:被屏蔽(封锁中断源的请求):被屏蔽(封锁中断源的请求)2. 排队器排队器 多个中断源向多个中断源向CPU提出中断请求时,提出中断请求时,CPU任何任何瞬间只能接受一个中断源的请求。瞬间只能接受一个中断源的请
36、求。3. 中断向量地址形成部件(设备编码器)中断向量地址形成部件(设备编码器) CPU响应中断后,需要找到相应的服务程序的响应中断后,需要找到相应的服务程序的入口地址。入口地址。中断源:能向中断源:能向CPU提出中断请求的各种因素。提出中断请求的各种因素。三、程序中断方式的接口电路三、程序中断方式的接口电路1. 配置中断请求触发器和中断屏蔽触发器配置中断请求触发器和中断屏蔽触发器D Q &1 INTR 中断请求触发器中断请求触发器INTR = 1 有请求有请求MASK 中断屏蔽触发器中断屏蔽触发器MASK = 1 被屏蔽被屏蔽来自来自 CPU 的的中断查询信号中断查询信号 受设备本身控制受设备
37、本身控制INTR D MASK QD 完成触发器完成触发器中断请求中断请求 2. 排队器排队器排队排队 在在 CPU 内或在接口电路中(链式排队器)内或在接口电路中(链式排队器)硬件硬件软件软件 详见第八章详见第八章INTP1INTP2INTP3INTP4INTR1INTR2INTR3INTR4 1& 1& 1& 1& INTR1设备设备 1#、2#、3#、4# 优先级按优先级按 降序排列降序排列INTRi = 1 有请求有请求 即即 INTRi = 0INTPINTP:排队器输出端:排队器输出端 INTRINTR:中断请求:中断请求 1INTP11INTP21INTP31INTP4&INTR
38、1INTR2INTR3INTR4INTR1INTR2INTR3=0 =0 INTR4 1& 1& 1& 1& INTP1INTP2INTP3INTP4INTR2=0 INTR1INTR1INTR21&INTP22. 排队器排队器排队排队在在 CPU 内或在接口电路中(链式排队器)内或在接口电路中(链式排队器)硬件硬件软件软件 详见第八章详见第八章例:设备例:设备 2# 2#、3#3#同时有请求同时有请求3. 矢矢(向向)量中断量中断 什么是矢什么是矢( (向向) )量中断?量中断? 是一种中断处理技术,它根据菊花链线路或并是一种中断处理技术,它根据菊花链线路或并行判优线路取得最高优先权的行判优
39、线路取得最高优先权的中断向量地址中断向量地址,找到,找到对应的对应的中断服务程序首地址中断服务程序首地址,从而调出中断服务程,从而调出中断服务程序执行。序执行。 中断向量中断向量IVIV:中断服务程序的初始地址和初始机器:中断服务程序的初始地址和初始机器状态字状态字PSWPSW。 向量地址向量地址VAVA(中断类型号)(中断类型号):中断向量的地址。:中断向量的地址。3. 中断向量地址形成部件中断向量地址形成部件入口地址入口地址向量地址向量地址 排队器输出排队器输出 由软件产生由软件产生 硬件向量法硬件向量法 显示器服务程序显示器服务程序 打印机服务程序打印机服务程序JMP 400JMP 30
40、0JMP 200主存主存 12H 13H 14H 200 300 向量地址向量地址 入口地址入口地址 入口地址入口地址 中断向量地址中断向量地址 形成部件形成部件 设备设备 编码器编码器 1 0 0 0000100100 1 0 000010011详见第八章详见第八章由由 硬件硬件 产生产生 向量地址向量地址 再由再由 向量地址向量地址 找到找到 入口地址入口地址 设备选择电路设备选择电路 DBR DQ&数据线数据线 启动命令启动命令 地址线地址线 SEL输入数据输入数据 启动设备启动设备 设备工作设备工作 结束结束& 1QQDINTR BQQMASK 设备编码器设备编码器 排队器排队器 中断
41、查询中断查询 来自高一级来自高一级 的排队器的排队器 至低一级至低一级 的排队器的排队器 向量地址向量地址 中断响应中断响应 INTA中断请求中断请求 命令译码命令译码 4. 程序中断方式接口电路的基本组成程序中断方式接口电路的基本组成四、四、I/O 中断处理过程中断处理过程1. CPU 响应中断的条件和时间响应中断的条件和时间(1) 条件条件(2) 时间时间允许中断触发器允许中断触发器 EINT = 1用用 开中断开中断 指令将指令将 EINT 置置 “1”用用 关中断关中断 指令将指令将 EINT 置置“ 0” 或硬件或硬件 自动复自动复位位当当 D = 1(随机)且随机)且 MASK =
42、 0 时时在每条指令执行阶段的结束前在每条指令执行阶段的结束前CPU 发发 中断查询信号中断查询信号(将(将 INTR 置置“1”)EINTEINT=1=1,开中断,开中断=0=0,关中断,关中断设备选择电路设备选择电路 设备选择电路设备选择电路 DBR DQ&数据线数据线 启动命令启动命令 地址线地址线 SEL输入数据输入数据 启动设备启动设备 设备工作设备工作 结束结束&1QQDINTR BQQ MASK设备编码器设备编码器 排队器排队器 中断查询中断查询来自高一级来自高一级 的排队器的排队器至低一级至低一级 的排队器的排队器向量地址向量地址 中断响应中断响应 INTA中断请求中断请求 命
43、令译码命令译码 2. I/O 中断处理过程中断处理过程 10&DBR01以输入为例以输入为例2. I/O 中断处理过程中断处理过程 一次中断处理过程可以归纳为:一次中断处理过程可以归纳为:中断请求中断请求中断判优(中断排队)中断判优(中断排队)中断响应中断响应中断服务中断服务中断返回中断返回 外设准备就绪后,提出外设准备就绪后,提出中断请求中断请求当多个设备同时请求时,进行当多个设备同时请求时,进行中断排队中断排队(CPU一次只能一次只能服务一个外设)服务一个外设)CPU在一定条件下,进行在一定条件下,进行中断响应中断响应CPU响应后进行响应后进行中断服务中断服务(中断屏蔽、中断嵌套)(中断屏
44、蔽、中断嵌套)中断返回中断返回中断处理过程中断处理过程五、中断服务程序流程五、中断服务程序流程1. 中断服务程序的流程中断服务程序的流程(1) 保护现场保护现场(2) 中断服务中断服务(3) 恢复现场恢复现场(4) 中断返回中断返回对不同的对不同的 I/O 设备具有不同内容的设备服务设备具有不同内容的设备服务中断返回指令中断返回指令2. 单重中断和多重中断单重中断和多重中断不允许中断不允许中断 现行的现行的 中断服务程序中断服务程序单重单重 中断中断 多重多重 中断中断 允许级别更高允许级别更高 的中断源的中断源中断中断 现行的现行的 中断服务程序中断服务程序中断隐指令完成中断隐指令完成进栈指
45、令进栈指令出栈指令出栈指令程序断点的保护程序断点的保护寄存器内容的保护寄存器内容的保护中断嵌套中断嵌套 3. 单重中断和多重中断的服务程序流程单重中断和多重中断的服务程序流程中断否?中断否? 保护现场保护现场 设备服务设备服务 恢复现场恢复现场 开中断开中断中断返回中断返回 取指令取指令 执行指令执行指令 中断服务程序中断服务程序 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断 向量地址向量地址 PC 中断周期中断周期 是是中断返回中断返回 保护现场保护现场 设备服务设备服务 恢复现场恢复现场 开中断开中断开中断开中断开中断开中断 中断隐指令中断隐指令 中断隐指令中断隐指令 否否取指
46、令取指令 执行指令执行指令 中断否?中断否? 否否 中断响应中断响应 程序断点进栈程序断点进栈 关中断关中断向量地址向量地址 PC 中断周期中断周期 是是中断服务程序中断服务程序 单重单重 多重多重 程序中断接口芯片程序中断接口芯片 8259A 的内部结构的内部结构 内部总线内部总线 缓冲器缓冲器读读 / 写写 逻逻 辑辑级联缓冲级联缓冲 器器/比较器比较器优先权优先权比较器比较器 ( PR ) 中断中断 服务服务 寄存寄存 器器(ISR) 中断中断 请求请求 寄存寄存 器器(IRR)中断屏蔽寄存器中断屏蔽寄存器 (IMR)控制逻辑控制逻辑 INTINTAD7D0A0RDWRCSCAS0CAS
47、1CAS2SP/ENIR0IR1IR2IR3IR4IR5IR6IR7内部总线内部总线主程序和服务程序抢占主程序和服务程序抢占 CPU 示意图示意图准备工作准备工作 准备工作准备工作 准备工作准备工作 传送数据传送数据 传送数据传送数据 发中断请求发中断请求 发中断请求发中断请求 I/O 宏观宏观 上上 CPU 和和 I/O 并行并行 工作工作微观微观 上上 CPU 中断现行程序中断现行程序 为为 I/O 服务服务主程序主程序 继续执行主程序继续执行主程序 启动外设启动外设 服务程序服务程序(传送数据)(传送数据) 服务程序服务程序 (传送数据)(传送数据)继续执行主程序继续执行主程序 CPU
48、例:假定某机控制一台设备输出一批数据。数据由例:假定某机控制一台设备输出一批数据。数据由主机输出到接口的数据缓冲器主机输出到接口的数据缓冲器OBROBR,需要,需要1s1s。再由。再由OBROBR输出到设备,需要输出到设备,需要1ms1ms。设一条指令的执行时间。设一条指令的执行时间为为1s(1s(包括隐指令包括隐指令) )。采用程序查询方式和中断传。采用程序查询方式和中断传送方式,试计算数据传输速度和对主机的占用率。送方式,试计算数据传输速度和对主机的占用率。 (1 1)程序查询方式)程序查询方式 若查询程序有若查询程序有1010条,第条,第5 5条为启动设备的指令,则:条为启动设备的指令,
49、则:数据传输率为:数据传输率为:1/(1000+5) s1/(1000+5) s,约为每秒,约为每秒995995个个数据。数据。 主机占用率主机占用率=100%=100%(2 2)程序中断方式)程序中断方式 若中断服务程序有若中断服务程序有3030条条, ,在第在第2020条启动设备,则:条启动设备,则: 数据传输率为:数据传输率为:1/(1000+1+20)s1/(1000+1+20)s,约为每秒,约为每秒979979个数据。个数据。 主机占用率为:主机占用率为:(1+30)/(1000+1+20)=3% (1+30)/(1000+1+20)=3% 为什么要引入为什么要引入DMA ?中断控制
50、方式虽比程序直接控制方式有效,中断控制方式虽比程序直接控制方式有效,CPUCPU和外设有一定的并行度,但由于下列原因和外设有一定的并行度,但由于下列原因也不适合高速设备和主机间的数据传送。也不适合高速设备和主机间的数据传送。对对I/OI/O请求响应慢。请求响应慢。数据传送速度慢。数据传送速度慢。DMADMA方式的实现:方式的实现:在外设和主存之间有直接的通路,在外设和主存之间有直接的通路,可直接传送数据而不通过可直接传送数据而不通过CPUCPU。DMADMA方式适用场合:方式适用场合:主要用于高速设备和主机的数据传送主要用于高速设备和主机的数据传送一、一、DMA 方式的特点方式的特点1. DM
51、A 和程序中断两种方式的数据通路和程序中断两种方式的数据通路CPU主主存存ACC 中断接口中断接口 DMA 接口接口 I/O 设设 备备中断方式数据传送通路中断方式数据传送通路 输入指令输入指令 输出指令输出指令 DMA方式数据传送通路方式数据传送通路 2. DMA 与主存交换数据的三种方式与主存交换数据的三种方式(1) 停止停止 CPU 访问主存访问主存控制简单控制简单CPU 处于不工作状态或保持状态处于不工作状态或保持状态未充分发挥未充分发挥 CPU 对主存的利用率对主存的利用率主存工作时间主存工作时间 CPU不执行程序不执行程序 DMA不工作不工作 DMA不工作不工作 DMA工作工作 C
52、PU控制控制 并使用主存并使用主存 DMA控制控制并使用主存并使用主存 t 停止停止 CPU 访问主存的优点和缺点访问主存的优点和缺点优点:优点: 控制简单、适用于传输率很高的外设实现成组控制简单、适用于传输率很高的外设实现成组数据传送。数据传送。 缺点:缺点: CPUCPU工作受影响。工作受影响。DMADMA访存时访存时CPUCPU基本上处于停基本上处于停止状态。止状态。 主存周期没有被充分利用。即使主存周期没有被充分利用。即使I/OI/O设备高速设备高速运行,但两个数据之间的准备间隔时间也总大于运行,但两个数据之间的准备间隔时间也总大于一个存储周期,所以主存周期没有被充分利用。一个存储周期
53、,所以主存周期没有被充分利用。(2) 周期挪用(或周期窃取)周期挪用(或周期窃取)DMA 访问主存有三种可能访问主存有三种可能 CPU 此时不访存此时不访存 CPU 正在访存正在访存 CPU 与与 DMA 同时请求访存同时请求访存此时此时 CPU 将总线控制权让给将总线控制权让给 DMA主存工作时间主存工作时间 CPU控制控制 并使用主存并使用主存 DMA控制控制并使用主存并使用主存 t(2)周期挪用的优点和缺点周期挪用的优点和缺点优点:优点:既能及时响应既能及时响应I/OI/O请求,又能较好地发挥请求,又能较好地发挥CPUCPU和主存的效率。和主存的效率。 这种方式下,在下一数据的准备阶段,
54、主这种方式下,在下一数据的准备阶段,主存周期被存周期被CPUCPU充分利用。因此适合于充分利用。因此适合于I/OI/O设备的读设备的读写周期大于主存周期的情况。写周期大于主存周期的情况。 缺点:缺点:每次每次DMADMA访存都要申请总线控制权、占用总访存都要申请总线控制权、占用总线进行传送、释放总线。增加传输开销。线进行传送、释放总线。增加传输开销。(3) DMA 与与 CPU 交替访问交替访问主存工作时间主存工作时间 DMA控制控制并使用主存并使用主存 CPU控制控制并使用主存并使用主存 tCPU 工作周期工作周期C1 专供专供 DMA 访存访存C2 专供专供 CPU 访存访存所有指令执行过
55、程中的一个基准时间所有指令执行过程中的一个基准时间不需要不需要 申请建立和归还申请建立和归还 总线的使用权总线的使用权(3)交替分时法的特点交替分时法的特点适用于适用于CPUCPU工作周期比主存存取周期更长的情况。工作周期比主存存取周期更长的情况。 不需要总线使用权的申请和释放。不需要总线使用权的申请和释放。在这种方式下,在这种方式下,CPUCPU既不停止主程序的运行也不既不停止主程序的运行也不进入等待状态,在进入等待状态,在CPUCPU工作过程中,不知不觉地完工作过程中,不知不觉地完成了成了DMADMA数据传送,故又被称为数据传送,故又被称为“透明的透明的DMA”DMA”方方式。式。二、二、
56、DMA 接口的功能和组成接口的功能和组成 利用利用DMAMA方式传送数据时,方式传送数据时,数据的传数据的传输过程输过程完全由完全由DMA 接口电路接口电路控制控制 DMA接口接口又称又称DMA控制器控制器二、二、DMA 接口的功能和组成接口的功能和组成1. DMA 接口功能接口功能(1)请求请求(2)响应响应(3)修改主存地址修改主存地址(4)识别传送方向识别传送方向(6)能发出能发出DMADMA结束信号结束信号( (5)5)确定传送数据个数确定传送数据个数DMA接口接口 主主存存CPU2. DMA 接口组成接口组成DMA 控控 制制 逻逻 辑辑 中中 断断 机机 构构设备设备 HLDA A
57、RWCDARHRQ 中断请求中断请求 数据线数据线 地址线地址线 +1+1溢出信号溢出信号 DREQ DACKBR 三、三、DMA 的工作过程的工作过程1. DMA 传送过程传送过程预处理、数据传送、后处理预处理、数据传送、后处理(1) 预处理(初始化)预处理(初始化)通过几条输入输出指令预置如下信息通过几条输入输出指令预置如下信息 通知通知 DMA 控制逻辑传送方向(入控制逻辑传送方向(入/出)出) 设备地址设备地址 DMA 的的 DAR 主存地址主存地址 DMA 的的 AR 传送字数传送字数 DMA 的的 WC三、三、DMA 的工作过程的工作过程(1) 预处理(初始化)软件实现预处理(初始
58、化)软件实现准备内存准备内存 设置参数设置参数 启动外设启动外设三、三、DMA 的工作过程的工作过程(2) 数据传送硬件实现数据传送硬件实现DMADMA请求请求:选通:选通- -DMADMA请求请求- -总线请求总线请求 DMADMA响应响应:总线响应:总线响应(CPU(CPU让出总线让出总线)-)-DMADMA响应响应 DMADMA传送传送:DMADMA控制总线进行数据传送控制总线进行数据传送 预处理预处理:主存起始地址主存起始地址 设备地址设备地址 传送数据个数传送数据个数 启动设备启动设备DMADMADMA数据传送数据传送:继续执行主程序继续执行主程序同时完成一批数据传送同时完成一批数据传送 后处理后处理:中断服务程序中断服务程序做做 DMA 结束处理结束处理 继续执行主程序继续执行主程序 CPU(2) DMA 传送过程示意传送过程示意允许传送?允许传送? 主存地址送总线主存地址送总线数据送数据送I/O设备(或主存设备(或主存 )修改修改 主存地址主存地址修改修改 字计数器字计数器 数据块数据块传送结束?传送结束? 向向CPU申请申请 程序中断程序中断 DMA请求请求 否否否否是是是是数据传送数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析2025年消费金融用户画像精准营销策略创新报告
- 数字化理赔服务在2025年保险行业的客户满意度提升路径报告
- 船舶修理合同及技术协议
- 湖南校企合作协议书范本
- 灾害监测合同协议书模板
- 聘用电工合同协议书模板
- 演员人身意外安全协议书
- 法人委托他人签合同范本
- 电动车合同租赁合同范本
- 铺地老青砖出售合同范本
- T/CAAM 0002-2022针灸临床研究不良事件记录规范
- DL/T5210.1-2012电力建设施工质量验收及评定附表全套-
- 2025年化学专业课程期末考试试题及答案
- 2025招商新检及成员公司招聘(53人)笔试参考题库附带答案详解
- 中国输电线路行波故障定位装置行业市场规模及投资前景预测分析报告
- 《剖析智能穿戴设备营销》课件
- 过敏性哮喘课件
- 危险废物培训知识课件
- T-CATIS 024-2024 再保理、双保理和联合保理业务操作指引
- 2024年江苏省中考语文文言文专项练习
- 2025届高考英语高频核心词汇表(词汇+词性)+清单(一)
评论
0/150
提交评论