您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机组成原理-8精选-课件
第八章输入输出系统8.1外围设备的定时方式与信息交换方式8.2程序中断方式8.3DMA方式8.4通道方式8.5通用I/O标准接口8.1外围设备的定时方式与信息交换方式8.1.1外围设备的定时方式外围设备的种类相当繁多,有机械式和电动式,也有电子式和其他形式。其输入信号,可以是数字式的电压,也可以是模拟式的电压和电流。从信息传输速率来讲,相差也很悬殊。如果把高速工作的主机同不同速度工作的外围设备相连接,如何保证主机与外围设备在时间上同步?这就是我们要讨论的外围设备的定时问题输入/输出设备同CPU交换数据的过程:输入过程:(1)CPU把一个地址值放在地址总线上,这一(2)CPU(3)CPU从数据总线读入数据,并放在一个相输出过程:(1)CPU把一个地址值放在地址总线上,选择(2)CPU(3)输出设备认为数据有效,从而把数据取走。问题的关键在于:究竟什么时候数据才成为有效?很显然,由于输入/输出设备本身的速度差异很大,因此,对于不同速度的外围设备,需要有不同的定时方式,总的说来,CPU与外围1.这类设备CPU只要接收或发送数据即可。2.CPU与这类设备之间的数据交换通常采用异步定时方式,即为应答式的数据交换。3.通常采用同步定时方式,或采用直接内存访问(DMA)方式8.1.2信息交换方式在计算机系统中,CPU管理外围设备有以1.程序查询方式2.3.直接内存访问(DMA)方式4.5.外围处理机(PPU)1.程序查询方式程序查询方式是早期计算机中使用的一种方式。数据在CPU和外围设备之间的传送完全靠计算机程序控制,查询方式的优点是CPU的操作和外围设备的操作能够同步,而且硬件结构比较简单。但问题是,外围设备动作很慢,程序进入查询循环时将白白浪费掉CPU很多时间,CPU此时只能等待,不能处理其他业务。即使CPU采用定期地由主程序转向查询设备状态的子程序进行扫描轮询的办法,CPU宝贵资源的浪费也是可观的。因此当前除单2.中断是外围设备用来“主动”通知CPU准备送出输入数据或接收输出数据的一种方法。通常当一个中断发生时,CPU暂停它的现行程序而转向中断处理程序,从而可以输入或输出一个数据。当中断处理完毕后,CPU又返回到它原来的任务,并从它停止的地方开始执行程序。可以看出,它节省了CPU宝贵的时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即进行。同程序查询方式相比,硬件结构相对复杂一些,服务开销时间较大。3.直接内存访问(DMA)方式用中断方式交换数据时,每处理一次I/O交换约需几十微秒到几百微秒。对于一些高速的外围设备以及成组交换数据时,仍然显得速度太慢。DMA方式是一种完全由硬件执行I/O交换的工作方式。这种方式既考虑到中断响应,同时又要节约中断开销。此时DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU而直接在内存和外围设备之间进行,以高速传送数据。其主要优点是数据传送速度很高,传送速率仅受到内存访问时间的限制。与中断方式相比,需要更多的硬件。DMA方式适用于内存和高速外围设备之间大批数据交换的场合。4.DMA方式的出现已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高,而通道的出现则进一步提高了CPU的效率。这是因为,CPU将部分权力下放给通道。通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(IOP),它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送,大大提高了CPU的工作效率。然而这种提高CPU效率的办法是以花费更5.外围处理机(PPU)方式是通道方式的进一步发展。由于PPU基本上独立于主机工作,它的结构更接近一般处理机,甚至就是微小型计算机。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务。从某种意义上说,这种系统已变成分布式的多机系统。程序查询方式和程序中断方式适用于数据传输率比较低的外围设备,而DMA方式、通道方式和PPU方式适用于数据传输率比较高的设备。目前单片机和微型机中多采用程序查询方式、程序中断方式和DMA方式。通道方式和PPU方式大都用在中、大型计算机中。8.2程序中断方式8.2.1中断的基本概念图8.2中断处理示意图问题说明:(1)尽管外界中断请求是随机的,但CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才不致于使当前指令的执行受到干扰。公操作是指一条指令执行结束后CPU所进行的操作,如中断处理、直接内存传送、取下条指令等。外界中断请求信号通常存放在接口中的中断源锁存器里,并通过中断请求线连至CPU,每当一条指令执行到末尾,CPU便检查中断请求信号。若中断请求信号为“1”,则CPU转入“中断周期”,受理外界中断。(2)为了在中断服务程序执行完毕以后正确地返回到原来主程序被中断的断点(PC内容)而继续执行主程序,必须把程序计数器PC的内容,以及当前指令执行结束后CPU的状态(包括寄存器的内容和一些状态标志位)都保存到堆栈中去。这些操作叫做保存现场。(3)当CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个中断屏蔽触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。(4)中断处理过程是由硬件和软件结合来完成的。如上图所示,中断周期由硬件实现,而中断服务程序由机器指令序列实现。后者除执行保存现场、恢复现场、开放中断并返回主程序任务外,还对要求中断的设备进行服务,使其同CPU交换一个字的数据,或作其他服务。8.2.2程序中断方式的基本接口程序中断方式的基本接口如下图所示。程序中断由外设接口的状态和CPU两方面来控制:在接口方面,有决定是否向CPU发出中断请求的机构,主要是接口中的“准备就绪”标志(RD)和“允许中断”标志(EI)两个触发器;在CPU方面,有决定是否受理中断请求的机构,主要是“中断请求”标志(IR)和“中断屏蔽”标志(IM)两个触发器。上述四个标志触发器的具体功能如下:准备就绪的标志(RD):一旦设备做好一次数据的接收或发送,便发出一个设备动作完毕信号,使RD标志置“1”。在中断方式中,该标志用作为中断源触发器,简称中断触发器。允许中断触发器(EI):可以用程序指令来置位。EI为“1”时,某设备可以向CPU发出中断请求;EI为“0”时,不能向CPU发出中断请求,这意味着某中断源的中断请求被禁止。设置EI标志的目的,就是通过软件来控制是否允许某设备发出中断请求。中断请求触发器(IR):它暂存中断请求线上由设备发出的中断请求信号。当IR标志为“1”中断屏蔽触发器(IM):是CPU是否受理中断或批准中断的标志。IM标志为“0”时,CPU可以受理外界的中断请求,反之,IM标志为“1”时,CPU8.2.3单级中断1.单级中断的概念根据计算机系统对中断处理的策略不同,可分为单级中断系统和多级中断系统。单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务程序,即使优先权比它高的中断源也不能再打断。单级中断示意图和系统结构图如下:图8.5单级中断2.如何确定中断源,并转入被响应的中断服务程序入口地址,是中断处理首先要解决的问题。在单级中断中,采用串行排队链法来实现具有公共请求线的中断源判优识别。其实现逻辑结构如下图示。3.中断向量的产生由于存储器的地址码是一串布尔量的序列,因此常把地址码称为向量地址。当CPU响应中断时,由硬件直接产生一个固定的地址(即向量地址),由向量地址指出每个中断源设备的中断服务程序入口,这种方法通常称为向量中断。显然,每个中断源分别有一个中断服务程序,而每个中断服务程序又有自己的向量地址。当CPU识别出某中断源时,由硬件直接产生一个与该中断源对应的向量地址,很快便引入中断服务程序。向量中断要求在硬件设计时考虑所有中断源的向量地址,而实际中断时只能产生一个向量地址。8.2.4多级中断1.多级中断的概念多级中断系统是指计算机系统中有相当多的中断源,根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。优先权高的中断级可以打断优先权低的中断服务程序,从而可以进行程序嵌套方式工作。根据系统的配置不同,多级中断可分为一维多级中断和二维多级中断,一维多级中断是指每一级中断里只有一个中断源,而二维多级中断是指每一级中断里又有多个中断源。2.在多级中断中,每一级均有一根中断请求线送往CPU的中断优先级排队电路,对每一级赋予了不同的优先级。显然这种结构就是独立请求方式的逻辑结构。独立请求方式的中断优先级排队与中断向量产生的逻辑结构如下图。8.2.5中断控制器8259中断控制器是一个集成电路芯片,它将中断接口与优先级判断等功能汇集于一身,常用于微型机系统。其内部结构如下图:图8.98259中断控制器8259的中断优先级选择方式有四种:(1)完全嵌套方式:是一种固定优先级方式,连至IR0设备优先级最高,IR7的优先级最低。这种固定优先级方式对级别低的中断不利,在有些情况下最低级别的中断请求可能一直不能被处理。(2)轮换优先级方式A:每个级别的中断保证有机会被处理,将给定的中断级别处理完后,立即把它放到最低级别的位置上去。(3)轮换优先级方式B:要求CPU可在任何时间规定最优优先级,然后顺序地规定其他IR线上的优先级。(4)查询方式:由CPU访问8259的中断状态寄存器,一个状态字能表示出正在请求中断的最高优先级IR线,并能表示出中断请求是否有效。8259提供了两种屏蔽方式:(1)简单屏蔽方式:提供8位屏蔽字,每位对应着各自的IR线。被置位的任一位则禁止了对应IR线上的中断。(2)特殊屏蔽方式:允许CPU让来自低优先级的外设中断请求去中断高优先级的服务程序。当8位屏蔽位的某位置“0”时,例如屏蔽字为11001111,说明IR4和IR5线上的中断请求可中断任何高级别的中断服务程序。8259中断控制器的不同工作方式是通过编程来实现的。CPU送出一系列的初始化控制字和操作控制字来执行选定的操作。8.2.6奔腾中断机制1.中断类型中断通常称为外部中断,它是由CPU的外部硬件信号引发的。有两种情况:(1)可屏蔽中断:CPU的INTR引脚收到中断请求信号,如果CPU中标志寄存器IF=1时,可引发中断;IF=0时,中断请求信号在CPU内部被禁止。(2)非屏蔽中断:CPU的NMI引脚收到的中断请求信号而引发的中断,这类中断不能被禁止。异常通常称为异常中断,它是由指令执行引发的。有两种情况:(1)执行异常:CPU执行一条指令过程中出现错误、故障等不正常条件引发的中断;(2)执行软件中断指令:如执行INT0,INT3,INTnpentium共有256种中断和异常。每种中断给予一个中断向量号(0~255)当有一个以上的异常或中断发生时,CPU以预先确定的优先顺序进行先后服务。中断优先级分为5级。异常中断的优先级高于外部中断级,这是因为异常中断发生在取指令或译码指令或执行指令时出现情况更为紧急的故障。2.中断服务子程序的入口地址信息存于中断向量号检索表内。实模式为中断向量表IVT,保护模式为中断描述符表IDTCPU识别中断类型取得中断向量号的途径有三种:(1)指令给出,如软件中断指令INTn中的n即为中断向量号。(2)外部提供:可屏蔽中断是在CPU接收到INTR信号时产生一个中断识别周期,接收外部中断控制器由数据总线送来的中断向量号;非屏蔽中断是在接收到NMI信号时中断向量号固定为2。(3)CPU识别错误、故障现象,根据异常和中断产生的条件自动指定向量号。CPU依据中断向量号获取中断服务子程序入口地址,但在实模式下和保护模式下采用不同的途径:实模式下使用中断向量表保护模式下使用中断描述符表3.中断处理过程(1)当中断处理的CPU控制权转移涉及到特权级改变时,必须把当前
本文标题:计算机组成原理-8精选-课件
链接地址:https://www.777doc.com/doc-2003852 .html