Professional Documents
Culture Documents
9/16/2013
Computer Revolution
Progress in computer technology Underpinned by Moores Law Makes novel applications feasible Computers in automobiles Cell phones Human genome project World Wide Web Search Engines
9/16/2013
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
9/16/2013
language
The hardware/software interface What determines program performance And how it can be improved How hardware designers improve performance What is parallel processing
9/16/2013
Understanding Program
Algorithm Determines what needs to be done Programming language, compiler, architecture Determine what machine instructions executed
9/16/2013
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
9/16/2013
Components of a Computer
Same components for all kinds of computer Desktop, server, embedded Input/output includes User-interface devices
Storage devices
Network adapters
9/16/2013
Anatomy of a Computer
Output device
Network cable
Input device
Input device
9/16/2013
9/16/2013
9/16/2013
9/16/2013
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 Hardware that obeys the architecture abstraction
9/16/2013
Data Storage
Volatile main memory Loses instructions and data when power off Non-volatile secondary memory Magnetic disk Flash memory Optical disk (CDROM, DVD)
9/16/2013
Networks
Communication and resource sharing
9/16/2013
Technology Trends
Electronics
DRAM capacity
Year 1951
Relative performance/cost 1
1965
1975 1995 2005
Transistor
Integrated circuit (IC) Very large scale IC (VLSI) Ultra large scale IC
35
900 2,400,000 6,200,000,000
9/16/2013
Power Trend
In CMOS IC technology
Uniprocessors
Multiprocessors
Multicore microprocessors More than one processor per chip Requires explicitly parallel programming Compare with instruction level parallelism
Hardware executes multiple instructions at once Hidden from the programmer
Hard to do
Programming for performance Load balancing Optimizing communication and synchronization
9/16/2013
Conclusion
Cost/performance is improving Due to underlying technology development Hierarchical layers of abstraction In both hardware and software Instruction set architecture The hardware/software interface Execution time: the best performance measure Power is a limiting factor Use parallelism to improve performance
9/16/2013
Reading List
Chapter 2: Section 2.1, 2.2, 2.3
9/16/2013