冯·诺依曼 vs 哈佛建筑

2024-01-09

为什么在设计个人计算机时,基于冯·诺依曼体系结构的计算机体系结构比哈佛体系结构更受青睐;而哈佛架构用于设计基于微机的计算机系统和基于DSP的计算机系统?


当前 PC 的 CPU 设计同时具有哈佛和冯·诺依曼元素(更多冯·诺依曼).

如果您查看 L1 缓存,您会发现在 AMD、ARM 和 Intel 系统中具有指令 L1 缓存和数据 L1 缓存,可以独立且并行地访问它们。这就是哈佛部分。然而,在L2、L3或DRAM中,数据和代码是混合的。这就是冯诺依曼部分.

那么为什么 PC 不采用纯粹的哈佛架构呢?我的意见是没有意义。如果您分析主要的大多数应用程序,您会发现L1指令Cache未命中率很小。这意味着通常代码大小不是问题。因此,为代码设计完全独立的路径是没有意义的。数据可以变得非常大,但代码却不能。

在 DSP 中,使用单独的代码和数据路径是有意义的。这是因为 DSP 的工作主要是“流数据”,这意味着对缓存的需求相当小。此外,DSP 代码还可以包含预先计算的系数,从而增加代码大小。因此,数据大小和代码大小之间存在平衡,这意味着使用哈佛架构是有意义的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

冯·诺依曼 vs 哈佛建筑 的相关文章

随机推荐

  • WPF DataGrid行和列样式问题

    我需要突出显示数据网格的 MouseOver 行 使用这种样式似乎很容易 问题是我还有一些只读单元格的样式定义为
  • 使用 Apache POI 从 PowerPoint 幻灯片中删除图表

    我们正在尝试使用 Apache POI 3 16 从 PowerPoint 幻灯片中删除图表 但遇到了困难 我们的代码执行以下步骤 打开现有的 PowerPoint 文档 模板文档 添加和删 除幻灯片 更新现有幻灯片中的图表 这很好用 在某
  • 角度谷歌地图标记未显示

    所以我正在使用 angular google maps 指令http angular ui github io angular google maps api http angular ui github io angular google
  • GDB - 我可以在内存中找到大数据元素吗

    我有一个程序 其中有大量静态定义的变量 如果我在 GDB 中启动它 在 main 中设置一个断点 然后运行 pmap 我会看到已经分配了大约 100MB 的数据 08838000 107576K rw anon 我已经找到了一堆具有巨大静态
  • Android 中的 speex 支持

    有人可以帮我吗如何在android中使用speex或jspeex 我搜索了很多 但找不到任何地方 有很多与此相关的问题但没有人回答这个问题 在这里 这个问题也没有得到很好的答复 因为我的另一个问题是Android 中解码 speex 编码的
  • 如何在 jQuery 的 Ajax 函数中获取正确的循环变量

    for i 1 i lt 6 i post ajax php param i function response console log i 如何获得正确的 i 变量 post完整的功能 我可以向它传递变量吗 Add an IIFE htt
  • JMenu 子菜单小箭头图标指示器

    有谁知道如何控制JMenu子菜单上出现的小箭头的显示 我可以改变它吗 我可以禁用它吗 我可以移动它吗 另外 我注意到只有当顶级 JMenu 是其他 JMenu 的子菜单时 此箭头才不会出现在顶级 JMenu 上 这种不一致让我很恼火 因为我
  • 对一个查询中的多个列进行计数

    伙计们 我有四个疑问 查询 1 select satisfaction score count satisfaction score as Satisfaction count from j survey response where sa
  • 与类名同名的命名空间

    我认为以下操作是有意义的 但这是不可能的 并且会引发错误 The namespace foo already contains a definition for bar namespace foo public class bar name
  • 如何在 Kubernetes 中向外部公开 StatefulSet 的无头 Kafka 服务

    Using Kubernetes Kafka https github com Yolean kubernetes kafka作为 minikube 的起点 这使用了 StatefulSet 和无头服务 https github com Y
  • ADB0020:Android ABI 不匹配。如何设置目标物理设备的ABI?

    我有一台全新的三星 A10 上面有 Pie 我正在尝试运行 MediaPlugin 中提供的示例应用程序 https github com jamesmontemagno MediaPlugin https github com james
  • Python协程可以在没有await或yield的情况下实现吗?

    我正在学习Python的await async语法 想知道如何在没有async await或yield的情况下实现协程 例如 我使用 async def 语法制作了这个简单的三秒计时器 import asyncio async def co
  • 如何让多个并发 AWS 控制台会话登录到多个账户/角色组合?

    AWS 控制台允许每个浏览器实例一个连接会话 当一个人经常在帐户之间切换时 这会很麻烦 如何让多个 AWS 控制台会话同时处于活动状态 并且能够轻松区分它们 If I understand correctly there is a way
  • 如何禁用 ASP.NET 应用程序的某些 API

    假设我有一个包含一些 API 的 ASP NET 应用程序 例如 HostName api a HostName api b 现在我想禁用所有 HostName api a API 但仍保留 api b 当客户打电话时 api a API
  • 在 Meteor 客户端上显示服务器时间

    使用 Meteor 在显示服务器时间的客户端上保持运行时钟 h m s 的有效方法是什么 我发现的 JavaScript PHP 答案通常涉及定期获取服务器时间并计算该时间与客户端之间的差异 Meteor 会是什么样子 更新 自从我最初发布
  • 找到 Math.min 行

    我已经找到了 csv 文件中某一列的最低值 但我找不到哪一行存储该值 有人能帮助我吗 尽管我已经用谷歌搜索了很多天和网站 但无论如何我可以自己找到答案吗 提前致谢 function getDataPointsFromCSV csv var
  • kubernetes:来自服务器的错误(禁止):用户“system:anonymous”即使在授予权限后也无法列出集群范围内的节点

    即使在向用户授予集群角色之后 我也得到了Error from server Forbidden User system anonymous cannot list nodes at the cluster scope get nodes 我
  • Linux内核中的系统调用表在哪里?

    我正在阅读 Robert Love 撰写的 Linux 内核开发 他所做的练习之一就是创建系统调用 第 106 页 问题是我无法在 v3 9 中找到 x86 32 架构的系统调用表文件 我知道他使用的是 2 6 xx 版本 但我不知道该版本
  • 基于视图的 NSOutlineview 选择渐变

    我仍然在我的 Cocoa 小应用程序中与基于视图的 NSOutlineView 作斗争 我正在尝试在查找器之后对我的 OutlineView 进行建模 当 Finder OutlineView 失去焦点 例如单击右侧的任何文件夹 时 所选行
  • 冯·诺依曼 vs 哈佛建筑

    为什么在设计个人计算机时 基于冯 诺依曼体系结构的计算机体系结构比哈佛体系结构更受青睐 而哈佛架构用于设计基于微机的计算机系统和基于DSP的计算机系统 当前 PC 的 CPU 设计同时具有哈佛和冯 诺依曼元素 更多冯 诺依曼 如果您查看 L