Computer Architecture
Computer Science & Engineering
Chapter 1
OVERVIEW:
Abstracts and Technology
BK
TP.HCM
CuuDuongThanCong.com
/>
The Computer Revolution
Progress in computer technology
Makes novel applications feasible
BK
Based on the Moore’s Law
Computers in automobiles
Cell phones
Human genome project
World Wide Web
Search Engines
Computers used now everywhere
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
2
History of Computer Development
First generation 1945 - 1955
Second generation 1955 - 1965
ICs and multiprogramming
Fourth generation 1980 – present
BK
transistors, batch systems
Third generation 1965 – 1980
vacuum tubes, plug boards
personal computers (Desk, Lap)
SuperComp.,
DataCenter, Clusters, etc.
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
3
Classes of Computers
Desktop 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
Embedded computers
Hidden as components of systems
Stringent power/performance/cost constraints
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
4
The Processor Market
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
5
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
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
6
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
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
7
Below Your Program
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
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
8
Levels of Program Code
High-level language
Assembly language
Level of abstraction closer
to problem domain
Provides for productivity
and portability
Textual representation of
instructions
Hardware representation
Binary digits (bits)
Encoded instructions and
data
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
9
Components of a Computer
Same components for
all kinds of computer
Desktop, server,
embedded
Input/output includes
User-interface devices
Storage devices
Hard disk, CD/DVD, flash
Network adapters
BK
Display, keyboard, mouse
For communicating with
other computers
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
10
Anatomy of a Computer
Output
device
Network
cable
Input
device
Input
device
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
11
Anatomy of a Mouse
Optical mouse
LED illuminates
desktop
Small low-res camera
Basic image processor
Looks for x, y
movement
Buttons & wheel
Supersedes roller-ball
mechanical mouse
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
12
Through the Looking Glass
LCD screen: picture elements (pixels)
Mirrors content of frame buffer memory
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
13
Opening the Box
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
14
Inside the Processor (CPU)
Datapath: performs operations on data
Control: sequences datapath, memory,
...
Cache memory
Small fast SRAM memory for immediate
access to data
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
15
Inside the Processor
AMD Barcelona: 4 processor cores
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
16
Abstractions
Abstraction helps us deal with
complexity
Instruction set architecture (ISA)
The ISA plus system software interface
Implementation
BK
The hardware/software interface
Application binary interface
Hide lower-level detail
The details underlying and interface
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
17
A Safe Place for Data
Volatile main memory
Loses instructions and data when power off
Non-volatile secondary memory
Magnetic disk
Flash memory
Optical disk (CDROM, DVD)
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
18
Networks
Communication and resource sharing
Local area network (LAN): Ethernet
Within a building
Wide area network (WAN: the Internet
Wireless network: WiFi, Bluetooth
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
19
Technology Trends
Electronics
technology
continues to evolve
Increased capacity
and performance
Reduced cost
DRAM capacity
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
20
Defining Performance
Which airplane has the best performance?
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
21
Response Time & Throughput
Response time
How long it takes to do a task
Throughput
Total work done per unit time
How are response time and throughput
affected by
e.g., tasks/transactions/… per hour
Replacing the processor with a faster version?
Adding more processors?
We’ll focus on response time for now…
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
22
Relative Performance
Define Performance = 1/Execution Time
“X is n time faster than Y”
Example: time taken to run a program
10s on A, 15s on B
Execution TimeB / Execution TimeA
= 15s / 10s = 1.5
So A is 1.5 times faster than B
BK
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
23
Measuring Execution Time
Elapsed time
Total response time, including all aspects
Determines system performance
CPU time
Time spent processing a given job
BK
Processing, I/O, OS overhead, idle time
Discounts I/O time, other jobs’ shares
Comprises user CPU time and system CPU
time
Different programs are affected differently
by CPU and system performance
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
24
CPU Clocking
Operation of digital hardware governed by a
constant-rate clock
Clock period: duration of a clock cycle
BK
e.g., 250ps = 0.25ns = 250×10–12s
Clock frequency (rate): cycles per second
e.g., 4.0GHz = 4000MHz = 4.0×109Hz
TP.HCM
07-Sep-13
CuuDuongThanCong.com
Faculty of Computer Science & Engineering
/>
25