美丽符号的面膜怎么样:什么是冯诺依曼瓶颈

来源:百度文库 编辑:高校问答 时间:2024/05/05 14:08:54
哈佛结构

用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;

具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;

在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯.诺曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,如图6.4,指令1至指令3均为存、取数指令,对冯.诺曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。

如果采用哈佛结构处理以上同样的3条存取数指令,如图6-5,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。

哈佛结构强调了总的系统速度以及通讯和处理器配置方面的灵活性。

自己找了下,好像和这个有关, 对付考试差不多了:)anyhow,多谢啦

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
  将CPU与内存分开并非十全十美,反而会导致所谓的冯·诺伊曼瓶颈(von Neumann bottleneck):在CPU与内存之间的流量(资料传输率)与内存的容量相比起来相当小,在现代电脑中,流量与CPU的工作效率相比之下非常小,在某些情况下(当CPU需要在巨大的资料上执行一些简单指令时),资料流量就成了整体效率非常严重的限制。CPU将会在资料输入或输出内存时闲置。由于CPU速度以及内存容量的成长速率远大于双方之间的流量,因此瓶颈问题越来越严重。而冯·诺伊曼瓶颈是约翰·巴科斯在1977年ACM图灵奖得奖致词时第一次出现,根据巴科斯所言:
  “……确实有一个变更储存装置的方法,比借由冯·诺伊曼瓶颈流通大量资料更为先进。瓶颈这词不仅是对于问题本身资料流量的叙述,更重要地,也是个使我们的思考方法局限在‘一次一字符’模式的智能瓶颈。它使我们怯于思考更广泛的概念。因此编程成为一种计划与详述通过冯·诺伊曼瓶颈的字符资料流,且大部分的问题不在于资料的特征,而是如何找出资料。”
  在CPU与内存间的快取内存抒解了冯·诺伊曼瓶颈的效能问题。另外,分支预测(branch predictor)算法的建立也帮助缓和了此问题。巴科斯在1977年论述的“智能瓶颈”已改变甚多。且巴科斯对于此问题的解决方案并没有造成明显影响。现代的函数式编程以及面向对象编程已较少执行如早期Fortran一般会“将大量数值从内存搬入搬出的操作”,但平心而论,这些操作的确占用电脑大部分的执行时间。

不知这是不是你想要的东东 呵呵.....

电脑有四个主要部分:中央处理器、存储器、接口电路和外部设备,各部分之间的互连总线有:地址总线、控制总线、双向数据线和输入输出线。电脑的信息数据采用二进制进行编码,将数据输入电脑时,是一个一个地按地址对号先后入座,经计算、处理,然后输出结果,而不是将数据同时输入电脑。将数据一个一个地输入和处理的方式被称为串行方式;将数据同时输入和处理的方式,被称为并行方式。串行方式比并行方式所需的各部件之间的互联线数目大大减少,从而简化了电路,使目前超大规模集成电路得以实现。但是,却使电脑丧失了实时处理的能力,因为,串行方式延长了数据输入和处理的时间,从而限制了电脑的计算处理速度,这就是所谓冯诺依曼"瓶颈"问题。如同满瓶之水,只能从瓶颈慢慢地流出,使时间延长了。