Chapter 1 Notes: Computer Organization and Architecture


  • Definitions and Distinction:

    • Computer Organization: This encompasses all physical aspects of computer systems. It focuses on the question, "How does a computer work?" Key areas of study include circuit design, control signals, and types of memory.

    • Computer Architecture: This refers to the logical aspects of system implementation as they are perceived by the programmer. It focuses on the question, "How do I design a computer?" It include areas such as instruction sets, instruction formats, data types, and addressing modes.

    • The Principle of Equivalence of Hardware and Software: This principle states that any task performed by software can also be performed using hardware, and any operation performed directly by hardware can be performed using software, provided that speed is not a primary concern.

  • Rationale for Study:

    • System Software Design: Understanding these concepts allows for the design of better compilers, operating systems, and device drivers.

    • Program Optimization: It enables the optimization of program behavior.

    • Performance Evaluation: It allows for the benchmarking of computer system performance.

    • Decision Making: It provides an understanding of the trade-offs involved between time, space, and price.

  • Fundamental Components of a Computer: At the most basic level, a computer consists of three essential pieces:

    1. A Processor to interpret and execute programs.

    2. A Memory to store both data and programs.

    3. A Mechanism for transferring data to and from the outside world (I/O).

Measurement Metrics in Computer Systems

  • Capacity and Speed (Powers of Ten and Two):

    • Kilo- (K): 10310^{3} (one thousand) or 2102^{10}.

    • Mega- (M): 10610^{6} (one million) or 2202^{20}.

    • Giga- (G): 10910^{9} (one billion) or 2302^{30}.

    • Tera- (T): 101210^{12} (one trillion) or 2402^{40}.

    • Peta- (P): 101510^{15} (one quadrillion) or 2502^{50}.

    • Exa- (E): 101810^{18} (one quintillion) or 2602^{60}.

    • Zetta- (Z): 102110^{21} (one sextillion) or 2702^{70}.

    • Yotta- (Y): 102410^{24} (one septillion) or 2802^{80}.

    • The choice between powers of ten and powers of two depends on the specific metric being measured.

  • Common Frequency and Storage Units:

    • Hertz (Hz): Represents clock cycles per second (frequency). 1 MHz=1,000,000 Hz1\text{ MHz} = 1,000,000\text{ Hz}. Processor speeds are typically measured in MHz or GHz.

    • Byte: A unit of storage.

      • 1 KB=210=1,024 Bytes1\text{ KB} = 2^{10} = 1,024\text{ Bytes}.

      • 1 MB=220=1,048,576 Bytes1\text{ MB} = 2^{20} = 1,048,576\text{ Bytes}

      • 1 GB=230=1,073,741,824 Bytes1\text{ GB} = 2^{30} = 1,073,741,824\text{ Bytes} (Note: Transcript approximates Giga at 1,099,511,627,7761,099,511,627,776 for capacity relative to specific large measurements).

    • Main Memory (RAM) is measured in GB. Disk storage is measured in GB for small systems and TB (2402^{40}) for large systems.

  • Time and Space Metrics:

    • Milli- (m): 10310^{-3} (one thousandth).

    • Micro- (\mu): 10610^{-6} (one millionth).

    • Nano- (n): 10910^{-9} (one billionth).

    • Pico- (p): 101210^{-12} (one trillionth).

    • Femto- (f): 101510^{-15} (one quadrillionth).

    • Atto- (a): 101810^{-18} (one quintillionth).

    • Zepto- (z): 102110^{-21} (one sextillionth).

    • Yocto- (y): 102410^{-24} (one septillionth).

  • Practical Timing Examples:

    • Hard Disk Drive (HDD) Access Times: Often between 10 ms10\text{ ms} and 20 ms20\text{ ms}.

    • Main Memory Access Times: Often between 50 ns50\text{ ns} and 70 ns70\text{ ns}.

    • Micron (Micrometer): One millionth of a meter. Circuits on computer chips are measured in microns.

  • Cycle Time and Clock Frequency:

    • Cycle time is the reciprocal of clock frequency: T=1fT = \frac{1}{f}.

    • Example: A bus operating at 133 MHz133\text{ MHz} has a cycle time of approximately 7.52 ns7.52\text{ ns}.

    • Calculation: 133,000,000 cycles/second=7.52 ns/cycle133,000,000\text{ cycles/second} = 7.52\text{ ns/cycle}.

Anatomy of an Example Computer System

  • Processor: An Intel i9 16 Core running at 4.20 GHz4.20\text{ GHz}. This microprocessor serves as the "brain" of the system, executing program instructions.

  • RAM (Random Access Memory): This system utilizes 32 GB32\text{ GB} of 3733 MHz3733\text{ MHz} DDR4 SDRAM (Synchronous Dynamic RAM). Random access implies that memory contents can be accessed directly if their location is known.

  • Cache Memory: Temporary memory that is faster than RAM. This system includes:

    • Level 1 (L1) Cache: 128 KB128\text{ KB}; smaller and typically faster.

    • Level 2 (L2) Cache: 2 MB2\text{ MB}; larger than L1.

  • Storage Devices:

    • Hard Disk Drive (HDD): 1 TB1\text{ TB} capacity with a rotational speed of 7200 RPM7200\text{ RPM} using a SATA (Serial Advanced Technology Attachment) interface.

    • Solid State Drive (SSD): 128 GB128\text{ GB} capacity.

    • Optical Drive: 16x16\text{x} CD/DVD RW drive. A standard DVD stores approximately 4.7 GB4.7\text{ GB}.

  • Connectivity and Expansion:

    • Ports: Mechanical interfaces for data movement. This system includes 10 USB (Universal Serial Bus) ports, 1 Serial port, and 1 HDMI port.

    • USB: An intelligent, self-configuring serial interface supporting "plug and play."

    • Serial vs. Parallel: Serial ports send data as a series of pulses along one or two lines; parallel ports send data as a single pulse along at least eight lines.

    • Expansion Slots: Uses PCI (Peripheral Component Interface) and PCIe (PCI Express).

      • The system has 4 PCI slots (1 PCI1\text{ PCI}, 1 PCI ×161\text{ PCI } \times 16, 2 PCI ×12\text{ PCI } \times 1).

      • Includes a 1 GB1\text{ GB} PCIe video card and a PCIe sound card.

  • Display: A 24"24\text{"} widescreen LCD monitor featuring active matrix technology (one transistor per pixel).

    • Resolution: 1920×12001920 \times 1200 WUXGA.

    • Aspect Ratio: 16:1016:10.

    • Brightness: 300 cd/m2300\text{ cd/m}^2.

    • Contrast Ratio: 1000:11000:1 (static).

    • Response Time: 8 ms8\text{ ms}.

    • Color Depth: 2424-bit color (16.7 million colors16.7\text{ million colors}).

  • Networking: Gigabit Ethernet providing internet speeds up to 1 Gigabit1\text{ Gigabit}.

  • Additional IO: 7-in-1 card reader with built-in Bluetooth.

Standards Organizations

  • The Institute of Electrical and Electronics Engineers (IEEE): Promotes interests of the electrical engineering community and establishes standards for components, data representation, and signaling protocols.

  • The International Telecommunications Union (ITU): Focuses on the interoperability of telecommunications systems, including telephony and data communications.

  • National Standard Groups:

    • American National Standards Institute (ANSI): Standard-setting body in the United States.

    • British Standards Institution (BSI): Standard-setting body in the United Kingdom.

  • The International Organization for Standardization (ISO): Establishes worldwide standards for various products, including computer hardware/software and manufacturing methods. The name "ISO" is derived from the Greek word isos, meaning "equal."

Historical Development of Computing

  • Generation Zero: Mechanical Calculating Machines (1642–1945):

    • Wilhelm Schickard (1592–1635): Designed the Calculating Clock.

    • Blaise Pascal (1623–1662): Created the Pascaline.

    • Gottfried von Leibniz (1646–1716): Developed the Stepped Reckoner.

    • Charles Babbage (1791–1871): Designed the Difference Engine and the (never built) Analytical Engine.

    • Herman Hollerith (1860–1929): Created punched card tabulating machines; Hollerith cards were used as input into the 1970s.

  • The First Generation: Vacuum Tube Computers (1945–1953):

    • Z1: Created by Konrad Zuse.

    • ENIAC (Electronic Numerical Integrator and Computer): Created by John Mauchly and J. Presper Eckert. It was the first general-purpose computer.

    • ABC (Atanasoff-Berry Computer): John Atanasoff and Clifford Berry designed the first completely electronic computer.

    • IBM 650: First mass-produced computer (1955), eventually phased out in 1969.

    • Major Manufacturers: UNIVAC, Engineering Research Associates (ERA - later merged into Remington Rand/Unisys), and Computer Research Corporation (CRC).

  • The Second Generation: Transistorized Computers (1954–1965):

    • Key systems included the IBM 7094 (scientific), IBM 1401 (business), DEC PDP-1, Univac 1100, and CDC 1604. These systems often lacked architectural similarities.

  • The Third Generation: Integrated Circuit Computers (1965–1980):

    • Characterized by the IBM 360, DEC PDP-8, PDP-11, and the Cray-1 supercomputer.

    • Industry dominated by IBM and the "BUNCH" (Burroughs, Unisys, NCR, Control Data, and Honeywell).

  • The Fourth Generation: VLSI Computers (1980–Present):

    • VLSI (Very Large-Scale Integration) involves more than 10,00010,000 components per chip.

    • Enabled the creation of microprocessors, starting with the 4-bit Intel 4004. Subsequent chips like the 8080, 8086, and 8088 fueled the personal computing movement.

Economic and Scaling Laws

  • Moore’s Law (1965):

    • Original: "The density of transistors in an integrated circuit will double every year."

    • Contemporary version: "The density of silicon chips doubles every 18 months."

  • Rock’s Law:

    • Proposed by Arthur Rock: "The cost of capital equipment to build semiconductors will double every 4 years."

    • Historical Context: In 1968, a chip plant cost about $12,000\$12,000 (equivalent to a nice suburban house). By 2012, plants cost over $5 billion\$5\text{ billion}, exceeding the GDP of countries like Barbados, Mauritania, and Rwanda.

  • MtM (More than Moore): Technology that relies on alternative technologies exploring micro and nanoelectronics as Moore's Law hits physical/economic limits.

The Computer Level Hierarchy

Computers operate via a series of virtual machine layers, where each level is an abstraction of the level below it:

  • Level 6: User Level: The level of program execution and graphical user interfaces.

  • Level 5: High-Level Language Level: The level where programmers write code in languages like C, Pascal, Lisp, and Java.

  • Level 4: Assembly Language Level: Acts upon assembly language produced by Level 5 or programmed directly.

  • Level 3: System Software Level: Controls executing processes, protects system resources, and often passes assembly instructions through without modification.

  • Level 2: Machine Level (Instruction Set Architecture - ISA): Consists of instructions particular to the machine's architecture; programs here require no compilation/interpretation.

  • Level 1: Control Level: A control unit decodes and executes instructions.

    • Microprogrammed: A program implemented by hardware.

    • Hardwired: Hardware directly executes machine instructions.

  • Level 0: Digital Logic Level: The physical level of digital circuits (chips), consisting of gates and wires.

Cloud Computing and Service Models

  • Concept: Transitioning from owning hardware to buying services from data centers via the Internet.

  • Service Level Agreements (SLAs): Contracts managing the delivery of computing services by third parties.

  • Models:

    • Software as a Service (SaaS): Buying application services (e.g., Gmail, Dropbox, Netflix).

    • Platform as a Service (PaaS): Provides hardware, OS, database, and security services (e.g., Google App Engine, Microsoft Windows Azure).

    • Infrastructure as a Service (IaaS): Provides only server hardware, network access, and backup; the customer manages OS and software (e.g., Amazon EC2, Google Compute Engine).

    • Cloud Storage: A limited IaaS for storage (e.g., Google Drive).

  • Elasticity and Virtualization: Elasticity allows resources to be added/removed as needed (pay-as-you-go). Virtualization enables this by creating "logical" machines that span or divide physical hardware.

The Fragility and Future of the Internet

  • SCADA Systems: Supervisory Control and Data Acquisition systems operate vital infrastructure (Power, Transportation, Sewage, Pipelines).

  • Internet of Things (IoT): Also known as Machine-to-Machine (M2M) communication.

    • Stats: 77 billion77\text{ billion} devices in 2021; projected 125 billion125\text{ billion} by 2030.

  • Congestive Collapse: A risk where routers become overwhelmed, creating a cascading failure across the network as packets are rerouted.

The von Neumann Model and Architecture

  • History: Named after mathematician John von Neumann (though conceived by ENIAC inventors Mauchly and Eckert). Replaced the need for manual rewiring for every new problem.

  • Key Characteristics:

    • Three Hardware Systems: Central Processing Unit (CPU), Main Memory System, and I/O System.

    • Sequential Instruction Processing.

    • von Neumann Bottleneck: A single data path between the CPU and main memory.

  • Fetch-Decode-Execute Cycle:

    1. Fetch: the control unit gets the next instruction from memory using the program counter.

    2. Decode: the instruction is translated into a language the ALU understands.

    3. Operand Fetch: necessary data is retrieved from memory and placed in registers.

    4. Execute: the Arithmetic Logic Unit (ALU) performs the operation and stores results in registers or memory.

Non-von Neumann Models and Parallel Computing

  • Harvard Architecture: Uses separate buses for data and instructions.

  • Parallel Computing: Enables simultaneous work on subparts of a problem.

    • History: Dual processors (1960s); 32 processors (1970s); 1,000 processors (1980s); IBM Blue Gene with over 1 million processors (1999).

  • Multicore vs. Dual Processor:

    • Multicore: Two or more cores share a single die and specific resources like memory.

    • Dual Processor: Two separate processors, each plugging into the motherboard individually.

  • Alternative Models: Dataflow computing, quantum computing, and cellular automata.