第八章 输入输出系统

本文深入探讨了直接内存访问(DMA)、通道和外围处理机(PPU)的概念及其在I/O处理中的作用,详细解析了程序中断方式的处理过程,并介绍了基本DMA控制器的逻辑结构,包括字计数器和内存地址计数器的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、基本概念
名称概念
直接内存访问(DMA)方式是一种完全由硬件(称为 DMA 控制器)执行、在 I/O 设备和内存之间直接交换批量信息的工作方式,包括 DMA 请求、DMA 响应、DMA 传输、DMA 结束处理等步骤。在 DMA 传输过程中,DMA 控制器从 CPU 接管总线控制权,向内存发出地址和控制信号、修改地址、计数、以中断方式向 CPU 报告 DMA 传输结束,数据交换不经过 CPU,而直接在内存和 I/O 设备之间进行 。
通道是一个特殊功能的处理器(基于微处理器 CPU、单片机实现的),它有自己的指令和程序(通道指令、通道程序)专门负责数据输入/输出的传输控制,而 CPU 将“传输控制”的功能下放给通道后只负责“数据处理”功能。CPU 和通道分时使用系统总线和存储器,实现了 CPU 内部运算与 I/O 设备的并行工作。
外围处理机方式 PPU基本上是独立于主机工作,它有自己的指令系统,只是侧重于 I/O 管理。结构上接近一台计算机、或者就是一台通用计算机,也称为 I/O 管理前置机。
2、程序查询方式处理过程
3、程序中断方式处理过程
  • ①一条指令完整执行完以后,查询是否有中断请求、是否有 DMA 请求等;
  • ②如果有中断请求,则判断是否响应该中断(优先级等);
  • ③关中断(中断屏蔽置位):单级中断系统中,一个中断被响应,必须该中断处理结束以后才能响应其它中断请求;多级中断系统中,允许中断嵌套,即允许高优先级中断低优先级的服务子程序;
  • ④找出中断源:确定是哪个设备的中断请求;
  • ⑤保存 PC:即保存返回地址,硬件实现自动推入堆栈保存;
  • ⑥形成中断服务子程序的入口地址:常采用向量中断法;
  • ⑦保存 CPU 现场:标志寄存器、通用寄存器内容送入堆栈保存;
  • ⑧设备服务:CPU 与 I/O 设备之间交换一个机器字的数据;
  • ⑨恢复 CPU 现场:从堆栈中把原来的状态寄存器、通用寄存器内容拿出来;
  • ⑩开中断:本次中断请求处理完成,允许响应其它中断请求;
  • ⑪中断返回:从堆栈中把返回地址拿出来,送 PC。
4、基本 DMA 控制器的逻辑结构

1、字计数器

  • CPU 初始化 DMA 控制器时,写入数据块长度初值。
  • 初值通常以补码(2n-x)形式表示,如字计数器 8 位,数据块长度 125,则初值 256-125=131。
  • 每传送一个字,字计数器加 1 。当计数器溢出时,表示数据块传送结束,溢出信号通过中断机构, 向 CPU 申请中断。

2、内存地址计数器

  • CPU 初始化 DMA 控制器时,写入内存数据块起始地址。
  • 每交换一个字数据后,地址计数器自动增量“加 1”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值