Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CPU performance
CPU power consumption.
Computers as Components 3e
© 2012 Marilyn Wolf
Elements of CPU
performance
Cycle time.
CPU pipeline.
Memory system.
Computers as Components 3e
© 2012 Marilyn Wolf
Pipelining
Computers as Components 3e
© 2012 Marilyn Wolf
ARM7 pipeline
Computers as Components 3e
© 2012 Marilyn Wolf
ARM pipeline execution
add r0,r1,#5
fetch decode execute
time
1 2 3
Computers as Components 3e
© 2012 Marilyn Wolf
Pipeline stalls
Computers as Components 3e
© 2012 Marilyn Wolf
ARM multi-cycle LDMIA
instruction
sub
fetch decode ex sub
r2,r3,r6
time
Computers as Components 3e
© 2012 Marilyn Wolf
Control stalls
sub
fetch decode
r2,r3,r6
time
Computers as Components 3e
© 2012 Marilyn Wolf
Delayed branch
Computers as Components 3e
© 2012 Marilyn Wolf
FIR filter ARM code
; loop initiation code ; loop body
MOV r0,#0 ; use r0 for i, set to 0 loop LDR r4,[r3,r8] ; get value of c[i]
MOV r8,#0 ; use a separate index for arrays LDR r6,[r5,r8] ; get value of x[i]
ADR r2,N ; MUL r4,r4,r6 ; compute c[i]*x[i]
get address for N ADD r2,r2,r4 ; add into running sum
LDR r1,[r2] ; get value of N ; update loop counter and array index
MOV r2,#0 ; use r2 for f, set to 0 ADD r8,r8,#4 ; add one to array index
ADR r3,c ; load r3 with address of base of c ADD r0,r0,#1 ; add 1 to i
ADR r5,x ; load r5 with address of base of x ; test for exit
CMP r0,r1
BLT loop ;
if i < N, continue loop
loopend ...
Computers as Components 3e
© 2012 Marilyn Wolf
FIR filter performance by
block
Block Variable # instructions # cycles
Initialization tinit 7 7
Body tbody 4 4
Update tupdate 2 2
Test ttest 2 [2,4]
Computers as Components 3e
© 2012 Marilyn Wolf
PIC16F instruction timing
Computers as Components 3e
© 2012 Marilyn Wolf
PIC16F loop execution
timing
Computers as Components 3e
© 2012 Marilyn Wolf
C55x pipeline
Computers as Components 3e
© 2012 Marilyn Wolf
C55x pipeline hazards
Processor structure:
Three computation units.
14 operators.
Can perform two operations per
instruction.
Some combinations of operators are not
legal.
Computers as Components 3e
© 2012 Marilyn Wolf
C55x hazards
Computers as Components 3e
© 2012 Marilyn Wolf
Memory system
performance
Computers as Components 3e
© 2012 Marilyn Wolf
Types of cache misses
Computers as Components 3e
© 2012 Marilyn Wolf
CPU power consumption
Computers as Components 3e
© 2012 Marilyn Wolf
CMOS power consumption
Computers as Components 3e
© 2012 Marilyn Wolf
CPU power-saving
strategies
Computers as Components 3e
© 2012 Marilyn Wolf
C55x low power features
Parallel execution units---longer idle shutdown
times.
Multiple data widths:
16-bit ALU vs. 40-bit ALU.
Instruction caches minimizes main memory
accesses.
Power management:
Function unit idle detection.
Memory idle detection.
User-configurable IDLE domains allow programmer
control of what hardware is shut down.
Computers as Components 3e
© 2012 Marilyn Wolf
Power management styles
Computers as Components 3e
© 2012 Marilyn Wolf
Application: PowerPC 603
energy features
Computers as Components 3e
© 2012 Marilyn Wolf
PowerPC 603 activity
Computers as Components 3e
© 2012 Marilyn Wolf
Application: StrongARM
SA-1100 power saving
Computers as Components 3e
© 2012 Marilyn Wolf
SA-1100 power state
machine
Prun = 400 mW
run
10 ms
160 ms
90 ms
10 ms
90 ms
idle sleep
Computers as Components 3e
© 2012 Marilyn Wolf