北航计算机组成原理讲义_6.I-O接口与总线_第1页
北航计算机组成原理讲义_6.I-O接口与总线_第2页
北航计算机组成原理讲义_6.I-O接口与总线_第3页
北航计算机组成原理讲义_6.I-O接口与总线_第4页
北航计算机组成原理讲义_6.I-O接口与总线_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

I/O接口与总线,MyNewEmail:xudliurt-,本讲内容,I/O接口程序查询I/O方式程序中断I/O方式直接存储器访问(DMA)I/O方式I/O通道总线,本讲内容,I/O接口程序查询I/O方式程序中断I/O方式直接存储器访问(DMA)I/O方式I/O通道总线,1.1I/O接口,外部设备并不直接挂接在系统总线上,而是通过I/O接口最为桥梁实现与系统总线的连接各种外设使用不同的操作方法,由CPU来直接控制不同的外设不切实际。外设的数据传送速度比存储器和处理器的速度慢得多,使用高速的系统总线与慢速的外设直接连接,不切实际。外设经常使用与处理器不同的数据格式和字长度。,I/O接口,外部设备,SystemBus,Data,Control,Status,1.1I/O接口,I/O接口的功能识别I/O地址,即地址译码;实现主机与I/O设备的数据交换、控制命令的传递和状态检测与传递;提供缓冲、暂存和驱动能力;进行数据格式、类型方面的转换(串并行转换,电平转换等);支持一定的I/O方式(程序查询、程序中断、DMA等);I/O控制与定时I/O接口的分类按传送数据格式:串行接口,并行接口串行接口适合速度低、传输距离长的环境并行接口适合速度高、传输距离短的环境按I/O方式:程序查询接口、中断接口、DMA接口、通道控制接口按时序控制方式:同步接口、异步接口同步接口:数据传送由一个统一的时钟信号同步控制异步接口:数据传送采用异步应答方式控制,1.1I/O接口,I/O操作的过程(从外设到处理器的过程)处理器查询I/O接口状态,以检查连接设备的状态;I/O接口回送设备状态;如果设备可用,并准备好,CPU向I/O接口发出命令,请求传送;I/O接口获得来自外设的数据(字或字节);数据从I/O接口传送自CPU。I/O设备的编址I/O设备的编址I/O接口的编址编址方式独立编址方式:存储器地址与I/O地址分开,CPU具有专用的I/O指令,系统总线中具有区别存储器读写和I/O操作的控制信号,并以此区别地址总线上的地址是存储器地址还是I/O地址。统一编址方式:存储器地址与I/O地址统一考虑,地址空间的一部分是存储器,另一部分是I/O,支持存储器操作的指令都可用于I/O操作。I/O地址(I/O接口地址,I/O端口地址):实际上是I/O接口电路中寄存器的地址。,1.1I/O接口,I/O接口的结构,1.1I/O接口,I/O接口地址选择(译码)I/O接口地址是I/O接口电路中寄存器的地址单独编址方式下的I/O地址选择电路,I/O接口程序查询I/O方式程序中断I/O方式直接存储器访问(DMA)I/O方式I/O通道总线,2.1程序查询I/O方式,I/O接口设置状态寄存器以表示外部设备的工作状态CPU通过不断读取状态寄存器以查询外部设备的状态在外部设备准备就绪的时候,CPU通过I/O接口中的数据寄存器与外设完成数据交换。,读状态寄存器,Ready?,执行I/O操作,No,Yes,RdSta:MOVDX,3FDHINAL,DXCMPAL,61HJNERdStaMOVDX,3F8HINAl,DX,2.1程序查询I/O方式,程序查询I/O接口的基本组成StatusRegisterDataRegister(InputRegister,OutputRegister)AddressSelectedLogicBusInterfaceLogic程序查询I/O方式的特点I/O操作由CPU直接完成(通过执行I/O指令完成)外设速度慢,CPU速度快,在外设准备过程中,CPU处在不断的查询之中,CPU的效率得到了极大的浪费。外设与CPU完全串行工作。,I/O接口程序查询I/O方式程序中断I/O方式直接存储器访问(DMA)I/O方式I/O通道总线,3.1程序中断I/O方式,中断的概念机器出现了一些紧急事务,CPU不得不停下当前正在执行的程序,转去处理紧急事务,当紧急事务处理完后,继续执行被中断的程序。中断是随机的;主程序:被中断的程序;中断服务子程序:处理中断事务的程序;中断源与中断编码中断向量:中断服务子程序的入口地址;中断向量表:保存所有中断向量的内存区域中断的分类非屏蔽中断与可屏蔽中断程序中断与简单中断硬中断与软中断(软中断不是真正的中断),3.1程序中断I/O方式,中断申请中断源提出中断申请;中断控制器接受中断源的申请;根据一定的排优策略将中断申请传递给CPU。中断的排优固定排优电路可编程中断响应条件:当前执行的程序允许被中断(即中断允许标志位为允许中断),非屏蔽中断不受中断允许标志位的限制。时间:当前指令执行完后,才能相应中断在允许中断的前题下,每条机器指令的执行周期中实际上包含一个中断周期。,3.1程序中断I/O方式,中断处理保护现场:当前程序计数器的值和程序状态字入栈;获取中断向量:根据中断编码从中断向量表中获取中断向量;转移到中断服务子程序执行中断服务子程序中断返回:恢复现场,返回到被中断的主程序的断点,继续执行主程序。,主程序,中断服务子程序,3.1程序中断I/O方式,设备控制器或其他系统硬件发出中断,处理器结束当前指令的执行,处理器发出中断认可信号,处理器将PSW和PC压入堆栈,处理器获取中断向量(PC值),保存其余处理器的状态,处理中断事务,恢复处理器状态,取回原PC和PSW中断返回,硬件实现,软件实现,3.1程序中断I/O方式,中断I/O接口的基本组成DataInputRegisterDataOutputRegisterStatusRegisterControlRegisterAddressSelectedLogicInterruptControlLogicBusInterfaceLogic中断I/O方式的特点I/O操作仍然由CPU通过I/O指令完成在外设准备阶段,CPU可以执行其他程序,仅在外设准备就绪后,CPU才中断正在执行的程序,处理I/O事务。在外设准备阶段,CPU与外设的工作可以认为是并行的。中断I/O方式是目前最主要的I/O方式,3.2中断控制器8259,D0D7:双向数据线,通常连接处理器IR0IR7:中断请求输入,接其他I/O接口的中断申请INT:中断请求输出,接处理器中断请求输入。INTA:中断响应输入A0:用于选择8259内部的命令字CAS0CAS3:用于级联CS:片选信号RD,WR:读写控制信号,3.2中断控制器8259,3.2中断控制器8259,8086CPU,8259InterruptControl,INTA,INTR,I/O接口,I/O接口,I/O接口,IRQ0,IRQ1,IRQ7,8259中断基本连接图,3.2中断控制器8259,8086CPU,IR0IR1IR2IR3IR4IR5IR6IR7,INTA,INT,IRQ00,IR0IR1IR2IR3IR4IR5IR6IR7,IRQ01,IRQ07,IRQ70,IR0IR1IR2IR3IR4IR5IR6IR7,IRQ71,IRQ77,INT,INT,8259中断级联连接图,3.2中断控制器8259,8259A编程初始化命令字(InitializationCommandWord:ICW):4个ICWICW1:编程8259A的基本操作,A00ICW2:选择用于中断请求输入的中断向量号,A01。ICW3:仅用于ICW1指示工作方式是级联方式时,A01。ICW4:处理器的中断工作方式,A01。操作命令字(OperationCommandWord:OCW):3个OCW。OCW1:用于设置和读取中断屏蔽寄存器,A01OCW2:仅在8259A在ICW4中未选择AEOI(自动结束中断)时有意义,用于选择中断结束方式,A00。OCW3:选择要读的寄存器、特殊屏蔽寄存器的操作以及查询命令,A00。,3.2中断控制器8259,8259A编程(续)状态寄存器:3个可读状态寄存器。IRR与ISR通过编程OCW3来读出,IMR通过编程OCW1来读出。读IMR时,需要A01;读IIR和ISR时,需要A00,此时OCW3的D0和D1用于选择要读的寄存器是IIR还是ISR。IRR:InterruptRequestRegister中断请求寄存器ISR:In-ServiceRegister服务寄存器IMR:InterruptMaskRegister中断屏蔽寄存器,有关8259AICW、OCW、状态寄存器及8259A编程的具体说明,已超出了本课程的范围,由兴趣者可以查阅后续课程接口与通信,3.2中断控制器8259,PIC1EQU48H;8259APortA0=0PIC2EQU49H;8259APortA0=1ICW1EQU1bHICW2EQU80HICW4EQU3OCW1EQU0FEHMOVAL,ICW1;编程ICW1OUTPIC1,ALMOVAL,ICW2;编程ICW2OUTPIC2,ALMOVAL,ICW4;编程ICW4OUTPIC2,ALMOVAL,OCW1;编程OCW1OUTPIC2,ALSTI;开中断,I/O接口程序查询I/O方式程序中断I/O方式直接存储器访问(DMA)I/O方式I/O通道总线,4.1的一般概念,程序I/O与中断I/O的不足I/O传送速度受处理器测试和给设备提供服务的速度的限制处理器直接负责管理I/O,对于每一次I/O传送,处理器必须执行一些指令。DMA(DirectMemoryAccess)CPU对总线的控制被临时禁止。DMA控制器接管总线控制权,控制数据直接在存储器与外设之间高速交换,CPU不再介入具体的I/O操作,由DMA控制器来负责提供存储器地址信号、读写控制信号等。CPU与I/O设备在更大的程度上并行工作,效率更高。DMA方式适合高速批量的数据传输,如视频显示刷新、磁盘存储系统的读写,存储器到存储器的传输等。,4.2过程,CPU的工作:初始化DMA控制器设置数据传送方向:是请求读还是请求写(对存储器而言)设置I/O接口地址:DMA操作所涉及的I/O接口的地址设置存储器起始地址:读或写存储器的起始单元地址设置传送的数据数量:传送数据的字数有关中断方式的设置:DMA结束后通过中断方式请求CPU处理DMA请求当接口做好数据传输的准备,通过有关逻辑向CPU发出DMA请求信号。DMA响应CPU接到DMA请求,在当前总线周期操作结束后,暂停CPU对系统总线的控制和使用,发出DMA响应信号,并交出系统总线的控制权。,4.2过程,DMA操作DMA控制器接到DMA应答信号后,通过控制逻辑向系统总线发送存储器地址信号、存储器读写控制信号、I/O接口读写控制信号等,完成一次数据传送。这些操作完全由硬件控制,一般仅需要一个总线周期,所以这种方式称为周期窃用(cycle-stealing)方式。所有数据传送结束后,通过中断方式告知CPU进行善后处理。CPU仅在开始DMA操作之前和完成DMA操作之后参与I/O处理,在DMA过程中,CPU可以运行原来的程序(背景程序),4.2过程,4.2过程,DMA方式单字传送方式每次DMA请求得到响应后,DMA控制器窃取一个总线周期完成一次数据传送,然后释放总线。一般适应存储器速度远高于I/O设备速度的情况。成组传送方式一次DMA请求得到响应后,DMA控制器完全占用总线,进行多次DMA传送,直到所有数据传送完毕才释放总线,这段时间完全停止CPU访问内存。适应高速外设与存储器交换数据的情况。,4.3典型控制器的结构,Counter:长度计数器,保存传送数据的字数。DataReg:数据寄存器。AddressReg:地址寄存器,向地址总线提供存储器地址。DMA控制逻辑DMA状态逻辑中断控制逻辑,4.3典型控制器的结构,可能的DMA结构,4.3典型控制器的结构,8237A-5可编程DMA控制器逻辑结构,I/O接口程序查询I/O方式程序中断I/O方式直接存储器访问(DMA)I/O方式I/O通道总线,5.1通道方式及其特点,通道I/O方式的特点通道是一种专业控制器,具有自己的指令系统(基本上都是I/O指令)通道执行通道程序来实现和管理I/O,CPU基本上不需要管理I/O,CPU的效率得到更大的提高。通道程序由操作系统根据I/O任务的需求自动生成,存放在存储器中,通道程序由操作系统管理,用户程序执行和访问通道程序。,5.1通道方式及其特点,通道结构,CPU,存储器,选择通道,I/O,I/O,I/O,I/O,数组多路通道,I/O,I/O,I/O,I/O,字节多路通道,I/O,I/O,I/O,I/O,I/O总线,I/O总线,I/O总线,5.2通道分类,字节多路通道通道连接多台慢速外设,通道可以同时为多台设备服务;以字节为单位交叉传送各外设的数据;通道的数据传输率各外设的数据传输率之和。选择通道通道可以连接多台高速设备,但一次只能为其中一台设备服务;与一台设备的成组数据传送结束后,才能选择另一台设备;通道数据传输率一台设备的数据传输率。一台选择了一个外设,即使该外设没有准备好,也只能等待。数组多路通道通道可以连接多台高速外设,通道可以同时为多台设备服务;以成组交叉的方式传送数据。通道数据传输率各设备数据传输率之和,I/O接口程序查询I/O方式程序中断I/O方式

温馨提示

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

评论

0/150

提交评论