In-Depth Notes for Computer Organization and Architecture
Chapter 1: Introduction
- Overview of Computer Organization and Architecture
- Objectives:
- Differentiate between computer organization and architecture.
- Understand measurement units in computer systems.
- Appreciate the evolution of computers.
- Recognize the layered structure of a computer system.
- Explain von Neumann architecture and its components.
1.1 Overview
Importance of Studying Computer Organization and Architecture:
- To design efficient software.
- To optimize program behavior for performance.
- To benchmark and evaluate computer performance.
- To understand tradeoffs involving time, space, and cost.
Definitions:
- Computer Organization: Refers to physical aspects (e.g., circuit design, control signals, memory types).
- Focus: "How does a computer work?"
- Computer Architecture: Logical aspects as viewed by the programmer (e.g., instruction sets, addressing modes).
- Focus: "How to design a computer?"
- Computer Organization: Refers to physical aspects (e.g., circuit design, control signals, memory types).
1.2 Computer Systems
No distinct boundary between computer organization and architecture.
Principle of Equivalence of Hardware and Software: Any operation can be performed using software or hardware, assuming performance isn't impacted.
Basic Components of Computers:
- Processor: Executes programs.
- Memory: Stores data/programs.
- Input/Output Mechanisms: Transfers data to/from external devices.
1.3 Example System
Characteristics of a Sample Computer:
- Intel i7 Quad Core, 4.20 GHz, etc.
Measurements of Capacity:
- Kilo = $10^3$; Mega = $10^6$; Giga = $10^9$; Tera = $10^{12}$; Peta = $10^{15}$; Exa = $10^{18}$; etc.
Speed Measurements:
- Hertz = clock cycles per second.
- 1 MHz = $10^6$ Hz.
Bit Measurements:
- Byte = group of 8 bits.
- 1KB = $2^{10}$ Bytes; 1MB = $2^{20}$ Bytes; etc.
1.4 Standards Organizations
- Key Organizations:
- IEEE: Establishes standards for hardware and protocols.
- ITU: Deals with telecommunications standards.
- ANSI & BSI: National groups for standards.
- ISO: Establishes global standards for technology.
1.5 Historical Development
Generational Overview:
- Generation 0: Mechanical Machines.
- Generation 1 (1945-1953): Vacuum Tube Computers (e.g., ENIAC).
- Generation 2 (1954-1965): Transistorized Computers.
- Generation 3 (1965-1980): Integrated Circuit Computers.
- Generation 4 (1980-present): VLSI Computers.
Moore’s Law: Density of transistors doubles every 18 months.
1.6 Computer Level Hierarchy
- Hierarchy Levels:
- Level 6: User Level
- Level 5: High-Level Language Level
- Level 4: Assembly Language Level
- Level 3: System Software Level
- Level 2: Machine Level
- Level 1: Control Level
- Level 0: Digital Logic Level
1.7 Cloud Computing
- Definition: Computing services provided over the internet.
- Models:
- IaaS: Infrastructure as a Service
- SaaS: Software as a Service
- PaaS: Platform as a Service
- Advantages: Elastic resources, reduced costs.
1.8 Internet Fragility
- Impact: The Internet underpins critical infrastructure.
- Concerns: Congestive collapse due to high data volumes.
1.9 von Neumann Model
- Characteristics: Stored-program concept.
- Components:
- CPU, Main Memory, Input/Output.
- Processor cycles include fetch-decode-execute.
- Single data path known as the von Neumann bottleneck.
1.10 Non-von Neumann Models
- Innovations Required:
- Harvard architecture separates data and instruction paths.
- Specialized processors for specific tasks.
1.11 Parallel Computing
- Concurrent Processing: Increases computational speed.
- Multicore Processors share memory and resources.
Conclusions
- Overview of basic computer architecture components.
- Importance of understanding organization for efficient programming.
- Anticipated detailed explorations in following chapters.