哈佛结构冯·诺依曼结构
哈佛结构是一种将程序指令存储和 数据存储分开的存储器结构。哈佛结构是
一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽,还有ARM7。
为什么Cortex-M3是哈佛结构,却采用的是统一编址方式呢?
统一编址并不代表就是但总线结构,ARM9是哈佛结构也是统一
STM32中程序存储器、IO接口和数据存储器都是在32位的4GB线性空间上,下图就是这个线性空间的分配图,可以看出程序存储器和数据存储器处于不同的地址区域,不像8051那样程序存储器和数据存储器分别有两套不同的地址区域。统一编址并不代表就是单总线结构,STM32中不同的总线使用了不同的地址空间。
这里所说的哈佛或者冯诺依曼结构,指的是cpu的核心的结构,也就是说从kernel的角度来看,它的指令和普通数据总线是独立的,kernel自己有两套接口。而在大多数应用中,因为软件习惯问题以及从复杂度考虑,都是把I和D两个总线接到同一个外部总线上,这样就是大家使用统一编址了。
哈佛结构是有关CPU周边的总线架构,不是关于存储器本身的
下图为STM32内部的总线结构图,你可以清楚地看到Flash和SRAM分别使用了不同的通道与Cortex-M3核心交换数据,这正是典型的哈佛结构;你可以再比较一下ARM7的总线结构图,应该可以看出不同之处。 |
哈佛结构采用数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线。但这是需要CPU提供大量的数据线,因而很少使用哈佛结构作为CPU外部构架来使用。但是对于 CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,因而目前大部分计算机体系都是CPU内部的哈弗结构+CPU外部的冯·诺伊曼的结构
哈佛结构冯·诺依曼结构相关推荐
- 1.1计算机组成结构:CPU组成、冯·诺依曼结构与哈佛结构、嵌入式芯片术语
1.1计算机组成结构:CPU组成.冯·诺依曼结构与哈佛结构.嵌入式芯片术语 计算机组成结构 CPU组成 运算器 控制器 冯·诺依曼结构与哈佛结构 冯·诺依曼结构 哈佛结构 嵌入式--芯片术语 计算机组 ...
- 冯·诺依曼结构与哈佛结构浅析
前言 1945 年 6 月 30 日, 约翰 · 冯 · 诺依曼与戈德斯坦等人联名发表著名的 101 页报告:「First Draft of a Report on the EDVAC 」(EDVAC ...
- 哈佛结构和冯·诺依曼结构
目录 一.哈佛结构 二.冯·诺伊曼结构 三.哈佛结构和冯·诺伊曼结构对比 一.哈佛结构 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构.哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存 ...
- 冯·诺依曼结构和哈佛结构(歌尔声学软件测试题)
冯·诺依曼结构和哈佛结构是两种典型的微处理器组织结构. 冯·诺依曼(Newman)结构是将程序和数据放在同一存储空间,统一编址,依靠指令计数器提供的地址来区分是程序代码还是数据,取指令和取数据都访问同 ...
- 哈佛结构与冯.诺依曼结构(普林斯顿结构)
过去知道计算机的体系结构分为哈佛结构与冯.诺依曼结构,但并没有去总结他们有什么区别.今天来看看它们有什么区别. 冯.诺依曼结构,又称为普林斯顿结构.是一种经典的体系结构,有CPU,总线,外部存储器组成 ...
- 1CISC和RISC的区别联系是什么?2哈佛结构和冯·诺依曼结构的区别
RISC 和CISC 是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构.操作运行.软件硬件.编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很 ...
- 中央处理器的体系架构可以分为:冯·诺依曼结构和哈佛结构
冯·诺依曼型计算机的五大组成部分: 运算器.控制器.存储器.输入设备.输出设备 ①运算器.计算机中进行算术运算和逻辑运算的主要部件,是计算机的主体.在控制器的控制下,运算器接收待运算的数据,完成程序指 ...
- 瀑布模型,冯.诺依曼结构——摘自百科
瀑布模型是一个软件开发架构,于1970年被温斯顿·罗伊斯(Winston Royce)提出.其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与 ...
- 冯·诺依曼结构及其主要思想【计算机系统基础01】
冯·诺依曼结构,让每一位学习计算机系统基础的学生印象深刻,因为它是现代计算机的基础,是计算机系统知识架构中所绕不开的重要组成部分.计算机系统基础的学习,也从冯诺依曼结构开始. 世界上第一台通用电子计算 ...
最新文章
- (翻译)Quartz官方教程——第七课:TriggerListeners 和 JobListeners
- SQL2008错误:当 MUST_CHANGE 为 ON (开)时,不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)。...
- html 移动端关于长按图片弹出保存问题
- oracle时间mapper怎么比较,MyBatis+Oracle时间精度丢失的问题
- R语言之离群点检验(part3)--利用聚类检测离群点
- Python爬虫入门三urllib库基本使用
- (转)Java 调用 C++ (Java 调用 dll)
- 火焰传感器工作原理_水流传感器的工作原理和故障分析
- python元祖切片_Python
- 算法竞赛进阶指南 pdf_限时!字节跳动大牛2个月标星达70k的算法笔记,免费开源...
- Dynamica AX2012 Tmp Table or Form 获取数据
- python程序与设计课程设计二级减速器_二级减速器课程设计心得体会
- [转载]看我花式绕过校园网计费认证
- 张冬:OpenPOWER CAPI为什么这么快?(二)
- 【面霸系列 - 3】初级java如何挖掘自身的优势
- 连接mysql数据库error 2003_连接mysql数据库error 2003
- 风云岛行动电脑版模拟器使用体验报告
- Cannot create an instance of class AndroidViewModel (androidx ViewModelProvider AndroidViewModel)
- 比较电路中的正相反馈电阻作用
- 【UACME】在Win11上的发展