【微机原理笔记】第 6 章 - 输入输出和中断技术

微机原理笔记 - 主页

第 6 章 输入输出和中断技术

1. 概述

1、输入输出系统

① 系统定义 (考点):外设、I/O 接口、管理设备。

② I/O 功能与作用:外设选择、外设管理、数据缓冲、信号(电平)转换

2、I/O 分类

  • 数据口(I/O)
  • 状态口(I)
  • 控制口(O)

3、寻址(编址方式)(考点)

端口有两种编址方式:统一编址、独立编址

统一编址 —— 存储映像的 I/O 寻址

把外设接口与内存统一进行编址,各占据统一地址空间的不同部分。

优点:指令强大。

缺点:地址浪费。

独立编址

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

优点:地址使用充分。

缺点:指令有两套,并且要硬件支持才可编程。

大部分系统使用统一编址,但是 8086 系统使用独立编址。

4、8086/8088 CPU 的 I/O 编址方式

① 可寻址的 I/O 端口数为 64K 个,地址范围为 0000H ~ FFFFH ,并采用独立编址。

2. CPU 与外设通信的接口(简单)

1、只需要选择的 I/O 就是简单的接口。

2、输入用缓冲器/输出用锁存器 (考点)

原因:外设比较快,CPU 比较慢,为了协调速度,要用到缓冲器和锁存器。

单向缓冲器

单向缓冲器选用 74LS244 输入缓冲器,双向缓冲器则是 245 。

输出锁存器

输出锁存器选用 273 ,下降沿锁存,并且没有三态门,373 则有三态门。

3. 传送数据方式

1、无条件传送方式

CPU 直接与外设传送数据并不需要了解外设状态,认为外设已经准备就绪,直接与外设传送数据。

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

缺点:只适用于简单外设。

2、 查询传送方式

必须查询外设状态,然后再决定是否与外设传送数据。

优点:软件简单。

缺点:CPU 利用率太低。

3、中断方式

分时传送,并行处理。

优点:CPU 利用率高。

缺点:软件复杂。

4、直接存储器存取方式(DMA)

外设直接与存储器进行数据交换,CPU 不再担当数据传输的中介者。

优点:CPU 利用率最高。

缺点:增加硬件,硬件复杂。

四种传送方式(考点)

四种传送方式是什么:无条件传送方式、查询传送方式、中断方式和 DMA 。

CPU 利用率最高的传送方式是什么:DMA 。

除了 DMA ,CPU 利用率最高的传送方式是什么:中断方式。

4. 中断的概念

1、引起 CPU 中断的事件 —— 中断源

例如:

数据传送 —— 请求输入输出数据,报告故障等。

事故处理 —— 掉电、硬件故障、软件错误、非法操作、定时时间到等。

2、中断源分为:外部中断、内部中断

内部中断: CPU 内部执行程序时自身产生的中断。

外部中断: CPU 以外的设备产生的中断(数据传送)。

3、8086/8088 的外部中断信号:INTR、NMI

INTR —— 可屏蔽中断请求,高电平有效,受IF标志的控制。执行完当前指令后CPU对它作出响应 INTA 。

NMI —— 非屏蔽中断请求,上升沿有效,任何时候 CPU 都要响应此中断请求信号。

4、中断定义

所谓中断,是指这样一个过程:当CPU正在执行程序过程中,由于某一突然事件的发生,暂时中止正在执行的程序,转去处理突然发生的事件(执行中断服务程序),处理完毕,再返回原来被中止的程序继续运行。

在这里插入图片描述

5. 中断过程

1、中断请求

NMI: 不可屏蔽,系统中断,边沿请求。

INTR: 可屏蔽,用户中断,电平请求。

边沿请求: 遇到上升沿就中断,如果遇到毛刺干扰,也会被当做中断,所以抗干扰能力弱,但设计简单。

电平请求: 遇到毛刺不会反应过来,只有遇到高电平才会中断,所以抗干扰能力强,但需要硬件支持。

2、中断识别

计算机中的中断源有很多,CPU 必须识别是哪一个设备产生中断。

识别中断源有两个方法:

软件查询(查询中断)

IN AL,IPORT		;从输入接口取中断信息
TEST AL,80H		;是0号设备请求吗?
JNZ SEVO		;是,转0号设备服务程序
TEST AL,40H		;否,是1号设备请求吗?
JNZ SEVl		;是,转1号设备服务程序
TEST AL,20H		;否,是2号设备请求吗?
JNZ SEV2		;是,转2号设备服务程序
TEST AL,10H		;否,是3号设备请求吗?
JNZ SEV3		;是,转3号设备服务程序

在这里插入图片描述

矢量中断

在这里插入图片描述

硬件上需要能够提供矢量号:

在这里插入图片描述

3、中断判优

中断优先级的控制方法:

硬件判优 —— 链式判优、并行判优(中断向量法)

软件判优 —— 顺序查询中断请求,先查询的先服务(即先查询的优先级别高)

4、中断响应处理(两个考题)

响应中断的条件(考点)

  • IF = 1
  • 当前指令执行完
  • 无总线请求

相应处理(考点)

  • 发出 INTA帽 中断响应信号,获得向量
  • 保护 FR
  • 关中断 IF = 0
  • 断点保护 CS、IP
  • 获得入口地址,开始执行

5、中断服务

中断服务子程序要做的工作:

  • 保护现场

  • 开中断(STI)

  • 进行中断处理

  • 关中断(CLI)

  • 恢复现场

    iret: IP - CS - FR(按顺序返回)

    ret: IP - CS

8088 CPU 可屏蔽中断的相应过程 (考点)

在这里插入图片描述

6. 8086/8088 中断系统

1、中断分类

(1)外部中断(硬件中断)

  • INTR:可屏蔽中断

  • NMI:不可屏蔽中断

(2)内部中断(软件中断)

  • 除法溢出:类型号 0
  • 单步中断:类型号 1
  • 断电中断:类型号 3
  • 溢出中断:类型号 4
  • 软件中断:即 INT n 指令,类型号 n(0-32)

2、中断向量表

中断类型号和中断服务子程序的入口地址之间的关系**(考点)**

在这里插入图片描述

eg. INT 12H在中断矢量表中的物理地址?

12H × 4 = 48 H

eg. INT 8中断服务程序首地址在中断矢量表中的物理地址?

8 × 4 = 32 = 20H

3、中断向量表的初始化

eg. 中断类型码为 48H 的中断处理子程序的名字为 INT48H ,编写程序段将该中断处理子程序的入口地址放入向量表。

CLI
MOV AX,0
MOV DS,AX
MOV AX,OFFSET INT48H
MOV SI,48H×4
MOV [SI],AX
MOV AX,SEG INT48H
MOV [SI+2],AX
STI

eg. 若外设的中断类型号为 6BH ,则此中断类型号对应的中断矢量表地址为从 01ACH 开始的四个存储单元。设中断服务程序段地址是 1000H ,偏移地址为 2000H 。

CLI		
MOV   AX,,0
MOV   DS,AX		;置数据段段基地址为0
MOV   AX,2000H
MOV   [6BH*4], AX	;对偏移地址为01AC的单元
MOV   AX,1000H	;送双字
MOV   [6BH*4+2], AX 
STI

4、区别

INTR 和其它中断的区别 (考点)

  • 内部中断不需要执行从外部获得矢量
  • 内部中断不受 IF 的影响
  • 内部中断大部分可以预测

5、8088 系统中各中断的优先级 (小考点)

优先级从高到低顺序如下:

  • 内部中断(优先级最高)
  • NMI
  • INTR
  • 单步中断

7. 8259A

1、内部结构

一共有 28 个管脚。

初始化:2 个控制口,7 个控制字

在这里插入图片描述

2、命令字

8259A 有 7 个命令字。

(1)A0

  • 奇地址 —— 奇口

在这里插入图片描述

  • 偶地址 —— 偶口

在这里插入图片描述

3、工作原理

设置芯片的寄存器:通过命令口写入命令字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值