微型计算机第六章_第1页
微型计算机第六章_第2页
微型计算机第六章_第3页
微型计算机第六章_第4页
微型计算机第六章_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、Ch.6 输入输出和中断技术输入输出和中断技术 6.1 输入输入/输出接口(输出接口(I/O接口)接口) n6.1.1 概述概述 n什么是I/O接口? 把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之 间的间的信息交换。信息交换。 nI/O接口要解决的问题 n速度匹配速度匹配(Buffer) n信号电平和驱动能力信号电平和驱动能力(电平转换器、驱动器电平转换器、驱动器) n信号形式匹配信号形式匹配(A/D、D/A) n信息格式信息格式(字节流、块、数据包、帧字节流、块、数据包、帧) n时序匹配时序匹配(定时关系定时关系) n总线隔

2、离总线隔离(三态门三态门) nI/O接口的功能 nI/O地址译码与设备选择 n把选中的与总线相接,未选中的与总线隔离(高阻态)把选中的与总线相接,未选中的与总线隔离(高阻态) n数据的缓冲与暂存 n缓解接口与缓解接口与CPU工作速度的差异工作速度的差异 n对外设进行监测、控制与管理,中断处理 n信号电平与类型的转换 n形式、格式、电平、功率、码制等形式、格式、电平、功率、码制等 n6.1.2 I/O接口的编址方式接口的编址方式 nI/O端口: I/O信息的三种类型:数据、命令、状态。传送 这三类信息的通道分别称为:数据端口(I、O)、 命令端口(O)、状态端口(I)。 n不同外设具有的端口数各

3、不相同,计算机中为每 一个端口都赋予一个惟一编号称为端口地址 (或端口号)。 n端口有两种编址方式:统一编址和独立编址。 n1. 统一编址统一编址 n把外设接口与内存统一 进行编址。各占据统一 地址空间的不同部分。 n优点 n指令统一,灵活; n访问控制信号统一,使用 同一组的地址/控制信号。 n缺点 n内存可用地址空间减小 0 地址空间(共1MB) 内存地址 (960KB) I/O地址 (64KB) FFFFFH EFFFFH F0000H n2. 独立编址独立编址 n外设地址空间和内存地址空间相互独立相互独立。 n优点:内存地址空间不受I/O编址的影响 n缺点:I/O指令功能较弱,使用不同

4、的读写控制 信号 00000H 内存地址空间 内存空间 (1MB) I/O空间 (64KB) FFFFH FFFFFH I/O地址空间 0000H n例如:例如:8088/8086系统系统 8 8 0 0 8 8 8 8 总 线 A19-A0 A9-A0 MEMR、MEMW IOR、IOW 、AEN 存储器访问存储器访问 I/O访问访问 n8088/8086 CPU的的I/O编址方式编址方式 n采用I/O独立编址方式(但地址线与存储器共用) n地址线上的地址信号用地址线上的地址信号用 来区分:来区分: n 时为时为I/O地址地址 nI/O操作只使用20根地址线中的16根: A15 A0 n可寻

5、址的I/O端口数为64K(65536)个 nI/O地址范围为0FFFFH nIBM PC只使用了只使用了1024个个I/O地址(03FFH) IO/M=1 IO/M n6.1.3 I/O端口地址的译码端口地址的译码 n 、 、 A15 A0 nOUT指令将使总线的 信号有效 nIN指令将使总线的 信号有效 n当接口只有一个端口时,16位地址线一般应全 部参与译码,译码输出直接选择该端口;当接口 具有多个端口时,则16位地址线的高位参与译 码(决定接口的基地址),而低位则用于确定要 访问哪一个端口。 例如:例如: 某外设接口有某外设接口有4个端口,地址为个端口,地址为2F0H 2F3H,则其基地

6、址为,则其基地址为2F0H,由,由A15A2译码得译码得 到,而到,而A1、A0用来确定用来确定4个端口中的某一个。个端口中的某一个。 IOR IOW IOW IOR n6.1.4 I/O数据的传送方式数据的传送方式 n并行 n一个数据单位(通常为字节)的各位同时传送 n速度快、距离短、成本高 n例:PC机的并行接口(通常用于连接打印机) n串行 n数据按位按位进行传送 n速度慢、距离远、成本低 n例: PC机的串行接口(通常用于串行通信) n6.2.1 接口电路的基本结构接口电路的基本结构 6.2 简单接口电路简单接口电路 数据线数据线 控制线控制线 状态线状态线 DB CB AB 数据输入

7、寄存器数据输入寄存器 (or 三态门)三态门) 数据输出寄存器数据输出寄存器 (锁存器)(锁存器) 状态寄存器状态寄存器 (or 三态门)三态门) 命令寄存器命令寄存器 译码译码 电路电路 控制控制 逻辑逻辑 接接 外外 设设 接接 主主 机机 n数据输入数据输入/输出寄存器输出寄存器暂存输入暂存输入/输出的输出的 数据数据 n命令寄存器命令寄存器存放控制命令,用来设定接存放控制命令,用来设定接 口功能、工作参数和工作方式。口功能、工作参数和工作方式。 n状态寄存器状态寄存器保存外设当前状态,以供保存外设当前状态,以供 CPU读取。读取。 简单接口电路简单接口电路 n数据输入接口数据输入接口

8、n必须具有三态输出能力,以便与总线挂接必须具有三态输出能力,以便与总线挂接 n外设有数据保持能力时可用三态门实现 n外设无数据保持能力时用三态输出的锁存器实 现 n数据输出接口数据输出接口 n常用锁存器实现 n三态门:高电平、低电平、三态门:高电平、低电平、高阻态高阻态 n通常一个器件中包含8个三态门 n常用芯片:74LS244(教材图6.3) n应用例子:开关接口 n工作波形图如下: A0A15 IOR# 译码输出 D0D7 开关状态开关状态 地址有效地址有效 简单的输入接口举例简单的输入接口举例 n接口电路图如下: 83FCH 83FFH 译码器 n锁存器:由锁存器:由D触发器构成触发器构

9、成 n通常一个器件包含8个D触发器 n常用芯片:(教材图6.5、图6.6) n74LS273 n74LS374(具有三态输出的锁存器,内部结构见图6.8) n应用例子:发光二极管接口 简单的输出接口举例简单的输出接口举例 译译 码码 器器 =1 =1 . . . . . . . . . +5V R D0 D7 CP Q0 Q7 . . . D0D7 A0A15 IOW# 74LS273 R 输入输入/输出接口综合应用例子输出接口综合应用例子 n根据开关状态在根据开关状态在7段数码管上显示数字或符号段数码管上显示数字或符号 n共阳极7段数码管结构见教材图6.10 n用74LS273作为输出接口,

10、把数据送到7段数码管 n74LS273的地址假设为F0H n用74LS244作为输入口,读入开关K0K3的状态 n74LS244的地址假设为F1H n当开关的状态分别为00001111时,在7段数码管上对 应显示0F n(7段码表见下页) 符号 形状 7段码 .gfedcba 符号形状 7段码 .gfedcba 0 8 1 9 2 A 3 B 4 C 5 D 6 E 7 F 微型计算机第六章微型计算机第六章 O1 I1 O2 I2 O3 I3 O4 I4 #E1 K0K3 +5V G G2A G2B C B A 11 74LS244 D0 Q0 | Q1 D7 Q2 Q3 Q4 CP Q5 Q

11、6 Q7 a b c d e f g DP 7406 8个个 反相器反相器 74LS273Rx8 11 74LS138 D0D7 IOW# IOR# Y0 Y1 F0H = 0000 0000 1111 0000 F1H = 0000 0000 1111 0001 & 1 A7A4 A15A8 A3 A2 A1 A0 D0 D1 D2 D3 译码电路译码电路 微型计算机第六章微型计算机第六章 相应程序段如下相应程序段如下: Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB7FH,67H,77H,7CH,39H,5EH,79H,71H LEABX, Seg7;取;

12、取7段码表基地址段码表基地址 MOVAH, 0 GO:MOVDX, 0F1H;开关接口的地址为;开关接口的地址为F1H INAL, DX;读入开关状态;读入开关状态 ANDAL, 0FH;保留低;保留低4位位 MOVSI, AX;作为;作为7段码表的表内位移量段码表的表内位移量 MOVAL, BX+SI ;取;取7段码段码 MOVDX, 0F0H;7段数码管接口的地址为段数码管接口的地址为F0H OUTDX, AL JMPGO 微型计算机第六章微型计算机第六章 6.3 输入输出的控制方式输入输出的控制方式 n主机与外设之间数据传送的控制方式有以下主机与外设之间数据传送的控制方式有以下 四种:四

13、种: n无条件传送 n查询式传送 n中断方式传送 n直接存储器存取(DMA, Direct Memory Access) 6.3.1 无条件传送方式无条件传送方式 n适用于总是处于准备好状态的外设适用于总是处于准备好状态的外设 n以下外设可采用无条件传送方式:以下外设可采用无条件传送方式: n开关 n发光器件(如发光二极管、7段数码管、灯泡等) n继电器 n步进电机 n优点:软件及接口硬件简单优点:软件及接口硬件简单 n缺点:只适用于简单外设,适应范围较窄缺点:只适用于简单外设,适应范围较窄 6.3.2 查询方式传送查询方式传送 n适用于外设并不总是准备好,而且对传送速适用于外设并不总是准备好

14、,而且对传送速 率、传送效率要求不高的场合。率、传送效率要求不高的场合。 nCPU在与外设交换数据前必须询问外设状在与外设交换数据前必须询问外设状 态态“你准备好没有?你准备好没有?” n对外设的要求:应提供设备状态信息对外设的要求:应提供设备状态信息 n对接口的要求:需要提供状态端口对接口的要求:需要提供状态端口 n优点:软件比较简单优点:软件比较简单 n缺点:缺点:CPU效率低,数据传送的实时性差,效率低,数据传送的实时性差, 速度较慢速度较慢 查询方式的流程图查询方式的流程图 超时超时? READY?READY? 与外设进与外设进 行数据交换行数据交换 超时错超时错 读入并测试外设状态读

15、入并测试外设状态 Y N Y N 传送完?传送完? 防止死循环防止死循环 复位计时器复位计时器 N Y 注:多个外设时,查注:多个外设时,查 询流程见教材图询流程见教材图6.156.15 例:用查询方式进行输出例:用查询方式进行输出 外设状态端口地址为外设状态端口地址为3FBH,第,第5位位(bit5)为状态标志为状态标志 (=1忙,忙,=0准备好)准备好) 外设数据端口地址为外设数据端口地址为3F8H,写入数据会使状态标志,写入数据会使状态标志 置置1 ;外设把数据读走后又把它置;外设把数据读走后又把它置0。 试画出其电路图。(电路图见下页)试画出其电路图。(电路图见下页) 微型计算机第六章

16、微型计算机第六章 D5 D7-D0 A9 | A3 1 & A15 | A10 1 IOW D7-D0 3F8H 外外 设设 D7 D6 D5 D4 D3 D2 D1 D0 BUSY CP Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 状态端口状态端口 G G2A G2B C B A A2 A1 A0 74LS138 Y0 1 IOR Y3 OE 74LS374 CP Q Q D S STROBE 3FBH 程序段?程序段? 微型计算机第六章微型计算机第六章 6.3.3 中断方式传送中断方式传送 nCPU无需循环查询外设状态,而是外部设备无需循环查询外设状态,而是外部设备 在需要进行数据传送

17、时才中断在需要进行数据传送时才中断CPU正在进行正在进行 的工作,让的工作,让CPU来为其服务。即来为其服务。即CPU在没有在没有 外设请求时可以去做更重要的事情,有请求外设请求时可以去做更重要的事情,有请求 时才去传输数据,从而大大提高了时才去传输数据,从而大大提高了CPU的利的利 用率。用率。 n优点:优点:CPU效率高,实时性好,速度快。效率高,实时性好,速度快。 n缺点:程序编制较为复杂。缺点:程序编制较为复杂。 6.4 中断技术中断技术 n6.4.1 中断的基本概念中断的基本概念 n什么是中断什么是中断? n与生活场景的比较与生活场景的比较 正在看书正在看书 电话铃响电话铃响 接电话

18、接电话 继续看书继续看书 执行程序执行程序 事件发生事件发生 事件处理事件处理 继续执行程序继续执行程序 中断处理中断处理 中断请求及响应中断请求及响应 实际场景实际场景计算机计算机 中断返回中断返回 中断的定义中断的定义 nCPU执行程序时,由于发生了某种随机执行程序时,由于发生了某种随机 的事件的事件(外部或内部外部或内部),引起,引起CPU暂时中暂时中 断正在运行的程序,转去执行一段特殊断正在运行的程序,转去执行一段特殊 的服务程序的服务程序(称为中断服务程序或中断处称为中断服务程序或中断处 理程序理程序),以处理该事件,该事件处理完,以处理该事件,该事件处理完 后又返回被中断的程序继续

19、执行,这一后又返回被中断的程序继续执行,这一 过程称为中断。过程称为中断。 中断源中断源 n引起引起CPU中断的事件中断的事件中断源。例如:中断源。例如: n外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等 n事件事件掉电、硬件故障、软件错误、非法操作、定时掉电、硬件故障、软件错误、非法操作、定时 时间到等时间到等 n中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断 n内部中断:内部中断:CPU内部执行程序时自身产生的中断内部执行程序时自身产生的中断 n外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断 n 8086/8088的外部中断信

20、号:的外部中断信号:INTR、NMI nINTR可屏蔽中断请求,高电平有效,受可屏蔽中断请求,高电平有效,受IF标志的控标志的控 制。制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。 nNMI非屏蔽中断请求,上升沿有效,任何时候非屏蔽中断请求,上升沿有效,任何时候CPU 都要响应此中断请求信号。都要响应此中断请求信号。 为何计算机中要引入中断?为何计算机中要引入中断? n提高数据传输率;提高数据传输率; n避免了避免了CPU不断检测外设状态的过程,提不断检测外设状态的过程,提 高了高了CPU的利用率。的利用率。 n实现对特殊事件的实时响应。如多任务系实现对

21、特殊事件的实时响应。如多任务系 统操作系统中:统操作系统中: n缺页中断 n设备中断 n各类异常 n实时钟,。等 中断过程中断过程 n五个步骤:五个步骤: n中断请求 n中断判优(有时还要进行中断源识别) n中断响应 n中断服务 n中断返回 以下以外部中断外部中断为主介绍这五个步骤。 1)中断请求)中断请求 n外设接口(中断源)发出中断请求信号,送外设接口(中断源)发出中断请求信号,送 到到CPU的的INTR或或NMI引脚;引脚; n中断请求信号:边沿请求,电平请求中断请求信号:边沿请求,电平请求 例如,例如,NMI为边沿请求,为边沿请求,INTR为电平请求为电平请求 n中断请求信号应保持到中

22、断被处理为止;中断请求信号应保持到中断被处理为止; nCPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。 n在在8086/8088系统中,外设的中断要经过系统中,外设的中断要经过 8259A可编程中断控制器可编程中断控制器(PIC)的排队判优的排队判优 后向后向CPU发出:发出: (I/O接口接口) PIC CPU n 1 2.1)中断源识别)中断源识别 n计算机中的中断源有很多,计算机中的中断源有很多,CPU必须识别是必须识别是 哪一个设备产生中断。识别中断源有两个方哪一个设备产生中断。识别中断源有两个方 法:法: n软件查询。将中断信号从数据总线读入,用程序软件

23、查询。将中断信号从数据总线读入,用程序 进行判别,如教材图进行判别,如教材图6.18和图和图6.19。 n中断矢量法。由中断源提供中断类型号,中断矢量法。由中断源提供中断类型号,CPU根根 据类型确定中断源。(据类型确定中断源。(8086/8088即采用此种即采用此种 方法)方法) 2.2)中断判优)中断判优 n多个中断源产生中断,多个中断源产生中断,CPU首先为谁服务?首先为谁服务? 中断优先级排队问题。中断优先级排队问题。 n中断优先级控制要处理两种情况:中断优先级控制要处理两种情况: n对同时产生的中断:应首先处理优先级别较高的中断;若优先级别 相同,则按先来先服务的原则处理; n对非同

24、时产生的中断:低优先级别的中断处理程序允许被高优先级 别的中断源所中断即允许中断嵌套。 n中断优先级的控制方法中断优先级的控制方法 n硬件判优硬件判优链式判优、并行判优(中断向量法)链式判优、并行判优(中断向量法) n软件判优软件判优顺序查询中断请求,先查询的先服务(即先查询的优顺序查询中断请求,先查询的先服务(即先查询的优 先级别高)先级别高) n通常将通常将中断判优中断判优与与中断源识别中断源识别合并在一起进行处理。合并在一起进行处理。 nx86系统中,这项任务由系统中,这项任务由PIC和和CPU共同完成。共同完成。 INTAin CPU INTA INTR 外设外设1 1外设外设2 2

25、外设接口外设接口1 1 菊花链菊花链 逻辑电路逻辑电路 外设接口外设接口2 2 外设外设3 3 外设接口外设接口3 3 11 菊花链菊花链 逻辑电路逻辑电路 菊花链菊花链 逻辑电路逻辑电路 IREQIREQIREQ 中断确认中断确认 链式判优电路原理图(教材图链式判优电路原理图(教材图6.20) INTAinINTAin 中断确认中断确认 中断确认中断确认 微型计算机第六章微型计算机第六章 菊花链逻辑电路菊花链逻辑电路 INTAin IREQ INTR & =1 1 INTAout DB 三态门 中 断 向 量 码 E 外设接口外设接口 中断确认中断确认 菊花链菊花链 逻辑电路逻辑电路 微型计

26、算机第六章微型计算机第六章 3)中断响应)中断响应 n在每条指令的最后一个时钟周期,在每条指令的最后一个时钟周期,CPU检测检测 INTR或或NMI信号。若以下条件成立,则信号。若以下条件成立,则CPU 响应中断:响应中断: n当前指令执行完。对INTR,还应满足以下条件 n当前指令是STI和和IRET,则下条指令也要执行完。 n当前指令带有LOCK、REP等指令前缀时,则把它们 看成一个整体,要求完整地执行完; n对INTR,CPU应处于开中断状态,即IF=1; n当前没有复位(RESET)和保持(HOLD)信号。 n若NMI和 INTR 同时发生,则首先响应NMI。 3)中断响应(续)中断

27、响应(续) nCPU中断响应时,要做下述三项工作:中断响应时,要做下述三项工作: n向中断源发出INTA中断响应信号; n断点保护,包括CS、IP和PSW(FLAGS)。这 主要是保证中断结束后能返回被中断的程序。 n获得中断服务程序首地址(入口)。 如何得到中断处理程序的首地址? n固定入口法 n中断向量法常用 4)中断处理(中断服务)中断处理(中断服务) n中断服务子程序特点中断服务子程序特点 n为”远”过程(类型为FAR) n要用IRET指令返回 n中断服务子程序要做的工作中断服务子程序要做的工作 n保护现场(PUSH regs) n开中断(STI) n进行中断处理 n恢复现场(POP

28、regs) n中断返回(IRET) 5)中断返回)中断返回 n执行中断返回指令执行中断返回指令IRET nIRET指令将使CPU把堆栈内保存的断点信息弹 出到IP、CS和FLAG中,保证被中断的程序从断 点处能够继续往下执行。 IPL IPH CSL CSH FLAGL FLAGH SP IPL IPH CSL CSH FLAGL FLAGH SP IP CS FLAG 进入中断服 务程序时 中断返回后 6.4.2 8088的中断系统的中断系统 n与中断有关的控制线为:与中断有关的控制线为:NMI、INTR、INTA# n8088系统的中断源系统的中断源 n内部中断 n除法溢出:类型号0,商大

29、于目的操作数所能表达的范围时产生。 n单步中断:类型号1,TF=1时产生(当前指令需执行完) n断点中断:类型号3,这是一个软件中断,即INT 3指令。 n溢出中断:类型号4,这是一个软件中断,即INTO指令。 n软件中断:即INT n指令,类型号n(0-255)。 n外部中断 n非屏蔽中断NMI:类型号2,不可用软件屏蔽,CPU必须响应它。 n可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。 NMI INTR 中断逻辑中断逻辑 软件中断指令软件中断指令 溢出中断溢出中断 除法错除法错 单步中断单步中断 非屏蔽中断请求非屏蔽中断请求 中断控中断控 制器制器 8259A PIC 8086/8088CPU8086/8088CPU内部逻辑内部逻辑 断点中断断点中断 8086/8088中断源类型中断源类型 可可 屏屏 蔽蔽 中中 断断 请请 求求 n 4 3 0 1 2 微型计算机第六章微型计算机第六章 中断源的识别中断源的识别 n8088系统采用中断类型码来识别不同的中断系统采用中断类型码来识别不同的中断 源,源,每个中断源都有一个与它相对应的中断每个中断源都有一个与它相对应的中断 类型码类型码 。 n溢出、断点、除法溢出、单步、非屏

温馨提示

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

评论

0/150

提交评论