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

简介: 【微机原理笔记】第 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 利用率太低。


2、 查询传送方式

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

优点:软件简单。

缺点: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正在执行程序过程中,由于某一突然事件的发生,暂时中止正在执行的程序,转去处理突然发生的事件(执行中断服务程序),处理完毕,再返回原来被中止的程序继续运行。


99a78297768d424680713201c3a7f957.png


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号设备服务程序


512baa442fc84871bf8a37dfca355816.png

矢量中断


4186ee4f00ba434ca5d95f97e9af47e7.png


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



06ea36b945944e4697b390a9fdcfa05d.png



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、中断向量表


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


8f914d7d94064eb19e5ab75c334d1b54.png


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 个控制字



fedd4f5105994ceb89d1656a5d42489d.png


2、命令字

8259A 有 7 个命令字。

(1)A0

  • 奇地址 —— 奇口



f0aee50d09c04ddbb0d1699620c5c084.png


  • 偶地址 —— 偶口


bb41a1ef07d34ad7b101708261c8bfd1.png


3、工作原理

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

目录
相关文章
|
9月前
|
传感器 编解码 数据处理
毕业设计|基于STM32单片机的水位浑浊度检测设计
毕业设计|基于STM32单片机的水位浑浊度检测设计
932 0
第五章:单片机控制
第五章:单片机控制
94 0
第七章 输入/输出与中断【微机原理】1
第七章 输入/输出与中断【微机原理】1
92 0
|
芯片
第七章 输入/输出与中断【微机原理】2
第七章 输入/输出与中断【微机原理】2
164 0
|
C++
第七章 输入/输出与中断【微机原理】3
第七章 输入/输出与中断【微机原理】3
174 0
【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据
【单片机期中测试】13.串口通信的应用(2)—— 超声波通过串口返回数据
128 0
【单片机期中测试】8.中断基础
【单片机期中测试】8.中断基础
73 0
|
程序员 C语言
C语言课设项目-51单片机-中断系统
C语言课设项目-51单片机-中断系统
187 0
|
存储 JavaScript
微机原理与接口技术之指令
微机原理与接口技术之指令
复习单片机:串口通信(内含:1.代码部分+2.串口内部结构+3.串口控制寄存器 SCON+4.电源控制寄存器 PCON+5. 串口的使用方法+6.硬件设计+7.实验现象)
复习单片机:串口通信(内含:1.代码部分+2.串口内部结构+3.串口控制寄存器 SCON+4.电源控制寄存器 PCON+5. 串口的使用方法+6.硬件设计+7.实验现象)
420 1
复习单片机:串口通信(内含:1.代码部分+2.串口内部结构+3.串口控制寄存器 SCON+4.电源控制寄存器 PCON+5. 串口的使用方法+6.硬件设计+7.实验现象)