必胜高考网 > 计算机类 > 计算机等级 > 资讯 >

2014计算机三级《PC技术》考试要点:输入输出控制

时间: 家辉2 资讯

  在80X86系列CPU中,采用专门的I/O指令来对I/O端口进行输入或输出操作。在CPU中负责与I/O端****换信息的寄存器只能是AL(8位数据或16位数据)。在输入、输出指令中,直接寻址范围是0~255;通过DX寄存器存放外设的端口地址而间接寻址的范围是0~65535。两个连续的8位端口可以当作一个16位端口来使用。

  在PC机中,实际上只有10条地址线(A0~A9)参加I/O端口地址译码,因此实际能访问的I/O端口数为1024。相应的地址空间为000H~3FFH,其中000H~1FFH分配给系统板上的I/O端口,200H~3FFH分配给I/O插卡。所以当地址线A9为高电平时,表示PC机的系统总线与I/O插卡交换数据;A9为低电平时,系统总线为主板上的I/O端****换数据。

  区分访问内存与外设的控制信号是M/IO,当其为低电平时,表示CPU访问I/O设备。为区分读操作或写操作应利用CPU相应控制信号,如IOR表示读I/O端口,IOW表示写I/O端口。在I/O端口的地址译码电路中,还必须使用AEN信号参与译码,AEN是DMA允许地址输出信号,高电平时表示DAM控制器接管地址总线,只有当ANE为低电平时,才表示是CPU接管地址总线,在地址总线上送来的CPU是访问I/O端口的地址,才允许I/O端口进行译码输出。

  2.计算机与外设交换信息的方式

  计算机与外设交换信息的方式有4种:直接程序传送方式、程序查询方式、程序中断方式和DMA(直接访问存储器)方式。

  直接程序传送方式适合于开关和数码显示器等比较简单,可以直接向其输入或输出的器件。程序查询方式适用于那些数据有一个准备与就绪过程的外设,只有外设准备好了,CPU才能进行数据的读写。

  程序中断方式使CPU与外设能同时并行地工作,以提高CPU的利用率。DMA方式是计算机与外设高速交换信息的方式,这种方式在DMA控制器的控制下,让外设与内存之间不通过CPU而直接交换数据。由于DMA是用硬件实现这种数据交换的,所以速度很高,并且可以批量传输,适用于高速外设。在DMA开始之前要用程序对DMA控制器芯片进行初始化;在DMA传输结束后,也要用程序进行有关数据的处理工作。

  3.计算机与外设之间交换信息的内容

  计算机与外设之间交换信息的类型有3种:外设的状态、计算机给外设的命令、双方交换的信息。

  4.查询I/O方式

  查询方式的程序设计包括如下步骤:①输入I/O设备的状态信息;

  ②判断I/O设备就绪否?若未就绪,则重新取设备状态继续判断;③若I/O设备已就绪,则执行I/O数据传输。

  查询方式所需硬件、软件都很简单,但浪费了大量的CPU时间。为了提高查询方式中CPU的工作效率,可以让CPU依次对多个外设查询,即轮询。

  5.程序中断I/O方式

  在计算机中专门负责中断处理的硬件和软件称为中断系统。不同类型的CPU,其中断系统的机能不同。

  从主程序转向I/O中断服务程序的过程称为中断响应,I/O中断响应是通过硬件实现的。其任务是:

  ①保存主程序的返回地址;

  ②转向中断服务程序的入口地址。中断服务程序的任务是:①保护CPU现场;

  ②开中断(在响应中断的过程中要关中断,以区分一次响应中断的过程。若在本次处理中断的过程中允许响应更高级别的中断,则需及时开中断);③中断服务处理;

  ④恢复主程序的CPU现场;

  ⑤在80X86系统中,要向8259发EOI(中断结束)命令,以便执行中断嵌套功能;⑥返回主程序的断点处,以便继续执行主程序。

  6.80X86的中断系统

  80X86CPU设有256种中断类型,其中断类型号为0~255。中断服务程序的入口地址集中放在内存的中断向量表中,每个中断向量(即中断服务程序入口地址)要占4字节,因此,内存的中断向量表共占1KB,分布在内存地址区间0~3FFH中。

  已知中断类型号为n,则相应的中断向量地址为4n,在4n和4n+1地址单元中存放该中断服务程序入口地址的偏移量,在4n+2和4n+3单元中存放中断服务程序入口的段地址。

  7.8259中断控制器芯片

  一片8259可提供8个I/O中断源,在286以上的PC机中用两片8259级联,可提供15个I/O中断源。在8259中,用中断服务寄存器ISR存放正在服务的中断源标志。8259的全嵌套中断工作方式是允许在中断服务程序的执行过程中响应更高级别中断请求的方式,它要求中断服务程序在中断返回之前,向8259发EOI(中断结束)命令,以便8259清除ISR寄存器中该中断源的对应位,转去处理级别较低的中断服务。

  8259在其8个中断源IRQ0~IRQ7中,规定其优先级别是:IRQ0最高,IRQ1次之,……IRQ7最低。

  通过设置初始化命令字可以改变中断源的优先级别,甚至可以使优先权在各中断源之间轮流旋转。

  8.8259的初始化命令字

  8259的初始化命令字共有4个,ICW1~ICW4必须按顺序写入。8259只有2个端口地址,即一个为偶数的地址和一个为奇数的地址,ICW1应写入偶地址,ICW2~ICW4均是奇地址。ICW1用于设置8259的基本工作方式。

  ICW2用于设置中断类型,使中断源IRQ号与CPU的中断类型号建立一一对应的关系。ICW3用于设置8259级联的具体方式。

  ICW4用于设置中断结束方式、缓冲方式、特殊的全嵌套方式等。

  中断结束方式分为自动中断结束方式和非自动中断结束方式,前者适用于无中断嵌套的情况,8259中ISR的中断源标志在CPU响应中断请求后由8259自动清除,在中断服务序中无需向8259发EOI命令;后者适用于中断嵌套的情况,在中断服务程序结束前,要8259发EOI命令,以便清除ISR中相应的中断源标志位。在PC机中采用非自动中断结束式,即中断程序在返回主程序之前,必须向8259发EOI命令。

  缓冲方式指8259和系统的数据总线之间经缓冲器相连;非缓冲方式则是直接相连。

  当8259级联工作时,应采用特殊的全嵌套方式,允许主片响应同级的中断请求。一8259(主片)的8个IR输入端最多可经8个8259(从片)扩展为64个输入端。用2片8259则将中断源输入端扩展为15个。

  9.DMA控制器芯片8237

  8237通过HRQ向80X86CPU的HOLD发出DMA请求,CPU通过HLDA向8237作出确认,同时CPU将总线控制权交给8237。

  在8237中有4个DMA通道,每个通道都可以连接一个独立的I/O设备,它们不能同时工作,优先顺序为通道0~通道3。在每个通道中都有2个端口:一个16位的地址寄存器和一个16位的字节计数器,前者用来指示进行DMA数据传输时在内存中的起始地址,后者用来对传输的DMA数据字节进行计数,以便控制DMA传送的结束。因此一片8237共有8个端口。

  8237可以通过DREQ(连次级的HRQ)和DACK(连次级的HLDA)来实现级联,这样,用5片8237(1个主片,4个从片)就可以使MDA通道数扩大到16个。10.扩大DMA可寻址的内存空间

  由于8237的地址寄存器为16位,因此可寻址的内存空间为64KB,为了扩大DMA可寻址的内存空间,可在8237外建立页面地址寄存器,设页面地址寄存器为12位,则DMA总的可寻址空间为216+12=256MB,可满足现行PC机的要求。

56379