Author
edgar-tyler
View
223
Download
3
Embed Size (px)
Processor Organization and Performance
Chapter 6
S. Dandamudi
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 2
Outline
• Introduction
• Number of addresses 3-address machines 2-address machines 1-address machines 0-address machines Load/store architecture
• Flow control Branching Procedure calls Delayed versions Parameter passing
• Instruction set design issues Operand types Addressing modes Instruction types Instruction formats
• Microprogrammed control Implementation issues
• Performance Performance metrics Execution time calculation Means of performance The SPEC benchmarks
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 3
Introduction
• We discuss three processor-related issues» Instruction set design issues
– Number of addresses
– Addressing modes
– Instruction types
– Instruction formats
» Microprogrammed control
– Hardware implementation
– Software implementation
» Performance issues
– Performance metrics
– Standards
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 4
Number of Addresses
• Four categories 3-address machines
» 2 for the source operands and one for the result 2-address machines
» One address doubles as source and result 1-address machine
» Accumulator machines» Accumulator is used for one source and result
0-address machines» Stack machines» Operands are taken from the stack» Result goes onto the stack
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 5
Number of Addresses (cont’d)
• Three-address machines Two for the source operands, one for the result RISC processors use three addresses Sample instructions
add dest,src1,src2
; M(dest)=[src1]+[src2]
sub dest,src1,src2
; M(dest)=[src1]-[src2]
mult dest,src1,src2
; M(dest)=[src1]*[src2]
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 6
Number of Addresses (cont’d)
• Example C statement
A = B + C * D – E + F + A Equivalent code:
mult T,C,D ;T = C*D
add T,T,B ;T = B+C*D
sub T,T,E ;T = B+C*D-E
add T,T,F ;T = B+C*D-E+F
add A,T,A ;A = B+C*D-E+F+A
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 7
Number of Addresses (cont’d)
• Two-address machines One address doubles (for source operand & result) Last example makes a case for it
» Address T is used twice
Sample instructions
load dest,src ; M(dest)=[src]
add dest,src ; M(dest)=[dest]+[src]
sub dest,src ; M(dest)=[dest]-[src]
mult dest,src ; M(dest)=[dest]*[src]
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 8
Number of Addresses (cont’d)
• Example C statement
A = B + C * D – E + F + A Equivalent code:
load T,C ;T = Cmult T,D ;T = C*Dadd T,B ;T = B+C*Dsub T,E ;T = B+C*D-Eadd T,F ;T = B+C*D-E+Fadd A,T ;A = B+C*D-E+F+A
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 9
Number of Addresses (cont’d)
• One-address machines Uses special set of registers called accumulators
» Specify one source operand & receive the result
Called accumulator machines Sample instructions
load addr ; accum = [addr]
store addr ; M[addr] = accum
add addr ; accum = accum + [addr]
sub addr ; accum = accum - [addr]
mult addr ; accum = accum * [addr]
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 10
Number of Addresses (cont’d)
• Example C statement
A = B + C * D – E + F + A Equivalent code:
load C ;load C into accummult D ;accum = C*Dadd B ;accum = C*D+Bsub E ;accum = B+C*D-Eadd F ;accum = B+C*D-E+Fadd A ;accum = B+C*D-E+F+Astore A ;store accum contents in A
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 11
Number of Addresses (cont’d)
• Zero-address machines Stack supplies operands and receives the result
» Special instructions to load and store use an address
Called stack machines (Ex: HP3000, Burroughs B5500) Sample instructions
push addr ; push([addr])
pop addr ; pop([addr])
add ; push(pop + pop)
sub ; push(pop - pop)
mult ; push(pop * pop)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 12
Number of Addresses (cont’d)
• Example C statement
A = B + C * D – E + F + A Equivalent code:
push E subpush C push Fpush D addMult push Apush B addadd pop A
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 13
Number of Addresses (cont’d)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 14
Load/Store Architecture
• Instructions expect operands in internal processor registers Special LOAD and STORE instructions move data between
registers and memory RISC and vector processors use this architecture Reduces instruction length
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 15
Load/Store Architecture (cont’d)
• Sample instructionsload Rd,addr ;Rd = [addr]
store addr,Rs ;(addr) = Rs
add Rd,Rs1,Rs2 ;Rd = Rs1 + Rs2
sub Rd,Rs1,Rs2 ;Rd = Rs1 - Rs2
mult Rd,Rs1,Rs2 ;Rd = Rs1 * Rs2
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 16
Number of Addresses (cont’d)
• Example C statement
A = B + C * D – E + F + A Equivalent code:
load R1,B mult R2,R2,R3load R2,C add R2,R2,R1load R3,D sub R2,R2,R4load R4,E add R2,R2,R5load R5,F add R2,R2,R6load R6,A store A,R2
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 17
Flow of Control
• Default is sequential flow• Several instructions alter this default execution
Branches» Unconditional
» Conditional
» Delayed branches
Procedure calls» Delayed procedure calls
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 18
Flow of Control (cont’d)
• Branches Unconditional
» Absolute address
» PC-relative
– Target address is specified relative to PC contents
Example: MIPS» Absolute address
j target» PC-relative
b target
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 19
Flow of Control (cont’d)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 20
Flow of Control (cont’d)
• Branches Conditional
» Jump is taken only if the condition is met
Two types» Set-Then-Jump
– Condition testing is separated from branching
– Condition code registers are used to convey the condition test result
» Example: Pentium code
cmp AX,BX
je target
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 21
Flow of Control (cont’d)
» Test-and-Jump
– Single instruction performs condition testing and branching
» Example: MIPS instruction
beq Rsrc1,Rsrc2,targetJumps to target if Rsrc1 = Rsrc2
• Delayed branching Control is transferred after executing the instruction
that follows the branch instruction» This instruction slot is called delay slot
Improves efficiency
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 22
Flow of Control (cont’d)
• Procedure calls Requires two pieces of information to return
» End of procedure
– Pentiumuses ret instruction
– MIPSuses jr instruction
» Return address
– In a (special) registerMIPS allows any general-purpose register
– On the stackPentium
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 23
Flow of Control (cont’d)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 24
Flow of Control (cont’d)
Delay slot
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 25
Parameter Passing
• Two basic techniques Register-based
» Internal registers are used
– Faster
– Limit the number of parameters
Stack-based» Stack is used
– More general
• Recent processors use Register window mechanism
» Examples: SPARC and Itanium (discussed in later chapters)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 26
Operand Types
• Instructions support basic data types Characters Integers Floating-point
• Instruction overload Same instruction for different data types Example: Pentium
mov AL,address ;loads an 8-bit value
mov AX,address ;loads a 16-bit value
mov EAX,address ;loads a 32-bit value
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 27
Operand Types
• Separate instructions Instructions specify the operand size Example: MIPS
lb Rdest,address ;loads a byte
lh Rdest,address ;loads a halfword
;(16 bits)
lw Rdest,address ;loads a word
;(32 bits)
ld Rdest,address ;loads a doubleword
;(64 bits)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 28
Addressing Modes
• Refers to how the operands are specified Operands can be in three places
» Registers
– Register addressing mode
» Part of instruction
– Constant
– Immediate addressing mode
– All processors support these two addressing modes
» Memory
– Difference between RISC and CISC
– CISC supports a large variety of addressing modes
– RISC follows load/store architecture
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 29
Addressing Modes (cont’d)
Most RISC processors support two memory addressing modes
–address = Register + constant–address = Register + Register
CISC processors like Pentium support a variety of addressing modes
» Motivation: To efficiently support high-level language data structures
– Example: Accessing a 2-D array
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 30
Instruction Types
• Several types of instructions Data movement
» Pentium: mov dest,src» Some do not provide direct data movement instructions» Indirect data movement
add Rdest,Rsrc,0 ;Rdest = Rsrc+0 Arithmetic and Logical
» Arithmetic– Integer and floating-point, signed and unsigned– add, subtract, multiply, divide
» Logical–and, or, not, xor
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 31
Instruction Types (cont’d)
• Condition code bits S: Sign bit (0 = +, 1= ) Z: Zero bit (0 = nonzero, 1 = zero) O: Overflow bit (0 = no overflow, 1 = overflow) C: Carry bit (0 = no carry, 1 = carry)
• Example: Pentium
cmp count,25
je target
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 32
Instruction Types (cont’d)
Flow control and I/O instructions» Branch» Procedure call» Interrupts
I/O instructions» Memory-mapped I/O
– Most processors support memory-mapped I/O– No separate instructions for I/O
» Isolated I/O– Pentium supports isolated I/O– Separate I/O instructionsin AX,io_port ;read from an I/O portout io_port,AX ;write to an I/O port
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 33
Instruction Formats
• Two types Fixed-length
» Used by RISC processors
» 32-bit RISC processors use 32-bits wide instructions
– Examples: SPARC, MIPS, PowerPC
» 64-bit Itanium uses 41-bit wide instructions
Variable-length» Used by CISC processors
» Memory operands need more bits to specify
• Opcode Major and exact operation
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 34
Instruction Formats (cont’d)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 35
Microprogrammed Control
• Introduction in Chapter 1• 1-bus datapath
Assume all entities are 32-bit wide PC register
» Program counter IR register
» Holds the instruction to be executed MAR register
» Address of the operand to be stored in memory MDR register
» Holds the operand for memory operations
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 36
Microprogrammed Control (cont’d)
1-bus datapath
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 37
Microprogrammed Control (cont’d)
ALU circuit details
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 38
Microprogrammed Control (cont’d)
• Has 32 32-bit general-purpose registers Interface only with the A-bus Each register has two control signals
» Gxin and Gxout
• Control signals used by the other registers PC register:
» PCin, PCout, and PCbout IR register:
» IRout and IRbin MAR register:
» MARin, MARout, and MARbout MDR register:
» MDRin, MDRout, MDRbin and MDRbout
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 39
Microprogrammed Control (cont’d)
Memory interface implementation details
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 40
Microprogrammed Control (cont’d)
add %G9,%G5,%G7
Implemented as» Transfer G5 contents to A register
– Assert G5out and Ain» Place G7 contents on the A bus
– Assert G7out» Instruct ALU to perform addition
– Appropriate ALU function control signals
» Latch the result in the C register
– Assert Cin» Transfer contents of the C register to G9
– Assert Cout and G9in
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 41
Microprogrammed Control (cont’d)
• Example instruction groups Load/store
» Moves data between registers and memory
Register» Arithmetic and logic instructions
Branch» Jump direct/indirect
Call» Procedures invocation mechanisms
More…
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 42
Microprogrammed Control (cont’d)
High-level FSM for instruction execution
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 43
Microprogrammed Control (cont’d)
• Implementation Hardware
» Typical approach in RISC processors
Software» Typical approach in CISC processors
• Hardware implementation PLA based implementation shown
» Three control signals– Opcode via the IR register
– Status and condition codes
– Counter to keep track of the steps in instruction execution
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 44
Microprogrammed Control (cont’d)
Controller implementation
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 45
Microprogrammed Control (cont’d)
• Software implementation Typically used in CISC
» Hardware implementation is complex and expensive
• Example
add %G9,%G5,%G7 Three steps
S1 G5out: Ain;
S2 G7out: ALU=add: Cin;
S3 Cout: G9in: end;
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 46
Microprogrammed Control (cont’d)
• Uses a microprogram to generate the control signals Encode the signals of each step as a codeword
» Called microinstruction
A instruction is expressed by a sequence of codewords» Called microroutine
• Microprogram essentially implements the FSM discussed before
• A simple microprogram structure is on the next slide
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 47
Microprogrammed Control (cont’d)
Simple microcode organization
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 48
Microprogrammed Control (cont’d)
• A simple microcontroller can execute a microprogram to generate the control signals Control store
» Stores microprogram
Uses PC» Similar to PC
Address generator» Generates appropriate address depending on the
– Opcode, and
– Condition code inputs
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 49
Microprogrammed Control (cont’d)
Microcontroller
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 50
Microprogrammed Control (cont’d)
• Problems with previous design: Makes microprograms long
by replicating the common parts of microcode
• Efficient way: Keep only one copy of
common code Use branching to jump to
the appropriate microroutine
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 51
Microprogrammed Control (cont’d)
• Microinstruction format Two basic ways
» Horizontal organization
» Vertical organization
Horizontal organization– One bit for each signal
– Very flexible
– Long microinstructions
– Example: 1-bus datapathNeeds 90 bits for each microinstruction
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 52
Microprogrammed Control (cont’d)
Horizontal microinstruction format
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 53
Microprogrammed Control (cont’d)
• Vertical organization Encodes to reduce microinstruction length
» Reduced flexibility
Example: » Horizontal organization
– 64 control signals for the 32 general purpose registers
» Vertical organization
– 5 bits to identify the register and 1 for in/out
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 54
Microprogrammed Control (cont’d)
General register control circuit
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 55
Microprogrammed Control (cont’d)
Microcontroller for vertical microcode
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 56
Microprogrammed Control (cont’d)
• Adding more buses reduces time needed to execute instructions No need to multiplex the bus
• Exampleadd %G9,%G5,%G7
Needed three steps in 1-bus datapath Need only two steps with a 2-bus dtatpath
S1 G5out: Ain;
S2 G7out: ALU=add: G9in;
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 57
Microprogrammed Control (cont’d)
2-bus datapath
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 58
Performance
• Two popular metrics Response time
» User- oriented
Throughput» System-oriented
• Performance of components Processors, networks, disks,… Some simple metrics
» MIPS
– Simple instruction execution rate
» MFLOPS
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 59
Performance (cont’d)
• Calculating execution time Three factors
» Instruction count (IC)
– CISC processors have simple to complex instructions
» Clocks per instruction (CPI)
– RISC vs. CISC differences
» Clock period (T)
Execution time = IC * CPI * T
This is not response time» Not considering queuing delays
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 60
Performance (cont’d)
• Means of performance Arithmetic mean
» Equal weight
Weighted arithmetic mean» Different weights can be assigned
Geometric mean» Geometric mean of a1, a2, …, an is
(a1 * a2 * … * an)1/n
Weighted geometric mean
a1w2 * a2w2 * … * anwn
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 61
Performance (cont’d)
Resp. time on machine Normalized values
REF A B Ratio A B Ratio
Program 1 10 11 12 1.1 1.2
Program 2 40 49.5 60 1.24 1.5
Arith. mean 30.25 36 1.19 1.17 1.35 1.16
Geo. mean 23.33 26.83 1.15 1.167 1.342 1.15
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 62
Performance (cont’d)
Resp. time on machine
A B
Program 1 20 200
Program 2 50 5
Arith. mean 35 102.5
Geo. mean 31.62 31.62
Problem with arithmetic mean
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 63
Performance (cont’d)
• SPEC Benchmarks SPEC CPU2000
» Measures performance of processors, memory, and compiler
» Consists of 26 applications
– Spans four languagesC, C++, FORTRAN 77, and FORTRAN 90
» Consists of
– IntegerCINT2000
– Floating-pointCFP2000
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 64
Performance (cont’d)
0
100
200
300
400
500
600
700
600 800 1000 1200 1400 1600 1800 2000
Clock rate (MHz)
SP
EC
int2
000
PIII
P4
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 65
Performance (cont’d)
0
100
200
300
400
500
600
700
600 800 1000 1200 1400 1600 1800 2000
Clock rate (MHz)
SP
EC
fp20
00
P4
PIII
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
S. Dandamudi Chapter 6: Page 66
Performance (cont’d)
• SPEC Benchmarks SPECmail2001
» Standardized mail server benchmark
– For systems supportingPOP3SMTP
» Uses both throughput and response times
SPECweb99» Benchmark for HTTP servers
SPECjvm98» Benchmark for JVM client platform
Last slide