
cpu与IO设备交换数据.ppt
15页3.2 输入/输出中的数据传送控制 3.2.1 输入/输出概述 3.2.2 直接程序传送控制 3.2.3 程序中断控制 3.2.4 DMA控制 3.2.5 通道控制 输入过程输出过程CPU把地址值放在地址总线上,选择某一输入设备数据准备有效?否CPU把数据读入寄存器是CPU把数据放在数据总线上CPU把地址值放在地址总线上,选择某一输出设备数据准备有效?否输出设备把数据取走是CPU与I/O设备交换数据的过程3.2.1 输入/输出概述信息交换方式实现要点实现方式优点缺点适用范围程序查询方式CPU不断查询外设状态,一旦外设准备就绪,CPU才结束查询等待与外设进行数据交换主要由程序实现简单、经济CPU循环等待;后询问的外设可能会长时间不能进行数据交换I/O设备少、数据传输率低的系统程序中断方式外设准备数据的过程中,CPU执行其他程序一旦某一外设准备就绪后,CPU暂停当前正在运行的程序,转去执行该外设的中断服务程序完成信息的交换主要由程序实现节省了CPU的时间,提高了效率外设通过优先级控制而不必长时间等待硬件结构相对复杂,服务开销时间大适用于随机出现的服务,并且一旦提出要求,应立即响应DMA方式在I/O设备与内存之间建立直接的通路, I/O设备直接与内存进行数据传送不经过CPU主要由附加硬件实现数据传输速度很高,传输速率仅受到内存访问时间的限制硬件结构更加复杂。
需要CPU对DMA控制器进行预置适用于高速外设与内存间进行大批量的数据交换的场合通道方式CPU将“传输控制”功能下放给通道,CPU只负责“数据处理”功能通道与CPU分时使用内存,实现CPU内部运算与I/O设备的平行工作主要由附加硬件实现提高了CPU的工作效率CPU只需用简单的通道命令启动通道工作,不必对其预置硬件结构更加复杂通道没有自己的指令系统,不能对数据进行检验和处理适用于数据传输率比较高的设备I/O处理器方式CPU将I/O操作及外围设备的管理权全部交给I/O处理器I/O处理器是一个完全独立的CPU,它和主CPU构成协处理机结构的多机系统主要由附加硬件实现I/O处理器拥有自己的完整的指令系统和存储器,并能按主CPU的要求对数据进行操作 CPU的工作效率进一步提高硬件结构更加复杂适用于数据传输率比高的设备五种信息交换方式的比较 控制控制公用寄存器公用寄存器0忙忙10就绪就绪1动作开始动作开始动作结束动作结束交换数据交换数据数据缓冲寄存器数据缓冲寄存器设备设备选择选择数据总线数据总线地址总线地址总线CPU接口接口设备设备置置”1”置置”0”“准备好准备好”((1))((6))((5))((2))((3))((5))((4))图图3.21 程序查询方式的程序查询方式的I/O控制器示意图控制器示意图返回返回主程序执行主程序执行CPU的其他工作的其他工作启动打印机启动打印机中断服务子程序中断服务子程序(数据传送数据传送)中断服务子程序中断服务子程序(数据传送数据传送)响响应应中中断断中中断断返返回回响响应应中中断断中中断断返返回回(a)CPU工作状况工作状况交换数据交换数据交换数据交换数据中中断断请请求求中中断断请请求求空闲空闲准备准备打印打印打印打印(b) 打印机工作状况打印机工作状况 图图 3.22 CPU对打印机的中断服务对打印机的中断服务返回返回…I / O1I / O2I / On…INTR1INTR2INTRnINTCPUINTA≥1(b) 单线中断单线中断图图 3.23 中断请求中断请求(a) 多线中断多线中断…I / O1I / O2I / On…INTR1INTR2INTRnINTCPU…返回返回INTR0INTR’0INTR1INTR21&INTR’21&INTR’1&…INTA&&1INTR1&&1INTR2&&1INTR3&&1INTR4≥1INT至下一级至下一级允许中断允许中断1允许中断允许中断2允许中断允许中断3允许中断允许中断4(a)独独立立请请求求线线的的中中断断排排队队线线路路(b)串串行行优优先先链链中中断断排排队队线线路路图图3.24中中断断排排队队线线路路返回返回&IM01IR10IR图图 3.25 中断屏蔽中断屏蔽指令顺序指令顺序KDIEIL响应中断响应中断不响应中断不响应中断响应中断响应中断图图 3.26 中断的禁止与开放中断的禁止与开放返回返回返回返回中断入口地址中断入口地址1中断入口地址中断入口地址2中断入口地址中断入口地址3...中断服务程序中断服务程序1中断服务程序中断服务程序2...中断向量寄存器中断向量寄存器中中断断向向量量表表图图 3.27 向量中断向量中断返回返回关中断关中断返回断点返回断点开中断开中断关中断关中断开中断开中断保存断点、保存现场保存断点、保存现场判断中断条件判断中断条件转入中断服务程序转入中断服务程序执行中断服务程序执行中断服务程序恢复现场、恢复断点恢复现场、恢复断点图图 3.28 中断处理流程中断处理流程返回返回返回返回§1.由程序启动外设,将该外设接口的“忙”标志BS置“1”:“准备就绪”标志置“0”,外设接口开始准备,这是cpu可以继续进行别的工作,实现外设与cpu的并行工作§2.接口向外部设备发出启动信号(CPU与外设并行工作)§3外设启动完成数据的输入,将输入数据由外设送入接口中的数据缓冲寄存器。
§4.当设备动作结束或缓冲寄存器数据填满时,外设向接口送出一控制信号,将数据“准备就绪”标志RD置“1”,“忙”标志BS清“0”§5.当允许中断标志E1为“1”时,接口向CPU发出中断请求信号1RQ§6.表示cpu在一条指令执行结束后检查中断请求上线有无中断请求,若有,则将该中断请求线上的请求信号IRQ接收到中断请求触发器IR中§7.表示如果“中断屏蔽”标志IM为“0”时,cpu在一条指令结束后受理外设的中断请求,向外设发出响应中断信号并关闭中断§8.转向该设备的中断服务程序入口§9.中端服务程序通过输入指令把接口数据缓冲寄存器里的数据读至cpu中的寄存器组§10.cpu发出的控制信号C将接口中的BS和RD标志复位转入中断服务程序转入中断服务程序屏蔽低级中断(置屏蔽寄存器)屏蔽低级中断(置屏蔽寄存器)IEN 0 保存中断现场:保存中断现场: M R开放中断:开放中断:IEN 1根据引起中断的原因转相应处理程序根据引起中断的原因转相应处理程序中断处理程序主体中断处理程序主体封锁中断:封锁中断:IEN 0恢复本次中断现场:恢复本次中断现场:R MIRRi 0开放低级中断(解除屏蔽)开放低级中断(解除屏蔽)开放中断:开放中断:IEN 1执行返回指令执行返回指令起起始始部部分分结结尾尾部部分分图图 3.30 中中断断服服务务程程序序的的一一般般结结构构返回返回返回返回返回返回预处理:预处理: 内存起始地址内存起始地址 DMA设备地址设备地址 DMA传送数据个数传送数据个数 DMA启动设备启动设备 数据传送:数据传送: 继续执行主程序继续执行主程序 同时完成一批数据传送同时完成一批数据传送 后处理:后处理: 中断服务程序中断服务程序 做做DMA结束处理结束处理 继续执行主程序继续执行主程序 CPU允许传送?允许传送?主存地址送总线;主存地址送总线; 数据送数据送I / O设备设备(或主存或主存);;主存地址主存地址+1; BC内容内容(传送个数传送个数)减减1 数据块数据块 传送结束?传送结束?向向CPU申请程序中断申请程序中断DMA请求请求YNNY(a) DMA传送传送(b) 数据传送阶段的细化数据传送阶段的细化图图 3.34 DMA传送过程传送过程返回返回存储器管理部件存储器管理部件CPU内存内存选择通道选择通道磁盘磁盘控制器控制器磁盘磁盘控制器控制器磁盘磁盘磁盘磁盘磁盘磁盘磁盘磁盘…I / O总线总线字节多字节多路通道路通道设备设备控制器控制器设备设备控制器控制器设备设备设备设备设备设备…I / O总线总线数组多数组多路通道路通道设备设备控制器控制器设备设备控制器控制器设备设备设备设备设备设备…I / O总线总线图图3.36 IBM 4300 系统系统I / O结构结构返回返回返回返回。












