工学输入输出程序设计_第1页
工学输入输出程序设计_第2页
工学输入输出程序设计_第3页
工学输入输出程序设计_第4页
工学输入输出程序设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章输入和输出程序设计一、概述二、输入输出的寻址方式三、CPU与外设数据传送的方式

1.

程序直接控制方式

①无条件传送方式②查询传送方式

2.中断传送方式

3.直接数据通道传送(DMA)

计算机在使用中,不可避免地要与外部设备打交道,输入和输出一些信息(控制、状态和数据)。输入——通过键盘、纸带读入机、卡片输入机、扫描仪、

A/D(模/数)转换等;输出——显示器、打印机、D/A(数/模)转换等。另外,在微机中,软、硬盘也作为输入输出设备。由于①输入的信息的数据形式不同(数字量、模拟量、开关量等);

②输入信息的速度不同

(键盘输入、磁盘输入);所以,在CPU与外设进行数据传输时,需要通过接口电路来实现。CPU接口电路I/O设备一、概述CPU与外设之间的接口信息

CPU与一个外设交换信息,通常需要以下一些信号:

1.数据(Data)

数字量——键盘等输入的数据;模拟量——如温度、压力、流量等;(需先经过A/D转换,将其变为数字量,由CPU处理后,再经过D/A

转换,变为模拟量,进行控制),这部分工作有接口电路来完成。开关量——如开关的合与断等。数据信息可以是串行的或并行的,相应采用不同的接口。不同的I/O设备要求传送的数据类型不同,如向显示器需传送ASCII码等。

2.状态信息(Status)输入时,输入设备的信息是否准备好(READY);输出时,输出设备是否有空(BUSY)等。

3.控制信息(Control)控制输入输出设备的行为,如启动和停止等。CPU接口电路I/O设备数据状态控制数据状态控制

为了将数据、状态、控制信息区分开,在接口电路中,设有不同的端口,如数据端口、状态端口、控制端口,以接收、存放、输出不同的信息。端口1端口2端口4端口3端口——用于存放信息的

8位或16位锁存器,缓冲器等。在PC机中通常为8位二、输入输出的寻址方式

CPU寻址外设有两种方式,不同的CPU系统采用不同的寻址方式:将存储器与外设端口统一编址

将外设接口电路的一个端口作为存储器的一个单元。65F3020024E0内存与外设内存外设优点:不需要专门的输入输出指令,可用全部的存储器操作指令。(指令多且灵活)如:movkou1,bx缺点:外设占用内存单元,相对减少了内存容量。Kou1026D0000000001EFFFFF0000F0001F0002FFFFF2.外设端口单独编址

优点:不占用内存缺点:CPU需设专门的I/O指令。I/O指令:

若端口地址在0~FFH范围内,则用:

INAL,端口地址(输入)

OUT端口地址,AL(输出)如:INAL,KOU1OUTKOU2,AL

若端口地址在0100~FFFFH范围内,则用:

MOVDX,端口地址

INAL,DXOUTDX,AL

如:MOVDX,KOU100INAL,DX65F30200外设000000FFFFFF0100KOU1KOU2KOU311223344KOU100KOU101可寻址28=256个端口可寻址216=64K个端口11323201内存00000FFFFF1.IBMPC/XTI/O端口地址分配图0000001F0020003F0040005F0060007F0080009F00A000BF008001FF32字节320字节32字节32字节32字节32字节32字节0000~000F8237A—5DMA控制器0020~003F8259A中断控制器0040~005F8253A—5可编程中断计时器0060~00638255A—5并行接口芯片(PPI)0080~0083DMA页面寄存器00A0~00BFNMI屏蔽寄存器附:02000200~020F游戏控制口0210~0217扩展部件0218~02F7未用02F8~02FF异步通信卡(第二个)0320~032F硬盘适配器0330~0377并行打印机未用0300~031F实验卡0380~038F0390~03AF03B0~03BF03C0~03CF03D0~03DF03E0~03EF03F0~03F703F8~03FF03FF0378~037FSPLC通信未用单色显示器/打印机未用未用彩色/图形显示卡软盘适配器异步通信卡(第一个)OUT43H,ALINAL,20H三、CPU与外设数据传送的方式CPU与外设数据传送的方式有三种:1.

程序直接控制方式(IN、OUT指令)①无条件传送方式②查询传送方式2.中断传送方式3.直接数据通道传送(DMA)1.

程序直接控制方式(P283)

①无条件传送方式

无条件传送方式又称同步方式,即CPU的动作必须与外设同步,否则,传送数据出错。传送流程演示发声的例子codesegmentmainprocfarassumecs:code,ds:codeorg100hstart:pushdsxorax,axpushaxmovax,codemovds,axmovdx,100inal,61handal,11111100bsound:xoral,2out61h,al

movcx,60hloop2:movbx,cxmovcx,7fffhloop1:looploop1movcx,bxlooploop2decdxjnesoundretmainendpcodeendsendstart例2:监测驱动器个数查询传送方式在传送前,查询一下外设的状态,当外设准备好了以后才传送,否则,等待。传送流程演示例子:见书上p2872.中断传送方式

由于CPU都是由高速的电子器件组成的,而外设大多是机电类型的产品,二者的工作速度不能比拟。在外设从启动到完成一个I/0操作所需的时间内,CPU可以执行几百到几干条指令。但在查询传送状态。外设在进行I/O操作时,CPU并未进行其它的工作而是处于长时间反复查询的等待状态,等待I/O设备完成前一次操作,回到准备好或不忙状态后,CPU才控制外设开始下一次操作。由此可见,在查询传送方式中。CPU与外设串行工作,这对CPU来说.当然是一极大的浪费、而且计算机速度越高,这种与外设低速度的矛盾就越突出。为了提高CPU的工作效率,现代计算机都引入了中断机构,让CPU以中断方式控制外设的工作。中断传送方式最大的特点是CPU与外设并行工作,即CPU启动外设之后,不再等待外设工作的完成,而是执行另一个程序。当外设完成一次操作后,就向CPU发出中断申请,这时,CPU就暂停现行程序的执行而转去用很少的时间控制外设开始下一次I/O操作。然后CPU又恢复执行原来被中断的程序。这样,既提高了CPU的利用率,又可以使多台外部设备与CPU并行工作。中断1。概念:当系统内部发生某一事件时,CPU暂时中断现行程序的运行,而自动转去执行处理该事件的子程序;当处理结束后CPU又返回到被中断程序的断点处继续往下执行。

中断实际上是CPU所具有的能打断当前执行的程序,转而为临时出现的事件服务,事后又能自动恢复执行原来程序的一种功能。实现这种功能的软、硬件装置称中断系统。中断源能引发中断事件的设备或过程中断传送方式示意传送流程演示中断控制器8259A2。中断源及其优先级别外部中断源:来自CPU的外部内部中断源:来自CPU的内部(不需要外部设备支持,不受IF控制)中断优先级别:高

低除法错-INTO-INTn-NMI-INTR-单步电源掉电内存存取错总线奇偶校验错外设的请求CPU在开中的情况下响应(IF=1)关中不响应(IF=0)中断源外部中断内部中断不可屏蔽中断NMI可屏蔽中断INR除法出错0中断溢出中断INTO(4)软中断INTn单步中断TF=1(1)硬中断软中断非屏蔽中断类型号2不能被禁止不可屏蔽中断可屏蔽中断IF3.中断向量表

中断矢量表是中断类型码与对应的中断处理程序之间的连接表。IBM—Pc的中断矢量表用主存中从0H到3FFH共1K个字节的存储空间。表中内容分为256项,对应于中断类型号0一255。每一项占四个字节,用来存放中断处理子程序的入口地址信息,高地址的两字节用来存放中断处理子程序所在段的段首址,低地址的两字节用来存放中断处理子程序入口处在段内的偏移地址。4。软中断及有关的中断指令软中断靠程序中的软中断指令实现,又称它为程序自中断软中断指令的语句格式为:INTn其中,n为类型码,取值范围为0—255。功能:①(FLAGS)(SP)0IF、TF②(CS)(SP)(4*n+2)CS

③(IP)(SP)(4*n)IP

中断返回指令

IRETINTn与CALL的比较

都是调用某一程序段INTn调用比CALL调用多压一个字进栈(PSW)0000H0004H0008H...03FCH03FFHIPCS类型0中断处理程序入口地址类型1中断处理程序入口地址类型2中断处理程序入口地址类型255中断处理程序入口地址中断向量表

假定用空闲的中断类型号45H作为新增加的软中断类型号,其功能是将AX中的16位无符号二进制数以四位十六进制形式在显示器输出。其入口参数、出口参数如下:入口参数:Ax中是待显示的无符号:二进制数;出口参数:对应的十六进制数已在显示器输出。假定45H号中断处理子程序名为INTR45,放在文件ITR45.ASM中。设置中断向量表且执行45H软中断指令的主程序名为T-INT45,在文件T-INT45.ASM中。例子5.如何设计一个软中断程序?(1)根据新增加的软中断指令的入口、出口参数及功能编制中断处理子程序。(子程序如何设计?)(2)查看中断矢量表,找出一个空闲的中断类型号,假定为N。(3)将新编制的中断处理子程序的入口地址送入中断向量表4*N~4*N+3共四个字节。设置中断向量的与取中断向量指令设置:取:(AH)=25H(AH)=35(AL)=中断类型号(AL)=中断类型号(DS:DX)=中断向量INT21HINT21H(ES:BX)=返回的中断向量3.直接存储器存取(DMA)方式(P282)传送流程演示DMA传送方式主要由硬件DMA控制器来实现。DMA传送方式也叫成组数据传送方式,适用于高速I/O设备,采用该方法可使I/O设备直接和存储器进行成批数据的快速传送。DMA传送方式的接口电路DMA控制器I/O接口CPU存储器5432167总线HLDA发存储器地址传送数据传送结束?DMA结束修改地址指针DMA控制器(Intel8237A)包含四个寄存器:控制、状态、地址寄存器和字节计数器。几种传送方式的比较:1.无条件传送:只能用于外部设备与CPU的动作同步时,否则出错。这种方式已较少使用。2.查询传送:

接口简单,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论