计算机组织与结构 (23)
DMA 与中断的比较 CPU 主 存 ACC 中断接口 DMA 接口 I/O 设 备 中断方式数据传送通路 输入 输出 DMA 方式数据传送通路 DMA 接口的组成 DMA 接口 主 存 CPU DMA 控 制 逻 辑 中 断 机 构 设备 HLDA AR WC DAR HRQ 中 断 请 求 数 据 线 地 址 线 +1 +1 溢出信号 DREQ DACK BR DMA 的工作过程 1.预处理: CPU 参与 2.数据传送: CPU 不参与,由 DMA 控制 器完成 3.后处理:中断形式, CPU 参与 DMA 传送示意 预处理: 传输方向送 DMA 主存起始地址 设备地址 传送数据个数 启动设备 DMA DMA DMA 数据传送: 继续执行主程序 同时完成一批数据传送 后处理: 中断服务程序 做 DMA 结束处理 继续执行主程序 CPU 允许传送? 主存地址送总线 从设备读取数据,送主存 修改 主存地址和设备地址 修改 字计数器 数据块 传送结束? 向 CPU 申请 程序中断 DMA 请求 否 否 是 是 数据传送 (以输入为例) 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 ①① 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 ①① BR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② ①① BR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ ①① BR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ ①① BR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ 地 址 线⑤ ①① BR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ 地 址 线⑤ DACK ⑥⑥ ①① BR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ 地 址 线⑤ DACK ⑥⑥ ①① BRBR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ 地 址 线⑤ DACK ⑥⑥ ①① 数 据 线⑦ BRBR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ 地 址 线⑤ DACK ⑥⑥ ①① 数 据 线⑦ AR WC +1 +1 BRBR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ 地 址 线⑤ DACK ⑥⑥ ①① 数 据 线⑦ 溢出信号 AR WC +1 +1 BRBR 数据传送过程(输入) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ ②② HRQ ③ HLDA ④ 地 址 线⑤ DACK ⑥⑥ ①① 数 据 线⑦ 溢出信号 中 断 请 求 AR WC +1 +1 BRBR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 ①① BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② ①① BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ ①① BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ HLDA ④ ①① BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ HLDA ④ 地 址 线 ⑤ ①① BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ HLDA ④ 地 址 线 ⑤ DACK ⑥⑥ ①① BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ HLDA ④ 地 址 线 ⑤ DACK ⑥⑥ ①① 数 据 线 ⑦ BR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ HLDA ④ 地 址 线 ⑤ DACK ⑥⑥ ①① BRBR 数 据 线 ⑦ 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ HLDA ④ 地 址 线 ⑤ DACK ⑥⑥ ①① 数 据 线 ⑦ AR WC +1 +1 BRBR 数据传送过程(输出) BR 设备 DMA 控 制 逻 辑 中 断 机 构 AR WC DAR DMA 接口 主 存 CPU +1 +1 DREQ②② HRQ ③ HLDA ④ 地 址 线 ⑤ DACK ⑥⑥ ①① 数 据 线 ⑦ 溢出信号 AR WC +1 +1 B