输入输出接口

news/2025/9/27 1:06:50/文章来源:https://www.cnblogs.com/jimGraymane/p/19110683

IO接口的作用

又被称为IO控制器,设备控制器,负责协调主机和外部设备之间的数据传输

1.数据缓冲:通过数据缓冲寄存器(DBR)达到主机和外设的工作速度匹配

2.错误或状态检测:通过状态寄存器反馈设备的各种错误,状态信息,供cpu查用

3.控制和定时:接受从控制总线发过来的控制信号,时钟信号

4.数据格式转换:串-并,并-串 等格式

5.与主机和设备通信 :实现主机-IO接口-io设备之间的通信

内部接口:内部接口与系统总线相连,实际上与内存cpu相连,数据的传输方式可以并行也可以串形

外部接口:外部接口通过接口电缆与外设相连,数据传输可能是串形也可能是并行

结构和工作原理

1.数据线->状态/控制寄存器:【发命令】发送命令字到io控制寄存器,向设备发送命令(需要驱动器的帮助)

2.状态/控制寄存器->数据线:【读状态】从状态寄存器读取状态字,获得设备或者io控制器的状态信息

3.数据线<->数据缓冲寄存器:【读写数据】从数据缓冲寄存器发送或者读取数据,完成主机和外设的数据交换

控制寄存器和状态寄存器在使用时间上是错开的,所以有的io接口中,可以将二者合二为一

io控制器中,各种寄存器称为io端口

有些教材吧命令字叫做控制字

IO端口的编址方式

1.统一编址

把io端口当作存储器的单元进行地址分配,用统一的仿存指令就可以访问io端口,又称为存储器映射方式

靠不同的地址码 区分内存和io设备,io地址要求相对固定在地址的某个部分

优点:不需要专门的io端口,所有访存指令,都可以直接访问端口,程序设计灵活性高,端口又较大的编制空间

缺点:会占有主存的地址空间,使主存地址空间变小,外设寻址时间长

2.独立编址

io端口地址与存储器地址无关,独立编址cpu需要设置专门的io指令访问端口,又称为io映射方式

不同的指令区分内存和io设备 或者不同的地址码

优点:使用io指令,程序编制清晰。可读性强;io端口的地址位数少,地址译码速度快;io端口的地址不占用主存地址空间

缺点:io指令的类型少,只能对端口传送操作程序灵活性差;需要cpu提供存储器读写,io读写两组控制信号,增加了逻辑电路的复杂性。

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

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

相关文章

Go语言中的信号捕获与优雅退出:SIGINT、SIGTERM和SIGKILL详解 - 若

在开发长期运行的服务时,如何让程序优雅退出是一个重要课题。今天我们来深入探讨Go语言中如何处理常见的进程信号,实现平滑关闭。 理解三个关键信号 1. SIGINT(信号2)- 礼貌的中断请求全称:Signal Interrupt触发方…

(二)3.1.9 生产“稳”担当:Apache DolphinScheduler Worker 服务源码全方位解析

本文是 Apache DolphinScheduler 3.1.9 版本源码解读的第二篇:Worker Server 启动流程源码解读以及相关流程设计。结尾处附有相关流程图,供大家参考。作者 | 李杰 移动云,Apache DolphinScheduler贡献者在现代数据驱…

实用指南:虚拟机搭建 DHCP 服务器 + 配置 DHCP 中继:完整实操指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站设计的技术方案wordpress安装主题教程

(来源&#xff1a;武汉市发改委)原标题&#xff1a;加快打造“五个中心” 武汉率先开建人工智能计算中心从华为东莞松山湖基地运来的预制化模块箱体&#xff0c;正在光谷科学岛起步区被吊装&#xff0c;未来将被“拼装”成武汉重要的人工智能算力基础设施。3月1日&#xff0c;武…

创建一个网站需要怎么做投票链接制作哪家服务好

在本篇文章里小编给大家整理的是一篇关于Python中免验证跳转到内容页的实例代码&#xff0c;有兴趣的朋友们可以学习分享下。相信很多人在浏览网页时&#xff0c;经常会碰到需要输入验证码才可以继续浏览的情况吧&#xff0c;遇到这种问题&#xff0c;大多数人只能进行繁琐的注…

海口建设局网站甘肃建设厅官方网站

Android 查看路由表_android 路由表_念雅的博客-CSDN博客

完整教程:生产环境实战:Spring Cloud Sleuth与Zipkin分布式链路追踪实践

完整教程:生产环境实战:Spring Cloud Sleuth与Zipkin分布式链路追踪实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family…

ibero 2025.1 Run PROGRAM_SPI_IMAGE_Action

ibero 2025.1 Run PROGRAM_SPI_IMAGE_Actionibero 2025.1 Run PROGRAM_SPI_IMAGE_ActionSPI Flash lemory is not configured. Use the Configure Design Initialization Data and memories tool to configure it按照以…

训练“系统级思维”,听时序数据库 IoTDB Committer 说说从设计到应用的成长

充满活力与机遇的开源社区,让我们完成从功能设计到系统应用的能力跃迁!想得更长远,离应用更近 2025 年 7 月 7 日、7 月 29 日,经 Apache IoTDB 社区投票,丁宇辰、曹志佳成为时序数据库 Apache IoTDB Committer。…

【设计模式】状态模式 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Kendo UI for jQuery 2025 Q3新版亮点 - AI 智能网格与全新表单体验

Kendo UI for jQuery 2025 Q3新版亮点 - AI 智能网格与全新表单体验Telerik和Kendo UI的 2025 Q3 版本(发布于 2025 年 8 月)为开发者带来了全面升级:AI 编码助手首次在所有主要 UI 库(包括 Angular、Blazor、.NET…

网站自助建站软件可以免费做中考题的网站

进入题目页面如下 提示flag在flag.php ctrlu&#xff0c;查看源码 给出了一段PHP代码&#xff0c;进行代码审计 <?php // 检查是否开启了错误显示功能 if( !ini_get(display_errors) ) {// 如果没有开启&#xff0c;则将错误显示功能设置为开启状态ini_set(display_error…

关于gradle项目启动

关于gradle项目启动首先idea上要开启gradle,即在构建工具项中要能看到gradle,如果没有去插件中开启,可能关了。 关于加速:项目根目录下的settings.gradlepluginManagement {println "aliyun pluginManagement…

网站建设用什么网站后台编辑器无法显示

基本介绍 函数指针:指向函数的指针 与数组类似 定义 Int(*pmax)(int ,int)max; Int(*pmax)(int x,int y)max;//形参名称不重要 函数返回类型(*指针)(形参类型)函数名称; 具体案例 代码: *pmax取到函数本身 调用函数指针方式: (*pmax)(x,y); pmax(x,y);//与java中调用函数一…

青海省交通建设厅网站网站建设加关键词是什么意思

文章目录 1. 字体设置推荐2. 主题推荐3. Rainbow Brackets(彩虹括号)4. 设置背景图片 下面是我的 IDEA 主题和字体&#xff0c;它们的搭配效果如下&#xff1a; 1. 字体设置推荐 在使用 IntelliJ IDEA 进行编码和开发时&#xff0c;一个合适的字体设置可以提高你的工作效率和舒…

事倍功半是蠢蛋55 ctrl+shift+f 每次搜索都按倒繁体

如果您使用的是「微软拼音输入法」 打开 设置 > 时间和语言 > 语言和区域。 在首选语言下,点击 中文(简体,中国) 旁边的“...”按钮,选择 语言选项。 找到 微软拼音,点击其旁边的“...”按钮,选择 键盘选…

PHP 线上环境 Composer 依赖包更新部署指南-简易版 - 教程

PHP 线上环境 Composer 依赖包更新部署指南-简易版 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

完整教程:Ubuntu 安装和配置 Anaconda

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

DevExpress WPF中文教程:如何使用虚拟源将WPF数据网格绑定到任何数据源?

DevExpress WPF中文教程:如何使用虚拟源将WPF数据网格绑定到任何数据源?DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XA…

Ini文件的读写

最简单的Ini读写:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Text;namespace AuxiliaryTools {public …