计算机组成原理 第5章课件_第1页
计算机组成原理 第5章课件_第2页
计算机组成原理 第5章课件_第3页
计算机组成原理 第5章课件_第4页
计算机组成原理 第5章课件_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

第五章

输入输出系统第一节概述第二节I/O设备第三节I/O接口第四节程序查询方式第五节程序中断方式第六节DMA方式作业第一节概述一、输入输出系统的发展概况二、输入输出系统的组成三、I/O设备与主机的联系方式四、I/O设备与主机信息传送的控制方式一、输入输出系统的发展概况1.早期分散连接CPU和I/O设备通信控制程序查询方式2.接口模块和DMA阶段总线连接CPU和I/O设备并行

工作中断方式DMA方式每个I/O设备都有一套独立逻辑电路和CPU连接实现I/O设备与主机之间的信息交换

输入输出过程是穿插在CPU执行程序过程之中进行的

I/O设备通过接口模块与主机相连。

设有数据和控制通路,数据经过接口既起到了缓冲作用,又可完成串-并转换,而且可使多台I/O设备分时占用总线,实现并行工作。串行

工作3.具有通道结构的阶段4.具有I/O处理机的阶段通道是用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件,可视为一种具有特殊功能的处理器;有专用通道指令,能独立地执行用通道指令编写的输入输出程序,但不是一个完全独立的处理器;是从属于CPU的一个专用处理器;

基本独立于主机工作,既可完成I/O通道的功能,又可以进行码制转换、格式处理、数据块检错、纠错等二、输入输出系统的组成1.I/O软件(1)I/O指令(2)

通道指令CPU指令的一部分通道自身的指令指出数组的首地址、传送字数、操作命令如IBM/370通道指令为64位操作码命令码设备码2.I/O硬件设备接口模块、设备控制器、设备带有接口的I/O系统具有通道的I/O系统具有通道的I/O系统三、I/O设备与主机的联系方式1.I/O设备编址方式(1)统一编址(2)不统一编址用取数、存数指令有专门的I/O指令2.设备选址用设备选择电路识别是否被选中3.传送方式(1)串行(2)并行4.联络方式(1)立即响应(2)异步工作“Ready”“Strobe”I/O

接口I/O

设备CPU并行指令一到,立即响应,无需特殊联络信号

在交换信息前,各司其职,出现联络信号时才准备交换信息。

一般用于I/O设备与主机工作速度不匹配时。采用应答信号(3)同步工作采用同步时标要求I/O设备与CPU的工作速度完全同;

CPU必须以I/O设备的速率接收和传送数据;数据字命令字命令字01101000起始位终止位9.09ms2×

9.09ms串行起始位终止位9.09ms2×

9.09ms5.I/O设备与主机的连接方式(1)辐射式连接(2)总线连接

外设Ⅰ

外设Ⅱ

外设Ⅲ主机不便于增删设备每台设备都配有一套控制线路和一组信号线便于增删设备四、I/O设备与主机信息传送的控制方式程序查询方式;程序中断方式;直接存储器存取DMA方式;I/O通道方式;I/O处理机方式;CPU和I/O串行工作踏步等待CPU读I/O状态检查状态未准备就绪出错从I/O接口中读一个字到CPU从CPU向主存写入一个字CPU向I/O发读指令CPU读I/O状态检查状态

完成否未准备就绪现行程序是出错已准备就绪否程序查询方式流程1.程序查询方式2.程序中断方式I/O工作CPU不查询CPU暂停现行程序自身准备与主机交换信息CPU和I/O并行工作

启动I/O设备现行程序

……中断服务程序KK+1…没有踏步等待现象中断现行程序程序中断方式流程CPU向I/O发读指令CPU读I/O状态检查状态完成否?CPU做其他事情I/O设备工作准备就绪CPUI/O从CPU向主存写入一个字CPU主存从I/O接口中读一个字到CPUI/OCPU中断请求I/OCPU出错是否未错3.DMA方式主存和I/O之间有一条直接数据通道不中断现行程序周期挪用(周期窃取)CPU和I/O并行工作存取周期结束CPU执行现行程序CPU执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期实现I/O与主存之间的传送存取周期结束CPU执行现行程序CPU执行现行程序DMA请求启动I/OI/O准备I/O准备一个存取周期实现I/O与主存之间的传送CPU

执行现行程序CPU查询等待并传输I/O数据CPU

执行现行程序启动I/OI/O准备及传送指令执行周期结束CPU执行现行程序CPU执行现行程序启动I/O中断请求I/O准备I/O准备CPU处理中断服务程序实现I/O与主机之间的传送间断启动I/O启动I/OI/O准备中断请求启动I/OI/O准备一个存取周期DMA请求程序查询方式程序中断方式DMA方式I/O准备及传送间断I/O准备I/O准备三种方式的CPU工作效率比较第二节I/O设备一、概述二、输入设备三、输出设备四、其他五、多媒体技术一、概述主机

设备控制器机、电磁、光部分I/O接口外部设备外部设备大致分三类键盘、鼠标、打印机、显示器磁盘、光盘、磁带1.人机交互设备2.计算机信息存储设备3.机机通信设备调制解调器等二、输入设备1.键盘2.鼠标按键判断哪个键按下将此键翻译成ASCII码(编码键盘法)机械式金属球电位器光电式光电转换器完成输入程序、数据和操作命令等采用硬件确认哪个键被按下的方法4.其它输入设备3.触摸屏光笔画笔与图形板图像输入设备电阻式、电容式、表面超声波式扫描红外线式、压感式三、输出设备1.显示器(1)字符显示(2)图形显示(3)图像显示字符发生器主观图像客观图像2.打印机(1)击打式(2)非击打式点阵式(逐字、逐行)喷墨(逐字)激光(逐页)四、其他1.A/D、D/A2.终端3.汉字处理完成显示控制与存储、键盘管理及通信控制模拟/数字(数字/模拟)转换器汉字输入、汉字存储、汉字输出由键盘和显示器组成五、多媒体技术1.什么是多媒体2.多媒体计算机的关键技术强调计算机与声音、活动图像和文字的结合视频和音频数据的压缩与解压缩技术多媒体专用芯片大容量存储器适用于多媒体技术的软件第三节I/O接口一、概述二、接口的功能和组成三、接口类型一、概述为什么要设置接口?1.实现设备的选择2.实现数据缓冲达到速度匹配4.实现电平转换5.传送控制命令6.反映设备的状态(“忙”、“就绪”、“中断请求”)3.实现数据串并格式转换注意接口和端口的区别:端口是指接口电路中的一些寄存器,这些寄存器分别用来存放数据、控制和状态信息二、接口的功能和组成(1)设备选择线(2)数据线(3)命令线(4)状态线I/O接口设备I/O接口设备数据线命令线状态线I/O总线设备选择线总线连接方式的I/O接口电路2.接口的功能和组成功能组成选址功能传送命令的功能传送数据的功能反映设备状态的功能设备选择电路命令寄存器、命令译码器数据缓冲寄存器设备状态标记完成触发器D工作触发器B中断请求触发器INTR屏蔽触发器MASK3.I/O接口的基本组成

命令寄存器和命令译码器

设备选择电路

设备状态标记

数据缓冲寄存器DBR

控制逻辑电路I/O接口外部设备数据线命令状态数据线命令线状态线CPU地址线并行接口串行接口可编程接口不可编程接口1.按数据传送方式

分类2.按功能选择的灵活性

分类Intel8255Intel8251Intel8255、Intel8251Intel8212三、接口类型通用接口专用接口3.按通用性

分类4.按数据传送的控制方式

分类中断接口DMA接口Intel8255、Intel8251Intel8279、Intel8275Intel8259Intel8257第四节程序查询方式一、程序查询流程二、程序查询方式的接口电路一、程序查询流程1.查询流程检查状态标记交换数据准备就绪?是否单个设备测试指令转移指令传送指令检查状态标记1

设备1

准备就绪?检查状态标记N

设备N准备就绪?…处理设备1是否否处理设备N是多个设备2.程序流程设置主存缓冲区首址设置计数值启动外设传送一个数据修改主存地址修改计数值结束I/O传送准备好?传送完?未完是完否

保存寄存器内容②设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备工作结束①③④⑤⑥DB二、程序查询方式的接口电路①②③⑤1010④以输入为例⑥第五节程序中断方式一、中断的概念二、I/O中断的产生三、程序中断方式的接口电路四、I/O中断处理过程五、中断服务程序流程一、中断的概念…KK+1QQ+1……中断服务程序1中断服务程序2入口1入口2中断:计算机在执行过程中,当出现异常情况或特殊请求时,停止现行程序的运行,转向这些情况或请求的处理,处理结束后再返回现行程序中断处,继续执行原程序。二、I/O中断的产生以打印机为例发中断请求

空闲接收数据接收数据准备发中断请求打印打印打印机执行主程序继续执行主程序继续执行主程序响应中断中断返回响应中断中断返回

启动打印机传送数据传送数据CPUCPU与打印机并行工作三、程序中断方式的接口电路1.配置中断请求触发器和中断屏蔽触发器DQ&1INTR中断请求触发器INTR=1有请求MASK中断屏蔽触发器MASK=1被屏蔽来自CPU的中断查询信号受设备本身控制INTRDMASKQD完成触发器中断请求不允许级别低的中断源中断正在运行的中断程序2.排队器排队在CPU内或在接口电路中(链式排队器)硬件软件详见第八章INTP1´INTP2´INTP3´INTP4´INTR1INTR2INTR3INTR41&1&1&1&INTR1设备1#、2#、3#、4#

优先级按降序排列INTRi

=1有请求即INTRi=01INTP11INTP21INTP31INTP4&&&&INTR1INTR2INTR3INTR4INTR1INTR2INTR3INTR41&1&1&1&INTP1´INTP2´INTP3´INTP4´INTR2INTR1INTR1INTR21&INTP23.中断向量地址形成部件入口地址…向量地址…排队器输出硬件向量法由软件产生

显示器服务程序

打印机服务程序JMP400JMP300JMP200…………主存12H13H14H200300向量地址入口地址入口地址中断向量地址形成部件

设备编码器1000…000100100100…00010011由硬件

产生向量地址再由向量地址

找到入口地址设备选择电路DBRDQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK

设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应

INTA中断请求命令译码4.程序中断方式接口电路的基本组成四、I/O中断处理过程1.CPU响应中断的条件和时间(1)条件(2)时间允许中断触发器EINT=1用开中断

指令将EINT置“1”用关中断

指令将EINT置“0”

或硬件自动复位当D=1(随机)且MASK=0

时在每条指令执行阶段的结束前CPU

发中断查询信号(将INTR置“1”)设备选择电路DBRDQ&数据线启动命令地址线SEL输入数据启动设备设备工作结束&1QQDINTRBQQMASK设备编码器排队器中断查询来自高一级的排队器至低一级的排队器向量地址中断响应

INTA中断请求命令译码①②③④⑤⑥⑦⑧2.I/O中断处理过程①10&DBR④⑤⑦⑧设备选择电路01以输入为例②③⑥五、中断服务程序流程1.中断服务程序的流程(1)保护现场(2)中断服务(3)恢复现场(4)中断返回对不同的I/O设备具有不同内容的设备服务中断返回指令中断隐指令完成进栈指令出栈指令程序断点的保护寄存器内容的保护2.单重中断和多重中断不允许中断

现行的中断服务程序单重

中断多重

中断允许级别更高

的中断源中断

现行的中断服务程序3.单重中断和多重中断的服务程序流程中断否?保护现场设备服务恢复现场

开中断中断返回取指令执行指令中断服务程序

中断响应程序断点进栈关中断向量地址PC中断周期是中断返回保护现场设备服务恢复现场开中断开中断开中断中断隐指令中断隐指令否取指令执行指令中断否?否

中断响应程序断点进栈关中断向量地址PC中断周期是中断服务程序单重多重单重中断和多重中断的服务程序流程主程序和服务程序抢占CPU示意图准备工作准备工作准备工作传送数据传送数据发中断请求发中断请求I/O宏观

上CPU和I/O并行

工作微观

上CPU中断现行程序

为I/O服务主程序继续执行主程序启动外设

服务程序(传送数据)

服务程序(传送数据)继续执行主程序CPU第六节DMA方式DMA(DirectMemoryAccess)方式即直接存储器访问方式,是为了在主存与外设之间实现高速、批量数据交换而设置的;DMA方式的数据传送直接依靠硬件(DMA控制器)来实现,不需要执行任何程序;无论程序查询还是程序中断方式,主要的工作都是由CPU执行程序完成的,这需要花费时间,因此不能实现高速外设与主机的信息交换。一、DMA方式的特点二、DMA接口的功能和组成三、DMA的工作过程四、DMA接口的类型一、DMA方式的特点1.DMA和程序中断两种方式的数据通路CPU主存ACC

中断接口DMA接口I/O

设备中断方式数据传送通路输入指令输出指令DMA方式数据传送通路既不需要CPU干预也不需要软件介入的情况下在两者之间进行的高速数据传送2.DMA与主存交换数据的三种方式(1)停止CPU访问主存控制简单用DMA请求信号迫使CPU让出总线控制权;CPU在现行机器周期执行完成之后,使其数据、地址总线处于三态,并输出总线批准信号;每次DMA请求获得批准,DMA控制器获得总线控制权以后,连续占用若干个存取周期(总线周期)进行成组连续的数据传送,直至批量传送结束,DMA控制器才把总线控制权交回CPU;主存工作时间CPU不执行程序DMA不工作DMA不工作DMA工作CPU控制并使用主存DMA控制并使用主存tCPU处于不工作状态或保持状态,仅能进行一些与总线无关的内部操作;未充分发挥CPU对主存的利用率,只适用于高速外设的成组传送(2)周期挪用(或周期窃取)当外设没有DMA请求时,CPU按程序要求访问主存;一旦外设有DMA请求并获得CPU批准后,CPU让出一个周期总线控制权,由DMA控制器控制系统总线,挪用一个存取周期进行一次数据传送,传送一个字节或字;然后,DMA控制器将总线控制权交回CPU,CPU继续进行自己的操作,等待下一个DMA请求的到来。重复上述过程,直至数据块传送完毕。DMA访问主存有三种可能CPU此时不访存CPU正在访存CPU与DMA同时请求访存CPU将总线控制权让给DMA,优先保证DMA工作周期挪用对CPU无影响必须等待当前机器周期结束主存工作时间CPU控制并使用主存DMA控制并使用主存t

当主存工作速度高出外设较多时,采用周期挪用法可以提高主存的利用率,且对CPU的影响较小,因此,高速主机系统常采用这种方法。(3)DMA与CPU交替访问适用于CPU的工作周期比主存周期长的情况;将一个CPU周期分成两个时间周期C1和C2;CPU工作周期C1专供DMA访存C2专供CPU访存所有指令执行过程中的一个基准时间主存工作时间DMA控制并使用主存CPU控制并使用主存t不需要申请、建立和归还总线;CPU不停止现行程序的运行,也不进入保持状态;相应的硬件逻辑变得更复杂;DMA不工作DMA不工作CPU控制并使用主存DMA控制并使用主存主存工作时间停止CPU访问主存交替访问周期挪用DMA三种传送方式CPU控制并使用主存DMA控制并使用主存主存工作时间CPU控制并使用主存DMA控制并使用主存主存工作时间二、DMA接口的功能和组成DMA接口相对于查询式接口和中断式接口来说比较复杂,在DMA传送过程中,DMA接口将接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用;DMA传送结束后,DMA接口将恢复CPU的一切权力并开始执行其操作; 由此可见,DMA接口必须具有控制系统总线的能力,即能够像CPU一样输出地址信号,接收或发出控制信号,输入或输出数据信号。1.DMA接口功能(1)向CPU申请

DMA传送(2)处理总线控制权的转交(3)管理

系统总线、控制

数据传送(4)确定

数据传送的首地址和长度(5)DMA传送结束时,给出操作完成信号修正

传送过程中的数据地址和长度2.DMA接口组成(1)主存地址计数器(AR)

用来存放待交换数据的主存地址。该计数器的初始值为主存缓冲区的首地址,当DMA传送时,每传送一个数据,将地址计数器加“1”,直至这批数据传送完毕为止。(2)字计数器(WC)

用来记录传送数据块的长度。其初始值为传送数据的总字数或总字节数,每传送一个字或一个字节,计数器自动减“1”,当其内容为0时表示数据已全部传送完毕。

(有些DMA控制器中,初始时将字数或字节数求补之后送计数器,每传送一个字或一个字节,计数器加“1”,当计数器溢出时,表示数据传送完毕)(3)数据缓冲寄存器(BR)

用来暂存每次传送的数据。输入时,数据由外设(如磁盘)先送往数据缓冲寄存器,再通过数据总线送到主存。输出,则相反。(4)设备地址寄存器(DAR)

存放I/O设备的设备码或表示设备信息存储区的寻址信息,如磁盘数据所在区号、盘面号等,具体内容取决于I/O设备的数据格式和地址编码方式。(5)DMA请求触发器 每当外设准备好数据后给出一个控制信号DREQ,使DMA请求触发器置位。(6)DMA控制逻辑 它由控制和时序电路以及状态标志等组成,当收到设备准备好一个数据字时发送的DREQ

信号后,发送DMA请求信号HRQ到CPU

,在收到CPU响应信号HLDA后负责管理DMA传送全过程,包括修改传送参数、识别总线类型、指定传送方向,通知设备已授予使用一个DMA周期,发出DACK信号。(7)中断机构 当一个数据块传送完毕后触发中断机构,向CPU提出中断请求,CPU将进行DMA传送的后处理。DMA接口主存CPUDMA接口组成DMA

控制逻辑

中断机构设备HLDAARWCDARHRQ中断请求数据线地址线+1+1溢出信号DREQDACKBR三、DMA的工作过程1.DMA传送过程预处理、数据传送、后处理(1)预处理通过几条输入输出指令预置如下信息

通知DMA控制逻辑传送方向(入/出)

设备地址DMA的DAR

主存地址DMA的AR

传送字数DMA的WC(2)数据传送预处理:主存起始地址设备地址传送数据个数启动设备DMADMADMA数据传送:继续执行主程序同时完成一批数据传送后处理:中断服务程序做DMA结束处理继续执行主程序CPU允许传送?主存地址送总线数据送I/O设备(或主存)修改主存地址修改字计数器

数据块传送结束?向CPU申请程序中断DMA请求否否是是数据传送DMA传送过程示意图BR设备DMA

控制逻辑

中断机构ARWCDARDMA接口主存CPU+1+1数据传送过程(输入)DREQ②HRQ③HLDA④地址线⑤DACK⑥①数据线⑦溢出信号中断请求ARWC+1+1BRBRBRBRBRBR设备DMA

控制逻辑

中断机构ARWCDARDMA接口主存CPU+1+1BRDREQ②HRQ③HLDA④地址线⑤DACK⑥①数据线⑦溢出信号中断请求ARWC+1+1数据传送过程(输出)BRBRBRBR(3)后处理校验送入主存的数是否正确决定是否继续用DMA传送其它数据块测试传送过程是否正确,错则转诊断及处理程序由中断服务程序完成例5.3:由传输速率确定每秒传输字节数;9600/8=1200B由最大批量字节数确定传输数据块数;

1200B/400B=3块采用DMA方式占用处理器时间;0.1×1200+5×3=135us采用中断方式,每个字符要申请一次中断;5×12

温馨提示

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

评论

0/150

提交评论