I have a CS course at Uni. Had an exam about two last week with a question I did not get, but still, am not totally comfortable with the expected answer.

Basically, we were asked

Many processes can execute simultaneously on the Von Neuman architecture [True/False]

I wrote True. Got it wrong, lost some points.

But I wonder though if I could a bit argue with the teacher to get those points back. After all, x86 is Von Neuman but still, some also have multiple cores? Also, for example x86's HyperThreading, doesn't it allow to execute parallel tasks even on a single core?

Don't you think there's some ambiguity relative to the question?

I'm not totally sure about those arguments though, hence why I ask.


  • 2
    $\begingroup$ It completely depends on the definition your instructor gave you for the phrase Von Neumann architecture. Arguably a Von Neumann architecture is a single (not-hyperthreaded) stored program computer. At least, that's what Von Neumann had in mind in 1945. $\endgroup$ – Wandering Logic Apr 23 '14 at 18:52
  • 1
    $\begingroup$ I ain't sure myself either. There's so many arch today which can be called "Von Neuman" I just don't get which I had to invoke. Hence why the confusion. It's not that much clear either in my docs whether I must limit myself to the 1945 one. $\endgroup$ – Yannick Apr 23 '14 at 19:24
  • $\begingroup$ This is an example why multiple-choice questions should be abolished. They only test how well you can parrot what the teacher said in class. $\endgroup$ – Yuval Filmus Apr 23 '14 at 19:47
  • $\begingroup$ But essentially, are my concerns right? Some Von Neuman archs permit to execute processes simultaneously no? If some of you could only confirm this, then it would be a plus for me to say the least! $\endgroup$ – Yannick Apr 24 '14 at 22:07
  • 1
    $\begingroup$ @WanderingLogic: The term "Von Neumann Architecture" is generally used to emphasize the fact that storage cells may be freely used as code or data, as distinct from a "Harvard Architecture" which uses separate groups of storage cells for code and data. A machine with multiple execution units all using a common bank of memory for both code and data would be closer to "Von Neumann" than to anything else; likewise one with multiple execution units that all share one code store and all share one data store would be closer to "Harvard" than to anything else. $\endgroup$ – supercat Sep 9 '15 at 18:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.