Skip to content
Sahithyan's S3
1
Sahithyan's S3 — Computer Architecture

Architecture

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

  • 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

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..

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

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.

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.