第三节 主机和外部设备的信息交换
主机和外设的连接方式
1.辐射式
主机
I/O I/O I/O
早期:不易扩展
主机
接口 接口
I/O I/O I/O
现在:便于扩展
2.总线式
主机 接口 接口
I/O
I/O I/O
便于扩展
总线
3.通道式 主机
通道 通道
I/O I/O I/O
并行能力
提高
信息传送控制方式
1.直接程序传送方式
用I/O指令编程实现信息传送。
(程序查询)
(1)外设状态
空闲 工作
结束
启动
完成一次
工作
调用完
再请求
00 01
10
空闲:调用前,
设备不工作;
结束:调用后,
设备完成工作。
在接口中设
置状态字表
示这些状态。
(2)查询流程
启动外设
外设工作完成? N
Y
入/出操作
(3)优缺点
硬件开销小;实时处理能力差,并行程度低。
(4)应用场合
对CPU效率要求不高的场合,或诊断、调试过程。
2.中断方式
查询:
(1)中断的引入
程序
并行操作
主机
外设 空闲
启动
等待
工作
程序
交换数据
中断:
主机
程序
外设 空闲
启动
工作
程序
请求
中断程序
交换数据
程序
(2)中断定义
开中断
一条指令结束
时有中断请求?
N
Y
继续原程序
(3)中断流程
CPU内设置允许中断标志
CPU暂时中止现行程序的执行,转去执行为某
个随机事态服务的中断处理程序。处理完毕
后自动恢复原程序的执行。
=1 允许响应中断
(开中断)
=0 不允许响应中断
(关中断)
启动外设
执行中断
服务程序
继续原程序
响应
返回
(4)程序安排
例-100系列机
允许中断触发器
INT=
0 关中断
1 开中断
NIOS CPU ;
请求
开中断
NIOS 设备码; 启动设备
响应
返回
CLI ;
请求
关中断,初始化
启动; 启动设备
响应
返回
例系列机
允许中断位
IF=
0 关中断
1 开中断
STI ;开中断
(5)硬件设置
响应
逻辑
CPU禁止/允许设备请求
设备工作完成
(6)应用场合
用于中、低速I/O操作或处理复杂随机事态。
判优
逻辑
请求
逻辑
屏蔽
逻辑
非屏蔽
CPU送屏蔽字(动态改变设备优先级)
设备提出请求判别设备优先级
CPU响应请求,并转相
应服务程序入口
CPU 接口
注意区分CPU对请求的屏蔽和对请求的响应。
送屏蔽字 开/关中断
3.直接存储器存取(DMA)方式
(1)定义
DMA控制器接
直接依靠硬件实现主存与I/O间的数据传送,
传送期间不需CPU程序干预。
1)I/O与主存,而不是I/O与CPU或I/O与主机。
2)早期由CPU控制传送;
现在由DMA控制器控制传送,
管总线权,传送完毕再交还总线权。
3)传送期间只要CPU不访存,可并行操作。
4)传送前和传送后需要程序干预。
(2)硬件设置
操作类型
地址计数
控制传送方向
DMA控制器 接口
提供主存地址
交换量计数
控制传送次数
请求DMA
中断
数据缓冲
传递请求
暂存交换数据
外设寻址
提供外设地址
初
始
化
信
息
(3)DMA流程
启动外设
一个总线周期结
束时有DMA请求?
N
Y
继续程序
传送操作类型、主存首址、
交换量、外设寻址信息
一次DMA传送
地址+1
交换量-1
一条指令结束
时有中断请求?
中断处理
Y
交换量=0
?
N
Y
申请中断
N
Na
a
成组方式
单字方式
b
b
c
c
响应
a
主程序实现初始化。
三个阶段:
程序准备:
DMA传送:
善后处理:
(4)应用场合
用于高速、简单、批量数据传送。
硬件实现M I/O。
中断处理程序判断传送的正误。
DMA与中断的相同点:
能响应随机请求;可并行操作。
DMA与中断的不同点:
中断:用程序实现中、低速I/O传送;能处理复杂
一条指令结束时响应请求。事态;
DMA:用硬件实现高速、简单I/O传送;一个总线
周期结束时响应请求。
程序切换
总线权切换