欢迎来到天天文库
浏览记录
ID:13145437
大小:100.50 KB
页数:27页
时间:2018-07-20
《汇编语言程序设计第9章ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章输入输出与中断9.1输入输出的基本概念输入输出是一个完整应用程序的重要组成部分,也是交互式应用程序不可缺少的组成部分。任何一种输入/输出设备都要通过一个硬件接口或控制器与CPU相连。例如,软磁盘通过软盘控制器与CPU相连,终端显示器通过数据接口与CPU相连。这些接口和控制器都能支持输入/输出指令与外部设备交换信息。这些信息包括控制、状态和数据3种不同性质的信息,它们必须按不同的端口地址分别传送,如图所示。9.1输入输出的基本概念9.1.1I/O端口地址和I/O指令1.I/O端口地址I/O端口(PORT)是CP
2、U与I/O设备交换数据的场所。通过I/O端口,处理机可以接受从输入设备输入的信息,也可向输出设备发送信息。在计算机系统中,用不同的数字给各类I/O端口进行编号,这种I/O端口的编号就称为I/O端口地址。2.I/O指令I/O指令应属于数据传送指令。(1)输入指令IN格式:IN累加器,端口地址9.1输入输出的基本概念9.1.1I/O端口地址和I/O指令功能:是从端口读入一个字节或字,并保存在寄存器AL或AX中。如果端口地址在0~255范围之内,那么可在指令IN中直接给出;否则,要把端口地址先存入寄存器DX中,然后在指令
3、中由DX来给出其端口地址。因此,输入指令IN有如下4种格式:INAL,PORT;(PORT)→ALINAX,PORT;(PORT+1,PORT)→AXINAL,DX;(DX)→ALINAX,DX;(DX+1,DX)→AX9.1输入输出的基本概念9.1.1I/O端口地址和I/O指令(2)输出指令OUT格式:OUT端口地址,累加器功能:把寄存器AL或AX的内容输出到指定端口。如果某输出设备的端口地址在0~255范围之内,那么可在指令OUT中直接给出;否则,要把端口地址先存入寄存器DX中,然后在指令中由DX来给出其端口地
4、址。因此,输出指令OUT也有如下4种格式:OUTPORT,AL;(AL)→PORTOUTPORT,AX;(AX)→PORT+1,PORT9.1输入输出的基本概念9.1.1I/O端口地址和I/O指令OUTDX,AL;(AL)→DXOUTDX,AX;(AX)→DX+1,DX这些指令只能起到传送数据的作用。如果要对状态寄存器进行测试、设置等操作,还要取回I/O状态数据到AL或AX,然后对AL或AX进行测试、设置等操作,结果再写入I/O状态寄存器。对I/O端口的操作除了可以利用AL/AX输入/输出一个字节或字外,在32位的
5、系统中还支持通过EAX的双字数据操作。9.1输入输出的基本概念9.1.2数据传送方式数据传送方式一般分为无条件传送、程序查询传送、中断传送、DMA传送和数据通道传送等5种方式。1.无条件传送方式无条件传送方式适用于CPU与外设同步的情况。这种方式不需要查询外设的状态,而直接用IN或OUT指令实现CPU与指定的外设寄存器之间的数据传送。采用这种方式时,必须确保外设与CPU在传输数据的过程中,具有相同的速度,否则不能准确地传送信息。9.1输入输出的基本概念9.1.2数据传送方式2.查询方式查询方式适用于CPU与外设不同
6、步的情况。输入之前,要查询数据是否已经准备好,若已经准备好,则可以传输;否则,继续等待,直到数据准备好再进行数据传送,如左图所示。输出之前也要查询外设状态是否繁忙,繁忙则等待,不忙则输出数据到外设,如右图所示。9.1输入输出的基本概念9.1.2数据传送方式3.中断传送方式在中断传送方式中,某一外设的数据准备就绪后,它“主动”向CPU发请求中断的信号,请求CPU暂时中断目前的工作而进行数据交换。当CPU响应这个中断时,便暂停运行主程序,并自动转移到该设备的中断服务程序。当中断服务程序结束以后,CPU又回到原来的主程序
7、。其原理和调用子程序相仿,不过,这里要求转移到中断服务子程序的请求是由外部设备发出的。中断传送方式是CPU和外部设备进行输入输出的有效方法。它可以避免因反复查询外部设备的状态而浪费时间,从而提高CPU的效率。9.1输入输出的基本概念9.1.2数据传送方式4.DMA方式DMA方式即直接存储器存取(DirectMemoryAccess)方式,也称为成组数据传送方式。DMA方式主要用于一些高速的I/O设备,如磁带、磁盘、模数转换器(ADC)等设备。对这类高速I/O设备,用执行输入/输出指令的方法或完成一次次中断序列的方法
8、来传输字节,将会造成数据的丢失,而DMA方式I/O设备直接和存储器进行成批数据的快速传送,传送数据时不需要CPU干预。在DMA方式下,外设通过DMA的一种专门接口电路——DMA控制器(DMAC),向CPU提出接管总线控制权的总线9.1输入输出的基本概念9.1.2数据传送方式请求,CPU在当前的总线周期结束后,响应DMA请求,把对总线的控制权交给DMA控制器。
此文档下载收益归作者所有