近日,国外一位名叫 Jeff Geerling 的开发者购买了一块新的 Raspberry Pi 4 Model B,无意间发现树莓派在该型号上“偷偷”换上了新的 SoC,解决了两个此前存在的 RAM 处理有关的问题。
Jeff Geerling 在个人博客中表示:“由于我用于测试的 Raspberry Pi 4 Model B 发生了故障,我不得不去买一个新的 Raspberry Pi 4。当地的经销商「Micro Center」只有 8GB 型号的库存,在我购买后经过检查发现该型号所搭载的博通 SoC 跟以往的型号有一些不同之处。”(如下图)
你能发现它的不同之处吗?这块 Raspberry Pi 4 Model B 上的 BCM2711 芯片的型号是 2711ZPKFSB06C0T,与 Raspberry Pi 400 上的芯片相同。
而 Raspberry Pi 4 Model B 最初所采用的芯片型号为 2711ZPKFSB06B0T,区别在于倒数第三个字符,即 C 与 B 的区别。
至于 Raspberry Pi 4 Model B 到底是何时换上了这个新款 SoC,目前并没有一个官方的说明。但根据目前 Twitter 网友 Lucas 的评论来看,他在今年一月购买的 8GB 型号上并没有采用新款 SoC,而在四月购买的 2GB 型号上反而使用了。
识别树莓派上的步进等级
如果你想知道你的树莓派上是否采用了更新的 BCM2711 SoC,那么有以下两种方法:
最简单的方法就是直接查看树莓派 SoC 上所蚀刻的型号。如果它的末尾是 "B0T",那就是旧型号。如果是 “C0T“,则是较新的型号;
如果你是将树莓派安装在设备内部,或者为树莓派套了一个外壳不能直接看到 SoC 的话,则可以通过运行以下命令来确定—— od -An -tx1 /proc/device-tree/emmc2bus/dma-ranges,返回结果如下:
- # B0
- pi@raspberrypi:~$ od -An -tx1 /proc/device-tree/emmc2bus/dma-ranges
- 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00
- 40 00 00 00
- # C0
- pi@raspberrypi:~$ od -An -tx1 /proc/device-tree/emmc2bus/dma-ranges
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- fc 00 00 00
C0 步进等级中更新了什么?
在 BCM2711 的案例中,树莓派并没有为该版本增加新的功能,也没有提升性能,而是主要修复了两个与 RAM 寻址有关的问题:
- EMMC2 总线只能直接寻址前 1GB;
- PCIe 接口只能直接寻址前 3GB;
尤其是后者可能会影响磁盘的吞吐量,而该问题对 Raspberry Pi 4 Model B 的低端型号的影响并不大,仅对采用了 8GB 内存的型号有较大的改进。
本文转自OSCHINA
本文标题:树莓派偷偷换上新 SoC,解决了 RAM 寻址问题
本文地址:https://www.oschina.net/news/162218/raspberry-pi-4-model-b-c0-stepping