第8章输入输出及中断系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第8章输入/输出及中断系统8.1.1概述输入/输出(I/O)是指微处理器与外界交换信息,即通信。微处理器与外界的通信是通过输入/输出设备进行的。当微处理器进行实时控制或进行数据处理时,总要涉及与外界进行二进制数据的交换和执行具体任务时对I/O部分提出要求。数据在微处理器与输入/输出设备之间的往返情况,类似于其在微处理器与存储器之间的往返情况,也是分为送地址码、送数据(或等待数据)、等待完成回答(或读取数据)三步。因此,从概念上可以将存储器看作是另一种形式的外围设备。但是,在接口设计与实际操作中,外围设备要考虑的问题却远比存储器来得广泛、复杂。这是由于外部设备一般具有以下特点:(1)品种繁多:有机械式、机电式和电子式等;(2)工作速度一般要比微处理器慢得多,而且速度的分布也相当宽;(3)信号类型与电平种类不只一种,既有数字电压信号,也有连续的电流信号或其它的模拟信号。而且信号电平的高低大小很不统一,范围广,离散性大;(4)信息的结构格式复杂。常见的例子有电传打字机、盒式磁带机与软盘驱动器等。这些设备之间的信息格式也各不相同,这就增加了接口设计的复杂性。因此,在进行微型计算机系统的设计时,对输入/输出部分与微处理器的连接,不能采用类似于存储器那样的简单方法。对输入/输出部分,必须要考虑两个问题:一是某一外围设备如何与微处理器连接,以进行数据、状态和控制信号的转换;二是CPU如何寻址相应的I/O设备,以实现与该设备之间的通信。I/O端口电路通常为大规模的集成电路,有如下部分组成:(1)数据缓冲寄存器数据缓冲寄存器分为输入缓存器和输出缓存器,前者用来暂存外设送来的数据,后者用来暂存处理器送往外设的数据。(2)控制寄存器用于存放处理器发来的控制命令和其他命令,以确定端口电路的工作方式和功能。(3)状态寄存器用于保存外设现行各种状态信息。(4)数据总线和地址总线缓冲器用于实现端口芯片内部数据总线和系统总线相连接,端口选择线根据I/O寻址方式的要求与地址总线的相应端连接。(5)端口地址译码器用于正确选择端口电路内部各寄存器的地址,保证1个端口寄存器唯一地对应1个端口地址,以便处理器正确无误地与指定外设交换信息,完成规定的I/O操作。(6)内部控制逻辑用于一些接口电路内部的控制信号,实现系统控制总线与内部控制信号之间的变换。(7)联络控制逻辑用于产生/接受CPU和外设之间数据传送的同步信号。总线联络信号包括微处理器端的中断请求和响应,以及外设端的准备就绪和选通等控制与应答信号。1.1.2计算机的应用8.1.2信息交换方式为了实现CPU与I/O设备之间的数据传送,通常采用以下五种I/O传送方式:程序传送方式、中断传送方式、直接存储器存取(DMA)方式、通道方式和外围处理机方式。1.程序传送方式它包括无条件传送方式和查询传送方式。在这种传送方式中,微型机与外部设备之间的数据传送由程序来控制,这是最简单的传送方式。无条件传送方式是指在外部控制过程的定时是固定的或是已知的条件下,进行数据传送的方式。在这种传送方式中,外设总是被认为处于“待命”状态,可以根据其固定的或已知的定时,将I/O指令插在程序中。当程序执行至该I/O指令时,就开始发送或接收数据。查询式I/O传送或称异步传送方式,或称条件传送方式。查询式I/O操作是由微处理机驱动一程序来完成的,所以又把查询方式称为程序控制方式。它的特点是外部设备受微型机存储器中程序的支配,微处理机控制所有的传送过程。使用这种技术时,通常都在接口电路中设有供CPU查阅的状态输入寄存器,它的置位表示设备发生了某种情况,需要微处理机加以注意。采用查询I/O方式,微型机在执行一个I/O操作之前,必须先对外围设备的状态进行测试。完成一次数据传送的步骤如下。测试所选择的外围设备的现行状态。根据该设备的状态进行条件转移,如该设备处于“忙”状态,则程序转至重复测试设备状态循环等待;若该设备已准备“就绪”,便发出一条I/O指令,执行数据传送(输入或输出)。数据传送结束后,使该设备暂停。查询技术本质上是用软件进行定时与等待信息的方法。2.中断传送方式中断概念开始是为使计算机具有实时处理能力而引入的。在实时控制系统中,产生过程中的信息变化是随机的,而且要求能快响应处理,这就导致了中断处理技术的产生。中断控制方式的特点是允许CPU和I/O设备并行工作,而仅当I/O设备数据准备就绪之后,才向CPU发出中断请求的信号。此时,CPU才暂停执行主程序,而转去执行为外围设备服务的中断服务程序,待处理完毕之后,又返回到被中断了的主程序继续执行。这就充分发挥了微型计算机的高速效能。3.直接存储器存取(DMA)方式这种传送方式是由外围设备(或DMA控制)来控制的,它能直接在外围设备与存储器之间进行数据传送,而不需要CPU的干预,适用于进行大量的高速数据传送。4.通道方式DMA方式的常见已经减轻了CPU对I/O操作的控制,使得CPU的效率有显著的提高,而通道的出现则进一步提高了CPU的效率。这是因为,CPU将部分权力下放给通道。通道是一个具有特殊功能的处理器,某些应用中称为输入输出处理器(IOP),它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。这种方式大大提高了CPU的工作效率。5.外围处理机方式外围处理机(PPU)方式是通道方式的进一步发展。由于PPU基本上独立于主机工作,它的结构更接近一般处理机,甚至就是微小计算机。在一些系统中,设置了多台PPU,分别承担I/O控制、通信、维护诊断等任务。从某种意义上来讲,这种系统已变成分布式的多机系统。I/O端口寻址方式为了区分不同的端口,我们对端口进行进行了编码,每个端口的编码都是唯一的,我们把它称为端口地址。微处理器进行I/O操作时,对I/O接口的寻址方式与前面所提及的存储器寻址方式相似。即必须完成两种选择:一是选择出选中的I/O接口芯片(称为片选);二是选择出该芯片中的某一寄存器(称为字选)。通常有两种I/O接口结构:一种是独立的I/O结构;另一种是存储器映象I/O结构。与之对应的有两种I/O结构寻址方式。1.独立的I/O寻址方式独立的I/O寻址方式也称作标准的I/O寻址方式,或称为端口(port)寻址方式。这种寻址方式有以下三个特点。(1)I/O设备的端口地址空间与存储器地址空间是完全分开、相互独立的。(2)CPU使用分开的控制信号来区分是对存储器寻址还是对I/O寻址。(3)微处理器对I/O设备的管理是使用专门的输入(IN)和输出(OUT)指令来实现数据的传送,而输入/输出数据数据通道则是采用公共的总线结构。2.存储器映象I/O寻址方式存储器映象I/O寻址方式又称为存储器对应于输入/输出寻址方式,或存储器编码的I/O寻址方式。这种寻址方式是将外围设备的一个端口作为存储器的一个单元来对待,故每一个外设端口占用存储器的一个地址单元。这种寻址方式是计算机科学发展中,硬件的最优化与指令系统的简单化的设计思想在输入/输出系统中的一个反映,此方式和独立的I/O寻址方式一样。8.2.2I/O端口地址分配以IBM-PC系列为例来分析I/O端口地址分配情况。1.I/O接口硬件分类按照I/O设备的配置情况,I/O接口的硬件分成两类:(1)系统板上的I/O芯片这些芯片大多都是可编程的大规模集成电路,完成相应的接口操作,如定时/计数器、中断控制器、DMA控制器、并行接口等。(2)I/O扩展槽上的接口控制卡这些控制卡(适配器)是由若干个集成电路按一定的逻辑组成的一个部件,如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。2.I/O端口地址分配不同的微机系统对I/O端口地址的分配是不同的。PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。3.I/O端口地址选用的原则为了避免端口地址发生冲突,在选用I/O端口地址时要注意:(1)凡是被系统配置所占用了的地址一律不能使用;(2)未被占用的地址(计算机厂家申明保留的地址除外),用户可以使用;(3)一般,用户可使用300~31FH地址,为了避免与其他用户开发的插板发生地址冲突,最好采用地址开关。8.3.1中断的基本概念计算机在执行正常程序的过程中,由于外部或内部的种种原因,将会出现一些异常的情况和特殊要求,这就需要计算机暂时中断正在执行的程序,去处理临时产生的事情,即转去执行预先编好的中断服务程序,等处理完毕后再返回执行原来的程序,这个过程称为中断。它由计算机中的中断系统来完成。中断系统可以控制CPU同时执行好几道程序,提高利用率。在中断系统当中要着重考虑以下五个方面的内容:1.中断源能发出中断申请的来源(事件)称为中断源,一般有以下几种中断源:(1)一般的输入、输出外围设备,如键盘、行打印机、纸带输入机、卡片读入机、穿孔机等的中断请求。(2)数据通道中断源,也称直接存储器存放(DMA)操作,如磁盘、磁带机或CRT等直接与存储器交换数据所要求的中断。(3)计算机内部故障引起的中断,如电源掉电、运算结果溢出、存储出错等机内事件引起的中断。(4)在实时控制系统中,由实时体控制的定时输入与输出。(5)在程序调试中由操作人员所设置的中断,如断点中断、单步中断等。当CPU响应外部设备的中断请求后,必须要识别出是哪一台外设请求中断,然后再转入对应于该设备的中断服务程序。CPU识别请求中断的设备称为中断源的识别。利用程序来查询设备的请求中断状态,从而确认出应该服务的设备号,并转入相应设备号的中断服务程序,这种方法称为软件查询技术识别中断源。CPU利用识别中断指令,可识别出硬设备地址转入相应的中断服务程序。因此,回送的设备地址称为中断向量地址,它指出CPU应该转入哪个中断服务程序,这称为硬件识别中断源。它比软件查询技术识别中断源的方法简单,而且速度快,在实时控制系统中被广泛采用。2.中断分类按中断处理方式,中断可分为以下几类:(1)简单中断,即采用周期窃用的方法来执行中断服务,有时也称数据通道或DMA。(2)程序中断,它不是窃用中央处理机的周期来进行中断处理,而是中止现行程序的执行,转去执行中断服务程序。按中断产生的方式,中断可分为:(1)自愿中断,即通过自陷指令引起的中断,或称软件中断。(2)强迫中断,这是一种随机发生的实时中断。按中断产生的位置,中断可分为:(1)外部中断,或称外部硬件实时中断,它由发至CPU某一引脚上的信号引起。(2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意外情况或调试程序而提供的中断。3.中断优先权一般而言,一个系统中有多个中断源。当在某个时刻出现两个或多个中断源提出中断请求时,中断系统应能判别优先权最高的中断源,并按优先权的高低决定响应的顺序,CPU首先响应优先权最高的中断请求。在处理完优先权最高的请求以后,再去响应其它较低级的中断请求。中断源的优先权是根据它们的重要性事先规定好的。4.中断嵌套当CPU响应某一中断源的请求,并正在执行中断处理时,若有优先权级别更高的中断源发出中断申请,则CPU要能中断正在执行的中断服务程序,响应高级中断。在高级中断处理完后再返回继续进行被中断的中断服务程序。即能实现中断处理程序的嵌套。如果一个系统中有三个中断源,优先权的安排为:中断1为最高,中断3为最低。5.中断与返回当某中断源发出中断请求时,若CPU允许响应这个中断,则CPU在现行的指令执行完后,把断点(即下一条应执行的指令的地址)及各个寄存器的内容和状态标志字压入堆栈(保护断点现场),然后转入需要处理的中断服务程序,进行中断处理。同时,清除中断请求触发器。当中断处理响应完后再把被保留的断点及各个寄存器的内容和状态标志字从堆栈中弹出。即恢复断点与现场,使CPU返回到断点,继续执行原来的程序。8.3.2中断向量表中断向量(矢量)表也称中断指示表。中断向量表放在存储单元地址的最低部位0000H到003FFH,占有1K字节的存储空间。中断向量表分成256组(类型码),每组由两个字(即4个字节)组成一个双字长的指针。每个双字指针指示一种中断类型,最多能识别256种不同类型的中断。通过这张中断向量表产生出各个中断服务程序的入口地址。

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功