如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第6章输入输出与接口技术第6章输入输出与接口技术6.1概述6.1概述6.1概述6.2I/O接口6.2.1CPU与I/O设备间的信息种类6.2.1CPU与I/O设备间的信息种类6.2.1CPU与I/O设备间的信息种类状态信息和控制信息与数据是不同性质的信息,必须要分别传送。但在大部分微型机中,只有通用的IN和OUT指令,因此,外设的状态也必须作为一种数据输入;而CPU的控制命令,也必须作为一种数据输出。为了使它们相互之间区分开,它们必须有自己的不同端口地址,数据需要一个端口;外设的状态要一个端口,CPU才能把它读入,了解外设的运行情况;CPU的控制信号往往也需要一端口输出,以控制外设的正常工作。6.2.2I/O端口及编址方式6.2.2I/O端口及编址方式6.2.2I/O端口及编址方式6.2.2I/O端口及编址方式6.2.2I/O端口及编址方式6.2.2I/O端口及编址方式6.2.38086/8088的I/O指令6.2.38086/8088的I/O指令6.2.38086/8088的I/O指令6.2.38086/8088的I/O指令6.2.38086/8088的I/O指令6.2.38086/8088的I/O指令6.2.4主机与外设之间的数据传输方式6.2.4主机与外设之间的数据传输方式6.2.4主机与外设之间的数据传输方式从查询控制方式的执行过程可以看出,查询传送实际上是程序偱环等待。在数据传送之前,先从I/O状态口读取状态字进行测试,若外设准备好,进行数据传送;若外设未准备好,继续转去读状态字进行测试。由于在外设准备数据期间,CPU只能循环等待而不能进行其它操作,致使CPU的利用率较低。因此,这种方式适合于工作不太繁忙的系统中。6.2.4主机与外设之间的数据传输方式6.2.4主机与外设之间的数据传输方式与查询工作方式不同的是,CPU不需要循环查询、等待外设工作状态,而是执行正常的数据处理,外设准备就绪时通知CPU进行数据传输。CPU与外设采用中断方式交换数据,CPU和外设可以并行工作,对于一些慢速而且是随机地与计算机进行数据交换的外设,采用中断控制方式可以大大提高系统的工作效率。6.2.4主机与外设之间的数据传输方式6.2.4主机与外设之间的数据传输方式6.2.4主机与外设之间的数据传输方式6.2.4主机与外设之间的数据传输方式6.3中断控制器8259A6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统有中断请求但未被允许称为中断屏蔽。这种用软件指令来控制中断的开/关,给程序的设计带来很大方便,使重要的程序段不被外来的中断请求所打断。例如,在实时控制系统的数据采集程序过程中,不希望被外来的中断请求所打扰,可用一条CLI指令来禁止CPU响应;在完成数据采集之后,在程序后面写一条STI指令,允许CPU响应外部的中断请求。6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统中断服务程序一般由4部分组成:保护现场、中断服务程序、恢复现场、中断返回。所谓保护现场,是因为有些寄存器可能在主程序被打断时存放有用的内容,为了返回后不破坏主程序在断点处的状态,应将有关寄存器的内容压入堆栈。当然,中断服务程序不使用的寄存器不必入栈保护。恢复现场是指,中断服务程序完成后,把原压入堆栈的寄存器内容再弹回CPU相应的寄存器中。有了保护现场和恢复现场的操作,就可保证在返回断点后正确无误地继续执行原被打断的程序。6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统6.3.1中断和中断系统中断向量表中,类型号为0、1、2、3、4的中断分别称为除法出错中断、单步中断、断点中断和溢出中断。它们都是内部硬件中断,且属专用中断,其中断指针(向量地址)是固定的,用户不得修改。类型2为非屏蔽中断,也属专用中断;类型5开始的27个中断指针,INTEL公司规定它们为保留的中断指针;类型32~255的224个中断指针可供用户使用。6.3.1中断和中断系统6.3.1中断和中断系统6.3.2中断控制器8259A1、8259A的框图和引脚8259A芯片内各部分的功能如下:②中断屏蔽寄存器IMR③服务寄存器ISR③服务寄存器ISR④优先权判决电路④优先权判决电路⑤控制逻辑⑤控制逻辑⑤控制逻辑⑥数据总线缓冲器⑦读/写控制逻辑⑧级联缓冲器/比较器⑧级联缓冲器/比较器在中断响应期间,首先,主8259A把申请中断的优先级别最高的从设备标志码输出到级联线CAS0~CAS2上;接着,从8259A把收到的从设备标志码与级联缓冲器