Computer Abstractions and Technology Notes

Chapter 1: Computer Abstractions and Technology

Fadi El-Hassan, Ph.D, P.Eng.
COEN-316: Computer Architecture and Design
Based on works by Patterson & Hennessy and William Stallings from department of Electrical and Computer Engineering (ECE)


1. The Computer Revolution

  • Progress in computer technology

    • Underpinned by domain-specific accelerators

    • Enables novel applications

    • Examples include:

      • Computers in automobiles

      • Cell phones

      • Human genome project

      • World Wide Web

      • Search Engines

    • Computers are pervasive


2. Classes of Computers

  • Personal Computers

    • General purpose, variety of software

    • Subject to cost/performance tradeoff

  • Server Computers

    • Network-based

    • High capacity, performance, reliability

    • Range from small servers to building-sized structures

  • Supercomputers

    • A type of server specifically designed for high-end scientific and engineering calculations

    • Aim for highest capability but occupy a small fraction of the overall computer market

  • Embedded Computers

    • Often hidden as components within larger systems

    • Operate under stringent power/performance/cost constraints


3. The PostPC Era

  • Timeline (2007-2018)

    • Data representation of market share or performance:

    • Smart Phones

    • Cell Phones (excluding smart phones)

    • Personal Computers (excluding tablets)

    • Tablets

  • Personal Mobile Device (PMD)

    • Specifications include:

    • Battery-operated

    • Internet connectivity

    • Cost hundreds of dollars

    • Includes smart phones, tablets, and electronic glasses

  • Cloud Computing

    • Involves Warehouse Scale Computers (WSC)

    • Software as a Service (SaaS) model

    • Portions of software run on PMDs while others run in the cloud, as seen with companies like Amazon and Google


4. Learning Objectives

  • Understand how programs are translated into machine language and executed by hardware

  • Explore the hardware/software interface

  • Investigate what determines program performance and methods for improvement

  • Learn how hardware designers enhance performance

  • Gain insight into parallel processing concepts


5. Understanding Performance

  • Factors influencing performance:

    • Algorithm: Determines the number of operations executed

    • Programming Language: Type, compiler, and architecture define how many machine instructions are executed per operation

    • Processor and Memory System: Determine execution speed of instructions

    • I/O System (including OS): Determines speed of I/O operations


6. Seven Great Ideas in Computer Architecture

  1. Use abstraction to simplify design

  2. Make the common case fast

  3. Achieve performance via parallelism

  4. Enhance performance via pipelining

  5. Improve performance through prediction

  6. Establish a hierarchy of memories

  7. Ensure dependability via redundancy


7. Below Your Program

  • Application Software: Written in high-level language (HLL)

  • System Software:

    • Compiler: Translates HLL code to machine code

    • Operating System:

    • Manages I/O operations

    • Handles memory management and storage

    • Schedules tasks and shares resources

  • Hardware: Includes processor, memory, and I/O controllers


8. Levels of Program Code

  • High-level language: Closest abstract level to the problem domain; enhances productivity and portability

  • Assembly Language: Textual representation of instructions

  • Hardware Representation: Composed of binary digits (bits); encodes instructions and data


9. Components of a Computer

  • Same essential components across all types of computers (desktop, server, embedded):

    • Input/Output Devices:

    • User-interface devices include displays, keyboards, and mice

    • Storage Devices: Hard disks, CDs/DVDs, flash drives

    • Network Adapters: For communication between computers


10. Touchscreen Technology

  • Touchscreen Types:

    • PostPC devices: e.g., smartphones and tablets

    • Supersede keyboards and mice

    • Types include resistive and capacitive

    • Most modern devices utilize capacitive technology, which allows multiple simultaneous touches


11. Display Technology

  • LCD Screen:

    • Composed of picture elements (pixels)

    • Mirrors the content of frame buffer memory


12. Understanding Processors

  • Inside the Processor (CPU):

    • Datapath: Performs operations on data

    • Control: Sequencing of datapath, memory, etc.

    • Cache Memory: Small, fast SRAM memory designed for immediate data access


13. Processor Architecture

  • Overview of an A12 processor structure:

    • Components include DDR logic, system cache, various cores (big and small), and more


14. Abstraction in Computer Architecture

  • Abstraction is essential for managing complexity in computer systems:

    • Instruction Set Architecture (ISA): Defines the hardware/software interface

    • Application Binary Interface: An interface between application programs and the operating system

    • Implementation Details: Underlying the interfaces


15. Memory Types

  • Volatile Main Memory:

    • Loses instructions and data when power is turned off

  • Non-Volatile Secondary Memory:

    • Includes types such as magnetic disks, flash memory, and optical disks (CDROM, DVD)


16. Networking Fundamentals

  • Networks:

    • Facilitate communication, resource sharing, and nonlocal access

    • Local Area Network (LAN): Commonly utilizes Ethernet technology

    • Wide Area Network (WAN): Represents the Internet

    • Wireless Networks: Include WiFi and Bluetooth technologies


17. Technology Trends in Electronics

  • Electronics technology continues to evolve, focusing on:

    • Increased capacity

    • Enhanced performance

    • Reduced costs

  • Historical Relative Performance/Cost Data:

    • 1951: Vacuum tube -> Performance index = 1

    • 1965: Transistor -> Performance index = 35

    • 1975: Integrated circuit (IC) -> Performance index = 900

    • 1995: Very large scale IC (VLSI) -> Performance index = 2,400,000

    • 2013: Ultra large scale IC -> Performance index = 250,000,000,000 DRAM capacity


18. Semiconductor Technology

  • Silicon: Primary semiconductor material

    • Transformation of properties is achieved through the addition of other materials:

    • Conductors

    • Insulators

    • Switches


19. Manufacturing Integrated Circuits (ICs)

  • Process Steps Include:

    • Dicing silicon ingots and bonding dies to packaging

    • Testing and quality control to yield usable chips

    • Includes about 20 to 40 processing steps

  • Yield: The proportion of working dies per wafer


20. Intel® Core 10th Gen Overview

  • Specifications include:

    • 300mm wafers containing up to 506 chips

    • 10nm technology

    • Each chip dimensions: 11.4 x 10.7 mm


21. Cost of Integrated Circuits

  • Cost is not linear concerning die area and defect rate

  • Factors affecting cost include:

    • Wafer cost and area are fixed

    • Defect rate determined by manufacturing methods

    • Die area influenced by architecture and circuit design

  • Mathematical Relations:

    • CostextperdieextYieldimesextCostperwaferCost ext{ per die} ≈ ext{Yield} imes ext{Cost per wafer}

    • DieArea=extTotalWaferArea/extDieAreaDie Area = ext{Total Wafer Area} / ext{Die Area}

    • Yield=extDiesperwafer=extWaferarea/extDieareaYield = ext{Dies per wafer} = ext{Wafer area} / ext{Die area}