首页 理论教育 哈佛结构:解决冯·诺依曼瓶颈,提高执行效率

哈佛结构:解决冯·诺依曼瓶颈,提高执行效率

时间:2023-11-23 理论教育 版权反馈
【摘要】:为了解决冯·诺依曼瓶颈,也就是说CPU访问内存在读写数据的时候会影响指令的读取,于是后人对其进行改进,设计出哈佛结构。哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,如图2.3所示。图2.3哈佛结构哈佛结构的微处理器通常具有较高的执行效率。哈佛结构是程序和数据空间独立的体系结构,目的是减轻冯·诺依曼结构在程序运行时的访存瓶颈。哈佛结构基本上能解决取指和取数的冲突问题。

哈佛结构:解决冯·诺依曼瓶颈,提高执行效率

为了解决冯·诺依曼瓶颈,也就是说CPU访问内存在读写数据的时候会影响指令的读取,于是后人对其进行改进,设计出哈佛结构。哈佛结构是一种将程序指令存储和数据存储分开的存储器结构,如图2.3所示。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。

图2.3 哈佛结构

哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令是分开组织和存储的,执行时可以预先读取下一条指令。

哈佛结构是程序和数据空间独立的体系结构,目的是减轻冯·诺依曼结构在程序运行时的访存瓶颈。(www.xing528.com)

例如最常见的卷积运算中,一条指令同时取两个操作数,在流水线处理时,同时还有一个取址操作,如果程序和数据通过同一条总线访问,取址和取数必会产生冲突,而这对大运算量的循环执行效率是很不利的。

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

哈佛结构与冯·诺依曼结构相比,其处理器有两个明显的特点:使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

改进的哈佛结构,使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;两条总线由程序存储器和数据存储器分时共用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈