【问题标题】:How can I tell whether my computer is Harvard or von Neumann architecture?如何判断我的计算机是哈佛架构还是冯诺依曼架构?
【发布时间】:2015-08-14 01:07:41
【问题描述】:

我正在使用具有以下配置的笔记本电脑。 处理器:Intel(R) Core(TM)i5-4300U CPU @1.90GHz 2.49GHz 内存:8GB 系统类型:64位操作系统,基于x64的处理器

Windows 版:Windows 8.2 企业版

当我阅读 CPU 架构时,我想知道我的计算机采用的 CPU 架构是什么?

【问题讨论】:

  • 我认为在当今的二级缓存和编译器优化以及将内存标记为不可执行的世界中,这在现实世界中是无法回答的。但是,这个问题在现实世界中以相关方式表达了自己。例如,为什么我们有专用显卡?我会争辩说,出于所有实际目的,所有基于 x86 的芯片都不是哈佛,但是它们在运行时有时会通过芯片和编译器级别的技巧来尝试模仿哈佛解决方案的行为。
  • 这个问题有点无关紧要,因为现在两者都是概念而不是实际架构。一般来说,x86对代码和数据都有统一的内存(特殊情况除外),因此更类似于冯诺依曼的概念,但比它复杂得多,没有比较的意义。

标签: cpu cpu-architecture von-neumann harvard-architecture


【解决方案1】:

您的处理器是modified Harvard Architecture。它之所以是修改后的哈佛架构,是因为它有split instruction and data L1 caches。除此之外,它是一个冯诺依曼架构——指令和数据都可以存在于其他缓存级别和主内存中。

仅当指令被视为数据时,两者之间的区别才相关,例如在自修改代码或即时编译器中。

【讨论】:

  • 感谢您的回答。你是怎么知道这个答案的?或者您是如何研究或分析的?
  • 我从学校知道部分答案。其余的我通过搜索网络了解到,包括我包含的链接。如果你喜欢我的回答,请接受。
  • 或者将可执行代码从磁盘加载到内存中的事实并不“特殊”。不仅仅是 JIT 编译器:在运行编译器生成可执行文件后,该文件仍将位于磁盘缓存 (RAM) 中,无需复制到任何地方即可执行它;它的页面可以从它们已经存在的物理内存中运行。或者在提取包含可执行文件的 tar.gz 或 zip 文件之后,或者复制它......在很多情况下,真正的哈佛架构必须做额外的工作。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-05
  • 2015-04-03
  • 2023-03-02
  • 2010-12-20
  • 2014-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多