6

I am using laptop with below configuration. Processor: Intel(R) Core(TM)i5-4300U CPU @1.90GHz 2.49GHz RAM: 8GB System Type:64-bit OS, x64-based processor

Windows Edition:Windows 8.2 Enterprise

When I was reading about CPU architectures, i wanted to know what CPU architecture followed in my computer?

ROMANIA_engineer
  • 54,432
  • 29
  • 203
  • 199
Deepa Bedsur
  • 149
  • 1
  • 10
  • 2
    I would think in todays world of two level caching and compiler optimizations and marking memory as non-executable that this is un-answerable in the real world. BUT, the question has expressed itself in relevant ways in the real world. Why do we have dedicated graphics cards for example? I would argue that for all practical purposes all x86 based chips are Not Harvard, however they at runtime try to emulate the Harvard solution behavior sometimes through chip and compiler level tricks. – Sql Surfer May 31 '15 at 15:34
  • 1
    The question is a little irrelevant since both are concepts more than actual architectures nowadays. Generally speaking, x86 has unified memory for code and data (except for specific cases), and therefore is more similar to the Von Neumann concept, but it's so much more complex than it that there's no point in comparing. – Leeor Jun 02 '15 at 11:12

1 Answers1

11

Your processor is a modified Harvard Architecture. The reason why it is a modified Harvard Architecture is that it has split instruction and data L1 caches. Except for this, it is a von-Neumann architecture - instructions and data can both be present in the other cache levels and main memory.

The distinction between the two is relevant only when instructions are treated as data, such as in self-modifying code or Just In Time compilers.

Craig S. Anderson
  • 6,966
  • 4
  • 33
  • 46
  • Thanks for the answer. How did you come to know about this answer? or How did you research or analyze? – Deepa Bedsur Jun 08 '15 at 02:45
  • I knew part of the answer from school. The rest I learned by searching the web, including the links I included. And if you like my answer please accept it. – Craig S. Anderson Jun 09 '15 at 07:16
  • 3
    Or the fact that loading executable code into memory from disk is not "special". And not just JIT compilers: after running a compiler to produce an executable, the file will still be in disk cache (RAM), and doesn't have to be copied anywhere to execute it; its pages can run from the physical memory they were already in. Or after extracting a tar.gz or zip file containing an executable, or copying it... Lots of cases where a true Harvard architecture would have to do extra work. – Peter Cordes Nov 19 '16 at 20:43