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