西南IT社区
    • 注册
    • 登录
    • 搜索
    • 主页
    • 问答
    • 话题
    • 热门
    • 圈子
    • 工作机会
    • 活动
    • 项目

    Channel和Ol设备

    极客生涯
    channel和ol设备
    1
    1
    74
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 为
      为情心迷茫 最后由 编辑

        IO通道有三种:字节多路通道(Byte Multiplexor Channel);选择通道(Block Selector Channel);数组多路通道(Block Multiplexor Channel)。
        根据通道的工作方式分类,通道可以分为字节多路通道、选择通道、数组多路通道。
        字节多路通道是一种简单的共享通道,主要用于连接大量的低速设备。
        由于外围设备的工作速度较慢,通道在传送两个字节之间有很多空闲的时间,利用这段空闲时间字节多路通道可以为其他外围设备服务。因此字节多路通道采用分时工作方式,依赖它与CPU  之间的高速总线分时为多台外围设备服务。数据选择通道用于连接高速的外围设备。
        高速外围设备需要很高的数据传输率,因此不能采用字节多路通道那样的控制方式。选择通道在物理上可以连接多台外围设备,但多台设备不能同事工作。也就是在同一段时间内,选择通道只能为一台外围设备服务,在不同的时间内可以选择不同的外围设备。一旦选中某一设备,通道就进入忙状态,知道该设备数据传输工作结束,才能为其他设备服务。
        数组多路通道是字节多路通道和选择通道的结合。
        其基本思想是:当某设备进行数据传输时,通道只为该设备服务;当设备在进行寻址等控制性操作时,通道暂时断开与设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。有数数组多路通道既保持了选择通道的告诉传输数据的有点,又充分利用了控制性操作偶读时间间隔为其他设备服务,使得通道效率充分得到发挥,因此数据多路通道在实际计算机系统中应用最多,适合于高速设备的数据传输。
        中断就是异步的方式进行了,CPU向设备控制器发送一条IO指令后接着返回继续做原来的工作,而当设备控制器从设备中取出数据放到控制器的寄存器中后便向CPU发送中断信号,CPU在检查完数据后便向控制器发送取走数据的信号,将数据写入内存,但仍是以字节为单位的。
        DMA则是CPU和设备控制器之间的引入的一层加快速度的手段,由DMA代替CPU进行数据传送,CPU将指令发送给DMA,DMA向控制器发送请求,设备控制器将数据从缓冲区将数据直接写入内存。完成后设备控制器发送一个信号给DMA,DMA重复检查数据是否传送完成,确认完成后中断让CPU知道。
        DMA比起中断方式已经显著减少了CPU的干预,但是CPU每发出一条IO指令,只能去读写一个连续的数据块,当要读多个数据块并存放到不同的内存区域中去,CPU需要发送多条IO指令及进行多次中断。
      早一代IO操作是由CPU负责IO接口:
      ae805d02-a4aa-40cd-a14c-5c8b9f2044bc-image.png

      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      使用HTML构建办公软件 使用HTML构建办公软件 使用HTML构建办公软件
      为
      F
      漫
      成
      Y
      洋
      书
      Y
      D
      U
      Y
      娇
      玩
      1
      光
      A
      庆
      小
      U
      Y
      L
      I
      Z
      I
      Y

      西南地区IT社群(QQ)
      云南
      【昆明网页设计交流吧】243627302
      【昆明nodejs交流吧】 243626749
      【VUE】838405306
      【云南程序员总群】343606807
      【昆明UI设计】104031254
      【云南软件外包】15547313
      贵州
      【PHP/java源码/站长交流群】55692114
      四川
      【成都Java/JavaWeb交流】86669225
      【vaScript+PHP+MySql】116270060
      【UI设计/设计交流学习群】135794928
      重庆
      【诺基亚 JAVA游戏博物馆】 559479780
      【PHP,Java,Python,C++接单】 442103442
      西藏
      社群
      昆明网页设计交流吧
      友情链接
      • Funtask
      • Funtask 社区
      • SUWIS
      ©2019-2021 滇ICP备20006698号