Computer Architecture
Computer architecture refers to the design of instruction set architecture (ISA) and the microarchitecture of a computer system. It outlines how the hardware components are organized and how they interact to execute software instructions.
History
- 1940s-1950s: The Von Neumann architecture was conceptualized by John von Neumann in 1945. This model introduced the idea of a stored-program computer where instructions and data are stored in the same memory.
- 1960s: The IBM System/360 was a pioneering computer architecture that introduced the concept of compatibility across different models, which significantly influenced future computer designs.
- 1970s: The development of Reduced Instruction Set Computing (RISC) by researchers like David Patterson and John L. Hennessy, which aimed to simplify instructions to improve performance and efficiency.
- 1980s onwards: Emergence of Complex Instruction Set Computing (CISC) and further advancements in RISC, alongside the development of multiprocessing, parallel computing, and vector processing.
Key Components
- CPU (Central Processing Unit): The brain of the computer, responsible for executing instructions. It includes:
- Memory: Divided into:
- Main Memory (RAM)
- Cache Memory
- I/O Devices: Interfaces between the computer and the external world, including:
- Input Devices
- Output Devices
- Bus System: A communication system that transfers data between components.
Architectural Styles
- Von Neumann Architecture: Combines program storage and data storage in the same memory.
- Harvard Architecture: Separates program and data memory for potentially faster execution.
- RISC vs. CISC:
- RISC focuses on simple instructions that can be executed quickly.
- CISC includes a wide range of instructions, often complex, to reduce the number of instructions needed per task.
- Parallel Architecture: Utilizes multiple processors to perform computations simultaneously, including:
Modern Developments
- Multi-core Processors: Multiple processing units on a single chip to enhance performance.
- Energy Efficiency: Focus on reducing power consumption through architectural changes.
- Quantum Computing: An emerging field where quantum mechanics is used to process information in ways that classical computing cannot.
For further reading:
Related Topics