输入输出系统的发展大致可以分为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. MySQL Event--Event and EventScheduler

    MySQL Event 创建EVENT语法: CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name O ...

  2. 第2章 Java基本语法(上): 变量与运算符

    2-1 关键字与保留字 关键字(keyword) 保留字(reserved word) 2-2 标识符(Identifier) 案例 class Test{ public static void ma ...

  3. 高性能网络编程之IO和NIO阻塞分析

    一.内容 1.阻塞和非阻塞是什么? 2.传统IO模型,他存在哪些阻塞点 3.NIO模型 4.对比总结 1.阻塞和非阻塞是什么? 阻塞:做某件事情,直到完成,除非超时,如果没有完成,继续等待. 非阻塞: ...

  4. [转]boost::python开发环境搭建

    转自:http://www.cnblogs.com/gaoxing/p/4317051.html 本来想用mingw编译boost::python模块,网上看了下资料太少,只有使用vs2012 操作环 ...

  5. Qt对`vtable的未定义引用

    错误描述:Qt在linux系统编译时,遇到一个错误大致如下形式 在 xxxxx函数中 对‘vtable for xxxxx未定义的引用 网上找了很多,各种情况都有,大多数是虚函数未实现导致的, 但也有 ...

  6. vs2015 加载项目的时启动:无法启动 IIS Express Web 服务器

    使用Visual Studio 2015 运行ASP.NET项目时,提示“无法启动IIS Express Web服务器”,无法运行,如图: 一般出现在重装系统之后,或者项目是从别的电脑上复制过来的.解 ...

  7. ubuntu安装nginx及其默认目录结构

    一. 安装包安装 1.1 安装Nginx $sudo apt-get install nginx Ubuntu安装之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经 ...

  8. C++Primer第五版——习题答案详解(三)

    习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第4章 表达式 练习4.10 while(cin>>i&&i ...

  9. 并发之lock的condition接口

    13.死磕Java并发-----J.U.C之Condition 12.Condition使用总结 11.Java并发编程系列之十七:Condition接口 === 13.死磕Java并发-----J. ...

  10. [UE4]添加手柄

    一.在上一节的VRPawnBase中,再添加2个Motion Controller,分别命名为:LeftMotionController.RightMotionController,分别代表左右手柄. ...