普林斯顿结构 VS 哈佛结构
1. 冯·诺依曼结构
冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
目前使用冯·诺依曼结构的CPU和微控制器有很多。其中包括英特尔公司的8086及其他CPU,TI的MSP430处理器,ARM公司的ARM7,MIPS公司的MIPS处理器。
2. 哈佛结构
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问,目的是为了减轻程序运行时的访存瓶颈。
如图,哈佛结构的计算机由CPU、程序存储器和数据存储器组成,程序存储器和数据存储器采用不同的总线,从而提供了较大的存储器带宽,使数据的移动和交换更加方便,尤其提供了较高的数字信号处理性能。
目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11。
3. 总结
随着CPU设计的发展,流水线的增加,指令和数据的互斥读取影响CPU指令执行的scale程度。哈佛结构中数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线,取操作数与取指令能同时进行。但这是需要CPU提供大量的数据线,因而很少使用哈佛结构作为CPU外部构架来使用。对于CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,因而目前大部分计算机体系都是在CPU内部的使用哈佛结构,在CPU外部使用冯·诺依曼结构。
普林斯顿结构 VS 哈佛结构相关推荐
- 普林斯顿结构和哈佛结构
普林斯顿结构 普林斯顿结构,也称冯·诺伊曼结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构.程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如 ...
- 普林斯顿结构 VS 哈佛结构 及 程序性能优化
https://blog.csdn.net/skywalker_leo/article/details/7819463 1. 冯·诺依曼结构 冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存 ...
- 普林斯顿结构与哈佛结构
冯.诺依曼结构,又称为普林斯顿结构.是一种经典的体系结构,有CPU,总线,外部存储器组成.这种体系结构采用程序代码存储器与数据存储器合并在同一存储器里,但程序代码存储器地址与数据存储器地址分别指向不同 ...
- 哈佛结构与普林斯顿结构的区别通俗易懂
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构.中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行).程序指令 ...
- 普林斯顿结构 哈佛结构 比较
普林斯顿结构 -- 通用计算机 ARM7 -- 冯 诺依曼结构 哈佛结构 -- 单片机 ARM9 ARM10 ARM11 普林斯 ...
- 哈佛结构与冯.诺依曼结构(普林斯顿结构)
过去知道计算机的体系结构分为哈佛结构与冯.诺依曼结构,但并没有去总结他们有什么区别.今天来看看它们有什么区别. 冯.诺依曼结构,又称为普林斯顿结构.是一种经典的体系结构,有CPU,总线,外部存储器组成 ...
- 【原创】存储器设计思想——冯诺依曼结构和哈佛结构
冯诺依曼结构 冯诺依曼结构,也叫普林斯顿结构,指令和数据是不加区别地混合存储在同一个存储器中的,共享数据总线.指令和数据地址指向同一个存储器的不同物理位置,指令和数据的宽度相同.由于指令和数据 ...
- 单片机工作笔记002---认识CPU的结构_哈佛结构和冯·诺依曼结构的区别
技术交流QQ群[JAVA,.NET,BigData,AI]:170933152 哈佛结构 (英语:Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构.中央处理器首 ...
- 对比分析冯诺依曼结构和哈佛结构。
冯-诺伊曼结构,又称普林斯顿结构,是一种将程序指令存储器和数据存储器结合起来的存储器结构.程序指令存储地址和数据存储地址指向同一存储器中的不同物理位置,所以程序指令和数据的宽度是一样的. 哈佛结构与冯 ...
最新文章
- CreateProcess创建进程
- 建立学生选课表 mysql 语句_学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)...
- 2019-12-02 调用C++高精度时钟 std::chrono::high_resolution_clock的方法
- 怎么把线稿提取出来_【PS技巧】如何用PS快速提取线稿?
- weblogic-修改控制台登录密码
- Tuxera NTFS 2021 for Mac(NTFS磁盘格式读写工具)
- 编址与存储相关计算(一)——软考之路
- dll和so文件区别与构成
- ADMM 大规模变量优化
- 方差 标准差_总体、样本、总体方差、样本方差、抽样方差和标准误
- office2021下载|office2021安装包配置过程图文教程
- ubuntu16.04安装百度网盘
- 海龟画图 python太阳花_《海》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
- 侍魂微信第一个服务器,在游戏中,武者大大们来到的第一个地图叫什么名字?...
- matlab 反走样,如何在python中使用Matlab的imresize
- rk3288_5.1_BOX 调整HDMI屏幕满屏
- Coding pages 不见了
- win7出现多重网络导致的不能上网netsh工具简介
- 关于个人编写企业资源管理软件的思路
- 运维工作常见问题处理74-100(三)