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
Use abstraction to simplify design
Make the common case fast
Achieve performance via parallelism
Enhance performance via pipelining
Improve performance through prediction
Establish a hierarchy of memories
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: