news 2026/4/23 16:54:32

[微机原理与系统设计-从入门到入土] 输入输出IO

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[微机原理与系统设计-从入门到入土] 输入输出IO

[微机原理与系统设计-从入门到入土] 输入输出IO

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

  • [微机原理与系统设计-从入门到入土] 输入输出IO
  • 芯片回顾
  • I/O 接口
  • 常用 I/O 接口芯片
  • I/O 端口
  • I/O 端口编址方式
        • 1.独立编址
        • 2.统一编址
  • I/O 地址线分配
        • 1.地址线分配
        • 2.物理地址范围对比
  • I/O 相关的系统总线
  • I/O 数据传送工作方式
        • 1.无条件传送方式(同步传送方式)
        • 2.有条件传送方式(异步传送方式/程序查询式)
        • 3.I/O 中断方式
        • 4.DMA 工作方式(直接存储器访问方式)

芯片回顾

  • 最小系统中M / I O ‾ o r I O / M ‾ M/\overline{IO}~or~IO/\overline{M}M/IOorIO/MW R ‾ \overline{WR}WRR D ‾ \overline{RD}RD要参与芯片的C S ‾ \overline{CS}CS

  • 最大系统中I O W ‾ \overline{IOW}IOWI O R ‾ \overline{IOR}IOR要参与芯片的C S ‾ \overline{CS}CS

I/O 接口

CPU 对不同部件的访问方式存在差异:

  • 内存访问:直接通过地址线寻址访问
  • 外设访问:必须通过I/O接口电路间接访问

I/O接口是 CPU 与外设之间的桥梁
-> 负责协调两者的速度差异、信号类型差异等

常用 I/O 接口芯片

I/O 接口功能通过专用接口芯片实现:

  • 中断控制器 8259A:管理外部中断请求,协调 CPU 响应优先级
  • 定时计数器 8253:实现定时触发、脉冲计数等功能
  • 并行接口芯片 8255A:提供并行数据传输通道,适配打印机等并行外设

I/O 端口

基本定义:

  • I/O 端口:I/O 接口内部的寄存器
  • 接口与端口的关系:一个 I/O 接口包含多个 I/O 端口,每个端口对应唯一的地址单元,即 I/O 接口有多少个端口,至少占用多少个地址资源

芯片端口数量:

  • 8259A:占用 2 个 I/O 端口
  • 8253:占用 4 个 I/O 端口
    (COUNTA, COUNTB, COUNTC, COUNTD)
  • 8255A:占用 4 个 I/O 端口
    (PA口, PB口, PC口, 控制端口)

I/O 端口编址方式

CPU 如何区分 I/O 端口和内存单元的地址

1.独立编址

核心逻辑:I/O 端口与 内存 采用独立的地址空间,地址范围互不重叠

区分访问设备:

  • 8086:M / I O ‾ M/\overline{IO}M/IO

  • 8088:I O / M ‾ IO/\overline{M}IO/M

2.统一编址

核心逻辑:将 I/O 端口地址纳入内存地址空间,I/O 端口与内存单元共用同一套地址编码

特点:无需专用的 I/O 访问控制信号,可使用内存访问指令操作 I/O 端口,但会占用部分内存地址空间

I/O 地址线分配

不同处理器/系统分配给 I/O 端口的地址线数量不同,直接决定了 I/O 地址空间大小

1.地址线分配
  • 8086/8088 处理器:分配16 根地址线A 0 ∼ A 15 A_0 \sim A_{15}A0A15)用于 I/O 寻址
  • PC/XT 系统:分配10 根地址线A 0 ∼ A 9 A_0 \sim A_9A0A9)用于 I/O 寻址
2.物理地址范围对比
访问对象处理器/系统地址线范围地址空间大小
Memory(内存)8086/8088A 0 ∼ A 19 A_0 \sim A_{19}A0A191MB(2 20 2^{20}220
I/O 端口8086/8088A 0 ∼ A 15 A_0 \sim A_{15}A0A1564KB(2 16 2^{16}216
I/O 端口PC/XTA 0 ∼ A 9 \mathbf{A_0 \sim A_{9}}A0A91KB(2 10 2^{10}210

I/O 相关的系统总线

系统类型I/O 相关系统总线组成
8086 最小系统A 15 ∼ A 0 , D 15 ∼ D 8 , D 7 ∼ D 0 , B H E ‾ , M / I O ‾ , R D ‾ , W R ‾ A_{\textbf{15}} \sim A_{0},D_{15} \sim D_{8},D_{7} \sim D_{0},\overline{BHE},M/\overline{IO},\overline{RD},\overline{WR}A15A0,D15D8,D7D0,BHE,M/IO,RD,WR
8086 最大系统A 15 ∼ A 0 , D 15 ∼ D 8 , D 7 ∼ D 0 , B H E ‾ , I O R ‾ , I O W ‾ A_{\textbf{15}} \sim A_{0},D_{15} \sim D_{8},D_{7} \sim D_{0},\overline{BHE},\overline{IOR},\overline{IOW}A15A0,D15D8,D7D0,BHE,IOR,IOW
8088 最小系统A 15 ∼ A 0 , D 7 ∼ D 0 , I O / M ‾ , R D ‾ , W R ‾ A_{\textbf{15}} \sim A_{0},D_{7} \sim D_{0},IO/\overline{M},\overline{RD},\overline{WR}A15A0,D7D0,IO/M,RD,WR
8088 最大系统A 15 ∼ A 0 , D 7 ∼ D 0 , I O R ‾ , I O W ‾ A_{\textbf{15}} \sim A_{0},D_{7} \sim D_{0},\overline{IOR},\overline{IOW}A15A0,D7D0,IOR,IOW
PC/XT 系统A 9 ∼ A 0 , D 7 ∼ D 0 , I O R ‾ , I O W ‾ , A E N A_{\textbf{9}} \sim A_{0},D_{7} \sim D_{0},\overline{IOR},\overline{IOW},AENA9A0,D7D0,IOR,IOW,AEN

PC/XT 系统中,A E N AENAEN信号需参与地址锁存器的使能端(CP)控制:

  • 当 AEN=0 时:CPU 控制总线,地址锁存器正常工作,锁存CPU 输出的 I/O 地址或内存地址(CP在非上升沿保持)
  • 当 AEN=1 时:系统处于 DMA 操作状态,DMA 控制器控制总线,地址锁存器响应 DMA 控制器输出的地址信号(CP在上升沿更新)

I/O 数据传送工作方式

1.无条件传送方式(同步传送方式)
  • 核心逻辑:默认外设始终处于就绪状态,CPU 无需查询外设状态,直接进行数据读写
  • 适用场景:外设状态固定或可严格同步的场景(如 LED 指示灯控制)
2.有条件传送方式(异步传送方式/程序查询式)
  • 核心逻辑:CPU 先查询外设状态端口,确认外设就绪(或空闲)后,再进行数据传送
  • 特点:可靠性高,但 CPU 需持续查询等待,占用大量 CPU 时间,传输效率低(串行工作
  • 适用场景:外设速度较慢、对传输效率要求不高的场景
3.I/O 中断方式
  • 核心逻辑:CPU 正常执行主程序,当外设就绪后主动向 CPU 发出中断请求;CPU 响应中断后,暂停主程序,转去执行中断服务程序(完成数据传送),传送结束后返回主程序
  • 特点:CPU 无需持续等待,可在等待期间执行其他任务,实现CPU 与外设并行工作,传输效率显著提升
  • 适用场景:大多数中低速外设(如键盘、打印机)
4.DMA 工作方式(直接存储器访问方式)
  • 核心逻辑:通过 DMA 控制器(如 8237)接管总线控制权,数据无需经过 CPU,直接在主存与 I/O 设备之间成块传送
  • 特点:传输速度最快(无 CPU 中转延迟),适合大量数据高速传输
  • 适用场景:高速外设(如硬盘、光驱)的大批量数据传输
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:01:39

【AI】Cursor 编辑器使用指南

Cursor 编辑器使用指南 📖 目录 简介核心功能AI 交互模式模型选择快捷工具栏Web 搜索功能引用功能详解快捷键大全Agent 高级功能使用建议总结参考资源 简介 Cursor 是一款由 AI 驱动的代码编辑器,能够理解你的代码库,并通过自然语言助你更…

作者头像 李华
网站建设 2026/4/23 13:58:37

数通设备堆叠技术:iStack与CSS方案对比及应用选型

在数通网络架构中,堆叠技术是提升设备扩展性、可靠性与管理效率的核心方案,其中iStack(华为设备堆叠协议)与CSS(集群交换系统,华为高端设备堆叠方案)是业界主流的两种堆叠实现方式。结合业务口堆叠、堆叠卡堆叠、免配置堆叠等不同部署形态,二者在技术原理、性能特性、适…

作者头像 李华
网站建设 2026/4/23 12:10:24

Java死锁原因剖析:面试必看的高薪技巧!

文章目录Java死锁原因剖析:面试必看的高薪技巧!一、死锁:线程界的“抢椅子游戏”死锁的四个必要条件二、常见死锁场景:代码中的“定时炸弹”场景一:不恰当的锁顺序场景二:数据库中的锁竞争场景三&#xff1…

作者头像 李华
网站建设 2026/4/23 12:24:11

Java面试必看!如何优雅唤醒阻塞线程?

文章目录Java面试必看!如何优雅唤醒阻塞线程?一、引言二、常见问题1. 为什么不能使用Thread.stop()方法?2. 阻塞线程的常见场景三、如何优雅唤醒阻塞线程?1. 使用Interrupt机制(1)基本使用(2&am…

作者头像 李华
网站建设 2026/4/23 11:25:14

uniapp富文本rich-text

1. uniapp富文本rich-text 官方文档:https://uniapp.dcloud.net.cn/component/rich-text.html 1.1. 示例 1.1.1. richText.vue <template><view ><view class"rich-layout" ><rich-text :nodes"richText"></rich-text>&l…

作者头像 李华