陕西师范大学_计算机组成原理_课件ppt_白中英第5版_chp8_第1页
陕西师范大学_计算机组成原理_课件ppt_白中英第5版_chp8_第2页
陕西师范大学_计算机组成原理_课件ppt_白中英第5版_chp8_第3页
陕西师范大学_计算机组成原理_课件ppt_白中英第5版_chp8_第4页
陕西师范大学_计算机组成原理_课件ppt_白中英第5版_chp8_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

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

文档简介

1、第八章第八章 输入输出系统输入输出系统 【相关说明:本课件以白中英老师教材及课件为蓝相关说明:本课件以白中英老师教材及课件为蓝 本制作而成,特表感谢;网上文档会伴随教研过程本制作而成,特表感谢;网上文档会伴随教研过程 不定期更新版本;最后,恳请文档使用者批评、指不定期更新版本;最后,恳请文档使用者批评、指 正文中出现的错误、疏漏;版本时间:正文中出现的错误、疏漏;版本时间:2014.6】 计算机组成原理计算机组成原理(第五版)白中英、戴志涛主编(第五版)白中英、戴志涛主编 课件课件ppt 陕西师范大学 计算机科学学院 2 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 i/o接口影响接口

2、影响 计算机综合处理能力计算机综合处理能力 可扩展性可扩展性 兼容性兼容性 性价比性价比 3 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 第八章第八章 输入输出系统输入输出系统 8.1外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式 8.2程序查询方式程序查询方式 8.3程序中断方式程序中断方式 8.4dma方式方式 8.5通道方式通道方式 8.6通用通用i/o标准接口标准接口 4 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.1外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式 一、外围设备的速度分级一、外围设备的速度分级 外设种类繁多,存

3、在以下几种情况:外设种类繁多,存在以下几种情况: 不同种类的外设数据传输速率差别很大不同种类的外设数据传输速率差别很大 同一种设备在不同时刻传输速率也可能不同同一种设备在不同时刻传输速率也可能不同 高速的高速的cpu与速度参差不齐的外设怎样在时间上与速度参差不齐的外设怎样在时间上 同步呢?同步呢? i/o设备和设备和cpu数据交换步骤:数据交换步骤: cpu发送设备地址到总线发送设备地址到总线 等候总线上出现有效数据等候总线上出现有效数据 读或者写数据读或者写数据 5 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.1外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式

4、解决办法是在解决办法是在cpu和外设之间数据传送时加以和外设之间数据传送时加以 定时:定时: 速度极慢或简单的外设速度极慢或简单的外设 cpu只需要接受或者发送数据即可只需要接受或者发送数据即可 eg.机械开关:输入的信息一直有效机械开关:输入的信息一直有效 eg.显示二极管:输出随时就绪显示二极管:输出随时就绪 6 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.1外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式 慢速或者中速的设备慢速或者中速的设备 可以采用异步定时的方式可以采用异步定时的方式 应答式交换应答式交换 eg 键盘,键盘,“准备就绪准备就绪”、“忙忙”

5、 高速外设高速外设 采用同步定时方式采用同步定时方式 7 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.1外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式 二、信息交换方式二、信息交换方式 程序查询方式程序查询方式 程序中断方式程序中断方式 dma方式方式 通道方式通道方式 分糖果的例子分糖果的例子 8 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.1外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式 程序查询方式程序查询方式 最简单的输入输出方式最简单的输入输出方式 cpu定期查询外设状态定期查询外设状态 浪费大量浪费大量cpu时间时间

6、适用:单片机、适用:单片机、dsp设备设备 程序中断方式程序中断方式 外设发出中断信号外设发出中断信号 cpu响应响应 适用:随机事务适用:随机事务 9 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.1外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式 dma 直接内存访问直接内存访问 硬件实现硬件实现 dma控制机器完全接管控制机器完全接管i/o 适用于高速交换、成组交换适用于高速交换、成组交换 通道方式通道方式 通道:具有特殊功能的处理器通道:具有特殊功能的处理器 完成对内存、外设的统一管理完成对内存、外设的统一管理 10 陕西师范大学计算机科学学院陕西师范大学计

7、算机科学学院 8.2程序查询方式程序查询方式 1、设备编址、设备编址 统一编址:输入统一编址:输入/输出设备中的控制寄存器、输出设备中的控制寄存器、 数据寄存器、状态寄存器等和内存单元一样数据寄存器、状态寄存器等和内存单元一样 看待看待 独立编址:内存地址和独立编址:内存地址和i/o设备地址是分开设备地址是分开 的,访问内存和访问的,访问内存和访问i/o设备使用不同操作设备使用不同操作 码的指令码的指令 11 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.2程序查询方式程序查询方式 2、输入输出指令、输入输出指令 当用程序实现输入当用程序实现输入/输出传送时,输出传送时,i/o指令

8、一般具有如下功能:指令一般具有如下功能: 置置“1”或置或置“0”i/o接口的某些控制触发器,用于控制设备接口的某些控制触发器,用于控制设备 进行某些动作,如启动、关闭设备等。进行某些动作,如启动、关闭设备等。 测试设备的某些状态,如测试设备的某些状态,如“忙忙”、“准备就绪准备就绪”等,以便决定等,以便决定 下一步的操作。下一步的操作。 传送数据,当输入数据时,将传送数据,当输入数据时,将i/o接口中数据寄存器的内容送接口中数据寄存器的内容送 到到cpu某一寄存器;当输出数据时,将某一寄存器;当输出数据时,将cpu中某一寄存器的内中某一寄存器的内 容送到容送到i/o接口的数据寄存器。接口的数

9、据寄存器。 不同的机器,所采用的不同的机器,所采用的i/o指令格式和操作也不相同。指令格式和操作也不相同。 12 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.2程序查询方式程序查询方式 i/o指令格式指令格式 01 r0-r7 op 控制控制 dm 01 2 3 4 5 6 7 8 9 10-15 i/o指令指令 寄存器地址寄存器地址 8种操作码种操作码 启动、关闭等启动、关闭等 外设地址外设地址 2、输入输出指令、输入输出指令 eg. doas 2 13 data out a start dicc 3 12 data in c close 把cpu中r2内容输出到13号设备的

10、a数据缓冲寄存器中,同时启动设备 把12号设备中c寄存器的数据送入 cpur3,并关闭设备 13 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.2程序查询方式程序查询方式 3、程序查询接口、程序查询接口 -接口:转换器接口:转换器 -数据传送方式决定接口结构数据传送方式决定接口结构 -接口包含如下部分:接口包含如下部分: 设备选择电路:接到总线上的每个设备预先都给设备选择电路:接到总线上的每个设备预先都给 定了设备地址码。定了设备地址码。cpu执行执行i/o指令时需要把指指令时需要把指 令中的设备地址送到地址总线上,用以指示令中的设备地址送到地址总线上,用以指示cpu 要选择的设备

11、。每个设备接口电路都包含一个设要选择的设备。每个设备接口电路都包含一个设 备选择电路,用它判别地址总线上呼叫的设备是备选择电路,用它判别地址总线上呼叫的设备是 不是本设备。不是本设备。 14 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.2程序查询方式程序查询方式 数据缓冲寄存器:当输入操作时,用数据缓冲寄数据缓冲寄存器:当输入操作时,用数据缓冲寄 存器来存放从外部设备读出的数据,然后送往存器来存放从外部设备读出的数据,然后送往 cpu;当输出操作时,用数据缓冲寄存器来存放;当输出操作时,用数据缓冲寄存器来存放 cpu送来的数据,以便送给外部设备输出送来的数据,以便送给外部设备输出

12、 设备状态寄存器:接口中的标志触发器,如设备状态寄存器:接口中的标志触发器,如 “忙忙”、“准备就绪准备就绪”、“错误错误”等,用来标志等,用来标志 设备的工作状态,以便接口对外设动作进行监视。设备的工作状态,以便接口对外设动作进行监视。 一旦一旦cpu用程序询问外部设备时,将状态标志信用程序询问外部设备时,将状态标志信 息取至息取至cpu进行分析。进行分析。 15 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.2程序查询方式程序查询方式 4.程序查询输入输出方式程序查询输入输出方式 (1)先向先向i/o设备发出命令字,请求进行数据传送;设备发出命令字,请求进行数据传送;(2)从从

13、i/o接口读入状态字;接口读入状态字; (3)检查状态字中的标志,看看数据交换是否可以进行;检查状态字中的标志,看看数据交换是否可以进行; (4)假如这个设备没有准备就绪,则第假如这个设备没有准备就绪,则第(2)、第、第(3)步重复进行,一直到这个步重复进行,一直到这个 设备准备好交换数据,发出准备就绪信号设备准备好交换数据,发出准备就绪信号“ready”为止;为止; (5)cpu从从i/o接口的数据缓冲寄存器输入数据,或者将数据从接口的数据缓冲寄存器输入数据,或者将数据从cpu输出至接输出至接 口的数据缓冲寄存器。与此同时,口的数据缓冲寄存器。与此同时,cpu将接口中的状态标志复位。将接口中

14、的状态标志复位。 等 给出了输 入一个字 的过程 16 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.2程序查询方式程序查询方式 对上图流程的改进对上图流程的改进 ready为1? 跳到服务子 程序 17 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.2程序查询方式程序查询方式 设备服务子程序功能:设备服务子程序功能: 数据传送数据传送 修改内存地址修改内存地址 修改传送字节数修改传送字节数 状态分析或控制状态分析或控制 18 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3 程序中断方式程序中断方式 8.3.1中断的概念、功能中断的概念、功能 8.3.2程

15、序中断方式的基本接口程序中断方式的基本接口 8.3.3单级中断单级中断 8.3.4多级中断多级中断 8.3.5pentium中断机制中断机制 19 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.1中断的概念、功能中断的概念、功能 中断(中断(interrupt)是指是指cpu暂时中止现暂时中止现 行程序,转去处理随机发生的紧急事件,处行程序,转去处理随机发生的紧急事件,处 理完后自动返回原程序的功能和技术。理完后自动返回原程序的功能和技术。 中断系统是计算机实现中断功能的软硬件总中断系统是计算机实现中断功能的软硬件总 称。一般在称。一般在cpu中设置中设置中断机构中断机构,在外

16、设接,在外设接 口中设置口中设置中断控制器中断控制器,在软件上设置相应的,在软件上设置相应的 中断服务程序中断服务程序。 20 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.1中断的概念、功能中断的概念、功能 中断适合于处理随机出现的事务中断适合于处理随机出现的事务 主程序只在设备就绪时才与之交互数据主程序只在设备就绪时才与之交互数据 21 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.1中断的概念、功能中断的概念、功能 中断系统的功能包括:中断系统的功能包括: 1)实现主机和外设的并行工作;实现主机和外设的并行工作; 2)处理故障;处理故障; 3)实现多道程序

17、的分时操作;实现多道程序的分时操作; 4)实时控制;实时控制; 5)实现人机联系;实现人机联系; 6)实现多机通信。实现多机通信。 22 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.1中断的概念、功能中断的概念、功能 中断源中断源:能够向:能够向cpu发出中断请求的事件。发出中断请求的事件。 常见中断源有:常见中断源有: 输入、输出设备中断。如键盘、打印机等工作过程中输入、输出设备中断。如键盘、打印机等工作过程中 已做好接收或发送准备。已做好接收或发送准备。 数据通道中断。如磁盘、磁带等要同主机进行数据交数据通道中断。如磁盘、磁带等要同主机进行数据交 换等。换等。 实时时钟中

18、断。实时时钟中断。 故障中断。例如电源掉电、设备故障等要求故障中断。例如电源掉电、设备故障等要求cpu进行进行 紧急处理等。紧急处理等。 系统中断。如运算过程出现溢出、数据格式非法,数系统中断。如运算过程出现溢出、数据格式非法,数 据传送过程出现校验错,控制器遇到非法指令等等。据传送过程出现校验错,控制器遇到非法指令等等。 为了调试程序而设置的中断。为了调试程序而设置的中断。 23 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.1中断的概念、功能中断的概念、功能 硬件硬件 实现实现 软件软件 实现实现 不再接不再接 中断中断 可再接可再接 中断中断 24 陕西师范大学计算机科学

19、学院陕西师范大学计算机科学学院 8.3.1中断的概念、功能中断的概念、功能 中断处理过程注意几个问题:中断处理过程注意几个问题: 响应中断时机:外界中断请求是随机的,响应中断时机:外界中断请求是随机的, 但但cpu只有在当前指令执行完毕后,才转只有在当前指令执行完毕后,才转 至公操作至公操作 断点保护问题(断点保护问题(pc,寄存器内容和状态,寄存器内容和状态 的保存)的保存) 中断屏蔽:开中断和关中断问题。中断屏蔽:开中断和关中断问题。 中断是由软硬件结合起来实现的中断是由软硬件结合起来实现的 25 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.2程序中断方式的基本程序中断方

20、式的基本i/o接口接口 数据缓冲寄存器数据缓冲寄存器 bs外设接口忙(外设接口忙(busy)标志)标志 rd外设准备就绪(外设准备就绪(ready)标志)标志 ei(enable interrupt中断允许触发器)中断允许触发器) ir(interrupt request)中断请求触发)中断请求触发 器器 im(interrupt mask)中断屏蔽触发器)中断屏蔽触发器 26 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.2程序中断方式的基本接口程序中断方式的基本接口 表示由程序启动外设,将该外设接口的表示由程序启动外设,将该外设接口的“忙忙”标志标志bs置置“1”,“准备就

21、绪准备就绪”标志标志rd清清“0”;表示接口向外设发出启动信号;表示接口向外设发出启动信号; 表示数据由外设传送到接口的缓冲寄存器;表示数据由外设传送到接口的缓冲寄存器; 表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一 控制信号,将数据控制信号,将数据“准备就绪准备就绪”标志标志rd置置“1”; 表示允许中断标志表示允许中断标志ei为为“1”时,接口向时,接口向cpu发出中断请求信号;发出中断请求信号; 表示在一条指令执行末尾表示在一条指令执行末尾cpu检查中断请求线,检查中断请求线, 将中断请求线的请求信号接收到将中断请求

22、线的请求信号接收到“中断请求中断请求”标志标志ir; 表示如果表示如果“中断屏蔽中断屏蔽”标志标志im为为“0”时,时,cpu在一条指令执行结束在一条指令执行结束 后受理外设的中断请求,向外设发出响应中断信号并关闭中断;后受理外设的中断请求,向外设发出响应中断信号并关闭中断; 表示转向该设备的中断服务程序入口;表示转向该设备的中断服务程序入口; 表示中断服务程序通过输入指令把接口中数据缓冲寄存器的数据读至表示中断服务程序通过输入指令把接口中数据缓冲寄存器的数据读至cpu中的寄存器;中的寄存器;(10)表示)表示cpu发出控制信号发出控制信号c将接口中的将接口中的bs和和rd标志复位。标志复位。

23、 27 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.3单级中断单级中断 所有中断源属于同一级,离所有中断源属于同一级,离cpu越近,优先越近,优先 级越高。级越高。 要点:在执行某个中断请求的过程中,不允要点:在执行某个中断请求的过程中,不允 许其他中断源再打断中断服务程序。即使其许其他中断源再打断中断服务程序。即使其 优先级别更高。优先级别更高。 单级中断示意图单级中断示意图8.7类似于第六章的链式查询类似于第六章的链式查询 方式。方式。 28 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.3单级中断单级中断 中断响应:中断响应: 29 陕西师范大学计算机科

24、学学院陕西师范大学计算机科学学院 8.3.3单级中断单级中断 中断源的识别:串行排队链法(菊花链查询方式)中断源的识别:串行排队链法(菊花链查询方式) ir1,ir2,ir3为中断请求信号为中断请求信号 is1,is2,is3为中断选中信号为中断选中信号 inti为中断排队输入为中断排队输入 into为中断排队输出为中断排队输出 中断源识别之后获取中断源识别之后获取中断向量中断向量 当当cpu响应中断时,由硬件直接产生一个固定的地响应中断时,由硬件直接产生一个固定的地 址址(即向量地址即向量地址) 由向量地址指出每个中断源设备的中断服务程序入由向量地址指出每个中断源设备的中断服务程序入 口,这

25、种方法通常称为向量中断。口,这种方法通常称为向量中断。 30 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.4多级中断多级中断 概念:多级中断系统是指计算机系统中有相当多的概念:多级中断系统是指计算机系统中有相当多的 中断源,根据各中断事件的轻重缓急程度不同而中断源,根据各中断事件的轻重缓急程度不同而 分成若干级别,每一中断级分配给一个优先权。分成若干级别,每一中断级分配给一个优先权。 多级指的是优先权级别有多个多级指的是优先权级别有多个 每级有一个中断优先权每级有一个中断优先权 优先权高的中断级别级可以打断低的级别优先权高的中断级别级可以打断低的级别 如图如图8.9示示 31

26、 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 32 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.4多级中断多级中断 -多级中断可分为一维多级中断和二维多级中断多级中断可分为一维多级中断和二维多级中断 一维多级中断:每一级中断中有一个中断源。一维多级中断:每一级中断中有一个中断源。 二维多级中断:每一级中断中有多个中断源二维多级中断:每一级中断中有多个中断源 -说明:说明: 中断响应时,确定哪一级中断和中断源采用硬件实中断响应时,确定哪一级中断和中断源采用硬件实 现。采用了现。采用了独立请求方式和链式查询方式独立请求方式和链式查询方式相结合的相结合的 方式。多级中断可

27、以嵌套,但同一级的中断不允许方式。多级中断可以嵌套,但同一级的中断不允许 嵌套嵌套 使用多级堆栈保存现场(包括使用多级堆栈保存现场(包括im) 一个系统有一个系统有n级中断,则级中断,则cpu中有中有n个个ir,n个个im, 某级中断被响应后,则关闭本级和低于本级的某级中断被响应后,则关闭本级和低于本级的im, 开放更高级的开放更高级的im。 33 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.4多级中断多级中断 34 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.4多级中断多级中断 多级中断源的识别多级中断源的识别 中断优先排队电路中断优先排队电路 中断向量产

28、生电路中断向量产生电路 35 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 举例举例 例例1、参见图、参见图8.9所示的二维中断系统。请问:所示的二维中断系统。请问: (1)在中断情况下,在中断情况下,cpu和设备的优先级如和设备的优先级如 何考虑何考虑?请按降序排列各设备的中断优先级。请按降序排列各设备的中断优先级。 答:在中断情况下,答:在中断情况下,cpu的优先级最低。各的优先级最低。各 设备的优先次序是:设备的优先次序是: abcdefghicpu。 36 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 (2)若若cpu现执行设备现执行设备b的中断服务程序,的中断服务程序

29、, im2,im1,im0的状态是什么的状态是什么?如果如果cpu 执行设执行设 备备d的中断服务程序,的中断服务程序,im2,im1, im0的状态又是什么的状态又是什么? 答:当前执行答:当前执行b的中断:的中断: im2,im1,im0为为111 当前执行当前执行d的中断:的中断: im2,im1,im0为为011 37 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 (3)每一级的每一级的im能否对某个优先级的个别设备能否对某个优先级的个别设备 单独进行屏蔽单独进行屏蔽?如果不能,采取什么办法可达如果不能,采取什么办法可达 到目的到目的? 答:不能,因为共用答:不能,因为共用im

30、。 通过设置允许中断触发器为通过设置允许中断触发器为0,禁止该设备发出,禁止该设备发出 中断,对其屏蔽。中断,对其屏蔽。 38 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 (4)假如设备假如设备c一提出中断请求,一提出中断请求,cpu立即进立即进 行响应,如何调整才能满足此要求行响应,如何调整才能满足此要求? 答:增加更高一级(第答:增加更高一级(第3级)的中断请求逻辑,级)的中断请求逻辑, 将将c单独放置于第单独放置于第3级中。级中。 39 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 例例2(略):参见例(略):参见例1所示的系统,只考虑所示的系统,只考虑a,b,c 三个

31、设备组成的单级中断结构,它要求三个设备组成的单级中断结构,它要求cpu在执行在执行 完当前指令时对中断请求进行服务。假设:完当前指令时对中断请求进行服务。假设: (1)cpu“中断批准中断批准”机构在响应一个新的中断之前,机构在响应一个新的中断之前, 先要让被中断的程序的一条指令一定要执行完毕;先要让被中断的程序的一条指令一定要执行完毕; (2)tdc为查询链中每个设备的延迟时间;为查询链中每个设备的延迟时间;(3)ta, tb,tc分别为设备分别为设备a,b,c的服务程序所需的执的服务程序所需的执 行时间;行时间; (4)ts,tr为保存现场和恢复现场所需的为保存现场和恢复现场所需的 时间;

32、时间;(5)主存工作周期为主存工作周期为tm。 试问:就这个中试问:就这个中 断请求环境来说,系统在什么情况下达到中断饱和断请求环境来说,系统在什么情况下达到中断饱和? 40 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 41 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 中断处理流程,并假设执行一条指令中断处理流程,并假设执行一条指令 的时间也为的时间也为tm。如果三个设备同时发出中。如果三个设备同时发出中 断请求,那么依次分别处理设备断请求,那么依次分别处理设备a、设备、设备b、 设备设备c的时间如下:的时间如下: ta = 2tm + tdc + ts + ta + tr

33、 tb = 2tm + 2tdc + ts + tb + tr tc = 2tm + 3tdc + ts + tc + tr 处理三个设备所需的总时间为:处理三个设备所需的总时间为: t=ta+tb+tc t是达到中断饱和的最小时间,即中断极限频是达到中断饱和的最小时间,即中断极限频 率为:率为:f=1/t 访问存储器tm 访问存储器tm 0、指令周期 1、链式查询tdc 2、保护现场ts 3、恢复现场tr 42 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.5中断控制器中断控制器 8259中断控制器是一个集成电路芯片,它将中断中断控制器是一个集成电路芯片,它将中断 接口与优先

34、级判断等功能汇集于一身,常用于微型接口与优先级判断等功能汇集于一身,常用于微型 机系统。其内部结构如图机系统。其内部结构如图8.11所示。所示。 8位中断请求寄存器位中断请求寄存器(ir)接受接受8个外部设备送来的中断请个外部设备送来的中断请 求,每一位对应一个设备。求,每一位对应一个设备。 中断请求寄存器的各位送入优先权判断器,根据中断屏蔽中断请求寄存器的各位送入优先权判断器,根据中断屏蔽 寄存器寄存器(im)各位的状态来决定最高优先级的中断请求,各位的状态来决定最高优先级的中断请求, 并将各位的状态送入中断状态寄存器并将各位的状态送入中断状态寄存器is。is保存着判优保存着判优 结果。由控

35、制逻辑向结果。由控制逻辑向cpu发出中断请求信号发出中断请求信号int,并接,并接 受受cpu的中断响应信号的中断响应信号inta。 数据缓冲器用于保存数据缓冲器用于保存cpu内部总线与系统数据总线之间内部总线与系统数据总线之间 进行传送的数据。进行传送的数据。 读读/写逻辑决定数据传送的方向,其中写逻辑决定数据传送的方向,其中ior为读控制,为读控制, iow为写控制,为写控制,cs为设备选择,为设备选择,a0为为i/o端口识别。端口识别。 43 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.5中断控制器(略)中断控制器(略) 多个多个8259进行级联以处理多达进行级联以处理

36、多达64个中断请求。在这种个中断请求。在这种 情况下允许有一个主中断控制器和多个从中断控制器,称情况下允许有一个主中断控制器和多个从中断控制器,称 为主从系统。为主从系统。 优先级选择方式有四种:优先级选择方式有四种: 完全嵌套方式:是一种固定优先级方式,连至完全嵌套方式:是一种固定优先级方式,连至ir0的的 设备优先级最高,设备优先级最高,ir7的优先级最低。这种固定优先级的优先级最低。这种固定优先级 方式对级别低的中断不利,在有些情况下最低级别的中断请方式对级别低的中断不利,在有些情况下最低级别的中断请 求可能一直不能被处理。求可能一直不能被处理。 轮换优先级方式轮换优先级方式a:每个级别

37、的中断保证有机会被处理,:每个级别的中断保证有机会被处理, 将给定的中断级别处理完后,立即把它放到最低级别的位置将给定的中断级别处理完后,立即把它放到最低级别的位置 上去。上去。 轮换优先级方式轮换优先级方式b:要求:要求cpu可在任何时间规定最优优先可在任何时间规定最优优先 级,然后顺序地规定其他级,然后顺序地规定其他ir线上的优先级。线上的优先级。 查询方式:由查询方式:由cpu访问访问8259的中断状态寄存器,一个的中断状态寄存器,一个 状态字能表示出正在请求中断的最高优先级状态字能表示出正在请求中断的最高优先级ir线,并能表线,并能表 示出中断请求是否有效。示出中断请求是否有效。 44

38、 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.5中断控制器中断控制器 8259提供了两种屏蔽方式:提供了两种屏蔽方式: 简单屏蔽方式,提供简单屏蔽方式,提供8位屏蔽字,每位对应着各自的位屏蔽字,每位对应着各自的ir 线。被置位的任一位则禁止了对应线。被置位的任一位则禁止了对应ir线上的中断。线上的中断。 特殊屏蔽方式,允许特殊屏蔽方式,允许cpu让来自低优先级的外设中断让来自低优先级的外设中断 请求去中断高优先级的服务程序。当请求去中断高优先级的服务程序。当8位屏蔽位的某位置位屏蔽位的某位置 “0”时,例如屏蔽字为时,例如屏蔽字为11001111,说明,说明ir4和和ir 5

39、线上的中断请求可中断任何高级别的中断服务程序。线上的中断请求可中断任何高级别的中断服务程序。 8259中断控制器的不同工作方式是通过编程来实中断控制器的不同工作方式是通过编程来实 现的。现的。cpu送出一系列的初始化控制字和操作控制送出一系列的初始化控制字和操作控制 字来执行选定的操作。字来执行选定的操作。 45 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.3.5pentium中断机制(略)中断机制(略) pentium中断中断 机制机制 中断类型中断类型 中断服务子程序中断服务子程序 进入过程进入过程 中断处理过程中断处理过程 46 陕西师范大学计算机科学学院陕西师范大学计算机

40、科学学院 8.4 dma方式方式 8.4.1 dma方式的一般概念方式的一般概念 8.4.2 dma传送方式传送方式 8.4.3 dma传送一个数据的过程传送一个数据的过程 47 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.1dma方式的一般概念方式的一般概念 直接存储器访问(直接存储器访问(direct memory access) dma方式是为了在主存储器与方式是为了在主存储器与io设备间高速设备间高速 交换批量数据而设置的。交换批量数据而设置的。 基本思想是:通过基本思想是:通过硬件控制硬件控制实现主存与实现主存与io设备设备 间的直接数据传送,在传送过程中无需间的直

41、接数据传送,在传送过程中无需cpu的干的干 预。数据传送是在预。数据传送是在dma控制器控制下进行的,控制器控制下进行的, 优点:完全硬件实现,速度快。有利于发挥优点:完全硬件实现,速度快。有利于发挥cpu 的效率。的效率。 48 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.1dma方式的一般概念方式的一般概念 过程描述:过程描述: 由由dma控制器给出当前正在传送的数据的主控制器给出当前正在传送的数据的主 存地址,并统计传送数据的个数以确定一组数存地址,并统计传送数据的个数以确定一组数 据的传送是否已结束。在主存中要开辟连续地据的传送是否已结束。在主存中要开辟连续地 址的专

42、用缓冲器,用来提供或接收传送的数据。址的专用缓冲器,用来提供或接收传送的数据。 在数据传送前和结束后要通过程序或中断方式在数据传送前和结束后要通过程序或中断方式 对缓冲器和对缓冲器和dma控制器进行预处理和后处理。控制器进行预处理和后处理。 49 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.1dma方式的一般概念方式的一般概念 dma基本操作:基本操作: (1)从外围设备发出从外围设备发出dma请求;请求; (2)cpu响应请求,把响应请求,把cpu工作改成工作改成dma操作操作 方式,方式,dma控制器从控制器从cpu接管总线的控制;接管总线的控制; (3)由由dma控制器

43、对内存寻址,即决定数据传送控制器对内存寻址,即决定数据传送 的内存单元地址及数据传送个数的计数,并执行的内存单元地址及数据传送个数的计数,并执行 数据传送的操作;数据传送的操作; (4)向向cpu报告报告dma操作的结束。操作的结束。 50 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 思考:思考: dma正在完成正在完成i/o操作时,操作时,cpu在干什么?在干什么? 二者同时有访存需求,怎么办?二者同时有访存需求,怎么办? 51 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.2 dma传送方式传送方式 1、停止、停止cpu访问内存。访问内存。 主机响应主机响应dma

44、请求后,让出存储总线,直到一组请求后,让出存储总线,直到一组 数据传送完毕后,数据传送完毕后,dma控制器才把总线控制权交控制器才把总线控制权交 还给还给cpu。 采用这种工作方式的采用这种工作方式的io设备,在其接口中一般设备,在其接口中一般 设置有小容量存储器,设置有小容量存储器,io设备先与小容量存储设备先与小容量存储 器交换数据,然后由小容量存储器与主机交换数据,器交换数据,然后由小容量存储器与主机交换数据, 这样可减少这样可减少dma传送占用存储总线的时间,也即传送占用存储总线的时间,也即 减少了减少了cpu暂停工作的时间。暂停工作的时间。 52 陕西师范大学计算机科学学院陕西师范大

45、学计算机科学学院 8.4.2 dma传送方式传送方式 优点优点: : 控制流程简单。控制流程简单。 缺点缺点: : 在在dmadma控制器控制器i/oi/o访内阶段,内存的效访内阶段,内存的效 能没有充分发挥,相当一部分内存工作周期能没有充分发挥,相当一部分内存工作周期 是空闲的。是空闲的。 仅适用于:数据传输率很高的设备进行成组仅适用于:数据传输率很高的设备进行成组 传送传送 53 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.2 dma传送方式传送方式 2、周期挪用方式、周期挪用方式 dma控制器与主存储器之间传送一个数据,控制器与主存储器之间传送一个数据, 占用一个内存周

46、期,即占用一个内存周期,即cpu暂停访存工作一暂停访存工作一 个周期,然后继续执行程序。个周期,然后继续执行程序。 54 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.2 dma传送方式传送方式 i/o设备要求设备要求dma传送时可能遇到两种情况传送时可能遇到两种情况: (1) cpu不需要访内,如不需要访内,如cpu正在执行乘法指令。正在执行乘法指令。 由于乘法指令执行时间较长,此时由于乘法指令执行时间较长,此时i/o访内与访内与cpu 访内没有冲突,即访内没有冲突,即i/o设备挪用一二个内存周期对设备挪用一二个内存周期对 cpu执行程序没有任何影响。执行程序没有任何影响。

47、(2)cpu也要求访内时,这就产生了访内冲突,在也要求访内时,这就产生了访内冲突,在 这种情况下这种情况下i/o设备访内优先,因为设备访内优先,因为i/o访内有时访内有时 间要求,前一个间要求,前一个i/o数据必须在下一个访内请求到数据必须在下一个访内请求到 来之前存取完毕。显然,在这种情况下来之前存取完毕。显然,在这种情况下i/o 设备挪设备挪 用一二个内存周期,意味着用一二个内存周期,意味着cpu延缓了对指令的执延缓了对指令的执 行,或者更明确地说,在行,或者更明确地说,在cpu执行访内指令的过程执行访内指令的过程 中插入中插入dma请求,挪用了一二个内存周期。请求,挪用了一二个内存周期。

48、 55 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.2 dma传送方式传送方式 优点:既实现了优点:既实现了i/o传送,又较好地发挥了传送,又较好地发挥了 内存和内存和cpu的效率的效率 缺点:每次传送都要申请总线控制权,建立缺点:每次传送都要申请总线控制权,建立 总线控制权,归还总线控制权。总线控制权,归还总线控制权。 适用于:适用于:i/o设备读写周期大于内存存储周设备读写周期大于内存存储周 期的情况期的情况 56 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.2 dma传送方式传送方式 停止停止cpu访存和周期挪用的区别访存和周期挪用的区别 前者:外设需

49、传送一批数据到内存时,前者:外设需传送一批数据到内存时,dma独占独占 总线、内存等资源,一直到该任务完成总线、内存等资源,一直到该任务完成 后者:当外设信息被读取后要写入内存时,才申后者:当外设信息被读取后要写入内存时,才申 请总线、访存权限,完成写入,而后释放,等到请总线、访存权限,完成写入,而后释放,等到 下批数据被读出时,又再申请权限、资源,写入下批数据被读出时,又再申请权限、资源,写入 内存。内存。 57 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.2 dma传送方式传送方式 3、dma和和cpu交替访问内存工作方式交替访问内存工作方式 如果如果cpu的工作周期比内

50、存存取周期长很的工作周期比内存存取周期长很 多,可以采用该种方法多,可以采用该种方法 指令周期包含若干指令周期包含若干cpu周期,周期,cpu周期中周期中 访内周期只占整个周期一部分访内周期只占整个周期一部分(eg.c1), 另外一部分时间另外一部分时间(eg.c2)可交由可交由dma访内,访内, 此时此时dma与与cpu并行工作。并行工作。 不需要总线控制权的申请、建立与归还。不需要总线控制权的申请、建立与归还。 通过通过c1、c2分时控制,总线控制权的转移分时控制,总线控制权的转移 速度快,速度快,dma效率高。效率高。 58 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.

51、2 dma传送方式传送方式 cpu和和dma控制器各自有自己的访内地址寄控制器各自有自己的访内地址寄 存器、数据寄存器和读存器、数据寄存器和读/写信号等控制寄存器。写信号等控制寄存器。 在在c1周期中,如果周期中,如果dma控制器有访内请求,控制器有访内请求, 可将地址、数据等信号送到总线上。在可将地址、数据等信号送到总线上。在c2周周 期中,如期中,如cpu有访内请求,同样传送有访内请求,同样传送 地址、地址、 数据等信号。数据等信号。 59 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.2 dma传送方式传送方式 优点:总线控制权的转移不需要时间,优点:总线控制权的转移不需

52、要时间,dma 传送高效传送高效 缺点:硬件逻辑实现复杂缺点:硬件逻辑实现复杂 适用于:适用于:cpu的工作周期比内存存取周期长的工作周期比内存存取周期长 很多的情况。很多的情况。 60 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.3 基本基本dma控制器控制器 1、dma基本构成基本构成 (1)内存地址计数器内存地址计数器 用于存放内存中要交换的数据用于存放内存中要交换的数据 的地址。在的地址。在dma传送前,须通过程序将数据在内存传送前,须通过程序将数据在内存 中的起始位置中的起始位置(首地址首地址)送到内存地址计数器。而当送到内存地址计数器。而当 dma传送时,每交换一

53、次数据,将地址计数器加传送时,每交换一次数据,将地址计数器加 “1”,从而以增量方式给出内存中要交换的一批数,从而以增量方式给出内存中要交换的一批数 据的地址。据的地址。 61 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 1、dma基本构成基本构成 (2)字计数器字计数器 用于记录传送数据块的长度用于记录传送数据块的长度(多少多少 字数字数)。其内容也是在数据传送之前由程序预。其内容也是在数据传送之前由程序预 置,交换的字数通常以补码形式表示。在置,交换的字数通常以补码形式表示。在 dma传送时,每传送一个字,字计数器就加传送时,每传送一个字,字计数器就加 “1” ,当计数器溢出即最

54、高位产生进位时,当计数器溢出即最高位产生进位时, 表示这批数据传送完毕,于是引起表示这批数据传送完毕,于是引起dma控制控制 器向器向cpu发中断信号。发中断信号。 62 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 1、dma基本构成基本构成 (3)数据缓冲寄存器数据缓冲寄存器 用于暂存每次传送的数据用于暂存每次传送的数据(一个一个 字字)。当输入时,由设备。当输入时,由设备(如磁盘如磁盘)送往数据缓冲寄存送往数据缓冲寄存 器,再由缓冲寄存器通过数据总线送到内存。反之,器,再由缓冲寄存器通过数据总线送到内存。反之, 输出时,由内存通过数据总线送到数据缓冲寄存器,输出时,由内存通过数据

55、总线送到数据缓冲寄存器, 然后再送到设备。然后再送到设备。 63 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 1、dma基本构成基本构成 (4)“dma请求请求”标志标志 每当设备准备好一个数据字后每当设备准备好一个数据字后 给出一个控制信号,使给出一个控制信号,使“dma请求请求” 标志置标志置“1”。 该标志置位后向该标志置位后向“控制控制/状态状态”逻辑发出逻辑发出dma请求,请求, 后者又向后者又向cpu发出总线使用权的请求发出总线使用权的请求(hold), cpu响应此请求后发回响应信号响应此请求后发回响应信号 hlda,“控制控制/ 状态状态”逻辑接收此信号后发出逻辑接收

56、此信号后发出dma响应信号,使响应信号,使 “dma请求请求”标志复位,为交换下一个字做好准备。标志复位,为交换下一个字做好准备。 64 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 1、dma基本构成基本构成 (5)“控制控制/状态状态”逻辑逻辑 由控制和时序电路以由控制和时序电路以 及状态标志等组成,用于修改内存地址计数及状态标志等组成,用于修改内存地址计数 器和字计数器,指定传送类型器和字计数器,指定传送类型(输入或输出输入或输出), 并对并对“dma请求请求”信号和信号和cpu响应信号进行响应信号进行 协调和同步。协调和同步。 65 陕西师范大学计算机科学学院陕西师范大学计算机

57、科学学院 1、dma基本构成基本构成 (6)中断机构中断机构 当字计数器溢出时当字计数器溢出时(全全0),意味着一组,意味着一组 数据交换完毕,由溢出信号触发中断机构,向数据交换完毕,由溢出信号触发中断机构,向cpu 提出中断报告。这里的中断与上一节介绍的提出中断报告。这里的中断与上一节介绍的i/o中中 断所采用的技术相同,但中断的目的不同,前面是断所采用的技术相同,但中断的目的不同,前面是 为了数据的输入或输出,而这里是为了报告一组数为了数据的输入或输出,而这里是为了报告一组数 据传送结束。因此它们是据传送结束。因此它们是i/o系统中不同的中断事系统中不同的中断事 件。件。 66 陕西师范大

58、学计算机科学学院陕西师范大学计算机科学学院 8.4.3 基本基本dma控制器控制器 2、传送过程、传送过程 当外设有当外设有dma请求时,通常请求时,通常cpu在本机器在本机器 周期结束后,响应周期结束后,响应dma请求。请求。 传送一个数据块可以分为三个阶段:传送一个数据块可以分为三个阶段: -传送前预处理传送前预处理 -正式传送正式传送 -传送后处理传送后处理 67 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.3 基本基本dma控制器控制器 预处理阶段:预处理阶段: 第一阶段是进行初始化,启动设备、测试设第一阶段是进行初始化,启动设备、测试设 备。备。cpu通过程序通过程

59、序io的方式给的方式给dma控控 制器预置初值,取状态和送传送需要的有关制器预置初值,取状态和送传送需要的有关 参数。其中包括内存地址计数器和字计数器参数。其中包括内存地址计数器和字计数器 的初值。的初值。 68 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.3 基本基本dma控制器控制器 正式传送阶段:正式传送阶段: 由由dma控制器控制外设与主存之间的数据交换。控制器控制外设与主存之间的数据交换。 69 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.3 基本基本dma控制器控制器 正式传送阶段详解(停止正式传送阶段详解(停止cpu访问内存方式)访问内存方式)

60、 70 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 8.4.3 基本基本dma控制器控制器 传送后处理阶段:传送后处理阶段: 第三阶段即第三阶段即cpu中断原程序后进行后处理。若需中断原程序后进行后处理。若需 要继续交换数据,则又要对要继续交换数据,则又要对dma进行初始化;若进行初始化;若 不需要交换数据,则停止外设;若为出错,则转不需要交换数据,则停止外设;若为出错,则转 错误诊断及处理程序。错误诊断及处理程序。 71 陕西师范大学计算机科学学院陕西师范大学计算机科学学院 思考:思考: 如果有多个设备提出如果有多个设备提出dma传送请求,该传送请求,该 怎么处置?怎么处置? 来看

温馨提示

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

评论

0/150

提交评论