首页 > 其他分享 >IO系统

IO系统

时间:2023-05-29 20:56:52浏览次数:22  
标签:DMA 中断 系统 接口 IO cpu 外设

IO系统这一章主要讲的就是IO的四种控制方式,首先对这四种方式进行一个简单介绍,下面再对着四种方式分别进行介绍。

程序查询方式:由cpu通过程序不断查询IO设备是否已经做好准备,从而控制IO设备于主机进行信息交换
程序中断方式:只在IO设备准备就绪并想cpu发出中断请求时才予以响应
DMA方式:主存和IO设备之间有一条直接数据通路,当主存和IO设备交换信息时,无需调用中断服务程序
通道方式:在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行IO命令时,只需启动有关通道,通道将执行通道程序,从而完成IO操作

IO接口

IO接口时主机和外设之间的交接界面,通过接口实现主机和外设之间的信息交换

IO接口的功能

1、进行地址译码和设备选择
2、实现主机和外设的通信联络控制
3、实现数据缓冲
4、信号格式的转换
5、传送控制命令和状态信息

IO接口的基本结构

IO接口是由若干端口加上控制逻辑组成的,(端口是指可读可写的寄存器)

IO接口的编址

1、统一编制:和内存单元一起进行编址,好处是可以用访问内存的指令访问接口,不需要专门的IO指令,缺点是减少的内存的可用空间并且速度比较慢
1.png
2、独立编址:IO的地址空间和主存的地址空间独立,需要设置单独的IO指令
2.png

程序查询方式

主要结构:
主要包括三大部分:设备选择器、数据缓冲器、设备状态标志
3.png
工作流程:
4.png
优缺点:
5.png
6.png

程序中断方式

中断是程序在执行过程中被内部或者外部打断,转而去执行一段事先已经安排好的中断服务程序,当中断服务程序执行完接着返回断点继续执行该程序的过程
7.png
8.png
中断处理方式
1.png
中断响应的时间是每条指令结束后
如何关中断:
cpu内部设置由中断屏蔽触发器可以置零或置1,只有在中断触发屏蔽器标志为0时才可以开关中断
中断向量:中断服务程序入口地址

DMA

在内存和IO设备间高速交换批量数据而设置的,完全由硬件执行,DMA完全从cpu接管总线的控制权,数据交换不再经过cpu而是直接通过总线在内存和IO设备之间进行
2.png
DMA的优点
3.png
DMA能进行的操作
4.png
DMA的响应:
1、外设向DMA发出请求
2、DMA向cpu发出总线请求
3、cpu在总线周期结束后处理DMA发来的请求,并将总线的控制权移交DMA
4、DMA向外设发出准备好的信号
5.png
在上面的处理方式中其实还有一个问题就是cpu放弃总线的控制权之后,IO和cpu并行工作,当cpu再次需要访存时,这时可能就发生冲突,这就需要解决这个问题
6.png
停止cpu访问内存方法
7.png
9.png
周期挪用
10.png
11.png
12.png
交替访内
13.png
8.png
DMA方式的流程图
14.png

通道方式

15.png

多一点细心,多一点耐心!

标签:DMA,中断,系统,接口,IO,cpu,外设
From: https://www.cnblogs.com/cxy8/p/17440936.html

相关文章

  • 基于Expression Lambda表达式树的通用复杂动态查询构建器——《剧透一下》
    前篇《https://www.cnblogs.com/ls0001/p/17437225.html》有大佬在评论里剧透了,这里就来一遍剧透。  通常,前后端分离的系统要在前端查询数据是提交一个带着查询条件参数的表单,比如A=1,B=2,类似样,后端接收到表单需要将这些条件参数拼接成查询需要写代码,并且表单结构通常是不带查......
  • IO流
    IO流文件文件是保存数据的地方。文件流文件在程序中是以流的形式操作的。创建文件对象相关构造器和方法相关方法:newFile(Stringpathname)//根据路径构建一个File对象newFile(Fileparent,Stringchild)//根据父目录文件+子路径构建newFile(Stringparent,St......
  • [CVPR23 Highlight] Side Adapter Network for Open-Vocabulary Semantic Segmentatio
    **摘要本文提出了一个用于开放词汇语义分割的新框架SAN,将语义分割任务建模为区域识别问题,提取maskproposals并使用CLIP对mask进行识别。SAN可以重新利用CLIP的特征,因此其本身可以非常轻量;同时网络可以端到端地进行训练,从而使SAN适应冻结的CLIP模型。本文方法需要很少的参数量,且......
  • alluxio进行debug的方法
    在alluxio-env中。增添ALLUXIO_MASTER_ATTACH_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=60001"ALLUXIO_WORKER_ATTACH_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=60003"ALLUXIO_USER_ATTACH_OPTS=&......
  • 文献阅读-Inferring Networks of Diffusion and Influence
    Authors: ManuelGomez-Rodriguez, JureLeskovec, AndreasKrause AuthorsInfo&ClaimsACMTransactionsonKnowledgeDiscoveryfromDataVolume5Issue4ArticleNo.:21pp1–37https://doi.org/10.1145/2086737.2086741  Abstract......
  • Unity,发布ios和Android的包,UGUI,异形屏适配问题。
    Unity,发布ios和Android的包,UGUI,异形屏适配问题。@TOC<hrstyle="border:solid;width:100px;height:1px;"color=#000000size=1">前言unity发布移动端需要做ui的适配,我们用的是UGUI,暂且提供一种我们自己的ui适配解决方案,包含异形屏的。<hrstyle="border:solid;width:100px;h......
  • UGUI图形系统
    UGUI图形系统1画布与事件系统1.1画布画布用于承载所有的UI元素。Canvas物体的Canvas组件RenderMode分为三种:第一种:ScreemSpaceOverlay模式,该模式下画布中的元素始终在前面。第二种:ScreemSpaceCamera模式,该模式下画布中的元素是否在前取决于它与物体的位置。第三种:Worl......
  • web基础漏洞-系统命令注入
    1、介绍应用程序有时需要调用一些执行系统命令的函数,如在php中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻击。2、windows支持的管道符|直......
  • 【Oracle】Oracle Database Administration 2019 Certified Professional Certificati
     说明:1.目前题库100%覆盖考题,准确率84%。2.若需要优质烤券,请私信,留下你的WX。(官方250刀,本店只需要1500RMB包含100%完整题库以及考试经验分享)3.本条信息长期有效。考试题量:85通过分数:84%1、WhichtwoaretrueaboutreclaimingspaceusedbyFlashbacklogsinOracle......
  • java.lang.UnsupportedOperationException
    错误的查询返回格式//dao层Listquery_T_JS_DHGL_XMLGJ(Map<String,String>queryParams);正确的的查询返回格式ArrayList<Map>query_T_JS_DHGL_XMLGJ(Map<String,String>queryParams);知识点:使用asList方法继承的父类的add和remove,只会抛出UnsupportedOper......