Вы находитесь на странице: 1из 25

Chapter 1

Computer Abstractions
and Technology

Progress in computer technology




Underpinned by Moores Law

Makes novel applications feasible








1.1 Introduction

The Computer Revolution

Computers in automobiles
Cell phones
Human genome project
World Wide Web
Search Engines

Computers are pervasive


Chapter 1 Computer Abstractions and Technology 2

Classes of Computers


Desktop computers



Server computers




General purpose, variety of software


Subject to cost/performance tradeoff
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
Chapter 1 Computer Abstractions and Technology 3

The Processor Market

Chapter 1 Computer Abstractions and Technology 4

What You Will Learn




How programs are translated into the


machine language





The hardware/software interface


What determines program performance


And how the hardware executes them

And how it can be improved

How hardware designers improve


performance
What is parallel processing
Chapter 1 Computer Abstractions and Technology 5

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

Chapter 1 Computer Abstractions and Technology 6

Application software


Written in high-level language

System software


Compiler: translates HLL code to


machine code
Operating System: service code




1.2 Below Your Program

Below Your Program

Handling input/output
Managing memory and storage
Scheduling tasks & sharing resources

Hardware


Processor, memory, I/O controllers


Chapter 1 Computer Abstractions and Technology 7

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
Chapter 1 Computer Abstractions and Technology 8

The BIG Picture

Same components for


all kinds of computer


Desktop, server,
embedded

1.3 Under the Covers

Components of a Computer

Input/output includes


User-interface devices


Storage devices


Display, keyboard, mouse


Hard disk, CD/DVD, flash

Network adapters


For communicating with


other computers

Chapter 1 Computer Abstractions and Technology 9

Anatomy of a Computer
Output
device

Network
cable

Input
device

Input
device

Chapter 1 Computer Abstractions and Technology 10

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

Chapter 1 Computer Abstractions and Technology 11

Through the Looking Glass




LCD screen: picture elements (pixels)




Mirrors content of frame buffer memory

Chapter 1 Computer Abstractions and Technology 12

Opening the Box

Chapter 1 Computer Abstractions and Technology 13

Inside the Processor (CPU)






Datapath: performs operations on data


Control: sequences datapath, memory, ...
Cache memory


Small fast SRAM memory for immediate


access to data

Chapter 1 Computer Abstractions and Technology 14

Inside the Processor




AMD Barcelona: 4 processor cores

Chapter 1 Computer Abstractions and Technology 15

Abstractions
The BIG Picture


Abstraction helps us deal with complexity




Instruction set architecture (ISA)




The hardware/software interface

Application binary interface




Hide lower-level detail

The ISA plus system software interface

Implementation


The details underlying and interface


Chapter 1 Computer Abstractions and Technology 16

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)

Chapter 1 Computer Abstractions and Technology 17

Networks



Communication and resource sharing


Local area network (LAN): Ethernet





Within a building

Wide area network (WAN: the Internet


Wireless network: WiFi, Bluetooth

Chapter 1 Computer Abstractions and Technology 18

Technology Trends


Electronics
technology
continues to evolve


Increased capacity
and performance
Reduced cost

Year

Technology

1951

Vacuum tube

1965

Transistor

1975

Integrated circuit (IC)

1995

Very large scale IC (VLSI)

2005

Ultra large scale IC

DRAM capacity

Relative performance/cost
1
35
900
2,400,000
6,200,000,000
Chapter 1 Computer Abstractions and Technology 19

Which airplane has the best performance?


Boeing 777

Boeing 777

Boeing 747

Boeing 747

BAC/Sud
Concorde

BAC/Sud
Concorde

Douglas
DC-8-50

Douglas DC8-50
0

100

200

300

400

500

Boeing 777

Boeing 777

Boeing 747

Boeing 747

BAC/Sud
Concorde

BAC/Sud
Concorde

Douglas
DC-8-50

Douglas DC8-50
500

1000

Cruising Speed (mph)

4000

6000

8000 10000

Cruising Range (miles)

Passenger Capacity

2000

1.4 Performance

Defining Performance

1500

100000 200000 300000 400000


Passengers x mph

Chapter 1 Computer Abstractions and Technology 20

Response Time and 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?

Well focus on response time for now


Chapter 1 Computer Abstractions and Technology 21

Relative Performance



Define Performance = 1/Execution Time


X is n time faster than Y
Performanc e X Performanc e Y
= Execution time Y Execution time X = n

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
Chapter 1 Computer Abstractions and Technology 22

Measuring Execution Time




Elapsed time


Total response time, including all aspects




Processing, I/O, OS overhead, idle time

Determines system performance

CPU time


Time spent processing a given job




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
Chapter 1 Computer Abstractions and Technology 23

CPU Clocking


Operation of digital hardware governed by a


constant-rate clock
Clock period

Clock (cycles)
Data transfer
and computation
Update state

Clock period: duration of a clock cycle




e.g., 250ps = 0.25ns = 2501012s

Clock frequency (rate): cycles per second




e.g., 4.0GHz = 4000MHz = 4.0109Hz


Chapter 1 Computer Abstractions and Technology 24

CPU Time
CPU Time = CPU Clock Cycles Clock Cycle Time
CPU Clock Cycles
=
Clock Rate


Performance improved by




Reducing number of clock cycles


Increasing clock rate
Hardware designer must often trade off clock
rate against cycle count

Chapter 1 Computer Abstractions and Technology 25

Вам также может понравиться