1. 总线架构 (Bus Architecture)

  • 定义:连接多个部件的信息传输线,是系统的公共通道
  • 层次结构
    • 前端总线 (FSB/QPI):CPU > 内存/北桥(极快)。
    • I/O 总线 (PCIe):连接高速外设(显卡、网卡、SSD)。
    • 外设总线 (USB/SATA):连接低速设备。
  • 性能指标:带宽 :宽度,:频率,:周期数)。

2. I/O 编址方式 (Addressing) - 内核开发重点

CPU 如何找到设备?

  • 统一编址 (Memory Mapped I/O)
    • 原理:I/O 端口占用内存地址空间。例如 0xF0000000 可能是网卡寄存器。
    • 优点:指令集统一,用 MOV 指令即可操作硬件。
    • 代表:RISC (ARM, MIPS, RISC-V)。Linux 内核驱动大多基于此。
  • 独立编址 (Isolated I/O)
    • 原理:独立的 I/O 地址空间。
    • 优点:不占用内存空间。
    • 代表:x86 (使用 IN, OUT 专用指令)。

3. 关联链接

  • Linux驱动开发ioremap 函数的作用就是将物理 I/O 地址映射到内核虚拟地址空间。
  • 虚拟化技术:PCIe Passthrough 如何让虚拟机直接独占物理硬件。