【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
输入输出接口
常见的I/O接口: 南桥(现在叫PCH
)、显卡
I/O接口
- 作用:
- 数据缓冲
- 解决CPU和外设之间的速度差距
- 提供联络信息
- 协调与同步数据交换过程
- 信号与信息格式的转换
- 模/数、数/模转换,串/并、并/串转换,电平转换
- 设备选择
- 中断管理
- 可编程功能
- 数据缓冲
- 通讯:
需要“握手(
Handshaking
)信号”:总是成对出现,在数据传送中起着定时协调与联络作用。采用“握手”方式的数据传送,每一过程必须都有应答,彼此进行确认。- 输出:并行数据输出(外设>IO接口)、输出准备好(外设>IO接口)、输出回答(IO接口>外设)
- 输入:并行数据输入(IO接口>外设)、输入准备好(IO接口>外设)、输入回答(外设>IO接口)
直接存储器访问,Direct Memory Access (DMA
),辅助CPU, 控制 I/O接口 与 存储器
- 特点:
- 数据传送过程不需要CPU干预(不需要执行程序指令)
- 由专门硬件控制电路控制,进行外设与存储器间直接数据传送
- 该专门硬件控制电路称为DMA控制器,简称
DMAC
- 自带DMA控制器:网卡、显卡、声卡、硬盘
输入输出的控制方式
- I/O控制方式: 指的主机与外设之间的数据传送控制方式
程序(指CPU)控制方式
- 1、无条件传送方式
- 假定外设已经准备好
- CPU直接使用指令与外设传送数据
- 不查询外设的工作状态
- 优点:控制程序简单
- 缺点:只适用于简单外设的操作
- 2、程序查询传送方式
- CPU通过执行一段程序,不断查询外设的工作状态
- 在确定外设已经准备就绪时,才进行数据传送
- 优点:比无条件传送方式准确和可靠
- 缺点:查询外设状态占用了大量的时间
中断控制
- 优点
- CPU可以和外设并行工作,提高了工作效率
- 外围设备具有申请服务的主动权
- 一定程度上满足了I/O处理的实时性要求
- 缺点
- 外设和存储器之间的数据交换仍由
CPU
承担 - 使用数据传送指令,占用了宝贵的CPU运算资源数据要经过CPU中的通用寄存器中转,过程冗长 (注:程序查询方式同样有这些缺点)
- 进入和退出中断服务程序,需要额外的指令
- 外设和存储器之间的数据交换仍由
直接存储器访问(DMA)方式
- 基本步骤,以 外设 往
存储器(M, Memory)
写 的输入为例。- 1、
CPU
设置DMAC内部配置寄存器- 相关参数:
- 源地址的初始值及传送时的地址增减方式
- 目的地址的初始值及传送时的地址增减方式
- 待传送数据的长度,根据需要设置,亦可不设置
- 相关参数:
- 2、DMAC处于空闲等待状态
- 3、
I/O接口
向DMAC发出DMA传送申请 - 4、
DMAC
响应I/O接口的申请 - 5、
DMAC
向I/O接口
发起总线读传输 - 6、
DMAC
向存储器(M, Memory)
发起总线写传输 - 7、重复5~6直到本次DMA传送完成
- 8、返回2,等待下一次DMA传送申请
- 1、
by 斯武丶风晴 https://my.oschina.net/langxSpirit
来源:oschina
链接:https://my.oschina.net/langxSpirit/blog/3142129