HiveBrain v1.2.0
Get Started
← Back to all entries
patternModerate

Which architecture do modern computers use?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
architecturecomputerswhichusemodern

Problem

Is it one of:

  • Harvard



  • Modified Harvard



  • von Neumann



Or are they antiquated models that modern computers are only loosely based on?

If you asked Intel or AMD what would they say?

Solution

Modern general-purpose high-performance processors use separate instruction and data caches, and so could be classified as modified Harvard even though they use a unified address space. (Some microcontrollers—usually to provide extra memory or protection without a memory protection unit—use a Harvard architecture in which data and code use separate address spaces.)

x86 might be considered a little more nearly "pure" von Neumann than some other ISAs in that self-modified code is guaranteed to be handled properly if a jump is used. Many other ISAs require an instruction synchronization instruction and may require explicit invalidation of any modified memory from the instruction cache (i.e., the instruction cache is not necessarily coherent).

Cross-modified code is somewhat more complex; even x86 requires a synchronizing instruction.

Context

StackExchange Computer Science Q#24599, answer score: 12

Revisions (0)

No revisions yet.