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?"

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.