1. Classification Based on Instruction and Data Stream (IS, SIMD, MISD, MIMD)
-
SISD (Single Instruction Stream, Single Data Stream):
- Description: The simplest form of computer architecture where a single instruction is executed on a single data stream at a time.
- Example: Traditional uniprocessor systems like early computers.
-
SIMD (Single Instruction Stream, Multiple Data Streams):
- Description: A single instruction is executed on multiple data elements simultaneously. This is typically used in vector processors and applications like graphics processing.
- Example: Modern processors with vector capabilities, used in tasks like image and signal processing.
-
MISD (Multiple Instruction Streams, Single Data Stream):
- Description: Multiple instructions are applied to the same data stream. This type of architecture is rarely used in practice.
- Example: Some specialized applications in fault-tolerant computing or parallel processing.
-
MIMD (Multiple Instruction Streams, Multiple Data Streams):
- Description: Multiple instructions are executed simultaneously on different data streams. This is common in modern multi-core processors.
- Example: Multicore processors, supercomputers, and cloud computing systems.
2. Classification Based on Memory and Control Unit Design (Von Neumann vs. Non-Von Neumann)
-
Von Neumann Architecture (Princeton Architecture):
- Description: In this classic architecture, both program instructions and data share the same memory and data bus. It is the most common architecture used in general-purpose computers.
- Key Components:
- Registers: Store data temporarily for quick access.
- Arithmetic & Logic Unit (ALU): Performs calculations and logical operations.
- Control Unit: Directs the flow of data between memory and CPU.
- System Bus: Transfers data between the CPU and memory.
- Main Memory: Stores both instructions and data.
- Example: Most general-purpose computers.
-
Non-Von Neumann Architecture:
- Description: This architecture can have separate memory systems for data and instructions, allowing for parallel processing.
- Subcategories:
- Harvard Architecture: Utilizes separate memory for program instructions and data, improving speed by allowing simultaneous access to both.
- Modified Harvard Architecture: Combines aspects of Von Neumann and Harvard architectures to balance flexibility and performance.
Top comments (0)