CHAPTER 1. COMPUTER ABSTRACTIONS AND TECHNOLOGY Computer Organization & Design 1. Computers and Abstraction 2 1. Computers and Abstraction Contents Introduction Software Components of a Computer Abstractions 1.1 Introduction 3 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design The Computer Revolution Progress in computer technology Underpinned by Moore’s Law Makes novel applications feasible Computers in automobiles Cell phones Human genome project World Wide Web Search Engines Computers are pervasive Computer Architecture Introduction 4 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Classes of Computers 1. Desktop computers General purpose, variety of software Good performance to a single user at low cost 2. Servers Network based High capacity, performance, reliability Range from small servers to building sized 3. Supercomputers High-end scientific and engineering calculations Highest capability but represent a small fraction of the overall computer market 4. Embedded computers Hidden as components of systems Minimum performance with stringent limitations on cost or power Computer Architecture Introduction 5 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design The PostPC Era Personal Mobile Device (PMD) Battery operated Connects to the Internet Hundreds of dollars Smart phones, tablets, electronic glasses Cloud computing Warehouse Scale Computers (WSC) Software as a Service (SaaS) Portion of software run on a PMD and a portion run in the Cloud Amazon and Google Computer Architecture Introduction 6 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design What You Will Learn How programs are translated into the machine language And how the hardware executes them The hardware/software interface What determines program performance And how it can be improved How hardware designers improve performance What is parallel processing Computer Architecture Introduction 7 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Understanding Performance Algorithm Programming language, compiler, architecture Determine number of machine instructions executed per operation Processor and memory system Determines number of operations executed Determine how fast instructions are executed I/O system (including OS) Determines how fast I/O operations are executed Computer Architecture 1.2 Eight Great Ideas in Computer Architecture 8 - Chapter 1 Computer Abstractions and Technology- Design for Moore’s Law Use abstraction to simplify design Make the common case fast Performance via parallelism Performance via pipelining Performance via prediction Hierarchy of memories Dependability via redundancy Computer Organization & Design Computer Architecture 1.3 Below Your Program 9 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Application software Written in high-level language System software Compiler: translates HLL code to machine code Operating System: service code Handling input/output Managing memory and storage Scheduling tasks & sharing resources Hardware Processor, memory, I/O controllers Computer Architecture Below Your Program - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Application Software 10 Software Compiler Operating System Assembler Instruction Set Architecture Hardware Processor Memory I/O Systems Data Path & Control Hardware Circuits TR Physics Computer Architecture C, Assembly, Binary 11 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design High Level Language Program Top down view Compiler Assembly Language Program High-level language Assembler Object machine code Linker Executable machine code Assembly language Loader Machine Language Program in Memory Instruction Set Architecture Textual representation of instructions Hardware representation Machine Interpretation Level of abstraction closer to problem domain Provides for productivity and portability Binary digits (bits) Encoded instructions and data Control Signal Specification Computer Architecture 1.4 Under the Cover 12 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Computer Architecture Components of a Computer 13 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Same components for all kinds of computer Desktop, server, embedded Input/output includes User-interface devices Storage devices Display, keyboard, mouse Hard disk, CD/DVD, flash Network adapters For communicating with other computers Computer Architecture Anatomy of a Computer 14 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Computer Architecture Touchscreen 15 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design PostPC device Supersedes keyboard and mouse Resistive and Capacitive types Most tablets, smart phones use capacitive Capacitive allows multiple touches simultaneously Computer Architecture Through the Looking Glass 16 - Chapter 1 Computer Abstractions and Technology- CRT (Cathode Ray Tube) display Refresh rate ∙∙∙ 30 to 75 times per second LCD (Liquid Crystal Display) Computer Organization & Design LCD pixel is not the source of light. Rod-shaped molecules Active matrix LCD Raster refresh buffer(frame buffer) Computer Architecture Opening the Box 17 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Capacitive multitouch LCD screen 3.8 V, 25 Watt-hour battery Computer board Computer Architecture Inside the Processor (CPU) 18 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Datapath: performs operations on data Control: sequences datapath, memory, ... Cache memory Small fast SRAM memory for immediate access to data Computer Architecture Inside the Processor 19 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Computer Architecture Abstraction 20 - Chapter 1 Computer Abstractions and Technology- Abstraction helps us deal with complexity The hardware/software interface Application binary interface Hide lower-level detail Instruction Set Architecture (=Architecture) Computer Organization & Design The ISA plus system software interface Implementation The details underlying and interface Computer Architecture A Safe Place for Data 21 - Chapter 1 Computer Abstractions and Technology- Volatile main memory Computer Organization & Design Loses instructions and data when power off Non-volatile secondary memory Magnetic disk Flash memory Optical disk (CDROM, DVD) Computer Architecture Networks 22 - Chapter 1 Computer Abstractions and Technology- Communication and resource sharing Local area network (LAN): Ethernet Computer Organization & Design Within a building Wide area network (WAN: the Internet Wireless network: WiFi, Bluetooth Computer Architecture Technology Trends 23 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Electronics technology continues to evolve Increased capacity and performance Reduced cost DRAM capacity Year Technology Relative performance/unit cost 1951 Vacuum tube 1 1965 Transistor 35 1975 IC 900 1995 VLSI 2,400,000 2005 ULSI 6,200,000,000 2013 ULSI 250,000,000,000 Computer Architecture Moore’s Law on DRAM Capacity 24 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Gordon Moore of Intel 2x every 18~24 months 4x every 3 years x 16,000 for 20 years since 1977 Computer Architecture Semiconductor Technology 25 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Silicon: semiconductor Add materials to transform properties: Conductors Insulators Switch Computer Architecture Manufacturing ICs 26 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Yield: proportion of working dies per wafer Computer Architecture Intel Core i7 Wafer 27 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Intel Core i7(300mm wafer, 280 chips, 32nm technology) Each chip is 20.7 x 10.5 mm Computer Architecture 1. Computers and Abstraction 28 - Chapter 1 Computer Abstractions and Technology- Computer Organization & Design Summary Components of a Computer Abstractions Moore’s Law Next Lecture Performance Computer Architecture