Title: IC cost = Die cost Testing cost Packaging cost
1Integrated Circuits Costs
- IC cost Die cost Testing cost
Packaging cost - Final
test yield - Die cost Wafer cost
- Dies per Wafer Die
yield - Dies per wafer ? ( Wafer_diam / 2)2
? Wafer_diam Test dies - Die
Area 2 Die Area - Die Yield Wafer yield 1
-
???
Defects_per_unit_area Die_Area
?
Die Cost goes roughly with die area4
2Real World Examples
- Chip Metal Line Wafer Defect Area Dies/ Yield Die
Cost layers width
cost /cm2 mm2 wafer - 386DX 2 0.90 900 1.0 43 360 71 4
- 486DX2 3 0.80 1200 1.0 81 181 54 12
- PowerPC 601 4 0.80 1700 1.3 121 115 28 53
- HP PA 7100 3 0.80 1300 1.0 196 66 27 73
- DEC Alpha 3 0.70 1500 1.2 234 53 19 149
- SuperSPARC 3 0.70 1700 1.6 256 48 13 272
- Pentium 3 0.80 1500 1.5 296 40 9 417
- From "Estimating IC Manufacturing Costs, by
Linley Gwennap, Microprocessor Report, August 2,
1993, p. 15
3Chip Prices (August 1993)
- Assume purchase 10,000 units
Chip Area Mfg. Price Multi- Comment mm2 cost pli
er 386DX 43 9 31 3.4 Intense
Competition 486DX2 81 35 245 7.0 No
Competition PowerPC 601 121 77 280 3.6 DEC
Alpha 234 202 1231 6.1 Recoup
RD? Pentium 296 473 965 2.0 Early in
shipments
4Measuring Performance (1.5)
5Metrics of Performance
Application
Answers per month Operations per second
Programming Language
Compiler
(millions) of Instructions per second
MIPS (millions) of (FP) operations per second
MFLOP/s
ISA
Datapath
Megabytes per second
Control
Function Units
Cycles per second (clock rate)
Transistors
Wires
Pins
6Systems Performance
?1998 Morgan Kaufmann Publishers
- Boils down to measure, report, and summarize
- Make intelligent choices
- See through the marketing hype -- key to
understanding underlying organizational motivation
7Performance
- Why is some hardware better than others for
different programs?What factors of system
performance are hardware related? (e.g., Do we
need a new machine, or a new operating
system?)How does the machine's instruction set
affect performance?
8Computer Performance TIME, TIME, TIME
- Response Time (latency) How long does it take
for my job to run? How long does it take to
execute a job? How long must I wait for the
database query? - Throughput How many jobs can the machine run
at once? What is the average execution
rate? How much work is getting done?
9Execution Time
- Elapsed Time
- counts everything (disk and memory accesses, I/O
, etc.) - a useful number, but often not good for
comparison purposes - CPU time
- doesn't count I/O or time spent running other
programs - can be broken up into system time, and user time
- Our focus user CPU time
- time spent executing the lines of code that are
"in" our program
10Unix Times
- Unix time command report
- 90.7u 12.9s 239 65
- Which means
- User CPU time is 90.7 seconds
- System CPU time is 12.9 seconds
- Elapsed time is 2 minutes and 39 seconds
- Percentage of elapsed time that is CPU time is
11Book's Definition of Performance
- For some program running on machine X,
PerformanceX 1 / Execution timeX - "X is n times faster than Y" PerformanceX /
PerformanceY n
12Some Definitions
- What does it mean to say X is n faster than Y?
- We mean that PerformanceX gt PerformanceY
- And ...
Performance 1/Execution time
Execution timeY Execution timeX
n
n
PerformanceX PerformanceY
n
13Example
- So if X runs a program in 10 sec. and Y runs it
in 20 sec, then n 2 i.e., X is 200 faster
than Y - If Z runs the same program in 15 seconds, which
of the follow is (are) true? - X is 150 faster than Z
- Z is 133 faster than Y
14Clock Cycles - Only Thing That Matters?
?1998 Morgan Kaufmann Publishers
- Instead of reporting execution time in seconds,
we often use cycles, i.e., - Clock ticks indicate when to start activities
(one abstraction) - Cycle time time between ticks seconds per
cycle - Clock rate (frequency) cycles per second ( 1Hz
1 cycle/second) - A 200 MHz clock has a
15How to Improve Performance
?1998 Morgan Kaufmann Publishers
- So, to improve performance (everything else being
equal) you can either change - of required cycles for a program, or
- Clock cycle time or, said another way,
- Clock rate.
16How Many Cycles for a Program?
?1998 Morgan Kaufmann Publishers
- Could assume that of cycles of
instructions
time
This assumption is incorrect, different
instructions take different amounts of time on
different machines.Why? hint remember that
these are machine instructions, not lines of C
code
17Number of Cycles for Different Instructions
?1998 Morgan Kaufmann Publishers
time
- Multiplication takes more time than addition
- Floating point operations take longer than
integer ones - Accessing memory takes more time than accessing
registers
Important point changing the cycle time often
changes the number of cycles required for various
instructions (more later)
18Breaking Down Clock Cycles
- Want to relate clock cycles to instructions
- Clearly more instructions mean more clock cycles
needed - The relationship is
- We use CPI to stand for clock cycles per
instruction - Example
- Two members of the same computer family
- Model 10 has a clock cycle time of 20 nsec. and a
CPI of 1.2 - Model 20 has a clock cycle time of 10 nsec. and
a CPI of 2.0 - Which machine is faster and by how much?
- Answer is the model 20 and it is 1.2 times faster
(why not 2 times?)
19Example Calculating CPI
Base Machine (Reg / Reg) Op Freq Cycles CPI(i) (
Time) ALU 50 1 .5 (33) Load 20 2
.4 (27) Store 10 2 .2 (13) Branch 20 2
.4 (27) 1.5
Typical Mix
20Putting It All Together
- Can now relate each component
- CPU time Instructions CPI Clock cycle time
- CPU time, Instructions, and Clock cycle time are
easily determined how is CPI determined? - Could look it up for each instruction and
compute - But note the interaction between the hardware and
software - The compiler can greatly determine the
Instructions - The designer determines the clock time and the CPI
21Example
- Our favorite program runs in 10 seconds on
computer A, which has a 400 Mhz. clock. We are
trying to help a computer designer build a new
machine B, that will run this program in 6
seconds. The designer can use new (or perhaps
more expensive) technology to substantially
increase the clock rate, but has informed us that
this increase will affect the rest of the CPU
design, causing machine B to require 1.2 times as
many clock cycles as machine A for the same
program. What clock rate should we tell the
designer to target?"
22Now That We Understand Cycles
?1998 Morgan Kaufmann Publishers
- A given program will require
- Some number of instructions (machine
instructions) - Some number of cycles
- Some number of seconds
- We have a vocabulary that relates these
quantities - Cycle time (seconds per cycle)
- Clock rate (cycles per second)
- CPI (cycles per instruction)
- A floating point intensive application might have
a higher CPI - MIPS (millions of instructions per second)
- This would be higher for a program using simple
instructions
23Homework problem (not collected)
- Text problem 1.7 (due next class)
- We will talk about the solution.
24Factors Affecting Performance
?1998 Morgan Kaufmann Publishers
- Performance is determined by execution time
- Do any of the other variables equal performance?
- of cycles to execute program?
- of instructions in program?
- of cycles per second?
- average of cycles per instruction?
- average of instructions per second?
- Common pitfall thinking one of the variables is
indicative of performance when it really isnt.
25 of Instructions Example
- A compiler designer is trying to decide between
two code sequences for a particular machine.
Based on the hardware implementation, there are
three different classes of instructions Class
A, Class B, and Class C, and they require one,
two, and three cycles (respectively). The
first code sequence has 5 instructions 2 of A,
1 of B, and 2 of CThe second sequence has 6
instructions 4 of A, 1 of B, and 1 of C.Which
sequence will be faster? How much?What is the
CPI for each sequence?
26Factors Affecting Performance
- Instruction counts alone cannot be used to assess
performance - Example
- Sequence 1 Þ 5 instructions Sequence 2 Þ 6
instructions - CPU clock cycles1 10 cycles CPU clock cycles2
9 cycles (second sequence is faster!) - CPI1 2 CPI2 1.5 (code sequence 2 has fewer
clock cycles and more instructions so its CPI is
lower)
Instruction Class
CPI
Instruction Counts
Code Sequence
A
B
C
A
1
1
2
1
2
B
2
2
4
1
1
C
3
27Aspects of CPU Performance
- Inst Count CPI Clock Rate
- Program X
- Compiler X (X)
- Inst. Set. X X
- Organization X X
- Technology X