为什么有时将CPU称为BCM2708,有时又称为BCM2835?


49

我已经看到过Raspberry Pi的片上系统通常称为“ BCM2835”(例如在Wikipedia上),但有时也称为“ BCM2708”(例如Linux SPI驱动程序的源在bcm2708.c中,或对我的其他问题的评论中)。

哪个是对的,或者两者都是-为什么?特别是,如果两者的数据表中都有不一致之处,应理解为“更重要”?

Answers:


13

实际上,差异是由于硅和芯片封装的指定。最初有一个硅芯片,称为BCM2708,所有初始开发都围绕此完成。

在具有256MB DRAM的9x9堆叠式封装中,它称为BCM2763。(堆叠是指您在处理器顶部将DRAM硅片字面上键合在一起并将键合线放到基板上时)

但是,当对存储器进行POP(包装上的封装,DRAM封装连接到处理器封装的顶部)时,它被称为BCM2835,这是随后启用ARM的设备。

芯片的更高版本遵循相同的方案,现在有3个芯片BCM2708,BCM2709和BCM2710,以及三个封装BCM2835,BCM2836和BCM2837。


20

除了Steve的回答,这里还有linux驱动程序git hub问题日志的讨论,讨论应如何标记驱动程序。有关职位为:

popcornmix:

从技术上讲2708是该系列,而2835是一个特定的实现。我们现在知道2835是该系列中唯一可以运行linux的实现(并且不会有该系列的新模型),因此使用哪种模型可能无关紧要,尽管应该保持一致。

lp0:

因此,将所有驱动程序2708命名为特定设备树文件2835是合理的吗?(假设如果该家族的其他型号可以运行linux,则将需要不同的设备列表)


另一个评论表明,也许“ BCM2708是BCM2835的一部分的CPU组件”。一些与第一手证据相关的链接会很好...(此外,我发布了这个问题,因为我想要的东西比我在Google的第一个结果中已经发现的东西还要多)
akavel 2012年

1
我试图找到一些。博通数据表链接在这里:raspberrypi.org/wp-content/uploads/2012/02/…。但是,它没有参考BCM2708编号。据我所见,这两个数字在一起出现的唯一位置是问此类问题的帖子。
乔恩·埃格顿

14

从技术上讲2708是该系列芯片的名称,而2835是Pi中的特定芯片。至于哪个数据表取代另一个数据表,我会选择BCM2835(专用)而不是BCM2708(系列)。


1
需要强引用另一个海报暗示 “ BCM2708是BCM2835的一部分的CPU组件”。打扰一下,但是我为什么要相信你,而不是他?
akavel 2012年

1
作为“其他发布者”,我想说这是基于内核资源的推测。我也没有确凿的证据……我们确实应该有某种规范的(最好是Broadcomm)源答案。
Maria Zverina

1
@MariaZverina在这种特殊情况下,任何人都可能无法获得这种规范的信息,因为即使要获得芯片上的完整细节也需要NDA。结果,可能需要更实用的方法。让我问一个问题,作为获取问题上下文的手段。由于这个命名问题,您正在尝试做哪些您无法做的事情?
史蒂夫·罗比拉德

@MariaZverina和akavel我刚刚在YouTube上看到了这段视频youtube.com/watch?v=5jEVBK7P1GA的Geert van Leuw在谈论Pi中的芯片,他将其称为2835。作为Pi硬件信息的来源我认为您会同意它不会变得更好。
史蒂夫·罗比拉德

4

值得认识到的是,ARM内核不是SoC的主要部分,而是一个辅助内核,位于系统MMU后方的侧面。主(启动)处理器是VideoCore,它执行早期初始化,设置系统MMU并引导ARM内核。

bcm2708最有可能是指包含VideoCore处理器和外围设备的SoC的主要部分(请参阅Wikipedia的VideoCore SoC表,请注意,bcm27xx部分没有ARM内核)。

基于Broadcom的驱动程序源代码发布,我的印象是所有VC4 SoC都是基于bcm2708,而VC3是bcm2707。但是,至少有三个bcm2708修订版(a0,b0,c0),而a0的区别足以使#ifdefs遍历整个地方,并且有相当数量的标头。“ VC4大岛”也有一个例外,它的主要标头不包括在内,但是我不能真正找到很多,尽管这一说法很有趣。

因此,驾驶员使用2708是有意义的(尤其是如果它们是由Broadcom开发的)。

我不知道报告bcm2709的rpi2是怎么做的...有很多说法说bcm2835和bcm2836 SoC仅在ARM子系统和外设基地址上有所不同(即,系统MMU配置略有不同),因此看起来可能实际上也是基于bcm2708的,但是可用的信息相当有限。我想知道是否有人增加了数字来处理假定bcm2708暗含ARM11内核的代码(实际上,它根本不暗含任何ARM内核)。

编辑:新发布的bcm2836 quad-A7文档确认它也基于bcm2708。


我相信BCM2709是ARMv8。ARMv8是AArch64(ARM-64),这意味着硬件具有诸如crc32,pmull,aes,sha1和sha2之类的扩展
jww

嗯,你看完我的答案吗?BCM2708仅指SoC的主要部分(VideoCore 4 +外设),而不是ARM。参见例如Broadcom的标题发行版,以了解其包含的内容。然后通过将arm11 / quad-a7 / quad-a53 ARM子系统分别粘贴到其侧面来构造BCM2835 / 6/7(以及许多其他零件)。但是,这与SoC的其余部分无关。
Matthijs

0

此页面提示我搜索此问题

注意命令cat / proc / cpuinfo的响应

...

硬件:BCM2708

修订:1000002


嗯,有趣!虽然,根据其他答案,我认为它仍然无法解决问题-它仍然可以是姓氏,特定实现名称或其他名称……
akavel 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.