Harvard Architecture : How does it improve speed?

07
2014-07
  • Ulysse

    I don't understand the difference between Von Neumann and Harvard architectures. Let's say you have these two instructions :

    MOV ax, [address2]

    MOV bx, ax

    In Harvard architecture, the processor must wait two cycles before executing the second instruction : the first one to decode the first instruction, and the second one to load the value in address 2 into ax. He cannot execute instruction 2 immediately because it uses the value of ax.

    So the time spent will be the same as if it was Von Neumann, in this later case, the first cycle will be used to decode the instruction and the second cycle to fetch the content of address 2 from program's memory.

    What do I not understand ?

  • Answers
  • ZCoder

    as far as I read, the Harvard can read an instruction and read/write data simultaneously, and Von Neumann can only either read an instruction OR read/write data but not at the same time.


  • Related Question

    windows - How to find the architecture of OS installed?
  • claws

    I'm using Core 2 Duo. So, from Intel website I found that it is 64-bit architecture CPU.

    Long back I've installed Ubuntu OS on this machine. But I'm not sure if I installed x86-32 or x86-64 version of Linux. I want to know which version of Linux I'm using. How to know that?

    How to find the same on windows?


  • Related Answers
  • matthias krull

    On unix like OSes you can type uname -m to show the architecture.

    Under windows follow microsofts guide

  • Tofystedeth

    On Windows Vista and newer you can run the command

    wmic os get osarchitecture
    

    to find out whether it's 32 or 64 bit.

  • Michael

    For Windows, check out this document from Microsoft. It tells you how to find out for any version of Windows you might have:

    http://support.microsoft.com/kb/827218link text

    For Windows 7, check the instructions here:

    http://windows.microsoft.com/en-US/windows7/32-bit-and-64-bit-Windows-frequently-asked-questions

  • Michael Caron

    Complimenting @Tofystedeth, in XP (and newer) you can use cpu's AddressWidth and DataWidth to get the data you need.

    If you want to find the architecture of the OS:

    wmic cpu get AddressWidth
    

    If you want to find the architecture of the Processor itself:

    wmic cpu get DataWidth
    
  • HackToHell

    In linux

    $ uname -a

    shows info about the current running kernel.