Chapter 1 CSF 2009 Computer Abstractions and Technology.

Post on 11-Jan-2016

222 views 3 download

Tags:

transcript

Chapter 1

CSF 2009 Computer Abstractions and

Technology

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 pervasiveChapter 1 — Computer Abstractions

and Technology — 2

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

Chapter 1 — Computer Abstractions and Technology — 3

The Processor Market

Chapter 1 — Computer Abstractions and Technology — 4

IncreasedProcessor

performance

LargerDevelopment

teams

Larger, morefeature-rich

software

Slowerprograms

High-levellangages

andprogrammi

ngabstraction

s

Innovation Cycle in the Computer Industry

Source: Communications of ACM, May 2009.

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

Chapter 1 — Computer Abstractions and Technology — 6

Understanding Performance

AlgorithmDetermines number of operations executed

Programming language, compiler, architectureDetermine number of machine instructions executed per

operationProcessor and memory system

Determine how fast instructions are executedI/O system (including OS)

Determines how fast I/O operations are executed

Chapter 1 — Computer Abstractions and Technology — 7

Below Your ProgramApplication software

Written in high-level languageSystem software

Compiler: translates HLL code to machine code

Operating System: service codeHandling input/outputManaging memory and storageScheduling tasks & sharing resources

HardwareProcessor, memory, I/O controllers

Chapter 1 — Computer Abstractions and Technology — 8

Levels of Program Code• High-level language

– Level of abstraction closer to problem domain

– Provides for productivity and portability

• Assembly language– Textual representation of

instructions• Hardware representation

– Binary digits (bits)– Encoded instructions and data

Chapter 1 — Computer Abstractions and Technology — 9

Components of a ComputerSame components for

all kinds of computerDesktop, server,

embeddedInput/output includes

User-interface devicesDisplay, keyboard, mouse

Storage devicesHard disk, CD/DVD, flash

Network adaptersFor communicating with other

computers

Chapter 1 — Computer Abstractions and Technology — 10

The BIG Picture

Anatomy of a Computer

Chapter 1 — Computer Abstractions and Technology — 11

Output device

Input device

Input device

Network cable

Anatomy of a Computer

Sources: http://rich-sands.com/wordpress/wp-content/uploads/2009/04/iphone-07-01-09-1.gifhttp://www.macsparky.com/wp-content/uploads/2008/10/apple-iphone-keyboard.jpg

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 — 13

Through the Looking Glass• LCD screen: picture elements (pixels)

– Mirrors content of frame buffer memory

Chapter 1 — Computer Abstractions and Technology — 14

Opening the Box

Chapter 1 — Computer Abstractions and Technology — 15

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 — 16

Inside the Processor• AMD Barcelona: 4 processor cores

Chapter 1 — Computer Abstractions and Technology — 18

Abstractions

• Abstraction helps us deal with complexity– Hide lower-level detail

• Instruction set architecture (ISA)– The hardware/software interface

• Application binary interface– The ISA plus system software interface

• Implementation– The details underlying and interface

Chapter 1 — Computer Abstractions and Technology — 19

The BIG Picture

Source: Communications of ACM, May 2009.

Abstraction Layers in Computing

A Safe Place for Data Volatile main memory

Loses instructions and data when power off Non-volatile secondary memory

Magnetic diskFlash memoryOptical disk (CDROM, DVD)

Chapter 1 — Computer Abstractions and Technology — 21

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 — 24

Technology Trends• Electronics technology

continues to evolve– Increased capacity and

performance– Reduced cost

Chapter 1 — Computer Abstractions and Technology — 25

Year Technology Relative performance/cost

1951 Vacuum tube 1

1965 Transistor 35

1975 Integrated circuit (IC) 900

1995 Very large scale IC (VLSI) 2,400,000

2005 Ultra large scale IC 6,200,000,000

DRAM capacity

Technology Trends