Harvard Architecture : How does it improve speed?

3

1

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 ?

Ulysse

Posted 2014-04-07T03:30:11.430

Reputation: 31

Answers

0

The separation of instructions and data is an easy thing to under estimate. However their behaviour is quite different.

Instructions will mostly flow in a linear path and be very similar sizes.

Data on the other hand will be of semi random locations, bursty and of varying sizes.

Trying to have the same logic and bus size to optimise to both is quite a bit more difficult than having separate handlers.

Your example at face value seems a reasonable question to ask but with a Von Newmann processor the memory load to complete the first instruction will hold up load and decode of the second instruction. Whereas on the Harvard processor the second instruction may be loaded decoded and half processed when the first instruction completes.

Von Neumann processor flow

  1. load instruction one
  2. decode instruction one
  3. load data from external memory
  4. put data in register
  5. load instruction two
  6. decode instruction two
  7. copy register to register

Harvard processor flow

  1. load instruction one

  2. decode instruction one

    3a. load data from external memory into register

    3b. load instruction two

    4a. put data in register

    4b. decode instruction two

    1. copy register to register

BevynQ

Posted 2014-04-07T03:30:11.430

Reputation: 101

-1

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.

ZCoder

Posted 2014-04-07T03:30:11.430

Reputation: 385