PCI Express体系结构导读笔记之桥和中断的基础知识

看完两章后感觉此书干货很多(有时候觉得废话也挺多),特别是关于桥的配置/bus号/device号的分配过程的描述的比较详细。
要点:
pci设备能直接使用的地址是pci总线域的地址,处理器能够直接使用的是存储器域的地址,pci主桥负责在这两种地址之间转换。当然为了方便管理,可以把这两种地址设置为相同的值(如果是i/o地址,则一定相同)。每一条pci总线上都有一个总线仲裁器,每一个pci主设备都有独立的总线仲裁信号,并与pci总线仲裁器一一相连。可见一条pci总线可以挂接pci主设备的数目,除了与负载能力相关外,还和仲裁器能够提供的仲裁信号数目直接相关。某pci主设备使用pci总线进行数据传递时,首先置req#信号有效,向pci仲裁器发出申请,如果仲裁器允许pci主设备获得总线使用权,则将相应gnt#信号置为有效。之后此pci主设备就获得了总线使用权,可开始数据通信。如果感觉cpu写pci设备时速度低,考虑检查是否是posted传送方式(只支持存储器空间写请求)。如果感觉各设备相互影响,pci总线利用效率低,考虑non-posted传送方式(一般用于存储器空间读请求、io/读写请求、配置读写请求)下是否支持了split总线事务。pci桥一般都没有私有寄存器,操作系统也不需要为pci桥提供专门的驱动程序,这也是这类桥被称为透明桥的原因。(俺觉得这并不表示桥不需要配,只是不需要用户写驱动,因为它是被内核自带的pci总线驱动配置的)关于中断,下表为pci桥规范推荐使用的建立下游pci设备的intx信号与上游pci总线intx信号之间的映射关系。
pci设备intx#信号与pci总线intx#信号的映射关系
设备号pci设备的intx#信号pci总线的intx#信号
0, 4, 8, 12, 16, 20, 24, 28 inta# inta#
intb# intb#
intc# intc#
intd# intd#
1, 5, 9, 13, 17, 21, 25, 29 inta# intb#
intb# intc#
intc# intd#
intd# inta#
2, 6, 10, 14, 18, 22, 26, 30 inta# intc#
intb# intd#
intc# inta#
intd# intb#
3, 7, 11, 15, 19, 23, 27, 31 inta# intd#
intb# inta#
intc# intb#
intd# intc#
我画了个简化版的映射关系图,适合最常见的场景,只有一层桥,所有设备只使用inta。很明显,这样映射的主要好处就是负载均衡。
明天继续阅读pci总线的数据交换部分,一些硬件细节应该可以跳过,希望尽快进入软件相关章节。

东南V5菱致尊贵型C-NCAP碰撞测试结果分析
AI芯片架构竞相走向边缘,边缘AI架构的未来发展趋势介绍
在苹果A14处理器推动下,台积电10月营收或创新高
工业互联网给传统汽车插上网联和智能的“两翼”
分享一下真正的汽车干货
PCI Express体系结构导读笔记之桥和中断的基础知识
如何搞定开关电源PCB布线设计
PLC编程给循环指令一个出口
美光 高通等七家美企复供华为
电化教育电子音像出版社与中软国际教育签订战略合作协议并预发布开源鸿蒙教育发行版SmartEOS
健身时戴什么耳机比较好、盘点那些适合健身时用的运动耳机
关于西门子200PLC编程时的几个问题
出门问问发布新款智能手表 Apple Watch 5细节曝光
比特币简洁的设计具备怎样的优势
中国以外的全球低增长率为全球光伏市场提供了一幅不同的情景
基于麦克风技术的通信产品设计
Wi-Fi CERTIFIED 6 R2是什么 有哪些特点
创新推出新款外置声卡 支持新一代SuperX-Fi耳机音效
什么是变频器,变频器的基础知识
新能源汽车在市场的普及度越来越高