chapter 1 csf 2009 computer abstractions and technology
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