第五节 主机和外部设备的信息交换
3.5.1 主机和外设的连接方式
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
并行能力提高
3.5.2 信息传送控制方式
1.直接程序传送方式用 I/O指令编程实现信息传送。
(程序查询)
( 1)外设状态空闲 工作结束启动完成一次工作调用完再请求
00 01
10
空闲,调用前,
设备不工作;
结束,调用后,
设备完成工作。
在接口中设置 状态字 表示这些状态。
( 2)查询流程启动外设外设工作完成? N
Y
入 /出操作
( 3)优缺点硬件开销小; 实时处理能力差,并行程度低。
( 4)应用场合对 CPU效率要求不高的场合,或诊断,调试过程。
2.中断方式查询:
( 1)中断的引入程序并行操作主机外设 空闲启动 等待工作程序交换数据中断:
主机 程序外设 空闲启动工作程序请求 中断程序交换数据程序
( 2)中断定义开中断一条指令结束时有中断请求?
N
Y
继续原程序
( 3)中断流程
CPU内设置允许中断标志
CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。
=1 允许响应中断
(开中断)
=0 不允许响应中断
(关中断)
启动外设执行中断服务程序继续原程序响应返回
CLI ;
请求关中断,初始化启动; 启动设备响应返回例,PC系列机允许中断位
IF= 0 关中断1 开中断 STI ; 开中断
( 4)程序组织
( 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
响应主程序 实现初始化。
三个阶段:
程序准备:
DMA传送:
善后处理:
( 4)应用场合用于高速、简单、批量数据 传送。
硬件 实现 M I/O。
中断处理程序 判断传送的正误。
DMA与中断的相同点:
能响应随机请求;可并行操作。
DMA与中断的不同点:
中断:用程序实现中、低速 I/O传送;能处理复杂一条指令结束时响应请求。事态;
DMA,用硬件实现高速、简单 I/O传送;一个总线周期结束时响应请求。
程序切换总线权切换