[工学]第八章 输入输出程序设计

上传人:tia****nde 文档编号:70785521 上传时间:2019-01-18 格式:PPT 页数:31 大小:1.05MB
返回 下载 相关 举报
[工学]第八章 输入输出程序设计_第1页
第1页 / 共31页
[工学]第八章 输入输出程序设计_第2页
第2页 / 共31页
[工学]第八章 输入输出程序设计_第3页
第3页 / 共31页
[工学]第八章 输入输出程序设计_第4页
第4页 / 共31页
[工学]第八章 输入输出程序设计_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《[工学]第八章 输入输出程序设计》由会员分享,可在线阅读,更多相关《[工学]第八章 输入输出程序设计(31页珍藏版)》请在金锄头文库上搜索。

1、第八章 输入和输出程序设计,一、概述 二、输入输出的寻址方式 三、CPU与外设数据传送的方式 1. 程序直接控制方式 无条件传送方式 查询传送方式 2. 中断传送方式 3. 直接数据通道传送(DMA),计算机在使用中,不可避免地要与外部设备打交道,输入和输出一些信息(控制、状态和数据)。,输入通过键盘、纸带读入机、卡片输入机、扫描仪、 A/D(模/数)转换等; 输出显示器、打印机、D/A(数/模)转换等。 另外,在微机中,软、硬盘也作为输入输出设备。 由于 输入的信息的数据形式不同 (数字量、模拟量、开关量等); 输入信息的速度不同 (键盘输入、磁盘输入); 所以,在CPU与外设进行数据传输时

2、,需要通过 接口电路来实现。,CPU,接口 电路,I/O 设备,一、概述,CPU与外设之间的接口信息 CPU与一个外设交换信息,通常需要以下一些信号: 1. 数据(Data) 数字量键盘等输入的数据; 模拟量如温度、压力、流量等; ( 需先经过A/D转换,将其变为数字量,由CPU处理后,再经过D/A 转 换,变为模拟量,进行控制),这部分工作有接口电路来完成。 开关量如开关的合与断等。 数据信息可以是串行的或并行的,相应采用不同的接口。 不同的I/O设备要求传送的数据类型不同,如向显示器需传送ASCII码等。 2. 状态信息(Status) 输入时, 输入设备的信息是否准备好(READY);

3、输出时,输出设备是否有空(BUSY)等。 3. 控制信息(Control) 控制输入输出设备的行为,如启动和停止等。,CPU,接口 电路,I/O 设备,数据,状态,控制,数据,状态,控制,为了将数据、状态、控制信息区分开,在接口电路中,设有不同的端口, 如数据端口、状态端口、控制端口,以接收、存放、输出不同的信息。,端口1,端口2,端口4,端口3,端口用于存放信息的 8位或16位锁存器, 缓冲器等。 在PC机中通常为8位,二、输入输出的寻址方式 CPU 寻址外设有两种方式,不同的CPU系统采用不同的寻址方式: 将存储器与外设端口统一编址 将外设接口电路的一个端口作为存储器的一个单元。,65 F

4、3 02 00 24 E0,内存与外设,内存,外设,优点:不需要专门的输入输出指令,可用全部 的存储器操作指令。(指令多且灵活) 如:mov kou1,bx 缺点:外设占用内存单元,相对减少了内存容量。,Kou1,02 6D,00000 00001,EFFFF F0000,F0001 F0002,FFFFF,2. 外设端口单独编址 优点:不占用内存 缺点:CPU需设专门的I/O指令。 I/O 指令: 若端口地址在 0FFH 范围内,则用: IN AL,端口地址 (输入) OUT 端口地址 ,AL (输出) 如: IN AL, KOU1 OUT KOU2, AL 若端口地址在 0100FFFFH

5、 范围内,则用: MOV DX, 端口地址 IN AL, DX OUT DX, AL 如: MOV DX, KOU100 IN AL, DX,65 F3 02 00,外设,0000,00FF,FFFF,0100,KOU1,KOU2,KOU3,11 22 33 44,KOU100,KOU101,可寻址28=256个端口,可寻址216=64K个端口,11 32 32 01,内存,00000,FFFFF,1. IBM PC/XT I/O 端口地址分配图,0000 001F,0020 003F,0040 005F,0060 007F,0080 009F,00A0 00BF,0080 01FF,32字节

6、,320字节,32字节,32字节,32字节,32字节,32字节,0000000F,8237A5 DMA控制器,0020003F,8259A 中断控制器,0040005F,8253A5 可编程中断计时器,00600063,8255A5 并行接口芯片(PPI),00800083,DMA 页面寄存器,00A000BF,NMI 屏蔽寄存器,附:,0200,0200020F,游戏控制口,02100217,扩展部件,021802F7,未用,02F802FF,异步通信卡(第二个),0320032F,硬盘适配器,03300377,并行打印机,未用,0300031F,实验卡,0380038F,039003AF,

7、03B003BF,03C003CF,03D003DF,03E003EF,03F003F7,03F803FF,03FF,0378037F,SPLC通信,未用,单色显示器 / 打印机,未用,未用,彩色/ 图形显示卡,软盘适配器,异步通信卡(第一个),OUT 43H, AL,IN AL, 20H,三、CPU与外设数据传送的方式,CPU与外设数据传送的方式有三种: 1. 程序直接控制方式(IN、OUT指令) 无条件传送方式 查询传送方式 2. 中断传送方式 3. 直接数据通道传送(DMA),1. 程序直接控制方式 (P283) 无条件传送方式 无条件传送方式又称同步方式,即CPU的动作必须与外设同步,

8、否则,传送数据出错。,传送流程演示,发声的例子,code segment main proc far assume cs:code,ds:code org 100h start: push ds xor ax,ax push ax mov ax,code mov ds,ax mov dx,100 in al,61h and al,11111100b sound: xor al,2 out 61h,al,mov cx,60h loop2: mov bx,cx mov cx,7fffh loop1: loop loop1 mov cx,bx loop loop2 dec dx jne sound

9、ret main endp code ends end start,例2:监测驱动器个数,查询传送方式 在传送前,查询一下外设的状态,当外设准备好了以后才传送,否则,等待。,传送流程演示,例子:见书上p287,2. 中断传送方式,由于CPU都是由高速的电子器件组成的,而外设大多是机电类型的产品,二者的工作速度不能比拟。在外设从启动到完成一个I0操作所需的时间内,CPU可以执行几百到几干条指令。但在查询传送状态。外设在进行IO操作时,CPU并未进行其它的工作而是处于长时间反复查询的等待状态,等待IO设备完成前一次操作,回到准备好或不忙状态后,CPU才控制外设开始下一次操作。由此可见,在查询传送方

10、式中。CPU与外设串行工作,这对CPU来说当然是一极大的浪费、而且计算机速度越高,这种与外设低速度的矛盾就越突出。为了提高CPU的工作效率,现代计算机都引入了中断机构,让CPU以中断方式控制外设的工作。 中断传送方式最大的特点是CPU与外设并行工作,即CPU启动外设之后,不再等待外设工作的完成,而是执行另一个程序。当外设完成一次操作后,就向CPU发出中断申请,这时,CPU就暂停现行程序的执行而转去用很少的时间控制外设开始下一次IO操作。然后CPU又恢复执行原来被中断的程序。这样,既提高了CPU的利用率,又可以使多台外部设备与CPU并行工作。,中断,1。概念: 当系统内部发生某一事件时,CPU暂

11、时中断现行程序的运行,而自动转去执行处理该事件的子程序;当处理结束后CPU又返回到被中断程序的断点处继续往下执行。,中断实际上是CPU所具有的能打断当前执行的程序,转而为临时出现的事件服务,事后又能自动恢复执行原来程序的一种功能。 实现这种功能的软、硬件装置称中断系统。 中断源 能引发中断事件的设备或过程,中断传送方式示意,传送流程演示,中断控制器8259A,2。中断源及其优先级别,外部中断源:来自CPU的外部 内部中断源:来自CPU的内部(不需要外部设备支持,不受IF控制) 中断优先级别:高低 除法错-INTO-INT n-NMI-INTR-单步,电源掉电 内存存取错 总线奇偶校验错,外设的

12、请求 CPU 在开中的情况 下响应(IF=1) 关中不响应 (IF=0),中断源,外部中断 内部中断,不可屏蔽中断 NMI 可屏蔽中断 INR 除法出错 0 中断 溢出中断 INTO(4) 软中断 INT n 单步中断 TF=1(1),硬中断,软中断,非屏蔽中断类型号2,不能被禁止,不可屏蔽中断,可屏蔽中断,IF,3.中断向量表 中断矢量表是中断类型码与对应的中断处理程序之间的连接表。IBMPc的中断矢量表用主存中从0H到3FFH共1K个字节的存储空间。表中内容分为256项,对应于中断类型号0一255。每一项占四个字节,用来存放中断处理子程序的入口地址信息,高地址的两字节用来存放中断处理子程序

13、所在段的段首址,低地址的两字节用来存放中断处理子程序入口处在段内的偏移地址。 4 。 软中断及有关的中断指令 软中断靠程序中的软中断指令实现,又称它为程序自中断 软中断指令的语句格式为:INT n 其中,n为类型码,取值范围为0255。 功能: (FLAGS) (SP) 0 IF、TF (CS) (SP) (4* n+2) CS (IP) (SP) (4* n) IP 中断返回指令 IRET,INT n 与CALL的比较 都是调用某一程序段 INT n 调用比CALL调用多压一个字进栈(PSW),0000H 0004H 0008H . . . 03FCH 03FFH,IP CS,类型0中断处理

14、 程序入口地址,类型1中断处理 程序入口地址,类型2中断处理 程序入口地址,类型255中断处理 程序入口地址,中断向量表,假定用空闲的中断类型号45H作为新增加的软中断类型号,其功能是将AX中的16位无符号二进制数以四位十六进制形式在显示器输出。其入口参数、出口参数如下: 入口参数:Ax中是待显示的无符号:二进制数; 出口参数:对应的十六进制数已在显示器输出。 假定45H号中断处理子程序名为INTR45,放在文件ITR45ASM中。设置中断向量表且执行45H软中断指令的主程序名为T-INT45,在文件T-INT45ASM中。,例子,5.如何设计一个软中断程序? (1)根据新增加的软中断指令的入

15、口、出口参数及功能编制中 断处理子程序。(子程序如何设计?) (2)查看中断矢量表,找出一个空闲的中断类型号,假定为N。 (3)将新编制的中断处理子程序的入口地址送入中断向量表4*N 4* N+3共四个字节。 设置中断向量的与取中断向量指令 设置: 取: (AH)=25H (AH)=35 (AL)=中断类型号 (AL)=中断类型号 (DS:DX)=中断向量 INT 21H INT 21H (ES:BX)= 返回的中断向量,3. 直接存储器存取(DMA)方式 (P282),传送流程演示,DMA传送方式主要由硬件DMA控制器来实现。,DMA传送方式也叫成组数据传送方式,适用于高速I/O设备,采用该方法可使I/O设备直接和存储器进行成批数据的快速传送。,DMA传送方式的接口电路,HLDA,发存储器地址,传送数据,传送结束?,DMA结束,修改地址 指针,DMA控制器(Intel

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号