von Neumann architecture
星期一, 10月 1st, 2007最近准备复试组成原理是顺便仔细思考了一下冯诺依曼体系结构。
它的核心思想实际上很简单,就是将程序也用存储器存储下来(所谓以存储器为中心),CPU与存储程序的存储器是分开的。
wikipedia上的解释是这样的(wiki真是我们这个时代最伟大的发明之一,由于某些原因有时候无法正常访问,你可以通过answers.com来间接访问它)
Design of the Von Neumann architecture
The von Neumann architecture is a computer design model that uses a single storage structure to hold both instructions and data, named after mathematician and early computer scientist John von Neumann. The term describes such a computer, which implements a Universal Turing machine, and the common “referential model” of specifying sequential architectures, in contrast with parallel architectures.The separation of storage from the processing unit is implicit in the von Neumann architecture. The term “stored-program computer” is generally used to mean a computer of this design.
也就是说,von Neumann体系结构是用一个单独的存储器来存储程序和数据的(a single storage structure to hold both instructions and data),因此他也被称为”stored-program computer”,而之前早期的computing machines程序是固定的。
数据与程序是存储在一起的,计算机通过不同的阶段来区分数据与程序。在取址阶段取出数据,在执行阶段取出的则是数据。
von Neumann的体系结构在开始设计时,甚至可以让程序在运行是改变自身。这样设计的最初动机是为了在必要的时候改变代码的地址部分,在有了 index registers and indirect addressing之后这样做就显得没多少吸引力,它带来的问题远比利益来的多。
von Neumann体系结构带来的瓶颈也很明显的:程序与CPU的分离使CPU与memory间的throughput (data transfer rate)成为最主要的瓶颈。
The separation between the CPU and memory leads to the von Neumann bottleneck, the limited throughput (data transfer rate) between the CPU and memory in comparison with the amount of memory.