I/O系统(一)
输入输出系统的发展大致可以分为4个阶段
1.早期阶段
特点:
1.1每个IO设备都得有一套独立的逻辑电路和CPU相连。
1.2输入输出过程需要通过CPU,穿插在程序运行的过程中,处理IO时候CPU停止计算
1.3每个IO设备的逻辑控制电路与CPU的控制器构成不可分割的一体,增减困难
2.接口模块,DMA阶段
特点:
2.1接口中有数据通路和控制通路,作为缓冲和串并转换,在传输数据的时候得执行中断,不是完全的并行。
2.2DMA,在IO设备和主存之间有一个直接数据通路,资源利用率进一步提高。
3通道结构
大型计算机中IO设备多,数据传输频繁,采用DMA,增加成本,DMA接口同时访问主存会有冲突。CPU对众多DMA接口管理也会影响效率。
特点:3.1可以看做是具有特殊功能的处理器。根据CPU的IO指令进行启动,停止或改变工作状态,从属CPU的一个专用处理器。IO设备在处理输入输出CPU不直接管理。
4.具有IO处理机的阶段。
4.1独立主机工作,可以完成码制转换,格式处理,数据块监测等操作。
输入输出系统组成
IO软件
主要任务:1将用户编写程序输入主机
2运算结果输出
3输入输出协调
IO指令一般分为:
1.将数据从IO输入主机
2.从主机到IO设备
3.状态测试
4.形成操作命令
通道指令:对IO系统专门设置的指令,一般指明,参与传送的数据组首地址,传送的字节数,设备的设备码。
通道控制字CCW,可以存放在主存中,由通道从主存取出执行。
IO指令主要完成开启,停止IO设备。IO传输由通道指令完成。
IO硬件
主要是接口和IO设备
一个通道可以和多个设备控制器连接。
一个设备控制器又可以和多个同一类型的设备连接。
IO设备与主机
1.IO设备编码方式
有两种方式,统一编址,不统一编址。统一编址就是将IO地址看做是储存地址的一部分。不统一编制就是把IO地址和储存器地址分开,所有对IO访问必须用专有IO指令。
2.设备寻址
每台设备都有一个设备号,由IO指令的设备码字段直接指出该设备的设备号。
3.传送方式
近距离,数据线多,速度快,并行传输
串行传输,远距离,速度慢
联络方式
1立即响应
2异步工作采用应答信号联络,一应一答
3同步工作采用同步时标联络
IO设备与主机连接方式
辐射式和总线式
IO设备与主机信息传送方式
1.程序查询方式
CPU不断查询IO设备是否准备好。CPU和IO是串行,CPU利用率不高。
2.程序中断方式
在CPU启动IO后,继续执行自身程序,当IO准备就绪向CPU发出中断请求,然后CPU相应。
CPU如要传输一批数据,CPU反复启动IO设备,响应中断,直到数据传输完毕。
3.DMA
主存和IO设备间有一条数据通路,主存和IO交换不占用CPU
I/O系统(一)的更多相关文章
- 2012高校GIS论坛
江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...
- 在Openfire上弄一个简单的推送系统
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
- 数据库优化案例——————某市中心医院HIS系统
记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...
- ABP文档 - 通知系统
文档目录 本节内容: 简介 发送模式 通知类型 通知数据 通知重要性 关于通知持久化 订阅通知 发布通知 用户通知管理器 实时通知 客户端 通知存储 通知定义 简介 通知用来告知用户系统里特定的事件发 ...
- win7安装时,避免产生100m系统保留分区的办法
在通过光盘或者U盘安装Win7操作系统时,在对新硬盘进行分区时,会自动产生100m的系统保留分区.对于有洁癖的人来说,这个不可见又删不掉的分区是个苦恼.下面介绍通过diskpart消灭保留分区的办法: ...
- iOS---iOS10适配iOS当前所有系统的远程推送
一.iOS推送通知简介 众所周知苹果的推送通知从iOS3开始出现, 每一年都会更新一些新的用法. 譬如iOS7出现的Silent remote notifications(远程静默推送), iOS8出 ...
- (系统架构)标准Web系统的架构分层
标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层 ...
- Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www.cnblogs.com/dunitia ...
- Beanstalkd一个高性能分布式内存队列系统
高性能离不开异步,异步离不开队列,内部是Producer-Consumer模型的原理. 设计中的核心概念: job:一个需要异步处理的任务,是beanstalkd中得基本单元,需要放在一个tube中: ...
- [APUE]系统数据文件与信息
一.口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":&quo ...
随机推荐
- MySQL Event--Event and EventScheduler
MySQL Event 创建EVENT语法: CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name O ...
- 第2章 Java基本语法(上): 变量与运算符
2-1 关键字与保留字 关键字(keyword) 保留字(reserved word) 2-2 标识符(Identifier) 案例 class Test{ public static void ma ...
- 高性能网络编程之IO和NIO阻塞分析
一.内容 1.阻塞和非阻塞是什么? 2.传统IO模型,他存在哪些阻塞点 3.NIO模型 4.对比总结 1.阻塞和非阻塞是什么? 阻塞:做某件事情,直到完成,除非超时,如果没有完成,继续等待. 非阻塞: ...
- [转]boost::python开发环境搭建
转自:http://www.cnblogs.com/gaoxing/p/4317051.html 本来想用mingw编译boost::python模块,网上看了下资料太少,只有使用vs2012 操作环 ...
- Qt对`vtable的未定义引用
错误描述:Qt在linux系统编译时,遇到一个错误大致如下形式 在 xxxxx函数中 对‘vtable for xxxxx未定义的引用 网上找了很多,各种情况都有,大多数是虚函数未实现导致的, 但也有 ...
- vs2015 加载项目的时启动:无法启动 IIS Express Web 服务器
使用Visual Studio 2015 运行ASP.NET项目时,提示“无法启动IIS Express Web服务器”,无法运行,如图: 一般出现在重装系统之后,或者项目是从别的电脑上复制过来的.解 ...
- ubuntu安装nginx及其默认目录结构
一. 安装包安装 1.1 安装Nginx $sudo apt-get install nginx Ubuntu安装之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经 ...
- C++Primer第五版——习题答案详解(三)
习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第4章 表达式 练习4.10 while(cin>>i&&i ...
- 并发之lock的condition接口
13.死磕Java并发-----J.U.C之Condition 12.Condition使用总结 11.Java并发编程系列之十七:Condition接口 === 13.死磕Java并发-----J. ...
- [UE4]添加手柄
一.在上一节的VRPawnBase中,再添加2个Motion Controller,分别命名为:LeftMotionController.RightMotionController,分别代表左右手柄. ...