Introduction
Tom Kelliher, CS 220
Sept. 2, 2009
Read 1.4.
- Syllabus.
- Introduction.
Performance measurement.
What is computer organization and why is it important? The three
dimensions involved in optimizing traditional performance:
- Algorithms.
- Organization/architecture.
- Technology.
A new performance criterion: power. Determined by voltage, transistor
count, clock rate.
Examples of problems to be solved:
- Encoding/decoding video/audio.
- Data mining.
- Sequence matching.
- Simulation
- Finding/organizing/querying data.
Questions to consider:
- How do we translate human readable programs into machine readable
programs? What are the steps?
- What is architecture -- the crux of the software/hardware interface.
- Performance. What is it? How do we improve it?
- What has fueled the transition from uniprocessing to multiprocessing
(multiple cores, multiple CPU chips)? What are the consequences? How
was program parallelism handled earlier?
Moore's law: the number of transistors on a chip doubles every two years.
What has this given us?
Some more recent figures:
| Processor |
Year |
Transistor Count |
| AMD Athlon 64 |
2003 |
105,900,000 |
| Intel Core 2 Duo |
2006 |
291,000,000 |
| Intel Core 2 Quad |
2006 |
582,000,000 |
| NVIDIA G80 |
2006 |
681,000,000 |
| Intel Dual Core Itanium 2 |
2006 |
1,700,000,000 |
| Six Core Xeon 7400 |
2008 |
1,900,000,000 |
| AMD RV770 |
2008 |
956,000,000 |
| NVIDIA GT200 |
2008 |
1,400,000,000 |
| Eight Core Xeon Nehalem-EX |
Future |
2,300,000,000 |
(G80: 128 stream processors -- FPUs; RV770 800 SPs; GT200 240 SPs)
What have architects done with these transistors?
CPUs: lots of transistors tied up in caches.
GPUs: FPU-intensive.
- Personal systems: desktop and laptops.
- Servers: Today's ``mainframes.'' File servers have more storage and
faster I/O; CPU speed not so critical. Compute servers tend to have more
of everything.
- Supercomputers: super servers. Large scale simulations -- weather,
automotive, nuclear.
- Embedded: the largest category. Where are they?
Most CPU sales: ARM processors, in cell phone handsets
Layered system design:
- Hardware.
- Operating system.
- System software.
- Application software.
- User.
Compilation process:
- HLL and compiler.
- Assembly and assembler.
One-to-one correspondence to machine code (usually).
- Binary machine code.
How does Java fit into this model?
Components of a computer:
- Input, output.
- Memory.
Hierarchy:
- Registers.
- L1 and L2 caches.
- Memory.
- Hard disk.
- Floppy, CD, Zip, flash drive, tape, etc.
Technologies:
- Flip flops.
- Static, dynamic RAM.
- Flash
- Disk technology.
- CPU. Control, datapath.
Memory and I/O can't always keep up.
- An awful lot if packed into a laptop (or an iPhone):
- Photomicrograph of a 4 core AMD chip:
- Block diagram of same chip:
Buses:
- Hypertransport: front-side bus, multiprocessor interconnect, etc.
- Northbridge: ``fast'' I/O devices.
Relative performance of various technologies:
Thomas P. Kelliher
2009-09-01
Tom Kelliher