第八章输入输出系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.3.2 DMA传送方式
DMA控制器与CPU分时使用内存用以下三方法: (1)停止CPU访问内存;
(2)周期挪用;
(3)DMA与CPU交替访内。
(1)停止CPU访问内存 图8.11(a)是这种传送方式的时间图。
优点:
控制简单。
缺点:
在DMA控制器访内阶段,内存的效能没有充分发挥。
(2)周期挪用 图8.11(b)是周期挪用的DMA方式示意图。 (3)DMA与CPU交替访内 图8.11(C)是其原理示意图。
图8.13 DMA传送数据的流程图
DMA 请求 DMA 响应 发送内存地址 传送一个数据 N 内存地址加 1
结束?
Y DMA结束
8.3.4 选择型和多路型DMA控制器
1.选择型DMA控制器 (1)选择型DMA控制器工作原理与前面的简单 DMA控制器基本相同。除了前面讲到的基本逻辑部 件外,还有一个设备号寄存器。 (2)数据传送是以数据块为单位进行的。 (3)它特别适合数据传送率很高以至接近内存 存取速度的设备。
保存CPU现场 设备服务 恢复CPU现场 开中断,即“中断屏蔽”复位
8.2.2
程序中断方ຫໍສະໝຸດ Baidu的基本接口
程序中断方式的基本接口示意图如图8.4所示。 1.工作标志器触发器 BS 2.就绪标志触发器 RD 3.允许中断触发器 EI.
在CPU方面,有决定是否受理中断请求的机构, 主要是: “中断请求” 标志 IR 触发器 “中断屏蔽” 标志 IM 触发器.
2.多级中断源的识别
在多级中断中,每一级均有一根中断请求线送 往cpu的中断优先级排队电路,对每一级蕴予了 不同的优先级。显然这种结构就是独立请求方式 的逻辑结构。
图8.8示出了独立请求方式的中断优先级排队与 中断向量产生的逻辑的结构。
向量地址
编
码
器
IR1
IR2
IR3
IR4
排 队 器
IR1 IR2 IR3 IR4
第八章 输入输出系统 p272
外围设备的定时方式与信息交换方式
程序中断方式
DMA方式
通道方式
通用I/O标准接口
8.1 外围设备的定时方式与信息交换方式
8.1.1 外围设备的定时方式 外围设备的种类相当繁多, 有机械式和电动式,也有电子式和其他形式。 输入信号,可以是数字的电压, 也可以是模拟式的电压和电流。
外围设备的输入/输出方式 图8.1 所示。
I/O 控 制 方 式
主要由软件实现
主要由硬件实现
程序查 询方式
程序中 段方式
D M A 方式
通道 方式
P P U 方式
8.2 程序中断方式
8.2.1 中断的基本概念
程序中断概念
1.外部设备发出请求中断 2. 响应中断,暂停运行主程序 3. 转移到中断服务程序 4. 结束中断服务程序,cpu回到原来的主程序。 图8.2示出了中断处理示意图。 图8.3示出了中断处理过程的详细流程图。
解:参阅中断处理流程8。3,并假设执行一条指令的时间 也为 tm.如果三个设备同时发出中断请求,那么依次分 别处理设备a,设备b,设备c的时间如下: Ta=2Tm+Tdc+Ts+Ta+Tr Tb=2Tm+Tdc+Ts+ Tb+Tr Tc=2Tm+Tdc+Ts+Tc+Tr 处理三个设备所需的总时间为 T=Ta+Tb+Tc, T是达到中断饱和的最小时间,即中断极限频率为 f =1/T
图8.2 中断处理示意图
主程序
A中断服务子程序
→→ → → →→→
B中断服务子程序 C中断服务子程序
A请求中断
B请求中断
C请求中断
图8.3 中断处理过程详细流程图
取指令 执行指令 否
中断? 是 响应中断 中 断 周 期
关中断,即“中断屏蔽”置位 找出中断源,并保存(PC)
转移到中断 服务子程序
中 断 服 务 子 程 序
(1)cpu “中断批准” 机构在响应一个新的中断之前,先要 让被中断的程序的一条指令一定要执行完毕; (2)tdc为查询链中每个的延迟时间; (3)ta,tb,tc分别为设备a,b,c的服务程序所需的执行时间; (4)ts,tr为保存现场和恢复现场所需的时间;
(5)主存工作周期为TM。 试问:就这个中断请求环境来说,系统在什么情况下达到 中断饱和?
图8.14是选择型DMA控制器的逻辑框图。
图8.14选择型DMA控制器
系统总线
内 存
CPU
字计数器 内存地址
图8.8 独立 请求方式的 优先级排队 逻辑
1 1 01 2 01 3 01 4 0 1 1 01 2 01 3 01 4 0
中断请求寄存器
中断屏蔽寄存器
例1 参见图8.7所示的二维中断系统。请问:
(1)在中断情况下,cpu和设备的优先级如何考虑?请按降序 排列各设备的 中断优先级 。 (2)若cpu现执行设备b的 中断服务程序,im2,im1,im3的状态 时 什么?如果cpu执行设备d的中断服务程序, im2,im1,im0的状态有什么? (3)每一级的 IM能否对每一个优先级的个别设备单独进行 屏蔽?如果不能,采取什么办法可达到目的? (4)假如设备c-提出中断请求,cpu立即进行响应,如何调整 才能满足此要求?
图8.5
单级中断
数据线 中断 地址线
主程序单级中断 服务程序
0
S
IM
1
0 1
IR
IR
CPU
中断接口 0 IN TA
中断接口 中断接口 1 n
(a)单级中断示意图
(b)单级中断结构图
2 单级中断源的识别 中断处理首先要解决的问题: 如何确定中断,并转入被响应的中断服务程序 入口地址.
图中下面的虚线部分是一个串行的优先链, 称作中断优先级排队链。
解:(1)中断情况下,cpu 的优先级最低。各设备的优先 次序是:a-b-c-d-e-f-g-I-cpu. (2)执行设备b的中断程序时im2im1im0=111;执行设 备d的中断服务程序时,im2im1im0=011.
(3)每一级的IM标志不能对某个优先级的个别设备进 行单独屏蔽。可将接口中的EI标志清“0”,它禁止 设备发出中断请求. (4)要使设备c的中断请求及时得到响应,可将设备c从 第2级取出来,单独放在底3级上,使第3级的优先级 最高,即令im3=0即可。 例二 参见图8.7所示的系统,只考虑a,b,c三个设备组成 的单级中断结构,它要求 cpu在执行完当前指令时对 中断请求进行服务。假设
图8.11 DMA的基本方法
内存工作时间 CPU控制 并使用内存 DMA控制 并使用内存 DMA不工作
t
CPU不执行程序
DMA工作 (a)停止CPU 访问内存
DMA不工作
内存工作时间 CPU控制 并使用内存 DMA控制 并使用内存 内存工作时间 DMA控制 并使用内存 CPU控制 并使用内存 (c)DMA与CPU交替访问 (b)周期挪用
DMA控制器以中断方式向CPU报告传送操作的结束.
DMA方式的主要优点是速度快。 DMA方式能满足高速I/O设备的要求, 有利于CPU效率的发挥。 DMA方式在计算机中被广泛采用。
DMA的种类很多,但多种DMA至少能执行以下一些基 本操作: (1)从外围设备发出DMA请求; (2)CPU响应请求,把CPU工作改成DMA操作方式,DMA 控制器从CPU接管总线的控制; (3)由DMA控制器对内存寻址,决定数据传送的内存 单元地址及数据传送个数的计数,并执行数据传 送的操作; (4)向CPU报告DMA操作的结束。
t
t
8.3.3 基本的DMA控制器
1.DMA控制器的基本组成
(1)内存地址计数器 (2)字计数器 (3)数据缓冲寄存器 (4)“DMA请求”标志 (5)“控制/状态”逻辑 (6)中断机构
图8.12 简单的DMA控制器组成
系统总线
中断请求
溢出信号
中断机构
数据线
地址线
+1
内存地址 计数器
HOLD
内存
8.2.5
中断控制器
8259中断控制器是一个集成电路芯片, 它将中断接口与优先级判断等功能汇集于一身, 常用于微型机系统。 内部结构如图8.9所示。 8259的中断优先级选择方式有四种: (1)完全嵌套方式 (2)轮换优先级方式A (3)轮换优先级方式B (4)查询方式 8259提供了两种屏蔽方式: (1)简单屏蔽方式 (2)特殊屏蔽方式 8259中断控制器的不同方式是通过编程来实现的。 Cpu送出一系列的初始化控制字和操作控制字来执行选定的操作。
CPU
控制/状态逻辑
HLDA
字计数器 +1
设备选择
DMA响应 DMA请求
DMA请 求标志
数据缓冲寄内器
一字传送 结束信号 数据
设备
2.DMA数据传送过程
DMA的数据块传送过程可分为三个阶段: (1)传送前预处理; (2)正式传送; (3)传送后处理 DMA的数据传送以数据块为基本单位进行的。 DMA控制器与系统连接的两种方式: (1)公用的DMA请求方式 (2)独立的DMA请求方式
图 8 .6 串行 排队 链判 优识 别逻 辑及 中断 向量 的产 生
001010
001011
001000
数 据 总 线
编码器
中断识别
IN TA
7 IR 1 IS 1
8 IR 2 IS 2
9 IR 3 IS 3
中断请求
IN T I
中断选中
2 3
中断输入
1 IR 1
IN T O
4 IR 2 5 IR 3 6
图8.4
CPU
程序中断方式基本接口示意图
S
1 10
0
接口
2
0
设备
控制 中断
C
BS
1
动作开始
EI
1
0
RD
1
4
动作结束
0
I M
1
0
I R
1
5
I R 请求
6
公共寄存器
9 8 8
数据缓冲寄存器
3
传送数据
PC
I R I N TA
中断向量逻辑
设备选择
7
8.2.3 单级中断 P278
1 单级中断的概念 计算机系统对中断处理的策略不同, 可分为单级中断系统和多级中断。 图8.5(a)单级中断示意图 图8.5(b)单级中断系统结构图.
2.中断服务程序进入过程
中断服务程序的入口地址信息存于中断向量号检索表内。 实模式为中断向量表IVT,保护模式为中断描述符表IDT.
CPU识别中断类型取得中断向量号的途径有三种:
(1)指令给出,软件中断指令INTR中的n即为中断向量号。 (2)外部提供:可屏蔽中断是在CPU接收到INTR信号时产 生一个中断识别周期,接收外部中断控制器由数据总 线送来的中断向量号;非屏蔽中断是在接收到NMI信号 时中断向量号固定为2. (3)CPU识别错误,故障现象,根据异常和中断产生的条 件自动指定向量号.
中断输出
3.中断向量的产生 开关理论中把若干个布尔量排成的序列定义为 布尔向量,由于存储器的地址码是一串布尔量的 序列,常常把地址码称为向量地址。 图8.6中上面部分即为中断向量产生逻辑, 它是由编码电路实现的.
8.2.4
多级中断
1.多级中断的概念 多级中断系统是指计算机系统中有相当多的中断 源,根据各中断事件的轻重缓急程度不同而分成 级别,每一中断分配给一个优先权。 图8.7(a)所示,三级中断优先权高于二级, 二级中断优先权又高于一级。 图8.7(b)所示。根据系统的配置不同,多级中断 又可分为一维多级中断和二维多级中断,
由于输入/输出设备本身的速度差异很大, 对于不同的速度外围设备,要有不同的定时的方式, cpu与外围设备之间的定时,有以下三种情况。
1.速度极慢或简单的外围设备
2.慢速或中速的外围设备 3.高速外设设备
8.1.2 信息交换方式 p273 (1)程序查询方式 (2)程序中断方式 (3)直接内存访问(DMA)方式 (4)通道方式 (5)外设处理机方式
实模式下使用中断向量表 保护模式下使用中断描述符表 中断处理过程 P284
Pentium有256种中断
每种有一个编号0---255 中断优先级为 5 级
中断处理过程:p286
8.3 DMA方式
8.3.1 DMA的基本概念
直接内存访问(DMA),是一种完全由硬件执行I/O交换 的工作方式。
DMA方式一般用于高速传送成组数据。
可编程中断控制器8259A逻辑结构图
控制逻辑 D7~D0 数据 总线 缓冲器 读 /写 控制 逻辑
IS
-INTA INT
RD WR A0 CS CAS0 CSA1 CAS2 SP/EN
IR0
IR7
IR
级联 缓冲器 比较器
中断屏蔽寄存器IM
8.2.6
1.中断类型
奔腾中断机制
Pentium有两类中断源,即中断和异常。 中断 通常称为外部中断,由cpu的外部硬件信 号引发的。 两种中断: (1)可屏蔽中断 (2)非可屏蔽中断 异常 通常称为异常中断,由指令执行引发. 两种情况: (1)执行异常 (2)执行软件中断指令