当前位置: 首页 > news >正文

输入输出接口

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.gsyq.cn/news/11403.html

相关文章:

  • (二)3.1.9 生产“稳”担当:Apache DolphinScheduler Worker 服务源码全方位解析
  • 完整教程:生产环境实战:Spring Cloud Sleuth与Zipkin分布式链路追踪实践
  • PHP 线上环境 Composer 依赖包更新部署指南-简易版 - 教程
  • 完整教程:Ubuntu 安装和配置 Anaconda
  • QuestaSim奔溃后再次打开无法仿真
  • 详细介绍:STL 容器 --- list 类
  • 大模型function calling多轮对话开发示例
  • ViTables 安装与 HDF5 数据可视化全指南 - 实践
  • elementuiplus修改el-checked多选框样式
  • DataGrip格式化SQL模板
  • 计算机毕设java毕业生档案流向追踪系统的设计与实现 基于Java的毕业生档案管理与追踪系统的设计与实现 Java技术驱动的毕业生档案流向监测架构开发
  • C. Strange Function
  • 详细介绍:2026毕设-基于Spring Boot的在线海鲜市场交易平台的设计与实现
  • 详细介绍:Flink 2.x 独立集群(Standalone) 的部署
  • 在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名窗口管理工具需求洞察
  • OS-KylinV10-加载动态库运行异常-全局函数重名或未使用命名空间
  • 详细介绍:【代码】关于C#支持文件和文本框的简单日志实现
  • dremio 26.0.5社区版发布
  • 深度互联:金兰契协议下的领域知识与元智慧共生
  • 今天我看了
  • 【stm32-FOC】初步认识 CMSIS-DSP
  • US$368 Lonsdor K518ISE SKE-IT Smart Key Emulator 5 in 1 Set
  • US$1090 VVDI2 AUDI VW 4th amp; 5th IMMO Functions Authorization Service
  • 提示词工程与上下文工程核心洞察总结报告
  • # ️ 注册中心原理与选型指南
  • 苍穹外卖-day10(spring Task,WebSocket,来单提醒客户催单) - a
  • 在CodeBolcks下wxSmith的C++编程教程——使用wxPanel资源
  • 虚拟机开机网络连接失败
  • codeforces 1053 div2
  • 随机过程学习笔记