Topic 1
Introduction to Computer
The Computer Revolution
n Progress in computer technology
n Moores Law
n Makes novel applications feasible
n Computers in automobiles
n Cell phones
n Biomedical project
n Internet+
n Security
n Computers are pervasive
Chapter 1 Computer Abstractions and Technology 2
Classes of Computers
n Desktop computers
n General purpose, variety of software
n Subject to cost/performance tradeoff
n Embedded computers
n Hidden as components of systems
n Subject to power/performance/cost constraints
n Server computers
n Network based
n High capacity, performance, reliability
n Range from small servers to building sized
Chapter 1 Computer Abstractions and Technology 3
Where can we find Computers
n Desktop, Laptop, hand held PC,
n Automotive
n Automatic Ignition Systems, Cruise, ABS, traction control, airbag release
system
n Consumer Electronics
n TV, PDA, appliances, toys, cell phones, camera
n Industrial Control
n robotics, control systems
n Medical
n Infusion Pumps, Dialysis Machines, Prosthetic Devices, Cardiac Monitors,
n Networking
n wired and wireless routers, hubs,
n Office Automation
n fax, photocopiers, printers, scanners,
n Aerospace applications
n Flight-control systems, engine controllers, auto-pilots and passenger in-flight
entertainment systems
n Defense systems
n Radar systems, fighter aircraft flight-control systems, radio systems, and missile
guidance systems
Chapter 1 Computer Abstractions and Technology 4
Product: Hunter
Programmable Digital
Thermostat.
Microprocessor: 4-bit
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 5
Product:Vendo V-
MAX 720 vending
machine.
Microprocessor:
8-bit Motorola
68HC11.
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 6
Product: Sonicare Plus toothbrush.
Microprocessor: 8-bit Zilog Z8.
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 7
Product: Miele
dishwashers.
Microprocessor:
8-bit Motorola
68HC05.
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 8
Product: NASA's
Mars Sojourner
Rover.
Microprocessor:
8-bit Intel 80C85.
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 9
Product: CoinCo
USQ-712 coin
changer.
Microprocessor:
8-bit Motorola
68HC912.
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 10
Product: Garmin
Nvi GPS
Receiver
Microprocessor:
32-bit.
Chapter 1 Computer Abstractions and Technology 11
Product: Motorola
i1000plus iDEN Multi-
Service Digital Phone.
Microprocessor:
Motorola 32-bit MCORE.
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 12
Product: Nintendo Wii Controller
Microprocessor: IBM 32-bit Power RISC
Chapter 1 Computer Abstractions and Technology 13
Product: Apple iPad
Microprocessor:
Apple A4,
a 32-bit ARM RISC.
Chapter 1 Computer Abstractions and Technology 14
Product: Apple iWatch
Microprocessor:
32-bit Apple A6 and
M7 Coprocessor
Chapter 1 Computer Abstractions and Technology 15
Product: iPhone 7
Microprocessor:
Apple A10, based on
64-bit quad-core
ARMv8-A
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 16
Product: Sony Aibo
ERS-110 Robotic
Dog.
Microprocessor:
64-bit MIPS RISC.
by Daniel W. Lewis
Chapter 1 Computer Abstractions and Technology 17
Anatomy of a Computer
Output
device
Network
cable
Input Input
device device
Chapter 1 Computer Abstractions and Technology 18
Opening the Box
Chapter 1 Computer Abstractions and Technology 19
Inside the Processor (CPU)
n Datapath: performs operations on data
n Control: controls how data flows
n Cache memory
n Small fast SRAM memory for immediate
access to data
Chapter 1 Computer Abstractions and Technology 20
Inside the Processor
n AMD Barcelona: 4 processor cores
Chapter 1 Computer Abstractions and Technology 21
Peripheral Memory
n Volatile main memory
n Loses instructions and data when power off
n Non-volatile secondary memory
n Magnetic disk
n Flash memory
n Optical disk (CDROM, DVD)
Chapter 1 Computer Abstractions and Technology 22
Peripheral Networks
n Communication and resource sharing
n Local area network (LAN): Ethernet
n Within a building
n Wide area network (WAN): the Internet
n Wireless network: WiFi, Bluetooth
Chapter 1 Computer Abstractions and Technology 23
Peripheral Display
n Screen and VGA card
(Source: Wikipedia.org)
Chapter 1 Computer Abstractions and Technology 24
Together with Software
n Application software
n Written in high-level language
(HLL)
n System software
n Operating System: service code
n Handling input/output
n Managing memory and storage
n Scheduling tasks & sharing resources
n Written in C and assembly
n Hardware
n Processor, memory, I/O controllers
Chapter 1 Computer Abstractions and Technology 25
Levels of Program Code
n High-level language
n What we use
n Assembly language
n What both we and computers can use
n Machine instruction
n What computers use
Chapter 1 Computer Abstractions and Technology 26
Levels of Program Code
n High-level language
n Syntax is similar to English
n A translator is required to translate
the program compile
n Allows the user to work on the
program logic at higher level
Chapter 1 Computer Abstractions and Technology 27
Levels of Program Code
n Assembly language
n Composed of assembly
instructions
n An assembly instruction is a
mnemonic representation of a
machine instruction
n Assembly instruction must be
translated before it can be executed
assembler
n Programmers need to work on the
program logic at a very low level,
hard to achieve high productivity.
Chapter 1 Computer Abstractions and Technology 28
Levels of Program Code
n Machine instruction
n A sequence of binary digits which
can be executed by the processor
n Hard to understand, program, and
debug for human being
From Wikipedia
Chapter 1 Computer Abstractions and Technology 29
Power Trends
Hit the wall
n In CMOS IC technology
Power = Capacitive load Voltage 2 Frequency
30 5V1V in 15y, 1000
15% off/generation
Chapter 1 Computer Abstractions and Technology 30
Uniprocessor Performance
25% per year, due to
new technologies
52% per year, benefited from 20% per year, limited by power,
architecture/organization advances instruction-level parallelism,
memory latency
Chapter 1 Computer Abstractions and Technology 31
Technology Trends
n Electronics technology
continues to evolve
n Reduced cost
n Parallelism
n Low power
n Increased capacity and
performance
(From Wikipedia)
Chapter 1 Computer Abstractions and Technology 32
How to Measure Computer Performance?
n Execution (response) time
n How long it takes to do a task
n Measure for PCs and embedded computers
n Throughput
n Total work done per unit time
n Servers
n Well focus on execution time for now
Chapter 1 Computer Abstractions and Technology 33
Measuring Performance - Time
n Elapsed time for System Performance
n Total execution time to complete a task, including
n Processing, I/O, OS overhead, idle time, everything
n But doesnt completely reflect computers
performance if it focuses on better throughput
n CPU time for CPU Performance
n CPU execution time processing a task
n Exclude I/O time, time spent for other tasks
n Comprises user CPU time and system CPU time
n Hard to differentiate
n Different programs run with different CPU
performance and system performance
n User must know whats the desired performance metric
Chapter 1 Computer Abstractions and Technology 34
Understanding Performance
Performance-related factors:
n Algorithm
n Determines number of operations executed
n Programming language, compiler, architecture
n Determine number of machine instructions executed
per operation
n Processor and memory system
n Determine how fast instructions are executed
n I/O system (including OS)
n Determines how fast I/O operations are executed
Chapter 1 Computer Abstractions and Technology 35
CPU Clocking
n Operation of digital hardware governed by a
constant-rate clock
Clock period
Clock (cycles)
Data transfer
and computation
Update state
Chapter 1 Computer Abstractions and Technology 36
CPU Time
CPU Time = CPU Clock Cycles per program Clock Cycle Time
CPU Clock Cycles
=
Clock Rate
n Performance improved by
n Reducing number of clock cycles Tradeoff we will
face when
n Increasing clock rate designing the
CPU
Chapter 1 Computer Abstractions and Technology 37
CPU Time Example
n Computer A: 2GHz clock, 10s CPU time
n Designing Computer B
n Aim for 6s CPU time
n Can do faster clock, but causes 1.2 clock cycles A
n How fast must Computer B clock be?
Clock CyclesB 1.2 Clock CyclesA
Clock RateB = =
CPU TimeB 6s
Clock CyclesA = CPU Time A Clock Rate A
= 10s 2GHz = 20 10 9
1.2 20 10 9 24 10 9
Clock RateB = = = 4GHz
6s 6s
Chapter 1 Computer Abstractions and Technology 38
Instruction Count (IC) and Clock cycle Per
Instruction (CPI)
n How instructions related to performance?
Clock Cycles = Instruction Count Clock Cycles per Instruction(CPI)
CPU Time = Instruction Count CPI Clock Cycle Time
Instruction Count CPI Classic CPU
=
Clock Rate performance equation
n Instruction Count for a program
n Determined by program, Instruction Set
Architecture (ISA), and compiler
n Cycles per instruction
n Determined by CPU hardware
n If different instructions have different CPI
n Average CPI, affected by instruction mix
Chapter 1 Computer Abstractions and Technology 39
CPI Example
n Computer A: Cycle Time = 250ps, CPI = 2.0
n Computer B: Cycle Time = 500ps, CPI = 1.2
n Same ISA
n Which is faster, and by how much?
CPU Time A = Instruction Count CPIA Cycle Time A
= I 2.0 250ps = I 500ps A is faster
CPU TimeB = Instruction Count CPIB Cycle TimeB
= I 1.2 500ps = I 600ps
CPU TimeB I 600ps
= = 1.2
CPU Time A I 500ps by this much
Chapter 1 Computer Abstractions and Technology 40
Performance Summary
The BIG Picture
Instructions Clock cycles Seconds
CPU Time =
Program Instruction Clock cycle
n Performance depends on
n Algorithm: affects IC, possibly CPI
n Programming language: affects IC, CPI
n Compiler: affects IC, CPI
n Instruction set architecture: affects IC, CPI, Tc
Chapter 1 Computer Abstractions and Technology 41
Concluding Remarks
n Classes and applications of computer
n Cost/performance is improving
n Due to underlying technology development
n Hierarchical layers of abstraction
n In both hardware and software
n Execution time: the best performance
measure
n Power is a limiting factor
n Use parallelism to improve performance
Chapter 1 Computer Abstractions and Technology 42