PCI基础知识
PCI基础知识
PCI全称为Peripheral Component Interconnect,在处理器体系结构中其作为局部总线,是系统总线的延申,用来连接外部设备。
PCI Express:PCIe总线
PCI-to-PCI桥:PCI桥
PCI Express-to-PCI桥:PCIe桥
Host-to-PCI:HOST主桥、PCI 主桥、PCI总线控制器
设计特点
PCI总线空间和处理器空间隔离
处理器和PCI设备之前通过HOST主桥才能互相访问,在主桥中存在许多缓冲,可以使处理器总线和PCI总线工作在各自频率互不干扰。
处理器和CPI设备互相访问时,必须通过HOST主桥进行地址转换。要区分开PCI总线地址和存储器地址。
可扩展性
一个HOST主桥只能连接唯一一条PCI总线,但可通过PCI桥扩展出一系列PCI总线,形成以HOST主桥为根节点的PCI总线树。1棵PCI总线树最多只能挂256个PCI设备(包括PCI桥)
同一条PCI总线上的设备之间可以直接通信,同一棵PCI树上的设备之间需要通过PCI桥进行数据转发完成通信。每一个PCI总线子树由对应的PCI桥管理。
动态配置机制
PCI设备使用的地址可以根据需要由系统软件动态分配。只需要由软件动态配置每个PCI总线的基地址,其下的各设备即可获得不同的物理地址。
总线带宽
32位/33MHz可以提供132MB/s的峰值带宽,64位/66MHz可以提供532MB/s的峰值带宽
共享总线机制
PCI设备通过仲裁获得PCI总线使用权后开启数据传输,不需要处理器干预。所有PCI设备共享同一总线带宽,将极大影响PCI总线利用率。但这种方式很适合当年的技术水平。
中断机制
PCI设备可以共享4根中断请求信号。
PCI总线组成结构
HOST主桥
主要功能:管理PCI总线域,完成处理器与PCI设备之间的数据交换(包括地址转换和数据DMA访问)
PCI总线
如上图所示,PCI总线x0连在HOST主桥x,PCI总线x1通过PCI桥x1连接在HOST主桥x。
PCI总线由HOST主桥或PCI桥管理,用来连接各类设备,如声卡、网卡、IDE接口卡等。
PCI设备
PCI设备可以分为三类
- 主设备:可以发起请求获得总线控制权,主动向其他PCI设备或主存储器发起读写请求
- 从设备:只能被动接收来自HOST主桥或其他PCI设备的读写请求
- 桥设备:管理下游的PCI总线,并转发上下游总线之间的总线事务
HOST处理器
HOST 处理器可以通过 HOST 主桥, 发起 PCI 总线的配置请求总线事务, 并对 PCI 总线上的 设备和桥片进行配置
PCI负载
总线频率越高,能挂接的负载越少,但能提供的带宽也越大。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理