输入输出系统的发展大致可以分为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系统(一)的更多相关文章

  1. 2012高校GIS论坛

    江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...

  2. 在Openfire上弄一个简单的推送系统

    推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...

  3. 数据库优化案例——————某市中心医院HIS系统

    记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...

  4. ABP文档 - 通知系统

    文档目录 本节内容: 简介 发送模式 通知类型 通知数据 通知重要性 关于通知持久化 订阅通知 发布通知 用户通知管理器 实时通知 客户端 通知存储 通知定义 简介 通知用来告知用户系统里特定的事件发 ...

  5. win7安装时,避免产生100m系统保留分区的办法

    在通过光盘或者U盘安装Win7操作系统时,在对新硬盘进行分区时,会自动产生100m的系统保留分区.对于有洁癖的人来说,这个不可见又删不掉的分区是个苦恼.下面介绍通过diskpart消灭保留分区的办法: ...

  6. iOS---iOS10适配iOS当前所有系统的远程推送

    一.iOS推送通知简介 众所周知苹果的推送通知从iOS3开始出现, 每一年都会更新一些新的用法. 譬如iOS7出现的Silent remote notifications(远程静默推送), iOS8出 ...

  7. (系统架构)标准Web系统的架构分层

    标准Web系统的架构分层 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求的不同,不一定每一层 ...

  8. Hyper-V 激活Windows系统重启后黑屏的解决方法 + 激活方法

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www.cnblogs.com/dunitia ...

  9. Beanstalkd一个高性能分布式内存队列系统

    高性能离不开异步,异步离不开队列,内部是Producer-Consumer模型的原理. 设计中的核心概念: job:一个需要异步处理的任务,是beanstalkd中得基本单元,需要放在一个tube中: ...

  10. [APUE]系统数据文件与信息

    一.口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":&quo ...

随机推荐

  1. webpack的知识内容

    webpack的构建工具: 浏览器的兼容性? 转换ES6语法: 转化JSX: css

  2. 谈一谈Crsf和XSS攻击

    crsf 和 XSS CRFS攻击全称是一种利用cookie的漏洞进行的一种跨域请求伪造: 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一 ...

  3. vs2012 函数参数内存对齐引发编译错误

    编译一个游戏库时,遇到个奇怪的问题.一个模板函数,形参是按值传入的.编译时实参是内存对齐过的,无法通过,引发类似下面的错误: error C2719: '_Val': formal parameter ...

  4. C++类中this指针的理解

    先要理解class的意思.class应该理解为一种类型,象int,char一样,是用户自定义的类型.用这个类型可以来声明一个变量,比如int x, myclass my等等.这样就像变量x具有int类 ...

  5. 搜狗浏览器总是打开123.sogou.com-记搜狗浏览器遭遇劫持一例

    昨日,因从网上下载了office2010破解工具,压缩包中有个文件为名为[office 2010激活工具\为保证永久激活,要先点击这个配置,再点击KMSELDIYI激活.exe],单击之后没有反应.后 ...

  6. Linux根据MAC地址自动设置IP

    Linux根据MAC地址自动设置IP #!/bin/sh #============config============ route_defa=60.12.70.65 addr_ip= link_ma ...

  7. 谷歌浏览器内核Cef js代码整理(二) 滚动条

    1.隐藏滚动条 document.documentElement.style.overflow = 'hidden';隐藏竖向滚动条:document.documentElement.style.ov ...

  8. PHP运行出现Notice : Use of undefined constant 的解决办法

    这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示.一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉 关闭 PHP 提示的方法 搜索php.i ...

  9. Spring 了解Bean的一生(生命周期)

    转载 https://blog.csdn.net/w_linux/article/details/80086950 该篇博客就来了解IoC容器下Bean的一生吧,也可以理解为bean的生命周期. ## ...

  10. laravel中消息通知功能

    以laravel5.5为例子,这个功能laravel自带的有: 1.生成表文件的migration文件,再migrate一下在数据库里生成表.命令为:php artisan notifications ...