0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CPU采用的是哈佛结构还是冯诺依曼结构?

GReq_mcu168 来源:知晓编程 作者:Firefly 2021-04-25 16:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

现代的CPU基本上归为冯诺伊曼结构(也成普林斯顿结构)和哈佛结构。

冯洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端(台式/笔记本/服务器/工作站等),一个雄踞移动领域,我们的手持设备(平板手机用的大多就是他了)。

01冯·诺依曼体系

冯·诺依曼体系结构图如下

233c223c-a4ba-11eb-aece-12bb97331649.png

冯·诺依曼体系的特点:

A、数据与指令都存储在同一存储区中,取指令与取数据利用同一数据总线。

B、被早期大多数计算机所采用。

C、ARM7——冯诺依曼体系结构简单,但速度较慢。取指不能同时取数据

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

冯。诺依曼结构处理器具有以下几个特点:

1:必须有一个存储器;

2:必须有一个控制器;3:必须有一个运算器,用于完成算术运算和逻辑运算;4:必须有输入设备和输出设备,用于进行人机通信。另外,程序和数据统一存储并在程序控制下自动工作。冯·诺依曼结构:英特尔公司的8086。英特尔公司的其他中央处理器。ARM的ARM7。MIPS公司的MIPS处理器。

02哈佛体系

哈佛体系结构图

23740fa8-a4ba-11eb-aece-12bb97331649.png

结构特点:

A、程序存储器与数据存储器分开。

B、提供了较大的存储器带宽,各自有自己的总线。

C、适合于数字信号处理。

D、大多数DSP都是哈佛结构。

E、ARM9是哈佛结构,取指和取数在同一周期进行,提高速度,改进哈佛体系结构分成三个存储区:程序、数据、程序和数据共用。

哈佛结构是一种存储器并行体系结构,主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。

哈佛结构能基本上解决取指和取数的冲突问题。而对另一个操作数的访问,就只能采用Enhanced哈佛结构了,例如像TI那样,数据区再split,并多一组总线。或向AD那样,采用指令cache,指令区可存放一部分数据。。

哈佛结构:

1、ARM(除arm7)

2、大部分DSP

哈佛体系架构有个致命的弱点在动态加载程序上面,想象我们从外存中读取一段程序然后加载到RAM,这个程序是在数据内存当中的,我们需要一种机制将数据内存再传输到程序内存当中去,这反而增加了设备复杂度。

对于多任务操作系统来说,管理程序内存是一件非常重要的事情,而且仅仅是保护模式下的页面映射等等机制就已经足够复杂了,如果还要求将程序和数据分开管理,复杂度就太高了。这种时候冯诺依曼体系结构就有非常大的优势了。

03arm和哈佛、冯·诺依曼的关系

哈佛架构是针对cpu从cache中取指而言,指令和数据在主存中并未分开,但在加载到cache中的时候被分离为指令和数据两份存储空间,cpu可以同时从cache取到指令和数据。

所以arm系统CPU(除arm7)对外表现为冯。诺伊曼架构,对内则表现为哈佛架构。

04实际芯片制造

实际上,绝大多数现代计算机使用的是所谓的“ModifiedHarvard Architecture”,指令和数据共享同一个address space,但缓存是分开的。可以说是两种架构的一种折中吧。

在现实世界中很少有非常纯粹的概念,特别是在实际的应用里。教科书里的大多是理想化的模型,便于掌握某个概念的重点和本质,但实际中很难达到这种理想化的状态。

哈佛结构和冯诺依曼结构主要区别在是否区分指令与数据。在教科书里这是两种截然不同的做法。

但实际上在内存里,指令和数据是在一起的。而在CPU内的缓存中,还是会区分指令缓存和数据缓存,最终执行的时候,指令和数据是从两个不同的地方出来的。你可以理解为在CPU外部,采用的是冯诺依曼模型,而在CPU内部用的是哈佛结构。

大部分的DSP都没有缓存,因而直接就是哈佛结构。

哈佛结构设计复杂,但效率高。冯诺依曼结构则比较简单,但也比较慢。CPU厂商为了提高处理速度,在CPU内增加了高速缓存。也基于同样的目的,区分了指令缓存和数据缓存。有时为了解决现实问题,究竟是什么主义真的没那么重要。因而个人认为争论到底是哪种结构意义不大。

原文标题:STM32属于哈佛结构还是冯诺依曼结构?

文章出处:【微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222921
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371131

原文标题:STM32属于哈佛结构还是冯诺依曼结构?

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    控制结构介绍

    1. 顺序结构:按照代码的书写顺序,逐行执行程序。这是最基本的程序结构。 2. 选择结构:根据条件判断的结果,选择执行不同的代码块。常见的选择结构有if语句和switch语句。 3
    发表于 11-24 06:43

    DSP的基础

    ,是一种专用于数字信号处理的可编程芯片。它的主要特点是: ①高度的实时性,运行时间可以预测; ②Harvard体系结构,指令和数据总线分开(有别于·
    发表于 11-20 06:35

    C语言结构体使用

    有时候需要将不同类型的数据组合为一个整体,以便于引用。例如,一名学生有学号、姓名、性别、年龄等属性,如果针对每个属性都单独定义一个变量,那么当有多名学生时变量就难以分清。结构体就是用来管理不同类
    发表于 11-12 08:30

    顺络绕线贴片电感结构是怎样的?

    顺络绕线贴片电感采用 半磁屏蔽结构设计 ,结合精密绕线与磁屏蔽涂覆工艺,在减少漏磁、提升通流能力及优化高频性能方面表现突出。以下从结构组成、设计特点、工艺优化及性能优势四个方面展开说明: 一、
    的头像 发表于 11-07 17:45 485次阅读
    顺络绕线贴片电感<b class='flag-5'>结构</b>是怎样的?

    《AI芯片:科技探索与AGI愿景》—— 深入硬件核心的AGI指南

    《AI芯片:科技探索与AGI愿景》一书如同一张详尽的“藏宝图”,为读者指明了通往下一代人工智能的硬件之路。作者没有停留在空洞的概念层面,而是直击核心,从·架构的“内存墙”瓶颈切
    发表于 09-17 09:29

    PIC18F97J60系列数据手册

    PIC单片机是Microchip公司生产的一类单片机,和-结构不同的哈佛
    发表于 07-28 16:37 0次下载

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    CPU Socket的基本结构和工作原理

    CPU Socket是连接中央处理单元(CPU)与计算机主板之间的关键部件,它充当着传递电信号、电源和散热等多重功能的枢纽。在整个计算机系统中,CPU Socket的作用至关重要,尤其在高性能计算
    的头像 发表于 05-08 17:14 1887次阅读

    【「芯片通识课:一本书读懂芯片技术」阅读体验】从deepseek看今天芯片发展

    神经元并行处理问题的能力,所以NPU要用大量计算单元(也称为“算子”)构成一个神经网络,而且这些算子的数据存储和计算是一体化的。这就突破了传统的·计算机架构,因为
    发表于 04-02 17:25

    PKE低频天线结构与原理

    PKE低频天线的结构主要由高q值磁棒电感和高压电容组成,经过绕线、焊接、组装、调测和密封等近20道工艺制作而成‌‌1。这种结构确保了在特定的条件下密封成型,并且经过6道检测。PKE低频天线通常采用3D立体感应天线设计,通过纵横交
    的头像 发表于 03-01 17:15 1393次阅读

    DLPC150如何校准光路结构

    我这边自己做了光路结构,但是不太清楚怎么去校准,是需要控制dlpc150的测试图案然后来扫描还能校准吗?还是说需要单独控制每个镜片偏转呢?
    发表于 02-21 07:20

    采用AFE0064和ADS8363加fpga结构,如何进行控制?

    采用AFE0064和ADS8363加fpga结构,详问如何进行控制?
    发表于 02-05 06:10

    fpga和cpu的区别 芯片是gpu还是CPU

    一、FPGA与CPU的区别 FPGA(Field-Programmable Gate Array,现场可编程门阵列)和CPU(Central Processing Unit,中央处理器)是两种不同类
    的头像 发表于 02-01 14:57 2996次阅读

    陶瓷的微观结构和电学性能

    本文采用传统固相反应工艺,在不同烧结温度下制备了一系列CaCuTiO₃(CCTO)陶瓷样品,并对其微观结构以及介电和复阻抗性质进行了系统研究。研究结果表明,这些样品的微观结构可分为三种类型。CCTO
    的头像 发表于 01-23 09:21 1304次阅读
    陶瓷的微观<b class='flag-5'>结构</b>和电学性能

    cd14538b的输出结构后面接MCU,MCU的输入是配置为上拉,还是下拉,还是不上拉下拉?

    请教下cd14538b的输出结构,后面接MCU。MCU的输入是配置为上拉,还是下拉,还是不上拉下拉。
    发表于 12-31 07:46