计算机寄存器端口,CPU和外设之间的数据传送方式有哪几种

数据传输(data transmission),指的是依照适当的规程,经过一条或多条链路,在数据源和数据宿之间传送数据的过程。也表示借助信道上的信号将数据从一处送往另一处的操作。

CPU与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA方式。

其中程序方式又可分为无条件传送方式和条件传送方式两种方式。在CPU外设传送数据不太频繁的情况下一般采用无条件传送方式。

da5a6beaabca7ec11464ea3d2643b4ab.png

在CPU用于传输数据的时间较长且外设数目不多时采用条件传送方式。在实时系统以及多个外设的系统中,为了提高CPU的效率和使系统具有实时性能,采用中断传送方式。

如I/O设备的数据传输效率较高,那么CPU和这样的外设进行数据传输是,即使尽量压缩程序查询方式和中断方式中的非数据传输时间,也仍然不能满足要求。

40099c10605ed1131ad05cbf87f6f259.png

这是因为在这两种方式下,还存在另外一个影响速度的原因,即它们都是按字节或字来进行传输的。为了解决这个问题,实现按数据块传输,就需要改变传输方式,这就是直接存储器传输方式,即DMA方式。

CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为端口。通常有:数据端口、状态端口、控制端口。

bea05d7fd12ad2d1f80d3a3d9f3328c5.png

对端口编址的两种方法为:计算机对内存和I/O端口统一编址;计算机对内存和I/O端口分别进行编址。在8086/8088系统中用计算机对内存和I/O端口统一编址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

茌平计算机中考成绩查询,中考成绩查询系统入口2021

湘潭市的中考成绩查询,需要在通道开通之后进行,那么查询通道在哪里呢?想必大家都很想知道。下面出国留学网小编为大家带来湘潭中考成绩查询系统入口2021,仅供参考,欢迎阅读。拓展阅读:中考后有哪些选择出路…

win10证书服务器不可用,win10系统提示“安全证书的吊销信息不可用”的修复方法...

在windows10系统下一位用户遇到了奇怪的问题,该用户表示浏览网页的时候经常会弹出安全警报:该镇点安全证书的吊销信息不可用。是否继续? 的报错弹窗,这是怎么回事呢?其实,该问题是由于ie浏览器中的设置出现…

暴走大侠显示进入服务器失败,暴走大侠:常见问题详解,再遇见这样的问题也不再迷糊...

相信玩了这么久的英雄好汉们,对这个游戏的理解已经有了一定的了解。同时也应该有很多疑问,几天就给大家详细的讲解下最近几天大家关心最多的问题。关于门派选择问题,主动技能怎学?答:门派问题的话,这个最好…

mysql数据库移植

在mysql数据库移植的时候,把自己电脑上mysql中data目录的一些重要文件复制到其他电脑上,先备份一下其他电脑上的mysql的data目录,然后替换! 例如我的mysql默认的数据库文件位置: C:\ProgramData\MySQL\MySQL Server 5.…

蓝桥杯 历届试题 九宫重排

问题描述如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。我们把第一个图的局面记为:12345678.把第二个图的局面记为…

java坦克大战源码下载

HJZGG: https://github.com/hjzgg/hjzgg_tank_java 解压之后运行可执行jar包即可!效果图如下: v 1.游戏开始v 2.选择地图v 3.开始游戏v 4.游戏自定义转载于:https://www.cnblogs.com/hujunzheng/p/4348415.html

虚拟化服务器的管理与维,服务器虚拟化管理

服务器虚拟化管理 内容精选换一换为了解决Windows系统的源端服务器与目的端弹性云服务器的兼容性问题,您需要手动给目的端服务器安装相关驱动进行优化。登录管理控制台。选择“计算 > 弹性云服务器”。在弹性云服务器列表中,查看目的端服务器的规格。…

Myeclipse 操作数据库

步骤1:通过MyEclipse中的window-》show View-》other 调出。DB浏览器,和 SQL Results 步骤2. 可以右键单击空白处,选择new,创建一个新的DB connection, 或者edit已经存在的DB connection 步骤3:数据库信息填…

媒体服务器协议,媒体服务器介绍(mediactrl架构)

5.1.1MediaCtrl媒体控制草案MediaCtrl是IETF下专门研究和制定媒体服务器控制标准的小组,以SIP和XML为所制定标准的基础。这个工作组的工作包括:定义媒体服务器控制的技术需求说明、框架、控制协议簇和定位/连接协议。5.1.1.1技术需求描述这个技术需求描述…

android target unknown and state offline解决办法

没有错,将adb的版本升级一下就好了! 下载地址为:http://files.cnblogs.com/files/hujunzheng/adb1.0.32.zip 转载于:https://www.cnblogs.com/hujunzheng/p/4360436.html

s2sh框架搭建(辅助工具:MyEclipse)及解决一些遇到的问题

1.新建一个web project 2.首先生成Hibernate Facet 3.Hibernate Facet 安装步骤 4.然后是spring facet安装步骤 5.最后是struts facet 的配置 6.最后的整体布局如下所示 7.在服务器上运行,发现如下错误: 严重: Exception sending context initialized ev…

520爱心表白——C语言入门

520爱心表白——C语言入门 关于爱心表白的代码,网上有很多非常好看而且可以实现颜色变换和立体,动态等效果的代码。但是我入门不久,能力有限。520重要的可能还是在心意我觉得,所以自己写了一个非常简单毫无技术含量爱心代码来表达…

c语言之结构

今天来说一下C语言里的结构体(struct)、共用体(l联合体)union、枚举。 欢迎加入嵌入式学习群:559601187 (一)结构体:struct 1.1 概念 是一种自定义的数据类型结构体是构造类型的一种不同数据类型的集合地址空间连续,…

C语言实现音乐播放器(Linux madplay)

(一)需求分析 1.扫描指定路径下的音乐,并显示出来 2.实现音乐的播放、暂停、上一首和下一首的功能 3.程序退出释放内存资源 (二)思路 1.扫描出指定路径下的音乐文件(便利指定文件夹,找出音频文件放在数组…

虚拟机中安装linux

(一)前言 就在昨天电脑的固态突然崩掉,无奈重新把系统装在的以前的硬盘上,为了能够继续工作重新配置嵌入式linux系统开发环境,本教程主要记录在虚拟机中安装linux。 (二)环境准备 虚拟机&…

Ubuntu设置root登录

1.、Ubuntu 管理员用户 root 默认没有密码,在使用前最好添加密码,使用指令: sudo passwd root 注意:命令行输入密码时不显示,输入时需注意密码的准确性; 2、Ubuntu 想要用 root 帐户登录,可在普…

vim配置之spacevim

为了更好的利用vim,我们一般需要自己配置,今天介绍了一下经常用的spacevim (一)配置环境 Ubuntu16.04vim 7.4版本以上(必须!!) (二)安装spacevim 1.检查vim的版本: v…

Ubuntu更换gnome桌面环境后不能root登录

安装完Ubuntu后感觉界面有点丑陋,安装了gnome桌面环境试一下 sudo apt-get install gnome-shell sudo apt-get install ubuntu-gnome-desktop如果选择了lightdm后可以使用sudo dpkg-reconfigure gdm3 重新改回gdm3 sudo apt-get install unity-tweak-tool sudo ap…

Ubuntu下安装tilix终端仿真器

安装环境 Ubuntu 16.04 操作步骤 首先添加这个终端模拟器仓库的公钥。这里我都是以root超级用户权限操作的,如果没有的话,请在命令前面加sudo。 add-apt-repository ppa:webupd8team/terminixapt update安装Tilix。 apt install tilix安装完成测试结…

vim配置之snippets代码块

(一)目的 我们在编写程序的过程中,经常会敲一些重复的代码,我们可以利用snippets来达到输入简写来敲出完整的代码 (二)安装步骤 安装使用Vundle,没有vbundle的先执行下面的命令 git clone https://gith…