我是靠谱客的博主 笑点低芝麻,最近开发中收集的这篇文章主要介绍冯诺依曼结构和哈佛结构,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

冯诺依曼结构提出了存储程序的方式,即指令和数据不加区分共同存储在内存中,按顺序执行。EIP指针指向哪cpu就加载哪块内存中的程序。CPU在保护模式中,每段内存都有其描述符,记录着内存的访问权限可读可写可执行。这就变相指明了哪些是指令哪些是数据。
存储器是按线性编址的一维结构,内核单元的大小固定。
指令由操作码和地址码组成,操作码指明了指令的操作类型,地址码指明了操作数和地址。
通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按顺序存放。由指令计数器指明要执行的指令的单元地址。指令计数器只有一个,一般按顺序递增。但执行顺序可以可以按当时的结果或外界条件改变。
以运算器为中心,io设备和存储器的数据都要经过运算器。
数据以二进制表示。


哈佛结构是一种将指令和数据分开存储的结构。处理器先从指令存储器中读到指令内容,然后解码得到数据地址,再到相应的数据存储器中读取数据。并执行下一步操作。程序和指令分开可以使得指令和数据的宽度不同。如pic16的指令宽度为14位,数据宽度为8位。avr系列和arm9以上,51系列都是哈佛结构。
哈佛结构由于数据和程序分开,即使程序跑飞也不会破坏数据区域。数据区的代码是变化的,而代码区时相对固定的。

总结:冯诺依曼的程序和数据共用数据总线和数据总线共用。
哈佛则分别总有程序的数据总线和地址总线。和数据的地址总线和数据总线。4条,而冯诺依曼为2条总线。由于哈佛是分开的存储结构,所以可以并行执行指令和处理数据,cpu的吞吐率提高一倍。

最后

以上就是笑点低芝麻为你收集整理的冯诺依曼结构和哈佛结构的全部内容,希望文章能够帮你解决冯诺依曼结构和哈佛结构所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部