计组4——总线Plus IO

(CPU外部的)总线

用于连接computer3大模块(M+C/GPU+IO)

CPU内部的片内总线判优由时序逻辑实现

composition& priority-judging

通信方式

  • CPU内部的片内总线用于取指、译码、执行、中断的数据通信;

IO

  • 总线分为控制线、数据线和地址线,对IO设备的控制也是如此,
  • 只是不同的IO数据传输速率差别较大,通过IO接口转接,
  • 此外,CPU准备好了,IO未必准备好,控制线由此分为命令线和状态线,
    在程序中断方式、程序查询中,制定(设备)地址线后,CPU发送信号到命令线,IO准备好后通过状态线响应,之后方可从数据线读取;
  • 若干个端口(存放数据、地址、控制信息的寄存器)+控制逻辑=接口;

IO设备的工作原理,IO接口的构成

IO接口的工作流程


从IO读入

  1. CPU由地址线确定要读入的地址,通过控制线发送读信号,
  2. IO控制逻辑发送控制信号到IO,状态控制寄存器标记为 待写入/读IO
  3. 外设准备好后,通过状态线发送准备状态到IO控制逻辑,寄存器=D=1,B=0,ID=0,CD=0
  4. IO控件接受IO发送的数据,并存储到数据缓冲寄存器,寄存器=D=1,B=0,ID=1,CD=0
  5. 将状态/控制寄存器标记为 已写入IO,CPU未读取/读IO,状态线通知CPU可以读取,
  6. CPU发送读信号,然后从缓冲区读取,之后状态/控制寄存器 标记为 已读取/读IO为,寄存器=D=1,B=0,ID=1,CD=1
  • 状态/控制寄存器------标记外设状态,控制IO的读写等操作

写入IO

  1. CPU由地址线确定要写入的地址,控制线发送写信号,状态/控制寄存器标为 未写入/写IO

  2. IO设备通过外设控制逻辑向设备发送写信号,

  3. IO数据缓冲寄存器接受CPU的写入数据,状态/控制寄存器标为 已写入控件,IO未读取/写IO

  4. IO准备好通过状态线通知IO控件,IO控件通过控制逻辑发送写信号

  5. 然后将数据缓冲寄存器的数据输出到外设,状态/控制寄存器标为 已读取/写IO

IO与CPU、主存的交互方式

  • 这3种IO与系统的交互并没有优劣之分,只是使用的场景不同
  • 程序中断可以取代程序查询吗?------需要编写响应的中断程序,可以将CPU从查询的等待中解放出来;
  • 程序查询用于CPU与IO交换数据,程序中断用于CPU与IO交换数据等中断服务处理
  • DMA用于主存与IO交换数据,程序中断需要中断请求、判优、响应、服务、返回,耗时
  • 程序查询的预处理在CPU发送IO前,程序中断的保护现场则包含在IO中断流程中
  • DMA控制逻辑相当于1个小CPU,负责IO与MM的传输控制
相关推荐
Flamingˢ1 天前
ZYNQ + OV5640 视频系统开发(四):HDMI 显示链路
嵌入式硬件·fpga开发·硬件架构·音视频
学嵌入式的小杨同学2 天前
STM32 进阶封神之路(四十)FreeRTOS 队列、信号量、互斥锁精讲|任务通信、同步、资源保护(超详细图文版)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
UltraLAB-F4 天前
GPU显存不足时的分配策略:渲染与仿真的显存争夺战解决方案
图像处理·算法·3d·ai·硬件架构
学嵌入式的小杨同学8 天前
STM32 进阶封神之路(三十九)FreeRTOS 临界区、挂起 / 删除、钩子函数、调度底层原理|从应用到内核深度解析
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb
Saniffer_SH9 天前
【每日一题】一台可编程的PCIe 6.0主机 + 一套自动化CTS验证平台 + 一个轻量级链路分析系统
运维·服务器·测试工具·fpga开发·自动化·计算机外设·硬件架构
Yungoal10 天前
编码万物2-加法器、补码、R-S触发器
硬件架构
飞控架构之美10 天前
多旋翼无人机系统组成(九)(多旋翼无人机的设计)
stm32·嵌入式硬件·硬件架构·无人机
飞控架构之美10 天前
多旋翼无人机系统组成(八)(任务载荷系统详解)
stm32·嵌入式硬件·硬件架构·无人机
学嵌入式的小杨同学10 天前
STM32 进阶封神之路(三十五):TFT LCD 工程化实战 ——FSMC 高速驱动、多图层界面、中英文显示与图形引擎(完整可落地)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
学嵌入式的小杨同学10 天前
STM32 进阶封神之路(三十三):W25Q64 任意长度写入深度实战 —— 从页限制到工业级通用读写(附完整代码 + 避坑指南)
stm32·单片机·嵌入式硬件·架构·硬件架构·嵌入式·flash