Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Our teacher told us, that Harvard architecture is the most evolved and produced architecture today and towards future. But I think because of massive overhead of x86 and Von Neumann based ARM systems that actually Von Neumann is the most used architecture today.

Yes, MCUs with Harvard are even more produced, but since they all have just minor purpose (compared to x86 and ARM based) that Von Neumann is actually the one. Or is it really Harvard?

And second, I know this is strange question, but does any architecture combining both exists? to have separate memory for data and programs, therefore faster instruction processing, but still able to work with these as Von Neumann? To be able to load and unload programs to program memory on the fly? Isn't this the way the x86 should have go? Or would there be some bottleneck that pure Von Neumann solves? Thanks.

share|improve this question

closed as not constructive by BinaryMisfit Dec 22 '10 at 13:01

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Even though this is an interesting question I dont think SU is the best place for it. The Theoretical Computer Science site might give you higher quality answers. And additionally, asking two things at once is frowned on. (we don't charge per question) – Nifle Dec 22 '10 at 10:01
This is not a discussion forum. Please review the FAQ before posting. – BinaryMisfit Dec 22 '10 at 13:01
Yes. You can use separate caches so you can start loading the next instruction from the cache while accessing data. It's called modified harvard. – Maxime Jun 3 '14 at 16:23

x86 is the combination of both. If you take a look at L1 cache of modern processors, you'll notice that there is separate cache for data and for instructions. Also, do some digging on Wikipedia about x86. You see, modern x86 processors aren't actually x86. They instead emulate x86 processors by translating x86 instruction into their own internal microcode. In fact on some of the Intel's processors, microcode can be changed while the system is running.

As for which is more produced, I'd say it's Harvard, mostly because of PICs and similar microcontrollers. As far as I can see, Von Neumann is easier to program so it's not uncommon to see internally Harvard processors (like x86 and some PICs) to present themselves to the world as Von Neumann.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.