• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Microcontroller Tips

Microcontroller engineering resources, new microcontroller products and electronics engineering news

  • Products
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • Applications
    • 5G
    • Automotive
    • Connectivity
    • Consumer Electronics
    • EV Engineering
    • Industrial
    • IoT
    • Medical
    • Security
    • Telecommunications
    • Wearables
    • Wireless
  • Learn
    • eBooks / Tech Tips
    • EE Training Days
    • FAQs
    • Learning Center
    • Tech Toolboxes
    • Webinars/Digital Events
  • Resources
    • Design Guide Library
    • LEAP Awards
    • Podcasts
    • White Papers
  • Videos
    • EE Videos & Interviews
    • Teardown Videos
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Engineering Training Days
  • Advertise
  • Subscribe

What’s the difference between Von-Neumann and Harvard architectures?

March 8, 2018 By Scott Thornton 21 Comments

These two processor architectures can be classified by how they use memory.

Von-Neumann architecture
In a Von-Neumann architecture, the same memory and bus are used to store both data and instructions that run the program. Since you cannot access program memory and data memory simultaneously, the Von Neumann architecture is susceptible to bottlenecks and system performance is affected.

Von-Neumann and Harvard
Figure 2: The Harvard architecture has a separate bus for signals and storage. (Image: Wikimedia Commons)

Harvard Architecture
The Harvard architecture stores machine instructions and data in separate memory units that are connected by different busses. In this case, there are at least two memory address spaces to work with, so there is a memory register for machine instructions and another memory register for data. Computers designed with the Harvard architecture are able to run a program and access data independently, and therefore simultaneously. Harvard architecture has a strict separation between data and code. Thus, Harvard architecture is more complicated but separate pipelines remove the bottleneck that Von Neumann creates.

Modified Harvard Architecture
The majority of modern computers have no physical separation between the memory spaces used by both data and programs/code/machine instructions, and therefore could be described technically as Von Neumann for this reason. However, the better way to represent the majority of modern computers is a “modified Harvard architecture.” Modern processors might share memory but have mechanisms like special instructions that keep data from being mistaken for code. Some call this “modified Harvard architecture.” However, modified Harvard architecture does have two separate pathways (busses) for signal (code) and storage (memory), while the memory itself is one shared, physical piece. The memory controller is where the modification is seated, since it handles the memory and how it is used.

Von-Neumann and Harvard
Figure 1: The Von Neumann architecture has been around since the 1940s. A clarifying trait is that a single bus used for both signal and storage. (Image: Wikimedia Commons)

 

The Von Neumann Bottleneck
If a Von Neumann machine wants to perform an operation on some data in memory, it has to move the data across the bus into the CPU. When the computation is done, it needs to move outputs of the computation to memory across the same bus. The amount of data the bus can transfer at one time (speed and bandwidth) plays a large part in how fast the Von Neumann architecture can be. The throughput of a computer is related to how false the processors are as well as the rate of data transfer across the bus. The processor can be idle while waiting for a memory fetch, or it can perform something called speculative processing, based on what the processor might next need to do after the current computation is finished (once data is fetched and computations are performed).

The Von Neumann bottleneck occurs when data taken in or out of memory must wait while the current memory operation is completed. That is, if the processor just completed a computation and is ready to perform the next, it has to write the finished computation into memory (which occupies the bus) before it can fetch new data out of memory (which also uses the bus). The Von Neumann bottleneck has increased over time because processors have improved in speed while memory has not progressed as fast. Some techniques to reduce the impact of the bottleneck are to keep memory in cache to minimize data movement, hardware acceleration, and speculative execution. It is interesting to note that speculative execution is the conduit for one of the latest security flaws discovered by Google Project Zero, named Spectre.

 

Filed Under: FAQ, Featured, microcontroller Tagged With: basics, FAQ

Reader Interactions

Comments

  1. c_mitra says

    March 9, 2018 at 9:03 pm

    Now I understand the two beasts a bit more clearly.

    Reply
  2. Ishmael says

    September 24, 2018 at 6:38 am

    2/10 needs more buses!

    Reply
  3. Mr Instructions says

    September 25, 2018 at 5:25 am

    instructions not clear toe got stuck in microwave

    Reply
  4. Saad says

    September 27, 2018 at 9:29 am

    You should switch the position of the two pictures

    Reply
  5. ALLAH says

    November 28, 2018 at 5:20 am

    I KNOW EVERYTHING!

    Reply
    • Anwar says

      April 10, 2020 at 10:21 am

      Then answer this qtn
      An architecture used in any microcontroller is called

      Reply
      • Jennifer Lopez says

        August 23, 2020 at 4:54 am

        von neumann arch

        Reply
        • Mark says

          May 18, 2021 at 2:18 pm

          Not always. The Intel 8051 is Harvard and several vendors still use the core w/ modern peripherals. But it’s still Harvard.

          Reply
          • Mark Fanboi says

            October 21, 2021 at 5:19 am

            cheers marky boi

  6. everyone says

    December 5, 2018 at 7:54 am

    wow amazing

    von neumann gang gang

    Reply
  7. xhollah 23 says

    February 13, 2019 at 2:27 pm

    Cul understood

    Reply
  8. Eddy Samuel says

    March 29, 2019 at 2:12 am

    i understand a bit

    Reply
  9. watch mob psycho 100 says

    April 30, 2019 at 2:56 am

    epic

    Reply
  10. LENJVAL says

    October 1, 2019 at 11:39 pm

    Thanks for the guide. I’m better educated now about Harvard, von Neumann and problems caused by the bottleneck. Keep up the efforts.

    Reply
  11. Mr Bean says

    January 27, 2020 at 10:32 am

    Cool beans dude 🙂

    Reply
    • SALUT A TOUS says

      February 20, 2020 at 3:55 am

      yeah cool beans HAHAHA

      Reply
  12. Noor says

    May 18, 2020 at 9:38 am

    what are the problems with von neumann and Harvard architecture and what are the solutions for that?

    Reply
  13. Mo Abdullah says

    December 11, 2020 at 7:19 am

    Absolutely love this. I just really enjoy learning about computers. I’m weird like that

    Reply
  14. Ed Balls says

    November 4, 2021 at 8:02 am

    How absolutely fascinating

    Reply
    • Henry Ash says

      January 26, 2022 at 6:35 pm

      Indeed

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Featured Contributions

Can chiplets save the semiconductor supply chain?

Navigating the EU Cyber Resilience Act: a manufacturer’s perspective

The intelligent Edge: powering next-gen Edge AI applications

Engineering harmony: solving the multiprotocol puzzle in IoT device design

What’s slowing down Edge AI? It’s not compute, it’s data movement

More Featured Contributions

EE TECH TOOLBOX

“ee
Tech Toolbox: Connectivity
AI and high-performance computing demand interconnects that can handle massive data throughput without bottlenecks. This Tech Toolbox explores the connector technologies enabling ML systems, from high-speed board-to-board and PCIe interfaces to in-package optical interconnects and twin-axial assemblies.

EE Learning Center

EE Learning Center

EE ENGINEERING TRAINING DAYS

engineering
“bills
“microcontroller
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

Footer

Microcontroller Tips

EE World Online Network

  • 5G Technology World
  • EE World Online
  • Engineers Garage
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • EDA Board Forums
  • Electro Tech Online Forums
  • EV Engineering
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips

Microcontroller Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us

Copyright © 2026 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy