计算机组成原理课件 第5章输入输出B

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章输入输出系统
5.1 概述
5.2 外部设备
5.3 I/O 接口
555.4 程序查询方式
56DMA 5.5 程序中断方式
5.6 DMA 方式
5.5 程序中断方式
55
一、中断的概念
中断:计算机执行程序过程中,若出现异常情况或者特殊请求,则计算机转向对异常情况或者特殊请求的处理,处理结束后再返回继续执行原程序。

中断提高了计算机的效率和效能。

中断提高了计算机的效率和效能
实现中断功能所需的软硬件技术统称为中断技术。

一、中断的概念
…中断
入口1
K 服
务K +1…程序
1
Q
中断入口2
Q +1…服
务程序2
二I/O 5.5
二、I/O 中断的产生
I/O设备与主机交换信息时,由于外设速度低于CPU,CPU启动设备后,需要等待一段时间
后才能交换信息,在外设做准备时,CPU继续
执行现行程序在外设准备就绪并提出中断请执行现行程序,在外设准备就绪并提出中断请
求之后,再暂时中断现行程序,转入I/O服务
程序这就产生了中断
程序,这就产生了I/O中断。

二、I/O 中断的产生 5.5
以打印机为例CPU 与打印机并行工作执行主程序继续执行主程序继续执行主程序
响中
响应中断中断返回应中断断


CPU 启动打印机传送数据传送
数据
发准备发打印打印
中断请求中断请求
打印机空闲接收数据接收
数据
5.5采用中断机制原因
•低速外设就绪后提出中断请求;
•应付突发事件的需要;
•实时控制中响应外来信号的需要;
•软件中断指令引起的中断
为了实现中断,计算机系统中必须配有相应的
为了实现中断计算机系统中必须配有相应的
中断系统或者中断机构。

为了处理I/O中断,在I/O接口电路中必须配置
相应的硬件电路,包括中断请求触发器、屏蔽
触发器、排队器、中断向量地址形成部件等。

三、程序中断方式的接口电路
程序中断方式接路
每台外设配置个中断请求触发器INTR,其值为1每台外设配置一个中断请求触发器INTR,其值为1时表示设备向CPU提出中断请求;只有设备就绪时才能提出中断请求,即完成触发器D状态为1。

中断源:能引起中断的各种因素。

在I/O接口中需要设计一个屏蔽触发器MASK,当其为1时,表示封锁中断源的请求。

CPU在每条指令执行的最后阶段,查询所有设备中是否有中断请求若此时)且
是否有中断请求,若此时设备就绪(D=1)且未被屏蔽(MASK=0),则中断查询信号将INTR置1。

三、程序中断方式的接口电路程序中断方式接路
1. 配置中断请求触发器和中断屏蔽触发器INTR 中断请求
中断请求触发器来自INTR D MASK
Q
1
INTR = 1 有请求MASK CPU 的
中断查询信号&
MASK 中断屏蔽触发器MASK = 1 被屏蔽D Q
受设备本身控制 D 完成触发器
2. 排队器
提出请求时
•多个中断源同时向CPU提出请求时,CPU 按照中断源的不同性质对其排队,赋予不同的优先级,按照优先级高低予以响应;•对于I/O设备来说,为防止信息丢失,速度高的设备中断优先级也高。

高的设备中断优先级也高
•处理设备优先权可以采用硬件方法或者软件方法。

可以在CPU中设置一个统一的硬件排队器对所有中断源进行排队(后续内容);本章介绍如何在接口电路内分别设置各个设备的排队器。

5.5 2. 排队器
下图为链式排队器的关键部分,每个接口内有一
个反相器和个与非门各接口电路之间链条式
个反相器和一个与非门,各接口电路之间链条式
串接。

INTP1´INTP
2´INTP
3
´INTP
4
´
1& 1& 1& 1&
INTR INTR INTR INTR234 1
设备1#、2#、3#、4#优先级按降序排列
INTR i= 1 有请求即INTR i= 0
排队器工作原理
•当各中断源都没有提出中断请求时,各个中间输
出端都是高电平,中间输出为选通信号;'
i INTP •若某个中断源提出中断请求,就迫使比其优先级
低的中断源的变为低电平;
'
i INTP •中间输出和后续电路一起工作,使得无论哪个(或多个)中断源提出中断请求,排队器的总输出端只有一个是高电平,这个就是最高优先i INTP 级的中断请求信号。

´´´´INTP
INTP2INTP3INTP4 1
1&
1& 1& 1&
INTR2INTR3INTR4 INTR1
设备1#、2#、3#、4#优先级按降序排列
INTR i= 1 有请求即INTR i= 0
1INTP 11INTP 3
1
INTP 4
1INTP 2
&
&
&
INTR 3
INTR 4
INTR 1
INTR 2
&
INTP 1´INTP 2´INTP 3´
INTP 4´
1
&
1
& 1&
1
&
INTR 3INTR 4
INTR 2INTR 1
33. 中断向量地址形成部件
•响应I/O中断后,要暂停现行程序,转去执行CPU中断后要暂停现行程序转去执行设备的中断服务程序,首先要找到该设备服务程序的入口地址;
的入口地址
•入口地址寻找方法包括硬件法和软件法。

硬件向量法过向地找备中务序地法就是通过向量地址寻找设备中断服务程序入口地址,而向量地址由硬件电路产生;
•中断向量地址形成部件的输入是排队器的输出,其输出是二进制代码表示的中断向量。

一个中断源对应一个向量地址,因此该部件是一个编码器。

•通过向量地址,可以找到中断服务程序入口地址。

3. 中断向量地址形成部件
5.5
入口地址
由软件产生详见第八章
硬件向量法
由硬件产生向量地址
再由向量地址找到入口地址
向量地址JMP

主存
000100101

JMP 300JMP 20012H
13H 向量地址
中断向量地址设备编码器
JMP 400

14H 形成部件
…打印机服务程序…200入口地址1 0 0 0
…0 1 0 0…排队器输出
显示器服务程序

300
入口地址
4. 程序中断方式接口电路的基本组成
5.5
设备编码器至低一级向量地址中断响应排队器
来自高一级低级的排队器INTA 中断请求
Q Q
D
INTR
Q
MASK
来自高级的排队器
&
1中断查询
D
Q
启动命令
启动设备
B
Q
命令译码
&
SEL
设备工作结束设备选择电路
DBR
数据线
地址线输入数据
四、I/O 中断处理过程 5.5
1. CPU 响应中断的条件和时间
(1) 条件
EINT=1
CPU中的允许中断触发器EINT = 1
用开中断指令将EINT 置“1”
用关中断指令将EINT 置“0”或硬件自动复

(2) 时间
当D 1(随机)且MASK 0时
D=MASK=
在每条指令执行阶段的结束前
CPU 发中断查询信号(将INTR 置“1”)
2. I/O 中断处理过程
以输入为例
5.5
设备编码器至低一级向量地址中断响应⑦⑧
排队器
来自高级低级的排队器INTA 中断请求

Q Q
D
INTR
Q
MASK
来自高一级的排队器
&
1
中断查询


D
Q
&
启动命令
启动设备
B
Q
命令译码


100
1地址线SEL
设备工作
结束
设备选择电路
数据线
输入数据
③DBR
五、中断服务程序流程
5.5
1. 中断服务程序的流程
(1)(1)
保护现场中断隐指令完成
程序断点的保护(2) 中断服务
I/O 进栈指令
寄存器内容的保护(3) 恢复现场(4)对不同的I/O 设备具有不同内容的设备服务
出栈指令(4)
中断返回中断返回指令
22. 单重中断和多重中断
•计算机处理中断过程中,有可能出现新的中断请求,若CPU暂停执行现行中断服务程序,转去处理新的中断请求,称为多重中断或中断嵌套;若对新中断不予理睬,则为单重中断;
•只有优先级更高的新中断才能中断当前中断服务程序,且只有在EINT=1时才可以。

•CPU响应中断后,硬件自动关中断,及EINT=0,响应中断后硬件自动关中断及
若以后不用开中断指令把EINT置1,则CPU不能响应其他中断源的请求。

响应其他中断源的请求
•单重中断和多重中断在中断服务程序流程方面存在区别:开中断的时间不同。

在区别开中断的时间不同
3. 单重中断和多重中断的服务程序流程
5.5
取指令取指令单重
多重
中断否?
执行指令否
执行指令中断否?

中断响应
中是
中断中
断中断响应
中是
程序断点进栈关中断向量地址PC
断周期隐指令
隐指令
程序断点进栈关中断向量地址PC
断周期保护现场设备服务中断保护现场开中断中断恢复现场服务程
设备服务服务程
中断返回
序中断返回
恢复现场开中断

CPU 5.5主程序和服务程序抢占示意图
主程序继续执行主程序继续执行主程序CPU
启动外设服务程序
(传送数据)
服务程序(传送数据)
准备工作准备工作准备工作I/O
传送数据传送数据
发中断请求发中断请求
宏观CPU I/O
上CPU 和I/O 并行工作
微观上CPU 中断现行程序为I/O 服务
程序中断接口芯片8259A 的内部结构
5.5
INT
INTA
内部总线
内部总线
控制逻辑
~D 缓冲器
D 7D 0
IR 读/ 写逻辑
优先权判别器
中断服务中断请求RD WR 0IR 1IR 2IR 3( PR )
寄存器(ISR)
寄存器(IRR)
A 0CS CAS IR 4IR 5IR 6级联缓冲器/比较器
中断屏蔽寄存器0CAS 1CAS 2IR 7
(IMR )
SP/EN
56DMA
5.6 DMA 方式
一、DMA
、DMA 方式的特点
1. DMA 和程序中断两种方式的数据通路
中断方式数据传送通路
输入指令
中断接口
CPU


ACC
DMA
I/O


DMA 接口
输出指令
DMA方式数据传送通路
•DMA接口和主存之间存在直接数据通路,主存和设备交换信息不需要CPU暂停执行原程序为设备服务,速度比中断方式高;
•DMA上述特点使得它适合高速I/O设备或辅存与主存之间频繁、批量交换信息;
•由于DMA接口和CPU共享主存,在两者竞争使用主存时,采取以下三种分时访问策略:
主存时采取以下三种分时访问策略
2. DMA 与主存交换数据的三种方式
5.6
(1) 停止CPU 访问主存
控制简单,适用于高速设备成组数据的传输
访存时CPU DMA 访存时,CPU 处于不工作状态或保持状态未充分发挥CPU 对主存的利用率
主存工作时间t
CPU 不执行程序
CPU 控制并使用主存DMA 不工作
DMA 不工作
DMA 控制DMA 工作
并使用主存
(2) 周期挪用(或周期窃取) 5.6
DMA 访问主存有三种可能
•CPU 此时不访存
•CPU 正在访存
•CPU 与DMA 同时请求访存
此时CPU 将总线控制权让给DMA若干存取周期
主存工作时间CPU t
控制并使用主存DMA控制并使用主存
(3)DMA CPU 5.6 (3) DMA 与CPU 交替访问
CPU 工作周期C1 专供DMA 访存
作周期
C2 专供CPU 访存
所有指令执行过程中的一个基准时间
主存工作时间t 所有指令执行过程中的个基准时间
DMA控制
并使用主存
CPU控制
并使用主存
不需要申请建立和归还总线的使用权
二、DMA 接口的功能和组成
5.6
1. DMA 接口功能
(1) 向CPU 申请DMA 传送(2) 处理总线控制权的转交管系统总线(3) 管理系统总线、控制数据传送(4)(4)
确定数据传送的首地址和长度(5) DMA 传送结束时,给出操作完成信号
修正传送过程中的数据地址和长度()
2. DMA 接口组成 5.6
中HLDA HRQ断

求数

线


线
DMA

AR+1溢出信号

CPU 控




WC+1

辑构
DAR
DMA接口
BR
设备
DREQ
DACK
三、DMA 的工作过程 5.6
1. DMA 数据传送过程
预处理、数据传送、后处理
(1)
(1) 预处理
输输令接预
CPU用几条输入输出指令为接口预置信息:•通知DMA 控制逻辑传送方向(入/出)
•设备地址DMA 的DAR
•主存地址DMA 的AR
•传送字数DMA 的WC
DMA
(2) DMA 传送过程示意
数据传送
5.6
预处理:
CPU
DMA 请求否
主存起始地址设备地址传送数据个数DMA DMA DMA 允许传送?

启动设备
数据传送主存地址送总线
数据送I/O 设备(或主存):
继续执行主程序
同时完成一批数据传送修改主存地址修改字计数器
后处理:
数据块否
中断服务程序做DMA 结束处理传送结束?

继续执行主程序
向CPU 申请程序中断
HRQ HLDA
地址
线数
据线中
断请
DMA
AR
+1③

⑤⑦
求控制中断WC 主
CPU
+1
溢出信号
逻辑
机构
DAR 存
DMA 接口BR
设备
DREQ
②DACK
⑥①
HRQ HLDA
地址
线数
据线中
断请
DMA
+1③

⑤⑦
求AR
控制中断主
CPU
+1
溢出信号
WC 逻辑
机构
DAR

DMA 接口BR
设备
DREQ
②DACK
⑥①
(5) 后处理
(5)
校存数确
1. 校验送入主存的数是否正确
2. 是否继续用DMA 传送其他数据块
3. 测试传送过程是否正确,错则转诊断程序
后处理由DMA中断服务程序完成
2DMA
2. DMA 接口与系统的连接方式
(1)DMA
(1) 具有公共请求线的DMA 请求
I/O总线
数据线
地址线
DMA DMA DMA
DMA请求
接口1接口2接口n CPU…
主存
DMA响应
(2)DMA
(2) 独立的DMA 请求
数据线DMA请求3
I/O总线地址线
DMA请求2
DMA响应3
CPU
DMA请求1
DMA响应2
DMA响应1
DMA 接口1DMA
接口2
DMA
接口3
主存
3.DMA 3. DMA
方式与程序中断方式的比较DMA (1)中断方式
DMA 方式(1)
数据传送(2)程序
硬件
(2)
响应时间(3)指令执行结束存取周期结束(3)
处理异常情况(4) 中断请求能不能传送数据后处理()(5) ()优先级


DMA 四、DMA 接口的类型
1. 选择型
在物理上连接多个设备
个在逻辑上只允许连接一个设备
系统总线
DMA 接口
设备1主存地址寄存器
字计数器设备2数据缓冲寄存器CPU
主存
选. . .设备地址寄存器控制状态寄存器择线
时序电路
设备n
•选择型DMA接口的特点是,在一段时间内,择接特点是在段内DMA接口只为一个设备服务,关键是在预处理时将所选设备的设备号送入设备地址寄存器;
•选择型DMA接口适用于数据传输率很高的设备。

2.在 5.62.
多路型物理上连接多个设备
在逻辑上允许连接多个设备同时工作
链式
设备设备设备
DMA CPU
主存
…接口

…独立请求式
设备设备
设备
DMA 接口CPU
主存…接
•在多路型DMA接口中,为每个与接口相连在接中每个接连的设备都设置了套寄存器分别存放各的设备都设置了一套寄存器,分别存放各自的传送参数;
•这类接口适用于速度较低的设备。

这类接口适用于速度较低的设备
3. DMA 接口的工作原理 5.6
多路型接的作原理
DMA 请求
DMA 请求DMA 请求
DMA 请求
DMA DMA DMA 30 μs 磁盘
t
DMA
请求DMA
请求DMA
请求45 μs
磁带
t
DMA 请求
打印机
t
为打印
机服务T 1
5 μs
T 4
T 6
T 7
T 2
为磁盘服务T 5
T 8
T 3
为磁带服务
作业
课本第212页第2,3,13,16,26题。

本第第
Thank you Thank you。

相关文档
最新文档