0.评论集合

非冯诺伊曼型结构以前就有,比如哈佛结构,现在又有一些新的提出不过尚处于研究阶段,比如量子计算机,但量子计算机颠覆的已不仅仅是冯氏体系,而是图林模型,但这些新模型想投入使用并取代冯氏结构也许几十年内都不可能。
 冯诺伊曼体系结构指的就是:“程序存储,和顺序执行”
Here is the definition I got from the hyper dictionary:

VON NEUMANN ARCHITECTURE
Computing Dictionary

Definition: A computer architecture conceived by mathematician John von Neumann, which forms the core of nearly every computer system in use today (regardless of size). In contrast to a Turing machine, a von Neumann machine has a random-access memory (RAM) which means that each successive operation can read or write any memory location, independent of the location accessed by the previous operation.

A von Neumann machine also has a central processing unit (CPU) with one or more registers that hold data that are being operated on. The CPU has a set of built-in operations (its instruction set) that is far richer than with the Turing machine, e.g. adding two binary integers, or branching to another part of a program if the binary integer in some register is equal to zero (conditional branch).

The CPU can interpret the contents of memory either as instructions or as data according to the fetch-execute cycle.

Von Neumann considered parallel computers but recognized the problems of construction and hence settled for a sequential system. For this reason, parallel computers are sometimes referred to as non-von Neumann architectures.

A von Neumann machine can compute the same class of functions as a universal Turing machine.


能说明问题了吗?
顺便比较一下图灵:
Definition: A hypothetical machine defined in 1935-6 by Alan Turing and used for computability theory proofs. It consists of an infinitely long "tape" with symbols (chosen from some finite set) written at regular intervals. A pointer marks the current position and the machine is in one of a finite set of "internal states". At each step the machine reads the symbol at the current position on the tape. For each combination of current state and symbol read, a program specifies the new state and either a symbol to write to the tape or a direction to move the pointer (left or right) or to halt.

In an alternative scheme, the machine writes a symbol to the tape *and* moves at each step. This can be encoded as a write state followed by a move state for the write-or-move machine. If the write-and-move machine is also given a distance to move then it can emulate an write-or-move program by using states with a distance of zero. A further variation is whether halting is an action like writing or moving or whether it is a special state.

Without loss of generality, the symbol set can be limited to just "0" and "1" and the machine can be restricted to start on the leftmost 1 of the leftmost string of 1s with strings of 1s being separated by a single 0. The tape may be infinite in one direction only, with the understanding that the machine will halt if it tries to move off the other end.

All computer instruction sets, high level languages and computer architectures, including parallel processors, can be shown to be equivalent to a Turing Machine and thus equivalent to each other in the sense that any problem that one can solve, any other can solve given sufficient time and memory.

Turing generalised the idea of the Turing Machine to a "Universal Turing Machine" which was programmed to read instructions, as well as data, off the tape, thus giving rise to the idea of a general-purpose programmable computing device. This idea still exists in modern computer design with low level microcode which directs the reading and decoding of higher level machine code instructions.

A busy beaver is one kind of Turing Machine program.

Dr. Hava Siegelmann of Technion reported in Science of 28 Apr 1995 that she has found a mathematically rigorous class of machines, based on ideas from chaos theory and neural networks, that are more powerful than Turing Machines. Sir Roger Penrose of Oxford University has argued that the brain can compute things that a Turing Machine cannot, which would mean that it would be impossible to create artificial intelligence. Dr. Siegelmann's work suggests that this is true only for conventional computers and may not cover neural networks.

和并行计算:
A computer with more than one central processing unit, used for parallel processing.(they could be in a physical machine or just a virtual machine,我加注的)。
现在又有一些新的提出不过尚处于研究阶段,比如量子计算机,但量子计算机颠覆的已不仅仅是冯氏体系,而是图林模型,但这些新模型想投入使用并取代冯氏结构也许几十年内都不可能。


----那并行计算是什么?
你说的turing模型没错,但是对于von体系的理解是不对的
即使对于MPP这样的并行计算来说,各个CPU依然可能是冯诺伊曼结构,这两个不是一个范畴的概念。一般说冯诺伊曼是对就一个CPU而言,冯诺伊曼提出了将程序放在存储器里执行的思想,并就此提出一种具体的结构设计,称之为冯诺伊曼结构,主要特点是程序放存储器里,另外包含运算器,指令译码器,控制系统,输入输出系统,数据总线与控制总线分离的结构,程序指令顺序取出执行。而非冯诺伊曼计算机以前的有数据驱动和图形驱动的结构,程序存储的思想不变,但指令不是顺序执行,这两种结构都天然就具有处理一些我们在冯氏体系中需要用并行计算来处理的问题的能力,或者说,这些问题在这两种结构中都不需要专门为设计类似算法。所以,我们通常作为一种学科研究的并行计算与冯诺伊曼结构并不矛盾,两者不是一个范畴的概念。而图灵机与冯诺伊曼结构也不是一回事,图灵机是一种抽象计算机,而冯诺伊曼则是具体实现,两者更不是一个范畴的东西。至于分布式计算(包含网格计算和集群计算)那已经是软件的东西了,更与冯氏扯不上了。所以我想你对冯诺伊曼结构方面和并行计算方面的知识还需要再看看。
 回复: 此并行计算非彼“并行”。
1.即使对于MPP这样的并行计算来说,各个CPU依然可能是冯诺伊曼结构,这两个不是一个范畴的概念。
--CPU? or computer?
von Neumann machine or von Neumann Architecture,
你在不断的偷换概念。

2.一般说冯诺伊曼是对就一个CPU而言,冯诺伊曼提出了将程序放在存储器里执行的思想,并就此提出一种具体的结构设计,称之为冯诺伊曼结构,主要特点是程序放存储器里,另外包含运算器,指令译码器,控制系统,输入输出系统,数据总线与控制总线分离的结构,程序指令顺序取出执行
--一般的?如果是多个CPU,那叫什么?
并且这里你又把von neumann machin和von neumann architecture还一起说事了。

3。而非冯诺伊曼计算机以前的有数据驱动和图形驱动的结构,程序存储的思想不变,但指令不是顺序执行,这两种结构都天然就具有处理一些我们在冯氏体系中需要用并行计算来处理的问题的能力,或者说,这些问题在这两种结构中都不需要专门为设计类似算法。
--这里“以前”是什么意思?什么是数据驱动,图形驱动?
你也承认“非顺序执行就不是von neumann architecuture了。但还可以说是von neumann machine,是这个意思吧?

4。所以,我们通常作为一种学科研究的并行计算与冯诺伊曼结构并不矛盾,两者不是一个范畴的概念。
--什么叫不是一个范畴?是你指的什么CPU, 软件等等的问题吗?

5。两者不是一个范畴的概念。而图灵机与冯诺伊曼结构也不是一回事,图灵机是一种抽象计算机,而冯诺伊曼则是具体实现,两者更不是一个范畴的东西。
--turing在处存储思想上和VON是一样的。我提到了TURING是因为你上面提到了他,严格的说Universal Turing Machine是目前看到的所有计算机的理论依据,如果说TURING体系50年不变,大部分人都同意。

6。至于分布式计算(包含网格计算和集群计算)那已经是软件的东西了,更与冯氏扯不上了。
--恐怕你说错了吧。我多说几句:
PARALLEL COMPUTER:A computer with more than one central processing unit, used for parallel processing.
分布式计算体系属于属于PARALLEL COMPUTER的范围(从VIRTUAL MACHINE的角度讲),MULTIPROCESSOR也是在这范围,这和软件有什么关系?
难道您的意思是说都必须要硬件实现?那我想如果不是出于通用的考虑,用硬件实现也不是不可以(
All computer instruction sets, high level languages and computer architectures, including parallel processors, can be shown to be equivalent to a Turing Machine and thus equivalent to each other in the sense that any problem that one can solve, any other can solve given sufficient time and memory.
这有足够的说服力吧?)
并且,附带说明一下,你输得他们属于软件范畴的书法也是不对的。有一些东西事实上在硬件上造就实现了(比如ibm很早的370和3090就已经有了硬件了,当代的sp等等数不胜数)

另外,你举了mpp的例子,如果你学过mpp,那说明你是PH.D,不过,我觉得MPP应该属于并行“运算的范围,只是dce的一个小子集,并不是全部,对于mpp来说,她关心的是计算单元的规划以及在计算节点上的分配和组合,MPP关心的不是CPU,CPU也不是VON系的本质(程序存储,顺序计算才是),MPP的节点我想程序存储没问题,但是“顺序执行"恐怕没有人这样认为。

--所谓的VON NEUMANN MACHINE就是指COMPUTER是由I/O,CPU(CU&ALU),MEMORY组成的。
VON NEUMANN 体系结构指的是“程序存储,顺序执行“。

7。所以我想你对冯诺伊曼结构方面和并行计算方面的知识还需要再看看。
--那时,我一直在认真的看,不光是要看,还要象别人虚心请教。

回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
如此长篇大论,我不一一反驳了,只说明几点,其他我觉得再去看看组成原理或并行体系结构的教科书就可以了。

1)CPU的说法可能不十分严格,但你总不能让我每次都写CPU+存储器+输入输出吧,我不知道该怎么简练表达,我以为这样你应该可以理解。

2)非顺序不是一定就是并行,同样,并行是一个宏观概念,所以,并行不一定就意味着微观非顺序。而且,冯结构指的顺序是指令按顺序(根据指令计数器内容)被取出执行,不是指顺序执行,这两者是不一样的,否则,所有RISC计算机就都不算是冯氏结构了。

3)一般说分布式计算只是狭义的指MUTI-COMPUTER,多处理器的往往单列一类,因为两者的技术以及面临的问题差别还是比较大的。多处理器的并行计算可以通过硬件实现,但分布式计算我没有听说过纯硬件的。

4)我不是phD, 我以前的专业是分布式,所以了解一些,而且这些很多应该大学里都应该学过。
回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
长话短说
站在以cpu为中心的观点上,你说的是对的,站在MEMORY(SHARED MEMORY)的角度上,你说的不对。

对于:2)非顺序不是一定就是并行,同样,并行是一个宏观概念,所以,并行不一定就意味着微观非顺序。而且,冯结构指的顺序是指令按顺序(根据指令计数器内容)被取出执行,不是指顺序执行,这两者是不一样的,否则,所有RISC计算机就都不算是冯氏结构了。
--这里指的是单一cpu的pc顺序吧,如果是多CPU呢?他们之间的pc可以不是顺序的吧。这里我说的是并行,不是并发。

3)我学的图灵机只说状态数据被存储,你的图灵机所谓程序也被存储是从哪里学到的?
---THE IDEA ,KNOWN AS THE "STORED-PROGRAM CONCEPT" ,IS USUALLY ATTRIBUTED TO THE enica DESIGNERSMOST NOTABLY THE MATHEMATICIAN JOHN VON NEUMANN,WHO WAS A CONSULTANT ON THE ENIAC PROJECT.THE IDEA WAS ALSO DEVELOPED AT ABOUT THE SAM TIME BY TURING.(EXCERPTED FROM COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE 4 EDITION 1996 BY PRENTICE HALL.)

4)一般说分布式计算只是狭义的指MUTI-COMPUTER,多处理器的往往单列一类,因为两者的技术以及面临的问题差别还是比较大的。
---那恐怕是你要看看书了,尽管对DISTRIBUTED SYSTEMS的定义不是很严谨,但是至少flynn的分类还是基本上被大家认同的(SISD, SIMd, MIMD( 细分为multiprocessors 和multicomputers).


我觉得站在DSP等等的立场上看问题,是比较片面的。并且,单一CPU内的并行处理以已经产品话的东西。
 回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
共享存储多处理器依然需要编译器和操作系统的帮忙,而站在微观角度,每个CPU存储器组成的结构依然是冯诺依曼型的,虽然理论上我可以将一个数据驱动的非冯诺依曼结构以这样的方式实现并且不依靠操作系统,但我比较孤陋寡闻,不晓得现实有无这样的机器,我没有专门研究过。

通用图灵机与冯诺依曼结构确是一致的。

关于分布式系统定义的问题,确实没有统一的定义,所以我要说一般指什么。书的头几页一般都会这样讲他的定义,其实也算不上定义,我觉得只能算介绍一下背景,家族,有哪些亲戚而已。如果你了解他们,你应该知道分布式计算与并行计算是差别非常大的,那些书一般讲完头几叶后面就开始该讲啥讲啥了。所以这方面的论文往往也不会特意注明我这是muti-computer还是multi-processor.

"单一CPU内的并行处理", RISC就是这样的CPU,但我认为它仍然是冯氏体系的。

回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
我值得是对于一个multi-procssor的computer来说,把这个computer作为整体来看,由于引入了并行计算,所以已经不是SISD了,可以不是顺序执行的(不同CPU之间的pc没有顺序说法,在同一CPU内部是顺序的。调度是由操作系统完成的。所以我说了站在单一CPU的观点上,可以说这个CPU是诺伊曼体系的,但是那和站在computer整体的观点上提到的“顺序执行“的概念是不一样的。cpu为中心就是这样过渡到以memory为中心的。我这样江你不困惑吧?

关于分布式系统定义的问题,确实没有统一的定义,所以我要说一般指什么。书的头几页一般都会这样讲他的定义,其实也算不上定义,我觉得只能算介绍一下背景,家族,有哪些亲戚而已。如果你了解他们,你应该知道分布式计算与并行计算是差别非常大的,那些书一般讲完头几叶后面就开始该讲啥讲啥了。所以这方面的论文往往也不会特意注明我这是muti-computer还是multi-processor.
-还是要说的。不过区别不是很大(但是在不同细节的实现上难度是大相径庭的)。

"单一CPU内的并行处理", RISC就是这样的CPU,但我认为它仍然是冯氏体系的。
---不是什么RISC不RISC,RISC值得是时钟片内的"并发“吧?,我只得是有些CPU已经可以做到一个CPU由好几个CPU组成,这些内部的cpu是真正的并发的,(powepc,具体型号几不住了)。

回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
你理解的不对,考察体系结构时不应该把操作系统的因素也加进来。

分布式计算与并行计算虽然问题域有相同的地方,但不同的地方更大,两者各自理论发展出的概念也不同。怎么能说“区别不是很大”呢?

流水线技术本身就是一种并行技术。其实并行计算不是一定和多CPU联系在一起的,这是一种误解。另外我记得powerpc就是一个RISC CPU。

以什么为中心,是从计算机的体系结构的观点出发的,没有这个前提,我的论点是不对的。
回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
到这里基本上都已经讲得很明白了
关于你我的出发点,即现在的non von numann体系到底是von meumann的扩展呢,还是几经不属于指体系了,业界并没有一个统一的认识。

另外,我并没有讲distributed system合并兴系统美多大区别,我只得是dce的multi-processors和multi-computers还是有区别的。

考虑操作系统,我的意思是指分布计算环境需要操作系统提供相应的支持(同步,时钟,资源管理。。。)。

power PC是RISC,我没有说不是,但是,你怎么就这么肯定她只有一个CPU?

并行计算的和CPU相关的并行问题,我并没有提出来,因为我不懂象array, vector,,等等技术。但是,DCE是其他并行计算模型的环境(MPP,cluster。。。),这没什么问题吧?既然DCE本身已经不属于von neumann的范畴了(或者叫属于von neumann的扩展范畴了),那么,parrallel能不是吗?


回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
确实,争论到这里已经没什么好争论的了。不过还是需要回到出发点将我为什么不同意你的说法的原因说一下以期清晰此争论的原因。原因是我认为你将不同范畴的东西搞到一块了,就好比非要把CPU和数字电路放在一起比较一样,说“CPU不是数字电路”,这样比较是不对的,DCE与冯诺伊曼体系根本就是两个世界的东西。

回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
我正是的江分布是计算改成distributed & parallel 并行性,这样明确了吗?
你说的CPU,那是因为你一直没有明白我说的意思(我表达得不清)

我的意思是,不考虑CPU的并发性(也就是不考虑SIMD硬件结构,因为我不懂),仅仅考虑MIMD环境下的distributed & parallel 并行性考虑,就已经足以说明已经有了非von neumann体系的东西了,这样描述,可以吧。

因为von体系是典型的SISD的硬件模型,所以是以CPU为中心的计算模型,而MIMD是典型的memory为中心的计算模型(SIMD也是),这东西不是我这样称呼的,出处,因为我是在找不到(时间也不允许),这里是不是优分歧?

 回复: 此并行计算非彼“并行”。
 
--------------------------------------------------------------------------------
 
von最初提出的结构是SISD的,但是后来从这一个结构出发衍生出了SIMD和MIMD,所以我认为他们还是属于VON体系,因为他们基本原理是完全一致的。VON体系其实就是通用图灵机在现实世界的具体实现,我们现在几乎所有的计算模型,包括并行计算模型以及其他更高层次的概念均受限于此一体系,所以我们说现在我们依然处于von体系时代。非von体系目前比较有希望的就是量子计算机了,那种状态模型与图灵机是完全不同的,我们现有的大多数理论模型均需要重新研究,所以我认为这样划分是否von体系才有意义(对于做研究而言),否则就是纯粹的名字代号的讨论了,那样没什么意义。

有道理,不过我保留我的观点。

我还是同意hyper dictionary 的观点,即von体系不支持并性处理(计算),在非SISD领域的计算模型是建立在turing model上的。

对与有没有意义,我想总可以明晰一些东西吧。

谢谢讨论。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值