




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
输入输出系统计算机组成原理程序查询中断DMA本章主要内容本章内容简介输入输出系统简称I/O系统,包括I/O接口、I/O管理部件及相关软件。它与计算机系统的综合处理能力、可扩展性、兼容性和性价比等,存在密切关系。本章首先说明外围设备的定时方式和信息交换方式,之后重点介绍程序中断方式、DMA方式、通道方式,最后介绍通用的并行I/O标准接口SCSI和串行I/O标准接口IEEE1394。重点内容中断方式DMA方式5输入输出方式接口:主机和外设之间的交接界面,实现主机与外设之间的信息交换。数据信息、控制信息、状态信息、联络信息等端口:接口电路中可以进行读/写的寄存器若干个端口加上相应的控制逻辑电路才组成接口。接口端口I/O端口编址方式统一编址I/O端口地址和内存单元地址是统一编址的不设置专门的I/O指令I/O端口占用了内存地址独立编址内存地址空间与I/O端口地址空间互相独立分别有访问内存和访问I/O外设的控制线有专门的I/O指令外围设备的输入/输出方式I/O控制方式主要由程序实现主要由附加硬件实现IOP方式程序查询方式程序中断方式DMA方式通道方式程序直接控制方式由CPU执行一段输入输出程序来实现内存与外设之间数据传送。无条件传送CPU假设I/O端口总是处于准备好的状态,在CPU认为需要时,直接访问I/O端口。软、硬件简单,但要求时序严格配合例:假设输入端口地址为30H,输出端口为31H。INAL,30H;从30口输入数据OUT31H,AL;将数据从31口输出下图为一恒温器,其引线D0—D7可送出当前温度的二进制编码(如:D0—D7为64H,温度为100度)A、B为温度控制输入端,其控制功能编码如下:1.请使用8255A将此恒温器接到8088系统总路线上,画出连接图(不用设计地址码电路)2.每20秒检测一次温度,若温度大于100℃,则减温;若温度小于96℃,则加温;在此范围内,则保持。设8255A端口地址为60H—63H,试编写对接口的初始化程序和控制程序。(若用到延迟程序,则可直接调用)举例——2001年试题D0...D7AB恒温器BA功能00保持10加温11减温可编程并行接口8255AIntel公司的标准外围接口电路。8255A的引脚和外设相连的信号PA7~PA0:A口数据线PB7~PB0:B口数据线PC7~PC0:C口数据线,可兼作控制线和主机相连的信号Reset:复位信号。D7~D0:数据线。CS:片选线RD:读信号WR:写信号A1
A0:端口选择信号00:A口01:B口10:C口11:控制端口8255AD7~D0CSRDWRA1A0ResetPA7~PA0PC7~PC4PC3~PC0PB7~PB0VCCGND8255A的控制字8255A的工作方式方式0:基本输入/输出方式,适用于端口A、B、C方式1:选通输入/输出方式,适用于端口A、B方式2:双向方式,只适用于端口A方式选择控制字
D7
D6D5
D4
D3
D2
D1
D0A组控制B组控制1:方式字标志A组方式选择00:方式001:方式11X:方式2B组方式选择0:方式01:方式1C口高4位1:输入0:输出C口低4位1:输入0:输出B口1:输入0:输出A口1:输入0:输出MOVAL,90HOUT63H,ALMOVAL,0;保持
L0:OUT61H,AL;B口输出控制
CALLDELAY20;延进20SINAL,60H;读A口温度值CMPAL,100JADOWN;高于100℃,减温CMPAL,96;低于96℃,加温JBUPMOVAL,0;96℃~100℃,保持JMPL0DOWN:MOVAL,03H;减温JMPL0UP:MOVAL,02H;加温JMPL08255AD0~D7A0PA7A1~CSPA0WRPB0
RDPB1D7~D0A0A1
WRRDD0...D7AB恒温器译码A2
~A900001001方式字A组方式0初始化控制字C高4未用B组方式0B口输出C低4未用A口输入答案程序查询方式CPU查询外设的工作状态如外设未准备好,循环等待;直到外设准备好,CPU才与外设进行数据交换。优点保证数据传送的正确性缺点实时性、并行性差对未知错误和异常无法处理查询式输入INDATA:INAL,STATUS_PORT;从状态端口读入状态TESTAL,01H;测试是否“准备好”JZINDATA;未准备好,循环测试INAL,DATA_PORT;准备好,输入数据数据端口EN状态端口EN锁存器CPRCPReadyQD输入设备STB
IBF&&地址译码D7~D0A7~A0+5VIO/MRDD0准备好状态端口查询式输出OUTDATA:INAL,STATUS_PORT;从状态端口读入状态TESTAL,80H;测试是否“忙”JNZOUTDATA;忙,循环测试MOVAL,STORE;空闲,从缓冲区取数据
OUTDATA_PORT,AL;输出到数据端口忙标志数据端口CP状态端口ENCPRBUSYDQ输出设备ACK
OBF&&地址译码D7~D0A7~A0+5VIO/MWRD7RD5.2程序中断方式采用中断技术的原因解决速度矛盾快速主机与慢速外设提高并行性多个外设可同时工作,CPU分时,提高吞吐率。实现实时处理对随机事件及时处理。及时故障处理电源掉电、除数为0等。中断的概念当计算机执行现行程序时,系统中出现某些急需处理的异常情况和特殊请求;CPU暂时中止现行程序,而转去对随机发生的更紧迫的事件进行处理;处理完毕后,自动返回原来的程序继续执行。主程序主程序A请求中断B请求中断C请求中断A中断服务子程序B中断服务子程序C中断服务子程序引发执行子程序是由程序员预先设计的(由一条调用子程序指令转入)执行中断服务程序是由随机的中断事件引起的;与主程序关系子程序的执行受到主程序或上层子程序的控制中断服务程序一般与被中断的现行程序毫无关系;同时性不存在同时调用多个子程序的情况有可能发生多个外设同时请求CPU为自己服务的情况中断与子程序区别中断的基本类型按中断产生方式强迫中断:由某种随机产生的紧急事件引发的中断。自愿中断:由程序中事先安排好的中断指令引发按中断处理方式程序中断:CPU响应中断后,转去执行相应的中断处理程序。简单中断(DMA方式):CPU响应中断后,不执行中断处理程序,只是让出几个总线周期给DMAC完成DMA操作。按中断源内中断:由CPU内部软硬件原因引发,如单步中断外中断:CPU以外的部件引发非屏蔽中断:优先级高,用于应急处理可屏蔽中断:优先级低,用于一般外设传送中断的基本类型按中断响应方式向量中断将所有的中断处理程序的入口地址(第一条指令的地址)排成一张表,称为中断向量表;在中断响应时,CPU通过这张表找到各个中断处理程序的入口地址。非向量中断中断源不提供中断服务程序的入口地址,而通过软件查询的方法得到。按中断重数单重中断:在CPU执行中断服务程序的过程中不能再被打断多重中断(中断嵌套):在执行某个中断服务程序的过程中,CPU可去响应级别更高的中断请求。中断全过程流程图取指令执行指令中断?响应中断关中断,即“中断屏蔽”置位找出中断源,并保存(PC)转中断服务子程序AA保存CPU现场设备服务恢复CPU现场开中断,即“中断屏蔽”复位是否公操作一条指令执行完毕后,CPU所进行的操作。(如中断处理、DMA传送、取下条指令等)中断周期中断服务子程序中断全过程中断请求中断判优中断响应主程序子程序中断返回中断处理中断请求中断源:引起中断的原因或发出中断申请的来源输入输出设备、实时时钟、故障源、软中断指令中断请求方式独立请求线可直接识别中断源中断请求线数目有限公共请求线通过软硬件识别中断源中断源数目可扩充二维结构同级别采用相同请求线不同级别采用不同请求线CPU中断源n中断源1INTRnINTR1…CPU中断源n中断源1INTAINTR…CPU中断源1,n中断源1,1INTA1INTR1…中断源m,n中断源m,1INTAmINTRm……中断判优CPU现行程序与中断请求之间现行程序优先级低于中断请求优先级,CPU可以响应中断请求。各中断请求之间软件查询方式查询顺序可通过编程改变,灵活;查询、判优靠程序实现,占用CPU时间,速度慢。硬件排队方式优先级高的自动封锁优先级低的中断请求。速度快,成本高,难于修改。INT1对1号中断源服务INT2对2号中断源服务INT3对3号中断源服务INTn对n号中断源服务YYYYNNNN…CPU响应中断的条件CPU接收到中断请求信号CPU允许中断一条指令执行完毕中断响应过程保存断点:入栈或存入指定内存单元。关中断:防止中断响应过程被打断。形成中断服务程序入口中断响应假定用0#内存单元保存断点(*用堆栈保存断点)0#
→MAR*SP→MARPC→MDR;断点保存WriteMDR→M(MAR)向量地址→PC0→EI;中断允许触发器清0,关中断由中断隐指令实现并不是真正的指令,由硬件直接实现的中断响应过程中的基本操作。形成中断处理程序入口软件方法:软件判优、寻找中断源,转中断处理硬件方法(向量中断):硬件自动形成中断处理程序的入口地址(中断向量)。向量地址通常有两种情况:向量地址是中断服务程序的入口地址CPU不需要再经过处理就可以进入相应的中断服务程序。适合于中断源比较少的情况。向量地址是中断向量表的指针中断源给出的向量地址是中断服务程序入口地址的地址。例:8086中断系统。中断响应中断处理及中断返回中断服务程序流程保护现场:将中断服务程序所要使用的有关寄存器的内容压入堆栈保存。开中断:允许中断嵌套。中断服务:根据中断源的要求进行具体的服务操作。关中断并恢复现场:防止受干扰,先关中断;然后从堆栈弹出旧现场信息。开中断:由于中断程序的插入是随机的,无法在返回原来的程序之后再来开中断,因此必须在中断返回之前,由中断服务程序执行开中断指令。中断返回:从堆栈中弹出断点地址,便可从服务程序返回到原来程序的断点处,继续执行原程序。中断嵌套概念一个系统中有多个中断源若CPU正在某中断服务程序时有更重要的中断源申请中断,则CPU就中止正在服务的程序,转为新的中断源服务,在处理完毕后,再返回到被中止的服务程序,直至处理完,返回主程序。中断嵌套的关键中断处理程序中开中断利用堆栈保证中断的逐级返回。中断子程序A中断子程序BAB断点1断点2重要性如何判断?是否可变?中断屏蔽中断优先级包括两层含义响应优先级多个中断源同时发出中断请求时,由硬件排队线路决定的CPU的响应次序,称为硬排队。处理优先级CPU在处理中断的过程中,优先执行哪个中断服务程序的次序。可以由中断屏蔽码来改变优先级顺序,称为软排队中断屏蔽通过改变中断屏蔽码来改变中断优先级的技术。中断屏蔽例:某计算机的中断系统有4级响应优先级1→2→3→4,每级对应一个屏蔽码,如表所示,表中屏蔽码为“0”表示开放,为“1”表示屏蔽。1000第4级1100第3级1110第2级1111第1级4级3级2级1级屏蔽码中断服务程序级别中断屏蔽当有多个中断源同时提出中断请求时,中断处理优先级与中断响应优先级一致;当中断请求先后出现时,允许级别高的中断请求打断级别低的中断请求,以实现中断嵌套。CPU运行轨迹如图:①②④③②中断服务程序①②③④主程序①中断屏蔽改变中断屏蔽码:将优先级顺序改变为1→4→3→2。则中断屏蔽码应改写为:1110第4级0110第3级0010第2级1111第1级4级3级2级1级屏蔽码中断服务程序级别中断屏蔽此时CPU运行轨迹为:③②中断服务程序①②④主程序③①②④①中断控制器可编程中断控制器8259A内部结构数据总线缓冲器读写逻辑级联缓冲比较器控制逻辑中断服务寄存器(ISR)优先级分析器中断请求寄存器(IRR)中断屏蔽寄存器(IMR)D7~D0…IR0IR7INTINTACSCAS0CAS1CAS2SP/ENRDWRA0内部总线8259A的级联9片825964级中断主片8259从片08259从片78259IR0IR7…INTINT……IR0IR7IR0IR7INTINTA8259A的编程8259的不同工作方式是通过编程来选择的首先根据需要,有选择地写入初始化控制字,使其处于预定的工作状态初始化控制字共有4个:ICW1~ICW4然后根据编程要求,写入工作方式控制字工作方式控制字:OCW1~OCW3中断方式及其接口控制BSRDEI数据缓冲寄存器中断向量逻辑设备选择动作开始动作结束传送数据IMIR公用寄存器IRPCCPU接口设备INTADBCS0101010101工作标志触发器准备就绪标志触发器允许中断触发器中断请求触发器中断屏蔽触发器P279中断方式及其接口控制BSRDEI数据缓冲寄存器中断向量逻辑设备选择动作开始动作结束传送数据IMIR公用寄存器IRPCCPU接口设备INTADBCS程序启动外设:将该外设接口的BS置1,RD清0接口向外设发出启动信号数据由外设传送到接口的缓冲寄存器设备动作结束或缓冲寄存器满时,将RD置1EI为1时,接口向CPU发出中断请求信号IM为0时,CPU受理中断请求中断处理程序读入数据发控制信号C,使BS,RD复位101236415171017向外设发INTA,并关中断8转中断处理程序入口公操作时,接收中断请求信号9010DMA方式的概念DMA——DirectMemoryAccess直接存储器访问在不需要CPU干预和软件介入的情况下,在高速外设和内存之间直接进行的大批量成组的数据传送。DMA方式的应用内存与高速外设间简单的数据传送磁盘的快速读写通信设备的批量数据传送动态存储器DRAM的刷新复杂情况,常综合应用DMA方式与中断方式DMA方式CPU存储器高速外设DMA通道DMA方式的特点内存和外设之间实现快速数据传送(由硬件控制不用CPU干预);用硬件电路控制传送数据块的内存地址和传送长度计数;内存中要开辟专用缓冲区,及时供给和接收外设的数据;传送速度快,CPU除了访问主存会发生冲突以外,可以和外设并行工作,提高了系统的效率;传送前通过程序进行预处理,结束后通过中断方式进行后处理。多路型DMA控制器允许各设备以字节为单位交叉传送,或以数据块为单位成组传送。DMA和中断的区别对CPU的占用程度不同中断方式:由CPU执行程序切换和保护、恢复现场DMA方式:除预处理和后处理阶段,不占用CPU资源,但是占用总线。响应时机不同对中断请求的响应只能发生在每条指令执行完毕时对DMA请求的响应可发生在每个机器周期结束时优先级不同DMA请求的优先级高于中断请求功能不同中断有对异常事件的处理能力DMA方式仅局限于信息块的输入输出DMA断点取指令取源数取目的数执行中断断点DMA传送方式CPU停止访存法DMA请求信号迫使CPU在现行周期结束后,将总线控制权交给DMAC;DMAC获得总线控制权后,连接占用若干个存取周期进行成组连续的数据传送,直至批量传送结束,DMAC才把总线控制权交回CPU。DMA操作期间,CPU处于保持状态,停止访问内存,仅能进行一些与总线操作无关的内部操作。CPU控制并使用内存DMA控制并使用内存内存工作时间tDMA不工作DMA不工作DMA工作优点:控制简单,适用于高速外设成组的数据交换缺点:即使高速外设也跟不上内存速度,存储周期浪费CPU控制并使用内存DMA控制并使用内存内存工作时间tDMA传送方式周期挪用法外设有DMA请求,获取总线控制权,挪用一个存取周期进行一个字节(字)的数据传送,归还总线权再申请,再传送一个字节(字)如此重复,直至数据块传送完毕优点:DMA只挪用少数周期,对CPU执行程序无影响适用:内存速度快的高速主机系统CPU控制并使用内存DMA控制并使用内存内存工作时间tDMA传送方式DMA与CPU交替访存法将一个CPU周期分成2个时间片,一片分给CPU,一片分给DMA,使CPU和DMA交替访存。优点:无须申请和归还总线,总线控制权切换很快,CPU不停止现行程序缺点:内存同时为两个部件服务,要求内存工作速度提高一倍;很少有能与CPU速度配合的外设,DMA操作时间片可能成为空操作。DMA控制器(DMAC)DMA的过程系统总线CPU
MDMA控制器接口接口I/OI/O1.DMA控制器功能(1)接收初始化信息(主存首址、交换量、传送方向)。初始化(2)接收外设DMA请求,判优,向CPU申请总线。传送前(3)接管总线权,发地址、读/写命令。传送期间控制/状态逻辑中断机构内存地址计数器传送长度计数器数据缓冲寄存器DMA请求触发器DMA控制器(DMAC)DMAC的组成内存CPU设备选择设备数据线地址线溢出信号HOLDHLDA控制线控制/状态逻辑中断机构内存地址计数器传送长度计数器数据缓冲寄存器DMA请求触发器设备选择传送长度计数器设备DMA请求触发器内存地址计数器+1中断机构中断请求溢出信号控制/状态逻辑HOLDHLDA数据缓冲寄存器参看P291DMA控制器(DMAC)DMAC的功能接受DMA请求接受外设发出的DMA请求——DREQ并向CPU发出占用总线请求——HOLD接管总线控制权接收CPU发出的DMA响应——HLDA向外设发出DMA响应——DACK接管对总线的控制,进入DMA操作周期控制数据传送确定数据的内存地址及传送长度,并能自动修改发出读写控制信号,执行数据传送操作传送完毕,向CPU提出中断,报告DMA操作的结束DMA控制器(DMAC)DMAC的引出线内存CPUDMAC外设MEMRMEMWIORIOWDREQDACKHRQHLDA计数器MEMWIORMEMRMEMRIOWDBABDREQDACKHLDAHRQ参看P298DMA控制器(DMAC)DMAC的连接和传送(P298-299-300)内存CPUDMAC外设MEMRMEMWIORIOWDBABDREQDACKHRQHLDA6计数器7+18重复5、6、79撤销HLDA,总线归还CPU1DREQ2HRQ3HLDA4DACK566DMA传送过程预处理:CPU执行初始化测试外设状态对DMAC寄存器赋初值(传送方向、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 手术室护理指南:手术隔离技术
- 胜任才是硬道理培训教材
- 中班健康:身体上的宝贝
- 糖尿病合并高血压个案护理
- 转移性骨肿瘤的护理及管理
- 2025年品质培训资料
- 住宅小区停车库租赁合同
- 办公家具定制化设计与售后服务承诺书
- 城市绿化带场地无偿使用与生态维护协议
- 电力设备与厂房使用权转让合同
- 2024版新能源汽车充电站场地租赁及充电服务合同2篇
- 特种设备日管控、周排查、月调度模板
- 急性髓系白血病护理个案
- 儿童脓毒血症护理
- 顶板事故应急演练
- 智研咨询发布:中国企业数字化解决方案行业市场发展环境及前景研究报告
- 《大学计算机基础案例教程(微课版)第2版》全套教学课件
- 食堂食材配送采购 投标方案(技术方案)
- 贵州遵义四中2022自主招生物理试卷试题真题(含答案)
- NBT 35095-2017 水电工程小流域水文计算规范
- 2024年广东省中考生物试卷(含答案)
评论
0/150
提交评论