微机复习第六章

本文详细介绍了I/O接口的两种编址方式——统一编址和独立编址,以及它们各自的优缺点。此外,还探讨了基本的输入/输出方法,包括无条件传送、查询式传送、中断方式和直接存储器存取(DMA)。重点讲解了中断技术,包括中断的基本概念、中断响应过程、中断源识别和中断优先级。特别地,对于8086/8088中断系统,阐述了其中断向量表和中断响应机制。
摘要由CSDN通过智能技术生成

输入输出及中断技术

直接跳到I/O编址方式

I/O接口的编址方式

统一编址 独立编址

端口与内存的统一编址

把每个I/O端口都当作一个存储单元看待, I/O端口与 存储单元在同一个地址空间中进行编址。

优点:可以用访问内存的方法访问I/O端口,访问外设具有很大的灵活性。

 缺点:访问占用了一部分地址空间,减少了内存可用的地址范围;从指令上不易区分当前是对内    存进行操作还是对外设进行操作。

端口的独立编址

 内存地址 空间和外设地址空间是相互独立的。

 

特点:

内存地址空间和外设地址空间完全独立;

I/O端口与内存使用不同的控制信号    (IO/M、IOR 、MEMR);

指令系统中设置了专门用于访问外设的I/O   指令。

缺点:能够应用于端口的指令较少,功能较弱。

 基本输入/输出方法

无条件传送 查询式传送 中断方式传送 直接存储器存取(DMA)

无条件传送

适用于总是处于准备好状态的外设

优点:软件及接口硬件简单

缺点:只适用于简单外设,适应范围较窄

eg:

读取开关的状态

当开关闭合时,输出编码使发光二极管亮

查询工作方式

适用场合: 外设并不总是准备好 对传送速率和效率要求不高

对外设及接口的要求: 外设应提供设备状态信息 接口应具备状态端口

优点:软件比较简单

缺点:CPU效率低,数据传送的实时性差,速度较慢

中断控制方式

特点: 外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序

优点:CPU效率高,实时性好,速度快

缺点:程序编制较为复杂

上面三者共性

均需CPU作为中介:

软件: 外设与内存之间的数据传送是通过CPU执行 程序来完成的(PIO方式)

硬件: I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的  

缺点:程序的执行速度限定了传送的最大速度(约为几十KB/s)

DMA控制方式

特点: 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者 总线由DMA控制(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供

中断技术

中断的基本概念

CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。

中断源:

引起CPU中断的事件,发出中断请求的来源。

分类

 引入中断的原因

 提高数据传输率

避免了CPU不断检测外设状态的过程,提高了CPU的利用率

实现对特殊事件的实时响应

外部中断响应的一般过程

中断请求

中断请求信号应保持到中断被处理为止

CPU响应中断后,中断请求信号应及时撤销

中断源识别

软件查询法

中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源

中断判优

对同时产生的中断:首先处理优先级别较高的中断;

若优先级别相同,则按先来先服务的原则

对非同时产生的中断

低优先级的中断程序允许被高优先级的中断源所中断

中断嵌套

 中断源提出中断请求后,必须满足一定的条件,CPU才可响应中断。响应INTR中断,必须满足以下4个条件:

(1)一条指令执行结束; (2)CPU处于开中断状态(IF=1); (3)当前没有发生复位(RESET)、保持(HOLD)和非屏蔽中断请求(NMI)。(4)若当前执行的指令是开中断指令(STI)和中断返回指令(IRET),则它们执行完后再执行一条指令, CPU才能响应INTR中断。

中断响应的工作

向中断源发出INTA中断响应信号;

保护断点。包括FLAGS、CS和IP

获得中断服务程序入口地址

中断处理

中断服务子程序的特点: 中断服务子程序只能为“远过程”(FAR) 用IRET指令返回

中断服务子程序完成的工作

保护现场 开中断(STI) 中断处理 关中断(CLI) 恢复现场 开中断(STI) 中断返回

中断返回

执行IRET指令,使IP、CS和FLAGS从堆栈弹出

8086/8088中断系统

中断向(矢)量表

8086CPU把256段程序的首地址(入口地址)合在一起放在1MB内存最上面的1KB

 

存放各类中断的中断服务程序的入口地址每个入口占用4 B,低字为段内偏移,高字为段基址表的地址位于内存的00000H~003FFH,大小为1KB,共256个入口    

中断向量在表中的存放地址=n*4

中断类型号

采用一个8位二进制数乘4 , 再加上00000H, 从中断矢量表找到相应的4个字节,前两个字节送入IP寄存器 , 后两个字节送入CS寄存器

这8位二进制数----中断矢量(中断类型号)

来源:  CPU内部自动产生,如: 经NMI请求(02H号)

外部设备(如8259中断控制器),经INTR请求

软中断指令 如: INT n

8086内部中断响应过程

特点: 中断由CPU内部引起,中断类型码的获得与外部无关, CPU不需要执行中断响应周期去获得中断类型码;

除单步中断外,内部中断无法用软件禁止,不受中断允许寄标志IF的影响。

内部中断何时发生是可以预测的。

 8086/8088中断系统的优先级

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值