我的印象是,Raspberry Pi的ARM处理器虽然具有armhf微体系结构,但仍遵循 Von Neumann 体系结构(主要是共享主存储器用于指令和数据)。
然而,我在计算机科学教科书(AQA第2单元的A Level计算机科学,Kevin R Bond 2016,第265页)中遇到了这一行。
Raspberry Pi计算机基于哈佛架构
在线搜索后,我找不到任何证明或反驳此声明的可靠消息来源。这是错误的吗?我希望在答案中给出一个来源。
(我知道Raspberry Pi SE存在,但鉴于该标签不存在,我觉得在这里发布它更合适)
答案 0 :(得分:0)
它不是特定的pi使用架构,而是它拥有的处理器。
最初的raspberry pi使用ARM 11芯片(后来版本迁移到CORTEX-A芯片),ARM使用ARM9芯片从Von Neumann架构转移到哈佛
https://en.wikipedia.org/wiki/ARM9
此外,这是来自ARM的产品页面
https://www.arm.com/products/processors/classic/arm9/index.php
注意,假设没有提及架构有任何变化,CORTEX-A内核也保持这一点
答案 1 :(得分:0)
即使CPU的内部架构可能像哈佛一样,使用单独的指令和数据缓存和总线,SoC的其余部分仍然只有一个主存储器,指令和数据总线都连接到同一个存储器。来自https://en.wikipedia.org/wiki/ARM9:
随着这一设计的产生,ARM从冯·诺依曼架构(普林斯顿架构)转变为具有独立指令和数据总线(和缓存)的哈佛架构,显着提高了其潜在的速度。大多数集成这些内核的芯片将它们封装为modified Harvard architecture芯片,将两个地址总线组合在独立CPU缓存和紧密耦合存储器的另一端。
关于修改过的哈佛架构的链接页面:
大多数现代计算机实现了修改过的哈佛架构。
最常见的修改是使用分隔指令和数据的CPU缓存构建内存层次结构。这统一了除数据和指令地址空间的一小部分之外的所有部分,提供了冯诺依曼模型。大多数程序员从不需要意识到处理器内核实现(修改过的)哈佛架构的事实,尽管它们受益于其速度优势。只有将指令写入数据存储器的程序员才需要了解缓存一致性等问题。
任何现代x86芯片都是如此。
对于Raspbian来说,这并没有任何问题,这只是对Raspberry Pis的正常Debian的特殊重新编译; raspbian的主要区别在于它有一个不同的手臂目标(armv6 + vfp hardfloat)比其他现有的arm debian发行版(目标是armv4t或armv7 + vfp hardfloat)。