Difference Between Von Neumann and Harvard Architecture
Difference Between Von Neumann and Harvard Architecture
INSTITUTE OF TECHNOLOGY
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING
Name Id
Ramadan Hundessa………………RM0046/13-0
Date:August/25/2021
Jimma, Ethiopia
HARVARD VERSUS PRINCETON MEMORY ARCHITECTURE
As we have seen in embedded systems type of processors ,Microcontrollers 8051 is one of that
work with 8-bit data bus. From this we can understand that they can support external data
memory up to 64K and external program memory of 64k . Additionally , 8051 microcontrollers
can address 128k of external memory.
Harvard architecture is digital computer architecture when data and code placed in different
memory blocks.
princeton architecture is also part of digital computer architecture that , when data and code
placed in the same memory block.
Princeton architecture
The Princeton architecture was first proposed by a computer scientist John von Neumann
and the other name of this architecture is von Neumann .
In this architecture:-
❖ one data path or bus exists for both instruction and data.
❖ As a result, the CPU does one operation at a time.
❖ It either fetches an instruction from memory, or performs read/write operation on
data.
❖ So an instruction fetch and a data operation cannot take place at the same time,
sharing a common bus.
❖ Princeton architecture supports simple hardware. It allows the use of a single,
sequential memory.
Today's processing speeds vastly outpace memory access times, and we employ a
very fast but small amount of memory (cache) local to the processor.
➢ Used in: 80X86 (PCs), 8051, 68HC11, etc.)
➢ Only one bus between CPU and memory
➢ RAM and program memory share the same bus and the same
➢ memory, and so must have the same bit width
➢ Bottleneck: Getting instructions interferes with accessing RAM
Harvard Architecture
The Harvard architecture offers different storage and signal buses for instructions and data.
This architecture has data storage entirely contained within the CPU, and there is no access
to the instruction storage as data. Computers have separate memory areas for program
instructions and data using internal data buses, allowing simultaneous access to both
instructions and data. Programs needed to be loaded by an operator; the processor could not boot
itself. In a Harvard architecture, there is no need to make the two memories share properties.
➢ Used mostly in RISC(Reduced Instruction Set Computer) CPUs .RISC is useful in most
of the instructions for computer processes are relatively simple and computers are
designed to handle those simple instructions extremely quickly.
➢ Separate program bus and data bus can be different widths!
✓ The Princeton architecture's largest advantage is that it simplifies the microcontroller chip
design because only one memory is accessed.
✓ For microcontrollers, its biggest asset is that the contents of RAM (random-access
memory) can be used for both variable (data) storage as well as program instruction
storage.
✓ An advantage for some applications is the program counter stack contents that are
available for access by the program.
✓ This allows greater flexibility in developing software, primarily in the areas of real-time
operating systems.
✓ The Harvard architecture executes instructions in fewer instruction cycles than the
Princeton architecture.
✓ This is because a much greater amount of instruction parallelism is possible in the
Harvard architecture.
✓ Parallelism means that fetches for the next instruction can take place during the execution
of the current instruction, without having to either wait for a "dead" cycle of the
instruction's execution or stop the processor's operation while the next instruction is being
fetched.