350 likes | 467 Views
第十章 输入 / 输出系统. 本章讨论:. 接口的基本概念. 中断方式及其接口组成和设计方法. 中断方式及其接口组成和设计方法. DMA 方式及其接口组成和设计方法. 总线的基本概念. 第一节 概述. I/O 接口指 主机 和 外设 的交接部分,. 系统总线. 外设. 接口. 位于 系统总线 和 外设 之间。. 一、接口的功能与分类. 系统总线. 外设. 接口. 接口:泛指两个设备(软,硬)之间的交接部分。. I/O 接口( I/O 适配器):主机与外设进行信息交换的逻辑控制部件。. 问题 1 : I/O 设备如何与 CPU 相连?.
E N D
第十章 输入/输出系统 本章讨论: 接口的基本概念 中断方式及其接口组成和设计方法 中断方式及其接口组成和设计方法 DMA方式及其接口组成和设计方法 总线的基本概念 第一节 概述 I/O接口指主机和外设的交接部分, 系统总线 外设 接口 位于系统总线和外设之间。
一、接口的功能与分类 系统总线 外设 接口 接口:泛指两个设备(软,硬)之间的交接部分。 I/O接口(I/O适配器):主机与外设进行信息交换的逻辑控制部件。 问题1:I/O设备如何与CPU相连? 问题2:能否像存储器直接与CPU相连? 1、 接口主要功能 (1)寻址(识别地址码或地址译码) 接收CPU送来的地址码, 选择接口中的寄存器供CPU访问。 (2)数据缓冲、暂存、驱动等 实现主机与外设的速度匹配。 缓冲深度与传送的数据量有关。
(3)数据类型、格式的转换 系统总线 外设 接口 串-并格式转换(串口) 数据通路寬度转换(并口) 电平转换 (4)主机与外设之间数据、控制命令和状态信息的交换 实现主机与I/O设备间数据交换。 传送控制命令与状态信息,实现I/O传送控制方式。 (5)信息交换的控制 程序查询方式 程序中断方式 DMA方式
2、接口分类 系统总线 外设 接口 并 并 串 并 (1)按数据传送格式划分 1)并行接口 接口与系统总线、接口与外设均按并行方式传送数据。 数据各位同时传送。 适用于设备本身并行工作,距主机较近的场合。 2)串行接口 接口与系统总线并行传送,接口与外设串行传送。 数据逐位分时传送。 适用于设备本身串行工作,或距主机较远,或需减少传送线的情况。 (2)按时序控制方式划分 1)同步接口 接口与系统总线的信息传送由统一时序信号控制。
2)异步接口 系统总线 外设 接口 接口与系统总线的信息传送采用异步应答方式。 (3)按I/O传送控制方式划分 1)直接程序传送接口 2)中断接口 (可采用查询方式) 3)DMA接口 (可插入中断作DMA善后处理) (4)按是否可编程控制 1)可编程接口 2)不可编程接口 (5)按所连接总线分类 3)MCA总线接口 1)ISA总线接口 2)EISA总线接口 4)STD总线接口
二、主机与外围设备间的连接方式 1、总线方式 2、星型连接方式 3、通道方式 4、I/O处理机方式
三、总线的功能与分类 1、总线定义、特点、实体和协议 (1)定义: 一组能为多个部件分时共享的信息传送线路。 (2)特点: 分时、共享。 通常作法:发送部件通过OC组件或三态门分时发送信息,由打入脉冲将信息送入指定接收部件。 (3)实体: 一组传送线与相应控制逻辑 CPU内设置控制逻辑 设置总线控制器 广义上讲:总线是一组传送线路及相关的协议。 连接到总线的各部件须遵守这些协议,才能有序地分时共享该总线。
(4)总线协议 要实现分时共享,必须定义相应的规则,称为总线协议。它包括: 1)信号线的定义 2)数据格式 3)时序关系 4)信号电平 5)控制逻辑 2、总线分类 (1)按在系统中所处的地位(或按功能划分) 1)CPU内总线 CPU芯片内寄存器与算逻部件之间互连的总线。 (ALU总线) 单组数据线(单向、双向)或多组数据线,或多种总线。
2)部件内总线 插件板内各芯片之间互连的总线。 (局部总线、片级总线) 分为地址、数据、控制线。 3)系统总线 计算机系统内各功能部件(如CPU、存储器等)之间,或各插件板之间互连的总线。 (板级总线) 分为地址、数据、控制线。 4)外总线 计算机系统之间,或计算机系统与其他系统之间互连的总线。 (通信总线) 分为数据线(与地址复用)、控制线。 (2)按时序控制方式划分 时钟周期、同步脉冲 1)同步总线 由统一时序控制总线传送操作。 在固定时钟周期内完成数据传送,由同步脉冲定时打入。
例. T1 T2 T3 T4 时钟 地址 读出数据 (从 主) (主 从) (CPU 设备) (设备 CPU) 打入地址 打入数据 2)异步总线 无固定时钟周期划分,总线周期时间由传送实际需要决定;以异步应答方式控制总线传送操作。 例. 总线权切换 总线请求 总线批准 主同步 总线传送 从同步 总线周期 (时间可变) (时间可变)
3)扩展同步总线 以时钟周期为时序基础,允许总线周期中的时钟数可变。 注意几个“周期”概念: 时钟周期: CPU一步操作(一次内部数据通路传送)时间。 总线周期: 经过总线的一次数据传送(访存)时间。 通常包含若干时钟周期。 (模型机的一个总线周期只包含一个时钟周期。) 工作周期: 指令周期中的一个操作阶段。 可包含多个总线周期。 (3)按数据传送格式划分 1)并行总线: 同时传送各位信息。 2)串行总线: 分时逐位传送各位信息。 CPU内总线:同步、并行 外总线:异步、并行、串行 系统总线:同步、异步、扩展同步、并行
3、 总线标准 (1)什么是总线标准 对总线信号组成、信号引脚含义、信号电平等作统一规定。 (2)为何制定总线标准 便于灵活组成系统。 时序:时钟、定时、应答 (3)系统总线信号组成 数传控制:M读/写、IO读/写 电源、地址、数据、控制 中断请求、响应 总线请求、响应 复位…… 总线标准(IEEE美国电气电子工程师协会制订的): S-100、Multibus总线、Futurebus、VME总线、STD总线 PC机总线标准: PC总线、AT总线、EISA总线、MCA总线、PCI总线
四、接口的编址与I/O指令 1、I/O接口的编址 (1)与存储器统一编址 将I/O接口中的寄存器与内存单元统一编址,访问I/O接口如同访问内存 特点:操作灵活,不用专用I/O指令(如MOV或进行其它操作);占用内存部分地址 (2)I/O端口单独编址 设置单独I/O地址空间分时共享地址总线,设置专用的信号来区分是访问存储器与I/O,设置专用I/O指令 特点:不占用存储空间;专用I/O指令,灵活性差 2、I/O指令 3、通道指令 4、IOP指令
第二节 直接程序控制方式 CPU通过I/O指令对I/O接口进行访问(I/O操作) 1、立即程序传送方式(或无条件传送或同步传送方式) 主机对I/O接口的访问(读/写)不需要任何条件,随时可以进行(要求主机与外设是同步的)。即在传送信息时,外设已准备好 特点:程序简单,硬件省;主机与外设要同步(外设准备好),否则出错。 2、程序查询方式(或条件传送或异步传送方式) 主机对I/O接口访问(或传送数据)前,需要查询外设的状态,已准备好,传送数据,否则,CPU等待。 特点:传送可靠 , CPU与I/O设备串行工作,CPU利用率低(外设准备时好)
第三节 中断方式及接口 一、中断基本概念 1.定义 CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。 2.实质与特点 (1)实质 方法: 保存断点,保护现场; 程序切换 恢复现场,返回断点。 时间: 一条指令结束时切换。 保证程序的完整性。
(2)特点 随机发生的事态 (按键、故障) 随机性 有意调用,随机请求与处理的事态 (调用打印机) 随机插入的事态 (软中断指令插入程序任何位置) 注意中断与转子的区别。 3.中断分类 (1)硬件中断与软中断 由软中断指令引发中断 由硬件请求信号引发中断 (2)内中断与外中断 中断源来自主机外部 中断源来自主机内部 (3)可屏蔽中断与非屏蔽中断 可通过屏蔽字屏蔽该类请求;关中断时不响应该类请求。 该类请求与屏蔽字无关;请求的响应与开/关中断无关。
(4)向量中断与非向量中断 由软件提供服务程序入口地址 由硬件提供服务程序入口地址 4.中断典型应用 (1)管理中、低速I/O操作 (2)处理故障 (3)实时处理 某事件出现的实际时间内及时处理,不是批量处理。 利用时钟中断定时采集参数,检测,调节。 (4)人机对话 (5)多机通信 中断系统的硬、软界面 5.中断系统的组成 (1)软件: 服务程序、中断向量表 接口方面: 请求、传递、判优逻辑 (2)硬件 CPU方面: 响应逻辑
二、中断全过程(外中断) 有效请求 有效请求 请求 请求触发器 屏蔽 屏蔽 请求触发器 CP 完成 完成 CP 请求 公共请求 I/O CPU CPU 请求 I/O I/O I/O 1.中断请求的提出与传递 (1)如何产生中断请求? 外设工作完成: “完成”标志为1 CPU允许请求: “屏蔽”标志为0 先请求,后“屏蔽” 先“屏蔽”,后请求 (2)如何传送中断请求? 1)使用单独请求线 2)使用公共请求线
2.中断判优 (1)优先顺序 故障、DMA、外中断 (输入、输出) (2)CPU现行程序与外设请求的判优 =1,开中断 1)CPU设置允许中断标志 (模型机采用) =0,关中断 2)CPU设置程序状态字的优先级字段 <外设请求优先级, 响应 为现行程序赋予优先级 ≥外设请求优先级, 不响应 (3)各外设请求的判优 1)软件判优 由程序查询顺序确定优先级。 可灵活修改优先级。 2)硬件判优 例.中断控制器判优 中断控制器(如8259)集中解决请求信号的接收、屏蔽、判优、编码等问题。
D7~D0 中断号寄存器 INT 中断服务寄存器 优先级裁决器 中断请求寄存器 IRQ0 INTA IRQ7 8259 中断屏蔽寄存器 优先级高 7 0 7 0 IRR: 00010100 00010100 IMR: 00000100 00000000 优先级低 ISR: 00001000 00001000 不发INT 发INT 中断请求 8259 (未屏蔽的请求判优,生成相应中断号) 公共请求INT CPU 中断源的序号 (CPU响应后,取回中断号,转入相应服务程序。) 3.中断响应 (1)响应条件
外设有请求,且未被屏蔽; CPU开中断; 一条指令(非停机 指令)结束; 无故障、DMA等优先级更高的请求。 (2)如何获取中断服务程序的入口地址 1)非向量中断 将服务程序入口组织在查询程序中;CPU响应时执行查询程序,查询中断源,转入相应服务程序。 2)向量中断 将服务程序入口(中断向量)组织在中断向量表中;CPU响应时由硬件直接产生相应向量地址,按地址查表,取得服务程序入口,转入相应服务程序。 中断向量: 服务程序入口地址、服务程序状态字 中断向量表: 存放中断向量的表 (一段存储区) 向量地址: 访问向量表的地址 (指向中断向量的首址) 例1.计算机向量表 (从主存2#单元开始安排) M按字编址。一个入口地址16位,占一个编址单元。
向量表 2# 入口地址0 0号中断源 3# 入口地址1 1号中断源 向量表 0# 入口偏移0 0号中断源 入口基址0 4# 入口偏移1 1号中断源 入口基址1 向量地址 =中断号+2 (单元地址) 例2.IBM PC向量表 (从主存0#单元开始安排) M按字节编址。一个入口地址32位,占4个编址单元。 向量地址 =中断号×4 现代计算机一般具有向量中断功能,也可结合非向量中断方式扩展中断源。
(3)响应过程 向量中断方式: 发响应信号INTA,进入中断周期 关中断,保存断点 CPU执行中断隐指令 获得中断号,转换为向量地址,查向量表 (硬件完成) 取中断向量,转中断服务程序 4.中断处理 CPU执行中断服务程序。 (1)单级中断: CPU响应后只处理一个中断源的请求,处理完毕后才能响应新的请求。 (2)多重中断: 在某次中断服务过程中,允许响应处理更高级别的中断请求。
单级中断流程: 多重中断流程: 保护现场 保护现场 外中断: 数据传送 具体服务处理 送新屏蔽字、开中断 恢复现场 具体服务处理 禁止同级或更低级别的请求,开放更高级别的请求 开中断、返回 关中断 恢复现场及原屏蔽字 开中断、返回 屏蔽技术的应用: 动态改变优先级 (屏蔽高级,开放低级) 实现多重中断 (屏蔽同、低级,开放高级)
三、中断接口 地址线 寄存器选择 数据线 命令 系统总线 命令字R 外部设备 数据线 状态 状态字R 数据线 数据 数据缓冲器 IRQi 控制逻辑 INT IRQ0 中断控制器 INTA D7~0 (8259) IRQ7 1.组成(寄存器级) (1)寄存器选择 对接口寄存器寻址。 (2)命令字寄存器 接收CPU发向外设的命令字,转换为相应操作命令送外设。 接口板 命令字格式的拟定: 用代码表示各种命令 代码位数 代码含义 (3)状态字寄存器 M 反映设备和接口的运行状态。 主机板 CPU
状态字格式的拟定: 地址线 寄存器选择 数据线 命令 系统总线 命令字R 外部设备 数据线 状态 状态字R 数据线 数据 数据缓冲器 IRQi 接口板 控制逻辑 INT IRQ0 中断控制器 INTA D7~0 (8259) IRQ7 M 主机板 CPU 用代码表示各种状态。 (4)数据缓冲器 传送数据,实现缓冲。 (5)控制逻辑 请求信号产生逻辑 电平转换逻辑 串-并转换逻辑(串口) 针对设备特性的逻辑 (6)公用中断控制器 接收外设请求,判优,送出公共请求; 接收中断批准,送出中断号(中断类型码)。
2.工作过程(外中断) 地址线 寄存器选择 数据线 命令 系统总线 命令字R 外部设备 数据线 状态 状态字R 数据线 数据 数据缓冲器 IRQi 接口板 控制逻辑 INT IRQ0 中断控制器 INTA D7~0 (8259) IRQ7 M 主机板 CPU (1)初始化:设置工作方式,送屏蔽字,送中断号(确定高位)。 命令字R (2)发启动命令(送命令字),启动设备。 状态字R 数据缓冲器 (3)设备完成工作,申请中断。 控制逻辑 (4)中断控制器汇集各请求,经屏蔽、判优,形成中断号,并向CPU送INT。 中断控制器 (5)CPU响应,发批准INTA。 (6)中断控制器送出中断号。 (7)CPU执行中断隐指令操作,进入服务程序。
3.接口设计 IRQ0 系统时钟 IRQ1 实时时钟 IRQ2 通信 8259 IRQ7 打印机 启动1 停止1 选通1 启动2 停止2 选通2 忙1 完成1 出错1 忙2 完成2 出错2 涉及命令字、状态字格式的拟定,中断源的扩展。 例.模型机需扩展两个外中断源,共用一个中断号。 主机发向外设的命令包括:启动、停止、数据选通; 外设的状态包括:忙、完成、出错。 为两个扩展中断源设计中断接口。 模型机的外中断源安排: 通过IRQ2进行扩展。 (1)接口组成 两个扩展中断源共用一个接口。 5 4 3 2 1 0 命令字格式: 状态字格式:
(2)判断中断源 地址线 寄存器选择 外设1 数据线 命令 系统总线 命令1 命令2 数据线 状态 状态1 状态2 外设2 数据线 数据线 数据 数据 数据缓冲2 数据缓冲1 IRQ2 控制逻辑 INT IRQ0 中断控制器 INTA D7~0 (8259) IRQ7 向量中断与非向量中断相结合 (软件扩展) 请求1与请求2在控制逻辑中形成公共请求IRQ2,送入8259参加判优; CPU响应后执行IRQ2服务程序 (向量中断过程); CPU在IRQ2服务程序中查询各设备状态,判中断源,转入相应设备服务程序 (非向量中断过程)。
第三节 DMA方式及接口 系统总线 CPU M 接口 接口 DMA 控制器 I/O I/O 7.3.1 DMA方式基本概念 定义、过程(三个阶段)、应用, 见4.3.2 7.3.2 DMA控制器与接口的连接 接口板 多路型DMA控制器 允许各设备以字节为单位交叉传送,或以数据块为单位成组传送。 主机板
DMA 控制器 系统总线 CPU M 接口 接口 DMA 控制器 I/O I/O CPU M M 接口 接口 接口 1.DMA控制器功能 (1)接收初始化信息 (传送方向、主存首址、交换量)。 初始化 (2)接收外设DMA请求, 判优, 向CPU申请总线。 传送前 (3)接管总线权,发地址、读/写命令。 传送期间 2.接口功能 (1)接收初始化信息 (外设寻址信息)。 初始化 (2)向DMA控制器发请求。 传送前,外设准备好 (3)传送数据。 传送期间 (4)申请中断。 传送完
磁盘存储器接口 (磁盘适配器) 系统总线 CPU M 硬盘适配器 DMA 控制器 硬盘驱动器 硬盘驱动器 系统总线 处理机 接口 智能 主控器 驱动器 接口 1.系统连接方式 主机板上DMA控制器: M 适配器 两级DMA控制器 适配器内DMA控制器: 适配器驱动器 2.硬盘适配器粗框
硬盘驱动器 系统总线 处理机 接口 智能 主控器 驱动器 接口 (1)处理机接口(面向系统总线一侧) EPROM控制逻辑: 放有硬盘驱动程序(系统自检时被引入系统管理之下)。 I/O端口控制逻辑: 接收CPU送来的端口地址、读/写命令,访问处理机接口中的相应寄存器。 (2)智能主控器 微处理器: 执行硬盘控制程序。 RAM: 扇区缓存(存放二个扇区数据)。 ROM: 存放硬盘控制程序。
硬盘驱动器 系统总线 处理机 接口 智能 主控器 驱动器 接口 DMA控制器: 控制主控RAM与驱动器之间的数据传送。 硬盘控制逻辑: 控制串-并转换: 并-串 写盘: 主控RAM 驱动器 串-并 读盘: 驱动器 主控RAM (3)驱动器接口(面向设备一侧) 驱动器控制逻辑: 向驱动器送出控制命令 (驱动器选择、寻道方向选择、读、写……)。 驱动器状态逻辑: 接收驱动器状态信息 (选中、就绪、寻道完成……)。 传送串行数据。
系统总线 CPU M 硬盘适配器 DMA 控制器 硬盘驱动器 3.硬盘调用过程(DMA方式) (1)CPU向适配器送出驱动器号、圆柱面号、磁头号、起始扇区号、扇区数等外设寻址信息;向DMA控制器送出传送方向、主存首址、交换量等信息。 (2)适配器启动寻道,并用中断方式判寻道是否正确。 (不正确,重新寻道;正确,启动磁盘读/写。) (3)适配器准备好(读盘:主控RAM满一扇区;写盘:主控RAM空一扇区),提出DMA请求。 (4)CPU响应,由DMA控制器控制总线,实现传送。 (5)批量传送完毕,适配器申请中断。 (6)CPU响应,作善后处理。