[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
【计算机组成】输入输出系统
时间:
2020-05-31 15:50:22
阅读:
44
评论:
0
收藏:
0
[点我收藏+]
输入输出系统概述
组成:
外设、接口、总线、管理软件
基本功能
完成计算机内外的信息传递
保证 CPU 正确选择输出设备
利用缓冲等,实现主机与外设的速度匹配
特点:
异步性、实时性、设备无关性
输入过程:
CPU 把地址值放入总线 --> CPU 等候设备数据有效 --> CPU 从总线读入数据存入寄存器
输出过程:
CPU 把地址值放入总线 --> CPU 把数据值放入总线 --> 设备等数据有效取走数据
IO 系统性能:
存储 IO、通信 IO
连接特性:
哪些设备可以和 IO 相连
IO 系统容量:
IO 系统可以容纳的设备数
响应时间:
从用户输入命令到得到结果所花的时间(s)
吞吐率:
单位时间完成的 IO 操作次数(用 IOP 表示)
输入输出方式
无条件 IO 方式:
执行 IO 指令时,CPU 默认外设已经准备就绪,外设很难满足这一点
程序控制 IO 方式:
执行 IO 指令时,先获取设备状态(设备状态寄存器),决定下一步操作(程序决定)
数据要经过 CPU,CPU 还要浪费大量时间查询设备状态
中断 IO 方式:
外设主动通知 CPU 接收或输出数据,有实时性
DMA 方式:
由硬件执行 IO,外设准备好后通知 DMA,DMA 接管总线,完成数据交换
既有中断的优点,又降低了服务的开销
通道和 IO 处理机方式:
外设种类很多速度差别很大,将外设管理工作从 CPU 总分离出来
通道本身就是个简单的 CPU,执行 IO 指令的处理机
IO 处理机是通道的进一步发展,更像一个 CPU 了
中断请求与响应
概念:
CPU 由内部外部事件引起 CPU 中断正在运行的程序,具有随机性(符合输入输出系统特性)
作用:
主机与外设并行;故障处理;实时处理
类型:
内部中断
(软件、异常)
外部中断
(可屏蔽中断 INTR、不可屏蔽中断 NMI)
基本功能:
中断信号的保持与清除:
通过寄存器存起来,处理完清零
中断优先级:
硬件响应优先序、软件服务优先序(中断服务程序开头,设置自己的中断屏蔽位)
中断源识别:
系统分配给每个中断源的代号(中断号),中断号获取可以用硬件或软件方式
中断处理:
响应:
每执行完一条指令,就会判断是否有中断请求
处理:
保存断点(返回地址)、执行中断程序、返回断点
中断控制:
中断触发方式:
指外设以什么逻辑信号去申请中断(边沿触发、电平触发)
中断排队方式:
按优先级、循环轮流排队
中断嵌套:
中断正在执行的中断程序,不可屏蔽中断不能嵌套
中断屏蔽:
处理器内部有个触发器,“1”时才会响应外部中断
DMA方式
原理:
数据传送不经过 CPU,由 DMA 控制器实现内存和外设、外设和外设之间的直接快速传递
系统构成:
DMA 作为主设备之一
DMA 与 IO 接口集成
DMA 提供专门 IO 总线
DMA 的两种工作状态:
被动态(未获得总线控制权,受 CPU 控制)、主动态(获得总线控制权)
传输步骤:
申请:
一个设备接口试图通过总线向另一个设备发送数据,先向 CPU 发送 DMA 信号
响应:
CPU 收到 DMA 信号,当前总线周期结束后,按 DMA 信号优先级响应相应的 DMA 控制器
数据传送:
DMA 收到 CPU 响应,获得总线控制权,开始直接数据传送
传送结束:
设备向 CPU 发送 DMA 结束信号,交换总线控制权
DMA 操作类型:
数据传送:
源地址数据传到目的地址
数据校验:
不传输,只校验某数据块内部的每个字节
数据检索:
不传输,只在制定内存区域内查找某个关键字或某几个数据位是否存在
DMA 操作方式:
单字节传输模式:
每次 DMA 操作传送一个字节
块传输模式:
每次传送多个字节,有个当前字节计数器,+1 +1 +1
请求传输模式:
DMA 控制器询问外设,当外设请求信号无效时,暂停传输(不释放总线);再次有效再继续传输
级联传输模式:
多个 DMA 级联,分布式
DMA 传输模式:
停止 CPU 访问内存:
传输速率高的设备传输时有优势
周期挪用:
DMA 挪用一个或几个内存周期。若此时 CPU 不需要访存则不冲突,若冲突则 DMA 优先
DMA 与 CPU 交替访存:
直接交替访存,不需要浪费时间
【计算机组成】输入输出系统
原文:https://www.cnblogs.com/blknemo/p/12811139.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!