输入输出IO系统.ppt
《输入输出IO系统.ppt》由会员分享,可在线阅读,更多相关《输入输出IO系统.ppt(134页珍藏版)》请在三一办公上搜索。
1、1,第10章 输入、输出(I/O)系统,2,10.1 输入输出(IO)系统概述 输入输出系统包括外部设备及其与主机(CPU和存储器)之间的控制部件。后者称之为设备控制器,有时也称为设备适配器或接口,其作用是控制并实现主机与外部设备之间的数据传送。本章主要介绍设备控制器的工作原理及其与主机之间传送数据的协议,即系统总线。,3,10.1.1 功能 接口是计算机与I/O设备或其他系统之间所设置的逻辑控制部件,也称I/O控制器。接口的引入:,外设类型不同:机械、电子、机电、电磁传送信息类型:数字量、模拟量传送速度传送方式:串行、并行编码方式:,能实现数据缓冲和数据锁存能完成信息格式和电平的转换能进行地
2、址译码和设备选择能保证数据传送的定时与协调,功能:,4,外围设备接口的结构,接口地址,地址,译码,器,数据寄存器,命令寄存器,RD,WE,地址,有效,总线,数据线,地址线,外设接口,外设控制信号,外设数据,外设状态,状态寄存器,I/O接口功能演示,5,1.输入输出接口的基本结构,CPU和外设之间通常传递的信息:数据、状态、控制,组成:寄存器组、控制逻辑电路、主机与接口和接口与I/O设备之间的信号联接线、数据地址线、控制状态信号线,CPU,控制电路,DR,SR,CR,I/O设备,地址,数据,IO/M,RD,WR,数据,状态,控制,6,2.I/O接口分类,结构方式并行和串行收发配合方式同步和异步数
3、据传送配合方式程序传送、中断传送、DMA、通道、IO处理器电路规模简单接口、可编程接口、外设接口适配器,7,3.输入输出接口的编址方式,在接口电路中通常都具有多个可由CPU进行读写操作的寄存器,每个寄存器也叫做“端口”。为了CPU便于对IO设备进行寻址和选择,必须给众多的IO设备的端口进行编址,也就是给每一台设备规定一些地址码称为设备号或设备代码。(1)存储器、I/O接口统一编址优:访存指令可访问端口,这样寻址类型多,编程较方便。缺:占用存储器空间;速度慢。(2)I/O端口独立编址优:专门的I/O指令,与访存分开;指令执行快;不占内存地址空间。缺:需专用指令、寻址方式少。,8,IBM PC等系
4、列机设置有专门的IO指令(IN和OUT),设备的编址可达512个,部分设备的地址码如表 10.1所示。从表中可见,每一台设备占用了若干个地址码分别表示相应的设备控制器中的寄存器地址。,9,10.1.2 主机与外设间 数据传送控制方式,(1)程序直接控制(program direct control)传递方式(2)程序中断传送(program interrupt transfer)方式(3)直接存储器存取(direct memory access)方式DMA(4)I/O通道控制(I/O channel control)方式(5)外围处理机(peripheral processor unit)方式
5、,10,信号传输过程,状态寄存器,数据寄存器,2,控制,器,ALU,数据寄存器,1,地址寄存器,设备驱动电路,数据寄存器,地址译码器,设备接口,CPU,11,1、程序直接控制传送方式,该方法是主机与外设之间进行数据交换的最简单、最基本的控制方法。无条件传送只有在外设总处于准备好状态程序查询方式优点:较好协调主机与外设之间的时间差异所用硬件少。缺点:主机与外设只能串行工作主机一个时间段只能与一个外设进行通讯CPU效率低。,从I/O接口中读 一个字到CPU,从CPU向主存 写入一个字,CPU向I/O发 读指令,CPU读I/O状态,检查状态,完成否,未准备就绪,现行程序,是,出错,已准备就绪,否,1
6、2,2、程序中断传送方式,由于CPU与外设之间的速度至今仍是微秒和毫秒的数量级,速度差异悬殊,会使CPU的工作效率下降。优点:避免频繁查询,适合随机出现的服务和中低速外设使用。缺点:成批数据交换时,中断影响传送效率,一次传送一个字符,中断处理时间大于传送数据时间。需要一定的硬件电路。,中断方式的引入,程序中断方式的输入接口工作过程演示,13,3、直接存储器访问方式,1.DMA方式的引入前两种方式以CPU为中心,占用CPU时间。DMA方式以内存为中心。2.基本工作原理在外设通过专门的接口电路和存储器进行数据交换,而不用通过CPU的寄存器。控制过程由DMA控制器这样的硬件来完成,不需要保存断点。特
7、点:适用于高速设备和大数据量的数据传输,需用更多的硬件电路支持。,直接存储器存取方式软盘控制接口工作演示,14,三种方式的 CPU 工作效率比较,程序查询方式,程序中断方式,DMA 方式,15,4、I/O通道控制方式 IO通道具有少数专用的指令系统,能实现指令所控制的操作,管辖其相应的设备控制器,所以IO通道已具备简单处理机的功能。但它仅仅是面向外围设备的控制和数据的传送,其指令系统也仅仅是几条简单的与IO操作有关的命令。它要在CPU的IO指令指挥下启动、停止或改变工作状态。因此,lO通道不是一个完全独立的处理机,它只是从属于CPU的一个专用IO处理器。它的进一步发展是引入专用的输入输出处理机
8、。通道方式的出现进一步提高了CPU的效率。但需更多的硬件电路。,16,5、输入输出处理机(IOP)方式,有单独的存储器和独立的运算部件,可访问系统的内部存储器除数据传输外,还应有以下功能:能处理传送过程中出错及异常情况,数据格式翻译,数据块校验。IOP方式是通道方式的进一步的发展。它们大多应用在中、大型计算机中。,17,10.2 程序中断控制技术 中断:计算机暂时中止当前程序运行,转而处理意外出现的情况或有意安排的任务,在处理结束后能自动恢复原程序的执行,这个过程叫作“中断”。中断系统是计算机实现中断功能的软、硬件总称。在CPU一侧配置了中断机构,在设备一侧配置了中断控制接口,在软件上设计了相
9、应的中断服务程序。中断过程由中断请求、中断响应、状态保护、中断屏蔽、中断处理、恢复和返回组成。,18,I/O 中断的产生,以打印机为例,CPU 与打印机并行工作,19,10.2.1 中断的概念,在机器中引起中断产生的事件或发生中断请求的来源统称为中断源。硬件中断:是指由某个硬件中断请求信号引起的中断,硬件中断通过是中断请求信号形成向量地址。向量地址是中断服务程序入口地址的地址。软中断:是指由软中断指令所引起的中断,软中断由指令提供中断号n,再转换为向量地址。强迫中断:是指由于故障、外部请求等所引起的强迫性中断,非程序本身安排的,这种请求的提出和相应的服务处理都是随机的。自愿中断即软中断 这是程
10、序有意安排的,即以事先在程序某处设置断点,以中断方式引出服务程序,实现某种功能。如单步调试程序。,1.中断源,20,内部中断:指来自主机内部的中断请求,如CPU内部硬件故障、软中断、程序出错、运算产生故障引起的中断、控制器产生的中断。即溢出、除数为零、校验错、非法格式、虚拟存储器页面失效、非法指令、调用失败、故障中断等。外部中断:由CPU外部产生的中断键盘中断、打印机中断、磁盘存储器申请中断、电源故障、主机设备故障、定时时钟中断、显示器中断、打印机中断等。可屏蔽中断INTR 一般将外围设备中断作为可屏蔽中断,CPU通过屏蔽技术施加以控制。不可屏蔽中断NMI 这是一种必须响应处理的中断请求,作为
11、非屏蔽中断,不受CPU屏蔽。软中断发生于CPU内部,不属于外中断范畴,从概念上将它也是不可屏蔽的。,21,向量中断 CPU响应中断后,由中断机构自动将向量地址通知处理机,由向量地址指明中断向量位置并实现向量切换,不必经过处理程序来查询中断源的中断功能,称为向量中断。即直接依靠硬件来实现根据中断源获得服务程序入口地址,以实现程序切换。向量中断的特点是根据中断请求信号能快速地、直接转向对应的服务程序。因此,现代计算机基本上多具有向量中断能力。非向量中断 CPU不能直接提供中断服务程序入口地址,而是CPU在响应中断时只产生一个固定的地址,由此读取中断查询程序的入口地址,从而转向查询程序;通过执行查询
12、程序,确定被优先批准的中断源,然后分支进入相应的中断服务程序。非向量中断也称为单向量中断。,22,2.CPU响应中断必须满足的条件,中断源有中断请求中断寄存器CPU允许接受中断请求开中断中断屏蔽寄存器(判优)禁止中断一般一条指令执行完毕后CPU才能响应中断,并且当前执行的不是停机指令,又没有优先权更高的请求,则CPU进入中断周期状态,进入中断响应。,取指令,执行指令,中断,响应中断,执行中断服务程序,返回断点,关中断、保存断点、现场、开中断,关中断、恢复现场、断点、开中断,NO,Y,23,相关知识说明 1)中断响应 一旦CPU中断响应条件得到满足,则CPU进入中断周期状态,并开始响应中断。CP
13、U响应中断意味着处理机从一个程序切换到另一个程序。2)中断服务程序 为处理意外情况或有意安排的任务而编写的程序称为“中断服务程序”3)中断请求的检测与屏蔽在一个指令周期的最后一个机器周期检测当外部中断源申请中断时,CPU是否响应还要取决于其内部的中断允许寄存器IR。IR=1 是允许中断申请(开中断);IR=0 时禁止中断申请(关中断)。由指令STI和CLI软件设置。,24,4)中断请求触发器:当中断源发生引起中断的事件时先将它保存在设备控制器的中断请求触发器中,即将“中断触发器置1”。5)禁止中断:产生中断源后,由于某种条件的存在,CPU不能中止现行程序的执行,称为禁止中断。一般在CPU内部设
14、有一个“中断允许触发器。只有该触发器为1状态时。才允许处理机响应中断;如果该触发器被清除,则不响应外部中断源申请的中断、前者叫做允许中断,后者叫做禁止中断。6)堆栈与断点的保护程序被中断的地址称为断点,需保存,以备恢复执行时使用,保存断点的地方称为栈区。栈区:内存中开辟的专用数据存取区,25,7)“中断允许触发器通过开中断ST I或关中断CLI指令来置位、复位。进入中断服务程序后自动“关中断。8)中断屏蔽:当产生中断请求后,用程序方式有选择地封锁部分中断而允许其余部分中断仍得到响应,称为中断屏蔽。实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置
15、“l则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应,由各设备的中断屏蔽触发器组成中断屏蔽寄存器。,26,9)向量(矢量)中断和中断向量(矢量)矢量中断:是根据发生中断时,CPU能够直接获得到一个中断服务程序的起始地址的方式而得名。中断矢量:实际上就是一个指针,其内容是中断服务程序起始地址。即中断服务程序起始地址的地址。10)中断矢量表:微机中把全部中断矢量存放在内存的某一区域中,形成一个中断矢量表。当发生中断时,根据中断源不同,从中断矢量表中取出对应的中断矢量送给CPU的IP寄存器,CPU开始执行中断处理子程序。11)多重中断和中断优先:多重中断就是CPU在执行某一中断
16、服务程序后,如果令IR=1,那么 CPU还可以接受更高级的中断申请执行其中断服务程序.形成多重中断(也称为中断嵌套)。响应多重中断的原则是按实现设定好的各中断源的中断优先级别进行先后处理。级别高的优先处理,级别低的后处理。具体判断方法可用硬件判断或软件判断。,27,3.中断屏蔽技术的应用 通过输出指令送出一个屏蔽字,有选择地允许某些中断请求、屏蔽某些中断请求。常用于如下两种场合。1)在多重中断方式中(即允许中断嵌套),当CPU响应某个中断请求后,送出一个新的屏蔽字,以禁止与该请求统一优先级或更低级优先级的其它请求。只允许比该请求优先级高的其它中断请求可以提出。2)利用屏蔽技术动态地修改优先级
17、硬件排优逻辑所分配的优先级是固定的,但有时根据程序的需要临时动态的修改优先顺序,就可利用屏蔽字将原来优先级高的设备请求暂时屏蔽。原来级别低的请求由于未被屏蔽,优先级相对提高,称为中断升级。过一段时间再恢复或再调整屏蔽字。,28,4.中断的作用和功能(1)CPU可与 IO设备并行工作,提高CPU的工作效率(2)利用中断来处理故障,提高了机器的可靠性。计算机运行时,如硬件出现某些故障,机器中断系统发出中断请求,CPU响应中断后自动进行处理。(3)实现人机联系 在计算机工作过程中,如果用户要干预机器,如抽查计算中间结果,了解机器的工作状态,给机器下达临时性的命令等。利用中断系统实现人机通信是很方便、
18、很有效的。(4)实现多道程序和分时操作 计算机实现多道程序运行是提高机器效率的有效手段,多道程序的切换运行需借助于中断系统。在一道程序的运行中,由IO中断系统切换到另外一道程序运行,也可以通过分配每道程序一个固定时间片,利用时钟定时发中断进行程序切换。,29,(5)实现实时处理 所谓实时处理,是指在某个事件或现象出现时及时地进行处理,而不是集中起来再进行批处理。这些事件出现的时刻是随机的,而不是程序本身所能预见的,因此,要求计算机中止正在执行的程序,转而去执行中断服务程序。在实际工程中,利用中断技术进行实时控制已广泛应用于各个生产领域中。(6)实现应用程序和操作系统的联系 可以在用户程序中安排
19、一条Trap指令进入操作系统,称之为软中断。其中断处理过程与其他中断类似。(7)多处理机系统各处理机间的联系 在多处理机系统中,处理机和处理机之间的信息交流和任务切换可以通过中断来实现。,10.2.2 中断处理,1.中断处理过程,31,I/O 中断处理过程,DBR,设备选择电路,以输入为例,32,(1)关中断:由硬件自动实现、因为接下去要保存断点,保存现场。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应。否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并继续执行现行程序。(2)保存断点和现场 为了在中断处理结束后能正确地返回到中断点,在响应中断时,必
20、须把当前的程序计数器PC中的内容(即断点)保存起来。现场信息一般指的是程序状态字中断屏蔽寄存器和CPU中某些寄存器的内容。对现场信息的处理有两种方式。一种是由硬件对现场信息进行保存和恢复;另一种是由软件即中断服务程序对现场信息保存和恢复。对于由硬件保存现场信息的方式,各种不同的机器有不同的方案。有的机器把断点等保存在主存固定的单元。,33,有的机器则不然,它在每次响应中断后把处理机状态字和程序计数器内容相继压入堆栈,再从指定的两个主存单元分别取出新的程序计数器内容和处理机状态字来代替,称为交换新、旧状态字方式。(3)判别中断源,转向中断服务程序。在多个中断源同时请求中断的情况下。本次实际响应的
21、只能是优先权最高的那个中断源、所以,需进一步判别中断源,并转入相应的中断服务程序入口。(4)开中断。因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应。实现中断嵌套。(5)执行中断服务程序。不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。(6)退出中断。在退出时,又应进入不可中断状态,即关中断,恢复现场、恢复断点,然后开中断,返回原程序执行。进入中断时执行的关中断、保存断点等操作一般是由硬件实现的,它类似于一条指令,但它与一般的指令不同,不能被编写在程序中。因此,常常称为中断隐指令。,34,2.判别中断源 查询法:由测试程序按一定优先排队次序检查各
22、个设备的“中断触发器”(或称为中断标志)。当遇到第一个1标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。串行排队链法:由硬件确定中断源。图10.4为中断请求逻辑图和串行排队判优先线路图。专用硬件独立请求。中断服务程序入口地址有两种方法。其一是在中断程序中设一条专门接受中断设备号的指令INTA,收到设备号后,在通过主存的跳转表产生其中断服务程序入口地址。另一种是目前广泛应用的向量中断方法。3.多重中断处理中断嵌套:在处理某一个中断的过程中又发生了新的更高级中断源的中断申请,且CUP又处于开中断状态下,CPU就要中断该服务程序的执行,转去进行新的中断处理服
23、务程序。一般情况下与它同级的或比它低级的新中断请求不能CPU不能相应其请求,35,中断优先级的响应次序由硬件排队线路决定。一旦设计完成,系统的优先级别就决定了,但缺乏改变优先权级别的灵活性。在有优先级中断屏蔽码控制的条件下,可以不改变系统排队线路,使其中断响应次序不同。因为中断屏蔽码是由软件赋值,改变屏蔽码可以改变个设备之间中断处理次序,所以屏蔽码可看成中断处理过程中的软排队器。从中断服务程序结构看,中段服务程序可以在具体处理前被中断,所以中断处理次序可以不同于中断响应次序。这就反映了中断系统软硬件结合所带来的灵活性。,36,中断判优逻辑,分散 在各个中断源的 接口电路中 链式排队器,集中 在
24、 CPU 内,(1)硬件实现(排队器),INTR1,INTR2,INTR3,INTR4,INTR1、INTR2、INTR3、INTR4 优先级 按 降序 排列,37,A、B、C 优先级按 降序 排列,(2)软件实现(程序查询),转 A 的服务程序入口地址,转 B 的服务程序入口地址,转 C 的服务程序入口地址,38,中断服务程序入口地址的寻找,1.硬件向量法,向量地址 12H、13H、14H入口地址 200、300、400,39,2.软件查询法,M,40,3.中断隐指令,(1)保护程序断点,(2)寻找服务程序入口地址,(3)硬件 关中断,PC,断点存于 特定地址(0 号地址)内,断点 进栈,I
25、NT 中断标记,EINT 允许中断,R S 触发器,41,保护现场和恢复现场,1.保护现场,2.恢复现场,保护现场,其他服务程序,恢复现场,中断返回,PUSH,视不同请求源而定,POP,中断服务程序 完成,中断服务程序,中断隐指令 完成,中断服务程序 完成,IRET,42,1.多重中断的概念,k,l,m,k+1,l+1,m+1,程序断点 k+1,l+1,m+1,中断屏蔽技术,43,2.实现多重中断的条件,中断请求,主程序,(2)优先级别高 的中断源 有权中断优先级别低 的中断源,(1)提前 设置 开中断 指令,44,3.屏蔽技术,(1)屏蔽触发器的作用,MASK=0(未屏蔽),INTR 能被置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 IO 系统
链接地址:https://www.31ppt.com/p-6349453.html