Architecture

3 min read Last updated Thu Jun 11 2026 16:39:02 GMT+0000 (Coordinated Universal Time)

Computer architecture defines how a computer system is designed and what components it includes.

Properties

  • Length of microprocessors’ data word
  • Speed of instruction execution
  • Instruction set – x86, ARM, SPARC, PIC, RISCV
  • CPU architecture – RISC vs. CISC
  • Size of direct addressable memory
  • Number & types of registers
  • Support circuits for performance
  • Compatibility with existing software & hardware development systems – IBM System/370

Different fundamental architectures are available. The choice between these architectures depends on:

  • specific application requirements
  • performance
  • cost
  • power consumption
  • ease of programming

Von Neumann Architecture

Proposed by mathematician John von Neumann in the 1940s. Both program instructions and data share the same memory and bus system. Uses a single bus between CPU and memory. Sequential exeuction of instructions. Used commonly on general-purpose computers nowadays.

Simpler design. Lower manufacturing costs. Flexible memory allocation for instructions and data. Easier programming model.

Has a performance bottleneck (explained below). Potential security risks as program instructions can be modified as data..

Von Neumann Bottleneck

Performance limitation as the CPU can’t simultaneously access instructions and data. An inevitable disadvantage of Von Neumann architecture.

Can be solved by:

  • Caching
  • Prefetching
  • Speculative execution
  • Hardware acceleration
  • Multithreading

Harvard Architecture

Originated from the Harvard Mark I computer. Uses physically separate storage and signal pathways for instructions and data. CPU can access instructions and data simultaneously. Can use different memory technologies optimized for specific purposes.

No performance bottleneck such as Von Neumann bottleneck. Increased performance. Better security as program code is protected from accidental or malicious modification

More complex design and programming model. Higher manufacturing costs. Fixed memory allocation between program and data.

Commonly used in microcontrollers, digital signal processors (DSPs), and many embedded systems where performance and security are critical.

Modified Harvard Architecture

Many modern processors implement a modified Harvard architecture, which maintains separate instruction and data caches (like Harvard) but uses a unified main memory (like Von Neumann). Offers performance benefits of Harvard architecture and flexibility of Von Neumann systems.

Used in many ARM processors, modern x86 processors from Intel and AMD, and digital signal processors.

Model-Driven Engineering

A software development approach where models are the primary artifacts. Code is generated automatically from them.

Advantages:

  • Higher abstraction level.
  • Easier adaptation to new platforms.

Limitations:

  • Developing model translators may be costly.
  • Models may not perfectly represent implementation details.

Model-Driven Architecture

A model-based development approach using UML models at different abstraction levels.

Model types:

  1. Computation Independent Model (CIM)
    Describes domain concepts.

  2. Platform Independent Model (PIM)
    Describes system behavior without platform details.

  3. Platform Specific Model (PSM)
    Adds platform-specific implementation details.

Was this helpful?