zoukankan      html  css  js  c++  java
  • 输入输出系统

    1.概述(What)

    (1)输入系统:用来向系统输入信息,即向MEM中导入信息。
    (2)输出系统:用来从系统向外部输出信息,即从MEM中导出信息。
    

    2.结构(How)

    2.1组成方式

    输入输出系统可以分为I/O软件和I/O硬件两部分组成。
    (1)I/O软件:主要指I/O指令。
    (2)I/O硬件:一般带有接口的I/O系统中,一般包括接口模块及I/O设备两大部分。
    

    2.2联系方式

    (1)CPU如何对I/O设备编址?----对I/O设备进行编址
    (2)如何寻找I/O设备号?----由I/O指令中的设备码字段直接指出该设备的设备号
    (3)信息传送是逐位串行还是多位并行?----由接口电路决定
    (4)I/O设备与主机以什么方式进行联络,使彼此知道对方处于何种状态?----是否可以传送,传送开始结束
    (5)I/O与主机如何连接----总线式和辐射式(每个设备一组信号线和数据线)

    2.3信息传送的控制方式

    (1)程序查询方式
    通过软件实现,即CPU通过程序不断查询I/O设备是否已经做好准备,如果设备准备就绪,那么就CPU从I/O接口中读取或写入数据,再由CPU送入MEM。
    (2)中断方式
    通过硬件实现,即CPU启动I/O设备后,继续执行自身程序,当I/O设备准备后,向CPU发出中断请求,CPU从现有程序转入执行中断程序,从I/O接口读入或写入数据,再由CPU存入MEM.
    在中断方式中,CPU和I/O准备时期中,可以同步运行,提高了CPU的使用效率。缺点是仍需要通过CPU将数据存入MEM中,会消耗一定的CPU周期。
    (3)DMA方式
    在DMA方式中,数据直接由I/O接口存入MEM中,不需要调用中断程序,更少占用CPU周期。

    在IO传递数据的过程中,存在两个时间差:(1)CPU通知IO设备启动,IO把数据准备好。(2)IO把数据准备好,靠CPU把数据转移到内存或者加入硬件设备(如寄存器保存起始位置,字节数,数据缓存,控制逻辑等)将数据传送到内存。

  • 相关阅读:
    Kubernetes Conditions
    自动造数据利器,Faker 了解一下?
    2021年软件测试工具大全(自动化、接口、性能、安全、测试管理)
    低代码开发,推荐一款Web 端自动化神器:Automa
    自动化测试常见问题总结!(适合新手团队)
    Java 将PPT转为OFD E
    Java 将PDF转为线性PDF E
    C# 将Excel转为PDF时自定义表格纸张大小 E
    C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件 E
    C# 扫描识别图片中的文字(.NET Framework) E
  • 原文地址:https://www.cnblogs.com/ttkl90/p/9140924.html
Copyright © 2011-2022 走看看