Talk:Von Neumann architecture
From Wikipedia, the free encyclopedia
The discussion of what exactly a Von Neumann computer does seems to not have much to do with the title of this article, Von Neumann architecture -- that is, a CPU with Harvard architecture does exactly the same things. Tempshill 19:57, 15 Nov 2003 (UTC)
Contents |
[edit] a link to the von neumann machine
A link to the http://en.wikipedia.org/wiki/Von_Neumann_machine article should be added. —Preceding unsigned comment added by 80.128.243.28 (talk • contribs) 06:43, 10 June 2004
- Actually, that article should be merged into this one. -- uberpenguin 16:35, 12 December 2005 (UTC)
-
- Done. --68.0.120.35 07:22, 15 March 2007 (UTC)
[edit] an original work of Von Neumann
IMHO the book or article, where Von Neumann architecture was introduced should be mentioned (with a link, if possible) —Preceding unsigned comment added by 85.140.22.47 (talk • contribs) 03:08, 18 April 2005
- There it is... You could have done it yourself, it only took two quick Google searches (one on "von neumann architecture eniac" to find the title and one on the title to find a PDF of the paper itself). -- RTC 21:54, 18 Apr 2005 (UTC)
[edit] Earliest dates for stored program computers
If anyone has more information for the dates about the earlies stored program computers, please include it. --Bubba73 05:49, 4 Jun 2005 (UTC)
[edit] Merge Proposal
'No: Von Neumann machine has a wider implication than Von Neumann Arcitecture. The latter is a article on the computer arcitecture concepts. That article it'self points out the the term "Von Neumann Machine" means more than the computer arcitecture.
Von Neumann Machines also applies to concepts in molecular nanotechnology and theoretical starship desings (see: Von Neumann Probe).
The article on "Von Neumann Machines" is not about computer architectures. Trying to include it in a page about computer arcitecture is akin to putting an article about McDonalds in an article about Cows.
—Preceding unsigned comment added by Beowulf314159 (talk • contribs) 12:52, 12 December 2005
- Ehh... Well about half of the article on Von Neumann Machines IS about computer architecture. Honestly I've never heard of self-replicating machines being called "von Neumann machines," so I guess this is just my ignorance combined with a terribly referenced article... -- uberpenguin 20:01, 12 December 2005 (UTC)
-
- I guess that makes us even - I'd never heard of the term Von Neumann machine being used to refer to a Turing machine before, and only thought of them in terms of self-replicating systems. Beowulf314159 21:14, 12 December 2005 (UTC)
- My take: (1) Von Neumann architecture should remain more-or-less as-is, about the computer architecture. (2) The nanotech content of the current Von Neumann machine article should either be (2a) merged into one of the other nanotech articles (e.g., Molecular nanotechnology), or (2b) used to create an entirely new article (e.g., Von Neumann machine (nanotechnology)). I don't know much about nanotech and/or the "Von Neumann machine" aspect thereof, so I can't say which is more appropriate. If there is significant stuff specific to the "Von Neumann meachine" term, then a separate article makes sense. If "Von Neumann machine" is just an alternate name for "molecular nanotechnology machine", then I'd say merge. (3) The final Von Neumann machine page should be a standard disambiguation page. One dab target should be Von Neumann architecture. The other should be the article resulting from Step 2 above. See also Quuxplusone's comments at Talk:Von Neumann machine#Is this a dab page?. --DragonHawk 04:26, 13 December 2005 (UTC)
-
- With a little digging and comparing, it appeared that the Von Neumann machine arcticle really was nothing more than a DAB page with material rolled into it from the pages that it pointed to - save for the comment someone had made about the propriety of attaching John von Neumann's name to the "Von Neuman architecture". That was easily added by mentioning it, and adding a link to the article on John von Neumann - where the issue is discussed.
-
- There appear to be no specific article about molecular nanotechnology as Von Neumann machines, and the article about macroscopic self-replicating machines is covered in Clanking replicators and Von Neumann probes.
-
- With a little care, the Von Neumann machine article could be scaled back to a dab page, citing both, discrete, uses of the term, and providing links to the various pages (Von Neumann architecture, John von Neumann, Clanking replicator, Molecular Nanotechnology, and Von Neumann probes) with little loss in information in the article. What information was taken out of the article is replicated already verbatim in the Von Neumann architecture page.
-
- Beowulf314159 13:37, 13 December 2005 (UTC)
-
-
- For the record, I just finished moving content out of von Neumann machine, and into von Neumann architecture and Self-replicating machine. von Neumann machine is now a proper dab page. --DragonHawk 00:50, 17 August 2006 (UTC)
-
Good job. Thanks! --70.189.73.224 01:27, 22 August 2006 (UTC)
[edit] Princeton architecture
Wikipedia:Redirect#What_needs_to_be_done_on_pages_that_are_targets_of_redirects.3F suggests
- "Normally, we try to make sure that all "inbound redirects" are mentioned in the first couple of paragraphs of the article."
Therefore, since Princeton architecture is a redirect to Von Neumann architecture, we should mention "Princeton architecture" in first couple of paragraphs of this article.
I say "von Neumann architecture" when I try to emphasize the fact that the program is stored in memory, as well as all kinds of other important-to-understand facts.
I think I would prefer to say that a "von Neumann architecture" is an entire category of things -- everything that suffers from the "von Neumann bottleneck". In particular, both the "Princeton architecture" and the "Harvard architecture" are included in that category. Then a "Princeton architecture" is "a von Neumann architecture with a single memory". Also a "Harvard architecture" is "a von Neumann architecture with 2 memories, where the program is stored in one memory, and most of the data is stored in the other memory".
(I've also seen DSPs that have 3 or 4 different memories that could be read simultaneously -- would you also call those Harvard architectures, or is there another name for that?).
So we could have a section "types of von Neumann architectures", listing the Princeton architecture, the Harvard architecture, the Turing machine, ... any others?
On the other hand, some people seem to think that a "von Neumann architecture" and a "Princeton architecture" are identically the same thing. Then "Harvard architecture" is something a little bit different from that one thing. If we decide to go this way, then the intro paragraph should have a little parenthetical "(also called the Princeton architecture)" statement.
--70.189.73.224 01:27, 22 August 2006 (UTC)
- Re: "Also a "Harvard architecture" is "a von Neumann architecture with 2 memories..."
- In my understanding this is definitely NOT correct. One of the points of the original "von Neumann draft paper" discribing the architecture was to point out the advantages of using the same memory (i.e. 1 memory) so that instructions could be treated exactly like data. This is not typical of standard Harvard architecture machines (although some "modified Harvard architecture" machines do provide for access to the instruction memory as data). -- RTC 22:46, 23 August 2006 (UTC)
-
- Yes, well, definitions change with time. Do you have a better name for "computer architectures that suffer from the von Neumann bottleneck" ?
- Do you think that a "von Neumann architecture" and a "Princeton architecture" are identically the same thing? --70.189.73.224 05:14, 24 September 2006 (UTC)
- I would respond to your second question: Yes, that "Princeton" and "von Neumann" *are* identical (except for colloquial usage). And I would respond to your first question: A better name for "computer architectures that suffer from the von Neumann bottleneck" is a "stored-program architecture", of which von Neumann (Princeton) and Harvard architectures are two examples.
- This article's own definition of "von Neumann Architecture", as stated in the very first sentence, is:
- "The von Neumann architecture is a computer design model that uses a processing unit and a single separate storage structure to hold both instructions and data."
- That is synonymous with my understanding, and it is in direct contradiction with the definition of the Harvard architecture. I think the contradiction could be resolved in several different ways:
- 1) Make a clear demarkation within this article in two broad sections: The first section would deal with the unique features of a computer architecture in which both data and instructions share a single address space. This section would state early on that such an architecture is also known as the "Princeton architecture".
- The second section would explicitly state that it is shifting gears to adopt a *different* definition of "von Neumann architecture", to mean "stored-program architecture", of which both the Harvard and Princeton architectures are special cases.
- 2) Focus this article entirely on the usage of the term "von Neumann" in reference to all stored-program computers in general (both Priceton and Harvard).
- Filter out every mention of a single address space for both instructions and data, and place it an a separate article entitled "Princeton architecture". Place a re-direct or some other reference in this article pointing to the new "Princeton" article, with a short explanation of the ambiguity in terminology.
- 3) Focus this article entirely on the usage of the term "von Neumann" in reference specifially to an architecture in which instructions and data share a single address space. Mention that another word for this is "Princeton architecture".
- Move everything about the characteristics of stored-program architectures in general so a separate "Stored-program architecture" article.
- I think it is very important in an encyclopedic article to make every possible effort to avoid unnecessary ambiguities, or where such ambiguities are unavoidable, to explain the contradiction as completely as possible. Goosnarrggh (talk) 14:58, 29 May 2008 (UTC)
[edit] Call me dumb
...but doesn't this architecture describe the general structure of all computers used today? If so, could somebody put this rather significant observation in the intro? Thanks. ---Ransom (--71.4.51.150 18:44, 6 August 2007 (UTC))
- Most computers these days DO present a von Neumann architecture model at the machine language level, although almost all are a hybrid of von Neumann and Harvard in the hardware level (e.g., separate Instruction and Data caches). Pure Harvard architectures are still common in microcontrollers and Digital Signal Processors because of their specialized purposes. Highly parallel computers can get hard to classify. -- RTC 22:11, 6 August 2007 (UTC)
[edit] Capitalization of "von" in "von Neumann architecture"
There seems to be continued confusion as to how to deal with the pesky "von" in this article. It is, of course, proper to lowercase the "V" in "von" when the word is used inter-sentence. However, various editors have taken their zeal a step too far by adding the {{lowercase}} template, making the title of the article "von Neumann architecture", or decapitalizing the "V" in "von" when it begins a section title or a sentence. This is no more proper than referring to the Steinbeck novel as of Mice and Men. Robert K S 13:40, 4 September 2007 (UTC)
[edit] Bottleneck section
The last paragraph of the section on the von Neumann bottleneck has some things that I find kind of confusing.
First:
-
- Backus's proposed solution has not had a major influence.
- It doesn't say what his "proposed solution" is.
Then:
-
- Modern functional programming and object-oriented programming are much less geared towards "pushing vast numbers of words back and forth" than earlier languages like Fortran, but internally, that is still what computers spend much of their time doing.
- I'm not sure how the programming paradigm at all changes the "pushing words back and forth" situation. The programming language seems pretty peripheral to this. The "internally, ..." part recognizes this. But I think it should be stronger. Pretty much all the computer does is move words around.
- But the introduction of more indirection and higher level code actually makes part of the problem as stated a lot worse, as the original quote says (emphasis added):
- Thus programming is basically planning and detailing the enormous traffic of words through the von Neumann bottleneck, and much of that traffic concerns not significant data itself, but where to find it.
- The part that I've bolded seems to be about indirection. I'd say that functional and object oriented languages make this a lot more true now, when everything ends up being a pointer to something on the heap...
–128.151.69.131 (talk) 16:45, 25 April 2008 (UTC)

