计算机系统的体系结构_第3章存储、总线、中断3_第1页
计算机系统的体系结构_第3章存储、总线、中断3_第2页
计算机系统的体系结构_第3章存储、总线、中断3_第3页
计算机系统的体系结构_第3章存储、总线、中断3_第4页
计算机系统的体系结构_第3章存储、总线、中断3_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

第3章总线 中断与I O系统 3 1输入输出系统概述3 2总线设计3 3中断系统3 4输入 输出通道3 5外围处理机 本章重点 非专用总线的总线控制方式 中断为什么要分类和分级 中断处理次序的安排和实现 通道流量的计算 本章难点 如何按中断处理优先次序的要求 设置各中断处理程序中中断级屏蔽位的状态 正确画出中断处理过程的示意图 通道为各外设分时服务的时间关系图 1 包括内容 I O设备 设备控制器及与I O操作有关的软硬件等 2 I O系统的发展 1 早期及目前低性能单用户计算机的I O操作由程序员直接安排 主要解决CPU 主存和I O设备之间的速度差距 2 现在改由用户向系统发出I O请求 经OS来分配调度设备并进行具体的I O处理 主要解决面向OS 在OS与I O系统间进行合理的软 硬件功能分配 3 I O的三种方式 3 1输入 输出系统概述 1 程序控制I Oa 全软的b 程序查询状态驱动的c 中断驱动的2 直接存贮器访问 DMA 3 I O处理机a 通道方式 Channel 可看作是 处理机 有自己的指令系统 通道指令 和程序 通道程序 通道与CPU并行工作 通道指令功能简单 使用面窄 通道不是独立处理机 b 外围处理机方式 PPU 独立性 通用性和功能较强 3 2总线设计 总线是计算机中连接各个功能部件的纽带 3 2 1总线的分类1 按信息传送方向分1 单向传输2 双向传输a 半双向 在同一时刻 信息只能向其中的一个方向传送 b 全双向 在同一时刻 允许信息在两个方向传送 全双向速度快 但是造价高 结构复杂 2 按用途分1 专用总线a 定义 只连接一对物理部件的总线 所有部件用专用总线互连 b 优点 多个部件可以同时发送和接收信息 几乎不必争用总线 系统流量高 控制简单 不用指明信息源和目的 任何总线的失效只影响相连的两个部件不能直接通信 但可以间接通信 系统可靠性高 c 缺点 总线数目多 N个部件全部互连需N N 1 2组总线 难以小型化 集成电路化 总线长时成本高 时间利用率低 不利于模块化 增加一个部件要增加许多新的接口和连线 2 非专用总线a 定义 可以被多种功能或多个部件分时共享 同一时刻只有一对部件使用总线进行通信 b 优点 总线少 造价低 接口标准化 模块性强 易于简化接口设计 扩充能力强 多重总线提高带宽和可靠性 c 缺点 系统流量小 经常出现总线争用 可能成为系统速度瓶颈 导致系统瘫痪 I O系统中 I O总线宜采用非专用总线 3 2 2总线的控制方式1 产生原因采用非专用总线时 可能出现多个设备或部件同时使用总线而发生争用 就得有总线控制机构来按照某种方式裁决 保证同一时间只能有一个高优先级的申请者取得总线使用权 2 控制方式1 集中式控制总线控制逻辑基本上集中放在一起 或者放在连接总线的一个部件中 或者是放在单独的硬件中 我们主要讲述这一控制方式 2 分布式控制总线控制逻辑分散于连到总线的各个部件中 3 优先次序的三种确定方式1 集中式串行链接方式 部件0 部件1 部件N 1 总线控制器 总线可用 总线请求 总线忙 集中式串行链接 a 电路特点 并联总线请求 串联总线响应 并联总线状态 b 次序确定完全由 总线可用 线所接部件的物理位置来决定 离总线控制器越近的部件其优先级越高 C 优点 算法简单 线数少 且不取决于部件的数量 部件增加容易 可扩充性好 逻辑简单 容易通过重复设置来提高其可靠性 d 缺点 对 总线可用 线敏感 优先级固定 不可被程序更改 灵活性差 遥远部件难以获得总线使用权 总线可用 信号顺序 脉动地通过每一部件 限制了总线分配的速度 受总线长度影响 增 减及移动部件也受限 2 集中式定时查询方式 部件0 部件1 总线控制器 总线请求 总线忙 部件0 部件1 部件N 1 总线控制器 总线请求 总线忙 集中式定时查询 定时查询计数 a 总线分配过程 部件发送请求 总线不忙时 总线控制器的查询计数器开始记数 定时查询各部件 部件接收计数值 并判断 若与部件号一致 则发总线忙 撤消请求 开始占用总线 总线控制器收到总线忙 停止计数 停止查询 传送结束撤消总线忙 b 次序确定 总线分配前计数器清 0 从 0 开始查询 优先级排序类似串行链接 总线分配前不清 0 从中止点继续查询 是循环优先级 部件使用总线机会均等 总线分配前将计数器设置初值 可以指定某个部件为最高优先级 总线分配前将部件号重新设置 可以为各部件指定任意希望的优先级 c 优点 优先级可由程序控制 灵活性强 某一部件的失效不影响其它部件 可靠性高 d 缺点 线数多 扩展性差 控制复杂 速度取决于计数器信号的频率和部件数 不是很高 3 集中式独立请求方式 部件0 总线控制器 部件0 部件N 1 总线控制器 总线请求0 集中式独立请求 总线准许0 总线请求N 1 总线准许N 1 总线已被分配 a 次序确定总线控制器根据某种算法来仲裁 b 优点 总线分配速度快 可以灵活确定下一个使用总线的部件 可以方便的隔离失效的部件发出的总线请求 c 缺点 控制线多 N个部件要2N 1根控制线 总线控制器复杂 3 3 1中断的分类和分级1 基本概念1 中断源 引起中断的各种事件 2 中断请求 中断源向中断系统发出请求中断的申请 同时可以有多个中断请求 这时中断系统要根据中断响应优先次序对优先级高的中断请求予以相应 3 中断响应 就是允许其中断CPU现行程序的运行而转去对该请求进行预处理 包括保存断点现场 调出相应中断处理程序 准备运行 也可以屏蔽这一请求使其暂时得不到响应 3 3中断系统 2 中断分类细分为中断 Interrupt 和异常 Exception 1 中断专指那些与当前进程运行无关的请求暂停的事件 如机器故障中断请求 外设中断请求 定时中断请求等 中断可以被屏蔽 暂时保存在中断寄存器 屏蔽解除后继续得到响应和处理 2 异常由现行指令引起的暂停事件 如页面失效 溢出等 一般不能屏蔽 立即得到响应和处理 异常可以分为自陷 Trap 故障 Fault 失败 Abort 三种 a 自陷发生在引起异常的指令执行的末尾 处理后返回原先正常程序的下一条指令继续执行 b 故障发生在执行指令的过程中 处理后返回原先发生故障的那条指令处重复执行 c 失败也发生在指令执行过程中 需强制干预或系统复位才可以使指令再正确执行下去 3 中断分级1 依据 根据中断的性质 紧迫性 重要性以及软件处理的方便性把中断源分级 2 次序 中断系统按照中断源的级别高低来响应 优先级高低的划分 不同机器有所差异 IBM370中机器校验安排为第一级 程序性和管理程序调用为第二级 外部为第三级 I O为第四级 重新启动为最低级 3 原则 局部性中断优先级低 以IBM370为例紧急机器校验1全局 掉电 CPU地址错等管理程序调用2高于I O与外部 防止混乱可抑止机器校验3局部的外部中断4多机联系 人机干预等I O中断5局部性外设请求重新启动6时间不紧迫 3 3 2 中断响应次序与处理次序1 中断响应次序与处理次序1 中断响应次序同时发生多个中断请求时 由中断响应硬件的排队器所决定的响应次序 次序是固定的 2 中断处理次序一个中断处理程序执行前或中再有其它中断产生时中断处理完的次序 可以不同于响应次序 3 处理原则在处理某级中断时 只有更高级的请求到来才转去响应和处理 完成后返回原中断继续处理 2 中断处理次序改变1 方法 a 设置中断级屏蔽位寄存器硬件以决定是否让某级中断请求进入中断响应排队器 只要进入排队器中断请求 就让级别高的优先得到响应 b OS对每类中断处理程序的现行PSW中的中断级屏蔽位进行设置 可以实现希望的处理次序 2 优点 改变响应次序中用排队器硬件实现的固定次序为OS软件实现的灵活性 例1 系统有4个中断级 每级现行PSW有4位屏蔽位 1 表示对该级的请求都开放 允许其进入排队器 0 表示屏蔽各个请求 不允许进入排队器 现要求各级中断处理次序和响应次序都是1234 请设计屏蔽位状态 中断处理程序级别 中断级屏蔽位 第1级 第2级 第3级 第4级 1级 2级 3级 4级 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 中断级屏蔽位举例1 1234 不高于本级的屏蔽掉即 0 用户程序 中断处理程序 中断请求 t 2 3 4 2 1 1 2 3 4 中断处理次序为1234的例子 中断处理程序级别 中断级屏蔽位 第1级 第2级 第3级 第4级 1级 2级 3级 4级 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 中断级屏蔽位举例2 1432 响应次序和处理次序不一样 用户程序 中断处理程序 中断请求 t 3 4 2 1 1 2 3 4 中断处理次序为1432的例子 用户程序 中断处理程序 中断请求 t 1 2 3 4 中断处理次序为1432的例子 机器有5级中断 中断响应次序为12345 现要求中断处理次序为35241 1 设计各级中断处理程序的中断级屏蔽位的状态 令 0 表示屏蔽 1 表示开放 2 若在运行用户程序时 同时发生第4 5级中断请求 而在第5级中断未完成时 又发生1 2 3级中断 请画出处理机执行程序的全过程示意图 标出交换PSW的时间 3 3 3中断系统的软硬件功能分配1 中断系统的功能 1 中断请求的保存和清除 2 优先级的确定 3 中断断点及现场的保存 4 对中断请求的分析和处理 5 中断返回中断系统的软硬件功能分配实质就是中断响应硬件和处理程序软件的功能分配 2 功能的实现 1 早期大部分功能是由软件完成的 中断响应和中断处理时间长 2 后来中断响应及其次序由程序查询软件的方法改为中断响应排队器硬件实现 中断源的分析也由程序查询改为硬件编码 直接或经中断向量表形成入口地址 并把中断源的状况以中断码的方式经旧PSW告知中断处理程序 1 目的1 防止用户自行输入而破坏其他用户程序或系统程序及用户窃取系统不该让其读出的内容 2 将CPU进一步从I O事务中脱离出来 使之具有更多的时间从事计算工作2 通道处理机的作用1 通道处理机将负担外围设备的大部分I O工作2 是一台同时能够被多台外围设备共享的小型DMA处理机 3 4通道处理机 3 通道的工作原理 管态指令是中央处理机用来控制外部设备操作用的输入输出指令 目态指令 访管指令 是用户态应用程序的指令 广义指令是由访管指令和若干参数组成 它的操作码实质上是对应于此广义指令的管理程序入口 在一般用户程序中 通过调用通道来完成一次I O的过程主要有四个阶段 如图所示 1 通道程序编制期2 通道开始选择设备期3 通道数据传送期4 通道数据传送结束期 4 通道的种类 1 字节多路通道目的 为多台低速或中速的外围设备服务 如键盘 打印机等等工作方式 分时机制 字节交叉方式 byte interleavemode 结构 包含有多个子通道 每个子通道连接一个设备控制器 多个子通道独立并行工作 2 选择通道目的 针对高速外围设备 设置专门通道在一段时间内单独为一台外围设备服务 在不同的时间内仍可以选择其它设备 工作方式 一旦选中某设备 就一直到数据传输结束为止 选择通道主要用于连接高速外围设备 如磁盘 磁带等 信息以成组方式高速传输 3 数组多路通道目的 前两种方式的结合 并发地为多台高速设备服务 工作方式 成组交叉方式工作 每次选择一个高速设备 轮流为多台I O设备服务 5通道中的数据传送过程 Ts Td D11 D21 Di j Ts Td Ts Td Ts Td Dp n Ts 设备选择时间 即 从通道响应设备发出数据传送请求开始 到通道实际为这台设备传送数据所需的时间 Td 传送一个字节所需要的时间 P 在一个通道上连接的设备台数 n 每一个设备传送的字节数 这里 假设每一台设备的传输字节数都一样 Dij 连接在通道上的第i台设备传输的第j个数据 i 1 p j 1 n T 通道完成全部数据传输工作所需要的时间 1 字节多路通道当一个字节多路通道上连接有p台外围设备 每一台外围设备都传输n个字节时 总共需要的时间T为 Tbyte Ts Td P n 2 选择通道 在选择通道之中 通道每连接一个外围设备 就把这个设备的n个字节全部传送完毕 然后再与下一个设备连接 当一个字节多路通道上连接有p台外围设备 每一台外围设备都传输n个字节时 总共需要的时间T为 Tselector Ts n Td P n 3 数组通道 数组通道在一段时间内只能为一台外围设备传送数据 但同时有多台设备在寻址 当一个字节多路通道上连接有p台外围设备 数据块长度为k个字节 每一台外围设备都传输n个字节时 总共需要的时间T为 Tselector Ts k Td P n 6 通道流量分析通道流量 单位时间内能够传送的最大数据量 又称为通道吞吐率 通道数据传输率等 通道最大流量 通道在满负荷工作状态下的流量 三种通道的最大流量计算公式如下 通道流量与连接在这个通道上的所有设备的数据传输率的关系如下 为了保证通道能够正常工作 不丢失数据 各种通道实际流量应该不大于通道最大流量 即满足下列不等式关系 fBYTE fMAX BYTEfSELETE fMAX SELETE fBLOCK fMAX BLOCK 例如 一个字节多路通道连接D1 D2 D3 D4 D5共5台设备 这些设备分别每10us 30us 30us 50us和75us向通道发出一次数据传送的服务请求 请回答下列问题 1 计算这个字节多路通道的实际流量和工作周期 2 画出通道分时为各个设备服务的时间关系图 高速设备请求的响应优先级高 3 从时间关系图上发现什么问题 如何解决 解 1 该通道的实际流量为 该通道的工作周期为 通道处理完各设备这个第一次请求的时间如下 D1 5us D2 10us D3 20us D4 30us设备D5的第一次请求没有得到响应 数据丢失 直到85us才对设备D5的服务请求进行响应 0 10 20 30 40 50 60 70 D1 D2 D3 D4 D5 2 3 问题分析 当字节多路通道的最大流量与实际很接近时 虽然在宏观上保证通道流量平衡 不会丢失数据 但传输速度高的设备将因频繁发出请求而影响低速设备的请求服务 如 D5设备 原则上 如果对所有设备的请求时间间隔取最小公倍数 则在这段时间内 通道的流量是平衡的 即 所有设备的请求都能得到一次响应服务 但是 这并不能保证在任意设备的任意两次时间传输请求之间的请求

温馨提示

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

评论

0/150

提交评论