第12章 · 播客 第2集
嵌入式系统设计 · 总线:AMBA三兄弟、PCI/CPCI与Avalon
🎙️ 本集播客:第2集:先分清片内总线与片外总线,再逐条拆 AMBA 的 AHB、ASB、APB——谁发起传输、谁不要仲裁器、谁被谁替代;然后是 PCI 的地址数据复用与主控技术、CPCI 的欧洲卡,最后 Altera 的 Avalon。PCI 混进 AMBA 选项这种题,本集之后一眼识破。 语音由微软 Edge 神经网络语音预生成(女声·晓伊,男声·云希)。点击下方任意对话可直接从该句开始播,当前句朗读时下一句已预先加载,无缝衔接。
明
阿明
上集说完处理器,该轮到总线了吧?这东西我感觉全是缩写,AHB、APB、PCI,看到题就发懵。
雅
小雅
先立框架。总线是连接计算机系统内部各个部件的共享高速通路,自 20 世纪 70 年代以来,工业界相继出现了多种总线标准。嵌入式系统的总线一般分为片内总线和片外总线两类:片内总线是指嵌入式微处理器内的 CPU 与片内其他部件连接的总线;片外总线是指总线控制器集成在微处理器内部或外部芯片上的用于连接外部设备的总线。判断题问「连接 CPU 与片内其他部件的是什么总线」,答片内总线。
明
阿明
一个在芯片里,一个通到外面,这个好分。那 AMBA 是哪路?
雅
小雅
AMBA,全称 Advanced Microcontroller Bus Architecture,先进微控制器总线架构,是 ARM 公司研发的一种总线规范。三个必背要点:第一,该总线规范独立于处理器和制造工艺技术;第二,增强了各种应用中外设和系统单元的可重用性;第三,它提供将 RISC 处理器与 IP 核集成的机制。问「AMBA 是哪个公司研发的」,答 ARM 公司。
明
阿明
AMBA 规范里定义了几种总线?
雅
小雅
三种:先进高性能总线 AHB、先进系统总线 ASB、先进外设总线 APB。注意原文里 AHB 的全称写的是 Advanced High-performance Bus,先进性能总线。练习题最爱问「以下不属于 AMBA 总线的是」,四个选项 AHB、ASB、APB、PCI,答案 PCI。PCI 是另一套体系,跟 AMBA 八竿子打不着,把它混进选项就是这题唯一的坑。
明
阿明
那 AHB、ASB、APB 三兄弟各自管什么?总不能光背名字。
雅
小雅
一个一个来。AHB 由主模块、从模块和基础结构三部分组成,整个 AHB 总线上的传输都由主模块发起,从模块响应。基础结构包括仲裁器、主从模块多路选择器、译码器、名义主模块、名义从模块等。AHB 系统具有时钟边沿触发、无三态、分帧传输等特性,也支持复杂的事务处理,如突发传送、主单元重试、流水线操作以及分批事务处理等。
明
阿明
「传输都由主模块发起」这句是考点级别的吧?
雅
小雅
是,这是 AHB 的核心工作方式。再看 ASB,Advanced System Bus 先进系统总线,用于高性能模块的互连,支持突发数据传输模式,是较老的总线格式,正逐步由 AHB 总线所替代。ASB 的考点就两条:性能定位是高性能模块互连,命运是被 AHB 替代。
明
阿明
那 APB 呢,名字里带外设,应该是接外设的?
雅
小雅
对,APB,Advanced Peripheral Bus 先进外设总线,主要用于连接低带宽外围设备。它的总线结构只有唯一的主模块,即 APB 桥,它不需要仲裁器以及响应确认信号,以最低功耗为原则进行设计,具有总是两周期传输、无等待周期和响应信号的特点。
明
阿明
我把 APB 的考点复述一遍:唯一主模块是 APB 桥,不需要仲裁器,两周期传输,最低功耗设计。
雅
小雅
很完整。这三条总线还能串成一幅图:AHB 是干重活的高速主干,ASB 是它的上一代老前辈,APB 是挂在旁边伺候低带宽外设、省电第一的小弟。出题人喜欢交叉配对,比如问「不需要仲裁器以及响应确认信号的总线是哪个」,答 APB;问「较老、逐步被 AHB 替代的是哪个」,答 ASB。
明
阿明
AMBA 这边我理顺了。PCI 又是个什么来头?
雅
小雅
PCI,Peripheral Component Interconnect,外围构件互连总线,规范先后经历了 1.0 版本、2.0 版本和 2.1 版本。它的定位是:地址、数据复用的高性能 32 位与 64 位总线,是微处理器与外围设备互连的机构,规定了互连协议、电气、机械以及配置空间的标准。
明
阿明
「地址、数据复用」和「32 位与 64 位」,这两个词是它的招牌。
雅
小雅
对。还有一个结构性描述:PCI 是不依赖于具体处理器的局部总线,从结构上看,PCI 是在微处理器和原来的系统总线之间加入的一级总线,由一个桥接电路负责管理,实现上下接口和协调数据传送,管理器提供了信号缓冲,使多种外设能够在高时钟频率下保持高性能。另外 PCI 总线支持主控技术,允许智能设备在需要时获得总线控制权,以加速数据传输。
明
阿明
CPCI 呢?我只记得多了个 C,叫紧凑 PCI。
雅
小雅
全称 Compact PCI。为了将 PCI 总线规范应用到工业控制计算机中,1995 年推出了 Compact PCI 规范,并相继推出了 PCI-PCI Bridge 规范、Computer Telephony TDM 规范和用户定义 I/O 引脚分配规范等。CPCI 总线规范有机地结合了 PCI 总线电气规范的高性能和欧洲卡结构的高可靠。这句话是 CPCI 的标准答案句,高性能来自 PCI 电气规范,高可靠来自欧洲卡结构。
明
阿明
所以 CPCI 是 PCI 的工业加固版?
雅
小雅
可以这么记。目前 CPCI 总线已经在嵌入式系统、工业控制计算机等高端系统中得到了广泛的应用,并逐步替代了 VME 和 MultiBUS 总线。问「CPCI 逐步替代了哪两种总线」,答 VME 和 MultiBUS,这也是原文点名要记的。
明
阿明
最后那个 Avalon 呢?这个名字听着像游戏角色。
雅
小雅
Avalon 总线是 Altera 公司设计的,用于可编程片上系统 SOPC,全称 System on Programmable Chip,中连接片上处理器和其他 IP 模块的一种简单总线协议,规定了主部件和从部件之间进行连接的端口和通信时序。考点三个词:Altera 公司、SOPC、简单总线协议。
明
阿明
AHB 和 ASB 我看都提到了突发传输,这两个怎么在题里区分?
雅
小雅
看定位词。AHB 是高性能主干,特性是时钟边沿触发、无三态、分帧传输,支持突发传送、主单元重试、流水线操作以及分批事务处理;ASB 也支持突发数据传输模式,但它是较老的总线格式,正在被 AHB 逐步替代。题目问「支持突发传输且较老、正被 AHB 替代」,答 ASB;问「时钟边沿触发、无三态」,答 AHB;问「唯一主模块是 APB 桥、不需要仲裁器」,答 APB。三条定位词各认各的,就不会串。
明
阿明
AHB 的基础结构那一串器件呢?仲裁器、多路选择器、译码器……要背吗?
雅
小雅
要,但按角色背:基础结构包括仲裁器、主从模块多路选择器、译码器、名义主模块、名义从模块等。仲裁器管谁上总线,多路选择器管选哪个主模块,译码器管选哪个从模块。选择题问「AMBA 中负责管理多个主模块使用总线的是」,答仲裁器。
明
阿明
PCI 那句「不依赖具体处理器」我也想确认下怎么考。
雅
小雅
原句是 PCI 是不依赖于具体处理器的局部总线。考法一,判断题:「PCI 总线只能配合特定型号的处理器使用」,错。考法二,配对题:「从结构上看,PCI 是在微处理器和原来的系统总线之间加入的一级总线,由什么负责管理」,答桥接电路,它实现上下接口和协调数据传送,管理器还提供信号缓冲,使多种外设能在高时钟频率下保持高性能。
明
阿明
CPCI 的 1995 年这个年份也要记?
雅
小雅
记,1995 年推出 Compact PCI 规范,同年份 1394 的 IEEE 标准也是 1995 年定的,USB 同样是 1995 年由康柏等厂商制定——1995 这个年份在这章出现三次,都是考点。
明
阿明
三路总线做个对对碰:AMBA 归 ARM,Avalon 归 Altera;AHB 高速有仲裁,APB 省电只有 APB 桥一个主模块;PCI 不依赖具体处理器,CPCI 等于 PCI 性能加欧洲卡可靠。
明
阿明
这集开头那个「片内、片外」的判断,也再考我一次。
雅
小雅
来两道。第一道:嵌入式微处理器内的 CPU 与片内其他部件连接的总线叫什么?答片内总线。第二道:用于连接外部设备、总线控制器集成在微处理器内部或外部芯片上的总线叫什么?答片外总线。出题人还喜欢把「CPU 与片内其他部件」偷换成「芯片与芯片之间」,后者其实是片外总线的语义,看到「芯片之间」别误选片内。
明
阿明
总线的功能定义那句也念一遍吧,「共享高速通路」。
雅
小雅
总线是连接计算机系统内部各个部件的共享高速通路——「共享」和「高速」两个词都可能在判断题里被抽掉或改错,比如改成「专用的低速通路」,一眼辨错。
雅
小雅
本集必背:总线分片内和片外;AMBA 是 ARM 公司研发、独立于处理器和制造工艺,提供 RISC 处理器与 IP 核集成机制;定义三种总线 AHB、ASB、APB,PCI 不属于 AMBA;AHB 由主模块、从模块和基础结构组成,传输由主模块发起;ASB 较老、被 AHB 逐步替代;APB 唯一主模块是 APB 桥、不需要仲裁器、总是两周期传输、最低功耗;PCI 是地址数据复用的高性能 32 位与 64 位总线、不依赖具体处理器、支持主控技术;CPCI 于 1995 年推出,结合 PCI 电气规范高性能与欧洲卡结构高可靠,逐步替代 VME 和 MultiBUS;Avalon 是 Altera 公司为 SOPC 设计的简单总线协议。
明
阿明
缩写焦虑症被治好了一半。
雅
小雅
下一集讲存储器和接口:Cache 到底在处理器内部还是外部、RS-232 的 20kbps 和 15 米怎么和 1000 米区分、USB 的四根电缆和 480Mbps、1394 的 S100/S200/S400 三档速率和 4.5 米,全是数字题,一个都不能记错。