You are on page 1of 146

Performance Evaluation of Embedded

Microcomputers for Avionics Applications

Celal Can Bilen


John Alcalde Gonzlez

MASTER THESIS WORK 2010


COMPUTER AND ELECTRICAL ENGINEERING
JgklYd ;\\j]kk6
<gp -,.2
11- -- Dwfcwhaf_

Pakalaf_ ;\\j]kk6
Abml]ja_YlYf 1

N]d]hgf]6
,/2)-, -, ,,

Performance Evaluation of Embedded


Microcomputers for Avionics Applications

Celal Can Bilen


John Alcalde Gonzlez
This thesis work is performed at Jnkping Institute of Technology within the
subject area Computer and Electrical Engineering. The work is part of the
masters degree.
The authors are responsible for the given opinions, conclusions and results.
Handledare: Torbjrn Mnefjord
Lars Aggestig
Prof. Shashi Kumar
Examiner:

Prof. Shashi Kumar

Credit points: 30 hp (D-level)


Date:
Archive number:
JgklYd ;\\j]kk6
<gp -,.2
11- -- Dwfcwhaf_

Pakalaf_ ;\\j]kk6
Abml]ja_YlYf 1

N]d]hgf]6
,/2)-, -, ,,

Frord

Frord
Pa kcmdd] nadbY lY[cY YddY kge _bgjl \]l ewbda_l Yll _]fge^wjY \]llY ]pYe]fkYjZ]l](
^jYe^wjYddl nvjY Yf\d]\Yj]( HebYXffbe J[Tf[\ ChTe ^wj Yfk mf\]jZYjY mhhkacl(
jv\_anfaf_ kYel d]\faf_ Yn \]llY hjgb]cl( kujkcadl e]\ YcY\]eakcY l]eYf7 KbeU]sea
EqaXY]beW ^wj Yll Yf _]ll gkk ladd^udd]l Yll YjZ]lY e]\ ]ll kvfl hjgb]cl hv M;;<
kYel Yfk ljg hv gkk ^jvf ZwjbYf Yn hjgb]cl]l7 DTef 9ZZXfg\Z ^wj Yfk kluf\a_Y klw\
g[ budh mf\]j hjgb]cl]lk hjYclakcY ege]fl kYel ^wj Yfk kqfhmfcl]j* Pa kcmdd]
g[ckv nadbY lY[cY @X_Xar G_ffba g[ 9a\gT CTe_ffba ^jvf M;;< ;naljgfa[k ^wj Ydd
\]jYk nu_d]\faf_ Yf_v]f\] hjgb]cl^wjnYdlfaf_]f*
Pa kcmdd] nadbY lY[cY \]e YddY ^wj \]jYk nuj\]^mddY a\]]j g[ \akcmkkagf]j Yf_v]f\]
hjgb]cl]l( _]fge \]llY Yj na Zj]\\Yl nvj cmfkcYh* Pa uj _dY\Y wn]j Yll Y ^vll
ewbda_]l]f Yll _]fge^wjY \]llY hjgb]cl hv ]ll kv\vfl Yfk]ll ^wj]lY_ kge M;;<*
;X_T_ ;Ta :\_Xa $ Bb[a 9_VT_WX ?bamp_Xm
@wjmlge gnuj\]jda_l klw\ g[ d]\faf_ Yn \]e kge Yj fuefYlk( kcmdd] na
g[ckv h]jkgfda_]f nadbY lY[cY ^wdbYf\]6
HebYXffbe 9_Y Bb[Taffba ^wj Yll Yf afljg\m[]jYl ea_ a \]f uhfY\knu[cYf\] nujd\]f
Yn afZq_\\Y |mf\]jn]jc|7 9ff\fgXeTaWX HebYXffbe A_]T :X_bi ^wj kaf ^wjklv]dk] g[
kluf\a_Y klw\ affYf hjgb]cl]l7 HebYXffbe @T\g JXeUXfg ^wj Yll Yf nakYl ea_ mj
eYf Zdaj ]f |jacla_| af_]fbwj7 9ff\fgXeTaWX HebYXffbe L_hf ;Xi\^ ^wj Yll Yf _]ll ea_
ewbda_]l]f Yll cgeeY ladd eall Yf\jY ]edYf\( Mn]ja_]*
Padd un]f lY[cY eaf cujY ^Yeadb6 eaf ^Yj 9g\__T :\_Xa ^wj Yll Yf {khYjcYl anu_ ea_|
ladd kn]fkcl dYf\( eaf kqkl]j JcXV* <e* 9lfXZt_ :\_Xa ^wj Yll gf Yddla\ mhhemfljYl
g[ klwllYl ea_( kYel eaf cujY egj JX_T :\_Xa ^wj Yll gf Yddla\ |hm^^Yl| ea_ ladd
eafY Z]_jufkfaf_Yj( gYnk]ll fuj ]dd]j nY\ ^wj( g[ Yd\ja_ dvlal ea_ ^YddY ladd eYjc]f*
DY_ cgee]j Yd\ja_ Yll cmffY vl]jZ]lYdY ]jl geulda_Y klw\***
DY_ kcmdd] nadbY laddu_fY \]llY ]pYe]fkYjZ]l] ladd eaf egjegj( Cheh_gTl 9ZTV^Ta_\
kge ^wjmlkv_ Yll eafY \jweeYj kcmdd] ^wjn]jcda_Yk g[ eaf egj^Yj ;X_T_ 9ZTV^Ta_\
kge YjZ]lY\] a Mn]ja_] hv 2,)lYd]l g[ \]dY\] e]\ ka_ ladd ea_ Yn kaf klgjY cmfkcYh(
lqnujj Yff bY_ Yd\ja_ dujY cuffY gfge kv nud*
DY_ uj bull]_dY\ g[ klgdl wn]j Yll Y _]fge^wjl eall ]pYe]fkYjZ]l] afge
YnYf[]jY\ \YlgjYjcal]clmj( _]fge \]llY Yj bY_ ^vll ladd^udd]l Yll ^gjlkullY eaf
^YeadbljY\alagf Yn l]cfac( kujkcadl Yjcal]clmj( ^wj Zv\Y eafY ^wjYd\jYj uj Yjcal]cl]j*
DY_ uj qll]jda_Yj] _dY\ wn]j Yll Y ^mdd_bgjl \]jYk \jweeYj fuj \] nYj mf_Y( Yll lY
eY_akl]j]pYe]f afge Yjcal]clmj( lqnujj cmf\] \] afl] \v*
D]hfXa ^bXe T_We\Z Tgg f_bV^aT!
;X_T_ ;Ta :\_Xa

Acknowledgements

Acknowledgements
Q] ogmd\ dac] lg lYfc lg gmj kmh]jnakgjk( HebY* J[Tf[\ ChTe( ^jge Dwfcwhaf_
Cfklalml] g^ N][fgdg_q( ^gj ak ogf\]j^md kmh]jnakagf Yf\ ^]]\ZY[c \mjaf_ l]
l]kak Yk o]dd Yk ak ]dh Yf\ kmhhgjl( ]kh][aYddq YZgml Y[Y\]ea[ akkm]k7 KbeU]ea
EaXY]beW( ^jge M;;< ;naljgfa[k( ^gj _anaf_ mk l] ghhgjlmfalq lg ogjc af km[ Y
hjgb][l Yf\ ak ljmkl gf mk kaf[] l] Z]_affaf_ g^ l] hjgb][l7 Yf\ DTef 9ZZXfg\Z(
Ydkg ^jge M;;< ;naljgfa[k( ^gj ak [gflafmgmk kmhhgjl Yf\ ]dh ]kh][aYddq \mjaf_
l] hjY[la[Yd klY_]k g^ l] hjgb][l( o]f]n]j o] Y\ im]klagf eYjck af gmj ]Y\k*
Q] ogmd\ Ydkg dac] lg lYfc @X_Xar G_ffba Yf\ 9a\gT CTe_ffba ^jge M;;< ;na)
ljgfa[k ^gj Ydd l]aj _ma\Yf[] Yf\ kmhhgjl j]_Yj\af_ hjgb][l Y\eafakljYlagf akkm]k*
Q] ogmd\ dac] lg lYfc l]e Ydd ^gj l]aj afnYdmYZd] a\]Yk Yf\ \ak[mkkagfk j]_Yj\)
af_ l] hjgb][l Yf\ l]aj af^dm]f[] gf ZjgY\]faf_ gmj cfgod]\_] Yf\ afka_l* Q]
^]]d Zd]kk]\ lg Yn] [Yjja]\ gml km[ Y ogf\]j^md l]kak hjgb][l Yl km[ Yf ]eaf]fl
[gehYfq Yk M;;<*
;X_T_ ;Ta :\_Xa $ Bb[a 9_VT_WX ?bamp_Xm
Cf Y\\alagf lg l] afnYdmYZd] kmhhgjl Yf\ _ma\Yf[] g^ l] h]ghd] e]f)
lagf]\( o] ogmd\ dac] lg lYfc Ydkg h]jkgfYddq lg6
HebY* 9_Y Bb[Taffba ^gj afljg\m[af_ e] l] YeYraf_ ogjd\ g^ ]eZ]\\]\ {ogf\]jk|7
9ff\fg* HebY* A_]T :X_bi ^gj YdoYqk kmhhgjlaf_ mk( ]n]f Z]^gj] l] klYjl g^ l] hjgb][l7
HebY* @T\g JXeUXfg ^gj kgoaf_ e] go lg Z] Y {j]Yd| ]f_af]]j( 9ff\fg* HebY* L_hf
;Xi\^ ^gj _anaf_ e] l] ghhgjlmfalq lg [ge] lg eq k][gf\ ge] [gmfljq( Mo])
\]f( Yf\ ak _ma\Yf[] g^^ l] klm\a]k*
C ogmd\ dac] lg lYfc Ydkg eq \]Yj ^Yeadq7 eq ^Yl]j 9g\__T :\_Xa ^gj {ca[caf_| e]
lgoYj\k l] Mo]\ak dYf\( eq kakl]j 9lfXZh_ :\_Xa ^gj YdoYqk []]jaf_ e] mh Yf\
kmhhgjlaf_ e]( Yf\ eq \]Yj egl]j JX_T :\_Xa( ^gj YdoYqk {hmkaf_| e] lg eq
daealk( fg eYll]j o]f Yf\ oYl( Yf\ f]n]j d]llaf_ e] lgm[ lg l] _jgmf\* C oadd
f]n]j Z] YZd] lg hYq ZY[c qgmj aee]YkmjYZd] kmhhgjl*
C ogmd\ dac] lg \]\a[Yl] lak l]kak lg eq _jYf\egl]j( Cheh_gTl 9ZTV^Ta_\( og
^gj]lgd\ e] YZgml eq \j]Yek [ge] ljm]( Yf\ eq _jYf\^Yl]j ;X_T_ 9ZTV^Ta_\( og
ogjc]\ af Mo]\]f \mjaf_ 2,k Yf\ ^]\ e] oal ak ZjgY\ cfgod]\_]( mf^gjlmfYl])
dq C \a\ fgl Yn] l] [Yf[] lg cfgo ae em[***
C Ye n]jq _dY\ Yf\ hjgm\ lg Yn] eY\] eq eYkl]j l]kak oalaf Y\nYf[]\ [ge)
hml]j Yj[al][lmj]( oa[ _Yn] e] l] ghhgjlmfalq lg [gflafm] eq ^Yeadq ljY\alagf
g^ ]f_af]]jaf_( kh][a^a[Yddq Yj[al][lmj]( Yk Zgl eq hYj]flk Yj] Yj[al][lk* C Ye
^mjl]jegj] _dY\ ^gj eYl]jaYdaraf_ eq hYj]flkz \j]Yek o]f l]q o]j] qgmf_( lg
lYc] Y eYkl]j \]_j]] oalaf Yj[al][lmj]( mf^gjlmfYl]dq l]q [gmd\fzl l]f*
K[X _\Z[gf j\__ aXiXe Zb bhg!
;X_T_ ;Ta :\_Xa
ii

Abstract

Abstract
?eZ]\\]\ ea[jg[gehml]jk Yj] mk]\ af Y oa\] jYf_] g^ Yhhda[Ylagfk fgoY\Yqk*
;nagfa[k ak gf] g^ l]k] Yj]Yk Yf\ j]imaj]k ]pljY Yll]flagf j]_Yj\af_ j]daYZadalq Yf\
\]l]jeafake* Nmk( l]k] akkm]k kgmd\ Ydkg Z] Zgjf af eaf\ af Y\\alagf lg h]j)
^gjeYf[] o]f ]nYdmYlaf_ ]eZ]\\]\ ea[jg[gehml]jk*
Nak eYkl]j l]kak km__]klk Y ^jYe]ogjc ^gj h]j^gjeYf[] ]nYdmYlagf g^ log e]e)
Z]jk g^ l] Jgo]jJ= ea[jghjg[]kkgj ^Yeadq( fYe]dq l] GJ=1110 ^jge @j]]k[Yd]
Yf\ JJ=00,?Jp ^jge ;G==( Yf\ YfYdqr]k l] j]kmdlk oalaf Yf\ Z]lo]]f l]k]
hjg[]kkgjk* N] ^jYe]ogjc [Yf Z] _]f]jYdar]\ lg Z] mk]\ af Yfq ea[jghjg[]kkgj
^Yeadq( a^ j]imaj]\*
;hYjl ^jge h]j^gjeYf[] ]nYdmYlagf( lak l]kak Ydkg km__]klk Ydkg Y f]o l]jeafgdg)
_q Zq afljg\m[af_ l] [gf[]hl g^ \]l]jeafake d]n]dk lg Z] YZd] lg ]klaeYl] \]l]j)
eafake akkm]k af Ynagfa[k Yhhda[Ylagfk egj] [d]Yjdq( oa[ ak [jm[aYd j]_Yj\af_ l]
j]imaj]e]flk Yf\ ogjcaf_ [gf\alagfk g^ lak n]jq Yhhda[Ylagf* Mm[ ]klaeYlagf
\g]k fgl af[dm\] Yfq hjY[la[Yd j]kmdlk Yk af h]j^gjeYf[] ]nYdmYlagf( Zml jYl]j j])
eYafk l]gj]la[Yd* MaeadYj lg ;mlgeYjc} mk]\ Zq ;mlg<]f[} af l] ??G<=
<]f[eYjc Mmal]( o] afljg\m[] Y f]o h]j^gjeYf[] e]lja[ k[gj] lYl o] [Ydd
|;nageYjc| Yf\ o] [Yjjq gml Y \]lYad]\ [gehYjakgf g^ ;nageYjc oal l] ljY\a)
lagfYd ;mlgeYjc} k[gj] lg Z] YZd] lg k]] go ;nageYjc \a^^]jk ^jge ;mlgeYjc}
af Z]Ynagj*
@afYddq( o] Yn] \]n]dgh]\ Y _jYha[Yd mk]j afl]j^Y[] %AOC& oa[ ogjck af hYjYd)
d]d oal l] Aj]]f Baddk GOFNC Cfl]_jYl]\ >]n]dghe]fl ?fnajgfe]fl %C>?& af
gj\]j lg kaehda^q Yf\ YmlgeYl] l] ]nYdmYlagf hjg[]kk* <q l] ]dh g^ l] AOC( l]
mk]jk oadd Z] YZd] lg ]Ykadq ]nYdmYl] l]aj kh][a^a[ Jgo]jJ= hjg[]kkgjk Zq klYjlaf_
l] \]Zm__af_ ^jge GOFNC C>?*

E]qogj\k6 Ga[jghjg[]kkgj( ;nagfa[k( Jgo]jJ=( J]j^gjeYf[] ?nYdmYlagf( >]l]j)


eafake( ;mlgeYjc}( ;nageYjc( ??G<=( Aj]]f Baddk GOFNC( C>?( AOC

iii

Sammanfattning

Sammanfattning

CfZq__\Y eacjg\Ylgj]j Yfnuf\k fme]jY a ]ll Zj]ll kh]cljme Yn YhhdacYlagf]j*


;nagfac uj ]ll Yn \]kkY gejv\]f kYel cjun]j ]pljY mhheujckYe]l fuj \]l _udd]j
ladd^wjdalda_]l kYel \]l]jeafakeuef]f* >uj^wj Zwj eYf Z]YclY \]kkY uef]f
mlwn]j hj]klYf\Y na\ mlnuj\]jaf_af Yn afZq__\Y eacjg\Ylgj]j*
>]llY ]pYe]fkYjZ]l] ^wj]kdvj ]f afjYefaf_ ^wj hj]klYf\Ymlnuj\]jaf_ Yn lnv
e]\d]eeYj Yn Jgo]jJ= eacjghjg[]kkgj ^Yeadb]f( fueda_]f GJ=1110 ^jvf
@j]]k[Yd] g[ JJ=00,?Jp ^jvf ;G==( kYel YfYdqk]jYj j]kmdlYl]f afge g[
e]ddYf \]kkY hjg[]kkgj]j* CejYefaf_]f cYf _]f]jYdak]jYk ladd Yll Yfnuf\Yk a fv_gf
eacjghjg[]kkgj ^Yeadb( na\ Z]gn*
Olwn]j hj]klYf\Ymlnuj\]jaf_( kv ^wj]kdvj \]l uj ]pYe]fkYjZ]l]l g[ckv ]f fq
l]jeafgdg_a( _]fge Yll af^wjY Z]_j]hh]l ge \]l]jeafake fanv]j ^wj Yll cmffY
mhhkcYllY \]l]jeafake^jv_gj a ^dq_]d]cljgfac YhhdacYlagf]j lq\da_Yj]( nadc]l ^vj
Yn_wjYf\] Z]lq\]dk] fuj \]l _udd]j cjYn g[ YjZ]lk^wjvddYf\]f ^wj bmkl \]ffY
YhhdacYlagf* Mv\Yf mhhkcYllfaf_ af_vj afl] fv_jY hjYclakcY j]kmdlYl kge a
mlnuj\]jaf_ Yn hj]klYf\Y( mlYf \]l uj kfYjYj] l]gj]lakcY* Fackge ;mlgeYjc} kge
Yfnuf\k Yn ;mlg<]f[} a ??G<= <]f[eYjc Mmal]( afljg\m[]jYj na ]f fq
hj]klYf\Yevll( kge na cYddYj !;nageYjc!( g[ ml^wj ]f \]lYdb]jY\ bue^wj]dk] Yn
;nageYjc e]\ ljY\alagf]ddY ;mlgeYjc} Z]lq_hguf_ ^wj Yll cmffY k] mj
;nageYjc kcadb]j ka_ ^jvf ;mlgeYjc} a Z]l]]f\]*
Mdmlda_]f Yj na mln][cdYl ]ll _jY^akcl Yfnuf\Yj_jufkkfall %AOC& kge ^mf_]jYj
hYjYdd]ddl e]\ Aj]]f Baddk GOFNC Cfl]_j]jY\ Oln][cdaf_keadbw %C>?& ^wj Yll
kaehda^a]jY g[ YmlgeYlak]jY mlnuj\]jaf_hjg[]kk]f* G]\ budh Yn \]llY hjg_jYe(
cgee]j Yfnuf\YjfY ]fc]dl Yll cmffY mlnuj\]jY kafY kh][a]ddY Jgo]jJ=
hjg[]kkgj]j _]fge Yll klYjlY \]Zm__af_ ^jvf GOFNC C>?*

Hq[c]dgj\6 Gacjghjg[]kkgj( ;nagfac( Jgo]jJ=(


>]l]jeafake( Nadd^wjdalda_]l( ;mlgeYjc( ;nageYjc( AOC

iv

Jj]klYf\Ymlnuj\]jaf_(

Table of Contents

Table of Contents
Frord .............................................................................................. i
Acknowledgements........................................................................ ii
Abstract ......................................................................................... iii
List of Figures .............................................................................. viii
List of Tables .................................................................................. x
List of Abbreviations ..................................................................... xi
1. Introduction ............................................................................. 1
1.1.
BACKGROUND .................................................................................................................. 1
1.2.
EMBEDDED SYSTEMS ........................................................................................................ 1
1.2.1. Debugging ................................................................................................................... 2
1.2.2. BIOS vs. Boot-loaders .................................................................................................. 3
1.3.
AVIONICS ......................................................................................................................... 3
1.4.
EMBEDDED SYSTEMS IN AVIONICS..................................................................................... 5
1.4.1. Functionalities ............................................................................................................. 5
1.4.2. Determinism ................................................................................................................ 5
1.4.3. Timing ......................................................................................................................... 6
1.4.4. Reliability .................................................................................................................... 6
1.4.5. Radiation ..................................................................................................................... 7
1.5.
HARDWARE ARCHITECTURE SCHEME FOR AVIONIC EMBEDDED SYSTEMS ........................... 8
1.5.1. CPU ............................................................................................................................ 8
1.5.2. Primary Memory.......................................................................................................... 8
1.5.3. Non-volatile Memory ................................................................................................... 8
1.5.4. Parameter RAM (PRAM) ............................................................................................. 8
1.5.5. Communication Interfaces............................................................................................ 9
1.6.
THESIS OBJECTIVES .......................................................................................................... 9
1.7.
THESIS SCOPE ................................................................................................................. 10
1.8.
THESIS LAYOUT .............................................................................................................. 10

2. Embedded Microprocessors and Memories ........................ 12


2.1.
EMBEDDED MICROPROCESSORS ....................................................................................... 12
2.2.
CLOCK SPEED ................................................................................................................. 13
2.3.
MICRO-ARCHITECTURE ................................................................................................... 14
2.3.1. Super-pipeline vs. Superscalar ................................................................................... 14
2.3.2. Look-ahead Execution................................................................................................ 15
2.3.3. Out-of-Order-Execution (OOOE) ............................................................................... 16
2.3.4. Speculation ................................................................................................................ 18
2.3.5. Branch Prediction...................................................................................................... 19
2.3.6. Prefetching ................................................................................................................ 22
2.4.
FLOATING POINT ............................................................................................................. 22
2.5.
MEMORY HIERARCHY ..................................................................................................... 23
2.6.
CACHE MEMORY............................................................................................................. 24
2.6.1. Line Size .................................................................................................................... 27
2.6.2. Cache Size ................................................................................................................. 27
2.6.3. Associativity .............................................................................................................. 27
2.6.4. Early Restart & Critical Word First ........................................................................... 29
2.6.5. Non-blocking Caches ................................................................................................. 29
2.6.6. Multi-level Caches ..................................................................................................... 30

Table of Contents
2.6.7. Simple and Small Caches ........................................................................................... 30
2.6.8. Unified vs. Separate Caches ....................................................................................... 30
2.6.9. Write Policy ............................................................................................................... 31
2.6.10. Allocation Policy ........................................................................................................ 32
2.6.11. Write Buffers .............................................................................................................. 33
2.6.12. Replacement Policy .................................................................................................... 35
2.6.13. Cache Locking ........................................................................................................... 36
2.7.
VIRTUAL MEMORY (VM) ................................................................................................ 36
2.8.
MEMORY TECHNOLOGIES ................................................................................................ 38
2.8.1. Volatile Memory ........................................................................................................ 38
2.8.2. Non-volatile Memory ................................................................................................. 43
2.8.3. Memory Technologies Timeline .................................................................................. 46
2.9.
POWERPC ....................................................................................................................... 47
2.9.1. Background ............................................................................................................... 47
2.9.2. Architecture ............................................................................................................... 48
2.9.3. The 440EPx and 5554 in Real Life ............................................................................. 51
2.9.4. PowerPC Timeline ..................................................................................................... 52

3. Benchmarking and Performance Evaluation....................... 53


3.1.
BACKGROUND ................................................................................................................ 53
3.2.
CLASSICAL BENCHMARKS ............................................................................................... 54
3.2.1. Whetstone .................................................................................................................. 54
3.2.2. Dhrystone .................................................................................................................. 55
3.2.3. SPEC Benchmarks ..................................................................................................... 56
3.2.4. EEMBC Benchmarks.................................................................................................. 56
3.2.5. MiBench .................................................................................................................... 57
3.3.
COREMARK ................................................................................................................ 57
3.4.
PERFORMANCE E VALUATION METRICS ............................................................................ 58
3.4.1. Classical Metrics ....................................................................................................... 58
3.4.2. Arithmetic and Geometric Performance Mean ............................................................ 59
3.4.3. Iterations per Second and Total Run Time .................................................................. 60
3.5.
RELATED WORK ............................................................................................................. 61

4. Methodology ........................................................................... 62
4.1.
HARDWARE CONFIGURATION .......................................................................................... 62
4.2.
SOFTWARE TOOLS ........................................................................................................... 62
4.2.1. MULTI Environment .................................................................................................. 62
4.2.2. Benchmarks ............................................................................................................... 63
4.2.3. GUI ........................................................................................................................... 64
4.3.
TASKS FOR EVALUATION OF A BOARD .............................................................................. 65
4.4.
THE METHODOLOGY FOR BOARD EVALUATION................................................................ 65
4.5.
ILLUSTRATIVE E XAMPLES ............................................................................................... 68
4.5.1. Script Files: .rc...................................................................................................... 68
4.5.2. Setup Files: .mbs ................................................................................................... 68
4.5.3. MULTI output files: .txt ......................................................................................... 70

5. Results ..................................................................................... 71
5.1.
AMCC PPC440EPX ....................................................................................................... 71
5.1.1. Performance Parameters ........................................................................................... 71
5.1.2. Configurations ........................................................................................................... 73
5.1.3. Determinism .............................................................................................................. 73
5.1.4. Performance .............................................................................................................. 77
5.2.
FREESCALE MPC5554..................................................................................................... 90
5.2.1. Performance Parameters ........................................................................................... 91
5.2.2. Determinism .............................................................................................................. 93
5.2.3. Performance .............................................................................................................. 95
5.2.4. Effect of Memory Technology: SRAM vs. FLASH...................................................... 105

6. Conclusions and Future Work ............................................ 107

Table of Contents
6.1.
6.2.
6.3.

CONCLUSIONS ............................................................................................................... 107


CONTRIBUTIONS ........................................................................................................... 108
FUTURE WORK ............................................................................................................. 108

References .................................................................................. 110


Appendix A: Processor Architecture Comparison ................. 119
Appendix B: Processor Register Maps ..................................... 123
Appendix C: EEMBC AutoBench Algorithms ...................... 125
Appendix D: GUI Manual .......................................................... 128

List of Figures

List of Figures
FIGURE 1-1: INTERACTION OF ROM, RAM AND I/O WITH THE CPU IN EMBEDDED SYSTEM
FIGURE 1-2: A TYPICAL CPU BOARD FOR AVIONIC APPLICATIONS
(SOURCE: SAAB AVITRONICS)
FIGURE 2-1: GENERAL STRUCTURE OF OOOE MECHANISM WITH ROB
FIGURE 2-2: CENTRALIZED (A) VS. DECENTRALIZED (B) RESERVATION STATIONS
FIGURE 2-3: MEMORY HIERARCHY
FIGURE 2-4: 128 KB TWO-WAY SET-ASSOCIATIVE CACHE
FIGURE 2-5: HIT UNDER MISS
FIGURE 2-6: UNIFIED (TO THE LEFT) AND SEPARATE (TO THE RIGHT) CACHES
FIGURE 2-7: DATA MOVEMENT IN MEMORY HIERARCHY
FIGURE 2-8: SRAM WRITE OPERATION
FIGURE 2-9: FLOW-THROUGH VS. PIPELINED SSRAM READS
FIGURE 2-10: DRAM READ AND WRITE OPERATION
FIGURE 2-11: FOUR-WORD SDRAM BURST WRITE WITH DQM DISABLE & DQM MASKING
FIGURE 2-12: MEMORY TECHNOLOGIES TIMELINE
FIGURE 2-13: POWERPC ARCHITECTURE
FIGURE 2-14: POWERPC TIMELINE
FIGURE 4-1: HARDWARE CONFIGURATION OF THE PROJECT
FIGURE 4-2: GUI FOR FILE MANAGEMENT
FIGURE 4-3: TASKS FOR EVALUATION OF A BOARD
FIGURE 4-4: PROPOSED METHODOLOGY FOR BOARD EVALUATION
(INFORMAL UML FORMAT)
FIGURE 5-1: DETERMINISM LEVELS IN PPC440EPX
FIGURE 5-2: EFFECT OF CLOCK FREQUENCY (AUTOMARK)
FIGURE 5-3: EFFECT OF CACHE LOCKING IN WRITE-THROUGH CASE (AUTOMARK)
FIGURE 5-4: EFFECT OF CACHE LOCKING IN COPY-BACK CASE (AUTOMARK)
FIGURE 5-5: HARDWARE VS. SOFTWARE FP (AUTOMARK 666/166 MHZ)
FIGURE 5-6: HARDWARE VS. SOFTWARE FP PERCENTAGE COMPARISON
(AUTOMARK 666/166MHZ)
FIGURE 5-7: EFFECT OF CLOCK FREQUENCY (AVIOMARK HIGHL)
FIGURE 5-8: EFFECT OF CACHE LOCKING IN WRITE-THROUGH CASE (AVIOMARK HIGHL)
FIGURE 5-9: EFFECT OF CACHE LOCKING IN COPY-BACK CASE (AVIOMARK HIGHL)
FIGURE 5-10: HARDWARE VS. SOFTWARE FP (AVIOMARK HIGHL 666/166 MHZ)
FIGURE 5-11: HARDWARE VS. SOFTWARE FP PERCENTAGE COMPARISON
FIGURE 5-12: EFFECT OF CLOCK FREQUENCY (AVIOMARK MOTORC)
FIGURE 5-13: EFFECT OF CACHE LOCKING IN WRITE-THROUGH CASE
(AVIOMARK MOTORC)
FIGURE 5-14: EFFECT OF CACHE LOCKING IN COPY-BACK CASE (AVIOMARK MOTORC)
FIGURE 5-15: HARDWARE VS. SOFTWARE FP (AVIOMARK MOTORC 666/166 MHZ)
FIGURE 5-16: HARDWARE VS. SOFTWARE FP PERCENTAGE COMPARISON
FIGURE 5-17: PERCENTAGE OF PERFORMANCE LOSS WITH SOFTWARE FP
FIGURE 5-18: HARDWARE VS. SOFTWARE FP (FOR BASIC FLOATING POINT ALGORITHM)
FIGURE 5-19: AVIOMARK VS . AUTOMARK
(533 MHZ CLOCK AND 133 MHZ BUS FREQUENCY)
FIGURE 5-20: AVIOMARK VS. AUTOMARK
(666 MHZ CLOCK AND 166 MHZ BUS FREQUENCY
FIGURE 5-21: AVIOMARK VS. AUTOMARK FOR CACHE LOCKING IN WRITE-THROUGH
CASE
FIGURE 5-22: AVIOMARK VS. AUTOMARK FOR CACHE LOCKING IN COPY-BACK CASE
FIGURE 5-23: RELATIVE PERFORMANCE LOSS OF THE THREE MAIN CONFIGURATIONS
WITH SOFTWARE FP
FIGURE 5-24: PPC440EPX CONFIGURATIONS FROM LOWEST TO HIGHEST PERFORMANCE
(AUTOMARK 666/166 MHZ)
FIGURE 5-25: DETERMINISM LEVELS IN MPC5554

4
9
17
17
23
28
29
31
38
39
40
41
42
46
49
52
62
64
66
67
76
77
77
78
79
79
80
80
81
82
82
83
83
83
84
85
85
86
86
87
87
88
88
89
94

List of Figures
FIGURE 5-26: INCREASE OF PERFORMANCE WITH BUFFERS, STREAMING AND BTB
(AUTOMARK)
FIGURE 5-27: A DETAILED LOOK INTO THE EFFECT OF BUFFERS AND BTB BY USING THE
FIGURE 5-28: A DETAILED LOOK INTO THE EFFECT OF BUFFERS AND BTB BY USING
AUTOMARK GRADES AS A PERCENTAGE COMPARED TO THE HIGHEST
PERFORMANCE CONFIGURATION
FIGURE 5-29: INCREASE OF PERFORMANCE WITH BUFFERS, STREAMING AND BTB
FIGURE 5-30: INCREASE OF PERFORMANCE WITH BUFFERS, STREAMING AND BTB
(AVIOMARK MOTORC)
FIGURE 5-31: A DETAILED LOOK INTO THE EFFECT OF BUFFERS AND BTB BY USING THE
AVIOMARK HIGHL GRADES
FIGURE 5-32: A DETAILED LOOK INTO THE EFFECT OF BUFFERS AND BTB BY USING
AVIOMARK HIGHL GRADES AS A PERCENTAGE COMPARED TO THE HIGHEST
PERFORMANCE CONFIGURATION
FIGURE 5-33: A DETAILED LOOK INTO THE EFFECT OF BUFFERS AND BTB BY USING THE
FIGURE 5-34: A DETAILED LOOK INTO THE EFFECT OF BUFFERS AND BTB BY USING
AVIOMARK MOTORC GRADES AS A PERCENTAGE COMPARED TO THE
HIGHEST PERFORMANCE CONFIGURATION
FIGURE 5-35: AUTOMARK AND AVIOMARK COMPARISON OF THE TWO BEST AND THE
WORST CONFIGURATIONS IN MPC5554
FIGURE 5-36: PERFORMANCE COMPARISON IN PERCENTAGE BETWEEN AUTOMARK AND
AVIOMARK
FIGURE 5-37: MPC5554 VS. PPC440EPX PERFORMANCE COMPARISON (AUTOMARK)
FIGURE 5-38: MPC5554 VS. PPC440EPX PERFORMANCE COMPARISON IN PERCENTAGE
FIGURE 5-39: MPC5554 VS. PPC440EPX PERFORMANCE COMPARISON (AVIOMARK HIGHL)
FIGURE 5-40: MPC5554 VS. PPC440EPX PERFORMANCE COMPARISON IN PERCENTAGE
(AVIOMARK HIGHL)
FIGURE 5-41: MPC5554 VS. PPC440EPX PERFORMANCE COMPARISON (AVIOMARK HIGHL)
FIGURE 5-42: MPC5554 VS. PPC440EPX PERFORMANCE COMPARISON IN PERCENTAGE
(AVIOMARK MOTORC)
FIGURE 5-43: FLASH VS. SRAM IN BASIC FLOATING POINT (AUTOMARK)
FIGURE 5-44: FLASH VS. SRAM IN BIT MANIPULATION (AUTOMARK)
FIGURE 5-45: RATIO OF PERFORMANCE OF SRAM TO THE FLASH (AUTOMARK)
FIGURE 6-1: PPC440EPX CONFIGURATION SUMMARY AND AUTOMARK RESULTS
FIGURE 6-2: MPC5554 CONFIGURATION SUMMARY AND AUTOMARK RESULTS

95
96
96
97
97
98
98
98
99
100
101
102
102
103
103
104
104
105
106
106
107
107

List of Tables

List of Tables

TABLE 1: COMPARISON OF WELL-KNOWN AVIONICS DATA BUSES


TABLE 2: CONFIGURATION SCRIPTS FOR THE AMCC PPC440EPX PROCESSOR
TABLE 3: CONFIGURATION SCRIPTS FOR THE FREESCALE MPC5554 PROCESSOR

5
74
90

List of Abbreviations

List of Abbreviations
(In chronological order)

;ZZj]naYlagf

G]Yfaf_

AOC

AjYha[Yd Ok]j Cfl]j^Y[]


Cfl]_jYl]\ >]n]dghe]fl ?fnajgf)
e]fl
L]\m[]\ Cfkljm[lagf M]l =gehml]j
P]jq Fgf_ Cfkljm[lagf Qa\l
Ih]jYlaf_ Mqkl]e
Dgafl N]kl ;[lagf Ajgmh
L]Yd Nae] Ih]jYlaf_ Mqkl]e
L]Y\)Ifdq G]egjq
LYf\ge ;[[]kk G]egjq
Mqf[jgfgmk >qfYea[ LYf\ge
;[[]kk G]egjq
=]fljYd Jjg[]kkaf_ Ofal
@mdd ;mlgjalq >a_alYd ?d][ljgfa[k
=gfljgdk
GadalYjq MlYf\Yj\
>]hYjle]fl g^ >]^]fk] MlYf\Yj\
?mjgh]Yf Ij_YfarYlagf ^gj =anad
;naYlagf ?imahe]fl
?mjgh]Yf H]logjc g^ NjYfkeakkagf
Mqkl]e Ih]jYlgjk
;]jgfYmla[Yd LY\ag Cf[*
G]Yf Nae] <]lo]]f @Yadmj]k
Maf_d] ?n]f Ohk]l
Maf_d] ?n]fl @mf[lagfYd Cfl]jjmhlk
?jjgj =gjj][lagf =g\af_
>qfYea[ LYf\ge ;[[]kk G]egjq
JYjYe]l]j LYf\ge ;[[]kk G]egjq
Cfhml + Imlhml
=gfljgdd]j ;j]Y H]logjc
M]jaYd J]jah]jYd Cfl]j^Y[]
@dgYlaf_ Jgafl Ofal
Cfl]j)Cfl]_jYl]\ =aj[mal
;mpadaYjq Jjg[]kkaf_ Ofal
JYk])Fg[c]\ Fggh
J]jah]jYd =gehgf]fl Cfl]j[gff][l
>aj][l G]egjq ;[[]kk
Cfkljm[lagf F]n]d JYjYdd]dake
Iml)g^)Ij\]j ?p][mlagf

C>?
LCM=
PFCQ
IM
DN;A
LNIM
LIG
L;G
M>L;G
=JO
@;>?=
GCF)MN>
>I>)MN>
?OLI=;?
?NMI
;LCH=
GN<@
M?O
M?@C
?==
>L;G
JL;G
C+I
=;H
MJC
@JO
C .=
;JO
JFF
J=C
>G;
CFJ
III?

List of Abbreviations

;ZZj]naYlagf

G]Yfaf_

CFQ
LM
L;Q
Q;Q
LI<
CJ=
NF<
HIJ
CO
<JO
<J<
<N;=
<N<
<BN

Cfkljm[lagf Fggc)Y]Y\ Qaf\go


L]k]jnYlagf MlYlagf
L]Y\);^l]j)Qjal]
Qjal]);^l]j)Qjal]
L]gj\]j <m^^]j
Cfkljm[lagfk h]j =q[d]
NjYfkdYlagf Fggc)Y]Y\ <m^^]j
Hg)Ih]jYlagf
Cfkljm[lagf Ofal
<jYf[ Jjg[]kkaf_ Ofal
<jYf[ Jj]\a[lagf <m^^]j
<jYf[ NYj_]l ;\\j]kk =Y[]
<jYf[ NYj_]l <m^^]j
<jYf[ Baklgjq NYZd]
Cfklalml] g^ ?d][lja[Yd Yf\ ?d][ljgfa[k
?f_af]]jk
MlYla[ LYf\ge ;[[]kk
G]egjq %L;G&
>qfYea[ L;G
G]egjq GYfY_]e]fl Ofal
;n]jY_] G]egjq ;[[]kk Nae]
=dg[ck h]j Cfkljm[lagf
@ajkl)Cf)@ajkl)Iml
Ggkl L][]fldq Ok]\
F]Ykl L][]fldq Ok]\
Jk]m\g)F]Ykl L][]fldq Ok]\
PajlmYd G]egjq
Qjal] ?fYZd]
?jjgj =gjj][lagf
?jYkYZd] Jjg_jYeeYZd] LIG
Mqf[jgfgmk >L;G
Mqf[jgfgmk ML;G
Lgo ;\\j]kk MljgZ]
=gdmef ;\\j]kk MljgZ]
=dg[c ?fYZd]
;mlg Jj])[Yj_]
;[lanYl]
L]Y\
=gdmef ;\\j]kk MljgZ] FYl]f[q
If])Nae])Jjg_jYeeYZd] LIG
Ofan]jkYd ;kqf[jgfgmk L][]an]j
NjYfkeall]j
G]lYd Ipa\] M]ea[gf\m[lgj

C???
ML;G
>L;G
GGO
;G;N
=JC
@C@I
GLO
FLO
JFLO
PG
Q?
?=
?JLIG
M>L;G
MML;G
L;M
=;M
=E?
;J
;=NP
L>
=F
INJ LIG
O;LN
GIM

List of Abbreviations

;ZZj]naYlagf

G]Yfaf_

??JLIG +? .JLIG

?d][lja[Yddq ?jYkYZd] Jjg_jYeeYZd]


LIG
?eZ]\\]\ Ga[jghjg[]kkgj <]f[)
eYjc =gfkgjlame
Qgjkl =Yk] ?p][mlagf Nae]
G]_Y Cfkljm[lagfk h]j M][gf\
Q]lklgf] Cfkljm[lagfk h]j M][gf\
>jqklgf] G]_Y Cfkljm[lagfk h]j
M][gf\
MlYf\Yj\ J]j^gjeYf[] ?nYdmYlagf
=gjhgjYlagf
=dg[c Nae]
=dg[c =q[d]
=dg[c h]j Cfkljm[lagf
G]_Y @dgYlaf_ Jgafl Cfkljm[lagfk h]j
M][gf\
Qjal])Njgm_
=ghq)<Y[c
Mlgj] Qalgml ;ddg[Yl]
Jjg[]kkgj Fg[Yd <mk
Cfkljm[lagf =Y[] =gfljgdd]j
>YlY =Y[] =gfljgdd]j
Cfl]jjmhl M]jna[] Lgmlaf]
@dgYlaf_ Jgafl
;nagfa[k <]f[eYjc
Gglgj =gfljgd
Ba_ Fa^l
Jgo]j J=
;hhda]\ Ga[jg)=aj[malk =gjhgjYlagf
L]\m[]\
;hhd])C<G)GglgjgdY
?p][mlagf Ofal
@dgYlaf_ Jgafl L]_akl]j
A]f]jYd Jmjhgk] L]_akl]j
@dgYlaf_ Jgafl MlYlmk =gfljgd L]_ak)
l]j
;e]ja[Yf HYlagfYd MlYf\Yj\k
Cfklalml]
Cfkljm[lagf Km]m]
=gehd]lagf Ofaq
=gj] Cfl]j^Y[] Ofal
<mk Cfl]j^Y[] Ofal
FgY\ x Mlgj] Ofal
>YlY Faf] @add <m^^]j

??G<=
Q=?N
GCJM
QCJM
>GCJM
MJ?=
=N
==
=JC
G@FIJM
QN
=<
MQI;
JF<
C==
>==
CML
@J
;nageYjc
Gglgj=
Ba_F
JJ=
;G==
LM=
;CG
?O
@JL
AJL
@JM=L
;HMC
CK
=O
=CO
<CO
FMO
>@F<

List of Abbreviations

;ZZj]naYlagf

G]Yfaf_

C@F<
FGK
>>C

Cfkljm[lagf Faf] @add <m^^]j


FgY\ Gakk Km]m]
>aj][l >a]k]d Cfb][lagf
L]\mf\Yfl ;jjYq g^ Cf]ph]fkan]
>akck
AYkgdaf] >aj][l Cfb][lagf

L;C>
A>C

Introduction

1.Introduction
1.1. Background
N] af[j]Ykaf_ d]n]dk g^ [gehd]palq Yf\ [gf[mjj]f[q af ea[jghjg[]kkgjk
Yn] j]kmdl]\ af _jgoaf_ \]eYf\ ^gj h]j^gjeYf[] ]nYdmYlagf YhYjl ^jge l] ljY\a)
lagfYd ^mf[lagfYd l]klaf_* Cf ]Yjda]j \]ka_fk( h]j^gjeYf[] nYda\Ylagf j]imaj]e]flk
o]j] eafaeYd \m] lg j]dYlan]dq kaehd] ea[jg)Yj[al][lmj]k( egkl g^ oa[ o]j]
ngf)H]meYff eg\]dk* Bgo]n]j( al ak fgoY\Yqk [geegf Yegf_ eg\]jf kmh]j)
k[YdYj ea[jg)Yj[al][lmj]k lg k]] egj] Y\nYf[]\ Yf\ [gehd]p ^]Ylmj]k km[ Yk emd)
lahd] afkljm[lagf \akhYl[ Yf\ gmlg^gj\]j( hah]daf]\ ]p][mlagf ]l[* Ggkl g^ l]k]
hjg[]kkgjk kmhhgjl kh][mdYlan] ]p][mlagf( ZYk]\ gf ZjYf[ hj]\a[lagf* N] hj]k)
]f[] g^ %emdlad]n]d& [Y[] eakk]k ak ]n]f egj] \a^^a[mdl lg Y[[gmfl ^gj* Nmk( hj])
\a[laf_ l] [gjj][l %]ph][l]\& ]p][mlagf lae] ^gj ]n]f Y kaehd] l]kl [Yk] [Yf Z]
imal] \a^^a[mdl* Nak Yk Ydd eY\] h]j^gjeYf[] l]klaf_ egj] [Ydd]f_af_ Zml Yl l]
kYe] lae] egj] nYdmYZd] lg kqkl]e ]f_af]]jk( Zgl Yl Yj\oYj] Yf\ kg^loYj] d]n]d*
M;;< ;naljgfa[k af Dwfcwhaf_ ak Y d]Y\af_ kmhhda]j g^ ;nagfa[k Yf\ ?d][)
ljgfa[ QYj^Yj] Mqkl]ek Yf\ Yn] Z]]f \]n]dghaf_ Yf\ afl]_jYlaf_ Ynagfa[k ^gj
Zgl eadalYjq Yf\ [gee]j[aYd Yaj[jY^l( oal Y ^mdd kh][ljme g^ eg\mdYj Ynagfa[k
Yf\ e][Yfa[Yd kqkl]ek oal Y oa\] jYf_] g^ hjg\m[lk( eYafdq ^gj Ynagfa[ Yhhda[Y)
lagfk( af[dm\af_ ]*_* mladalq Yf\ eakkagf [gehml]jk( [gfljgd [gehml]jk( q\jYmda[
Y[lmYlgjk( ]d][lja[ eglgjk Yf\ eglgj [gfljgdd]jk* GYfq g^ l]k] hjg\m[lk af[dm\]
]eZ]\\]\ ea[jg[gehml]jk*
Nak l]kak ogjc Yk Z]]f [Yjja]\ gml mf\]j kmh]jnakagf Yf\ _ma\Yf[] g^
=]flj] g^ ?p[]dd]f[]6 =gehml]jk \]hYjle]fl g^ M;;< ;naljgfa[k af Dwfcwhaf_(
oa[ ak Y []fljYdar]\ j]kgmj[] ^gj [gehml]j \]ka_f oalaf M;;< ;naljgfa[k Yf\
M;;<*

1.2. Embedded Systems


?eZ]\\]\ kqkl]ek Yj] kh][aYd)hmjhgk] [gehml]j kqkl]ek oal Y [geZafY)
lagf g^ [gehml]j Yj\oYj] Yf\ kg^loYj]( \]ka_f]\ ]kh][aYddq ^gj lYj_]l Yhhda[Y)
lagfk* Cf [gfljYkl lg _]f]jYd)hmjhgk] [gehml]jk oa[ jmf emdlahd] lYkck( ]eZ]\)
\]\ kqkl]ek h]j^gje gfdq Y fYjjgo jYf_] g^ hj])\]^af]\ lYkck U-W* N]aj fYe]
[ge]k ^jge Z]af_ mkmYddq ]eZ]\\]\ Yk hYjl g^ Y dYj_]j [gehd]l] \]na[] af[dm\af_
Yj\oYj] Yf\ l]q Yj] fgl \aj][ldq nakaZd] lg mk]jk U.W*
?eZ]\\]\ kqkl]ek Yj] la_ldq [gfkljYaf]\ Zq \]ka_f e]lja[k km[ Yk [gkl(
kar]( h]j^gjeYf[] Yf\ hgo]j U.W* N]q [Yf ]ehdgq _]f]jYd)hmjhgk]( Yhhda[Ylagf)
kh][a^a[ gj kaf_d])hmjhgk] hjg[]kkgjk \]h]f\af_ gf l] Yhhda[Ylagf Z]af_ mk]\*
N]q Yj] g^l]f j]kgmj[])daeal]\ ]*_* l]q ]ehdgq fg Yj\ \jan]k( eYq Yn] hgo]j
daealYlagfk( jmf Zmadl)af Yhhda[Ylagf)kh][a^a[ kg^loYj] afkl]Y\ g^ mk]j k]d][l]\ hjg)
_jYek Yf\ l] Yj\oYj]+kg^loYj] ak hj])afl]_jYl]\ ^gj mkY_] af l] lYj_]l Yhhda[Y)
lagfk oalgml meYf afl]jn]flagf*
Cf [gfljYkl lg _]f]jYd)hmjhgk] [gehml]jk oa[ mk] bmkl Y n]jq ^]o hjg[]k)
kgj Yj[al][lmj]k( ^Yajdq dYj_] fmeZ]j g^ ZYka[ =JO ea[jg)Yj[al][lmj]k Yj] mk]\ af
]eZ]\\]\ kqkl]ek* ;LG Yf\ p42 Yn] Z]]f l] egkl ^j]im]fldq \]hdgq]\( ]Y[
Yl jgm_dq /, h]j[]fl Yk o]dd Yk Jgo]jJ= Yf\ GCJM oal ^Yajdq keYdd]j kYj]k U-W*
N]q aehd]e]fl Pgf H]meYff gj BYjnYj\ Yj[al][lmj]k( LCM= Yk o]dd Yk fgf)
LCM= gj PFCQ* Nqha[Yd ogj\ d]f_lk nYjq ^jge 0)Zal lg 20)Zalk Yf\ Z]qgf\ %-.4
1

Introduction

Zalk af f]o _]f]jYlagf g^ hjg[]kkgjk& Ydlgm_ l] egkl lqha[Yd gf]k Yj] /.+20 Zalk
oa\]*
Mge] ]eZ]\\]\ kqkl]ek af[dm\] Yf ]eZ]\\]\ gh]jYlaf_ kqkl]e %IM&(
oa[ [Yf ]al]j Z] Y n]jq keYdd IM lYl oYk \]n]dgh]\ kh][a^a[Yddq ^gj mk] oal
]eZ]\\]\ kqkl]ek( gj al [Yf Z] Y kljahh]\ \gof n]jkagf g^ kqkl]e lYl ak [ge)
egfdq mk]\ gf _]f]jYd)hmjhgk] [gehml]jk U-W* C^ l] Yhhda[Ylagf afl]f\]\ ^gj l]
]eZ]\\]\ kqkl]e j]imaj]k j]Yd)lae] [gfkljYaflk( l]f Y j]Yd)lae] gh]jYlaf_ kqk)
l]e %LNIM& ak mk]\* JghmdYj ]eZ]\\]\ LNIM af eYjc]l lg\Yq Yj] =UXWWXW
D\ahk( DlakGJ( GJ)5( GJ=( MkNbe^f( N\aWbjf ;= Yf\ N\aWbjf OH =UXWWXW*
GYfq ]eZ]\\]\ kqkl]ek Yj] kg kh][aYdar]\( go]n]j( lYl l]q \g fgl j]imaj] Yfq
f]]\ ^gj gh]jYlaf_ kqkl]e kaf[] l] ogd] dg_a[ [Yf Z] aehd]e]fl]\ Yk Y kaf_d]
hjg_jYe [g\] klgj]\ af e]egjq*
GYfq ]eZ]\\]\ kqkl]ek Yj] kY^]lq)[jala[Yd Yf\ l]j]^gj] Yn] lg Z] \])
h]f\YZd]* ;nagfa[k ak Yf ]pYehd] g^ ]plj]e]dq kY^]lq)[jala[Yd kqkl]ek Yl d]Ykl hYj)
laYddq [gfljgdd]\ Zq kg^loYj]* >]h]f\YZadalq [gn]jk j]daYZadalq %hjgZYZadalq lYl Y
kqkl]e oadd fgl ^Yad&( eYaflYafYZadalq %hjgZYZadalq lYl Y ^Yadaf_ kqkl]e [Yf Z] j])
hYaj]\ oalaf Y []jlYaf lae] h]jag\&( YnYadYZadalq %hjgZYZadalq lYl kqkl]e ak YnYadY)
Zd]&( kY^]lq %hjgh]jlq lYl Y ^Yadaf_ kqkl]e fgl [Ymk] Yfq Yje& Yf\ k][mjalq %hjgh)
]jlq lYl [gf^a\]flaYd \YlY j]eYafk [gf^a\]flaYd& U/W*
Ggkl ]eZ]\\]\ kqkl]ek j]imaj] j]Yd)lae] j]khgfk] Yf\ l]q mkmYddq Yn]
j]Yd)lae] [gfkljYaflk lg Y[a]n] l]k] akkm]k* N]q ^gje l] ZYkak g^ kg)[Ydd]\ cbfg)
H; XeT( o]j] af^gjeYlagf hjg[]kkaf_ ak egnaf_ YoYq ^jge J=k lg ]eZ]\\]\ kqk)
l]ek*
1.2.1.

Debugging

>]Zm__af_ ak l] hjg[]kk g^ a\]fla^qaf_ l] jggl [Ymk] g^ Yf ]jjgj Yf\ [gj)


j][laf_ al Zq kaemdYlaf_ l] lYj_]l \]na[] a*]* l] ]eZ]\\]\ ea[jg[gehml]j ZgYj\(
Yf\ jmffaf_ al gf Y gkl [gehml]j U1W* N] ^af\af_k ^jge P>=$k .,,1 ?eZ]\)
\]\ Mqkl]ek GYjc]l MlYlakla[k j]hgjl U2W af\a[Yl] lYl YhhjgpaeYl]dq 0,# g^ ]e)
Z]\\]\ \]n]dghe]fl hjgb][lk jmf UX[\aW fV[XWh_X* >]Zm__af_ ak _]f]jYddq Y[[]hl]\
Yk l] egkl lae] [gfkmeaf_ Yf\ [gkldq hYk] g^ l] \]n]dghe]fl hjg[]kk oal
kge] ]klaeYl]k hmllaf_ l] \]Zm_ [gkl Yk a_ Yk 1," g^ l] lglYd \]n]dghe]fl
[gkl U1W*
N]j] ]pakl lj]] eYaf \]Zm__af_ l][faim]k Yn] ]e]j_]\ oa[ Yll]ehl
lg Y\\j]kk l]k] daealYlagfk U2W* N]k] Yj]6
LIG Ggfalgj 6 ; ha][] g^ [g\] ]p][ml]k gf l] lYj_]l kqkl]e o]j] l]
<XUhZZXe jmffaf_ gf l] gkl J= [geemfa[Yl]k naY Y \]\a[Yl]\ hgjl gf l] lYj)
_]l Yf\ k]f\k [geeYf\k lg l] egfalgj l] \]Zm__af_ hjg[]kk Yf\ j]lmjfk j])
khgfk] ^jge l] lYj_]l kqkl]e*
Cf)=aj[mal ?emdYlgj %C=?&6 C=? j]hdY[]k l] lYj_]lzk ea[jg[gfljgdd]j af)
[aj[mal Yf\ Xh_TgXf alk ^mf[lagfYdalq Zq hjgna\af_ ^mdd nakaZadalq aflg l] afka\] g^
l] {]emdYl]\| ea[jg[gfljgdd]j( oa[ ak [gff][l]\ lg l] gkl J= Yf\ lqha[Yddq
[gfljgdd]\ Zq Y >]Zm__]j Yk af LIG egfalgj*
If)=ah >]Zm_6 <][Ymk] g^ l] [gklk g^ C=?k( k]ea[gf\m[lgj n]f\gjk
Yn] klYjl]\ afl]_jYlaf_ \]\a[Yl]\ \]Zm__af_ Yj\oYj] aflg l]aj [ahk* N] gf)
[ah \]Zm_ [aj[maljq lqha[Yddq afl]j^Y[]k lg l] gmlka\] ogjd\ ljgm_ Y DN;A af)
2

Introduction

l]j^Y[] oa[ ak l] egkl hghmdYj klYf\Yj\ mk]\* N] mk]jzk J= afl]j^Y[]k lg l]


lYj_]l naY Y DN;A ]emdYlgj [gff][l]\ lg l] gkl J=*
If)[ah \]Zm__af_ [Yf g^^]j jmf)lae] [gfljgd ^mf[lagfYdalq af[dm\af_ hjg)
_jYe \gofdgY\( _g+kl]h+Ydl( e]egjq+j]_akl]j Y[[]kk Yf\ Zj]Ychgaflk U2W* L][]fl
aehd]e]flYlagfk g^ gf)[ah \]Zm_ Yn] Ydkg klYjl]\ lg g^^]j j]Yd)lae] ljY[] ^mf[)
lagfYdalq* Cf gmj hjgb][l( o] Yj] mkaf_ l] Aj]]f Baddk Mmh]jNjY[]} hjgZ]
oa[ ^]Ylmj]k j]Yd)lae] ljY[] ^mf[lagfYdalq*
1.2.2.

BIOS vs. Boot-loaders

Q]f hgo]j ak ^ajkl Yhhda]\ lg Y J=( Y kg^loYj] hjg_jYe [Ydd]\ <CIM


%<Yka[ C+I Mg^loYj]& aee]\aYl]dq lYc]k [gfljgd g^ l] hjg[]kkgj* <CIM ak Y
[gehd]p k]l g^ kqkl]e [gf^a_mjYlagf kg^loYj] jgmlaf]k lYl Yn] dgo)d]n]d \]lYadk g^
Yj\oYj] Yj[al][lmj] Yf\ afalaYdar]k Yj\oYj]( ]kh][aYddq e]egjq kmZkqkl]e U3W*
<CIM kg^loYj] [Yffgl Z] klgj]\ af ngdYlad] e]egjq( Z][Ymk] ZYka[
afalaYdarYlagf afkljm[lagfk( gj Zggl [g\]( emkl Z] hj]k]fl o]f l] [gehml]j ak
lmjf]\ gf* Nak ak Z][Ymk] l] =JO emkl Z] YZd] dg[Yl] l] Zggl [g\] ima[cdq kg
lYl al [Yf hj]hYj] alk]d^ lg Y[[]hl afhml ^jge Y mk]j gj dgY\ Y hjg_jYe ^jge Yf
afhml \]na[] o]f hgo]j ak ^ajkl Yhhda]\ lg Yf ]eZ]\\]\ ea[jg[gehml]j* Nak
klYjlmh k]im]f[] ak [Ydd]\ Zgglaf_*
Ng ]fkmj] lYl Zggl [g\] ak j]Y\q Yl hgo]j)mh( Y fgfngdYlad] e]egjq [Ydd]\
j]Y\ gfdq e]egjq %LIG& ]paklk* LIG [Yf Z] mk]\ lg klgj] Zgl hjg_jYek Yk
o]dd Yk Yfq \YlY lYl emkl Z] hj]k]fl Yl hgo]j)mh Yf\ aee]\aYl]dq Y[[]kkaZd]*
Bgo]n]j( af Ynagfa[k Yhhda[Ylagfk( l] mk] g^ e][Yfa[Yd egnaf_ hYjlk af
]eZ]\\]\ kqkl]ek ak Ynga\]\* Mm[ ]eZ]\\]\ kqkl]ek Yj] \]ka_f]\ lg h]j^gje
lYkck ^gj q]Yjk oalgml Yfq ]jjgjk( lmk j]daYZadalq ak g^ ]plj]e] aehgjlYf[]* ;k Y
j]kmdl( kgda\)klYl] hYjlk dac] @dYk e]egja]k Yj] mk]\ Yf\ mfj]daYZd] e][Yfa[Yd
[gehgf]flk km[ Yk \akc \jan]k Yj] Ynga\]\ U4W* Cf km[ ]eZ]\\]\ kqkl]ek( l]
kg^loYj] hjg_jYe lYl \g]k l] kYe] ^mf[lagf Yk <CIM af Y j]_mdYj J= ak [Ydd]\
Zggl)dgY\]j* <ggl)dgY\]jk afalaYdar] [jala[Yd Yj\oYj] [gehgf]flk km[ Yk
M>L;G [gfljgdd]j( C+I [gfljgdd]jk( _jYha[k [gfljgdd]jk( afalaYdar]k kqkl]e
e]egjq Yk Y hj]hYjYlagf lg hYkk [gfljgd lg IM( Yf\ Yddg[Yl]k kqkl]e j]kgmj[]k lg
h]jah]jYd [gfljgdd]jk U3W* C^ l] ]eZ]\\]\ kqkl]f mk]k VbXeV\T_)bYY)g[X)f[X_Y
&;GKJ hdYl^gje( l]f ZggldgY\]jk Yj] af[dm\]\ gf l] ZgYj\*
Mg^loYj] [gflYaf]\ af LIG ak Ydkg cfgof Yk ^ajeoYj]* ;k alk fYe]
aehda]k( LIG [Yf gfdq Z] j]Y\ Zml fgl ojall]f* @ajeoYj]k Yj] \]n]dgh]\ ^gj
]eZ]\\]\ kqkl]ek lYl \g fgl Yn] \akc \jan]k* N]q Yj] Zmjf]\ gf LIGk gj
@dYk e]egja]k( Yk ]phdYaf]\ Z]^gj]*
=gehd]p ]eZ]\\]\ kqkl]ek km[ Yk lgk] af Ynagfa[k kqkl]ek [gflYaf Y
j]dYlan]dq keYdd imYflalq g^ LIG lg gd\ ZYka[ Zggl [g\] lYl l]f dgY\k eYaf
gh]jYlaf_ kg^loYj] aflg L;G ^gj ]p][mlagf* >\ZheX -)- kgok go LIG Yf\
L;G [gehd]e]fl ]Y[ gl]j af Y lqha[Yd [gehml]j Yj[al][lmj]*

1.3. Avionics
?d][ljgfa[ \]na[]k Yf\ kqkl]ek lYl Yj] mk]\ af YnaYlagf Yj] [geegfdq
j]^]jj]\ lg Yk Ynagfa[k*
3

Introduction

Figure 1-1: Interaction of ROM, RAM and I/O with the CPU in embedded system [9]

N] [gkl g^ \a_alYd Ynagfa[k Yj\oYj] ak a_7 al [Yf [gkl YZgml /,)1,# g^


l] lglYd Yaj[jY^l ^dq)YoYq [gkl* <ml egkl aehgjlYfldq( Ynagfa[k kqkl]ek Yn] lg Z]
j]daYZd]*
; \a_alYd Ynagfa[k kqkl]e Yj[al][lmj] [Yf Z] VXageT_ %ka_fYd [gf\alagfaf_
Yf\ [gehmlYlagfk lYc] hdY[] af gf] gj egj] ]eZ]\\]\ [gehml]jk oal k]fkgj Yf\
[geeYf\ ka_fYdk ljYfkeall]\ gn]j \YlY Zmk]k& ( W\fge\UhgXW %o]j] emdlahd]
hjg[]kkgjk ljgm_gml l] Yaj[jY^l Yj] Ykka_f]\ [gehmlaf_ Yf\ j]Yd)lae] Zq
]p][mlan] kg^loYj] Yk Y ^mf[lagf g^ eakkagf hYk] Yf\+gj kqkl]e klYlmk& gj YXWXeTgXW
%]Y[ eYbgj kqkl]e kYj]k afhml Yf\ k]fkgj \YlY ^jge Y [geegf k]l g^ Yj\oYj]
g^l]f kYjaf_ l]aj [gehml]\ j]kmdlk naY \YlY Zmk& U-,W* Id\]j kqkl]ek mk]\ lg
]ehdgq ^]\]jYl]\ Yj[al][lmj]( o]j]Yk [mjj]fl l][fgdg_a]k aehd]e]fl
\akljaZml]\*
>]n]dghe]fl g^ Yf Ynagfa[k kqkl]e ^gddgok ^YeadaYj kqkl]ek ]f_af]]jaf_
^dgo ^jge \]^afalagf Yf\ YfYdqkak g^ l] j]imaj]e]flk Yf\ [gfkljYaflk Yl af[j]Ykaf_
d]n]d g^ \]lYad( ljgm_ \]lYad]\ \]ka_f( [gfkljm[lagf( nYda\Ylagf( afklYddYlagf Yf\
eYafl]fYf[] U-,W* ;k ]phdYaf]\ ]Yjda]j( Ynagfa[k gh]jYl] af j]Yd lae] Yf\ h]j^gje
eakkagf Yf\ da^])[jala[Yd ^mf[lagfk* N]k] log Ykh][lk eYc] Ynagfa[k kqkl]e WXf\Za
Yf\ iXe\Y\VTg\ba [Ydd]f_af_ ^gj ]eZ]\\]\ kqkl]e ]f_af]]jk*
;dlgm_ Ynagfa[ kqkl]ek h]j^gje eYfq ^mf[lagfk( l]j] Yj] lj]] ]d]e]flk
[geegf lg egkl kqkl]ek6 \YlY Zmk]k oa[ Yj] l] ka_fYd afl]j^Y[]k ^gj \YlY
[geemfa[Ylagf( [gfljgdk Yf\ \akhdYqk oa[ Yj] f][]kkYjq ^gj l] [j]o lg
afl]j^Y[] oal l] Yaj[jY^l( Yf\ hgo]j oa[ ak l] da^] []dd g^ Ynagfa[k Yj\oYj]*
N] _]f]ja[ hjg[]kk af Y lqha[Yd Ynagfa[k kqkl]e Yj] ka_fYd \]l][lagf Yf\
hj])hjg[]kkaf_( ka_fYd ^mkagf( [gehmlYlagf( [gfljgd+\akhdYq af^gjeYlagf _]f]jYlagf
Yf\ ljYfkeakkagf Yf\ ^]]\ZY[c g^ j]khgfk] lg [gfljgd+\akhdYq af^gjeYlagf(
\]h]f\af_ gf l] [YjY[l]jakla[k g^ l] Yhhda[Ylagf l] Ynagfa[k kqkl]e ak lg Z]
mk]\ U-,W*
MlYf\Yj\k hdYq Yf aehgjlYfl jgd] af Ynagfa[k* GadalYjq Ynagfa[k Yj] hYjlaYddq
[gfljgdd]\ Zq nYjagmk klYf\Yj\k km[ Yk EAD)JK<k gj <G<)JK<k ^gj hY[cY_af_(
]fnajgfe]flYd h]j^gjeYf[]( gh]jYlaf_ [YjY[l]jakla[k( ]d][lja[Yd Yf\ \YlY afl]j^Y[]k
Yf\ gl]j \]ka_f)j]dYl]\ hYjYe]l]jk* Cf ?mjgh]( l] ?mjgh]Yf Ij_YfarYlagf ^gj
=anad ;naYlagf ?imahe]fl %?OLI=;?& U--W \]n]dghk h]j^gjeYf[]
kh][a^a[Ylagfk Yf\ gl]j \g[me]flk ]p[dmkan]dq \]\a[Yl]\ lg l] YnaYlagf
[geemfalq* ?OLI=;? \g[me]flk Yj] oa\]dq j]^]j]f[]\ Yk Y e]Yfk g^
[gehdaYf[] lg ?mjgh]Yf N][fa[Yd MlYf\Yj\ Ij\]jk %?NMIk& Yf\ gl]j
j]_mdYlgjq \g[me]flk*
N] [gee]j[aYd Yaj ljYfkhgjl af\mkljq Ydkg mk]k ngdmflYjq klYf\Yj\k [j]Yl]\
Zq ;ajdaf]k ?d][ljgfa[k ?f_af]]jaf_ =geeall]] Yf\ hmZdak]\ Zq ;]jgfYmla[Yd
4

Introduction

LY\ag Cf[* %;LCH=& Yf\ al \]^af]k l] ^gje Yf\ ^mf[lagf g^ Yajdaf] Ynagfa[k
U-.W*
GYfq eg\]jf lY[la[Yd Yaj[jY^lk ]ehdgq \a_alYd Ynagfa[k kqkl]ek oal
^]\]jYl]\( []fljYdar]\ gj \akljaZml]\ Ynagfa[k Yj[al][lmj]k lYl kYj] \YlY naY
afl]j[gff][laf_ \YlY Zmk]k* Nmk( \YlY Zmk]k Yj] l] c]q lg afl]_jYl]\ Ynagfa[k
Yj[al][lmj]k* KTU_X - Z]dgo kmeeYjar]k eYbgj ^]Ylmj]k g^ egkl [geegfdq mk]\
kqkl]e Zmk]k6
Bus Name

Word length (bits)

Bitrate

Transmisson mode

MIL-STD-1533
DOD-STD-1773
ARINC 429
ARINC 629
ARINC 6590

20
32
32
20
32

1 MB/s
1 or 20 MB/s
12.5 or 100 KB/s
2 MB/s
100 MB/s

Wire
Fiber-optic
Wire
Wire or fiber-optic
Wire

Table 1: Comparison of well-known avionics data buses [12]

;LCH= klYf\Yj\k mk]\ gf gn]j -,(,,, Yaj[jY^l ogjd\oa\] Yf\ [gn]j al]ek
km[ Yk ]d][ljgfa[ afklYddYlagf _ma\Yf[]( YajZgjf] \aklYf[] e]Ykmjaf_ ]imahe]fl(
]Y\af_ Yf\ Ydlalm\] k]fkgjk( ]d][ljgfa[ [jgfge]l]j kqkl]ek( ZYjge]lja[ Ydlalm\]
jYl] [gehml]jk( [gfljgd+\akhdYq afl]j^Y[]k7 ^da_l \YlY Y[imakalagf Yf\ j][gj\af_
kqkl]ek Yf\ YfYdg_m] Yf\ \ak[j]l] \YlY [gfn]jl]j kqkl]ek U-/( -0W*
;aj[jY^l hgo]j ak _]f]jYddq g^ log lqh]k6 .4 P %>=& Yf\ --1 P %;=& oal
0,, Br ^j]im]f[q( Zml .3, P %>=& ak Ydkg mk]\ gf eadalYjq Yaj[jY^lk U-,W Yf\ al ak
g^ hggj imYdalq o]f [gehYj]\ oal hgo]j g^ gl]j ]d][ljgfa[k Yj\oYj]* Of\]j
fgjeYd [gf\alagfk( l]j] [Yf Z] ljYfka]flk mh lh -,," g^ l] kmhhdq ngdlY_] Yf\
hgo]j afl]jjmhlagfk g^ mh lg - k][gf\* Nak hggj imYdalq ak n]jq ka_fa^a[Yfl af
kY^]lq)[jala[Yd Ynagfa[k Yj\oYj]( hggjdq Y^^][laf_ j]daYZadalq g^ l] kqkl]e*

1.4. Embedded Systems in Avionics


1.4.1.

Functionalities

Nqha[Yd ]eZZ]\]\ Ynagfa[k kqkl]ek Yj] ^da_l [gfljgd kqkl]ek %^dq)Zq)oaj]


l[gfljgdk( Ymlg hadgl&( ]f_af] [gfljgd kqkl]ek ]*_* @mdd ;mlgjalq >a_alYd
?d][ljgfa[k =gfljgdk %@;>?=&( ^da_l Ynagfa[k kqkl]ek %fYna_Ylagf
[geemfa[Ylagfk( []ddmdYj [geemfa[Ylagf kqkl]ek&( aeY_] \akhdYq kqkl]ek( QF;H
jgmlaf_ kqkl]ek( ]d][ljgfa[Yddq [gfljgdd]\ ljYfeakkagf kqkl]ek Yf\ lY[la[Yd k]fkgj
kqkl]ek %]*_* jY\Yj Yf\ ]d][ljgfa[ oYj^Yj]&*
;k [Yf Z] k]]f ^jge l] l] jYf_] g^ l]k] Yhhda[Ylagfk( ]eZ]\\]\ kqkl]ek
Yj] oa\]dq mk]\ af Ynagfa[k af\mkljq* Bgo]n]j( ]eZ]\\]\ kqkl]ek af Ynagfa[k
j]imaj] Y \a^^]j]fl YhhjgY[ lYf l] gf]k af _]f]jYd hmjhgk] Yhhda[Ylagfk \m] lg
l] kh][aYd j]imaj]e]flk g^ Yf Ynagfa[k Yhhda[Ylagf* N]k] j]imaj]e]flk Yj]
kmeeYjar]\ Yk ^gddgok*
1.4.2.

Determinism

Ggkl ]eZ]\\]\ kqkl]ek lYl ]pakl af Yhhda[Ylagf \geYafk km[ Yk Ynagfa[k


Yn] lg kYlak^q Yj\ j]Yd)lae] [gfkljYaflk* Cf Y\\alagf lg kYlak^qaf_ l]k]
5

Introduction

[gfkljYaflk( Ynagfa[ ]eZ]\\]\ kqkl]ek Ydkg Yn] lg Z] WXgXe\a\fg\V* >]l]jeafake


ak \]^af]\ Yk l] hj]\a[lYZadalq g^ Y kqkl]e Z]Ynagj ]n]f mf\]j ]plj]e] gh]jYlaf_
[gf\alagfk* ; \]l]jeafakla[ kqkl]e ak Y kqkl]e o]j] Z]Ynagmj g^ l] kqkl]e ak
hj]\a[lYZd] af ]n]jq \]lYad( af [gfljYkl lg fgf)\]l]jeafakla[ %klg[Ykla[& kqkl]ek
o]j] kqkl]e Z]Ynagmj ak Y^^][l]\ Zq jYf\ge afhmlk U-1W* Nmk( l] j]khgfk]
hYll]jfk g^ Y \]l]jeafakla[ kqkl]e Yf\ l] hjg_j]kk al eYc]k lg hjg\m[] lYl
j]khgfk] [Yf Z] hj][ak]dq cfgof af Y\nYf[]*
Nj]] j]Ykgfk [Yf d]Y\ lg fgf)\]l]jeafake6 %-& jYf\gef]kk( o]j] l]
\YlY Y[[]kk afngdn]k kge] {hjgZYZadalq| g^ dg[Ylaf_ l] \YlY ]*_* Yk af e]egjq
a]jYj[q ]kh][aYddq [Y[]k7 %.& \YlY [g]j]f[q hjgZd]ek( ]*_* ]al]j kqkl]e Yk
emdlahd] hjg[]kkgjk ojalaf_ lg l] kYe] \YlY Yl l] kYe] lae] o]j] l] hj][ak]
gj\]j af oa[ ]Y[ hjg[]kkgj ojal]k alk \YlY oadd Y^^][l l] j]kmdl( gj Y e][Yfake
lYl eYq d]Y\ lg km[ hjgZd]ek a*]* [ghq)ZY[c [Y[]k gj ojal] Zm^^]jk %/&
Yj\oYj] ]jjgjk lYl [Ymk] l] klYl] g^ l] kqkl]e lg [Yf_] af Yf mf]ph][l]\
oYq( lja__]j]\ Zq kge] mf]ph][l]\ ]pl]jfYd \aklmjZYf[] km[ Yk eTW\Tg\ba gj [XTg*
1.4.3.

Timing

BYj\oYj] ]fYf[]e]flk YnYadYZd] af ]eZ]\\]\ kqkl]ek ^]Ylmj] [Y[]k(


\]]h hah]daf]k( Yf\ nYjagmk caf\k g^ kh][mdYlagf e][Yfakek lg aehjgn] l]
Yn]jY_])[Yk] h]j^gjeYf[]7 go]n]j lak [Yf d]Y\ lg \akYkljgmk laeaf_
hj]\a[lYZadalq* Nmk( l]j] ]paklk Y Ve\g\VT_ geTWXbYY Z]lo]]f l] Yn]jY_])[Yk]
h]j^gjeYf[] g^ l] Ynagfa[ kqkl]e Yf\ l] km^^a[a]fl laeaf_ _mYjYfl]]k g^ l]
kqkl]e*
?n]f lgm_ l] kqkl]ek Yn]jY_])[Yk] Z]Ynagj Yk aehjgn]\( alk ogjkl)
[Yk] h]j^gjeYf[] eYq kladd Yn] \]l]jagjYl]\* ?n]f a^ l] ogjkl [Yk] h]j^gjeYf[]
ak km^^a[a]fl( l] hjgnYZd] Zgmf\ eYq Z] lgg aehj][ak] \m] lg d]kk hj]\a[lYZd]
[gehgf]flk* B]f[]( Y kqkl]e oal _gg\ Yn]jY_])[Yk]( Zml oal hggj ogjkl)[Yk]
h]j^gjeYf[] gj dgo hj]\a[lYZadalq oadd fgl Z] []jla^aYZd] af km[ kqkl]ek U-2W*
;f aehgjlYfl hYjl af l] \]ka_f g^ Yj\ j]Yd)lae] kqkl]ek ak l] jbefg)VTfX
cXeYbeTaVX g^ l] kqkl]e* C^ o] [Yf cfgo l] ogjkl)[Yk] h]j^gjeYf[] g^ l]
kqkl]e( o] [Yf eYc] kmj] lYl lYl o] kladd e]]l l] Yj\ j]Yd)lae] [gfkljYaflk
]n]f af km[ [Yk]( kYlak^qaf_ \]l]jeafake af Y kY^]lq)[jala[Yd Yhhda[Ylagf dac]
Ynagfa[k*
;dlgm_ laeaf_ g^ ]n]flk Yj] ]plj]e]dq aehgjlYfl af Ynagfa[ ]eZ]\\]\
kqkl]ek( l]q Yj] Ydkg l] dYj_]kl [Ymk] g^ fgf)\]l]jeafake( af[dm\af_ e]egjq
Y[[]kk]k( [Y[] ^addk+alk+eakk]k( emdlahd] [dg[c \geYafk Yf\ [dg[c ball]j af kada[gf
U-3W*
1.4.4.

Reliability

L]daYZadalq ak Yfgl]j eYbgj akkm] ]kh][aYddq ^gj ]eZ]\\]\ kqkl]ek af


Ynagfa[k Yhhda[Ylagfk* Cf kge] [Yk]k ]eZ]\\]\ kqkl]ek Yj] ]ph][l]\ lg j][gn]j Zq
l]ek]dn]k a^ Yf Xeebe g[[mjk ]*_* o]f l] kqkl]e ak fgl YZd] lg kY^]dq kml \gof(
gj al ak afY[[]kkaZd] lg j]hYaj Yk af khY[] kqkl]ek gj l] kqkl]e emkl Z] c]hl
jmffaf_ ^gj kY^]lq j]Ykgfk Yk af Yaj[jY^l fYna_Ylagf Yf\ kaf_d])]f_af] Yaj[jY^lk*
6

Introduction

;k l] [YhYZadalq Yf\ [gehd]palq g^ ]eZ]\\]\ kqkl]ek af[j]Yk]k( kg \g]k


l] [Ydd]f_] g^ ]fkmjaf_ l]q h]j^gje j]daYZdq* Mm[ [Ydd]f_] Z][ge]k ]n]f
egj] [gehd]p o]f l]k] kqkl]ek Yj] [Yj_]\ oal h]j^gjeaf_ emdlahd] lYkck gj
jmffaf_ Y jYf_] g^ \a^^]j]fl kg^loYj] Yhhda[Ylagfk U-4W*
BYj\oYj] j]daYZadalq j]^]jk lg l] YZadalq g^ Yj\oYj] lg h]j^gje alk
^mf[lagfk ^gj kge] h]jag\ g^ lae] Yf\ ak mkmYddq ]phj]kk]\ Yk e]Yf lae] Z]lo]]f
^Yadmj]k %GN<@& U-5W* BYj\oYj] ^Yadmj]k [Yf g[[mj \m] lg nYjagmk j]Ykgfk eYafdq
j]dYl]\ lg hqka[Yd ]fnajgfe]fl km[ Yk ]Ylaf_ g^ l] ]d][ljgfa[ [gehgf]flk(
[jY[caf_ g^ kgd\]j bgaflk af [gehgf]flk gj jY\aYlagf g^ hYjla[d]k* Mg^loYj]
j]daYZadalq \a^^]jk ^jge Yj\oYj] j]daYZadalq af lYl al j]^d][lk l] \]ka_f h]j^][lagf(
jYl]j lYf eYfm^Y[lmjaf_ h]j^][lagf Yf\ lYl l] a_ [gehd]palq g^ kg^loYj] ak
l] eYbgj [gfljaZmlaf_ ^Y[lgj g^ kg^loYj] j]daYZadalq hjgZd]ek U.,W*
; ka_fa^a[Yfl Yegmfl g^ lglYd [gkl g^ Yaj[jY^lk ak \m] lg l] af^gjeYlagf
hjg[]kkaf_ ]imahe]fl af[dm\af_ ^da_l [gfljgd kqkl]ek( Yfla)[gddmkagf kqkl]ek(
hadgl af^gjeYlagf kqkl]ek ]l[* Nmk( j]daYZadalq ak g^ ]plj]e] aehgjlYf[] af
Ynagfa[k ]eZ]\\]\ kqkl]ek*
1.4.5.

Radiation

;fgl]j akkm] ^gj Ynagfa[k ]eZ]\\]\ kqkl]ek ak l] ]f\mjYf[] lg


kmk[]hlaZadalq lg [Yj_]\ hYjla[d] jY\aYlagf ]*_* \aj][ldq ^jge kmf %af [Yk] g^
khY[][jY^lk& gj af\aj][ldq ^jge Yaj ]*_* af [Yk] g^ Yaj[jY^lk* N] khY[] jY\aYlagf
oa[ [gflYafak ]f]j_]la[ hYjla[d]k km[ Yk hjglgfk Yf\ agfk( [Yf [Ymk] YfgeYda]k
af \a_alYd Ynagfa[k gfZgYj\ kYl]ddal]k( khY[][jY^l( Yf\ Y]jaYd n]a[d]k ^dqaf_ Yl a_
Ydlalm\] U.-W* Mm[ h]fge]fgf [Yf d]Y\ lg l]ehgjYjq gj h]jeYf]fl ^Yadmj]k af
Yj\oYj] oa[ [Yffgl Z] mf\gf] Yf\ [Yf d]Y\ lg ^YlYd [gfk]im]f[]k*
If] g^ l] Y\n]jk] ]^^][lk g^ khY[] jY\aYlagf gf Ynagfa[k ak Y ljYfka]fl ]jjgj
cfgof Yk kaf_d] ]n]fl mhk]l %M?O&* N]j] Yj] log eYaf lqh]k g^ M?Ok6 Maf_d]
?n]fl @mf[lagfYd Cfl]jjmhlk %M?@C& Yf\ j][gn]jYZd] mhk]lk* ; M?@C lqha[Yddq
[Yf Yf_ Y kqkl]e gj [Ymk] Y ea[jg[aj[mal lg ]fl]j aflg Y mf_ klYl] h]jeYf]fldq(
km[ Yk oal l] mhk]l g^ Y [jala[Yd j]_akl]j af Y hjg[]kkgj( oa[ l]f [Yf gfdq Z]
[d]Yj]\ Zq Y kqkl]e j]k]l gj hgo]j [q[d]7 o]j]Yk Y j][gn]jYZd] mhk]l l]ehgjYjadq
hj]n]flk Y ea[jg[aj[mal ^jge gh]jYlaf_ af alk fgeafYd klYl]( Zml l] ea[jg[aj[mal
[Yf j][gn]j gn]j lae] oalgml Y\\alagfYd mk]j afl]jn]flagf U..W* Cf ]al]j [Yk](
l]j] ak fg h]jeYf]fl \]kljm[lagf lg Yfq ea[jg[aj[mal* @gj ]pYehd]( hjgb][l
AYdad]g Zq H;M; U./W oYk Yae]\ lg klm\q l] hdYf]l Dmhal]j Yf\ alk eggfk(
%dYmf[]\ gf -4*-,*-545( Yjjan]\ Yl Dmhal]j gf 3*-.*-551 Yf\ eakkagf l]jeafYl]\
gf .-*5*.,,/&* >mjaf_ AYdad]gk [dgk]kl YhhjgY[ lg Dmhal]j( oa[ oYk
\]l]jeaf]\ lg Z] l] egkl [jala[Yd hYk] g^ l] eakkagf Zq H;M;( l] ]f]j_]la[
hYjla[d]k g^ kmdhmj Yf\ gpq_]f o]j] Y _j]Yl lj]Yl lg AYdad]g* N]k] ]Ynq agfk Yj]
[YhYZd] g^ h]f]ljYlaf_ l] \]da[Yl] ]d][ljgfa[k af l] khY[][jY^l Yf\ [Ymkaf_ Y
klgj]\ [gehml]j Zal lg [Yf_] alk nYdm] U.0W* Nak h]fge]fgf ak [Ydd]\ Yk Zal
^dah*
Cf [Yk] g^ Y Zal ^dah( N] M?O \g]k fgl j]kmdl af Y \YeY_]\ \]na[]( go]n]j
l] M?O af\m[]\ \YlY ]jjgj hjghY_Yl]k ljgm_ l] jmf)lae] gh]jYlagfYd ^da_l
hjg_jYe( [Ymkaf_ ]jjgf]gmk gmlhmlk ^jge Y ^da_l)[jala[Yd [gehml]j kqkl]e U.-W*
7

Introduction

Nqha[Yd kgdmlagfk ^gj Zal ^dahk Yj] =eebe ;beeXVg\aZ ;bW\aZ &=;;( cXe\bW\V
Xbel fVehUU\aZ %j]^j]kaf_ g^ \YlY [gfl]flk af l] e]egjq dg[Ylagf& Yf\ ge\c_X
ibg\aZ %lj]] hqka[Yddq k]hYjYl]\ Yf\ af\]h]f\]fl e]egjq ZYfck gj hjg[]kkgjk
Yj] ngl]\ Zq Y ljahd] ngl]\ [gfljgdd]j* kg lYl l] lj]] hjg[]kkgjkz \YlY Yf\
afkljm[lagf [gfl]flk [Yf Z] ^dmk]\ lg e]egjq Yf\ j]k]l( Yf\ Ydd lj]] mfalk [Yf
[gflafm] gh]jYlagfk& U..W*

1.5. Hardware Architecture Scheme for Avionic Embedded Systems


1.5.1.

CPU

N] hjg[]kkgjk lYl Yj] [geegfdq mk]\ gf Ynagfa[ ]eZ]\\]\


ea[jg[gehml]jk Yj]( GJ=1110( GJ=4/34 %GJ=4/05&( GJ=4104( GJ=420-(
GJ=4.01 ^jge @j]]k[Yd] Yf\ JJ=00,?Jp ^jge ;G==* ;dd hjg[]kkgjk j]dq gf
Jgo]jJ= Yj[al][lmj] oal ].,,r2( ]/,,( ]1,,( ]2,,( A. Yf\ 00, [gj]k
j]kh][lan]dq*
1.5.2.

Primary Memory

JjaeYjq e]egjq ak ZYk]\ gf >>L. M>L;G l][fgdg_q oal 1-. +-,.0


G< e]egjq kar] oal ]jjgj)[gjj][lagf [g\] %?==&( fgl Zmadl aflg l] e]egjq
Zml jYl]j _]f]jYl]\ Zq l] =JO Yf\ klgj]\ af Yf ]pljY >L;G afl]_jYl]\ [aj[mal
%C=&7 oa[ hjgna\]k ^Ymdl j]\mf\Yf[q af l] \YlY ljYfk^]jk* CfalaYddq l]j] ]paklk fg
\YlY af l] hjaeYjq e]egjq7 Zml Yk l] kqkl]e Zgglk mh ^jge l] fgf)ngdYlad]
^dYk e]egjq( l] Yhhda[Ylagf ak [gha]\ lg l] hjaeYjq e]egjq kg lYl l]
hjg[]kkgj [Yf c]]h gf [geemfa[Ylaf_ oal l] f][]kkYjq \YlY naY hjaeYjq
e]egjq*
1.5.3.

Non-volatile Memory

N] fgf)ngdYlad] e]egjq ak gfdq mk]\ \mjaf_ l] afalaYd kqkl]e Zggl mh


Yf\ lmk ak fgl g^ hjaeYjq aehgjlYf[] ^jge h]j^gjeYf[] hgafl g^ na]o* N]
e]egjq l][fgdg_q ]ehdgq]\ af l] fgf)ngdYlad] e]egjq ak egkl g^l]f g^ HIL
@dYk lqh]*
1.5.4.

Parameter RAM (PRAM)

JYjYe]l]j L;G %JL;G& gd\k []jlYaf ha][]k g^ af^gjeYlagf o]j] al ak


mk]^md ^gj ima[c Y[[]kk km[ Yk nYjaYZd]k+hYjYe]l]jk mk]\ Zq l] =JO Yf\ lmk Yk
Y j]dYlan]dq keYdd]j kar]* Maf[] al ak Y fgf)ngdYlad] e]egjq( al [Yf Z] mk]\ lg klgj]
af^gjeYlagf j]imaj]\ a^ hgo]j lg l] kqkl]e ak dgkl* N] j]Ykgf ^gj fgl klgjaf_ lak
af^gjeYlagf af >L;G ak lYl al ak af\ana\mYd %dac] k]jaYd fmeZ]j( dg__af_ \YlY&
Yf\ lYl al ak fgf)ngdYlad]*
8

Introduction
1.5.5.

Communication Interfaces

Jjg[]kkgj Yk lg [geemfa[Yl] oal k]n]jYd gl]j mfalk afka\] l] ZgYj\ Yf\


gmlka\] al6 e]egjq mfalk( f]logjc( C+I( _jYha[ ZgYj\k ]l[* Nak [geemfa[Ylagf
ak \gf] ljgm_ Zmk]k* GYfq Zmk l][fgdg_a]k Yn] ]e]j_]\ \mjaf_ l] dYkl q]Yjk(
oal \a^^]j]fl aehd]e]flYlagfk ^gj l] nYjagmk Yhhda[Ylagfk f]]\k( Zml l]q Yn]
Z]]f mfYZd] lg eYl[ l] af[j]Yk] af h]j^gjeYf[] af l] =JO Yf\ e]egjq mfalk*
Cf l] dYl]j [Yhl]jk g^ lak l]kak( ^mjl]j \]lYadk YZgml ]Y[ [gehgf]fl
]phdYaf]\ YZgn] oadd Z] _an]f %]p[dm\af_ [geemfa[Ylagf afl]j^Y[]k&*

Figure 1-2: A typical CPU board for avionic applications (Source: SAAB Avitronics)

1.6. Thesis Objectives


Cf gj\]j lg ]nYdmYl] Yf\ n]ja^q \]ka_fk g^ M;;< ;naljgfa[k( al ak g^l]f
j]imaj]\ lg jmf h]j^gjeYf[] l]klk gf l] [gehml]jk Yf\ af lak oYq n]ja^q
\a^^]j]fl ljY\])g^^k Y^^][laf_ [gehml]j h]j^gjeYf[]* N]j] Yk Z]]f l]klaf_
Ydj]Y\q af M;;< ;naljgfa[k( go]n]j km[ l]klk o]j] daeal]\ ^gj Z]af_ gf])
\ae]fkagfYd( a*]* gfdq Y hgjlagf g^ h]j^gjeYf[] af^dm]f[af_ hYjYe]l]jk o]j] l]kl]\
^gj( egkldq l] [Y[] e]egjq %]fYZdaf_ + \akYZdaf_ Yf\ ojal] hgda[q af hYjla[mdYj&*
N] eYaf gZb][lan] g^ lak l]kak ogjc ak lg hjgna\] M;;< ;naljgfa[k Y emdla)
\ae]fkagfYd afka_l j]_Yj\af_ h]j^gjeYf[] ]nYdmYlagf g^ ]eZ]\\]\
ea[jghjg[]kkgjk kg lYl l]q [Yf Yn] Y \]]h cfgod]\_] g^ go h]j^gjeYf[] [Yf
Z] Y^^][l]\ Zq []jlYaf hYjYe]l]jk( lmk l]q [Yf lYc] l]e aflg Y[[gmfl oad]
\]ka_faf_ l]aj ^mlmj] hjgb][lk*
N] eYaf gZb][lan] g^ lak hjgb][l ak lg ]nYdmYl] Yk eYfq hjg[]kkgj ZgYj\k
Yk hgkkaZd] ^jge Y hj])\]l]jeaf]\ k]l g^ hjg[]kkgjk Yf\ k]] go \a^^]j]fl
9

Introduction

h]j^gjeYf[] hYjYe]l]jk [Yf Y^^][l l]aj h]j^gjeYf[] Yf\ lg [gehYj] l]aj


h]j^gjeYf[]k Z]lo]]f ]Y[ gl]j Yk o]dd* ;fgl]j gZb][lan] ak lg k]Yj[
Z]f[eYjck YnYadYZd]k Yf\ g^ ^j]] mk]( l]f hjghgk] l] egkl kmalYZd] ^gj Ynagfa[k
kqkl]ek Yf\ mk] al af l] hj]k]fl ogjc*
;^l]j k]llaf_ mh Y kmalYZd] ]nYdmYlagf hjg[]\mj]( l] ^afYd gZb][lan] ak lg
YmlgeYl] lak hjg[]kk Yf\ eYc] al ]Yka]j ^gj M;;< ;naljgfa[k lg Z] mk]\ ^gj ^mlmj]
hjg[]kkgjk o]f f]]\]\*

1.7. Thesis Scope


Nak l]kak ^g[mk]k gf l] =JO)[Y[] e]egjq)hjaeYjq e]egjq ljaYf_d]
g^ Yf gn]jYdd lqha[Yd Ynagfa[k ]eZ]\\]\ ea[jg[gehml]j( lmk C+I afl]j^Y[]k Yf\
h]j^gjeYf[] g^ km[ afl]j^Y[]k Yj] fgl [gfka\]j]\ af lak l]kak* @mjl]jegj](
fgjeYddq ]eZ]\\]\ j]Yd)lae] gh]jYlaf_ kqkl]e %LNIM& ak dgY\]\ af Y\nYf[] lg
l] Ynagfa[k ZgYj\ lg afalaYdar] Yj\oYj] k]lmh hjagj lg ]p][mlagf g^ Yhhda[Ylagf
hjg_jYe* Bgo]n]j( Yfq LNIM akkm] ak Ydkg f]_d][l]\ af lak l]kak* @afYddq( gfdq
h]j^gjeYf[] Ykh][lk lYl jak] ^jge Yj\oYj] Yj] [gfka\]j]\( lmk Yfq kg^loYj]
akkm] km[ Yk [gehad]j ghlaearYlagf l][faim]k Yj] ]p[dm\]\*

1.8. Thesis Layout


Ij_YfarYlagf g^ l] l]kak ak ^gje]\ mf\]j ^an] eYaf [Yhl]jk( oa[ Yj] Yk
^gddgok6
M][gf\ =Yhl]j Yf\d]k l] f][]kkYjq l]gj]la[Yd ZY[c_jgmf\ hj]k]flaf_
[gf[]hlk Yf\ l]gjq Z]af\ j]Yd( hjY[la[Yd aehd]e]flYlagfk Yf\ Yhhda[Ylagfk*
N]k] [gf[]hlk af[dm\] %Yk af l] n]jq gj\]j hj]k]fl]\ af lak l]kak&
kmh]jhah]daf]\ Yf\ kmh]jk[YdYj ]p][mlagf( ZjYf[ hj]\a[lagf( kh][mdYlagf( e]egjq
a]jYj[q( e]egjq l][fgdg_a]k* Jgo]jJ= kh][a^a[ Yj[al][lmj] aehd]e]flYlagf ak
hj]k]fl]\ Zq l] ]f\ g^ lak [Yhl]j* Cfkl]Y\ g^ _anaf_ Y hmj] l]gj]la[Yd hgafl g^
na]o( o] [gf[]fljYl] gf [gfkljm[laf_ l] dafc Z]lo]]f l]k] [gf[]hlk lg l] j]Yd
ogjd\ Yhhda[Ylagfk kg lYl l] j]Y\]jk [Yf mf\]jklYf\ l] l]kak j]kmdlk Yf\
[gf[dmkagfk em[ egj] ]Ykadq Yf\ [d]Yjdq*
Naj\ =Yhl]j ]phdYafk Z]f[eYjcaf_ [gf[]hlk Ydgf_ oal Y dakl g^ egkl
[geegfdq ^]Ylmj]\ Z]f[eYjc hjg_jYek Yf\ h]j^gjeYf[] ]nYdmYlagf e]lja[k
mk]\ lg ]klaeYl] h]j^gjeYf[] af ]eZ]\\]\ ea[jg[gehml]jk*
@gmjl =Yhl]j hj]k]flk l] e]lg\gdg_q \]n]dgh]\ Yf\ ]p][ml]\ af lak
h]j^gjeYf[] ]nYdmYlagf* ; [dgk]j afka_l aflg ]nYdmYlagf e]lja[k oal l] [gk]f
Z]f[eYjck ak kgof ]j] af egj] \]lYad* Aj]]f Baddk GOFNC Cfl]_jYl]\
>]n]dghe]fl ?fnajgfe]fl %C>?& ak Zja]Y^dq afljg\m[]\ ^gddgo]\ Zq addmkljYlan]
]pYehd]k g^ lqha[Yd [gf^a_mjYlagf k[jahlk Yf\ k]lmh k[jahlk Yf\ go l]q Yj] mk]\*
@a^l =Yhl]j hj]k]flk l] j]kmdlk lYl o] Yn] gZlYaf]\ \mjaf_ l]
]p][mlagf g^ gmj l]klk( af[dm\af_ [gehYjakgfk Z]lo]]f hjg[]kkgjk Yf\
[gf^a_mjYlagfk oalaf ]Y[ hjg[]kkgj alk]d^*
Mapl Yf\ ^afYd =Yhl]j ak YZgml [gf[dmkagfk( [gfljaZmlagfk Yf\ ^mlmj]
ogjc*
N] ^gmj Yhh]f\a[]k Yl l] ]f\ g^ l] l]kak Yj] Y\\]\ af gj\]j lg _an] l]
mk]j Y \]]h]j cfgod]\_] lYf hj]k]fl]\ af l] l]kak kg lYl l] l]kak oYk ^j]]\
^jge mff][]kkYjq \]lYadk lYl [gmd\ eYc] j]Y\af_ [gehd]p* C^ j]Y\]jk ^]]d lYl l]q
10

Introduction

f]]\ egj] af^gjeYlagf YZgml l] lgha[k [gn]j]\ af lak l]kak( l]q [Yf bmeh lg
l]k] Yhh]f\a[]k lg _]l Y \]]h]j afka_l*
;hh]f\ap ; _an]k Y\]lYad]\ [gehYjakgf g^ l] ea[jg)Yj[al][lmj]k g^ l]
log hjg[]kkgjk mk]\ af lak l]kak( l] 00,?Jp Yf\ l] 1110*
;hh]f\ap < _an]k Y \]lYad]\ j]_akl]j dakl g^ JJ=00,?Jp Yf\ J=1110 [gn)
]jaf_ Ydd l] aehgjlYfl hYjYe]l]jk ^jge h]j^gjeYf[] hgafl g^ na]o*
;hh]f\ap = hjgna\]k \]lYad]\ af^gjeYlagf YZgml l] kapl]]f Yd_gjalek
lYl Yj] hj]k]fl af ;mlg<]f[ Z]f[eYjc Yf\ lYl o]j] mk]\ af lak l]kak lg ]nY)
dmYl] h]j^gjeYf[] g^ l]k] log hjg[]kkgjk(
@afYddq( ;hh]f\ap > hjgna\]k j]Y\]jk Y eYfmYd ^gj l] _jYha[Yd mk]j af)
l]j^Y[] %AOC& \]ka_f]\ ^gj l] l]kak ogjc*

11

Embedded Microprocessors and Memories

2.Embedded Microprocessors and


Memories
2.1. Embedded Microprocessors
N] []fljYd hjg[]kkaf_ mfal %=JO& ak l] hqka[Yd ]Yjl Yf\ ZjYaf g^ l]
]flaj] [gehml]j kqkl]e Yf\ ak j]khgfkaZd] ^gj Yf\daf_ Ydd afkljm[lagfk Yf\ \YlY al
j][]an]k ^jge gl]j Yj\oYj] [gehgf]flk af l] [gehml]j ZgYj\ Yf\ kg^loYj]
hjg_jYek jmffaf_ gf l] [gehml]j kqkl]e*
; ea[jghjg[]kkgj [gff][lk lg \]na[]k km[ Yk e]egjq Yf\ C+I naY \YlY
Yf\ Y\\j]kk Zmk]k Yf\ Zgl [Yf Z] j]^]jj]\ lg Yk l] ea[jghjg[]kkgj Zmk* ; /.)Zal
ea[jghjg[]kkgj( [YhYZd] g^ gh]jYlaf_ gf mh lg Y ogj\ g^ 0 Zql]k Yl Y lae]( [Yf
Yn] Y \YlY Zmk lYl ak -.4( 20( /.( -2( gj 4 Zalk oa\]* N] ]pY[l \YlY Zmk oa\l ak
aehd]e]flYlagf kh][a^a[ Yf\ nYja]k Y[[gj\af_ lg l] afl]f\]\ Yhhda[Ylagf g^ l]
ea[jghjg[]kkgj* ; fYjjgo]j Zmk oa\l e]Yfk lYl al oadd lYc] egj] lae] lg [ge)
emfa[Yl] l] kYe] imYflalq g^ \YlY( [gehYj]\ lg Y oa\]j Zmk oa\l U.1W* Cf hjY[)
la[]( l] Zmk [dg[c kh]]\ ak g^l]f kdgo]j lYf l] =JO [dg[c kh]]\( oa[ [j]Yl]k
Y Zglld]f][c*
=JO ak mkmYddq l] egkl ]ph]fkan] [gehgf]fl af l] Yj\oYj]( kg k]d][lagf
g^ l] ja_l [dg[c kh]]\ ak ]kk]flaYd( ^gj Zgl alk [gkl Yf\ l] ]^^][lk ]phdYaf]\ Z])
^gj]* Nmk( o] Yn] lg [gfka\]j Ydd hgkkaZd] ^Y[lgjk Y^^][laf_ l] h]j^gjeYf[] g^
=JO Yf\ l] gn]jYdd kqkl]e*
=JO Ydkg [gflYafk F- [Y[] Yf\ h]jah]jYd Zmk [gfljgdd]jk km[ Yk ;9F(
>_XkITl( JHA gj A.;* Cl eYq gj eYq fgl Yn] Y ^dgYlaf_ hgafl mfal %@JO& ]al]j
Yk Y hYjl g^ alk ]p][mlagf mfalk gj YllY[]\ ]pl]jfYddq Yk Y [ghjg[]kkgj naY YmpadaYjq
hjg[]kkgj afl]j^Y[] %;JO&* Nmk( l]aj ]^^][l gf gn]jYdd h]j^gjeYf[] kgmd\ Ydkg
Z] [gfka\]j]\* Bgo]n]j( af gmj hjgb][l C+I ak [gehd]l]dq gml g^ l] l]kak [gf)
l]flk( lmk o] gfdq [gf[]fljYl] gf >HL*
Oflad fgo( kg^loYj] \]n]dgh]jk mk]\ lg [gmfl gf [dg[c kh]]\ Yk Y oYq g^
]fkmjaf_ j]khgfk] lae]k jYl]j lYf afn]klaf_ lae] af ^af\af_ gl]j h]j^gjeYf[])
]fYf[af_ YhhjgY[]k ^gj ]eZ]\\]\ kg^loYj]7 go]n]j fgoY\Yqk l] l][fgdg_q
Yk klYjl]\ kdgoaf_ \gof( _anaf_ _daehk]k lYl Gggj]k dYo [gmd\ Z] \akgZ]q]\
U.2W Yk gl]j ]eZ]\\]\ kqkl]e [gehgf]flk km[ Yk e]egja]k( [Y[]k( h]jah]jYd
\]na[]k Yf\ Zmk]k Yn] klYjl]\ eYcaf_ ^Ykl]j hjg_j]kk [gehYj]\ lg =JO*
N] =JO [gj] \]n]dghe]fl Yk j][]fldq kdgo]\ \gof Z][Ymk] g^ Y kaehd]
hqka[Yd daeal6 hgo]j* ;k hjg[]kkgjk Yj] hah]daf]\ Yf\ Z][Ye] af[j]Ykaf_dq kmh]jk)
[YdYj gn]j l] hYkl log \][Y\]k( lqha[Yd a_)]f\ ea[jghjg[]kkgj hgo]j Zggkl]\
^jge d]kk lYf Y oYll lg gn]j -,, oYllk*
N] =JO [ah eYfm^Y[lmjaf_ af\mkljq ak [mjj]fldq af l] ea\\d] g^ Y kaea)
dYj eYkkan] ka^l af l] hjg[]kkgj eYfm^Y[lmjaf_ ^a]d\ U.3W* Cfkl]Y\ g^ ljqaf_ lg _]l
egj] kh]]\ gml g^ Y kaf_d] hjg[]kkgj( l] emdla)[gj] Yj[al][lmj] ak Z][geaf_
egj] Yf\ egj] hghmdYj o]j] ^gmj lg ]a_l [gj]k {\ana\] Yf\ [gfim]j| l] dgY\*
Nak oYq( Ydd [gj]k [Yf jmf em[ kdgo]j lYf l]q ogmd\ Ydgf]( Yf\ Zq ogjcaf_
lg_]l]j( l] lglYd !ljgm_hml! g^ l] hjg[]kkgj ak af[j]Yk]\*
N] ^mlmj] g^ emdla)[gj] hjg[]kkgjk kgmd\ Z] YZd] lg \]dan]j flXge\VT_
h_g\cebVXff\aZ gf Y [ah ]*_* o]f gf] [gj] ak hjg[]kkaf_ Y [Yd[mdYlagf( Yfgl]j
ea_l Z] ^]l[af_ \YlY ^jge e]egjq gj k]f\af_ afkljm[lagfk lg l] e]egjq U.3W*
12

Embedded Microprocessors and Memories

=Y[] e]egjq Yf\ Zmk Yj[al][lmj] Ydgf_ oal =JO \YlYhYl ak l] eYbgj
^g[mk g^ gmj l]kak*

2.2. Clock Speed


?n]jq [gehml]j [gflYafk Yf afl]jfYd [dg[c lYl j]_mdYl]k l] jYl] Yl oa[
afkljm[lagfk Yj] ]p][ml]\ Yf\ kqf[jgfar]k nYjagmk [gehgf]flk g^ ]eZ]\\]\
[gehml]jk* Cl lYc]k \a^^]j]fl fmeZ]j g^ [dg[c [q[d]k ^gj l] =JO lg ]p][ml] ]Y[
afkljm[lagf \]h]f\af_ gf l] hjg[]kkgjzk afkljm[lagf)k]l Yj[al][lmj] %CM;&*
N] ^Ykl]j l] [dg[c kh]]\( l] egj] afkljm[lagfk l] =JO [Yf ]p][ml] h]j
k][gf\ lmk l] egj] h]j^gjeYf[] al Yk( go]n]j \a_alYd [aj[mal mf\]jf]Yl Yk
lg eYc] ljYfkalagf ^jge , lg - %gj na[] n]jkY& Yl Y ^Ykl]j jYl]( af[j]Ykaf_ l] hgo]j
[gfkmehlagf g^ l] [ah Yf\ lmk ]Yl hjg\m[]\ af l] [ah %egkldq afka\] l]
\janaf_ ljYfkaklgjk&*
N] [dg[c jYl] g^ Y =JO ak fgjeYddq \]l]jeaf]\ Zq l] ^j]im]f[q g^ Yf gk)
[addYlgj [jqklYd* C^ a_ h]j^gjeYf[] ak \]kaj]\ af l] Yhhda[Ylagf( afkl]Y\ g^ j]\m[)
af_ l] [dg[c kh]]\ af gj\]j lg kYn] hgo]j( Y hYk])dg[c]\ dggh %JFF& [dg[c [gf)
ljgd [aj[mal [Yf Z] aehd]e]fl]\ afka\] =JO [ah* N] JFF Yddgok l] hjg[]kkgj lg
gh]jYl] Yl a_ afl]jfYd [dg[c ^j]im]f[q \]jan]\ ^jge Y dgo)^j]im]f[q [dg[c afhml7
j]\m[af_ l] ]d][ljgeY_f]la[ afl]j^]j]f[] %?GC& _]f]jYl]\ Zq l] kqkl]e Yf\
Ydkg ]daeafYl]k l] f]]\ lg Y\\ Y\\alagfYd gk[addYlgjk lg Y kqkl]e*
;k kqkl]e [dg[c ^j]im]f[a]k Yj] af[j]Ykaf_ jYha\dq( eYaflYafaf_ [gfljgd gn]j
[dg[c Z][ge]k egj] Yf\ egj] [Ydd]f_af_* Cf Y\\alagf lg _]f]jYlaf_ l] nYjagmk
[dg[ck ^gj l] =JO( l] [dg[c _]f]jYlgj emkl Ydkg hjgna\] [dg[ck ^gj l] h]jah]jYd
afl]j^Y[]k km[ Yk J=C( =;H( MJC gj C.= Yf\ ]n]f >G; [gfljgdd]jk*
JFF ZYk]\ [dg[c _]f]jYlgjk hjgna\] Y [gkl ]^^][lan] kgdmlagf ^gj _]f]jYlaf_
nYjagmk ^j]im]f[a]k lYl Yj] j]imaj]\ af lg\Yq$k kqkl]e Yf\ e]]laf_ l] \]eYf\
^gj la_l]j kh][a^a[Ylagfk g^ aehgjlYfl hYjYe]l]jk dac] kc]o Yf\ ball]j U.4W* N]q(
go]n]j( Yj] af]j]fldq fgak] k]fkalan] Yf\ eYq j]imaj] ]ph]fkan]( a_)imYdalq
]pl]jfYd [gehgf]flk lg aehd]e]fl Y _bbc)Y\_gXe af l] JFF U.5W*
MmZjYeYfaYf ]l*Yd kgo]\ lYl al ak hgkkaZd] lg Y[a]n] a_]j h]j^gjeYf[]
af kmh]jk[YdYj hjg[]kkgjk Zq \qfYea[Yddq nYjqaf_ l] gh]jYlaf_ ^j]im]f[q \mjaf_
jmf lae] hYkl ogjkl [Yk] daealk U/,W* N]aj ]ph]jae]flYd j]kmdlk kgo lYl Yf Yn]j)
Y_] h]j^gjeYf[] _Yaf mh lg 13" Y[jgkk Ydd Z]f[eYjc Yhhda[Ylagfk ak Y[a]nYZd]
Zq \qfYea[ [dg[c ^j]im]f[q lmfaf_*
=dg[c kh]]\ ak gfdq gf] e]Ykmj] g^ [gehml]j hgo]j( Zml al ak fgl YdoYqk
\aj][ldq hjghgjlagfYd lg l] h]j^gjeYf[] d]n]d* =dg[c kh]]\k Yj]f$l Y _gg\ e]Ykmj]
g^ [gehmlaf_ hgo]j Z][Ymk] l]j] Yj] eYfq gl]j ^Y[lgjk lg [gfka\]j o]f [ge)
hYjaf_ l] h]j^gjeYf[] g^ [gehml]jk( km[ Yk Zmk kh]]\( [dg[c jYl] g^ L;G(
e]egjq a]jYj[q( [Y[] Ykkg[aYlanalq( j]hdY[]e]fl hgda[q( ojal] hgda[q Yf\ Yddg[Y)
lagf hgda[q( e]egjq \YlY)oa\l( hjaeYjq e]egjq l][fgdg_q Yf\ kar]( hj]k]f[] g^
Y ^dgYlaf_ hgafl mfal Yf\ kg gf* N] lqh] g^ ea[jghjg[]kkgj( l] Zmk Yj[al][lmj](
Yf\ l] fYlmj] g^ l] afkljm[lagf k]l Ydd eYc] Y \a^^]j]f[]* Cf kge] Yhhda[Ylagfk(
l] Yegmfl g^ jYf\ge Y[[]kk e]egjq %L;G& ak aehgjlYfl( lgg U/-W*
@mjl]jegj]( \]h]f\af_ gf l] Yhhda[Ylagf( [dg[c kh]]\ eYq fgl Y^^][l
gn]jYdd kqkl]e h]j^gjeYf[] \m] lg daealYlagfk af Yj\oYj]* ?n]f a^ o] Yn] Y
a_]j [dg[c kh]]\( o] [gmd\ kladd Yn] hggj]j h]j^gjeYf[] a^ Zmk]k Yj] kdgo]j gj
e]egjq Y[[]kk lae] ak ]plj]e]dq a_ ]l[*
13

Embedded Microprocessors and Memories

;fgl]j ^Y[lgj ak l] [dg[c \ja^lk af l] kqkl]e* ;k [dg[c kh]]\ af[j]Yk]k


[gehYj]\ lg h]jah]jYd \]na[]k Yf\ gl]j ]pl]jfYd [gehgf]flk( kqf[jgfarYlagf
Z][ge]k Y [Ydd]f_] af l] kqkl]e*
N] afl]jfYd Yj[al][lmj] g^ Y =JO Yk Yk em[ lg \g oal Y =JO$k h]j)
^gjeYf[] Yk l] [dg[c kh]]\( kg log =JOk oal l] kYe] [dg[c kh]]\ oadd fgl f][)
]kkYjadq h]j^gje ]imYddq U/.W* If l] gl]j Yf\( ]p[]kkan] [dg[c kh]]\ [Yf Z] \])
ljae]flYd lg l] gh]jYlagf g^ Y [gehml]j* ;k l] [dg[c kh]]\ af Y [gehml]j jak]k
oalgml mh_jY\]k af Yfq g^ l] gl]j [gehgf]flk( Y hgafl oadd Z] j]Y[]\ Z]qgf\
oa[ Y ^mjl]j af[j]Yk] af ^j]im]f[q oadd j]f\]j l] hjg[]kkgj mfklYZd] U/-W*
;k Y j]kmdl g^ Ydd l] ^Y[lgjk ]phdYaf]\( [dg[c jYl]k kgmd\ fgl Z] mk]\ Ydgf]
o]f [gehYjaf_ \a^^]j]fl [gehml]jk gj \a^^]j]fl hjg[]kkgj ^Yeada]k* <]f[eYjc
kg^loYj] Z]f[eYjc kgmd\ Z] mk]\ afkl]Y\ kaf[] [dg[c jYl]k [Yf Z] n]jq eakd]Y\)
af_ Z][Ymk] g^ l] nYjaYlagf g^ Yegmfl g^ ogjc \a^^]j]fl hjg[]kkgj [ahk [Yf \g af
gf] [q[d]*
GYaf ^Y[lgjk j]_Yj\af_ h]j^gjeYf[] af Y\\alagf lg l] [dg[c kh]]\ Yj] ]p)
hdYaf]\ ^mjl]j af dYl]j [Yhl]jk g^ lak l]kak*

2.3. Micro-architecture
2.3.1.

Super-pipeline vs. Superscalar

N] hgl]flaYd hYjYdd]dake Yegf_ afkljm[lagfk ak j]^]jj]\ lg Yk Cfkljm[lagf)


F]n]d JYjYdd]dake %CFJ& Yf\ af gj\]j lg af[j]Yk] l] h]j^gjeYf[] g^ l] =JO( o]
Yn] lg ^af\ oYqk lg af[j]Yk] l] CFJ af l] hjg[]kkgj ea[jg)Yj[al][lmj]* N]j]
]paklk Y oa\] jYf_] g^ l][faim]k ^gj ]pl]f\af_ ZYka[ hah]dafaf_ [gf[]hlk Zq af)
[j]Ykaf_ CFJ oal log _]f]jYd Yj\oYj] YhhjgY[]k lg ]phdgal hgl]flaYd CFJ af Yf
]eZ]\\]\ [gehml]j6 Mmh]j)hah]dafaf_ Yf\ Gmdlahd] Ckkm]*
Mmh]j)hah]dafaf_ ak Y[a]n]\ Zq af[j]Ykaf_ l] \]hl g^ l] hah]daf] lg
gn]jdYh egj] afkljm[lagfk* Bgo]n]j( af gj\]j lg _]l ^mdd kh]]\)mh( l] Y\\]\ ]pljY
hah]daf] klY_]k kgmd\ Z] ZYdYf[]\ kg lYl l]q Yj] g^ kYe] d]f_l U/.W* Cf kmh]j)
hah]dafaf_( \m] lg fYlmj] g^ hah]dafaf_ ]Y[ klY_] gh]jYl]k Yl Y emdlahd] g^ ZYk]
[dg[c ^j]im]f[q* ;k Y j]kmdl( af Yf f)\]_j]] kmh]j)hah]daf]\ hjg[]kkgj [gehYj]\ lg
l] ZYk] kaehd])k[YdYj hjg[]kkgj( l] f]o [q[d] lae] ak -+f lae]k lYl g^ l] kaehd])
k[YdYj Yf\ gh]jYlagf dYl]f[q Z][ge]k f eafgj [q[d]k7 Zml - eYbgj [q[d] afkl]Y\ g^
f eYbgj [q[d]k* N] akkm] dYl]f[q( gf l] gl]j Yf\ Z][ge]k -+f [dg[c [q[d]k af)
kl]Y\ g^ -U/0W* N] kh]]\mh Y[a]n]\ mkaf_ f)\]_j]] kmh]j)hah]dafaf_ oal H
fmeZ]j g^ afkljm[lagfk Yf\ c fmeZ]j g^ hah]daf] klY_]k ak U//W6
(1, ) =

(1,1)
=
(1, )

1
=
1

( +
+

1)
1

B]j]( N j]^]jk lg l] lglYd ]p][mlagf lae] g^ ]Y[ [gf^a_mjYlagf( o]j]Yk M


ak l] kh]]\mh Y[a]n]\ oal lYl [gf^a_mjYlagf* N] ^ajkl l]je af hYj]fl]kak
kgok l] \]_j]] g^ kmh]jk[YdYj ]p][mlagf %go eYfq afkljm[lagfk [Yf Z] ]p][ml]\
af hYjYdd]d& Yf\ l] k][gf\ l]je kgok l] \]_j]] g^ kmh]j)hah]dafaf_ %fmeZ]j g^
]pljY klY_]k Y\\]\&* Nmk( N %-( -& j]^]jk lg l] ]p][mlagf lae] g^ ZYk] kaehd])
14

Embedded Microprocessors and Memories

k[YdYj hjg[]kkgj oad] N %-( f& ak l] ]p][mlagf lae] g^ kmh]j)hah]daf]\ hjg[]kkgj


oal \]_j]] f Yf\ c klY_]k %Zml gfdq kaf_d] akkm]& Yf\ N %e( -& ak l] ]p][mlagf
lae] g^ kmh]jk[YdYj [gf^a_mjYlagf oal \]_j]] e*
IZnagmkdq Yk F( Ja* Mmh]j)hah]dafaf_ km^^]jk ^jge eYfq Ykh][lk(
lgm_* @ajkl g^ Ydd( al ak daeal]\ Zq kh]]\ g^ dg_a[ Yf\ ^j]im]f[q g^ mfhj]\a[lYZd]
ZjYf[]k* Cf Y\\alagf lg lak( klY_] lae] [Yffgl hjg\m[lan]dq _jgo kgjl]j lYf
afl]j)klY_] dYl[ lae]7 lmk l]j] ak Y daeal ^gj fmeZ]j g^ klY_]k U/1W* ;fgl]j
hgafl ak lYl l] dgf_]j hah]daf] j]kmdlk af a_]j h]fYdlq ^gj klYddk Yf\ ^dmk]k*
Gmdlahd] Ckkm] hjgna\]k emdlahd] hah]daf]k gh]jYlaf_ [gf[mjj]fldq af l]
\YlYhYl kg lYl emdlahd] afkljm[lagfk [Yf Z] dYmf[]\ af ]Y[ hah]daf] klY_]* Gmd)
lahd] akkm] eY[af]k Yj] \ana\]\ aflg log [Yl]_gja]k6 MlYla[ emdlahd] akkm] gj
PFCQ %P]jq Fgf_ Cfkljm[lagf Qa\l& mk]k [gehad]j lg Ykkakl oal afkljm[lagf
akkm] Yf\ Yf\daf_ YrYj\k %dggh mfjgddaf_( afkljm[lagf j]gj\]jaf_ ]l[*& o]j]Yk
\qfYea[ emdlahd] akkm] gj kmh]j)k[YdYj Yj[al][lmj] mladar]k \a^^]j]fl afkljm[lagf
akkm] hgda[a]k Yf\ emdla)hah]daf] k[]\mdaf_ l][faim]k U/2W*
N] kh]]\mh Y[a]n]\ mkaf_ Yf e)\]_j]] %gj e)akkm]& kmh]jk[YdYj Yj[a)
l][lmj] oal H fmeZ]j g^ afkljm[lagfk Yf\ c fmeZ]j g^ hah]daf] klY_]k ak U//W6
( , 1) =

(1,1)
=
( , 1)

( + 1)
+ ( 1)

B]j]( Yk ( J* Cf gj\]j lg Y[a]n] a_]j h]j^gjeYf[]( l] log Yj)


[al][lmj]k [Yf Z] [geZaf]\( ^gjeaf_ Y kmh]jk[YdYj kmh]j)hah]daf]* Cf [geegf
mkY_]( af\]]\( o]f o] lYdc YZgml Y kmh]jk[YdYj hjg[]kkgj( o] _]f]jYddq Ydkg af)
[dm\] kmh]j)hah]dafaf_( a*]* egkl kmh]jk[YdYj hjg[]kkgjk Ydkg af[dm\] kmh]j)
hah]dafaf_( ^gjeaf_ Y {kmh]j)hah]daf]\ kmh]jk[YdYj| hjg[]kkgj gj kaehdq kmh]jk[YdYj
hjg[]kkgj*
CFJ [Yf ^mjl]j Z] af[j]Yk]\ Zq mkaf_ Y [geZafYlagf g^ nYjagmk l][faim]k
km[ Yk dggc)Y]Y\ ]p][mlagf( j]_akl]j j]fYeaf_( ZjYf[ hj]\a[lagf( gml)g^)
gj\]j ]p][mlagf %III?& gj kh][mdYlagf* N]k] [gf[]hlk Yj] Zja]^dq ]phdYaf]\
af l] ^gddgoaf_ k][lagfk*
2.3.2.

Look-ahead Execution

Mmh]jk[YdYj hjg[]kkgjk [Yf dggc)Y]Y\ af afkljm[lagf klj]Ye lg a\]fla^q \])


h]f\]f[a]k %oa[ afkljm[lagfk [Yf Z] akkm]\ af hYjYdd]d& Yf\ oa[ afkljm[lagfk
Yj] j]Y\q lg ]p][ml]( mkaf_ Yf afkljm[lagf)dggc)Y]Y\)oaf\go %CFQ&* N] k]l g^
afkljm[lagfk [gfka\]j]\ af Y []jlYaf ege]fl ^gjek l] oaf\go g^ ]p][mlagf
%QI?& oa[ hjgna\]k Y ^mdd k]l g^ afkljm[lagfk lYl eYq Z] kaemdlYf]gmkdq [gf)
ka\]j]\ ^gj hYjYdd]d ]p][mlagf* If[] afkljm[lagfk Yn] Z]]f afalaYl]\ aflg lak oaf)
\go g^ ]p][mlagf( l]q Yj] ^j]] lg ]p][ml] af hYjYdd]d( kmZb][l gfdq lg \YlY \]h]f)
\]f[] [gfkljYaflk U/3W*
Cf gj\]j lg Y[a]n] a_]j h]j^gjeYf[]( l] log Yj[al][lmj]k [Yf Z] [ge)
Zaf]\( ^gjeaf_ Y kmh]jk[YdYj kmh]j)hah]daf]* N] kh]]\mh g^ km[ Yj[al][lmj] ak
emdlahda[Ylagf g^ l] af\ana\mYd kh]]\mhk g^ l] log Yj[al][lmj]k*
15

Embedded Microprocessors and Memories


2.3.3.

Out-of-Order-Execution (OOOE)

Mmh]j)hah]daf]\ kmh]jk[YdYj hjg[]kkgjk ]ehdgq gml)g^)gj\]j ]p][mlagf


%III?& \m] lg l] ^Y[l lYl af)gj\]j akkm] hah]daf]k klgh a^ \][g\af_ \]l][lk Y
[gf^da[l* Cl j]^]jk lg l] ]p][mlagf g^ afkljm[lagfk ZYk]\ gf {\YlY ^dgo| jYl]j lYf
l] Y[lmYd hjg_jYe gj\]j* >gaf_ kg( afkl]Y\ g^ klYddaf_( =JO [Yf ^mjl]j dggc)
Y]Y\ Yf\ ogjc gf k][lagfk g^ [g\] lYl \g fgl Yn] \]h]f\]f[a]k U/4W* Nak ak
\gf] oal l] ]dh g^ CFQ* Q]f =JO ^afak]k \][g\af_ Yf afkljm[lagf( al hdY[]k
al af CFQ* ;k dgf_ Yk l] oaf\go ak fgl ^mdd( l] =JO [Yf [gflafm] lg ^]l[ Yf\
\][g\] f]o afkljm[lagfk*
N] egkl hghmdYj III? Yd_gjale ak NgeYkmdgzk ;d_gjale( oa[ oYk
aehd]e]fl]\ gja_afYddq ^gj l] ^dgYlaf_)hgafl mfal %@JO& g^ C<G /2,+5- af -523
Yf\ Yk Z]]f Yf\ kladd Z]af_ oa\]dq mk]\ Zq C<G Jgo]jJ= Ydlgm_ al Yk Z]]f
gn]j 0, q]Yjk kaf[] alk afljg\m[lagf*
Cf NgeYkmdgzk ;d_gjale( ]p][mlagf Z]_afk oal l] afkljm[lagf ^]l[*
H]pl( af l] \][g\af_ klY_]( ^]l[af_ [Yf [gflafm] Yk dgf_ Yk l] gh]jYf\k Yj]
YnYadYZd]* N]k] ^ajkl log kl]hk Yj] ]pY[ldq kaeadYj Yk af Yk af l] j]_mdYj af)gj\]j
hjg[]kkgj* ;^l]j \][g\af_( afkljm[lagfk Yf\ l] gh]jYf\k Yj] hYkk]\ lg l]ehgjYjq
Zm^^]jk [Ydd]\ j]k]jnYlagf klYlagfk %LM&* Nak klY_] ak [Ydd]\ akkm]*
LMk Yj] l] []fljYd \YlY kljm[lmj] g^ l] NgeYkmdg k[]\mdaf_ Yd_gjale
Yf\ l]q Y[l Yk Y im]m] ^gj l] afkljm[lagfk Yf\ Yj] Z]lo]]f l] \][g\]+akkm] klY_]
Yf\ l] ^mf[lagfYd mfalk Yf\ hjgna\] l]ehgjYjq Zm^^]jaf_ Z]^gj] ]p][mlagf* N]q
klgj] kh][a^a[ afkljm[lagf hYjYe]l]jk km[ Yk oYl j]_akl]jk al j]Y\k Yf\ o]l]j
l]q Yj] YnYadYZd]( oYl l] \]klafYlagf j]_akl]j ak Yf\ oYl klYl] l] afkljm[lagf ak
af %oYalaf_ gj ]p][mlaf_&* <]^gj] afkljm[lagfk klYjl ]p][mlagf af l] ^mf[lagfYd
mfalk %@Ok&( l]q Yj] klgj]\ af j]k]jnYlagf klYlagfk Yf\ oYal mflad Ydd g^ l] gh])
jYf\k lg Z] j]Y\q*
L]k]jnYlagf klYlagfk Yj] j]khgfkaZd] ^jge gd\af_ kgmj[] j]_akl]jk Yf\ \]k)
lafYlagf j]_akl]jk %Yf\ o]l]j l]q Yj] YnYadYZd]&( gh]jYlagf j]kmdlk Yf\ klYl] g^
afkljm[lagfk %oYalaf_ gj ]p][mlaf_& U/5W* N]q [Yf Z] VXageT_\mXW %af lak [Yk] l]q
Yj] [Ydd]\ \akhYl[ Zm^^]jk& gj WXVXageT_\mXW* Q]f j]kmdlk Yj] [gehml]\ l]q Yj]
k]fl lg hYjla[mdYj LM oYalaf_ ^gj l]k] kh][a^a[ j]kmdlk( Yf\ l]q Yj] Zm^^]j]\ mflad al
ak kY^] lg hml l] j]kmdl aflg j]_akl]j gj e]egjq*
Cfkljm[lagfk Yj] hYkk]\ lg LMk ]n]f a^ YrYj\k [Yffgl Z] hj]n]fl]\ af Y\)
nYf[]( oa[ ak af [gfljYkl lg l] af)gj\]j eY[af]( oa[ klYddk af lak [Yk]* ;k
kggf Yk Ydd gh]jYf\k Yj] YnYadYZd]( l] afkljm[lagf ak hYkk]\ ^jge LM lg l] @O*
Nak ak [Ydd]\ \akhYl[ Yf\ ak \gf] oalgml gZ]qaf_ l] hjg_jYe gj\]j g^ l] af)
kljm[lagfk U0,( 0-W*
;^l]j l] @O Yk ^afak]\ l] ]p][mlagf( LMk [Yf _]l \YlY Yk kggf Yk al ak
YnYadYZd]( oalgml oYalaf_ ^gj l] \YlY lg Z] ojall]f ZY[c lg e]egjq gj j]_akl]jk(
naY Y kh][aYd Zmk [Ydd]\ l] [geegf \YlY Zmk %=><&( Yk dgf_ Yk l] j]kmdl ak
YnYadYZd]* Nak ak [Ydd]\ [gehd]lagf* ; kaehd] [aj[mdYj @C@I Zm^^]j [Ydd]\ l]
j]gj\]j Zm^^]j %LI<& c]]hk l] gja_afYd hjg_jYe gj\]j g^ l] afkljm[lagfk Y^l]j
afkljm[lagf akkm]*
>YlY \]h]f\]f[a]k [Yf kladd g[[mj af III?* N] kgdmlagf lg lak ak lg mk]
j]_akl]j j]fYeaf_( oa[ ak l] hjg[]kk g^ Yddg[Ylaf_ j]_akl]jk \qfYea[Yddq Zq
Yj\oYj]( Yf\ Ykkg[aYl] l]e oal nYdm]k f]]\]\ Zq afkljm[lagfk Yl nYjagmk hgaflk
16

Embedded Microprocessors and Memories

af lae]* ; hggd g^ Yj[al][lmjYd j]_akl]jk ak ]d\ Yf\ l]q Yj] eYhh]\ lg hqka[Yd
j]_akl]jk*

Figure 2-1: General Structure of OOOE mechanism with ROB [39]

?n]f lgm_ III? ]dhk ]phdgalaf_ g^ CFJ Yf\ [gn]jaf_ dYl]f[a]k km[ Yk
[Y[] eakk Yf\ Yj\oYj] lg mk] egj] lYf l] fmeZ]j Yj[al][lmjYd j]_akl]jk( al
Yk \jYoZY[ck g^ alk gof km[ Yk j]imajaf_ [gehd]p ea[jg)Yj[al][lmj] Yf\ k[])
\md]j Yf\ ]pljY Yj\oYj] \m] lg f]]\ g^ LMk Yf\ LI< Yl l] ]f\ g^ l] ]p][mlagf*
Nak ]pljY Yj\oYj] [gkl af hYjla[mdYj( ak fgl]ogjlq ]kh][aYddq af Ynagfa[k Yhhda[Y)
lagfk( Z][Ymk] al j]kmdlk af a_]j hgo]j [gfkmehlagf( oa[ [Yf Z] ^YlYd o]f
kY^]lq)[jala[Yd Ynagfa[ kqkl]e Yj\oYj] %^dYhk gj o]]dk& f]]\k lg ^]\ oal hgo]j
\mjaf_ l]ehgjYjq hgo]j kgjlY_] gj h]jeYf]fl ^Yadmj]* Cl Ydkg j]kmdlk af [gehd]p
Yj\oYj] Yj[al][lmj]* Maf[] afkljm[lagfk j]laj] af)gj\]j( III? oal LI<
\g]kfl [gfljY\a[l oal \]l]jeafake gj hj]\a[lYZadalq akkm]k( Yk af)gj\]j)
hjg[]kkgjk*
;fgl]j \jYoZY[c oal III? ak lYl a_)h]j^gjeYf[] hjg[]kkgjk lYl
]ehdgq III? kh]f\ Y ka_fa^a[Yfl hgjlagf g^ l]aj ]p][mlagf lae] gf l] af[gj)
j][l hjg_jYe hYl ]n]f lgm_ l]q ]ehdgq Ydkg [gehd]p ZjYf[ hj]\a[lagf Yd_g)
jalek U0.W* ?n]f lgm_ e]egjq j]^]j]f[]k _]f]jYl]\ gf l] ojgf_ hYl \g fgl
[Yf_] l] Yj[al][lmjYd klYl] g^ l] hjg[]kkgj( l]q Y^^][l l] YjjYf_]e]fl g^ \YlY
af l] e]egjq a]jYj[q* Gmldm ]l*Yd U0.W kgo]\ lYl l]k] j]^]j]f[]k ka_fa^a)
[Yfldq Y^^][l l] CJ= %Cfkljm[lagfk h]j =q[d]& h]j^gjeYf[] g^ Y hjg[]kkgj Yf\ lYl
l] ]jjgj af l] CJ= af[j]Yk]k oal af[j]Ykaf_ e]egjq dYl]f[q Yf\ afkljm[lagf
dggc)Y]Y\ oaf\go kar] Yf\ lYl F. [Y[] hgddmlagf ak ^gmf\ lg Z] l] egkl ka_)
fa^a[Yfl f]_Ylan] ]^^][l gf l]k] ojgf_)hYl j]^]j]f[]k*

Figure 2-2: Centralized (a) vs. Decentralized (b) Reservation Stations [40]
17

Embedded Microprocessors and Memories


2.3.4.

Speculation

?phdgalaf_ egj] CFJ j]imaj]k gn]j[geaf_ daealYlagf g^ [gfljgd \]h]f\Yfl


YrYj\k* Qal ZjYf[ hj]\a[lagf( =JO ak Yddgo]\ lg [gflafm] akkmaf_ afkljm[lagfk
hYkl Y ZjYf[ ZYk]\ gf Y hj]\a[lagf Yf\ l]k] ^]l[]\ afkljm[lagfk \g fgl Y^^][l
=JO kaf[] l]q _]l fdhTf[XW gf eakhj]\a[lagf* Mh][mdYlagf j]^]jk lg ]p][mlaf_
[gfljgd \]h]f\]fl afkljm[lagfk ]n]f a^ o] Yj] fgl kmj] a^ l]q kgmd\ Z] ]p][ml]\
U0/W* N] =JO _m]kk]k YZgml gml[ge] g^ afkljm[lagf Yf\ ZYk]\ gf lYl klYjl ]p)
][mlaf_ al* C^ _m]kk ak af[gjj][l( ]p][mlagf ak kaehdq YZgjl]\* Nmk( afkl]Y\ g^ bmkl
afkljm[lagf ^]l[ Yf\ \][g\]( o] Ydkg ]p][ml] afkljm[lagfk ZYk]\ gf l] hj]\a[lagf
g^ ZjYf[ gml)g^)gj\]j Yk kggf Yk l]aj gh]jYf\k Yj] YnYadYZd]* Mh][mdYlan] ]p][m)
lagf ak afl]_jYl]\ Ydgf_ oal III? Yf\ ZjYf[ hj]\a[lagf lg Y[a]n] a_]j CFJ
Yf\ Ynga\ YrYj\k af l] hah]daf]*
Mh][mdYl]\ afkljm[lagfk ]p][ml] Yf\ _]f]jYl] j]kmdlk7 Zml Y im]klagf jak]k
o]l]j l]q kgmd\ l]q Z] Yddgo]\ lg Z] ojal] ZY[c l]aj j]kmdlk U00W* N] kgdm)
lagf ak lYl kh][mdYl]\ afkljm[lagfk Yj] fgl Yddgo]\ lg h]j^gje j]_akl]j +e]egjq
mh\Yl]k* N]q Yj] gfdq Yddgo]\ lg h]j^gje ojal])ZY[c o]f l]q Z][ge] fgf)
kh][mdYlan]* N] dYll]j ak [Ydd]\ afkljm[lagf [geeal* ;fgl]j im]klagf jak]k( go)
]n]j( j]_Yj\af_ o]j] afkljm[lagfk Yf\ l]aj j]kmdlk Yj] klgj]\ Z]lo]]f ]p][mlagf
[gehd]lagf Yf\ afkljm[lagf [geeal kaf[] afkljm[lagfk eYq ^afak ]p][mlagf Z]^gj]
[geeallaf_* N] Yfko]j ak Ydj]Y\q _an]f Zq l] III? e][Yfake a*]* l] j]gj\)
]j Zm^^]j %LI<& gd\k j]kmdlk g^ km[ afkljm[lagfk( j])gj\]jk afkljm[lagfk Y^l]j
]p][mlagf Yf\ [geeal)af)gj\]j* Cl Ydkg hjgna\]k e]Yfk lg jgdd ZY[c l] nYdm]k g^
Zgl j]_akl]jk Yf\ l] e]egjq lg l]aj [gjj][l nYdm]k mhgf Y eakhj]\a[lagf( Yf\
Ydkg lg [geemfa[Yl] kh][mdYlan]dq [Yd[mdYl]\ nYdm]k lg l] f]o mk]k g^ lgk] nYdm]k
U01W*
;^l]j afkljm[lagfk [gehd]l] ]p][mlagf Yf\ [geeal( l]q Yj] j]laj]\ kg lYl
l] j]kgmj[]k l]q mk] af l] hah]daf] [Yf Z] ^mjl]j Yddg[Yl]\ lg gl]j afkljm[lagfk
oYalaf_ ^gj ]p][mlagf af \][g\af_ klY_]*
Mh][mdYlan] ]p][mlagf [geZaf]k lj]] eYaf [gf[]hlk6 WlaT\V UeTaV[ ceX)
W\Vg\ba lg [ggk] oa[ afkljm[lagf lg ]p][ml]( fcXVh_Tg\ba lg Yddgo [gflafmYlagf g^
]p][mlagf Z]^gj] j]kgdnaf_ [gfljgd \]h]f\]f[a]k Yf\ [YhYZadalq g^ mf\gaf_ ]^^][lk
g^ eakhj]\a[lagf Yf\ WlaT\V fV[XWh_\aZ lg \]Yd oal k[]\mdaf_ g^ \a^^]j]fl [ge)
ZafYlagf g^ afkljm[lagfk*
Mh][mdYlagf Yk hjgZd]ek g^ alk gof( lgm_* Cf emdlahd])akkm] eY[af]k(
o] emkl Z] YZd] lg [geeal emdlahd] afkljm[lagfk ^jge LI< Yf\ f]]\ egj] j]_ak)
l]jk( lmk egj] j]fYeaf_7 lmk j]kmdlaf_ af af[j]Yk]\ Yj\oYj] [gehd]palq Yf\
[gkl* Q] Ydkg Yn] lg cfgo go em[ kh][mdYlagf o] Yn] lg eYc] %go eYfq
ZjYf[]k \]]h lg kh][mdYl]( oYl lg \g gf Y [Y[]+NF< eakk gj [Y[] afl]j^]j]f[]
\m] lg af[gjj][l ZjYf[ hj]\a[lagf&*
NjY\alagfYd j]_akl]j ^ad] eYfY_]e]fl e][Yfakek af kmh]jk[YdYj hjg[]kkgjk
\])Yddg[Yl] Y hqka[Yd j]_akl]j gfdq o]f l] f]pl afkljm[lagf oal l] kYe] \]kla)
fYlagf Yj[al][lmjYd j]_akl]j [geealk* ?j_af ]l*Yd* hjghgk]\ log [gehd]e]flYjq
l][faim]k ^gj \])Yddg[Ylaf_ l] j]_akl]j aee]\aYl]dq Y^l]j l] afkljm[lagf hjg\m[)
af_ l] j]_akl]jzk nYdm] [geealk alk]d^( oalgml oYalaf_ ^gj l] [geeale]fl g^ l]
f]pl afkljm[lagf oal l] kYe] \]klafYlagf U02W* N]aj hjghgk]\ l][faim]k gml)
h]j^gje]\ l] ljY\alagfYd j]_akl]j Yddg[Ylagf k[]e]k*
18

Embedded Microprocessors and Memories


2.3.5.

Branch Prediction

?n]f a^ =JO kgdn]k \YlY YrYj\k( [gfljgd YrYj\k [Yf kladd ]pakl af l] hah])
daf]* ; lqha[Yd kgdmlagf( Yk af l] [Yk] g^ \YlY YrYj\k( [Yf Z] lg afk]jl ZmZZd]k lg
l] hah]daf]k Yf\ klYdd [gf^da[laf_ afkljm[lagfk Zq l] [gfljgd dg_a[ lg kaehdq afk]jl
HIJk aflg l] hah]daf] Yf\ klYdd l] ]p][mlagf g^ afkljm[lagfk U03W* C^ l] fmeZ]j
g^ klYdd [q[d]k ak ]imYd lg l] fmeZ]j g^ hah]daf] klY_]k( l]f l] gh]jYlagf g^
hmllaf_ ZmZZd]k Ydgf_ l] ogd] hah]daf] ak [Ydd]\ Y_hf[\aZ l] hah]daf]* Nak( go)
]n]j( af[j]Yk]k l] dYl]f[q g^ l] afkljm[lagf Yf\ \]_jY\]k h]j^gjeYf[]*
Ng Ynga\ km[ [gf\alagfk( Y e][Yfake [Ydd]\ ZjYf[ hj]\a[lagf ak mk]\*
;k [Yf Z] mf\]jklgg\ ^jge alk fYe]( lak k[]e] ZYka[Yddq j]^]jk lg Ykkmeaf_ Yf
gml[ge] g^ Y ZjYf[ afkljm[lagf %o]l]j gj fgl l] ZjYf[ oadd Z] lYc]f( fgl
o]j] lg ZjYf[& Yf\ [gflafm]k ^]l[af_ Yf\ bmkl jgddk ZY[c a^ hj]\a[lagf [ge]k
gml lg Z] ojgf_ U03W* =JO [Yf Yll]ehl lg hj]\a[l o]l]j gj fgl Y ZjYf[ ak lYc)
]f Z]^gj] Ydd af^gjeYlagf f][]kkYjq lg \]l]jeaf] l] ZjYf[ \aj][lagf ak YnYadYZd]
Yf\ l]f hj]^]l[ afkljm[lagfk \gof l] hj]\a[l]\ hYl* C^ l] hj]\a[lagf ak [gj)
j][l( h]j^gjeYf[] ak aehjgn]\ Z][Ymk] l] ZjYf[ lYj_]l afkljm[lagf ak YnYadYZd]
aee]\aYl]dq( afkl]Y\ g^ Ynaf_ lg oYal mflad l] ZjYf[ [gf\alagfk Yj] j]kgdn]\* C^
l] hj]\a[lagf ak af[gjj][l( l]f l] Cfkljm[lagf Ofal %CO& af l] =JO [gj]
^dmk]k Ydd hj]\a[l]\ hYl afkljm[lagfk( Yf\ afkljm[lagfk Yj] akkm]\ ^jge l] [gjj][l
hYl U04W* Ifdq l] hj]^]l[]\ afkljm[lagfk %oa[ o]j] ^]l[]\ ^jge Y\\j]kk]k
\gof l] ojgf_ hYl g^ l] ZjYf[& emkl Z] \ak[Yj\]\( Yf\ f]o afkljm[lagfk
Yj] ^]l[]\ ^jge l] [gjj][l hYl U05W* Nmk( afkl]Y\ g^ ^dmkaf_ l] hah]daf] af
Yfq [Yk]( o] gfdq ^dmk af [Yk] g^ eakhj]\a[lagf( oa[ kYn]k ^jge mff][]kkYjadq
klYddaf_ l] hah]daf]*
N] <jYf[ Jjg[]kkaf_ Ofal %<JO& af l] =JO [gj] j][]an]k l] ZjYf[
afkljm[lagfk ^jge l] afkljm[lagf ^]l[ mfal Yf\ h]j^gjek dggc)Y]Y\ gh]jYlagfk
gf [gf\alagfYd ZjYf[]k Yf\ ljq lg j]kgdn] l]e ]Yjdq af l] hah]daf]* Cfkljm[lagfk
akkm]\ Z]qgf\ Y hj]\a[l]\ ZjYf[ \g fgl [gehd]l] ]p][mlagf mflad l] ZjYf[ ak
j]kgdn]\( hj]k]jnaf_ l] hjg_jYeeaf_ eg\]d g^ k]im]flaYd ]p][mlagf* C^ Yfq g^
l]k] afkljm[lagfk Yj] ]p][ml]\ af l] <JO( l]q Yj] \][g\]\ Zml fgl akkm]\ U04W*
N]j] Yj] log ZYka[ ZjYf[ hj]\a[lagf k[]e]k \]h]f\af_ gf o]l]j l]q
Yj] \gf] klYla[Yddq Yl [gehad] lae] %[Ydd]\ klYla[ ZjYf[ hj]\a[lagf& gj \qfYea[Yd)
dq Y[[gj\af_ lg l] Z]Ynagj g^ ZjYf[]k %[Ydd]\ \qfYea[ ZjYf[ hj]\a[lagf&*
2.3.5.1.

Static Branch Prediction

MlYla[ <jYf[ Jj]\a[lagf k[]e]k hj]\a[l ZjYf[]k klYla[Yddq Zq ]pYeafY)


lagf g^ hjg_jYe Z]Ynagj Yf\ Zq mk] g^ hjg^ad] af^gjeYlagf _Yl]j]\ ^jge hj]nagmk
jmfk g^ hjg_jYek U1,W* Nmk( al eYc]k hj]\a[lagfk gfdq Yl [gehad] lae] Yf\ ak
mkmYddq [Yjja]\ gml Zq l] [gehad]j* Cl ak cfgof gfdq Z]^gj] hjg_jYe ]p][mlagf
U1-W*
N]j] Yj] log lqh]k g^ klYla[ ZjYf[ hj]\a[lagf ZYk]\ gf o]l]j o] Yk)
kme] l] ZjYf[ ak ]al]j lYc]f gj fgl lYc]f* Cf l] ^gje]j [Yk]( ZjYf[]k Yj]
YdoYqk hj]\a[l]\ Yk lYc]f Yf\ l] [gjj]khgf\af_ afkljm[lagf af l] ZjYf[ lYj_]l ak
^]l[]\ afkl]Y\ g^ l] k]im]flaYd gf]7 o]j]Yk af l] dYll]j l]q Yj] YdoYqk hj])
\a[l]\ fgl lYc]f Yf\ l] k]im]flaYd afkljm[lagf ak ^]l[]\*
Cf Zgl [Yk]k( l] =JO kh][mdYlan]dq ^]l[]k Yf\ \][g\]k l] afkljm[lagfk
^gddgoaf_ ZjYf[ lYj_]l Y\\j]kk Yf\ a^ l] hj]\a[lagf lmjfk gml lg Z] ojgf_( l]f
19

Embedded Microprocessors and Memories

o] kaehdq ^dmk l] hah]daf] lg _]l ja\ g^ l] kh][mdYlan] afkljm[lagfk Zq [gfn]jlaf_


l]e lg HIJk Yf\ [d]Yjaf_ l] hah]daf] j]_akl]jk* Nmk( o] klYdd l] hah]daf] gfdq
o]f hj]\a[lagf ak ojgf_ U03W*
2.3.5.2.

Dynamic Branch Prediction

>qfYea[ <jYf[ Jj]\a[lagf k[]e]k mk] ZjYf[ jmf lae] ]p][mlagf aklgjq
lg eYc] hj]\a[lagfk Yf\ Yn] Z]]f kgof lg Y[a]n] a_]j hj]\a[lagf Y[[mjY[q
lYf klYla[ ZjYf[ hj]\a[lagf k[]e]k U1-W*
2.3.5.2.1.

Branch Prediction Buffer (BPB)

;dkg [Ydd]\ <jYf[ Baklgjq NYZd] %<BN&( l] ZjYf[ hj]\a[lagf Zm^^]j


%<J<& ak Y ^ap]\)kar] lYZd] lYl eYhk ^jge l] hjg_jYe [gmfl]j %J=& nYdm]k lg
ZjYf[ lYj_]l Y\\j]kk]k U1.W*
Q]f l] afkljm[lagf ak Z]af_ ^]l[]\( [mjj]fl J= nYdm] ak k]Yj[]\ af l]
lYZd] ^gj Yf ]fljq ]imYd lg al* C^ Y eYl[af_ ]fljq ak ^gmf\ %[Ydd]\ Y <BN al&( o]
cfgo ^gj kmj] lYl al ak Y ZjYf[ afkljm[lagf Yf\ ]n]f alk lYj_]l* ;^l]j ZjYf[ Yk
Z]]f j]kgdn]\( l] <BN ak mh\Yl]\* C^ l] ZjYf[ ak ]f[gmfl]j]\ ^gj l] ^ajkl lae](
kaehdq Y f]o ]fljq ak [j]Yl]\ gf[] al ak j]kgdn]\ U1/W* N] h]j^gjeYf[] g^ l] hj])
\a[lagf \]h]f\k gf l] Y[[mjY[q g^ l] hj]\a[lgj Yf\ l] [gkl g^ eakhj]\a[lagf
%mkmYddq af [dg[c [q[d]k&* <BN [Yf gfdq hj]\a[l ZjYf[ \aj][lagf( Zml fgl l]
ZjYf[ lYj_]l*
2.3.5.2.2.

Branch Target Address Cache (BTAC)

<jYf[ NYj_]l ;\\j]kk =Y[] %<N;=& ak Y nYjaYlagf g^ <BN7 Zml afkl]Y\


g^ klgjaf_ gfdq l] Y\\j]kk g^ l] ZjYf[ lYj_]l( al Ydkg klgj]k Ydkg l] [g\] g^ l]
ZjYf[ lYj_]l afkljm[lagf* Nak ]daeafYl]k l] f]]\ lg ^]l[ l] lYj_]l afkljm[lagf
^jge afkljm[lagf [Y[] gj ^jge e]egjq( lmk aehjgnaf_ h]j^gjeYf[] [gehYj]\
lg l] ZYka[ <BN*
2.3.5.2.3.

Branch Target Buffer (BTB)

N] <J< gj <BN [gflYafk hj]\a[lagf YZgml o]l]j l] f]pl ZjYf[ lg Z]


lYc]f gj fgl lYc]f7 Zml al \g]k fgl kmhhdq l] lYj_]l J= nYdm]* N] <N< ak Y kh])
[aYd [Y[] lYl [Yf gd\ afkljm[lagf Y\\j]kk Yf\ hj]\a[l]\ lYj_]l Y\\j]kk ^gj ]n]jq
ZjYf[ afkljm[lagf* N] =JO [gfljgd mfal dggck mh l] <N< \mjaf_ ^]l[ klY_]
Yf\ hjgna\]k l] lYj_]l J= nYdm] lg Z] ^gmf\ ]n]f Z]^gj] alk cfgof lg Z] Y
ZjYf[ afkljm[lagf*
2.3.5.2.4.

One-Level (Bi-modal) Predictors

<aeg\Yd ZjYf[ hj]\a[lgjk lYc] Y\nYflY_] g^ l] ^Y[l lYl Y ZjYf[ [Yf ]a)
l]j Z] lYc]f gj fgl lYc]f* Nmk( l] aklgjq lYZd] ak af\]p]\ Zq dgo]j Zalk g^
ZjYf[ afkljm[lagf Y\\j]kk Yf\ l] aklgjq af^gjeYlagf ak klgj]\ mkaf_ bmkl -)Zal*
%, 8 fgl lYc]f Yf\ -8lYc]f&* N] Zal ak kaehdq afn]jl]\ gf eakhj]\a[lagf*
2.3.5.2.5.

Two-level Predictors

S] Yf\ JYll U10W j][g_far]\ lYl mkaf_ log d]n]dk g^ lYZd]k afkl]Y\ g^ l]
Zaeg\Yd hj]\a[lgjzk gf] lYZd] Yddgok hj]\a[lgjk lg j][g_far] j]h]lalan] hYll]jfk Yf\
j]Ydar]\ lYl Zq [Yf_af_ l] [gf^a_mjYlagf g^ l] log aklgjq lYZd]k( \a^^]j]fl
lqh]k g^ aklgjq hYll]jfk [gmd\ Z] ljY[c]\*
20

Embedded Microprocessors and Memories

N] ^ajkl lqh] g^ [gf^a_mjYlagf ak [Ydd]\ Y dg[Yd hj]\a[lgj( oa[ ZYk]k alk


hj]\a[lagf gf l] aklgjq hYll]jf kh][a^a[ %gj dg[Yd& lg l] [mjj]fl ZjYf[* N]
ZjYf[ Y\\j]kk ak mk]\ lg af\]p l] ^ajkl aklgjq lYZd] %<BN&* N] nYdm] klgj]\ af
l] <BN j]hj]k]flk l] \aj][lagf lYc]f Zq l] egkl j][]fl f ZjYf[]k ogk] Y\)
\j]kk]k eYh lg lak ]fljq( o]j] f ak l] d]f_l g^ l] ]fljq af Zalk U11W* Fg[Yd
ZjYf[ hj]\a[lgjk [gfka\]j gfdq l] hYll]jfk g^ l] [mjj]fl ZjYf[*
N] k][gf\ lqh] g^ [gf^a_mjYlagf ak [Ydd]\ Y _dgZYd hj]\a[lgj( oa[ lYc]k
Y\nYflY_] g^ gl]j j][]fl ZjYf[]k lg eYc] Y hj]\a[lagf7 mkaf_ l] hYll]jf g^ l]
egkl j][]fl e ZjYf[]k lg eYc] Y hj]\a[lagf* Nak lqh] g^ [gf^a_mjYlagf mk]k
gfdq Y kaf_d] ]fljq ^gj l] <BN* Nak ]fljq %e Zalk af d]f_l& gd\k l] lYc)
]f+fgl)lYc]f aklgjq g^ l] dYkl e ZjYf[]k af l] hjg_jYe Yf\ ak mk]\ lg af\]p
aflg l] <BN* ; kaf_d] f[\Yg eXZ\fgXe j][gj\k l] \aj][lagf lYc]f Zq l] egkl j][]fl
f [gf\alagfYd ZjYf[]k Yf\ ak mh\Yl]\ oal l] j][]fl aklgjq g^ ]n]jq ZjYf[ ]p)
][ml]\( Yf\ mk] lak nYdm] lg af\]p aflg Y lYZd] g^ Zaeg\Yd [gmfl]jk U10W*
Nak k[]e]( Zq alk]d^( ak gfdq Z]ll]j lYf l] Za)eg\Yd k[]e] ^gj dYj_] lY)
Zd] kar]k( Yf\ ak f]n]j Yk _gg\ Yk dg[Yd hj]\a[lagf* Cl ak [Ydd]\ _dgZYd kaf[] ZjYf[
aklgjq ak _dgZYd lg Ydd ZjYf[]k*
AdgZYd hj]\a[lgjk lYc] Y\nYflY_] g^ l] ^Y[l lYl l] \aj][lagf lYc]f Zq l]
[mjj]fl ZjYf[ eYq \]h]f\ kljgf_dq gf l] \aj][lagf g^ gl]j ZjYf[]k U11W* Cf
lak k[]e]( o] gfdq [Yf_] l] hj]\a[lagf a^ gfdq eakhj]\a[lagf g[[mjk loa[](
Y\\af_ Y qkl]j]kak lg hj]\a[lagf \][akagf*
2.3.5.2.6.

Correlating Predictors

=gjj]dYlaf_ hj]\a[lgjk lYc] aflg [gfka\]jYlagf lYl j][]fl ZjYf[]k Yj]


hjgZYZdq [gjj]dYl]\ Yf\ lYl l] Z]Ynagj g^ j][]fldq ]p][ml]\ ZjYf[]k Y^^][lk l]
hj]\a[lagf g^ [mjj]fl ZjYf[ U12W* Nmk( l]q Yj] _dgZYd hj]\a[lgjk mfdac] gf])d]n]d
Yf\ log)d]n]d* N]q mladar] fTgheTg\ba VbhagXef af l] oYq lYl o]f [gmfl]j nYdm]
ak _j]Yl]j lYf gj ]imYd lg Yd^ g^ l] eYpaeme [gmfl nYdm] l] ZjYf[ ak hj])
\a[l]\ lg Z] lYc]f gl]joak] fgl lYc]f*
2.3.5.2.7.

Tournament Predictors

NgmjfYe]fl hj]\a[lgjk Yj] emdla)d]n]d hj]\a[lgjk lYl [geZaf] log gj


egj] ZjYf[ hj]\a[lagf e][Yfakek Yf\ lYc]k aflg Y[[gmfl lYl \a^^]j]fl hj]\a[)
lagf e][Yfakek eYq h]j^gje Z]kl ^gj \a^^]j]fl ZjYf[ k[]fYjagk*
N]q mk] Yf f)Zal kYlmjYlaf_ [gmfl]j lg [ggk] Z]lo]]f hj]\a[lgjk* N]q
Yj] lmk [Ydd]\ qZja\ hj]\a[lgjk kaf[] l]q [Yf mk] Y [geZafYlagf g^ dg[Yd Yf\
_dgZYd ZjYf[ hj]\a[lgjk( gf] ZYk]\ gf _dgZYd af^gjeYlagf Yf\ Yfgl]j gf dg[Yd
af^gjeYlagf( [geZaf]\ oal Yf f)Zal kYlmjYlaf_ [gmfl]j lg ^mf[lagf Yk Y k]d][lgj*
2.3.5.2.8.

Conclusions

?n]f lgm_ \qfYea[ ZjYf[ hj]\a[lgjk Yj] egj] Y[[mjYl] Yf\ j]kmdl af
Z]ll]j h]j^gjeYf[]( \qfYea[ ZjYf[ hj]\a[lgjk j]imaj] Y\\alagfYd ^mddq Ykkg[aYlan]
[Y[]%k& lg klgj] l] ZjYf[ Y\\j]kk Yf\+gj lYj_]l Y\\j]kk af <N< +<J< Yf\ lg
klgj] dg[Yd+_dgZYd ZjYf[ aklgjq af log)d]n]d [gjj]dYlaf_ +lgmjfYe]fl hj]\a[lgjk(
oa[ Y\\k lg Yj\oYj] [gehd]palq( af[j]Ykaf_ hgo]j \]eYf\ af Yj\oYj] Yf\
21

Embedded Microprocessors and Memories

Ydkg \]_jY\]k \]l]jeafake af l] kqkl]e* N]k] kh][aYd [Y[]k ^gj \qfYea[ ZjYf[
hj]\a[lagf Yj] Ydkg a_dq kmk[]hlaZd] lg [Yj_]\ hYjla[d] jY\aYlagf af Ynagfa[k Yh)
hda[Ylagfk km[ Yk Yaj[jY^lk* Nmk( klYla[ ZjYf[ hj]\a[lagf ak hj]^]jj]\ gn]j \qfYe)
a[ ZjYf[ hj]\a[lagf af Ynagfa[k Yhhda[Ylagfk*
Cfl]_jYlaf_ ZjYf[ hj]\a[lagf aflg kh][mdYlagf( ea[jghjg[]kkgjk [Yf ]p][ml]
l] hjg_jYe {kh][mdYlan]dq| \gof Y hYjla[mdYj ZjYf[ \aj][lagf Z]^gj] l] gml)
[ge] g^ l] ZjYf[ ak cfgof* ?n]f lgm_ ZjYf[ hj]\a[lagf l][faim]k Yn]
Y[[mjY[a]k gn]j 5,"( eYfq afkljm[lagfk Yj] ]p][ml]\ mff][]kkYjadq ^jge l] ojgf_
hYl kladd* If] ka\] ]^^][l g^ lak ak lYl mff][]kkYjq \YlY eYq Z] hdY[]\ af l] F[Y[]( ]na[laf_ \YlY lYl eYq Z] f]]\]\ Y_Yaf %Yf\ lmk [Ymkaf_ Y eakk&*
<YYj ]l* Yd* U13W km__]kl]\ mkaf_ eYaf [Y[] lg Y[[geeg\Yl] eakk]k lYl
Yj] egkl dac]dq gf l] [gjj][l hYl Yf\ aehd]e]fl Yf Y\\alagfYd kh][mdYlan] Zm^^]j
^gj eakk]k lYl Yn] Y a_ hjgZYZadalq lg Z] ^jge Y eak)kh][mdYl]\ hYl* N]q
kgo]\ lYl aehd]e]flaf_ km[ ]pljY Yj\oYj] Ydgf_ oal Y F- \YlY [Y[] [Yf
aehjgn] h]j^gjeYf[] Zq mh lg 0"( oad] mkaf_ Y Zm^^]j Ydgf_ oal F- afkljm[lagf
[Y[] Yk Z]]f kgof lg aehjgn] h]j^gjeYf[] Zq mh lg .1"*
2.3.6.

Prefetching

Jj]^]l[af_ ak gf] g^ l] o]dd klm\a]\ l][faim]k lg a\] e]egjq dYl]f[q


U14W Yf\ j]^]jk lg Zjaf_af_ afkljm[lagfk Yf\ \YlY Z]^gj] =JO j]im]klk l]e( oad]
Yf\daf_ gl]j [Y[] eakk]k Ykkmeaf_ lYl hj]^]l[]\ al]ek oadd Z] j]^]j]f[]\
kggf* Jj]^]l[af_ [Yf Z] \gf] ]al]j Zq =JO naY [TeWjTeX gj Zq Vbc\_Xe naY kg^l)
oYj] gj Y VbU\aTg\ba g^ Zgl*
Nqha[Yd kg^loYj] hj]^]l[af_ e]lg\k Yddgo Y [gehad]j lg mk] alk klYla[
cfgod]\_] g^ Y hjg_jYezk Z]Ynagj lg _]f]jYl] hj]^]l[ afkljm[lagfk (o]j]Yk lqha)
[Yd Yj\oYj] hj]^]l[af_ e]lg\k [Yf gZk]jn] l] \qfYea[ fYlmj] g^ Y hjg_jYe(
Yf\ ogjc Zq ]al]j ]phdgalaf_ khYlaYd dg[Ydalq( gj Zq c]]haf_ ljY[c g^ l] Y[[]kk hYl)
l]jfk ^gj ]Yjda]j Y[[]kk]k U15W* Fgghk Yj] lqha[Yd lYj_]lk ^gj kg^loYj] hj]^]l[af_*
Q]f aehd]e]flaf_ hj]^]l[af_( ]al]j Yj\oYj] gj kg^loYj]( l] afkljm[lagf mfal
%CO& Yk lg eYc] kmj] lYl Vbfg bY ceXYXgV[\aZ \f T_jTlf _Xff g[Ta fTi\aZf \a eXWhVXW
\ffXf*

2.4. Floating Point


C??? 310 ak l] egkl [geegf klYf\Yj\ ^gj j]hj]k]flaf_ ^dgYlaf_ hgafl
fmeZ]jk* ?klYZdak]\ af -541 Yk mfa^gje klYf\Yj\ ^gj ^dgYlaf_ hgafl Yjale]la[(
C??? 310 ak kmhhgjl]\ Zq Ydd eYbgj =JOk* Cl \]^af]k log \a^^]j]fl ^gjeYlk oal
\a^^]j]fl hj][akagfk6 kaf_d] Yf\ \gmZd] hj][akagf* Maf_d] hj][akagf ak /. Zalk oa\]
Yf\ [gfkaklk g^ ka_f Zal %- Zal&( ]phgf]fl %4 Zalk& Yf\ eYflakkY %./ Zalk&7 Yf\
\gmZd] hj][akagf ak 20 Zalk oa\] Yf\ [gfkaklk g^ ka_f Zal %- Zal&( ]phgf]fl %-- Zalk&
Yf\ eYflakkY %1. Zalk& U2,W* >gmZd] hj][akagf mk]k egj] khY[]( Yddgok _j]Yl]j
eY_falm\] Yf\ _j]Yl]j hj][akagf* Il]j lYf lYl( al Z]Yn]k bmkl dac] kaf_d] hj][a)
kagf* Cfl]dzk eYl [ghjg[]kkgj Ydkg mk]k Y laj\( a_]j hj][akagf [Ydd]\ ]pl]f\]\
hj][akagf oa[ [gfkaklk g^ ka_f Zal( ]phgf]fl %-1 Zalk& Yf\ eYflakkY %2/ Zalk&(
d]Ynaf_ - Zal oYkl]\*
@dgYlaf_ hgafl gh]jYlagfk af l] =JO [Yf Z] \gf] ]al]j Zq Y k]hYjYl] j])
k]jn]\ ^mf[lagfYd mfal [Ydd]\ @dgYlaf_ Jgafl Ofal %@JO&( gj Zq mkaf_ ]pl]jfYd
22

Embedded Microprocessors and Memories

Yj\oYj] [ghjg[]kkgjk afl]j^Y[af_ l] YmpadaYjq afl]j^Y[] mfal %;JO& ^gmf\ af


l] =JO afl]j^Y[]*
Cf kqkl]ek o]j] l]j] ak fg \]\a[Yl]\ Yj\oYj] ^gj @J gh]jYlagfk( l]
[gehad]jk [Yf aehd]e]fl ^dgYlaf_)hgafl ]emdYlagfk7 lak ak l] [Yk] oal l]
GOFNC Yf\ A== [gehad]j* Bgo]n]j( [gehad]jk eYq f]]\ kh][a^a[ Yj\oYj]
afl]_]j mfalk( Yf\ jmf)lae] daZjYja]k kmhhgjl( oa[ [Yf eYc] l] kqkl]e fgf)
hgjlYZd]*

2.5. Memory Hierarchy


?eZ]\\]\ =JO ZgYj\k [gflYaf ZYka[Yddq gf] gj egj] g^ l] ^gddgoaf_
mfalk6 =JO( hjaeYjq e]egjq( h]jah]jYd afl]j^Y[] Zmk]k lg [geemfa[Yl] oal
]pl]jfYd Yj\oYj] %C+I& Yf\ f]logjc afl]j[gff][lagfk %km[ Yk ?l]jf]l&*
; keYdd e]egjq [gehgf]fl ak dg[Yl]\ oalaf l] =JO [ah7 oa[ ak
[Ydd]\ l] [Y[] e]egjq* =Y[] e]egjq [Yf Yn] egj] lYf gf] _XiX_ [Ydd]\ F-(
F.( F/( ]l[*( o]j] F/ ak Y kmZk]l g^ F. Yf\ F. ak kmZk]l g^ F-( Yf\ F- ak Y kmZk]l
g^ hjaeYjq e]egjq %gmlka\] l] [ah&* >\ZheX .)/ kgok Y lqha[Yd e]egjq a])
jYj[q kljm[lmj] lYl [Yf Z] ^gmf\ af Yf ]eZ]\\]\ [gehml]j kqkl]e*
>YlY %gj afkljm[lagfk& j]im]kl]\ ^jge l] afkljm[lagf mfal af l] =JO ak
k]Yj[]\ ^ajkl af l] a_]kl d]n]d g^ a]jYj[q( a*]* ^ajkl)d]n]d [Y[] %F-&( a^ lak ak
fgl ^gmf\ l]j]( l] k]Yj[ [gflafm]k af l] dgo]j d]n]dk g^ l] a]jYj[q( a*]* [Y[]
d]n]d F.( Yf\ kg gf* C^ l] j]im]kl]\ \YlY ak fgl ^gmf\ af l] [Y[] e]egjq( l]
[Y[] [gfljgdd]j%k& j]im]kl%k& al ^jge l] dgo]j d]n]d g^ a]jYj[q( \gof lg l] dgo)
]kl d]n]d af l] a]jYj[q a*]* l] hjaeYjq e]egjq*

Figure 2-3: Memory hierarchy

F- [Y[] ak l] ^Ykl]kl mfal af l] e]egjq a]jYj[q Z][Ymk] al ak aehd])


e]fl]\ Ydegkl YdoYqk af ML;G l][fgdg_q( Yddgoaf_ Y ^Ykl]j j]Y\af_ g^ \YlY Yd)
lgm_ al g[[mha]k egj] khY[] Yf\ ak egj] ]ph]fkan]* JjaeYjq e]egjq( gf l]
gl]j Yf\( ak eY\] g^ kdgo]j >L;Gk( oa[ ak []Yh]j Yf\ Yk egj] [YhY[alq
Yf\ lmk Yj] l] [ga[] ^gj e]egjq klgjY_] [ahk* Bgo]n]j( Bmf\Yd Yf\ IcdgZ\)
rabY U2-W kgo]\ lYl Y [geZafYlagf g^ ML;G)>L;G af Yf gf)[ah [Y[] e]e)
gjq _an]k ghlaeYd gj_YfarYlagf ^gj ^Ykl Y[[]kk Yf\ a_ \]fkalq* @gj egj] \]lYad
j]_Yj\af_ l]k] e]egjq l][fgdg_a]k( j]^]j lg k][lagf .*4* YZgml e]egjq l][fgd)
g_a]k* =Y[]k ogjc [dgk]dq lg l] =JO( Yf\ l] al lae] af lak d]n]d af^dm]f[]k l]
h]j^gjeYf[] g^ l] =JO egkl* N] \akY\nYflY_] g^ lak keYdd Yf\ ^Ykl [Y[] d]n]d
ak lYl al Yk Y ka_fa^a[Yfl {eakk jYl]|( oa[ ak l] h]j[]flY_] g^ eakk]k gml g^ l]
lglYd g^ e]egjq j]^]j]f[]k ^jge l] =JO*
23

Embedded Microprocessors and Memories

>][j]Ykaf_ l] eakk jYl] ak hgkkaZd] Zq af[j]Ykaf_ l] kar] g^ l] [Y[](


oa[ ak ]pY[ldq oYl F. [Y[] d]n]d \g]k* F. [gflYafk egj] e]egjq hdY[]k \])
[j]Ykaf_ l] eakk jYl]( Zml l] al lae] ak Za__]j lgg* Nak ak Z][Ymk] al af[dm\]k
egj] [gehYjYlgjk lg Z] YZd] lg ^af\ l] j]im]kl]\ af^gjeYlagf afka\] l] [Y[](
l]j]Zq af[j]Ykaf_ Yj\oYj] [gkl* F/ ^gddgok l] kYe] hadgkghq g^ F.( Yf\ ak
g[[YkagfYddq f]]\]\*
N] lae] al lYc]k ^gj l] =JO lg dgY\ Yf\+gj klgj] \YlY Yf\ afkljm[lagfk ak
[jm[aYd o]f \]^afaf_ l] [dg[ck h]j afkljm[lagf %=JC& h]j^gjeYf[]( Yk lgk]
e]egjq j]^]j]f[]k e]Yf Yf aehgjlYfl h]j[]flY_] g^ afkljm[lagfk af Y [geegf
hjg_jYe* =JO h]j^gjeYf[] %eYafdq [dg[c kh]]\& Yk Y\ ]ph]ja]f[] Yf af[j]Yk]
g^ YZgml 2," q]Yjdq( Zml lak Yk fgl e]Yfl lYl l] hjg[]kkgj ]^^a[a]f[q Yk af)
[j]Yk]\ Yl l] kYe] jYl]* Nak ak Z][Ymk] Ydd j]^]j]f[]k lg e]egjq _gaf_ gmlka\] l]
[ah Yj] \]h]f\]fl gf l] {Y[[]kk lae]| hYjla[mdYj lg l] hjaeYjq e]egjq [ah*
JjaeYjq e]egja]k l][fgdg_q Yk Y\ Yf af[j]Yk] af h]j^gjeYf[] g^ YZgml 3" Y
q]Yj af l] dYkl .1 q]Yjk7 oa[ Yk [j]Yl]\ Y h]j^gjeYf[] {_Yh| Z]lo]]f l] [dg[c
kh]]\k g^ l] =JO Yf\ l] hjaeYjq e]egjq* HgoY\Yqk hjaeYjq e]egjq Y[[]kk
lae] ak YZgml -,, lae]k kdgo]j lYf ML;G e]egja]k afka\] l] hjg[]kkgj* ;k lak
_Yh af[j]Yk]k( l] jgd] g^ l] e]egjq a]jYj[q Z][ge]k egj] Yf\ egj] [jm[aYd
U2.W*
Nog e]lja[k Ykkg[aYl]\ oal e]egjq a]jYj[q Yj] dYl]f[q Yf\ ZYf\)
oa\l* N]q Yj] mfa^gje Yf\ kh][a^a[ lg Y hYjla[mdYj [gehgf]fl g^ l] e]egjq
a]jYj[q* FYl]f[q ak g^l]f ]phj]kk]\ af hjg[]kkgj [q[d]k gj af fYfgk][gf\k( o])
j]Yk ZYf\oa\l ak mkmYddq _an]f af e]_YZql]k h]j k][gf\ gj _a_YZql]k h]j k][gf\*
Cf hjY[la[]( l] dYl]f[q g^ Y e]egjq [gehgf]fl ak l] lae] al lYc]k lg ^]l[ gf]
mfal g^ ljYfk^]j %lqha[Yddq Y [Y[] daf]&* ;k l] kh]]\ g^ Y [gehgf]fl \]h]f\k gf
alk j]dYlan] dg[Ylagf af l] a]jYj[q( l] dYl]f[q ak fgl mfa^gje* Cl af[j]Yk]k oad]
egnaf_ ^jge a_]j lg dgo]j d]n]dk af a]jYj[q* If l] gl]j Yf\( ZYf\oa\l ak
Y e]Ykmj] g^ l] Ykqehlgla[ kh]]\ g^ Y e]egjq [gehgf]fl( oa[ j]^d][lk go
^Ykl dYj_] Zmdck g^ \YlY [Yf Z] egn]\ af Yf\ gml* Dmkl Yk oal dYl]f[q( l] ZYf\)
oa\l ak fgl mfa^gje* Nqha[Yddq( ZYf\oa\l \][j]Yk]k l] ^mjl]j Yk o] egn] YoYq
^jge l] =JO U2/W*

2.6. Cache Memory


=Y[] e]egjq ak Y Yj\oYj] [gehgf]fl dg[Yl]\ [dgk]\ lg l] hjg[]kkgj(
mkmYddq af l] kYe] [ah( ogk] gZb][lan] ak lg kmhhdq l] =JO oal afkljm[lagfk
Yf\ \YlY af kgjl]kl hgkkaZd] lae]( ^Ykl]j lYf l] hjaeYjq e]egjq* C^ l] hjaeYjq
e]egjq gd\k dYj_] Zdg[ck g^ \YlY lg Z] k]fl lg l] hjg[]kkgj( l] \YlY ak hml
kaehdq aflg l] [Y[] kg lYl l] ]flaj] \YlY \gf$l Yn] lg ljYn]d Yk ^Yj Yk ^jge
hjaeYjq e]egjq lg =JO Zml jYl]j ^jge [Y[] lg =JO( kg lYl l]q [Yf Z]
dgY\]\ em[ ima[c]j af lak k]fk]* N] ljYn]ddaf_ lae] g^ \YlY Ydkg \]h]f\k gf Zmk
kh]]\ Yf\ \YlY)oa\l Yk o]dd Yk l] e]egjq kh]]\ Yf\ \YlY)oa\l*
N] =JO [Y[] ak Y keYdd e]egjq mfal \ana\]\ aflg daf]k %gj Zdg[ck&7 oal
]Y[ daf] [gflYafaf_ gf] gj egj] ogj\k ^jge hjaeYjq e]egjq( o]j] ogj\k Yj]
/.)Zal dgf_* Cf Jgo]jJ= Yj[al][lmj]( lak ak Ydkg l] d]f_l g^ afkljm[lagfk7 o])
j]Yk [Y[] daf]k Yj] ]a_l ogj\k af d]f_l*
=Y[] af[dm\]k lY_k lg a\]fla^q oa[ Zdg[c g^ eYaf e]egjq ak af ]Y[
[Y[] kdgl Ydgf_ oal Y nYda\ Zal lg [][c a^ l] j]imaj]\ [Y[] Zdg[c %gj daf]& ak
24

Embedded Microprocessors and Memories

nYda\ gj fgl* >mjaf_ l] k]Yj[ g^ l] j]imaj]\ daf] af l] [Y[]( l] lY_ g^ l] j])


imaj]\ daf] ak [gehYj]\ oal Ydd l] [Y[] daf]k Yf\ a^ Y eYl[ ak ^gmf\( al j]kmdlk
af Y [Y[] al7 gl]joak] [Y[] eakk* Bgo lak [gehYjakgf ak [Yjja]\ gml \]h]f\k
gf l] eYhhaf_ Yd_gjale g^ l] [Y[]*
N] [geemfa[Ylagf Z]lo]]f l] =JO Yf\ [Y[] e]egjq ak \gf] ljgm_
Zmk)ZYk]\ [geemfa[Ylagf* N] egkl [geegf aehd]e]flYlagf mk]k l] BYjnYj\
fglagf g^ Ynaf_ k]hYjYl] Zmk]k lg ^]l[ \YlY Yf\ afkljm[lagfk %Zml mkmYddq [gfka)
\]j]\ Yk kaf_d] dg_a[Yd Zmk&* N] Pgf)H]meYff fglagf g^ Ynaf_ Y kaf_d] [Y[] lg
gd\ Zgl afkljm[lagfk Yf\ \YlY Yj] Ydkg hgkkaZd]* N] dYll]j [Yk] ak [Ydd]\ mfa^a]\
[Y[]( o]j]Yk l] ^gje]j ak [Ydd]\ khdal [Y[]*
=Y[] e]egjq( ]kh][aYddq l] F- [Y[]( ak mkmYddq hqka[Yddq dg[Yl]\ gf l]
hjg[]kkgj* N] Y\nYflY_] g^ lak ak l] kh]]\ k[Yd] oal l] =JO [dg[c* Nmk( dY)
l]f[q g^ [Y[]k ak ]phj]kk]\ af hjg[]kkgj [dg[c [q[d]k( afkl]Y\ g^ fYfgk][gf\k* If
kge] hjg[]kkgjk( gf)[ah [Y[]k \g fgl YdoYqk jmf Yl l] [dg[c kh]]\ g^ =JO*
N]q gh]jYl] Yl Y [dg[c jYl] lYl ak Yf afl]_]j imgla]fl %-+.( -+/ ]l[*& g^ l] hjg)
[]kkgj [dg[c*
Ggkl hjg_jYek \g fgl Y[[]kk Ydd [g\] Yf\ \YlY mfa^gjedq( Zml j]h]Yl ^gj
[]jlYaf \YlY [ga[]k* Ng ]phdgal km[ hjgh]jlq( ogjcaf_ hjaf[ahd] g^ [Y[]k j]dq gf
hjaf[ahd] g^ dg[Ydalq( oa[ e]Yfk o]f Y dg[Ylagf ak Y[[]kk]\( l] kYe] dg[Ylagf
gj Y f]YjZq dg[Ylagf ak dac]dq lg Z] Y[[]kk]\ Y_Yaf kggf*
=Y[]k aehd]e]fl log ZYka[ [gf[]hlk g^ dg[Ydalq6 l]ehgjYd dg[Ydalq Yf\ khY)
laYd dg[Ydalq* Mg^loYj] lqha[Yddq Y[[]kk]k keYdd hYjlk g^ e]egjq Yl Yfq _an]f lae](
Yf\ \g]k al j]h]Yl]\dq* N] ^Y[l g^ Y[[]kkaf_ l] kYe] dg[Ylagf gn]j lae] ak [Ydd]\
l]ehgjYd dg[Ydalq( Yf\ l] ^Y[l lYl Y hjg_jYe l]f\k lg Y[[]kk Y\bY[]fl dg[Ylagfk
af e]egjq ak [Ydd]\ khYlaYd dg[Ydalq*
N]ehgjYd dg[Ydalq ak l] _gYd o]f l] [Y[] ak gj_Yfar]\ af k]lk( Yk af k]l)
Ykkg[aYlan] [Y[]k( kg \YlY Z]af_ Yddg[Yl]\ af [Y[] ^jge hjaeYjq e]egjq oadd fgl
Z] \ak[Yj\]\ oal l] YjjanYd g^ f]o \YlY* NYl j]hdY[]e]fl ogmd\ Yhh]f a^
eYfq j]Yd e]egjq dg[Ylagfk Yj] Ykka_f]\ lg l] kYe] [Y[] dg[Ylagf* ;f gj_YfarY)
lagf af {k]lk| _an]k l] [Yf[] lg k]d][l Yfgl]j hdY[] af l] kYe] k]l lg f]o \YlY
lYl gl]joak] ogmd\ Yn] j]hdY[]\ l] hj]nagmk \YlY( af lak oYq hYjla[mdYj [Y[]
\YlY [Yf klYq l]j] dgf_]j lae]*
MhYlaYd dg[Ydalq ak Yhhda]\ Zq ^]l[af_ Y\bY[]fl \YlY ^jge e]egjq Y^l]j
^]l[af_ l] j]im]kl]\ \YlY ogj\( kg kmZk]im]fl j]im]klk ^jge =JO [gmd\ al af
l] [Y[]* Q]f l] \YlY ak afkljm[lagfk( l]f lak ak [Ydd]\ kh][mdYlan] afkljm[)
lagf ^]l[af_* Nqha[Yddq mh lg lj]] [Y[] daf]k Yj] ^add]\ mh kh][mdYlan]dq Y^l]j Y
eakk af [Y[] %Yk af JJ=00,?Jp&*
N] kar] g^ Y [Y[] daf] mk]k l] [gf[]hl g^ khYlaYd dg[Ydalq Ydkg* =gflYafaf_
egj] lYf gf] ogj\ af Y [Y[] daf] ak j]^]jj]\ lg Yk emdlaogj\ [Y[] daf]k* Q]f
Y eakk g[[mjk( l] lYj_]l ogj\ Yf\ Y\bY[]fl ogj\k oadd Z] ^]l[]\ ^jge hjaeYjq
e]egjq Yf\ ^mlmj] eakk]k Yj] hj]n]fl]\ af lak oYq Zml l] eakk h]fYdlq oadd af)
[j]Yk] Yk [Y[] daf] kar] af[j]Yk]k* N] lae] lg ^af\ Y ogj\ af [Y[] oadd af[j]Yk] Yk
[gehYjYlgjk oadd Z] f]]\]\ lg k]d][l l] ja_l ogj\ afka\] l] [Y[] daf]* BYnaf_
dYj_]j [Y[] daf]k \][j]Yk]k l] eakk jYl] Zml af[j]Yk]k l] al lae]* >]^afaf_ l]
kar] g^ ]Y[ [Y[] daf] ak Y ljY\])g^^ eakk)jYl] Yf\ [Y[] daf] kar]*
C^ Y j]imaj]\ afkljm[lagf gj \YlY ak ^gmf\ af [Y[] l]f l] [gfl]flk Yj] hml
YnYadYZd] lg l] afkljm[lagf mfal %CO& Yf\ hjg[]kkgj [gflafm]k af ak fgjeYd ]p][m)
25

Embedded Microprocessors and Memories

lagf oYq( lak ak [Ydd]\ Y al* N] lae] mk]\ af Y al ]n]fl ak [Ydd]\ al lae] Yf\ l]
h]j[]flY_] g^ [Y[] alk gml g^ l] lglYd g^ e]egjq j]^]j]f[]k ^jge l] =JO ak
[Ydd]\ al jYlag*
Q]f \YlY ak fgl ^gmf\ af [Y[]( o] lYdc YZgml Y eakk( o]j] l] [Y[]
[gfljgdd]jk hj]k]fl Y j]im]kl lg hjaeYjq e]egjq* N] lae] al lYc]k lg ^]l[ \YlY gj
afkljm[lagfk ^jge hjaeYjq e]egjq ak [Ydd]\ eakk h]fYdlq* N] h]j[]flY_] g^
eakk]k gml g^ l] lglYd g^ e]egjq j]^]j]f[]k ^jge l] =JO ak [Ydd]\ eakk jYlag(
oa[ ak kaehdq %-)[\g eTg\b*
N]j] [Yf Z] / lqh]k g^ eakk]k af [Y[] e]egjq( oa[ ak \]^af]\ Zq l]
/=zk dYo U20W6
-* =gehmdkgjq eakk]k g[[mj \m] lg l] ^Y[l lYl ^ajkl Y[[]kk lg Y Zdg[c ak
fgl af l] [Y[]( kg l] Zdg[c emkl Z] Zjgm_l aflg l] [Y[]*
.* =YhY[alq eakk]k g[[mj a^ l] [Y[] [Yffgl [gflYaf Ydd l] Zdg[ck f]]\]\
\mjaf_ ]p][mlagf g^ Y hjg_jYe( \m] lg Zdg[ck Z]af_ \ak[Yj\]\ Yf\ dYl]j
j]lja]n]\*
/* =gf^da[l eakk]k g[[mj a^ Zdg[c)hdY[]e]fl kljYl]_q ak k]l Ykkg[aYlan] gj
\aj][l eYhh]\( kaf[] Y Zdg[c [Yf Z] \ak[Yj\]\ Yf\ dYl]j j]lja]n]\ a^ lgg
eYfq Zdg[ck eYh lg alk k]l*
=Y[] [gflYafk afkljm[lagfk Yf\+gj \YlY lYl =JO f]]\k ^gj ]p][mlagf7
go]n]j l]q Yj] klgj]\ af [Y[] gfdq l]ehgjYjadq* =JO YdoYqk Ykck ^gj Y kh][a^a[
[Y[] Zdg[c oal najlmYd Y\\j]kk( al ak l] e]egjq eYfY_]e]fl mfal %GGO&zk
\mlq lg geTaf_TgX al lg l] hqka[Yd Y\\j]kk g^ l] Zdg[c [gflYaf]\ af Y kh][a^a[ [Y[]
Y\\j]kk*
N] aehgjlYfl hYjYe]l]jk g^ [Y[] \]ka_f Yj] [Y[] kar]( eYhhaf_ ^mf[lagf
%Ykkg[aYlanalq&( j]hdY[]e]fl Yd_gjale( ojal] hgda[q( Zdg[c kar] Yf\ fmeZ]j g^
[Y[]k %gj e]egjq d]n]dk af l] a]jYj[q&* N]k] hYjYe]l]jk oadd Z] \ak[mkk]\ af
\]lYad af l] ^gddgoaf_ k][lagfk*
=Y[]k [Yf mk] Zmk kfgghaf_( o]j] [Y[] egfalgjk l] e]egjq Zmk ^gj
gl]jk Y\\j]kkaf_ e]egjq Yl dg[Ylagfk lYl Yj] Z]af_ ]d\ af l] [Y[]* Q]f al
\]l][lk kge] gl]j hjg[]kk %hjgZYZdq C+I& ojalaf_ aflg l] eYaf e]egjq dg[Ylagf
lYl ak Z]af_ ]d\ af l] [Y[]( al afnYda\Yl]k l] [gjj]khgf\af_ [Y[] daf] kg lYl
eYaf e]egjq Yf\ l] [Y[] [Yf Z] kqf[jgfar]\*
=Y[] eYfY_]e]fl ak j]khgfkaZd] ^gj l] [Y[] gj_YfarYlagf %kar]( Ykkg[aY)
lanalq ]l[*&( ojal] hgda[q Yf\ l] mk] g^ ojal] Zm^^]jk Yf\ al [Yf Z] \]^af]\ ljgm_
kg^loYj]*
If Y [Y[] eakk( l] =JO Yk lg j]im]kl l] \YlY ^jge l] hjaeYjq e]eg)
jq* N] lae] al lYc]k lg j]Y[ hjaeYjq e]egjq( a*]* l] Yn]jY_] e]egjq Y[[]kk
lae] %;G;N& \]h]f\k gf al lae]( eakk jYlag Yf\ eakk h]fYdlq6
.

. .

Nmk( h]j^gjeYf[] g^ l] kqkl]e [Yf Z] af[j]Yk]\ ]^^][lan]dq Zq j]\m[af_


l] nYdm]k g^ l]k] hYjYe]l]jk* N] l][faim]k ^gj \gaf_ kg Yj] dakl]\ Z]dgo6
-* L]\m[af_ eakk h]fYdlq6 Jjagjalq lg j]Y\k gn]j ojal] gf Y eakk( ?Yjdq L]klYjl #
=jala[Yd Qgj\ @ajkl( Hgf)Zdg[caf_ =Y[]k( MmZ)Zdg[c hdY[]e]fl( Gmdla)d]n]d
[Y[]k( G]j_af_ Qjal] <m^^]jk
26

Embedded Microprocessors and Memories

.* L]\m[af_ eakk jYl]6 FYj_]j daf] kar] Yf\ Zdg[c kar]( Ba_]j Ykkg[aYlanalq( FYj_)
]j [Y[] kar]( Pa[lae [Y[]k( NjY[] [Y[]k( BYj\oYj] Yf\ kg^loYj] hj]^]l[af_(
=gehad]j ghlaearYlagfk %=g\] j])YjjYf_]e]fl( >YlY j])YjjYf_]e]fl( Fggh Cf)
l]j[Yf_]( Fggh @mkagf( <dg[caf_ Yf\ G]j_]\ ;jjYqk&
/* L]\m[af_ al lae]6 Maehd] Yf\ keYdd [Y[]k( Jah]dafaf_ g^ ojal] al klY_]k Yf\
@Ykl ojal]k gf eakk]k naY keYdd kmZ)Zdg[ck*
N] egkl aehgjlYfl l][faim]k Yf\+gj l] gf]k lYl [Yf Z] [gf^a_mj]\ af
gmj hjgb][l %eYafdq naY kg^loYj]& Yj] ]phdYaf]\ af l] f]pl k][lagf*
2.6.1.

Line Size

Cf[j]Ykaf_ l] daf] kar] ]dhk j]\m[af_ [gehmdkgjq eakk]k7 go]n]j [gf^da[l


eakk]k af[j]Yk] kaf[] [Y[] oadd Yn] d]kk fmeZ]j g^ daf]k oal dYj_]j daf] kar]* C^
[YhY[alq ak keYdd( [YhY[alq eakk]k [Yf Ydkg af[j]Yk]* ;l l] kYe] lae]( dYj_]j daf]
kar] af[j]Yk]k eakk h]fYdlq %f]]\ lg _]l egj] \YlY& al lae] %f]]\ lg j]Y\ egj]
\YlY ^jge [Y[] Yf\ dYj_]j emdlahd]p]j lg =JO& Yf\ [gf^da[l eakk]k %keYdd]j fme)
Z]j g^ Zdg[ck& U21W* Cf[j]Yk] af eakk h]fYdlq mkmYddq gmlo]a_k \][j]Yk] af eakk jYl]
eYcaf_ lak e]lg\ fgl hj]^]jYZd]*
Cfkl]Y\ g^ af[j]Ykaf_ daf] kar]( [Y[] daf]k [Yf Z] ^mjl]j Zjgc]f \gof aflg
kmZ)Zdg[ck* MmZ)Zdg[c hdY[]e]fl k[]e] ]fdYj_]k Zdg[c kar] oad] \ana\af_ ]Y[
Zdg[c aflg keYdd]j kmZ)Zdg[ck( geallaf_ l] f]]\ lg dgY\ ^mdd Zdg[c gf Y eakk* PY)
da\ Zalk Yj] af[dm\]\ h]j ]n]jq kmZ)Zdg[c lg af\a[Yl] klYlmk Yf\ gf Y eakk gfdq gf]
kmZ)Zdg[c ak ^]l[]\ afkl]Y\ g^ l] ^mdd Zdg[c* MmZ)Zdg[c hdY[]e]fl ak mkmYddq [ge)
Zaf]\ oal ]Yjdq j]klYjl # [jala[Yd ogj\ ^ajkl U22W*
2.6.2.

Cache Size

Cf[j]Ykaf_ [Y[] kar] j]\m[]k [YhY[alq eakk]k7 Zml hgl]flaYddq dYj_]j al lae]
Yf\ a_]j [gkl +hgo]j Yf\ Ydkg kl]Ydk j]kgmj[]k ^jge gl]j mfalk %]kh][aYddq ^gj
gf)[ah [Y[]k&* <]ka\]k( lak j]kmdlk af \aeafakaf_ j]lmjfk( a*]* \gmZd] [Y[] kar]
f]n]j j]kmdlk af \gmZd] h]j^gjeYf[]*
Of^gjlmfYl]dq al oYk fgl hgkkaZd] lg k]] l] af^dm]f[] g^ [Y[] gf h]j^gj)
eYf[] kaf[] l] [gjj]khgf\af_ j]_akl]j af l] hjg[]kkgj ak j]Y\)gfdq*
2.6.3.

Associativity

N]j] Yj] ^]o]j [Y[] daf]k lYf e]egjq Zdg[ck af [Y[] e]egjq( kg o]
f]]\ Yf Yd_gjale ^gj Tcc\aZ e]egjq ogj\k [geaf_ ^jge eYaf e]egjq aflg
[Y[] daf]k( oYq lg \]l]jeaf] oa[ e]egjq Zdg[c ak af oa[ [Y[] daf]* GYh)
haf_ ^mf[lagf \]l]jeaf]k go lak hjg[]\mj] ak \gf]* N]j] Yj] lj]] oYqk lg \g
km[ hjg[]\mj]6 \aj][l)eYhhaf_( k]l)Ykkg[aYlan] eYhhaf_ gj ^mddq)Ykkg[aYlan] eYh)
haf_*
>aj][l eYhhaf_ ak l] kaehd]kl gf]( o]j] ]n]jq ogj\ af hjaeYjq e]egjq
ak Ykka_f]\ Y kaf_d] hdY[] af [Y[] e]egjq %\]^af]\ Zq l] dgo]j ka_fa^a[Yfl Zalk g^
alk Y\\j]kk&* Qal lak e]lg\( eYfq ogj\k af hjaeYjq e]egjq [geh]l] YZgml
l] kYe] [Y[] dg[Ylagf* Cl ak kaehd] Yf\ daealk [gehd]palq g^ [gfljgd dg_a[ Yf\
27

Embedded Microprocessors and Memories

Yddgok kgjl]j [dg[c [q[d]k* Cl Ydkg Yk dgo]kl [gkl( Zml l]j] ak YdoYqk Y ^ap]\ dg[Y)
lagf ^gj _an]f Zdg[c* C^ Y hjg_jYe Y[[]kk]k log Zdg[ck lYl eYh lg l] kYe] daf]
j]h]Yl]\dq( [Y[] eakk jYlag ak n]jq a_ %[Ydd]\ ljYkaf_&* N] hjgZd]e oal km[
eYhhaf_ ak k]n]j] ljYkaf_ g^ l] [Y[]( oa[ e]Yfk \YlY ]d]e]flk lYl Yj] kggf
f]]\]\ Yj] gn]jojall]f Yf\ al [Yf \]_jY\] h]j^gjeYf[] k]n]j]dq( ]kh][aYddq o]f
emdlahd] YjjYqk Yj] afngdn]\( kaf[] al ^gj[]k eYfq j]hdY[]e]flk oa[ d]Y\k lg
eakk]k gf ]n]jq YjjYq af\]p Y[[]kk*
N] ^mddq Ykkg[aYlan] oYq( gf l] ghhgkal]( Yddgok \YlY lg Z] klgj]\ Yl Yfq
hdY[] af l] [Y[] e]egjq( oYl ak aehjY[la[Yd ^gj [Y[]k oal egj] lYf Y ^]o
\gr]f dg[Ylagfk( Yk al ogmd\ j]imaj] Y\\alagfYd Yj\oYj] Yf\ oadd fgl hjgna\] [gf)
ka\]jYZd] ^mjl]j j]\m[lagf af l] eakk jYl]* ;fgl]j af[gfn]fa]fl [YjY[l]jakla[ g^
^mddq Ykkg[aYlan] ak lYl k]d][laf_ l] Zdg[c lg j]hdY[] oadd j]imaj] kge] Yd_gjalek
Yf\ Yj\oYj]( af l] [Yk] g^ \aj][l eYhh]\ lak ogmd\ fgl Z] f][]kkYjq* Maf[] Y
[Y[] Zdg[c [Yf Z] af Yfq dg[Ylagf af l] [Y[]( al Ydkg Yk l] hggj]kl \]l]jeaf)
ake # hj]\a[lYZadalq Z]Ynagj( oa[ ak n]jq aehgjlYfl af Ynagfa[k Yhhda[Ylagfk*
<]ka\]k( kaf[] o] f]]\ lg k]Yj[ Ydd l] ]flja]k af l] [Y[] kaemdlYf]gmkdq Yk l]
Zdg[c [Yf Z] af Yfq dg[Ylagf( l] f][]kkYjq hYjYdd]d [gehYjYlgj Yj\oYj] ak n]jq
]ph]fkan]* Nmk( ]p[]hl NF<k af najlmYd e]egjq kqkl]e Yf\ keYdd)kar]\ [Y[]k( al
ak fgl mk]\*
;f f)oYq k]l Ykkg[aYlan] k[]e] ak l] egkl mk]\ k[]e]( oa[ ak Y [ge)
hjgeak] Z]lo]]f \aj][l Yf\ ^mddq)Ykkg[aYlan] eYhhaf_( o]j] l] [Y[] e]egjq ak
\ana\]\ aflg k]lk( ]Y[ k]l [gfkaklaf_ g^ f)[Y[] daf]k* ?n]jq ogj\ af hjaeYjq
e]egjq Yk {f| hgkkaZd] hdY[]k oalaf Y k]l o]j] lg Z] Yddg[Yl]\( af gl]j ogj\k
f)k]l Ykkg[aYlan] ogjck Yk ^mddq Ykkg[aYlan] afka\] Y k]l* H)oYq Ykkg[aYlan] e]lg\
Yddgok [Y[] eYfY_]e]fl lg k]d][l l] ghlaeYd gj_YfarYlagf g^ [Y[] o]j] l]
fmeZ]j g^ daf]k af Y [Y[] k]lk j]\m[]k l] eakk jYl] oalgml af[j]Ykaf_ ]p[]kkan]dq
l] Yj\oYj]* >akY\nYflY_] g^ l] f)oYq Ykkg[aYlan] gj_YfarYlagf ak lYl k]d][laf_
l] daf] lg Z] j]hdY[]\ j]imaj]k j]hdY[]e]fl Yd_gjalek Yf\ Y\\alagfYd Yj\oYj]
lYl af l] [Yk] g^ \aj][l eYhh]\ ogmd\ fgl Z] f][]kkYjq*

Figure 2-4: 128 KB two-way set-associative cache [25]

28

Embedded Microprocessors and Memories

>\ZheX .)0 kgok Y .)oYq k]l Ykkg[aYlan] [Y[] oal ]pljY Yj\oYj] lYl ak
f]]\]\ lg dg[Yl] l] j]im]kl]\ Y\\j]kk af l] [Y[]6 0 [gehYjYlgjk Yf\ gf] emd)
lahd]pgj Yj] mk]\* Nak [j]Yl]k \]dYqk Yf\ af[j]Yk]k l] al lae]*
Cf k]l)Ykkg[aYlan] [Y[]k( af[j]Ykaf_ \]_j]] g^ Ykkg[aYlanalq j]\m[]k [gf^da[l
eakk]k7 Zml lak [ge]k af ]ph]fk] g^ dYj_]j al lae]* BYj\oYj] [gehd]palq Ydkg
af[j]Yk]k*
Of^gjlmfYl]dq al oYk fgl hgkkaZd] lg k]] l] af^dm]f[] g^ Ykkg[aYlanalq gf
h]j^gjeYf[] kaf[] l] [gjj]khgf\af_ j]_akl]j af l] hjg[]kkgj ak j]Y\)gfdq*
2.6.4.

Early Restart & Critical Word First

C^ l] daf] kar] ak dYj_]( l]f hjg[]kkgj Yk lg oYal ^gj l] ogd] ljYfkY[lagf


lg eYc] Yfgl]j Y[[]kk lg e]egjq* Nak j]kmdlk af a_ eakk h]fYdlq*
?Yjdq j]klYjl j]^]jk lg l] oYq lYl Yk kggf Yk l] j]im]kl]\ ogj\ g^ l] daf]
Yjjan]k( al ak k]fl lg =JO kg lYl =JO [Yf [gflafm] ]p][mlagf7 o]j]Yk =jala[Yd
Qgj\ @ajkl j]^]jk lg l] e]Yfk g^ j]im]klaf_ l] eakk]\ ogj\ ^ajkl ^jge e]egjq
Yf\ k]f\af_ al lg l] =JO Yk kggf Yk al Yjjan]k7 l]j]^gj] Yddgoaf_ =JO lg [gflaf)
m] ]p][mlagf oad] ^addaf_ l] j]kl g^ l] ogj\k af l] daf]* =geZafaf_ l] log
YhhjgY[]k ak imal] mk]^md af [Y[]k oal dYj_] daf] kar]*
2.6.5.

Non-blocking Caches

?Yjdq j]klYjl kladd oYalk ^gj l] j]im]kl]\ ogj\ lg Yjjan] Z]^gj] =JO [Yf
[gflafm] ]p][mlagf* @gj eY[af]k lYl Yddgo III? mkaf_ NgeYkmdg lqh] g^ [gf)
ljgd %]*_* Jgo]jJ=&( =JO kgmd\ fgl klYdd gf [Y[] eakk]k* Hgf)Zdg[caf_ [Y[]k
Yddgo \YlY lg [gflafm] lg kmhhdq [Y[] alk \mjaf_ Y eakk %[Ydd]\ al mf\]j eakk&*
Mmhhgk] l] ^ajkl afkljm[lagf af l] afkljm[lagf [Y[] klj]Ye ak Y eakk Yf\
l] k][gf\ gf] ak Y al U23W* HgjeYddq( Ydlgm_ k][gf\ afkljm[lagf kgmd\ Z] YZd]
lg Y[[]kk l] ogj\ af [Y[]( al Yk lg oYal \m] lg eakk h]fYdlq g^ l] ^ajkl afkljm[)
lagf lg j])^]l[ l] ogj\ ^jge eYaf e]egjq* Cf \qfYea[ k[]\mdaf_( Y klYdd]\
afkljm[lagf \g]k fgl f][]kkYjadq Zdg[c l] kmZk]im]fl afkljm[lagf( kg k][gf\ af)
kljm[lagf [Yf hYkk ^ajkl afkljm[lagf*
Ng kmhhgjl km[ k[]e]( eakk Zm^^]jk Yj] Y\\]\ af Y\\alagf lg ojal] Zm^)
^]jk Z]lo]]f l] [Y[] Yf\ l] eYaf e]egjq lg klgj] l] eakkaf_ [Y[] daf]k ^jge
eYaf e]egjq mflad l]k] Yj] ljYfk^]jj]\ lg l] [Y[] Zq l] [Y[] [gfljgdd]j U23W*
Nak k[]e] ak ]pl]fkan]dq mk]\ af a_ h]j^gjeYf[] [gehml]j kqkl]ek*

Figure 2-5: Hit under miss [67]

29

Embedded Microprocessors and Memories


2.6.6.

Multi-level Caches

Cf[j]Ykaf_ kar] g^ l] [Y[] [Yf j]kmdl af kdgo]j Y[[]kk* Cfkl]Y\( Y k][gf\


dYj_]j [Y[] Z]lo]]f ^ajkl [Y[] Yf\ eYaf e]egjq [Yf Z] afljg\m[]\ lg e]egjq
a]jYj[q* Qal gfdq kaf_d] d]n]d( Zmk Y[[]kk lg e]egjq ak kdgo7 lmk egkl ]e)
Z]\\]\ [gehml]jk Yn] Yl d]Ykl . d]n]dk g^ [Y[]* ?pl]jfYd F. [Y[] ak lqha[Yddq
Zmadl oal ^Ykl ML;G Yf\ al mk]k k]hYjYl] \YlY Zmk( af[gjhgjYl]\ gf l] kYe] hjg)
[]kkgj [ah* J]j^gjeYf[] aehjgn]e]flk \]h]f\ gf al jYl]k g^ ]Y[ [Y[]( Yf\
km[ k[]e]k [gehda[Yl]k j]hdY[]e]fl Yd_gjalek Yf\ ojal] hgda[q* Qal F. [Y[]
gf)ZgYj\( F/ [Y[] [Yf aehjgn] h]j^gjeYf[] bmkl Yk F. [Yf aehjgn] gn]j FYdgf]*
Cf[gjj][l ZjYf[ hj]\a[lagfk Yf\ afY[[mjYl] hj]^]l[ j]im]klk j]kmdl af
e]egjq j]^]j]f[]k lYl Yj] fgl f]]\]\ Zq [gjj][l ]p][mlagf Yf\ mk]d]kk kh][mdYlan]
e]egjq j]^]j]f[]k* N]k] mk]d]kk j]^]j]f[]k eYq \]l]jagjYl] hjg[]kkgj h]j^gj)
eYf[] kaf[] l]q [Ymk] [Y[] hgddmlagf Yf\ [gfl]flagf af ZYf\oa\l Yk o]dd Yk
Yj\oYj] j]kgmj[]k U25W* C^ F. [Y[] ]paklk af l] e]egjq a]jYj[q( lak f]_Ylan]
h]j^gjeYf[] aehY[l g^ kh][mdYlan] j]^]j]f[]k Z][ge]k nakaZd]* Nak ak Z][Ymk] Y
kh][mdYlan] F.)eakk Yddg[Yl]k Y [Y[] Zdg[c af Zgl F- Yf\ F. [Y[]k %dac] Y fgf)
kh][mdYlan] F. eakk& Yf\ mk]d]kk kh][mdYlan] Zdg[ck g[[mhq ]flja]k af Zgl [Y[]
d]n]dk( oa[ d]Y\k lg hgddmlagf af Zgl [Y[] d]n]dk* Cf lak [Yk]( Y e]lg\ [Ydd]\
[Y[] ^adl]jaf_ [Yf Z] mk]\( o]j] l] F- =Y[] Yk Y ^adl]j lg ^adl]j gml l] kh][m)
dYlan]dq ^]l[]\ Zdg[c oa[ ak fgl j]^]j]f[]\ Zq Y fgf)kh][mdYlan] afkljm[lagf
oad] al ak af l] F- [Y[]* Bgo]n]j( lak e]lg\ j]imaj]k Yj\oYj] ]fYf[]e]flk
oa[ [ge] af l] [gkl g^ Yj\oYj] [gehd]palq km[ Yk Yf ]pljY kh][mdYlan] Zal af
]Y[ F- [Y[] Zdg[c lYl ak k]l o]f l] F. eakk oYk eYjc]\ kh][mdYlan] af eakk
Zm^^]j Yf\ j]k]l a^ Yf afkljm[lagf lYl Y[[]kk]\ l] [Y[] Zdg[c ak j]laj]\* N] Za_)
_]j F- [Y[] kar] ak( l] egj] ]^^][lan] lak e]lg\ Z][ge]k U25W*
2.6.7.

Simple and Small Caches

Maf[] al jYl] ak lqha[Yddq n]jq a_ [gehYj]\ lg eakk jYl]( Yfq j]\m[lagf af


al lae] ak eY_fa^a]\ lg ka_fa^a[Yfl _Yaf af [Y[] h]j^gjeYf[]* Nak ak aehgjlYfl
Z][Ymk] al lae] Y^^][lk l] [dg[c jYl] g^ =JO %a^ gf)[ah [Y[]k Yj] mk]\&*
2.6.8.

Unified vs. Separate Caches

M]hYjYl] \YlY Yf\ afkljm[lagfk [Y[]k [gf[]hlk [ge]k ^jge l] BYjnYj\


Yj[al][lmj] hjghgkYdk( lYl hjghgk]\ k]hYjYl] e]egja]k dg[Ylagfk Yf\ Zmk]k Y[)
[]kk]k( Yk ghhgk]\ lg kaehd] e]egjq mfalk [geZafaf_ \YlY Yf\ afkljm[lagfk af l]
gd\]j ngf)H]meYff Yj[al][lmj]* <mk afl]j^Y[]k ^jge [Y[] lg hjaeYjq e]egjq
Yj] k]hYjYl]\ Yf\ \]\a[Yl]\ af BYjnYj\ Yj[al][lmj]* Nak k]hYjYlagf ak \m] lg
ZYf\oa\l ljY^^a[ j]Ykgfk( Yf\ Z][Ymk] l]q eYq Yn] \a^^]j]fl [gfljgd ^]Ylmj]k*
M]hYjYl] [Y[]k Yddgok _j]Yl]j ^d]paZadalq g^ eYfY_]e]fl ^gj l] e]egjq
a]jYj[q( ljYfk^]jjaf_ l] [gehd]palq g^ l] gh]jYlagf lg l] hah]daf]\ =JO(
o]j] ]Y[ e]egjq Y[[]kk Yk alk gof hqka[Yd j]kgmj[] Yf\ ak gof \]\a[Yl]\
Zmk kg l]q [Yf Y[[]kk af hYjYdd]d* Nak k]hYjYl]\ kqkl]e ]dhk Ynga\af_ klYddk af
l] =JO* N]q Ydkg Yn] Y a_]j Y[[]kk jYl] ^gj _an]f [Y[] kar] Z][Ymk] [Y[] ak
YmlgeYla[Yddq ZYdYf[]\ Z]lo]]f afkljm[lagfk Yf\ \YlY* ;fgl]j Y\nYflY_] ak l]
30

Embedded Microprocessors and Memories

]Yk] g^ aehd]e]flYlagf7 gf] [Y[] f]]\k lg Z] aehd]e]fl]\( l] gl]j gf] ogmd\


Z] a\]fla[Yd*
@gj keYdd Yf\ [gehd]p ]d][ljgfa[ \]na[]k( go]n]j( hgo]j # h]j^gjeYf[]
j]imaj]e]flk eYq d]Y\ lg l] [ga[] g^ Y mfa^a]\ [Y[] afkl]Y\( c]]haf_ k]hYjYl]
ljYfkdYlagf lYZd]k( lgm_* >\ZheX .)2 kgok Y mfa^a]\ F- [Y[] Yf\ Y mfa^a]\ F.
[Y[] Yf\ Y khdal [Y[] oal k]hYjYl] afkljm[lagf Yf\ \YlY [Y[]k Yf\ Y mfa^a]\ F.
[Y[]*
Cfkljm[lagfk Yf\ \YlY Yn] \a^^]j]fl hYll]jfk g^ l]ehgjYd Yf\ khYlaYd dg[Yda)
lq* BYnaf_ k]hYjYl] afkljm[lagf Yf\ -\YlY [Y[]k g^^]j hgkkaZadalq g^ ka_fa^a[Yfldq
af[j]Yk] l] [Y[] ZYf\oa\l U3,W* N]j] ak Yf ]ph]fk]( go]n]j( lYl Y mfa^a]\
[Y[] oal kYe] kar] Yk kme g^ kar]k g^ khdal afkljm[lagf Yf\ \YlY [Y[]k _an]k dgo]j
]^^][lan] eakk jYl] U3-W* Cf mfa^a]\ [Y[]( jYlag g^ afkljm[lagf lg \YlY( ogjcaf_ k]l
g^ ]d]e]flk [Yf_]k \mjaf_ ]p][mlagf g^ hjg_jYe Yf\ ak Y\Yhl]\ lg Zq j]hdY[])
e]fl kljYl]_q* Mm[ Y\YhlYlagf ak fgl hgkkaZd] af khdal [Y[]k* @mjl]jegj]( ]Y[
[Y[] [Yf Z] ghlaear]\ ^gj alk gof hYll]jf g^ dg[Ydalq( go]n]j j]imajaf_ [gehd]p
\]ka_f ]kh][aYddq af [gfljgd Yj\oYj] af khdal [Y[]k*
Ofa^a]\ [Y[] \][j]Yk]k Yj\oYj] [gehd]palq kaf[] al f]]\k Y kaf_d] Zmk
[gff][lagf lg Y[[]kk afkljm[lagfk Yf\ \YlY( go]n]j af khdal [Y[] o] f]]\ log
e]egjq Zmkk]k %log [gehd]l] k]lk g^ e]egjq Y\\j]kk Yf\ \YlY daf]k&( gf] lg ]Y[
g^ l] [Y[]k( af[j]Ykaf_ Yj\oYj] [gehd]palq*
=mjj]fl lj]f\ ^Yngjk khdal [Y[]k Yf\ eYc]k al mk]^md ]kh][aYddq ^gj kmh]jk[Y)
dYj eY[af]k oal hYjYdd]d ]p][mlagf g^ afkljm[lagfk Yf\ hj]^]l[af_ g^ hj]\a[l]\
afkljm[lagfk( kaf[] khdal [Y[] ]daeafYl]k [gfl]flagf ^gj [Y[] Z]lo]]f afkljm[lagf
^]l[+\][g\] mfal Yf\ l] ]p][mlagf mfal %o]f Y[[]kkaf_ \YlY& Yf\ ]dhk lg c]]h
hah]daf] ^mdd Z][Ymk] l] ?O oadd Zdg[c l] ^]l[+\][g\] mfal gl]joak] U3.W*N]
log YhhjgY[]k %khdal Yf\ mfa^a]\ [Y[]k& [Yf Z] e]j_]\ lg ^gje Y qZja\ e]egjq
a]jYj[q o]j] F- [Y[] ak khdal o]j]Yk F. ak mfa^a]\( Yk kgof af >\ZheX .)26

Figure 2-6: Unified (to the left) and separate (to the right) caches
2.6.9.

Write Policy

Qjal] akkm]k g^ =JO Yj] af eYfq oYqk egj] [gehda[Yl]\ lYf j]Y\ akkm]k(
kaf[] ojal]k j]imaj] Y\\alagfYd ogjc Z]qgf\ lYl ^gj Y [Y[] al ]*_* ojalaf_ l]
31

Embedded Microprocessors and Memories

\YlY ZY[c lg l] e]egjq kqkl]e U3.W* Q] [Yf [dYkka^q l] Z]Ynagj g^ ojal]k \])
h]f\af_ gf o]l]j l] ojal] ak Y al gj Y eakk*
Q]f =JO f]]\k lg h]j^gje Y ojal] Yf\ l] ojal] alk af [Y[] e]egjq(
l]f l] [Yf_]k [Yf ]al]j Z] \gf] Yl [Y[] d]n]d gfdq gj Zgl Yl [Y[] d]n]d Yf\
hjaeYjq e]egjq %gj Y dgo]j d]n]d a]jYj[q e]egjq& d]n]d* Cf l] dYll]j [Yk]( mh)
\Ylaf_ hjaeYjq e]egjq [Yf Z] hgklhgf]\ mflad l] daf] Yk lg Z] j]hdY[]\* Nak
oYq g^ hjg[]]\af_ ak [Ydd]\ ojal])ZY[c gj [ghq)ZY[c* Q]f [Y[] daf]k d]Yn] l]
[Y[] mfal( \]h]f\af_ gf l] j]hdY[]e]fl Yd_gjale( \YlY [gflYaf]\ oalaf alk]d^
oadd mh\Yl] hjaeYjq e]egjq af l] j]kh][lan] Y\\j]kk( gfdq a^ \YlY Yk Z]]f
[Yf_]\ oad] klYqaf_ af l] [Y[]( oa[ ak ka_fYd]\ Zq Y \ajlq Zal [gflYaf]\ af
]Y[ [Y[] daf]* Nmk( [Y[] c]]hk l] \YlY al]e dg[Yddq Yf\ gfdq ojal]k nYdm] lg
e]egjq a^ Yf\ gfdq a^ l] nYdm] j]Y[]k l] ]f\ g^ l] j]hdY[]e]fl dakl Yf\ emkl
Z] j]hdY[]\*
=ghq)ZY[c [Y[]k j]imaj] khY[] ^gj l] \ajlq Zalk af [Y[]* Q] Ydkg Yn] lg
Z] [Yj]^md lg ljY[c [g]j]f[q g^ ]na[l]\ nYdm] ^jge l] [Y[] mflad al j]Y[]k
e]egjq7 oa[ af[j]Yk]k dYl]f[q ^gj ]na[laf_ \ajlq Zdg[ck* ;\nYflY_] g^ km[ ojal]
k[]e] ak lYl \g]kfzl dgY\ Zmk ljY^^a[ em[ kaf[] l]j] ak fg f]]\ lg j]h]Yl ojal]k
lg kdgo e]egjq ^gj j]h]Yl]\ ojal] Y[[]kk]k7 go]n]j al j]imaj]k Yddg[Ylagf g^ Y
[Y[] Zdg[c*
;fgl]j Ydl]jfYlan] g^ ]p[Yf_af_ \YlY Z]lo]]f hjaeYjq e]egjq Yf\ [Y[]
e]egjq gf Y ojal] al ak ojal])ljgm_* Cf lak [Yk]( [Y[] e]egjq ^gjoYj\k l]
ojal] j]im]kl ^jge =JO lg e]egjq Zml l] [Y[] emkl Ydkg [][c lg k]] o]l]j
Yf al]e ak af l] [Y[]* C^ kg( l] [Y[] emkl mh\Yl] alk [ghq( lmk l] [Y[] ak
c]hl Y [ghq Yf\ ^gjoYj\k l] ojal] gh]jYlagf lg l] mf\]jdqaf_ e]egjq( Ynga\af_
e]egjq [g]j]f[q hjgZd]ek* Nak Z]Ynagj [gmd\ Y^^][l ZY\dq l] [dg[ck)h]j)
afkljm[lagf %=JC& g^ l] =JO %j]^]j lg k][lagf 0*4*-*/* ^gj =JC& a^ al Yk lg oYal
^gj l] ojal])ljgm_ lg Z] ^afak]\ Z]^gj] hjg[]]\af_ oal ]p][mlagf* %L]^]j lg
k][lagf .*2*--* YZgml ojal])Zm^^]jk ^gj ^mjl]j \]lYadk&* <q mkaf_ fgf)Zdg[caf_
[Y[]k( o] [Yf ]fYZd] e]egjq mh\Yl] oalgml klYddaf_ l] hjg[]kkgj( Zq Y [Yj]^md
eYfY_]e]fl g^ Zmk [geemfa[Ylagf oal hjaeYjq e]egjq*
Qjal])ljgm_ [Y[]k Yj] kaehd]j lg aehd]e]fl Yf\ l]q Yj] mk]\ eYafdq
af Yhhda[Ylagfk o]j] \YlY ak k]d\ge j])ojall]f Zq l] hjg[]kkgj* N]q Ydkg j]kmdl
af af[j]Yk]\ Zmk ljY^^a[ kaf[] l] \YlY Yk lg Z] ojall]f lg hjaeYjq e]egjq ]n]jq
lae] al ak ojall]f lg [Y[] Ydkg %hjaeYjq e]egjq Y[[]kk]k Yj] em[ kdgo]j [ge)
hYj]\ lg [Y[] Y[[]kk]k&U3/W* L]Y\ eakk]k [Yffgl j]kmdl af ojal]k Yf\ fg Yddg[Ylagf
g^ Y [Y[] Zdg[c ak f]]\]\* Qjal])ljgm_ [Y[]k Yj] YdoYqk [geZaf]\ oal ojal]
Zm^^]jk kg lYl =JO \g]kfzl f]]\ lg oYal ^gj kdgo e]egjq*
2.6.10.

Allocation Policy

Qjal] eakk hgda[a]k af[dm\] lj]] k]ea)\]h]f\]fl nYjaYZd]k6 @ajkl( ojal]k


lYl eakk af l] [Y[] eYq gj eYq fgl Yn] Y daf] Yddg[Yl]\ af l] [Y[]( oa[ ak
[Ydd]\ l] Yddg[Ylagf hgda[q \]l]jeafaf_ o]f Y f]o [Y[] ]fljq ak lg Z] Yddg)
[Yl]\* N]j] Yj] log hgkkaZd] [ga[]k6 eg\a^q e]egjq af hjaeYjq e]egjq Yf\
klgj] lak mh\Yl]\ \YlY aflg [Y[]( lYl ak [Ydd]\ ojal])Yddg[Yl]( l] gl]j [ga[] ak
lg eYc] [Yf_]k bmkl af hjaeYjq e]egjq Yf\ Ynga\ ljYfk^]jjaf_ al aflg [Y[]
e]egjq( lak ak cfgof Yk fg)ojal] Yddg[Yl]* Cf fg)ojal])Yddg[Yl] hgda[q( o]f
32

Embedded Microprocessors and Memories

j]Y\k g[[mj lg j][]fldq ojall]f \YlY( l]q emkl oYal ^gj Zjaf_af_ l] ]flaj] daf] lg
l] [Y[] U3.W* Cf _]f]jYd( ojal])ljgm_ [Y[]k mk] fg)ojal])Yddg[Yl]( o]j]Yk
[ghq)ZY[c [Y[]k mk] ojal])Yddg[Yl]*
M][gf\( ojal]k lYl eakk af l] [Y[] eYq gj eYq fgl ^]l[ l] Zdg[c Z]af_
ojall]f* ; [Y[] lYl mk]k Y ^]l[)gf)ojal] hgda[q emkl oYal ^gj Y eakk]\ [Y[]
daf] lg Z] ^]l[]\ ^jge Y dgo]j d]n]d g^ e]egjq a]jYj[q( oad] Y [Y[] mkaf_ fg)
^]l[)gf)ojal] [Yf hjg[]]\ aee]\aYl]dq*
Naj\( a^ \aj][l)eYhh]\ ojal])ljgm_ [Y[] ak mk]\( \YlY [Yf Z] ojall]f
[gf[mjj]fldq oal lY_ [][c( oa[ ak [Ydd]\ ojal])Z]^gj])al* C^ lY_k \g fgl
eYl[( lak e]Yfk \YlY ak [gjjmhl]\( Yk \YlY ^jge l] ojgf_ Zdg[c Yk bmkl Z]]f
ojall]f aflg al U3.W*
2.6.11.

Write Buffers

C^ Y klgj] afkljm[lagf eakk]k af l] \YlY [Y[] Yf\ fg)ojal] Yddg[Yl] ak k]l(


l]f l] e]egjq daf] oadd fgl Z] klgj]\ af l] [Y[]( afkl]Y\ al oadd Z] eg\a^a]\ af
hjaeYjq e]egjq* C^ ojal])ljgm_ e][Yfake ak Y[lan]( l]f l] klgj] oadd ojal]
\YlY aflg hjaeYjq e]egjq \aj][ldq o]l]j l] Y[[]kk alk af l] [Y[] gj fgl( Yf\
o]l]j l] Yddg[Yl] Zal ak k]l gj fgl* C^ Y [Y[] daf] ^add ak j]im]kl]\ Yl l] kYe]
lae] Zq l] [Y[] [gfljgdd]j( l]f l] [Y[] [gfljgdd]jk j]im]kl lg l] \YlY Zmk
Yk lg oYal ^gj l] ]flaj] ojal] ljYfkY[lagf lg hjaeYjq e]egjq lg Z] [gehd]l]\* Cf
Y klgj] eakk oal ojal])ljgm_ hgda[q( ojalaf_ lg hjaeYjq e]egjq aehda]k Y h]j)
^gjeYf[] h]fYdlq ^gj ]n]jq Y[[]kk( Yf\ Yf af[j]Yk] af l] Zmk ljY^^a[( lmk eYcaf_
l] [Y[] [gfljgdd]j lg oYal ^gj dgf_ lae]* N] =JO( Yl l] kYe] lae]( eYq oYal
^gj l] [Y[] daf] oYalaf_ lg Z] ^add]\ Zq l] [Y[] [gfljgdd]j( lmk [Ymkaf_ =JO lg
klYdd alk [mjj]fl ]p][mlagf*
Ng Ynga\ km[ [gf\alagfk( @C@I kljm[lmj]k [Ydd]\ ojal])Zm^^]jk Yj] mk]\
Z]lo]]f [Y[] e]egjq Yf\ hjaeYjq e]egjq kg lYl l] klgj] gh]jYlagf ak fgl
ojall]f \aj][ldq Zml Zm^^]j]\ af ojal])Zm^^]jk Yf\ lYl km[[]]\af_ [Y[] ^add gh]jY)
lagfk [Yf ]p][ml] af Y hah]daf]\ ^Ykagf oalgml Ynaf_ lg oYal ^gj klgj]* ;^l]j l]
daf] Yk Z]]f ojall]f lg [Y[] e]egjq( l] ogj\ af l] ojal] Zm^^]j [Yf Z] [g)
ha]\)ZY[c lg hjaeYjq e]egjq* Nmk( ojal] Zm^^]jk ]dh lg j]\m[] ojal] klYddk g^
=JO kg lYl =JO [Yf [gflafm] aee]\aYl]dq Y^l]j ojal] \YlY ak hdY[]\ af l] Zm^)
^]jk* Qjal])Zm^^]jk Yn] af)_]f]jYd emdla ]flja]k kg lYl o]f gf] ogj\ ak ojall]f
lg e]egjq( Yfgl]j ogj\ [Yf Z] Zm^^]j]\ aflg l] ojal])Zm^^]j*
Cf Y ojal])ljgm_ [Y[] oalgml ojal] Zm^^]j( hjg[]kkgj emkl [gehd]l] l]
eYaf e]egjq Zmk ljYfkY[lagf ]n]jq lae] al h]j^gjek Y ojal]* Nak [Ymk]k al lg km^)
^]j ^jge Zmk \]dYqk* Cf Zm^^]j]\ [Yk]( hjg[]kkgj ojal]k l] \YlY lg [Y[] Yl l] kYe]
lae] al ojal]k l] \YlY Yf\ Y\\j]kk lg ojal] Zm^^]j %Zml fgl lg kqkl]e Zmk& \mjaf_
ojal] gh]jYlagf* N] hjg[]kkgj l]f [gflafm]k [Y[] Y[[]kk( oad] [Y[] [gfljgdd]j
kaemdlYf]gmkdq \gofdgY\k [gfl]flk g^ ojal] Zm^^]j lg eYaf e]egjq* Nak ka_fa^a)
[Yfldq aehjgn]k ]^^][lan] ojal] e]egjq [q[d] lae]* N] mk] g^ ojal] Zm^^]jk [Yf
f]Yjdq j]egn] h]j^gjeYf[] \a^^]j]f[]k Z]lo]]f ojal])ljgm_ Yf\ [ghq)ZY[c* ;k
oadd Z] k]]f ^jge j]kmdlk [Yhl]j( ]fYZdaf_ ojal] Zm^^]jk aehjgn]k h]j^gjeYf[]
YZgml -1" af ojal])ljgm_ [gf^a_mjYlagf( Zml kladd j]eYafk 01" ogjk] lYf
[ghq)ZY[c* Qal Y []jlYaf [gf^a_mjYlagf( hjgZYZdq oal Yfgl]j hjg[]kkgj ^jge
Jgo]jJ= ^Yeadq( al [gmd\ Z] hgkkaZd] lg aehjgn] ojal])ljgm_ ]n]f egj] [dgk]\
33

Embedded Microprocessors and Memories

lg [ghq)ZY[c* Qjal] Zm^^]jk [Ymk] l]aj gof hjgZd]ek( lgm_* Cf Jgo]jJ= Yj[a)
l][lmj]( ojal])Zm^^]jk Yj] j]fYe]\ Yk klgj] Zm^^]jk*
Qjal] Zm^^]jk [Yf Ydkg Z] mk]\ hjg^alYZdq oal [ghq)ZY[c [Y[]k( o]j] l]
j]Y\ eakk kaehdq j]hdY[]k \ajlq Zdg[c* HgjeYddq( l] \ajlq Zdg[c ak ojall]f \aj][ldq
lg e]egjq Yf\ l]f j]Y\ ak \gf]* Cf [Yk] g^ ojal])Zm^^]jk( l] \ajlq Zdg[c ak [g)
ha]\ aflg ojal] Zm^^]j Yf\ l]f j]Y\ ak \gf] ^gddgo]\ Zq l] ojal]* =JO klYddk d]kk
kaf[] al j]klYjlk Yk kggf Yk j]Y\ ak \gf]*
Cf gj\]j lg Y[a]n] a_]j h]j^gjeYf[]( l] =JO ea[jg)Yj[al][lmj] [Yf Yd)
kg mk] klgj])_Yl]jaf_( oa[ j]^]jk lg _Yl]jaf_ log gj egj] ojal] Y[[]kk]k lg
e]egjq aflg bmkl gf] e]egjq Y[[]kk* N] \akY\nYflY_]k g^ _Yl]jaf_ ojal] Zm^^]jk
ak lYl l]q [Yf [Ymk] =JO klYddk o]f l]q Yj] [geh]laf_ oal Y [Y[] eakk ^gj
l] Zmk mk]( o]f l] Zm^^]j ak ^mdd( gj o]f al [gflYafk l] mh\Yl]\ \YlY f]]\]\
Zq Y dgY\* N] Zm^^]j \]]hf]kk ak \]ka_f]\ Y[[gj\af_ lg Ynga\ klYddk Yf\ kladd j])
\m[] l] eakk h]fYdlq*
;fgl]j [gf[]hl lg Y[a]n] a_]j h]j^gjeYf[] oal ojal] Zm^^]jk ak e]j_)
af_ ojal] Zm^^]jk( o]j] f]o ojall]f \YlY aflg Yf ]paklaf_ Zdg[c af l] ojal] Zm^)
^]j Yj] e]j_]\7 j]\m[af_ klYddk \m] lg ojal] Zm^^]j Z]af_ ^mdd* Nak k[]e] ae)
hjgn]k e]egjq ]^^a[a]f[q kaf[] emdla)ogj\ ojal]k Yj] mkmYddq ^Ykl]j lYf ojalaf_
gf] ogj\ Yl Y lae] U30W*
;k ]phdYaf]\ Z]^gj]( ojal] Zm^^]jk [Yf ]^^a[a]fldq af[j]Yk] =JO h]j^gj)
eYf[]7 go]n]j l]q [Ymk] l]aj gof k]l g^ hjgZd]ek* N]q [Yf d]Y\ lg hgl]flaYd
[g]j]f[q hjgZd]ek kg lYl hjg[]kkgj Yk lg [][c l] ojal] Zm^^]j Yk o]dd Yk [Y[)
]k lg eYaflYaf [g]j]f[q Z]lo]]f [Y[] Yf\ e]egjq* CeY_af] Y klY[c hmk ^gd)
dgo]\ kgjldq Zq Y hgh7 o]j] hmk ak Y ojal] eakk oa[ Yk fgl Z]]f q]l ojall]f
aflg l] [Y[] U31W* HYlmjYddq( hgh oadd Ydkg km^^]j Y j]Y\ eakk* ?n]f a^ ojal] Zm^^]j
ak gfdq kaf_d] d]n]d \]]h( l]j] ak Y hgkkaZadalq lYl \YlY ^jge hmk oadd fgl Yn]
eY\] aflg hjaeYjq e]egjq Z]^gj] ]p][mlagf g^ hgh* C^ fg [Yj] ak lYc]f( hgh oadd
j]Y\ l] klYd] \YlY af hjaeYjq e]egjq Z]^gj] al ak mh\Yl]\ oal hmk]\ \YlY( j])
kmdlaf_ af [Y[] [g]j]f[q hjgZd]ek* ; kgdmlagf ogmd\ Z] lg \akYddgo [Y[] lg
h]j^gje Y daf] mh\Yl] mflad ojal] Zm^^]j [gfl]flk Yn] Z]]f dgY\]\ lg e]egjq gj
lg YdoYqk mh\Yl] eakk]\ daf] gf ojal] eakk7 Zml hjgZd]e _]lk ]n]f lja[ca]j af emd)
la)d]n]d ojal] Zm^^]jk af e]egjq a]jYj[q* Qjal] Zm^^]jk emkl ]al]j Z] ]flaj]dq
\]hd]l]\ Z]^gj] [Y[] [Yf [gflafm] oal daf] mh\Yl] gj al emkl kYlak^q \YlY j]im]klk
^jge =JO U31W*
;fgl]j hjgZd]e ak lYl ojal])ljgm_ [Y[]k oal ojal] Zm^^]jk g^^]j
L]Y\);^l]j)Qjal] %L;Q& [gf^da[lk oal eYaf e]egjq j]Y\k gf [Y[] eakk]k* ;
L;Q YrYj\ Yhh]fk af =JO hah]daf] o]f l] =JO lja]k lg Y[[]kk Y e]egjq
dg[Ylagf lYl ak Z]af_ mh\Yl]\( Zml fgl q]l Yk ^afak]\ l] mh\Ylaf_ hjg[]kk* Nak
Yhh]fk af l] afkljm[lagf hah]daf] o]f Y dgY\ ^gddgok Y klgj] gh]jYlagf Yf\ l]q
ljq lg Y[[]kk l] kYe] e]egjq dg[Ylagf af hjaeYjq e]egjq* C^ klgj] gh]jYlagf
\g]k fgl ^afak mh\Ylaf_ lYl dg[Ylagf Z]^gj] j]Y\ afkljm[lagf klYjlk ^]l[af_ l]
\YlY( l]f l] =JO oadd _]l klYd] \YlY( oa[ [Yf [Ymk] hjgZd]ek af l] hah]daf]
Yf\ klYdd l] =JO* C^ o] kaehdq oYal ^gj ojal] Zm^^]j lg ]ehlq( ea_l af[j]Yk] j]Y\
eakk h]fYdlq* Cfkl]Y\( =JO [Yf [][c ojal] Zm^^]j [gfl]flk Z]^gj] j]Y\7 a^ fg [gf)
^da[lk Yj] hj]k]fl( l] e]egjq Y[[]kk ak Yddgo]\ lg [gflafm]* Nak e]lg\ ak j])
^]jj]\ lg Yk Jjagjalq lg Qjal]k gn]j L]Y\k*
34

Embedded Microprocessors and Memories


2.6.12.

Replacement Policy

=Y[] j]hdY[]e]fl hgda[q ak Y eYbgj \]ka_f hYjYe]l]j g^ Yfq e]egjq a])


jYj[q7 Z][Ymk] l] ]^^a[a]f[q g^ l] j]hdY[]e]fl hgda[q Y^^][lk Zgl l] al jYl]
Yf\ l] Y[[]kk dYl]f[q g^ Y [Y[] kqkl]e* N] a_]j l] Ykkg[aYlanalq g^ l] [Y[](
l] egj] nalYd l] j]hdY[]e]fl hgda[q Z][ge]k U2.W*
N] [gfl]flk g^ Y [Y[] e]egjq Yj] [gfljgdd]\ Zq l] j]hdY[]e]fl Yd_g)
jale* N] kaehd]kl Yj\oYj] aehd]e]flYlagf ak l] jgmf\ jgZaf hgda[q( o]j]
[Y[] daf]k Yj] j]hdY[]\ af Y [aj[mdYj gj\]j oalgml Yfq hjagjalq( oa[ ogjck ^af]
^gj keYdd Ykkg[aYlan] [Y[]k* =geegf j]hdY[]e]fl Yd_gjalek mk]\ af [Y[] Yj[a)
l][lmj]k Yj] kmeeYjar]\ Yk ^gddgok6
a*

aa*

aaa*
an*
n*

na*

FLO %F]Ykl L][]fldq Ok]\& hgda[q j]hdY[]k [Y[] dg[Ylagfk lYl Yn] fgl
Z]]f mk]\ ^gj dgf_ h]jag\k g^ lae]* Cl qa]d\k a_]j h]j^gjeYf[] Z][Ymk](
Y[[gj\af_ lg l] khYlaYd dg[Ydalq [gf[]hl( l] egkl j][]fldq mk]\ al]ek Yj]
egj] dac]dq lg Z] j]im]kl]\ f]pl* N] d]Ykl j][]fldq mk]\ j]hdY[]e]fl
hgda[q %FLO& ]fkmj]k lYl* N] \akY\nYflY_] g^ FLO ak lYl al j]imaj]k
[gehd]p Yj\oYj] aehd]e]flYlagfk( lak [gehd]palq af[j]Yk]k jYha\dq oal
l] kar] g^ l] Ykkg[aYlan]*
LYf\ge j]hdY[]e]fl hgda[q( o]j] Yddg[Ylagf g^ Zdg[ck Yj] khj]Y\ mf)
a^gjedq( Yf\ [Yf\a\Yl] Zdg[ck Yj] jYf\gedq k]d][l]\ oal fg j]_Yj\ lg
e]egjq j]^]j]f[]k gj hj]nagmk k]d][lagfk7
@C@I %@ajkl)af)@ajkl)gml& hgda[q o]j] l] daf] oa[ Yk Z]]f af l]
[Y[] ^gj dgf_]kl lae] ak j]egn]\
GLO %Ggkl L][]fldq Ok]\& hgda[q o]j]( af [gfljYkl lg FLO( egkl j])
[]fldq j]^]j]f[]\ al]ek Yj] \ak[Yj\]\ ^ajkl
F@O %F]Ykl @j]im]fldq Ok]\& hgda[q( o]j] l]j] ak Y [gmfl]j [gmflaf_
go g^l]f Y [Y[] Zdg[c ak mk]\ oal l] gf]k Z]af_ d]Ykl g^l]f Yj] \ak)
[Yj\]\ ^ajkl*
JFLO %Jk]m\g FLO& hgda[q oa[ mk]k Y hjgZYZadakla[ k[]e] lYl Ydegkl
YdoYqk \ak[Yj\k gf] g^ l] d]Ykl j][]fldq mk]\ al]ek ak km^^a[a]fl

FLO( JFLO Yf\ @C@I Yd_gjalek Yj] l] egkl [geegf oYq lg af[j]Yk]
[Y[] al jYlag af [Y[]k* N] [ga[] g^ l] j]hdY[]e]fl hgda[q \]h]f\k( Z]ka\]k
l] Ykkg[aYlan] kar]( gf l] hYjla[mdYj f]]\k g^ l] Yhhda[Ylagf Yf\ al [Yf ka_fa^a)
[Yfldq Y^^][l h]j^gjeYf[] af e]egjq a]jYj[q* Mmhhgk] lYl l] F. [Y[] \])
[a\]k lg ]na[l Yf FLO Zdg[c( gf] gj egj] Zdg[ck Yl F-( hgkkaZdq fgl FLO( [Yf Z]
]na[l]\( l]j]^gj] Y^^][laf_ l] al jYl] g^ d]n]d Yf\ l] gn]jYdd h]j^gjeYf[] U32W*
L]af]c] ]l*Yd* U32W afn]kla_Yl]\ l] hj]\a[lYZadalq g^ ^gmj hjgeaf]fl [Y[]
j]hdY[]e]fl hgda[a]k6 FLO( JFLO( GLO Yf\ @C@I Yf\ kgo]\ lYl fg hgda[q
[Yf h]j^gje Z]ll]j lYf FLO( oal l] gl]j hgda[a]k %JFLO( GLO( Yf\ @C@I&(
h]j^gjeaf_ [gfka\]jYZdq ogjk]*
>]l]jeafake ak gf] g^ l] [jm[aYd [jal]jaY g^ Yf Ynagfa[k Yhhda[Ylagf Yf\
[ggkaf_ FLO eYq fgl Z] ]fgm_ lg kYlak^q km[ [jal]jaY* C^ ]plj]e] hj]\a[lYZadalq
ak [gf[]jf]\( km[ Yk Y kY^]lq [jala[Yd Yhhda[Ylagf af l] kqkl]e( \]ka_f]jk [Yf ]n]f
35

Embedded Microprocessors and Memories

\akYZd] l] [Y[] [gehd]l]dq( ZqhYkk al Yf\ Y[[]kk hjaeYjq e]egjq \aj][ldq ]n]f af
]ph]fk] g^ h]j^gjeYf[] dgkk*
Of^gjlmfYl]dq( al oYk fgl hgkkaZd] lg [Yf_] l] j]hdY[]e]fl Yd_gjale
\mjaf_ gmj h]j^gjeYf[] l]klk( kaf[] l] [gjj]khgf\af_ j]_akl]j ak j]Y\)gfdq*
2.6.13.

Cache Locking

;k ]phdYaf]\ Z]^gj]( l] j]Ykgf ^gj Ynaf_ [Y[] e]egjq ak lg [dgk] l] h]j)


^gjeYf[] _Yh Z]lo]]f l] hjg[]kkgj Yf\ l] hjaeYjq e]egjq( oa[ ak b]ghYj)
\ar]\ Zq l] fgf)\]l]jeafakla[ Z]Ynagj g^ [Y[]k* =gfl]flk afka\] l] [Y[] Yj]
j]hdY[]\ [gfklYfldq \]h]f\af_ _dgZYddq af kge] Yd_gjalek* =Y[] dg[caf_ ak Y
e][Yfake lg hj]n]fl l] [gfl]flk g^ l] [Y[] ^jge Z]af_ gn]jojall]f*
>a^^]j]fl [Y[] daf]k Yj] j]im]kl]\ Y_Yaf Zq l] hjg[]kkgj oal \a^^]j]fl
^j]im]f[a]k( kge] g^ l]e Yj] f]n]j j]im]kl]\ Y_Yaf( lak \]h]f\k gf l] hYjla[m)
dYj f]]\k g^ l] hjg_jYe* N] j]hdY[]e]fl hgda[q lYc]k [Yj] g^ e]egjq eYfY_])
e]fl af Y [Y[] d]n]d eYff]j* =Y[] dg[caf_ g^^]jk Y [gfljgd lggd Yl Y [Y[] daf]
d]n]d* Cfkmjaf_ lYl kge] \YlY oadd fgl Z] j]egn]\ ^jge [Y[] ak aehgjlYfl o]f
\]Y\daf]k Yf\ hj]\a[lYZadalq Yj] aehgjlYfl( Yk af l] [Yk] g^ Ynagfa[k Yhhda[Ylagfk*
@gj ]pYehd]( l] 00,?Jp [gj] \ana\]k Zgl afkljm[lagf Yf\ \YlY [Y[]k aflg
lj]] k]hYjYl] j]_agfk fYe]dq l] abeT_( geTaf\Xag Yf\ _bV^XW k]_e]flk* N] fgj)
eYd daf]k Yj] Z]Yn]k Yk fgjeYd( o]j]Yk l] ljYfka]fl j]_agf ak mk]\ lg eYc] kmj]
lYl gfdq Y daeal]\ fmeZ]j g^ oYqk Yj] mk]\ ^gj [Y[] daf]k ^jge e]egjq hY_]k
lYl Yj] a\]fla^a]\ Yk Z]af_ ljYfka]fl af fYlmj] U33W* N] dg[c]\ daf]k af l] [Y[]
ak hjgaZal]\ lg Z] Y[[]kk]\ Zq l] j]_mdYj hjg_jYe [g\]( l]q Yj] \]\a[Yl]\ lg Y
kh][a^a[ hgjlagf g^ [g\] oa[ eYq Z] g^ nalYd aehgjlYf[] lg l] Yhhda[Ylagf Yf\
lmk emkl Z] hj]n]fl]\ ^jge afl]j^]jaf_ oal l] gl]j j]_mdYj [g\] k]_e]flk*
?n]jq hgjlagf Yk log j]_akl]j nYdm]k \]^afaf_6 ^dggj Yf\ []adaf_ nYdm]k* Ifdq
fgjeYd Yf\ ljYfka]flk j]_agfk [Yf gn]jdYh*
Q]f Yf ]flaj] [Y[] ak dg[c]\( \YlY ^gj j]Y\ alk oalaf l] [Y[] Yj] kmh)
hda]\ lg l] j]im]klaf_ mfal af l] kYe] eYff]j Yk alk ^jge Yf mfdg[c]\ [Y[]*
MaeadYjdq( ojal]k lYl al af l] \YlY [Y[] Yj] ojall]f lg l] [Y[] af l] kYe] oYq
Yk ojal] alk lg Yf mfdg[c]\ [Y[] U33W* Bgo]n]j( Yfq Y[[]kk lYl eakk]k af l]
[Y[] ak lj]Yl]\ Yk Y [Y[])afaZal]\ Y[[]kk %a*]* l] Y[[]kk Yll]ehl oadd Z] hjghY)
_Yl]\ lg l] dgo]j d]n]d af e]egjq a]jYj[q&* Q]f l] [Y[] Yk Z]]f mfdg[c]\(
Ydd ]flja]k %af[dm\af_ afnYda\ ]flja]k& Yj] YnYadYZd]*
QYq)Fg[caf_( gf l] gl]j Yf\( j]^]jk lg dg[caf_ gfdq Y hgjlagf g^ l]
[Y[]( Yf\ ak Y[[gehdak]\ Zq dg[caf_ oYqk oalaf l] [Y[] U34W* Ofdac] ]flaj]
[Y[] dg[caf_( afnYda\ ]flja]k af Y dg[c]\ oYq Yj] Y[[]kkaZd] Yf\ Yj] YnYadYZd] ^gj
\YlY j]hdY[]e]fl*

2.7. Virtual Memory (VM)


;dlgm_ fgl [gfka\]j]\ Yk \]]h Yk [Y[]k af gmj hjgb][l( najlmYd e]egjq ak
lg Z] e]flagf]\ Zja]^dq ^gj j]Ykgfk g^ afl]_jalq Yf\ lg afljg\m[] l] NF< Yf\
GGO ZYka[k ^gj j]Y\]j lg mf\]jklYf\ l] [gf[dmkagfk Yf\ j]kmdlk g^ lak hjgb][l Yk
o]dd Yk lg ]phdYaf ZYka[k g^ l] hjgl][lagf e][Yfake*
N] ogjcaf_ hjaf[ahd] g^ PG j]da]k gf l] ^Y[l lYl Y\\j]kk]k ^gj klgjY_]
dg[Ylagfk mkmYddq \g fgl ^al af l] YnYadYZd] hqka[Yd e]egjq khY[]* =]jlYaf hgj)
36

Embedded Microprocessors and Memories

lagfk g^ \YlY Yf\ afkljm[lagfk [Yf Z] l]ehgjYjadq klgj]\ gf k][gf\Yjq klgjY_](


fYe]dq @dYk* Bgo]n]j( \akc klgjY_] ak fgl mk]\ af Ynagfa[k Yhhda[Ylagfk \m] lg l]
^Y[l lYl l]q Yj] n]jq hggjdq ]f\mjYZd] lg hqka[Yd ]fnajgfe]flk( ]Yl Yf\ ]kh])
[aYddq jY\aYlagf*
Jqka[Yd hjaeYjq e]egjq [gflYafk gfdq l] Y[lan] hgjlagf g^ l] najlmYd
khY[] Y\\j]kk khY[] [Yf Z] \ana\]\ aflg ^ap]\ kar] %hY_]k& gj nYjaYZd] kar] %k]_)
e]flk& Zdg[ck*
N] ZYka[ mfal g^ ljYfk^]j Z]lo]]f najlmYd e]egjq Yf\ hqka[Yd e]egjq ak
Y hY_]( o]j] l] hjaeYjq e]egjq ak \ana\]\ aflg hY_]k* ; hY_] ak [gf[]hlmYddq
dac] Y [Y[] Zdg[c Yf\ l] kar] g^ Y hY_] [Yf Z] ^ap]\ gj nYjaYZd]( \]h]f\af_ gf l]
ea[jg)Yj[al][lmj] g^ l] =JO Yf\ l] G]egjq GYfY_]e]fl Ofal %GGO&* ;
hY_] [Yf j]ka\] Yfqo]j] af eYaf e]egjq( gj gf l] k][gf\Yjq klgjY_]* Fac]
[Y[]( l]j] ak Y f]]\ lg cfgo oYl hY_] ak o]j] af e]egjq* Nmk( kaeadYj lg
lY_k af [Y[]( Y hY_] lYZd] ak mk]\ lg eYh hY_]k lg e]egjq dg[Ylagfk Yf\ j]ka\]k
af hjaeYjq e]egjq*
?Y[ =JO hjg[]kk c]]hk alk gof hY_] lYZd] Yf\ ]Y[ hY_] lYZd] ]fljq [gf)
lYafk l] ^jYe] fmeZ]j g^ l] [gjj]khgf\af_ hY_] af eYaf e]egjq* @gj egj]
]^^a[a]f[q( emdla)d]n]d hY_] lYZd]k gj afn]jl]\ hY_] lYZd]k [Yf Ydkg Z] mk]\ lg
kYn] l] Yegmfl g^ e]egjq f]]\]\*
C^ hqka[Yd e]egjq ak [gehd]l]dq mk]\ mh( Zml Yfgl]j hjg[]kk f]]\k lg
jmf( gj Y jmffaf_ hjg[]kk f]]\k egj] \YlY( l] LNIM jmffaf_ gf l] ]eZ]\\]\
[gehml]j [Yf egn] l] hY_] gml g^ l] e]egjq lg l] koYh khY[] lg eYc] jgge
^gj l] f]o hY_]* N] k]d][lagf g^ l] hY_] lYl Yk lg egn] gml ak [gfljgdd]\ Zq
l] LNIM Yf\ Yk af [Y[]( [YjY[l]jar]\ Zq l] j]hdY[]e]fl hgda[q* N] =JO
YdoYqk mk]k najlmYd Y\\j]kk]k o]f al f]]\k lg \g Y j]Y\ gj ojal]( lmk l]k] Y\)
\j]kk]k emkl Z] eYhh]\ aflg l] hqka[Yd L;G e]egjq* Nak eYhhaf_( [Ydd]\
Y\\j]kk ljYfkdYlagf ak [Yjja]\ gml Zq l] GGO afka\] l] =JO Yf\ al ak imal]
[gkldq* N]j]^gj]( af gj\]j lg kh]]\)mh l] ljYfkdYlagf hjg[]kk( l] ljYfkdYl]\ Y\)
\j]kk]k Yj] klgj]\ af Yf ]fljq af Y kljm[lmj] [Ydd]\ NjYfkdYlagf)Fggc)Y]Y\)
<m^^]j %NF<&*
N] NF< ak fglaf_ egj] lYf Y [Y[]7 al ljY[ck ^j]im]fldq mk]\ ljYfkdY)
lagfk( dggck mh Y hY_] lYZd] ]fljq Yf\ j]khgfk] ^jge l] NF<* N] =JO [Yf gfdq
gh]jYl] gf \YlY Yf\ afkljm[lagfk lYl Yj] eYhh]\ aflg l] NF<* C^ lak eYhhaf_ ak
fgl hj]k]fl( a*]* a^ l] \]kaj]\ e]egjq Y\\j]kk [Yffgl Z] ^gmf\ af l] NF<( l]f Y
hY_] ^Ymdl g[[mjk %kaeadYj lg Y [Y[] eakk&( Yf\ l] hY_] [gflYafaf_ lYl e]egjq
emkl Z] dgY\]\ ^jge k][gf\Yjq klgjY_] aflg eYaf e]egjq( oa[ ak Y [gkldq gh]j)
Ylagf* N] dYj_]j Y hY_]( l] egj] ]^^][lan] [YhY[alq l] NF< Yk*
Cf Y\\alagf lg [geh]fkYlaf_ l] Zmj\]fk g^ keYdd Yf\ daeal]\ Yegmfl g^
hqka[Yd e]egjq( l] gl]j jgd] g^ l] PG ak lg Yddgo ]^^a[a]fl Yf\ kY^] \YlY kYj)
af_ g^ e]egjq Yegf_ emdlahd] hjg_jYek gj emdlahd] hjg[]kk]k af Yf Yhhda[Ylagf
hjg_jYe( oa[ ak j]^]jj]\ lg Yk hjgl][lagf*
Jjgl][lagf ak Y oYq lg [gfljgd Yf\ Yf\d] e]egjq Y[[]kk]k* N] eYaf
hmjhgk] g^ e]egjq hjgl][lagf ak lg hj]n]fl Y hjg[]kk ^jge Y[[]kkaf_ Y []jlYaf
Zdg[c g^ e]egjq lYl Yk fgl Z]]f Yddg[Yl]\ lg al* Cl [Yf Z] \gf] ljgm_ k]_e]f)
lYlagf gj hY_af_ gj Zgl* Ofdac] Y lqha[Yd \]kclgh gj eYaf^jYe] Yhhda[Ylagf
o]j] PG ak eYafdq mk]\ ^gj alk ^ajkl jgd] %Z][Ymk] mkmYddq l] Yhhda[Ylagfk j]imaj]
dYj_]j Y\\j]kk khY[] lYf YnYadYZd] af hqka[Yd e]egjq&( af Y lqha[Yd j]Yd)lae]
37

Embedded Microprocessors and Memories

Ynagfa[k Yhhda[Ylagf km[ Yk Ba_ Fa^l gj Gglgj =gfljgd oa[ ak l] kmZb][l g^


lak l]kak( l] PG ak mk]\ jYl]j ^gj hjgl][laf_ l] e]egjq k]_e]flk lg eYc]
kmj] lYl \YlY gj afkljm[lagfk lYl Yj] aehgjlYfl gj Y[[]kk]\ g^l]f Yj] fgl gn]jojal)
l]f Zq Yfgl]j hjg[]kk gj k][lagf g^ [g\] af l] Yhhda[Ylagf* Jjgl][lagf ak mkmYddq
[Yjja]\ gml Zq k]_e]flYlagf*
M]_e]flYlagf ak l] hjg[]kk g^ \ana\af_ l] hqka[Yd e]egjq aflg fXZXagf(
o]j] ]Y[ k]_e]fl mkmYddq [gflYafk Y Zdg[c g^ hjg_jYek \YlY Yf\+gj afkljm[lagfk
Yf\ aehgjlYfl hgjlagfk g^ l] Yhhda[Ylagf hjg_jYe %]*_* hjg[]\mj]k( YjjYqk(
klY[ck&* ; hjg[]kk eYq ]p][ml] oad] alk [mjj]fl afkljm[lagfk Yf\ j]^]j]f[]\ \YlY da]
af k]_e]flk af eYaf e]egjq kg lYl l]q Yj] fgl gn]jojall]f Zq gl]j hjg[]kk]k
jmffaf_ af hYjYdd]d*
; k]_e]fl ak Ykkg[aYl]\ oal l] af^gjeYlagf af\a[Ylaf_ o]j] l] k]_e]fl
ak dg[Yl]\ af e]egjq* Cl eYq Ydkg Yn] Y ^dY_ af\a[Ylaf_ o]l]j l] k]_e]fl ak
hj]k]fl af eYaf e]egjq gj fgl* C^ l] k]_e]fl ak fgl hj]k]fl af eYaf e]egjq( Yf
]p[]hlagf ak jYak]\( Yf\ l] IM oadd j]Y\ l] k]_e]fl aflg e]egjq ^jge k][gf\Yjq
klgjY_] aflg hjaeYjq klgjY_]*
N] af^gjeYlagf af\a[Ylaf_ o]j] l] k]_e]fl ak dg[Yl]\ af e]egjq ea_l
Z] l] Y\\j]kk g^ l] hqka[Yd Y\\j]kk g^ l] ^ajkl dg[Ylagf af lYl k]_e]fl( gj l]
Y\\j]kk g^ Y hY_] lYZd] ^gj lYl k]_e]fl a^ l] k]_e]flYlagf ak aehd]e]fl]\ oal
hY_af_* N] GGO ak j]khgfkaZd] ^gj ljYfkdYlaf_ Y k]_e]fl Yf\ g^^k]l oalaf lYl
k]_e]fl aflg Y e]egjq Y\\j]kk Yf\ eYfY_]k k]_e]fl]\ e]egjq \a^^]j]fldq lYf
hY_] e]egjq
N] kaehd]kl k[]e] ^gj aehd]e]flaf_ e]egjq hjgl][lagf af k]_e]flY)
lagf ak e]egjq hjgl][lagf c]qk* B]j]( Y hjgl][lagf c]q ak Ykkg[aYl]\ oal ]Y[
hjg[]kk Yf\ a^ hjgl][lagf c]q g^ l] =JO Yf\ l] j]im]kl]\ e]egjq Zdg[c Yj] l]
kYe]( l] hjg[]kk ak Yddgo]\ lg Y[[]kk lYl k]_e]fl af l] hjaeYjq e]egjq*

Figure 2-7: Data movement in memory hierarchy

2.8. Memory Technologies


2.8.1.

Volatile Memory

JjaeYjq e]egjq ak Y ngdYlad] e]egjq( oa[ f]n]j [gflYafk \YlY o]f af)
k]jl]\ aflg l] ]eZ]\\]\ kqkl]e hjagj lg ]p][mlagf* Cfkl]Y\( l] kqkl]e ojal]k
\YlY lg Yf\ j]Y\k ^jge L;G \mjaf_ alk ]p][mlagf*
38

Embedded Microprocessors and Memories

@Ymdl \]l][lagf ak Y eYbgj [gf[]jf af eadalYjq kqkl]ek* @gj e]egjq kqk)


l]ek( hYjalq [][caf_ ak fgjeYddq mk]\** ?jjgj [gjj][lagf k[]e]k Yj] Ydkg hgkkaZd]
Yf\ Yj] [geegfdq mk]\ af eadalYjq Ynagfa[k Z][Ymk] YnYadYZd] e]egjq \]fkalq ak
\][j]Yk]\ Zq l] kar] g^ ?= dg_a[ Yf\ ]pljY ka_fYd daf]k* @gj ]pYehd]( 3 Zalk Yj]
f]]\]\ ^gj Y /. Zal ogj\ lg hjgna\] kaf_d] Zal Yf\ \mYd ]jjgj [gjj][lagf U35W*
2.8.1.1.

Random Access Memory (RAM) Background

Qjalaf_ lg Y L;G ak Yk ^Ykl Yk j]Y\af_ ^jge al af [gfljYkl lg LIG7 Zml l]


afl]jfYd kljm[lmj] g^ Y L;G ak kge]oYl egj] [gehd]p lYf LIG* ?Y[ ogj\ ak
klgj]\ af l] e]egjq( oa[ [gfkaklk g^ Y fmeZ]j g^ e]egjq []ddk \]h]f\af_ gf
l] kar] g^ l] e]egjq( Yf\ ]Y[ e]egjq []dd [gflYafk -)Zal %lmk l]q Yj] Ydkg
[Ydd]\ Zal []ddk&*
2.8.1.2.

Asynchronous SRAM

MlYla[ L;G %ML;G& mk]k Y hYaj g^ afn]jl]jk Yk Y e]egjq []dd* Ofdac]


>L;G( al \g]kfzl j]imaj] eXYeXf[\aZ* ?n]f a^ fgak] \mjaf_ l] j]Y\ gh]jYlagf \])
_jY\]k l] nYdm] klgj]\ af l] []dd( l] afn]jl]j hYaj j]klgj]k l] nYdm] ZY[c lg fgj)
eYd*
Qjal]k Yj] h]j^gje]\ o]f]n]j l] ojal] ]fYZd] %Q?& ka_fYd ak ]d\ dgo*
N] \]kaj]\ Y\\j]kk Yf\ \YlY emkl Z] klYZd] Z]^gj] Ykk]jlaf_ Q? %k]lmh lae]& Yf\
Q? kgmd\ Z] j]egn]\ oad] Y\\j]kk Yf\ \YlY j]eYafk klYZd] %gd\ lae]&* Il)
]joak]( l] ojal] eYq [gjjmhl Yf mf\]kaj]\ e]egjq dg[Ylagf*
Ofdac] Yf ?JLIG( Zml dac] @dYk( l] \YlY Zmk ak Za\aj][lagfYd \mjaf_
fgjeYd gh]jYlagf* ;k kggf Yk l] ojal]k Yj] [gehd]l]\( l] ea[jghjg[]kkgj kgmd\
j]d]Yk] l] \YlY Zmk lg l] a_)aeh]\Yf[] klYl]* Q]f gmlhml ]fYZd] %I?& ak
Ykk]jl]\( l] ML;G Z]_afk \janaf_ l] \YlY Zmk Yf\ l] gmlhml ^gddgok l] \YlY
[gfl]flk Yl l] dg[Ylagfk kh][a^a]\ gf l] Y\\j]kk Zmk*

Figure 2-8: SRAM write operation [25]

ML;Gk Yn] a_]j [gkl Yf\ a_]j \]fkalq lYf >L;Gk* Bgo]n]j( l]
afl]jfYd kljm[lmj] g^ l] e]egjq ak kaehd]j Yf\ lmk j]kmdlk af ^Ykl]j Y[[]kk lae]
lYf >L;Gk* ML;Gk Yj] mk]\ oa\]dq af [Y[] e]egja]k ^gj ^Ykl Y[[]kk Yf\ Ydkg
Yk hjaeYjq e]egjq af hgjlYZd] ]imahe]fl o]j] dgo hgo]j [gfkmehlagf ak ae)
hgjlYfl*
Nog eYbgj \jYoZY[ck g^ >L;G eYc] ML;G hjgh]j [ga[] ^gj Ynagfa[k
Yhhda[Ylagfk* @ajkl ak l] hgo]j imYdalq gf Yaj[jY^l kqkl]ek* Moal[af_ ^jge
_jgmf\ lg Yaj[jY^l hgo]j( koal[af_ hgo]j Zmk]k( ]d][lja[Yd ljYfka]flk Yf\ kaeadYj
]^^][lk j]kmdlk l] afhml hgo]j lg Yf Ynagfa[k [gehml]j lg Z] n]jq fgakq* Nak [Ymk)
]k >L;Gk af Ynagfa[k [gehml]jk lg koal[ g^^ ^gj keYdd h]jag\k g^ lae]( eYcaf_
e]egjq [gfl]flk mfj]daYZd]* M][gf\ \jYoZY[c ak jY\aYlagf Yj\f]kk* >L;G Yk
Z]]f kgof lg Z] n]jq kmk[]hlaZd] lg [Yj_]\ hYjla[d] jY\aYlagf oa[ g^l]f [ge]k
39

Embedded Microprocessors and Memories

^jge []ea[Yd ]d]e]flk ^jge l] \]na[] hY[cY_] ak eY\] mh g^( af\m[af_ jYf\ge
dg_a[ ]jjgjk af l] e]egjq*
2.8.1.3.

Synchronous SRAM (SS RAM)

Fac] >L;G( a_)h]j^gjeYf[] ML;G Yk ljYfkalagf]\ lg Y kqf[jgfgmk


afl]j^Y[] lg _Yaf h]j^gjeYf[] aehjgn]e]flk( go]n]j l]j] ]paklk Y ljY\])g^^ Z])
lo]]f Y[[]kk dYl]f[q Yf\ [dg[c kh]]\*
Ofdac] Ykqf[jgfgmk ML;G( MM L;G [Yf hjgna\] YZadalq lg ljYfk^]j Y
Zmjkl g^ \YlY ^jge Y k]ja]k g^ k]im]flaYd Y\\j]kk]k( hjgna\af_ \YlY ^jge emdlahd]
Y\\j]kk dg[Ylagfk oal l] Ykkg[aYlagf g^ Y kaf_d] Y\\j]kk* N] Zmjkl ak \]^af]\ Zq
klYjlaf_ Y\\j]kk]k Ydgf_ oal l] Zmjkl d]f_l Yf\ [dg[c]\ dg_a[ k]jaYddq j]Y\k gml
Yf ]flaj] jgo gj hYjl g^ al*
;^l]j l] ^ajkl \YlY nYdm] ak gmlhml ZYk]\ mhgf Y\\j]kk( \YlY nYdm]k af km[)
[]kkan] dg[Ylagfk Yj] gmlhml oalgml f]]\af_ lg [Yf_] Y\\j]kk Zmk U.1W* N] Zmjkl
ljYfk^]j [YhYZadalq ak n]jq ]dh^md af [Y[] Zdg[c ljYfk^]jk( lmk l]q Yj] ]pl]fkan]dq
mk]\ af [Y[] e]egja]k*
Nog ZYka[ lqh]k g^ MML;Gk Yj] ^dgo)ljgm_ Yf\ hah]daf]\* @dgo)
ljgm_ \]na[]k j]_akl]j gfdq l] afhml ka_fYdk Yf\ Yj] l]j]^gj] YZd] lg j]lmjf j]Y\
\YlY aee]\aYl]dq Y^l]j l] j]im]kl]\ Y\\j]kk ak j]_akl]j]\ gf Y jakaf_ [dg[c ]\_](
o]j]Yk hah]daf]\ \]na[]k j]_akl]j Zgl l] afhml Yf\ gmlhml ka_fYdk( ]f[gmfl]jaf_
Yf Y\\]\ [q[d] g^ dYl]f[q o]f j]lmjfaf_ j]Y\ \YlY

Figure 2-9: Flow-through vs. pipelined SSRAM reads [25]


2.8.1.4.

Asynchronous Dynamic RAM (DRAM)

>L;Gk klgj] l] Zal Yk hj]k]f[] gj YZk]f[] g^ [Yj_] gf Y [YhY[algj* N]


[YhY[algj gd\k l] [Yj_] ^gj daeal]\ lae] Yk [Yj_] _jY\mYddq \jYafk YoYq* L]Y\)
af_ Y Zal \]kljgqk l] Zal nYdm] klgj]\ gf [YhY[algj( kg \YlY ogj\ emkl Z] j]klgj]\
Y^l]j ]Y[ j]Y\* ?n]f o]f >L;G ak fgl j]Y\( kladd l] [gfl]flk emkl Z] eXYeXf[XW
]n]jq ^]o eaddak][gf\k* N] j]^j]k gn]j]Y\ ak YZgml /)0" g^ l]gj]la[Yd eYpa)
eme hjg[]kkaf_ YnYadYZd] Yf\ Y keYdd hja[] lg hYq ^gj dYj_] [YhY[alq U4,W* >L;Gk
mladar] gfdq kaf_d] ljYfkaklgj h]j Zal( lmk l]q Yn] dgo [gkl Yf\ a_ \]fkalq*
N]q Yj] hj]\geafYfldq mk]\ af ]eZ]\\]\ kqkl]ek Yk hjaeYjq e]egjq o]j] Y
dYj_] Yegmfl g^ dgo [gkl e]egjq ak f]]\]\ U4-W*
>L;G Y\\j]kk ak hj]k]fl]\ af log hYjlk6 Y jgo Yf\ Y [gdmef Y\\j]kk* N]
jgo Yf\ [gdmef Y\\j]kk]k Yj] emdlahd]p]\ gflg l] kYe] k]l g^ Y\\j]kk hafk lg
j]\m[] hY[cY_] kar] Yf\ [gkl* @ajkl l] jgo Y\\j]kk ak dgY\]\ %kljgZ]\&( aflg l]
jgo \][g\]jk naY jgo Y\\j]kk kljgZ] %L;M&( ^gddgo]\ Zq l] [gdmef Y\\j]kk
oal [gdmef Y\\j]kk kljgZ] %=;M&U-,1W* L]Y\ \YlY hjghY_Yl]k lg l] gmlhml
40

Embedded Microprocessors and Memories

Y^l]j Y kh][a^a]\ Y[[]kk lae]* Qjal] \YlY ak hj]k]fl]\ Yl l] kYe] lae] Yk l] [gd)
mef Y\\j]kk( Z][Ymk] al ak l] [gdmef kljgZ] lYl Y[lmYddq lja__]jk l] ljYfkY[lagf(
o]l]j al ak Y j]Y\ gj Y ojal] gh]jYlagf U.1W*
; [geZafYlagf g^ l] emdlahd]p]\ jgo Yf\ [gdmef Y\\j]kkaf_ k[]e] hdmk
alk dYj_] e]egjq YjjYqk oal [gehd]p k]fk] Yf\ \][g\] dg_a[ [Ymk] >L;G lg Yn]
ka_fa^a[Yfldq kdgo Y[[]kk lae] U.1W*
2.8.1.5.

Synchronous DRAM (SDRAM)

;k kqkl]e [dg[c ^j]im]f[a]k Yj] af[j]Yk]\( [gfn]flagfYd Ykqf[jgfgmk


>L;G \]na[]k oal Ykqf[jgfgmk afl]j^Y[]k klYjl]\ daealaf_ l] gn]jYdd kqkl]e
h]j^gjeYf[] kaf[] l]q Yn] Ykkg[aYl]\ hmdk] oa\l Yf\ ka_fYd)lg)ka_fYd \]dYq kh])
[a^a[Ylagfk lYl Yj] la]\ [dgk]dq lg l] [YjY[l]jakla[k g^ l]aj afl]jfYd e]egjq Yj)
jYqk* =gfk]im]fldq( o]f eYpaeme ZYf\oa\l ak \]kaj]\ Yl a_ [dg[c ^j]im]f)
[a]k( l]k] kh][a^a[Ylagfk Z][ge] \a^^a[mdl lg e]]l* Nmk( al Z][ge]k Z] ]Yka]j lg
\]ka_f Y kqkl]e af oa[ Ydd afl]j^Y[]k Yf\ \]na[]k jmf kqf[jgfgmkdq kg lYl afl]j)
^Y[] laeaf_ Z][ge]k Yf akkm] g^ e]]laf_ k]lmh Yf\ gd\ lae]k( Yf\ ^mf[lagfYd lae)
af_ Z][ge]k Yf akkm] g^ k]im]f[af_ ka_fYdk gf \ak[j]l] [dg[c ]\_]k U.1W*

Figure 2-10: DRAM read and write operation [25]

Mqf[jgfgmk >L;G %M>L;G& ^mf[lagfk dac] Yf Ykqf[jgfgmk >L;G


YjjYq7 go]n]j al ak kmjjgmf\]\ Zq Y kqf[jgfgmk afl]j^Y[] gf l] kYe] [ah af
gj\]j lg ]phdgal Y\nYflY_]k ]phdYaf]\ Z]^gj]*
LYl]j lYf aehd]e]flaf_ Y >L;G)klqd] Ykqf[jgfgmk afl]j^Y[]( l]
M>L;Gk afl]jfYd klYl] dg_a[ gh]jYl]k gf \ak[j]l] [geeYf\k hj]k]fl]\ lg al*
N]j] kladd ]pakl L;M Yf\ =;M ka_fYdk( Zml l]q ^mf[lagf kqf[jgfgmkdq Yk hYjl
g^ gl]j [gfljgd ka_fYdk lg h]j^gje [geeYf\k jYl]j lYf kaehd] kljgZ]k*
N] [dg[c ]fYZd] %=E?& emkl Z] a_ ^gj fgjeYd gh]jYlagf* N] \YlY
eYkc ka_fYd %>KG& hjgna\]k Y oYq lg k]d][lan]dq eYkc af\ana\mYd Zql]k ^jge
Z]af_ ojall]f gj Z]af_ \jan]f \mjaf_ j]Y\k U.1W*
L]Y\af_ Yf M>L;G j]imaj]k ^ajkl Y[lanYlaf_ l] \]kaj]\ jgo af l] \]kaj]\
ZYfc( Zq Ykk]jlaf_ Y[lanYl] %;=NP& [geeYf\( oa[ ak h]j^gje]\ Zq Ykk]jlaf_
L;M ^gj gf] [q[d] oad] hj]k]flaf_ l] \]kaj]\ ZYfc Yf\ jgo Y\\j]kk]k( Yf\ l]f
akkmaf_ l] j]Y\ %L>& [geeYf\* Bgo]n]j( l] e]egjq [gfljgdd]j Yk lg oYal Y
fmeZ]j g^ [q[d]k lYl ljYfkdYl]k aflg l] >L;G YjjYqk jgo)Y[lanYl] lg [gdmef)
kljgZ] \]dYq lae]* N] L> [geeYf\ ak h]j^gje]\ Zq Ykk]jlaf_ =;M Yf\ hj])
k]flaf_ l] \]kaj]\ ZYfc k]d][l Yf\ [gdmef Y\\j]kk Ydgf_ oal l] Ymlg)hj][Yj_]
%;J& ^dY_( oa[ l]ddk l] M>L;G lg YmlgeYla[Yddq hj])[Yj_] l] Y[lanYl]\ jgo
Y^l]j l] j]im]kl]\ ljYfkY[lagf [gehd]l]k( oa[ j]lmjfk l] jgo lg Y ima]k[]fl
41

Embedded Microprocessors and Memories

klYl] Yf\ Ydkg [d]Yjk l] oYq ^gj Yfgl]j jgo af l] kYe] ZYfc lg Z] Y[lanYl]\ af
l] ^mlmj] U.1W*
If[] l] [gfljgdd]j akkm]k l] L> [geeYf\( al oYalk Y hj]\]l]jeaf]\
fmeZ]j g^ [dg[c [q[d]k Z]^gj] l] \YlY ak j]lmjf]\ Zq l] M>L;G* Nak \]dYq ak
cfgof Yk =;M dYl]f[q %=F&* If[] l] =;M dYl]f[q Yk hYkk]\( \YlY ak Yddgo]\ lg
^dgo gf ]n]jq [dg[c [q[d]( ^gj Yk dgf_ Yk l] kh][a^a]\ Zmjkl d]f_l U.1W*
M>L;G [Yf hjgna\] n]jq a_ ZYf\oa\l af Yhhda[Ylagfk lYl ]phdgal l]
l][fgdg_qk Zmjkl ljYfk^]j [YhYZadala]k* N] Zmjkl d]f_l ak g^l]f l] kYe] d]f_l
Yk l] [Y[] daf] af gj\]j lg mladar] [Y[] Y[[]kk]k egj] ]^^a[a]fldq*
2.8.1.6.

DDR SDRAM

=gfn]flagfYd M>L;G \]na[]k ljYfk^]j gf] ogj\ gf l] jakaf_ ]\_] g^ ]Y[


[dg[c [q[d]* ;l Yfq _an]f lae]( l]j] ak Yf mhh]j daeal gf l] [dg[c kh]]\ hjY[la[Yd
lg aehd]e]fl ^gj Y ZgYj\)d]n]d afl]j^Y[]*

Figure 2-11: Four-word SDRAM burst write with DQM disable & DQM
masking [25]

Q]f lak d]n]d g^ h]j^gjeYf[] hjgn]k afkm^^a[a]fl( \gmZd] \YlY jYl]


%>>L& M>L;G \]na[]k [Yf f]Yjdq \gmZd] l] YnYadYZd] ZYf\oa\l Zq ljYfk^]jjaf_
gf] ogj\ gf Zgl l] jakaf_ Yf\ ^Yddaf_ ]\_]k g^ ]Y[ [dg[c [q[d] Zq Ynaf_ Yf af)
l]jfYd \YlY hYl loa[] l] oa\l g^ l] ]pl]jfYd \YlY Zmk U4-W Yf\ afkl]Y\ g^ kmh)
hdqaf_ Y . [dg[c lg l] M>L;G ^gj alk >>L afl]j^Y[]( Y hYaj g^ [gehd]e]flYjq
[dg[ck( =FE Yf\ =FE( Yj] hjgna\]\ lYl Yj] -4, gml g^ hYk] oal ]Y[ gl]j*
2.8.1.7.

DDR2 SDRAM

>>L. gh]jYl]k Yl Yf ]pl]jfYd \YlY Zmk oal loa[] l] [dg[c jYl]* Nak ak
Y[a]n]\ Zq gh]jYlaf_ l] e]egjq []ddk Yl Yd^ l] [dg[c jYl] %gf] imYjl]j g^ l]
\YlY ljYfk^]j jYl]&( jYl]j lYf Yl l] [dg[c jYl] Yk af l] gja_afYd >>L* =gfk])
im]fldq( >>L. gh]jYlaf_ Yl l] kYe] ]pl]jfYd \YlY Zmk [dg[c jYl] Yk >>L hjg)
na\]k l] kYe] ZYf\oa\l Zml oal a_]j dYl]f[q( j]kmdlaf_ af a_]j h]j^gj)
eYf[]*
Fac] Ydd M>L;G aehd]e]flYlagfk( >>L. klgj]k e]egjq af e]egjq []ddk
lYl Yj] Y[lanYl]\ oal l] mk] g^ Y [dg[c ka_fYd lg kqf[jgfar] l]aj gh]jYlagf oal
Yf ]pl]jfYd \YlY Zmk* Fac] l] >>L l][fgdg_q( >>L. []ddk ljYfk^]j \YlY Zgl gf
l] jakaf_ Yf\ ^Yddaf_ ]\_] g^ l] [dg[c*
N] c]q \a^^]j]f[] Z]lo]]f >>L Yf\ >>L. ak lYl af >>L. l] Zmk ak
[dg[c]\ Yl loa[] l] jYl] g^ l] e]egjq []ddk( kg ^gmj Zalk g^ \YlY [Yf Z] ljYfk)
42

Embedded Microprocessors and Memories

^]jj]\ h]j e]egjq []dd [q[d]* Nmk( oalgml [Yf_af_ l] e]egjq []ddk l]e)
k]dn]k( >>L. [Yf ]^^][lan]dq gh]jYl] Yl loa[] l] \YlY jYl] g^ >>L U4.W*
2.8.1.8.

DDR3 SDRAM

>>L/ M>L;G ak Yf aehjgn]e]fl gn]j >>L. M>L;G( oa[ Yk l]


YZadalq lg ljYfk^]j loa[] l] \YlY jYl] g^ >>L. %C+I Yl 4 l] \YlY jYl] g^ l]
e]egjq []ddk al [gflYafk&( lmk ]fYZdaf_ a_]j Zmk jYl]k Yf\ a_]j h]Yc jYl]k
lYf ]Yjda]j e]egjq l][fgdg_a]k*
N]j] ak fg [gjj]khgf\af_ j]\m[lagf af dYl]f[q( Yk lYl ak Y ^]Ylmj] g^ l]
>L;G YjjYq Yf\ fgl l] afl]j^Y[]* Cf Y\\alagf( l] >>L/ klYf\Yj\ Yddgok ^gj
[ah [YhY[ala]k g^ 1-. e]_YZalk lg 4 _a_YZalk( ]^^][lan]dq ]fYZdaf_ Y eYpaeme
e]egjq eg\md] kar] g^ -2 _a_YZql]k* Cl kgmd\ Z] ]ehYkar]\ lYl >>L/ ak Y
>L;G afl]j^Y[] kh][a^a[Ylagf7 l] Y[lmYd >L;G YjjYqk lYl klgj] l] \YlY Yj] l]
kYe] Yk af Yfq gl]j lqh] g^ >L;G( Yf\ Yn] kaeadYj h]j^gjeYf[] U4/W*
2.8.1.9.

DDR4 SDRAM

N] km[[]kkgj lg >>L/ Yf\ f]pl _]f]jYlagf g^ >>L M>L;G l][fgdg_q(


l] >>L0 ak ]ph][l]\ lg Z] afljg\m[]\ af .,-. Yf\ lg jmf Yl [dg[c kh]]\k ka_fa^a)
[Yfldq _j]Yl]j lYf - ABr( j]imajaf_ gh]jYlaf_ ngdlY_] g^ bmkl -*. ngdlk( ^gddgoaf_
hj]nagmk lj]f\k ^gj >>L \]n]dghe]fl U40W* N] afalaYd >>L0 kh]]\ _jY\] ak
]ph][l]\ lg Z] -*2ABr U41W*
2.8.1.10.

IRAM

Cf -553( Y f]o L;G l][fgdg_q [Ydd]\ Cfl]dda_]fl L;G %CL;G& oYk \])
n]dgh]\ Yl Ofan]jkalq g^ =Yda^gjfaY( <]jc]d]q7 oa[ afl]_jYl]\ l] ea[jghjg[]kkgj
Yf\ l] >L;G hjaeYjq e]egjq aflg Y kaf_d] [ah* Mm[ aehd]e]flYlagf oYk
[dYae]\ lg Zja\_] hjg[]kkgj)e]egjq h]j^gjeYf[] _Yh naY gf)[ah dYl]f[q 1)-,
lae]k( Yf\ ZYf\oa\l -,, lae]k Yk o]dd Yk aehjgn] ]f]j_q ]^^a[a]f[q .)0 lae]k
%\m] lg dY[c g^ Y >L;G Zmk& U42W*
N] ^ajkl CL;G [ah( PCL;G-( [Ye] gml af I[lgZ]j .,,.* N] \]ka_f
oYk ^YZja[Yl]\ Zq C<G( og eYfm^Y[lmj]\ l] oY^]jk af Dmf] .,,/* ;dlgm_
afalaYddq CL;G hjghgkYdk ^g[mk]\ oa\]dq gf ljY\]g^^k Z]lo]]f =JO Yf\ >L;G(
gn]j lae] CL;G j]k]Yj[ [Ye] lg [gf[]fljYl] gfdq gf n][lgj afkljm[lagf k]lk*
2.8.2.

Non-volatile Memory

Hgf)ngdYlad] e]egja]k [Yf j]lYaf l] klgj]\ af^gjeYlagf ]n]f o]f l]q


Yj] fgl hgo]j]\* ?n]jq klgj]\)hjg_jYe [gehml]j j]imaj]k kge] ^gje g^ fgf)
ngdYlad] klgjY_] lg klgj] l] afalaYd hjg_jYe lYl jmfk o]f l] [gehml]j ak hg)
o]j]\ gf gj gl]joak] Z]_afk ]p][mlagf %Y hjg[]kk cfgof Yk ZgglkljYhhaf_ gj
Zgglaf_&* LIG Yf\ km[[]kkgj l][fgdg_a]k km[ Yk @dYk Yj] [jm[aYd af ]eZ]\\]\
kqkl]ek ^gj km[ hmjhgk]k*
2.8.2.1.

Read-Only-Memory (ROM) Background

LIGk Yj] fgf)ngdYlad] e]egja]k lYl [Yf Z] j]Y\ Zml fgl ojall]f* LIGk
[Yf Z] ]al]j j])hjg_jYeeYZd] %JLIG& gj fgf)hjg_jYeeYZd] %INJ LIG&*
JLIGk [Yf Z] j])hjg_jYee]\ mkaf_ ]al]j eYkcaf_ l][faim]k gj Zq Zdgoaf_ l]
[gff][lagfk %[Ydd]\ ^mk]k& af l] af^jYkljm[lmj]*
43

Embedded Microprocessors and Memories

Maf[] \YlY klgj]\ af LIG [Yffgl Z] eg\a^a]\ %Yl d]Ykl fgl n]jq ima[cdq gj
]Ykadq&( al ak eYafdq mk]\ lg \akljaZml] ^ajeoYj]( l] kg^loYj] mk]\ af ]eZ]\\]\
kqkl]ek* N] ^ajeoYj] ak \]n]dgh]\ ^gj ]eZ]\\]\ kqkl]ek lYl \g fgl Yn] \akc
\jan]k* Mm[ ]eZ]\\]\ kqkl]ek Yj] \]ka_f]\ lg h]j^gje lYkck ^gj q]Yjk oalgml
Yfq ]jjgjk* Nmk( kgda\)klYl] hYjlk dac] ^dYk e]egja]k Yj] egj] j]daYZd] lYf lgk]
g^ egnaf_ gf]k km[ Yk Zmllgfk( koal[]k Yf\ \akc \jan]k*
<ggl LIGk Yj] g^l]f YZd] lg dgY\ Zggl)dgY\]j gj \aY_fgkla[ hjg_jYe naY
k]jaYd afl]j^Y[]k dac] O;LN( MJC Yf\ OM<* Nak ^]Ylmj] ak g^l]f mk]\ ^gj kqkl]e
j][gn]jq hmjhgk]k o]f ^gj kge] j]Ykgfk mkmYd Zggl kg^loYj] af fgf)ngdYlad]
e]egjq _gl ]jYk]\* Nak l][faim] Ydkg [gmd\ Z] mk]\ ^gj afalaYd fgf)ngdYlad]
e]egjq hjg_jYeeaf_ o]f l]j] ak [d]Yf fgf)ngdYlad] e]egjq afklYdd]\ Yf\
]f[] fg kg^loYj] YnYadYZd] af kqkl]e q]l*
2.8.2.2.

EPROM

?JLIG %?d][lja[Yddq hjg_jYeeYZd] LIG& mk]k Y GIM ljYfkaklgj Yk l]


hjg_jYeeYZd] [gehgf]fl* L]Y\af_ Yf ?JLIG ak em[ ^Ykl]j lYf ojalaf_ kaf[]
al \g]kfzl j]imaj] km[ hjg_jYeeaf_ hjg[]\mj]* ?JLIGk Yj] fg dgf_]j mk]\ af
af\mkljq*
2.8.2.3.

EEPROM

??JLIG %?d][lja[Yddq ?jYkYZd] Jjg_jYeeYZd] LIG& oYk \]n]dgh]\ lg


]daeafYl] l] lae])[gfkmeaf_ hjg[]\mj] g^ ]phgkmj] lg OP da_l %g^ ?JLIGk&
^gj ]jYkaf_ Yf\ j])hjg_jYeeaf_ l] e]egjq []ddk* ;f ??JLIG ak Zgl j]Y\ Yf\
ojall]f ]d][lja[Yddq Yf\ [Yf gfdq Z] ]jYk]\ Zq Yhhdqaf_ Y kmalYZd] ]d][lja[Yd ngdlY_]
lg l] \]na[]7 lmk j]imajaf_ gfdq k][gf\k [gehYj]\ lg eafml]k Yk af ?JLIG*
Bgo]n]j( l] ]jYk] +ojal] [q[d] ak kdgo7 Zml al ak lqha[Yddq h]j^gje]\ gf dYj_]
Zdg[ck g^ e]egjq afkl]Y\ g^ Yl Zal gj Zql] d]n]d U4-W* N]q Yn] a_]j [gkl7 Zml
Z]ll]j ojal] YZadalq Yf\ klgjY_] h]jeYf]f[] lYf ?JLIGk*
??JLIG ak mk]\ ^gj kg^loYj] dgY\k( \aY_fgkla[ l]kl j]kmdlk Yf\ gl]j kg^l)
oYj] ]d]e]flk ]kk]flaYd lg ]eZ]\\]\ [gehml]j gh]jYlagf* Cl ak aehgjlYfl ^gj klgj)
af_ dgo d]n]d hjaealan]k km[ Yk Zggl dgY\]jk( afl]jjmhl Yf\d]jk Yf\ \aY_fgkla[
kg^loYj] ^gj ]Y[ Ynagfa[k eg\md] U4-W*
2.8.2.4.

Flash

@dYk ak Yf ]pl]fkagf g^ ??JLIG \]n]dgh]\ af dYl] -54,k* N]q Yn] l]


kYe] ^dgYlaf_ _Yl] hjaf[ahd] Yk ?JLIG+??JLIG7 go]n]j dYj_] Zdg[ck g^ e]e)
gjq [Yf Z] ]jYk]\ Yl Ydd gf[] jYl]j lYf bmkl gf] ogj\ Yl Y lae] Yk af Y ljY\alagfYd
??JLIG* ; Zdg[c ak lqha[Yddq k]n]jYd lgmkYf\ Zql]k dYj_]*
N] ^Ykl ]jYk] YZadalq [Yf aehjgn] h]j^gjeYf[] g^ ]eZ]\\]\ kqkl]ek ka_fa^)
a[Yfldq o]j] dYj_] Zdg[ck g^ \YlY emkl Z] klgj]\ gj dYj_] Zdg[ck g^ \YlY Yn] lg Z]
j]Y\ af a_ kh]]\ km[ Yk \mjaf_ ZgglkljYhhaf_ af Yf ]eZ]\\]\ kqkl]e* ; \jYo)
ZY[c ak lYl ojalaf_ Y kaf_d] ogj\ af @dYk eYq Z] kdgo]j lYf af ??JLIG kaf[]
Yf ]flaj] Zdg[c oadd f]]\ lg Z] j]Y\( l] ogj\ oalaf lYl Zdg[c ak lg Z] mh\Yl]\
Yf\ l] ]flaj] Zdg[c Yk lg Z] ojall]f ZY[c* @dYk [Yf g^^]j Y[[]kk lae]k Yf\ \]fka)
la]k kaeadYj lg lgk] g^ >L;G kaf[] al Ydkg mk]k Y kaf_d] ljYfkaklgj Yf\ ]ehdgqk
km[ dYj_] Zdg[ck g^ ljYfk^]j* N]j] Yj] log caf\k g^ ^dYk e]egjq lYl Yj] ae)
hd]e]fl]\6 H;H> Yf\ HIL( oa[ Yn] \a^^]j]fl [gfkljm[lagf hjaf[ahd]k Yf\
[YjY[l]jakla[k*
44

Embedded Microprocessors and Memories

@dYk ak l] egkl [geegfdq mk]\ fgf)ngdYlad] klgjY_] l][fgdg_q af Ynag)


fa[ kqkl]ek* Maf[] Y[[]kk lae] ak em[ kdgo]j lYf ngdYlad] e]egja]k( al ak mk]\
gfdq ^gj fgf)ngdYlad] klgjY_]* ;fq [g\] klgj]\ km[ Yk \aY_fgkla[k [g\] gj eYaf
hjg_jYek emkl Z] [gha]\ lg ngdYlad] e]egjq Yl kqkl]e klYjl)mh ^gj hjgh]j ]p][m)
lagf h]j^gjeYf[]*
2.8.2.5.

NOR vs. NAND Flash

Cf HIL ^dYk( e]egjq []ddk Yj] [gff][l]\ af hYjYdd]d lg Zal daf]k( Yddgoaf_
[]ddk lg Z] j]Y\ Yf\ hjg_jYee]\ af\ana\mYddq Yf\ ]fYZdaf_ l] \]na[] lg Y[a]n]
jYf\ge Y[[]kk oal kgjl j]Y\ lae]k U44W* ; HIL ^dYk \]na[] Yk j]dYlan]dq dgf_
]jYk] Yf\ ojal] lae]k( go]n]j al hjgna\]k Y ^mdd Y\\j]kk Yf\ \YlY Zmk( Yddgoaf_
Y[[]kk lg Yfq kaf_d] e]egjq dg[Ylagf U45W*
H;H> ^dYk \]na[]k o]j] \]n]dgh]\ Y^l]j HIL \]na[]k Yf\ l]aj []ddk Yj]
[gff][l]\ af k]ja]k %dac] Y H;H> _Yl]& oa[ hj]n]flk []ddk Z]af_ j]Y\ Yf\ hjg)
_jYee]\ af\ana\mYddq l]q emkl Z] j]Y\ af k]ja]k* N]k] \]na[]k l]j]^gj] Yn]
^Ykl]j ]jYk] Yf\ ojal] lae]k Yf\ j]imaj] Y keYdd]j [ah Yj]Y %Yddgoaf_ _j]Yl]j klg)
jY_] \]fkala]k Yf\ l]j]^gj] dgo]j [gklk)h]j)klgjY_])Zal&* N] ]f\mjYf[] g^ H;H>
@dYk ak Ydkg l]f lae]k lYl g^ HIL @dYk* Bgo]n]j( l] C+I afl]j^Y[] g^ Y H;H>
^dYk \g]k fgl hjgna\] Y jYf\ge)Y[[]kk ]pl]jfYd Y\\j]kk Zmk U45W* >YlY emkl Z]
j]Y\ gf Y Zdg[c)oak] ZYkak %lqha[Yd Zdg[ck g^ Y H;H> \]na[] [Yf Z] af mf\j]\k g^
Zql]k lg cadgZql]k&( oa[ ak n]jq hjgZd]eYla[Yd Yk hjg[]kkgjk f]]\ jYf\ge)Y[[]kk
lg l] e]egjq af gj\]j lg ]p][ml] hjg_jYek dg[Yl]\ l]j]* Clk Ydkg fgl hgkkaZd] lg
daf]Yjdq Y\\j]kk l] H;H> @dYk*
Baklgja[Yddq( HIL ^dYk e]egjq Yk Z]]f l] klgjY_] e]\ame g^ [ga[]
^gj gd\af_ ]p][mlYZd] [g\]( km[ Yk hgo]j)gf Zggl dgY\]jk Yf\ <CIM kg^loYj]*
N] j]dYlan]dq ^Ykl Y[[]kk lae]k g^ HIL Yf\ l] YZadalq lg daf]Yjdq Y\\j]kk l] ^dYk
oalaf Y kqkl]e e]egjq khY[] ]f[gmjY_] alk mk] ^gj [g\] klgjY_] Yhhda[Ylagfk*
H;H> ^dYk( oa[ Yk j]dYlan]dq kdgo]j Y[[]kk lae]k( Yf\ Y fgf)daf]Yj afl]j^Y[](
Yk lqha[Yddq fgl Z]]f mk]\ ^gj klgjaf_ [g\] al Yk afkl]Y\ ]e]j_]\ Yk Y \akc)dac]
j]hgkalgjq ^gj Yhhda[Ylagf \YlY* Clk a_]j \]fkalq Yf\ kmh]jagj ojal] h]j^gjeYf[]
eYc] al o]dd kmal]\ ^gj hdYl^gjek lYl j]imaj] dYj_] Yegmflk g^ \YlY klgjY_] U5,W*
@gj Y kqkl]e lYl f]]\k lg Zggl gml g^ @dYk( a^ j]Y\ dYl]f[q ak Yf akkm](
HIL @dYk ak l] Yfko]j* Bgo]n]j( ^gj klgjY_] Yhhda[Ylagfk( H;H> @dYkk a_)
]j \]fkalq Yf\ a_ hjg_jYeeaf_ Yf\ ]jYk] kh]]\k eYc] al l] Z]kl [ga[]*

45

Embedded Microprocessors and Memories

2.8.3.

Memory Technologies Timeline

Figure 2-12: Memory Technologies Timeline

46

Embedded Microprocessors and Memories

2.9. PowerPC
2.9.1.

Background

Jgo]jJ=( gj JJ= ak l] YZZj]naYlagf ^gj Jgo]j J]j^gjeYf[] =gehm)


laf_ Yf\ ak Y LCM= Yj[al][lmj] [j]Yl]\ Zq l] ;hhd]C<GGglgjgdY ;ddaYf[]
%;CG& ^gje]\ af -55-* Ija_afYddq afl]f\]\ ^gj J=k( Jgo]jJ= =JOk Yn] Z])
[ge] hghmdYj Yegf_ ]eZ]\\]\ hjg[]kkgjk Ydkg* Jgo]jJ= Yj[al][lmj] ak ZYk]\
hj]\geafYfldq gf C<G$k ]Yjda]j JIQ?L Yj[al][lmj]( oa[ oYk afljg\m[]\ af
-55,* N] gja_afYd JIQ?L ea[jghjg[]kkgj oYk gf] g^ l] ^ajkl kmh]jk[YdYj LCM=
aehd]e]flYlagfk*
C<G oYk ogjcaf_ hj]nagmkdq gf Y kaf_d])[ah JIQ?L ea[jghjg[]kkgj(
[Ydd]\ l] LM= %LCM= Maf_d] =ah& Yf\ af ]Yjdq -55- l]q j]Ydar]\ lYl l]aj \])
ka_f [gmd\ hgl]flaYddq Z][ge] Y a_)ngdme] ea[jghjg[]kkgj mk]\ Y[jgkk l] af)
\mkljq U5-W*
N] ^ajkl hjg\m[l g^ l] JIQ?L Yj[al][lmj] oYk l] Jgo]jJ= 2,- %j])
d]Yk]\ af -55.& oa[ oYk ZYk]\ gf l] LM=* N] k][gf\ _]f]jYlagf af[dm\]\
JJ= 2,/ Yf\ 2,0* N] 2,/ oYk fglYZd] Z][Ymk] g^ alk n]jq dgo [gkl Yf\ hgo]j
[gfkmehlagf* N] ^ajkl 20)Zal aehd]e]flYlagf g^ l] ^Yeadq oYk l] Jgo]jJ=
2.,*
Cf .,,0( GglgjgdY ]pal]\ [ah eYfm^Y[lmjaf_ Zmkaf]kk Zq dYmf[af_ alk
gof k]ea[gf\m[lgj Zmkaf]kk Yk Yf af\]h]f\]fl [gehYfq [Ydd]\ @j]]k[Yd] M]ea)
[gf\m[lgj* MaeadYjdq( C<G Ydkg ]pal]\ ]eZ]\\]\ hjg[]kkgj eYjc]l Zq dYmf[af_
alk gof daf] g^ Jgo]jJ= hjg\m[lk lg ^gje ;hhda]\ Ga[jg =aj[malk =gjhgjYlagf
%;G==&* ?n]flmYddq( af .,,1( ;hhd] Yffgmf[]\ l]q ogmd\ fg dgf_]j mk] Jg)
o]jJ= hjg[]kkgjk af GY[aflgk [gehml]jk( ^Yngjaf_ Cfl]d hjg[]kkgjk afkl]Y\*
C<G kggf]j \]n]dgh]\ Y k]hYjYl] hjg\m[l daf] [Ydd]\ l] !0pp! daf] ^g[mk]\
gf l] ]eZ]\\]\ eYjc]l( af[dm\af_ l] 0,-( 0,/( 0,1( 00,( Yf\ 02,* Qad] l]
0pp k]ja]k g^ ]eZ]\\]\ hjg[]kkgjk oYk mf\]joYq afka\] C<G( l] Jgo]jKOC==
daf] oYk l] j]kmdl g^ ogjc afka\] GglgjgdY*
@gj l] Ymlgeglan] eYjc]l( @j]]k[Yd] M]ea[gf\m[lgj aehd]e]fl]\ Y dYj_]
fmeZ]j g^ nYjaYlagfk [Ydd]\ l] GJ=1pp ^Yeadq km[ Yk l] GJ=111( Zmadl gf Y
nYjaYlagf g^ l] 2,- [gj] [Ydd]\ l] 4pp* Cf .,,0( l] f]pl)_]f]jYlagf 11pp \]na[]k
o]j] dYmf[]\ ^gj l] Ymlgeglan] eYjc]l( oa[ mk]\ l] f]o]j ].,, k]ja]k g^
Jgo]jJ= [gj]k*
N] C<G)@j]]k[Yd] YddaYf[] ak [mjj]fldq j]hdY[]\ Zq Yf gh]f klYf\Yj\ gj)
_YfarYlagf [Ydd]\ Jgo]j*gj_( oa[ gh]jYl]k mf\]j C???* N] Jgo]jJ= kh][a^a[Y)
lagf ak fgo Yf\d]\ Zq Jgo]j*gj_ o]j] C<G( @j]]k[Yd]( Yf\ ;G== Yj] Ydd
e]eZ]jk* Jgo]jJ= Yf\ JIQ?L hjg[]kkgjk Yj] fgo bgafldq eYjc]l]\ Yk l]
Jgo]j ;j[al][lmj]*
Jgo]jJ= hjg[]kkgjk Yj] ]klaeYl]\ lg Z] af 1," g^ l] ogjd\k YmlgegZad]k
Yf\ l]q jmf gf 0 g^ l] ogjd\k lgh 1 ^Ykl]kl kmh]j[gehml]jk Yf\ 00 g^ l] lgh
-,, Yf\ l]q Yj] l] \geafYfl hjg[]kkgj Yj[al][lmj] af eYbgj ]eZ]\\]\ eYjc]lk
U5.W*

47

Embedded Microprocessors and Memories

2.9.2.

Architecture

N] Jgo]jJ= ak \]ka_f]\ ZYk]\ gf LCM= hjaf[ahd]k( Yf\ aehd]e]flk Y km)


h]jk[YdYj Yj[al][lmj]* N] Yj[al][lmj] ]paklk af Zgl /.)Zal Yf\ 20)Zal aehd]e]f)
lYlagfk*
N] [geegf hah]daf] klY_]k ^gj Ydd Jgo]jJ= aehd]e]flYlagfk Yj] Yk ^gd)
dgok6
-* @]l[6 @]l[ l] afkljm[lagf ^jge l] afkljm[lagf Zm^^]j* >]h]f\af_ gf ae)
hd]e]flYlagf( emdlahd] afkljm[lagfk [Yf Z] k]fl ^jge C)[Y[] lg afkljm[lagf
im]m] ]n]jq [q[d]*
.* >][g\]6 >][g\] ]Y[ ^]l[]\ afkljm[lagf
/* Ckkm]6 >]l]jeaf] o]f Yf afkljm[lagf [Yf Z] W\fcTgV[XW lg YhhjghjaYl] ]p][m)
lagf mfal %?O&* >]h]f\af_ gf III? aehd]e]flYlagf( Yl l] ]f\ g^ \ffhX
klY_]( gh]jYf\k Yj] _]f]jYddq dYl[]\ lg l] ?Ok eXfXeiTg\ba fgTg\ba*
0* ?p][ml]6 ?Ok ]p][ml] l] afkljm[lagf* ?p][mlagf lae] ak \a^^]j]fl ^gj kh][a^a[
afkljm[lagf lqh]k Yf\ ?O lqh]k %kaehd] afl]_]j( [gehd]p afl]_]j( ZjYf[( dgY\)
klgj]( ^dgYlaf_)hgafl ]l[&* OkmYddq( j]fYe]\ j]_akl]jk fgla^q [gehd]lagf klY_]
Yf\ a^ ]paklk( j]kmdlk Yj] Zm^^]j]\ af [gehd]lagf im]m]*
1* =gehd]l]6 NjY[c oa[ afkljm[lagfk Yn] ^afak]\ ]p][mlagf Yf\ [Yf Z] eX)
g\eXW*
2* Qjal])ZY[c6 L]kmdlk Yj] ojall]f lg YhhjghjaYl] j]_akl]j+e]egjq k][lagf ^jge
j]fYe]\ j]_akl]j*
Ng\Yq( l]j] Yj] log Y[lan] ZjYf[]k g^ l] Jgo]jJ= Yj[al][lmj] ^Yeadq
lj]]( Jgo]jJ= ;M Yj[al][lmj] Yf\ Jgo]jJ= <ggc ? Yj[al][lmj]* Mh][a^a[Yddq(
l] Jgo]jJ= <ggc ? Yj[al][lmj]( j]^]jj]\ lg Yk <ggc ?( ak [gddYZgjYlagf Z]lo]]f
C<G Yf\ GglgjgdY ^gj l] kh][aYd j]imaj]e]flk g^ l] ]eZ]\\]\ eYjc]l Yf\ g^)
^]jk kmhhgjl ^gj Zgl /.)Zal Yf\ 20)Zal aehd]e]flYlagfk Yf\ 20)Zal aehd]e]flY)
lagfk Yn] kmhhgjl ^gj ^mdd /.)Zal [gehYlaZadalq oal Jgo]jJ= Yhhda[Ylagfk U5/W*
N] Jgo]jJ= Yj[al][lmj] mk]k afkljm[lagfk lYl Yj] ^gmj Zql]k dgf_ Yf\
ogj\)Yda_f]\ Yf\ Yk fYlan] kmhhgjl ^gj Zql] %4)Zal&( Yd^)ogj\ %-2)Zalk&( ogj\
%/.)Zal&( Yf\ \gmZd])ogj\ %20)Zal& \YlY lqh]k* Jgo]jJ= aehd]e]flYlagfk [Yf Ydkg
Yf\d] kljaf_ gh]jYlagfk ^gj emdla)Zql] kljaf_k mh lg -.4 Zql]k af d]f_l* @gj eakY)
da_f]\ \YlY Y[[]kk]k( Yda_fe]fl kmhhgjl nYja]k Zq hjg\m[l ^Yeadq( oal kge] lYcaf_
]p[]hlagfk Yf\ gl]jk Yf\daf_ l] Y[[]kk ljgm_ gf] gj egj] gh]jYlagfk af
Yj\oYj]*
N] \]^Ymdl ]f\aYff]kk ^gj egkl Jgo]jJ= hjg[]kkgjk ak Za_ ]f\aYf( Zml
lak [Yf Z] eg\a^a]\ naY kg^loYj]* <ggc ? ak ]f\aYf)f]mljYd( Yk l] <ggc ? Yj[a)
l][lmj] ^mddq kmhhgjlk Zgl Y[[]kkaf_ e]lg\k*
Jgo]jJ=$k Yhhda[Ylagf)d]n]d j]_akl]jk Yj] Zjgc]f aflg ^gmj eYaf [dYkk]k6
A]f]jYd Jmjhgk] L]_akl]jk %AJLk&( @dgYlaf_ Jgafl j]_akl]jk %@JLk&( @dgYlaf_
Jgafl MlYlmk Yf\ =gfljgd L]_akl]j %@JM=L&( Yf\ Mh][aYd Jmjhgk] L]_akl]jk
%MJLk&*
Qal kg^loYj] kmhhgjl( Jgo]jJ= ^dgYlaf_)hgafl Yjale]la[ ak ^mddq [ge)
hdaYfl oal l] 9FJA+A===)310 kh][a^a[Ylagf* <gl kaf_d])hj][akagf Yf\ \gmZd])
hj][akagf ^dgYlaf_)hgafl ^gjeYlk Yj] kmhhgjl]\ af Ydd Yjale]la[ # [gehYjakgf gh)
48

Embedded Microprocessors and Memories

]jYlagfk Yf\ kh][a^a[ ^dgYlaf_)hgafl ]p[]hlagf [dYkk]k [Yf Z] ]fYZd]\ gj \akYZd]\ ^gj
kmhhgjlaf_ Y ljYhhaf_ ]fnajgfe]fl U5/W*
N] Jgo]jJ= Yj[al][lmj] Yk fg fglagf g^ Y klY[c ^gj dg[Yd klgjY_] a*]*
l]j] ]pakl fg hmk gj hgh afkljm[lagfk7 Yf\ fg \]\a[Yl]\ klY[c hgafl]j j]_akl]j
\]^af]\ Zq l] Yj[al][lmj]*
?Y[ Jgo]jJ= hjg[]kkgj af[dm\]k gf] gj egj] @ap]\ Jgafl Ofal %@RJO&
^gj [gehmlYlagfk oal afl]_]jk Yf\ e]egjq Y\\j]kk]k( gf] gj egj] @dgYlaf_
Jgafl Ofal %@JO& ^gj [gehmlYlagfk oal ^dgYlaf_ hgafl nYdm]k( Y kaf_d] <jYf[
Jjg[]kkaf_ Ofal %<JO& ^gj ]p][mlaf_ Ydd [gf\alagfYd Yf\ mf[gf\alagfYd ZjYf[]k(
[Yddk( kqkl]e [Yddk( Yf\ [gf\alagfYd egn] Yf\ dg_a[Yd gh]jYlagfk( [Y[] [gfljgdd]jk
lg Yf\d] Y[[]kk lg eYaf e]egjq( >aj][l G]egjq ;[[]kk %>G;& lg akgdYl] \a)
j][l e]egjq Y[[]kk]k ^jge C+I Yf\ e]egjq eYfY_]e]fl mfal %GGO& ^gj Y\)
\j]kk ljYfkdYlagf*

Figure 2-13: PowerPC architecture

N] Jgo]jJ= j]_akl]j k]l \a^^]jk ^jge gf] [gehml]j Yj[al][lmj] lg Yfgl)


]j Yf\ ak mkmYddq Y [geZafYlagf g^ _]f]jYd)hmjhgk] Yf\ kh][aYd hmjhgk] j]_akl]jk*
N] =JO ^]l[]k afkljm[lagfk ^jge e]egjq( j]Y\k Yf\ ojal]k \YlY ^jge Yf\ lg
e]egjq( Yf\ ljYfk^]jk \YlY ^jge Yf\ lg h]jah]jYd \]na[]k*
N] afkljm[lagf mfal %CO& ak j]khgfkaZd] ^gj eYaflYafaf_ l] ^]l[ hah]daf]
Yf\ ^gj \akhYl[af_ afkljm[lagfk Yf\ klgjaf_ l] afkljm[lagf lYl ak j]imaj]\ lg
hjg[]kk l] \YlY* CO [gflYafk l] ZjYf[ hjg[]kkaf_ mfal %<JO& oa[ j][]an]k
ZjYf[ afkljm[lagfk ^jge l] k]im]flaYd ^]l[]j af CO Yf\ j]kgdn]k l] [gf\alagfYd
ZjYf[]k Yk ]Yjdq Yk hgkkaZd] mkaf_ Zgl klYla[ Yf\ \qfYea[ ZjYf[ hj]\a[lagf( ljq)
af_ lg Y[a]n] Y hgkkaZd] r]jg)[q[d] ZjYf[ h]fYdlq Zq Ynga\af_ klYddk af l] hah])
daf] Yf\ l] ^]l[ mfal %@O& lg ^]l[ l] afkljm[lagfk ^jge l] hah]daf] Yk o]dd Yk
l] afkljm[lagf Zm^^]j lYl gd\k l] im]m] g^ afkljm[lagfk j]Y\q ^gj ]p][mlagf*
N] afkljm[lagfk Yj] dgY\]\ ^jge l] afkljm[lagf im]m] %CK& af l] afkljm[lagf
mfal( ogk] kar] \]h]f\k gf l] hjg[]kkgj eg\]d* N] afkljm[lagf ^]l[ mfal [gf)
lafmgmkdq dgY\k Yk eYfq afkljm[lagfk Yk l] khY[] af l] CK Yddgok* ;^l]j ^]l[af_(
l]q Yj] ^gjoYj\]\ lg l]aj [gjj]khgf\af_ ]p][mlagf mfalk Zq l] ]dh g^ \akhYl[
mfal %>O&*

49

Embedded Microprocessors and Memories

Cfkljm[lagfk Yj] \akhYl[]\ ljgm_ Yf akkm] im]m]* C^ khY[] ak YnYadYZd]( Y^)


l]j \][g\af_ afkljm[lagfk kmhhda]\ Zq l] afkljm[lagf im]m]( kgmj[]+lYj_]l gh])
jYf\k Yj] eXaTXW Yf\ W\fcTgV[XW lg l] YhhjghjaYl] akkm] im]m]k*
N] hjg[]kkgj ea[jg)Yj[al][lmj] eYq Ydkg [gflYaf Y =gehd]lagf Ofal
%=O&( Yk ]phdYaf]\ af k][lagf .*/*0 YZgml kh][mdYlagf( oa[ ak j]khgfkaZd] ^jge
ljY[caf_ afkljm[lagfk ^jge \akhYl[ ljgm_ ]p][mlagf( Yf\ l]f j]laj]k # [ge)
hd]l]k l]e af hjg_jYe gj\]j7 oal l] ]dh g^ Y [gehd]lagf im]m] lg [gjj][ldq
gj\]j [gehd]lagf g^ afkljm[lagfk U50W*
PYjagmk lqh]k g^ ]p][mlagf mfalk %?Ok& \]h]f\af_ gf l] hjg[]kkgj [gj]
eg\]d ]p][ml] l] afkljm[lagfk Yf\ [gehml] l] j]kmdlk* Nqha[Yd ?Ok Yj] @dgYlaf_
Jgafl Ofal %@JO&( <jYf[ Ofal %<O&( Cfl]_]j Ofal %CO& Yf\ FgY\+Mlgj] Ofal
%FMO&* >]h]f\af_ gf l] hjg[]kkgj eg\]d( CO [Yf Ydkg Yn] Y\\alagfYd =gehd]p
Cfl]_]j Ofal %=CO& Yf\+gj ;mpadaYjq Jjg[]kkaf_ Ofal %;JO& ^gj ^mjl]j Yl)
lY[e]fl g^ ]pl]jfYd Yj\oYj] [ghjg[]kkgjk( eYafdq ^dgYlaf_ hgafl mfalk %@JO&*
MaeadYjdq( l] <JO [Yf [gflYaf Y <N<( <J< gj <N;= \]h]f\af_ gf l] [gj]
eg\]d*
N] e]egjq mfal ak j]khgfkaZd] ^gj Yf\daf_ l] najlmYd e]egjq %oa[ ak
[Yjja]\ gml Zq l] e]egjq eYfY_]e]fl mfal %GGO& Yf\ NF<k dg[Yl]\ af l]
GGO( afl]j^Y[af_ F- [Y[] ^gj ljYfk^]jjaf_ af^gjeYlagf+\YlY lg+^jge l] =JO
naY eYfY_af_ [Y[] [gfljgdd]jk Yf\ [geemfa[Ylaf_ oal l] [gj] afl]j^Y[] mfal af
gj\]j lg Y[[]kk hjaeYjq e]egjq* >]h]f\af_ gf l] hjg[]kkgj [gj]( e]egjq mfal
[Yf [gflYaf Y\\alagfYd daf] ^add Zm^^]jk lg kh]]\mh [Y[] Y[[]kk( eakk Zm^^]jk lg
j]\m[] eakk h]fYdlq( hmk Zm^^]j lg j]\m[] dYl]f[q ^gj j]im]kl]\ f]o \YlY gf Y
[Y[] eakk %af [Yk] g^ [ghq)ZY[c&( [gehd]lagf mfal %af [Yk] g^ III?& lg gd\
[geeall]\ afkljm[lagfk( klgj] Zm^^]j lg \]^]j h]f\af_ ojal] eakk]k gj ojal]k
eYjc]\ Yk ojal])ljgm_* ;dd g^ l]k] TWW\g\baT_ ^]Ylmj]k hjgna\] ka_fa^a[Yfl h]j)
^gjeYf[] ]fYf[]e]fl*
=gj] %<mk& Cfl]j^Y[] Ofal %=CO gj <CO& ak j]khgfkaZd] ^gj [geemfa[Y)
lagf oal h]jah]jYd \]na[]k( eYafdq hjaeYjq e]egjq* MaeadYjdq( al [Yf ]ehdgq
lgm[ dgY\ Zm^^]j lg Yddgo Yf afkljm[lagf klj]Ye lg hj]^]l[ \YlY ^jge e]egjq
hjagj lg Y [Y[] eakk*
N] FgY\+Mlgj] Ofal %FMO& ak Yf afl]j^Y[] Z]lo]]f l] \YlY [Y[] Yf\
l] _]f]jYd)hmjhgk] j]_akl]jk %AJLk&* FMO ak \aj][ldq [gmhd]\ lg l] \YlY [Y[]
Yf\ hjgna\]k Ydd g^ l] dg_a[ j]imaj]\ lg [Yd[mdYl] ]^^][lan] Y\\j]kk]k( hjgna\]k k])
im]f[af_ ^gj dgY\+klgj] emdlahd] gh]jYlagfk( Yf\ afl]j^Y[]k oal l] [gj] afl]j^Y[]
mfal*
>YlY Faf] @add <m^^]jk %>F@<k& Yj] mk]\ ^gj dgY\k Yk o]dd Yk [Y[]YZd] \Y)
lY klgj]k* Mlgj]k Yj] Yddg[Yl]\ ]j] kg dgY\k [Yf Y[[]kk \YlY ^jge l] klgj] im]m]
aee]\aYl]dq( fgl oYalaf_ ^gj l] \YlY lg Z] ojall]f lg l] [Y[] U50W* MYe] ak nYda\
^gj Cfkljm[lagf Faf] @add <m^^]jk %CF@<k&* Cfkljm[lagfk Yj] lqha[Yddq ^]l[]\ ^jge
l] F- afkljm[lagf [Y[]7 Zml a^ [Y[af_ ak \akYZd]\( afkljm[lagfk Yj] ^]l[]\ ^jge
l] CF@< afkl]Y\*
;k dgY\k j]Y[ l] FMO( al lja]k lg Y[[]kk l] [Y[]* If Y al( l] [Y[] j])
lmjfk l] \YlY* C^ l]j] ak Y eakk( l] FMO Yddg[Yl]k Yf ]fljq af l] dgY\ eakk
im]m] %FGK& Yf\ Y >F@< ]fljq* N] FMO l]f im]m]k Y Zmk ljYfkY[lagf lg j]Y\
l] daf]* C^ Y kmZk]im]fl dgY\ alk( l] [Y[] j]lmjfk l] j]kmdlk* C^ Y kmZk]im]fl
dgY\ eakk]k( l] FMO Yddg[Yl]k Y k][gf\ FGK ]fljq Yf\( a^ l] dgY\ ak lg Y \a^^]j)
50

Embedded Microprocessors and Memories

]fl [Y[] daf] lYf l] gmlklYf\af_ eakk( al Yddg[Yl]k l] k][gf\ >F@< ]fljq Yf\
im]m]k Y k][gf\ j]Y\ ljYfkY[lagf gf l] Zmk U50W*
2.9.3.

The 440EPx and 5554 in Real Life

GJ=1110 ak mk]\ af nYjagmk Yhhda[Ylagf Yj]Yk( Zml eYafdq af Ymlgeglan]


af\mkljq af Yhhda[Ylagfk km[ Yk emdlahgafl ^m]d afb][lagf [gfljgd( ]d][ljgfa[Yddq
[gfljgdd]\ ljYfkeakkagf( \aj][l \a]k]d afb][lagf %>>C& Yf\ _Ykgdaf] \aj][l afb][lagf
%A>C&7 Yf\ Ydkg af Ynagfa[k af\mkljq km[ Yk lmjZaf] [gfljgd U51W*
JJ=00,?Jp ak mk]\ eYafdq af [gfkme]j Yhhda[Ylagfk af[dm\af_ \a_alYd
[Ye]jYk( na\]g _Ye]k Yf\ afl]jf]l YhhdaYf[]k( g^^a[] YmlgeYlagf hjg\m[lk km[ Yk
dYk]j hjafl]jk Yf\ klgjY_] Yf\ f]logjcaf_ hjg\m[lk km[ Yk L;C> [gfljgdd]jk( jgm)
l]jk( ;NG koal[]k( []ddmdYj ZYk])klYlagfk Yf\ f]logjc [Yj\k U52W*
>]lYad]\ af^gjeYlagf j]_Yj\af_ l]k] log hjg[]kkgjk [Yf Z] ^gmf\ af ;h)
h]f\a[]k ; Yf\ < YllY[]\ Yl l] ]f\ g^ l] l]kak*

51

Embedded Microprocessors and Memories

2.9.4.

PowerPC Timeline

Processor Technology Timeline


82xx (POWERQUICC II)

POWER4 (IBM)

405 (250 MHz)

Motorola forms POWER6 (IBM)


QorIQ announced (Multi-core)
Freescale
Semiconductor

440 (800 MHz) 604e (166/233 MHz)


AIM 7xxx (350/500 MHz) G4
core

601 (50 /66 MHz)

1995

403 (80 MHz)

G4 Core is
Freescale e600

POWER 7 announced (IBM)

IBM 9xx (2 GHz) G5 core

POWER3 (IBM)

1990

POWER5 (IBM)

2000

2005

603e (200 MHz) Freescale G2


8xx (POWERQUICC I)
Apple - IBM- Motorola (AIM)
85xx (POWERQUICC III)
IBM forms AMCC
604 (80 MHz)
Semiconductor
620 (120/150 MHz)
IBM RS6000 POWER arch.
603e is Freescale e300
750 (366 MHz) G3 core
83xx (POWERQUICC Pro)
603 (66/80 MHz)

Figure 2-14: PowerPC Timeline

52

2010

87xx (3+ GHz) e700 Multicore announced

2015

Benchmarking and Performance Evaluation

3. Benchmarking and Performance Evaluation


3.1. Background
<]f[eYjcaf_ ak Y e]Yfk g^ e]Ykmjaf_ h]j^gjeYf[] Y_Yafkl Y klYf\Yj\( gj
_an]f k]l g^ klYf\Yj\k Yf\ Z]f[eYjck Yj] klYf\Yj\ar]\ hjg_jYek jmf gf Y [ge)
hml]j lg ]klaeYl] alk h]j^gjeYf[] U53W* J]j^gjeYf[] ZYk]\ \]ka_f Yk eY\] Z]f)
[eYjcaf_ Y [jala[Yd hYjl g^ l] \]ka_f hjg[]kk U54W af l] oYq lYl Z]f[eYjcaf_
Yddgok \]ka_f]jk lg l]kl l] kqkl]e lg Z] \]ka_f]\ Z]^gj] \]dan]jq lg eYjc]l Yf\
gZk]jnaf_ hgkkaZd] ^Ymdlk gj dY[ck af l] kqkl]e Z]Ynagj ]n]f Z]^gj] l] aehd])
e]flYlagf( lmk kYnaf_ [gkl Yf\ lae] af l] gn]jYdd \]ka_f hjg[]kk n]jq ]^^][lan]dq*
N]q [Yf( g^ [gmjk]( Z] Ydkg mk]\ lg [gehYj] h]j^gjeYf[]k g^ kqkl]ek Y kh][a^a[
ea[jg)Yj[al][lmj]*
;k Z]f[eYjcaf_ [Yf Z] mk]\ lg ]nYdmYl] \a^^]j]fl kqkl]ek oal ]Y[ gl]j
Yf\ [gehYj] l]e af l]jek g^ h]j^gjeYf[]( al [Yf Ydkg Z] mk]\ lg ]nYdmYl] l]
kYe] kqkl]e lYl ak lg Z] mk]\ af \a^^]j]fl Yhhda[Ylagfk Yf\ lg Z] [gehYj]\ af h]j)
^gjeYf[]* Maf[] Yhhda[Ylagf \geYaf g^ ]eZ]\\]\ kqkl]ek ak n]jq dYj_]( Z]f)
[eYjcaf_ hjg[]kk emkl Z] YZd] lg [gn]j egkl g^ l]k] ^a]d\k( oa[ eYc]k al Y
_j]Yl [Ydd]f_] U55W* Nmk( o] f]]\ Y oYq lg [YjY[l]jar] hgl]flaYd Yhhda[Ylagf
^a]d\k Yf\ [Yl]_gjar] l]e aflg _jgmhk o]j] ]Y[ _jgmh g^ Yhhda[Ylagfk Yk kaea)
dYj [YjY[l]jakla[k* %Nak ^gjek l] ZYkak g^ ==E:; Yf\ E\:XaV[ Z]f[eYjck&
<]f[eYjcaf_ ak \gf] oal l] ]dh g^ Z]f[eYjc hjg_jYek oa[ Yj]
kg^loYj] hjg_jYek lYl ]klaeYl] l] h]j^gjeYf[] g^ l] kqkl]e naY Y []jlYaf Yd_g)
jale \]^af]\ Zq l] Z]f[eYjc hjg_jYe* <]f[eYjcaf_ ]paklk ^gj nYjagmk Yhhda)
[Ylagf ^a]d\k km[ Yk >MJ( Ymlgeglan]( _]f]jYd h]j^gjeYf[] %]*_* \]kclgh [gehml)
]jk( _jYha[k [Yj\k&( l]d][geemfa[Ylagf ]l[* Cf gj\]j lg cfgo lYl o] Yj] mkaf_
YhhjghjaYl] Z]f[eYjc ^gj l] kqkl]e afl]f\]\( o] kgmd\ ^ajkl \]l]jeaf] oa[
Yhhda[Ylagf \geYaf o] oYfl lg ]nYdmYl] l] kqkl]e ^gj*
<]f[eYjcaf_ g^ ]eZ]\\]\ kqkl]ek ak lja[ca]j Yf\ egj] \a^^a[mdl lYf Y
j]_mdYj \]kclgh [gehml]j gj ogjcklYlagf* Nak ak Z][Ymk] ]eZ]\\]\ kqkl]ek Yn]
Y dYj_] fmeZ]j g^ Cfkljm[lagf M]l ;j[al][lmj]k %CM;&( eYcaf_ al \a^^a[mdl lg hgjl
l] Z]f[eYjc lg jmf gf Ydd CM;k U55W* M][gf\dq( l] \geYaf g^ ]eZ]\\]\ kqk)
l]ek ak \an]jk]* N] Z]f[eYjc emkl Z] YZd] lg j]^]j lg egkl g^ l] Yhhda[Ylagf
^a]d\k eYcaf_ al Y _j]Yl [Ydd]f_]*
N]j] Yn] Z]]f kge] ]^^gjlk lg [YjY[l]jar] ]eZ]\\]\ ogjcdgY\k( egkl
fglYZdq l] kmal] \]n]dgh]\ Zq l] ?>H ?eZ]\\]\ Ga[jghjg[]kkgj <]f[eYjc
=gfkgjlame %??G<=&* N]q Yn] j][g_far]\ l] \a^^a[mdlq g^ mkaf_ bmkl gf]
kmal] lg [YjY[l]jar] km[ Y \an]jk] Yhhda[Ylagf \geYaf Yf\ Yn] hjg\m[]\ Y k]l g^
kmal]k lYl eg\]d lqha[Yd ogjcdgY\k af ^an] ]eZ]\\]\ eYjc]lk afkl]Y\*
N] \geafYfl hjg_jYeeaf_ dYf_mY_] mk]\ af ]eZ]\\]\ kqkl]e Z]f[)
eYjck ak = Yk af ]eZ]\\]\ kqkl]ek7 Zml ]eZ]\\]\ kqkl]ek [gehad]jk mkmYddq ae)
hd]e]fl nYjagmk ]pl]fkagfk lg l] klYf\Yj\ = dYf_mY_]* Maf[] ]Y[ g^ ]eZ]\\]\
kqkl]ek hjg_jYek ak ojall]f ^gj Y kh][a^a[ [gehad]j Yf\ Y kh][a^a[ Yj\oYj] hdYl)
^gje( l] [gehad]j Yk lg eaea[ l] = nYjaYflk mk]\ Zq k]n]jYd \a^^]j]fl [gehad]jk
U-,,W*
N]j] Yj] ^gmj eYaf [dYkk]k g^ afkljm[lagfk af l] afkljm[lagf eap g^ Y
Z]f[eYjc hjg_jYe6 [gfljgd %mf[gf\alagfYd Yf\ [gf\alagfYd ZjYf[]k&( afl]_]j(
^dgYlaf_ hgafl Yf\ e]egjq %dgY\ Yf\ klgj]&* If l] gl]j Yf\( ]eZ]\\]\ kqkl]e
53

Benchmarking and Performance Evaluation

Yhhda[Ylagfk nYjq \]h]f\af_ gf l]aj ^g[mk* N]j] Yj] Vbageb_ \agXaf\iX hjg_jYek
oa[ Yn] Y em[ dYj_]j h]j[]flY_] g^ ZjYf[ afkljm[lagfk7 VbchgTg\ba \agXaf\iX
Yhhda[Ylagfk oa[ Yn] Y dYj_]j h]j[]flY_] g^ afl]_]j gj ^dgYlaf_ hgafl ;FO gh]j)
Ylagfk Yf\ A+G Tcc_\VTg\baf oa[ \]h]f\ gf go l] \YlY ak eYfahmdYl]\ \mjaf_
alk ljYfk^]j U55W*
Nmk( Z]f[eYjck [Yf ^mjl]j Z] \ana\]\ aflg lj]] [Yl]_gja]k \]h]f\af_
gf l] Yhhda[Ylagf [Yl]_gjq l]q Yn] Z]]f afl]f\]\ ^gj %a*]* [gfljgd Z]f[eYjck(
[gehmlYlagf Z]f[eYjck gj C+I Z]f[eYjck&* Maf[] al ak n]jq \a^^a[mdl lg ^al ]pakl)
af_ Z]f[eYjck kgd]dq aflg gf] [Yl]_gjq( al ak Y Z]ll]j a\]Y lg lYc] Y [geZafYlagf
g^ l]k] [jal]jaY %km[ Yk [gfljgd)[gehmlYlagf Z]f[eYjck gj [gfljgd)C+I Z]f[)
eYjck&*
;fgl]j mk]^md oYq lg [Yl]_gjar] Z]f[eYjck ak o]l]j l]q Yj] flag[Xg\V(
gj Tcc_\VTg\ba UTfXW* ; kqfl]la[ Z]f[eYjc ak [j]Yl]\ oal l] afl]fl lg e]Ykmj]
gf] gj egj] ^]Ylmj]k g^ Y kqkl]e( hjg[]kkgj( gj [gehad]j Yf\ eYq ljq lg eaea[
afkljm[lagf eap]k af j]Yd ogjd\ Yhhda[Ylagfk U-,-W* Bgo]n]j( l]q Yj] fgl j]dYl]\
lg go lYl ^]Ylmj] oadd h]j^gje af Y j]Yd Yhhda[Ylagf*
;hhda[Ylagf)ZYk]\ gj !j]Yd ogjd\! Z]f[eYjck mk] l] [g\] \jYof ^jge
j]Yd Yd_gjalek gj ^mdd Yhhda[Ylagfk Yf\ Yj] egj] [geegf af kqkl]e)d]n]d Z]f)
[eYjcaf_ j]imaj]e]flk U-,-W*
Q]f o] lYdc YZgml Z]f[eYjck( o] [gfka\]j log ZYka[ hjgh]jla]k g^ l]
Z]f[eYjc hjg_jYek6 fgTg\V Yf\ WlaT\V* MlYla[ hjgh]jla]k Yj] l] hjgh]jla]k lYl
[Yf Z] \]l]jeaf]\ Zq YfYdqraf_ l] kgmj[] [g\] g^ Y hjg_jYe( oalgml ]p][mlaf_ al
U-,.W* Nmk( l]q Yj] e]Ykmj]\ hjagj lg ]p][mlagf* Nqha[Yd ]pYehd]k ogmd\ kaehdq
Z] l] [gehad]j Yf\ ogjkl)[Yk] ]p][mlagf lae] %Q=?N& YfYdqkak kaf[] al ak h]j)
^gje]\ Zq klYla[Yddq YfYdqraf_ l] [g\]*
Cf [gfljYkl( \qfYea[ hjgh]jla]k Yj] \]l]jeaf]\ Zq gZk]jnaf_ l] ]p][mlagf
g^ l] hjg_jYe af l] kh][a^a[ hjg[]kkgj* N]q Yj] j]d]nYfl gfdq o]f [gehYjaf_
hjg[]kkgj h]j^gjeYf[]*
N] ghlaeYd Z]f[eYjc hjg_jYe ^gj Y kh][a^a[ Yhhda[Ylagf ak l] gf] og
ak ojall]f af Y a_)d]n]d dYf_mY_]( hgjlYZd] Y[jgkk \a^^]j]fl eY[af]k( Yf\ ]Ykadq
e]YkmjYZd] Yk o]dd Yk Ynaf_ Y oa\] \akljaZmlagf U-,.W*

3.2. Classical Benchmarks


3.2.1.

Whetstone

Q]lklgf] oYk l] ^ajkl afl]flagfYddq ojall]f Z]f[eYjc kg^loYj] lg e]Yk)


mj] [gehml]j h]j^gjeYf[] Yf\ oYk \]ka_f]\ lg kaemdYl] ^dgYlaf_ hgafl Yhhda[Y)
lagfk* Cl [gflYafk Y dYj_] h]j[]flY_] g^ ^dgYlaf_ hgafl \YlY Yf\ afkljm[lagfk( Y
fmeZ]j g^ n]jq la_l dgghk Ydgf_ oal ^Yajdq keYdd afkljm[lagf [Y[]k Yf\ Y a_
h]j[]flY_] g^ ]p][mlagf lae] %YhhjgpaeYl]dq 1,"& ak kh]fl af eYl]eYla[Yd da)
ZjYjq ^mf[lagfk U-,.W*
N] Z]f[eYjc ak n]jq kaehd]( [gfkaklk g^ faf] keYdd dgghk( Ynaf_ ]p)
lj]e]dq a_ [g\] dg[Ydalq %-,," al jYlag [Yf Z] ]ph][l]\ ]n]f ^gj ^Yajdq keYdd C)
[Y[]k&( lj]] g^ oa[ ]p][ml] naY hjg[]\mj] [Yddk7 lj]] dgghk [Yjjq gml ^dgYlaf_
hgafl [Yd[mdYlagfk( log ^mf[lagfk( gf] Ykka_fe]flk( gf] ^ap]\ hgafl Yjale]la[ Yf\
gf] ZjYf[af_ klYl]e]flk o]j] l] \geafYfl dggh( mkmYddq Y[[gmflaf_ ^gj /,"
lg 1," g^ l] lae] U-,/W*
54

Benchmarking and Performance Evaluation

N] eYbgjalq g^ alk nYjaYZd]k Yj] _dgZYd Yf\ l] l]kl oadd fgl kgo mh l]
Y\nYflY_]k g^ Yj[al][lmj]k km[ Yk LCM=( o]j] l] dYj_] fmeZ]j g^ hjg[]kkgj
j]_akl]jk ]fYf[]k l] Yf\daf_ g^ dg[Yd nYjaYZd]k U-,.W* Nmk( l] l]klk [Yf gfdq
j]^]j]f[] Y keYdd Yegmfl g^ \YlY oa[ ^al af l] F- [Y[] g^( lmk F. [Y[] Yf\
e]egjq kh]]\ Yn] fg af^dm]f[] gf Q]lklgf] h]j^gjeYf[]*
; a_ h]j[]flY_] g^ ]p][mlagf lae] ak kh]fl af eYl]eYla[Yd daZjYjq ^mf[)
lagfk Yf\ dYj_] fmeZ]j g^ _dgZYd nYjaYZd]k ak mk]\ afkl]Y\ g^ ^]o dg[Yd nYjaYZd]k(
lmk Y [gehad]j lYl mk]k _dgZYd nYjaYZd]k Yk j]_akl]j nYjaYZd]k oadd Zggkl Q]lklgf]
h]j^gjeYf[] U53W* Q]lklgf] gja_afYddq e]Ykmj]\ [gehmlaf_ hgo]j af mfalk g^
cadg)Q]lklgf] Cfkljm[lagfk h]j M][gf\ %cQCJM&( Zml oYk dYl]j [Yf_]\ lg
Gaddagfk g^ Q]lklgf] Cfkljm[lagfk h]j M][gf\ %GQCJM&*
3.2.2.

Dhrystone

>jqklgf] oYk Yf afl]flagf lg e]Ykmj] l] h]j^gjeYf[] g^ [gehml]j kqk)


l]ek( fgl ]eZ]\\]\ hjg[]kkgjk( ^g[mkaf_ gf afl]_]j h]j^gjeYf[] gfdq*
Cf [gfljYkl lg Q]lklgf]( al [gflYafk fg ^dgYlaf_ hgafl gh]jYlagf Yf\ Y
[gfka\]jYZd] h]j[]flY_] g^ lae] ak kh]fl af kljaf_ ^mf[lagfk U-,0W eYcaf_ l] l]kl
n]jq \]h]f\]fl mhgf l] oYq km[ gh]jYlagfk Yj] h]j^gje]\ %]*_* Zq jgmlaf]k ojal)
l]f af Ykk]eZdq dYf_mY_]&* Cl [gflYafk Yj\dq Yfq la_l dgghk( kg af l] [Yk] g^ n]jq
keYdd [Y[]k l] eYbgjalq g^ afkljm[lagf Y[[]kk]k oadd Z] eakk]k* Bgo]n]j( l] kalmY)
lagf [Yf_]k jY\a[Yddq Yk kggf Yk l] [Y[] j]Y[]k Y [jala[Yd kar] Yf\ [Yf gd\ l]
eYaf e]Ykmj]e]fl dggh U-,1W*
Cl oYk gja_afYddq ojall]f af ;>;7 Zml l] = n]jkagf g^ >jqklgf] ak l] gf]
eYafdq mk]\ af af\mkljq* N] gja_afYd >jqklgf] Z]f[eYjc ak kladd mk]\ lg e]Yk)
mj] =JO h]j^gjeYf[] lg\Yq* N] >jqklgf] [g\] ak \geafYl]\ Zq kaehd] afl]_]j
Yjale]la[( kljaf_ gh]jYlagfk( dg_a[ \][akagfk( Yf\ e]egjq Y[[]kk]k afl]f\]\ lg
j]^d][l l] =JO Y[lanala]k af egkl _]f]jYd hmjhgk] [gehmlaf_ Yhhda[Ylagfk U-,2W*
>jqklgf]zk j]kmdl ak \]l]jeaf]\ Zq e]Ykmjaf_ l] Yn]jY_] lae] al lYc]k Y
hjg[]kkgj lg h]j^gje eYfq al]jYlagfk g^ Y kaf_d] dggh [gflYafaf_ Y ^ap]\ k]im]f[]
g^ afkljm[lagfk lYl eYc] mh l] Z]f[eYjc U-,2W* >jqklgf] e]Ykmj]k h]j^gj)
eYf[] af l]jek g^ >GCJM( gj >jqklgf] GCJM+GBr*
;\nYflY_]k g^ >jqklgf] Yj] alk [gehY[lf]kk( Z]af_ oa\]dq YnYadYZd] af l]
hmZda[ \geYaf( Yf\ kaehd] lg jmf* Bgo]n]j( l] >GCJM k[gj] Y[lmYddq j]^d][lk l]
h]j^gjeYf[] g^ l] = [gehad]j Yf\ daZjYja]k( hjgZYZdq egj] kg lYf l] h]j^gj)
eYf[] g^ l] hjg[]kkgj alk]d^ Yf\ [mklge]jk Yn] lg Z] \]h]f\]fl gf hjg[]kkgj
n]f\gjk lg imgl] Y[[mjYl] >jqklgf] k[gj]k*
>jqklgf] [g\] ak n]jq [gehY[l g[[mhqaf_ bmkl -)-*1c< g^ [gehad]\ [g\]
Yf\ Z][Ymk] g^ alk keYdd kar]( e]egjq Y[[]kk Z]qgf\ l] [Y[] ak fgl ]p]j[ak]\
U-,2W* GYbgjalq g^ lg\Yqzk Yhhda[Ylagfk( hjg[]kkgj [gj]k Yj] ]eZ]\\]\ oal [Y[]
e]egja]k* N] gn]jYdd e]egjq a]jYj[q( Yf\ l] oYq lYl l] e]egjq ak eY)
fY_]\ ]Ynadq Y^^][l kqkl]e \]ka_f Yf\ h]j^gjeYf[]* >jqklgf] ^Yadk lg lYc] kqk)
l]ek oal km[ dYj_] e]egjq kmZkqkl]ek( af[dm\af_ hjg[]kkgjk Yf\ kqkl]ek oal
F-( F.( Yf\ F/ [Y[]k Yf\ Ydkg ^Yadk lg lYc] aflg Y[[gmfl Yfq g^ l] LCM= [gehm)
laf_ ]fYf[]e]flk km[ Yk kmh]jk[YdYj+kmh]j)hah]daf] Yj[al][lmj]( YnYadYZadalq g^
kghakla[Yl]\ ^dgYlaf_ hgafl hjg[]kkgj mfalk afka\] eYaf hjg[]kkgjk( PFCQ hjg[]k)
55

Benchmarking and Performance Evaluation

kgjk( ghlaearaf_ [gehad]jk( emdlalYkcaf_( gj Yfq dYj_] j]Yd)lae] ]eZ]\\]\ Yhhda[Y)


lagfk*
@gddgoaf_ alk j]d]Yk]( >jqklgf] km[[]]\]\ af _anaf_ Yf Ydl]jfYlan] Z]f)
[eYjcaf_ lggd lg n]f\gjkz dal]jYd GCJM jYlaf_k7 go]n]j Yk e]flagf]\ YZgn]( al ak
fgl Y hYjla[mdYjdq _gg\ hj]\a[lgj g^ j]Yd ogjd\ h]j^gjeYf[]( ]kh][aYddq ^gj [gehd]p
]eZ]\\]\ kqkl]ek*
Ggj] j][]fl Z]f[eYjc afalaYlan]k( km[ Yk lgk] g^^]j]\ Zq ??G<= U-,3W(
hjgna\] Y nYja]lq g^ Z]f[eYjck \]ka_f]\ lg l]kl Y jYf_] g^ Yhhda[Ylagf \geYafk*
3.2.3.

SPEC Benchmarks

MJ?= %MlYf\Yj\ J]j^gjeYf[] ?nYdmYlagf =gjhgjYlagf& Z]f[eYjc


kmal]k U-,4W Yj] g^l]f mk]\ lg ]nYdmYl] l] h]j^gjeYf[] g^ hjg_jYeeaf_ lggdk( af)
[dm\af_ lgk] mk]\ ^gj ]eZ]\\]\ kqkl]ek hjg_jYeeaf_* Cl ak Y =JO)afl]fkan]
Z]f[eYjc ^gj ]nYdmYlaf_ hjg[]kkgj h]j^gjeYf[] g^ ogjcklYlagf Yf\ Yk ^gmj _]f)
]jYlagfk6 ;HL5.( ;HL51( ;HL.,,, Yf\ ;HL.,,2* N]q [YjY[l]jar] Y ogjc)
dgY\ ^gj _]f]jYd)hmjhgk] [gehml]jk Zq hjgna\af_ Y k]d^)[gflYaf]\ k]l g^ hjg_jYek
Yf\ \YlY \ana\]\ aflg k]hYjYl] afl]_]j Yf\ ^dgYlaf_)hgafl gh]jYlagfk*
Bgo]n]j( MJ?= ^Yadk lg Y\\j]kk ]eZ]\\]\ kqkl]e Z]f[eYjcaf_ j]imaj])
e]flk Yf\ ak gfdq Yhhda[YZd] lg \]kclgh [gehml]jk* D* ?f_Zdge eY\] Y klm\q lg
afn]kla_Yl] oq MJ?= Z]f[eYjc ak fgl YhhjghjaYl] ^gj ]eZ]\\]\ kqkl]ek7 oal
l] Yhhda[Ylagf Yj]Yk Z]af_ l]d][geemfa[Ylagfk( n]a[d] [gfljgd( Yf\ ge] # [gf)
kme]j ]d][ljgfa[k Yf\ [gf[dm\]\ lYl l]j] ak Y f]]\ ^gj Z]f[eYjck lYl Yj] egj]
j]hj]k]flYlan] ^gj ]eZ]\\]\ kqkl]ek U-,,W* B] hgafl]\ gml lYl ]eZ]\\]\ kqk)
l]ek Z]f[eYjck f]]\ lg Y\\j]kk [YjY[l]jakla[k g^ ]eZ]\\]\ hjg_jYek*
3.2.4.

EEMBC Benchmarks

Cf l] -55,k( f]o affgnYlagfk af Yj\oYj] Yj[al][lmj] \jgn] Y f]]\ ^gj


Z]f[eYjck ZYk]\ gf j]Yd Yhhda[Ylagfk Yk LCM= Z][Ye] ]eZ]\\]\* PFCQ Z][Ye]
egj] hjY[la[Yd mkaf_ Y\nYf[]\ [gehad]j l][fgdg_q U-,0W* ;k Y j]kmdl( ?eZ]\\]\
Ga[jghjg[]kkgj <]f[eYjc =gfkgjlame %??G<=& oYk ^gje]\* ??G<=$k
_gYd oYk lg Zjaf_ j]Yd)ogjd\( Yhhda[Ylagf)ZYk]\ Z]f[eYjck lg l] ogjd\* ??G<=
[g\] kh][a^a]k gn]j /1 k]hYjYl] Z]f[eYjc c]jf]dk( \ana\]\ aflg 1 Yhhda[Ylagf khY[)
]k6 Ymlgeglan]+af\mkljaYd( [gfkme]j( f]logjcaf_( g^^a[] YmlgeYlagf Yf\ l]d][ge)
emfa[Ylagfk* N] ??G<= Z]f[eYjc kmal] ak Yf Yll]ehl lg hjgna\] l] ]eZ]\)
\]\ kqkl]ek ogjd\ oal Yf ]imanYd]fl g^ l] \]kclgh kqkl]ekz MJ?= Z]f[eYjck*
;dd hjg[]kkgj k[gj]k Yj] YnYadYZd] gf l] ??G<= o]Zkal]( ^gj ^j]] U-,3W*
=mjj]fldq ??G<= Yk gn]j -4, k[gj]k YnYadYZd] ^gj ^j]] gf alk o]Zkal]( Yf\ Yk
_Yaf]\ Y m_] Yegmfl g^ kmhhgjl gn]j l] q]Yjk( af[dm\af_ l] Jgo]jJ= Yj[al][)
lmj]* ??G<= ak Yf gh]f hjg[]kk Yf\ [gfkgjlame ^gj e]eZ]jk lg j]kgdn] \akhml]k(
]phj]kk ghafagfk( ngl]( Yf\ af[dm\] f]o Z]f[eYjck aflg f]o n]jkagfk Yf\ al ak
fgl klYla[ ) al egn]k Yk l] af\mkljq egn]k U-,0W*
??G<= [g\] Ydkg af[dm\]k Yhhda[Ylagf)kh][a^a[ Z]f[eYjcaf_ lggdk km[ Yk
DYnY <]f[eYjck( \a_alYd ]fl]jlYafe]fl Z]f[eYjck ^gj GJ?A). >][g\](
GJ?A). ?f[g\] Yf\ GJ?A)0 >][g\]( Pga[] gn]j Cfl]jf]l Jjglg[gd %PgCJ& Yf\
56

Benchmarking and Performance Evaluation

[jqhlg_jYhq Z]f[eYjck* N]j] ak ]n]f Z]f[eYjc YnYadYZd] ^gj emdla)[gj] hjg)


[]kkgjk( l] Gmdla<]f[} Yf\ ^gj hgo]j [gfkmehlagf( l] ?f]j_q<]f[}*
Of^gjlmfYl]dq( l] ??G<= Z]f[eYjck( mfdac] MJ?=( Yj] fgl j]Y\adq Y[)
[]kkaZd] lg Y[Y\]ea[ j]k]Yj[]jk Z][Ymk] g^ l] a_ [gkl g^ bgafaf_ l] [gfkgjlame
U-,3W*
3.2.4.1.

Automark

??<G= hjghgk]\ ;mlgeYjc}( oa[ ak Y [g]^^a[a]fl gZlYaf]\ ^jge l]


Z]f[eYjc j]kmdlk( Yk Y [geZafYlagf g^ fmeZ]jk %_]ge]lja[ e]Yf& lYl g^^]jk Y
kaf_d] hYjYe]l]j g^ [gehYjakgf lYl ]phj]kk]k l] h]j^gjeYf[] g^ l] lYj_]l hjg)
[]kkgj ^gj Y k]l g^ Z]f[eYjck* Cf lak oYq( o] [Yf jmf k]n]jYd \a^^]j]fl l]klk gn]j
Y hjg[]kkgj Yf\ kmeeYjar] l] h]j^gjeYf[] oal Y kaf_d] fmeZ]j( oa[ ak n]jq
hjY[la[Yd o]f [gehYjaf_ \a^^]j]fl hjg[]kkgjk Yf\ Z]lo]]f l] \a^^]j]fl [gf^a_m)
jYlagfk g^ ]Y[ hjg[]kkgj* Ggj] \]lYad]\ ]phdYfYlagf ak hj]k]fl]\ af l] e]lg)
\gdg_q [Yhl]j*
3.2.5.

MiBench

Ga<]f[ ak Y k]l g^ /1 ]eZ]\\]\ Yhhda[Ylagfk ^gj Z]f[eYjcaf_ hmjhgk]k*


@gddgoaf_ ??G<=zk eg\]d( l]k] Z]f[eYjck Yj] \ana\]\ aflg kap kmal]k oal
]Y[ kmal] lYj_]laf_ Y kh][a^a[ Yj]Y g^ l] ]eZ]\\]\ eYjc]l6 Ymlgeglan] Yf\ af)
\mkljaYd [gfljgd( [gfkme]j \]na[]k( g^^a[] YmlgeYlagf( f]logjcaf_( k][mjalq( Yf\
l]d][geemfa[Ylagfk* ;dd l] hjg_jYek Yj] YnYadYZd] Yk klYf\Yj\ = kgmj[] [g\] Yf\
]f[] hgjlYZd] lg Yfq hdYl^gje lYl Yk [gehad]j kmhhgjl* Nak Z]f[eYjc Yk
eYfq kaeadYjala]k lg l] ??G<= kmal] Yk \]k[jaZ]\ gf l]aj g^^a[aYd o]Zkal] U-,W(
Zml Ga<]f[ ak [gehgk]\ g^ ^j]]dq YnYadYZd] kgmj[] [g\] mfdac] l] ??G<=
Z]f[eYjc kmal]*

3.3. CoreMark
Maf[] alk ^gjeYlagf( ??G<= Yk Z]]f k]]caf_ Ydl]jfYlan] Z]f[eYjc kg^l)
oYj] lYl [Yf Z] mk]\ afkl]Y\ g^ >jqklgf] lg Z]ll]j e]Ykmj] l] h]j^gjeYf[] g^
]eZ]\\]\ hjg[]kkgjk( ]kh][aYddq \m] lg >jqklgf]zk kmk[]hlaZadalq lg [gehad]j gh)
laearYlagfk Yf\ dY[c g^ e]egjq gh]jYlagfk* N] hjg[]kkgj Yj\oYj]( e]egjq Yj)
[al][lmj]( [gehad]j Yf\ dafc]j ghlaearaf_ ghlagfk Ydd Y^^][l l] Z]f[eYjc k[gj]
U--,W af\]]\*
;dlgm_ ??G<= Yk hjg\m[]\ Y _jgmh g^ o]dd)j]kh][l]\ Z]f[eYjck
[gn]jaf_ [Yl]_gja]k km[ Yk Ymlgeglan]( [gfkme]j( emdlae]\aY( f]logjcaf_ Yhhda)
[Ylagfk( >jqklgf] ak kladd oa\]dq imgl]\* ??G<= Yk j]d]Yk]\ alk ^ajkl ^j]]( gh]f)
dq)YnYadYZd] ]eZ]\\]\ kqkl]ek Z]f[eYjc U---W( =gj]GYjc} Yk Y j]hdY[]e]fl
^gj >jqklgf]* <Yk]\ gf ??G<=$k nYjagmk Z]f[eYjck lYj_]laf_ \a^^]j]fl ]e)
Z]\\]\ k]_e]flk( =gj]GYjc} -*, g^^]jk Y _]f]ja[ Z]f[eYjc ^gj hjg[]kkgj [gj]k
lYl ak egj] j]daYZd] lYf >jqklgf] U--.W*
=gj]GYjc} ^g[mk]k gf ]p]j[akaf_ Y hjg[]kkgjzk ZYka[ hah]daf] kljm[lmj]( ZY)
ka[ j]Y\+ojal] gh]jYlagfk( afl]_]j gh]jYlagfk( Yf\ [gfljgd gh]jYlagfk U--,W*
N] hjgZd]e oal ??G<=zk [mjj]fl Z]f[eYjc kmal] ak l] hmZda[Ylagf
hjg[]kk* ??G<= e]eZ]jk eYq fgl hmZdak Y k[gj] mfd]kk al Yk Z]]f []jla^a]\ Zq
??G<=* <][Ymk] []jla^a[Ylagf [gklk egf]q( hjg[]kkgj n]f\gjk Yj] fgl eglanYl]\
57

Benchmarking and Performance Evaluation

lg []jla^q l]aj k[gj]k mfd]kk l]q Y[a]n] af\mkljq d]Y\]jkah( kdgoaf_ \gof l]
fmeZ]j g^ hmZdak]\ k[gj]k af j][]fl q]Yjk U--/W*
=gj]GYjc} Yaek lg kgdn] lak hjgZd]e Zq ]daeafYlaf_ l] []jla^a[Ylagf j])
imaj]e]fl Yf\ g^^]jaf_ l] Z]f[eYjc kgmj[] [g\] gh]fdq* =gj]GYjc} j]kmdlk
[Yf Z] _]f]jYl]\ Yf\ hmZdak]\ Zq Yfq n]f\gj Yf\ [mklge]j* ??G<= Yk k]l mh Y
kh][a^a[ o]Zkal] U---W ^gj l] \akljaZmlagf g^ =gj]GYjc} kgmj[] [g\] Yf\ l]
hmZda[Ylagf g^ k[gj]k*
=gj]GYjc} ogjcdgY\ [gfkaklk g^ Tge\k Ta\ch_Tg\ba lYl [Yf ]p]j[ak]
k]jaYd Yf\ hYjYdd]d G;= Yf\ eYl gh]jYlagfk( _\a^XW)_\fg Ta\ch_Tg\ba lg ]p]j[ak]
l] mk] g^ hgafl]jk( fgTgX TV[\aX bcXeTg\baf lg ]p]j[ak] \YlY \]h]f\]fl ZjYf[]k af
l] hah]daf] Yf\ Y ;I; &;lV_\V IXWhaWTaVl ;[XV^ ^mf[lagf U--,W* Cl ak fgl dac] l]
ljY\alagfYd ??G<= Z]f[eYjck7 go]n]j( ^gj ]pYehd]( al \g]k fgl kgo l] ae)
hY[l g^ e]egjq( C+I( Yf\ Yhhda[Ylagf kh][a^a[ ^mf[lagfk U--/W*

3.4. Performance Evaluation Metrics


3.4.1.

Classical Metrics

Cf gj\]j lg mf\]jklYf\ Ykh][lk g^ [gehml]j kqkl]e h]j^gjeYf[]( o] f]]\


lg \]l]jeaf] oa[ Ykh][lk Yj] afl]j]klaf_ Yf\ mk]^md lg e]Ykmj] ^ajkl U--1W* N]
k]l g^ nYdm]k o] mk] lg \]k[jaZ] h]j^gjeYf[] g^ Y [gehml]j kqkl]e ak j]^]jj]\ lg Yk
h]j^gjeYf[] e]lja[k*
3.4.1.1.

Execution time and CPU time

Maf[] o] Yj] eYafdq afl]j]kl]\ af go ima[c Y hYjla[mdYj hjg_jYe ak ]p)


][ml]\( l] ^mf\Ye]flYd h]j^gjeYf[] e]lja[ g^ Y [gehml]j kqkl]e ak l] ]p][m)
lagf lae]( oa[ ak l] lae] j]imaj]\ lg ]p][ml] Y hjg_jYe gj lYkc af l] hjg[]k)
kgj* Bgo]n]j( oalgml Y hj][ak] Yf\ Y[[mjYl] e]Ykmj] g^ lae]( al ak fgl hgkkaZd] lg
YfYdqr] Yfq h]j^gjeYf[] e]lja[*
Nmk( =JO lae] ak mk]\ lg \]k[jaZ] l] lglYd lae] hjg[]kkgj kh]f\k gf ]p)
][mlaf_ Y hjg_jYe Ydgf_ oal l] [dg[c lae] %=N& oa[ ak l] \mjYlagf g^ ]n]jq
[dg[c hmdk]*
N] fmeZ]j g^ =JO [dg[c [q[d]k ^gj ]p][mlaf_ Y bgZ ak [Ydd]\ l] [q[d]
[gmfl %==&( Yf\ l] lae] al lYc]k ^gj l] =JO lg ]p][ml] Y bgZ ak kaehdq6
=

B]j]( =N ak l] [q[d] lae] Yf\ ^ ak l] [dg[c ^j]im]f[q*


3.4.1.2.

Clocks per Instruction (CPI)

Cl ak em[ ]Yka]j lg [gmfl l] fmeZ]j g^ afkljm[lagfk ]p][ml]\ af Y _an]f


hjg_jYe afkl]Y\ g^ [gmflaf_ l] fmeZ]j g^ =JO [dg[c [q[d]k f]]\]\ ^gj ]p][ml)
af_ lYl hjg_jYe* N]j]^gj]( l] Yn]jY_] fmeZ]j g^ [dg[c [q[d]k h]j afkljm[lagf
%=JC& Yk Z]]f mk]\ Yk Yf Ydl]jfYl] h]j^gjeYf[] e]lja[ U--0W6
=

58

Benchmarking and Performance Evaluation

Nmk(

Q] cfgo lYl CM; g^ Y hjg[]kkgj af[dm\]k eYafdq ;FO( ZjYf[ Yf\


dgY\+klgj] afkljm[lagfk* C^ l] =JC g^ ]Y[ afkljm[lagf [dYkk ak \]^af]\ af CM;( l]f
o] [Yf [gehml] l] gn]jYdd =JC Yk U--0W6
=

()

()

B]j]( A&\ ak l] fmeZ]j g^ lae]k Yf afkljm[lagf g^ lqh] \ ak ]p][ml]\ af l]


hjg_jYe Yf\ ;HA&\ ak l] Yn]jY_] fmeZ]j g^ [dg[c [q[d]k f]]\]\ lg ]p][ml] km[
afkljm[lagf*
Maf[] =JC Yf\ afkljm[lagf [gmfl Zgl j]^d][l CM; g^ Y hjg[]kkgj( al ak abg
]Ydlq lg mk] =JC kgd]dq o]f [gehYjaf_ log hjg[]kkgjk kaf[] al [Yf Z] eakd]Y\)
af_*
3.4.1.3.

MIPS

Gaddagf Cfkljm[lagfk h]j M][gf\ %GCJM& ak Yfgl]j h]j^gjeYf[] e]lja[


lYl Yk YlljY[l]\ Yll]flagf af j][]fl q]Yjk Yf\ al ak \]^af]\ Yk ^gddgok6
=

10

10

If] Yk lg Z] [Yj]^md o]f [gehYjaf_ h]j^gjeYf[] g^ log [gehml]jk oal


\a^^]j]fl CM;k* Nak ak Z][Ymk] GCJM \g]kfzl ljY[c ]p][mlagf lae]* <]ka\]k( Y LCM=
hjg[]kkgj ea_l Yn] Y a_ GCJM jYlaf_ o]j] ]Y[ afkljm[lagf \g]k d]kk mk]^md
ogjc( oa[ d]Y\k lg af[gjj][l ]nYdmYlagf U--0W*
3.4.1.4.

MFLOPS

Gaddagf @dgYlaf_ Jgafl Cfkljm[lagfk h]j M][gf\ %G@FIJM& Yk Ydkg


Z]]f mk]\ Yk Y e]Ykmj] ^gj eY[af]kz h]j^gjeYf[] Yf\ ak \]^af]\ Yk6
=

10

Fac] GCJM( G@FIJM ak Ydkg fgl Y hjgh]j e]Ykmj] g^ h]j^gjeYf[] kaf[]


l] k]l g^ ^dgYlaf_)hgafl gh]jYlagfk eYq fgl Z] [gfkakl]fl Y[jgkk eY[af]k Yf\
l]j]^gj] l] Y[lmYd ^dgYlaf_)hgafl gh]jYlagfk oadd nYjq ^jge eY[af] lg eY[af]*
3.4.2.

Arithmetic and Geometric Performance Mean

J]j^gjeYf[] ]nYdmYlagf e]lja[k Yj] imal] [Ydd]f_af_ kaf[] ojgf_ [ga[] g^


l] e]lja[k [Yf Z] \][]anaf_ gf h]j^gjeYf[] ]nYdmYlagf( Yk o]dd Yk ojgf_ ]klaeY)
lagf g^ Yhhda[Ylagf ogjcdgY\*
59

Benchmarking and Performance Evaluation

N] h]j^gjeYf[] g^ Y eY[af] j]_Yj\af_ gf] hYjla[mdYj hjg_jYe ea_l fgl


Z] afl]j]klaf_ lg dggc Yl* Cfkl]Y\( l] mk] g^ Te\g[Xg\V Yf\ ZXbXge\V e]Yfk Yj]
egj] YhhjghjaYl] lg kmeeYjar] h]j^gjeYf[] j]_Yj\af_ Z]f[eYjc hjg_jYek
U--0W6

B]j]( XkXVhg\ba g\X\ ak l] ]p][mlagf lae] ^gj l] \%g[ hjg_jYe Yf\ a ak l]


lglYd fmeZ]j g^ hjg_jYek af l] k]l g^ Z]f[eYjck U--0W*
3.4.3.

Iterations per Second and Total Run Time

Cf [gehmlaf_( kgdmlagf g^ Y hjgZd]e ak g^l]f ZYk]\ gf h]j^gjeaf_ l] kYe]


kl]hk j]h]Yl]\dq mflad Y []jlYaf [gf\alagf ak kYlak^a]\( a*]* h]j^gjeaf_ l] kYe] [Yd)
[mdYlagfk af dgghk kg lYl ]n]jq [Yd[mdYlagf oadd Z] Yf YhhjgpaeYl] g^ l] ^afYd kg)
dmlagf* ?Y[ YhhjgpaeYlagf ak j]^]jj]\ lg Yk Yf al]jYlagf( Yf\ l] fmeZ]j g^ lae]k
]Y[ gh]jYlagfYd [q[d] [Yf Z] j]h]Yl]\ af - k][gf\ ak [Ydd]\ al]jYlagfk h]j k][gf\*
Cf hjg_jYeeaf_( km[ al]jYlagfk Yj] [Yjja]\ gml Zq dgghk af l] hjg_jYe [g\]*
N] ??G<= ;mlg<]f[} Yd_gjalek [gfkakl g^ k]n]jYd dgghk oa[ [Yjjq
gml Y kh][a^a[ ^mf[lagf \]h]f\af_ gf l] [YjY[l]jakla[ g^ lYl Yd_gjale* @gj ]p)
Yehd]( af TaZ_X)gb)g\X VbaiXef\ba &T.g\X Yd_gjale( l]j] ]paklk Y dggh( o]j] l]
dggh j]Y\k Y hj]nagmk j]Yd)lae] [gmfl]j nYdm] ^jge l] l]kl \YlY ^ad] Yf\ kmZljY[lk al
^jge l] [mjj]fl [gmfl]j nYdm] lg \]l]jeaf] l] lae] Z]lo]]f l]]l ]\_]k* N]
dggh [gflafm]k lg ]p][ml] mflad l] lggl [gmfl]j ak j]k]l lg r]jg Zq l] kh][a^a[
j]imaj]e]fl g^ l] Yd_gjale %Jd]Yk] j]^]j lg ;hh]f\ap = ^gj \]lYadk&* Nmk( ]n]jq
lae] Y.lae] Yd_gjale ]p][ml]k l] dggh( al ak kYa\ lg Yn] [gehd]l]\ Yf al]jYlagf
g^ l] Yd_gjale*
?n]jq ??G<= Yd_gjale [gfkaklk g^ k]n]jYd al]jYlagfk( \]h]f\af_ gf l]
lqh] Yf\ fYlmj] g^ lYl Yd_gjale* Nqha[Yd nYdm]k af l] ??G<= ;mlg<]f[}
Yj] -,,( .,,( /,,,( -,,,,( 1,,,,( -,,,,, Yf\ .,,,,,* Bgo]n]j( al ak fgl ae)
hgjlYfl go eYfq al]jYlagfk l] lYj_]l hjg[]kkgj kh]f\k af gj\]j lg ]p][ml] lYl
Yd_gjale( al ak jYl]j aehgjlYfl go eYfq al]jYlagfk al ]p][ml]k ]n]jq k][gf\*
Nak ak Z][Ymk] fmeZ]j g^ al]jYlagfk ak ^ap]\ ^gj ]n]jq Yd_gjale Yf\ af\]h]f\]fl
g^ l] hjg[]kkgj lg Z] l]kl]\( lmk oYl ak aehgjlYfl ak go em[ lae] al lYc]k ^gj
lYl kh][a^a[ hjg[]kkgj lg ^afak ]p][mlaf_ l] Yd_gjale( oa[ ak [Ydd]\ l] lglYd
jmf lae]*
NglYd jmf lae] ak fgl [gfka\]j]\ af gmj l]kak( Z][Ymk] al ak YhhjghjaYl]
o]f l] Q=?N g^ l] lYkck af l] Ynagfa[k Yhhda[Ylagf ak cfgof kg lYl o] [Yf
bm\_] o]l]j lYl hjg[]kkgj ak [YhYZd] g^ e]]laf_ l] Yj\ j]Yd)lae] j]imaj]e]flk
g^ l] Ynagfa[ Yhhda[Ylagf* Nmk( o] kcah lglYd jmf lae] Yf\ [gf[]fljYl] gf al]jY)
lagfk h]j k][gf\ lg Z] YZd] lg ]Ydladq [gehYj] h]j^gjeYf[] g^ l] Jgo]jJ= hjg)
[]kkgjk*
60

Benchmarking and Performance Evaluation

3.5. Related Work


=gfka\]jaf_ ]eZ]\\]\ kqkl]ek af Ynagfa[k kqkl]ek( gfdq lj]] hj]nagmk
klm\a]k o]j] ^gmf\ \mjaf_ gmj j]k]Yj[* Cf l] ^ajkl gf]( DgYf >YdZ]j_ Zja]^dq
\]k[jaZ]\ l] kh][aYd j]imaj]e]flk ^gj Y [gehml]j ZgYj\ ^gj mk] af khY[]* Cf hYj)
la[mdYj( ] ^g[mk]\ gf [gehgf]fl k]d][lagf Yf\ \ak[mkk]\ l] oYqk g^ eala_Ylaf_
l] kg^l Yf\ Yj\ ]jjgjk Yf\ hj]k]fl]\ Yf aehd]e]flYlagf ^gj Y dgo)[gkl( j]dYlan]dq
a_ h]j^gjeYf[] [gehml]j lYl ogmd\ ogjc af l] Yjk khY[] ]fnajgfe]fl af
ak eYkl]j l]kak U--1W*
;eaf MYkYnYj [gn]j]\ l] H@@J hjgb][l Yl oaZfges 9XebfcTVX ;becbeT)
g\ba &o9; af OhhkYdY( Mo]\]f af ak eYkl]j l]kak* N] _gYd g^ l] hjgb][l oYk lg(
oalaf l] hjgb][l khYf g^ lj]] q]Yjk( \]^af] Yf\ \]ka_f Y eg\mdYj( jgZmkl Yf\
j]daYZd] Ynagfa[k Yj[al][lmj] ZYk]\ af ea[jg)l][fgdg_q ^gj L9Muf &LaTaaXW
9Xe\T_ MX[\V_Xf( oal [gddYZgjYlagf ^jge M;;< ;]jgkqkl]ek Yf\ l]aj O;P ]da)
[ghl]j J^X_WTe* B] ^ajkl \]^af]\ l] t;= Gg\mdYj ;j[al][lmj] %;G;& Yf\ l]f
[gn]j]\ go al [Yf kmklYaf [gfljgdd]\ ^da_l oal l] ]dh g^ \a^^]j]fl k]fkgjk Yf\
EYdeYf ^adl]jk U--2W*
@afYddq( QY\] >mqe ]pYeaf]\ l] ]^^][lk g^ \a_alYd Ynagfa[ kqkl]ek gf l]
kmjnanYZadalq g^ eg\]jf Yaj[jY^lk af ak hgkl_jY\mYl] l]kak* B] ]phdgj]\ kmjnanYZad)
alq Y\nYflY_]k Yf\ \akY\nYflY_]k hj]k]fl af l] \a_alYd Ynagfa[k kqkl]e Yj[al][lmj]
\]ka_fk U--3W*
If l] gl]j Yf\( l] ^gddgoaf_ klm\a]k o]j] ^gmf\ ^g[mkaf_ gf l] Jg)
o]jJ= af hYjla[mdYj6 Q* J^]a^^]j \]n]dgh]\ Y h]j^gjeYf[] eg\]d ^gj dgghk Yf\
c]jf]dk daeal]\ Zq e]egjq Y[[]kk( o]j] ak gZlYaf]\ eg\]d hYjYe]l]jk o]j] kh])
[a^a[ lg C<G HbjXe/ hjg[]kkgj ^Yeadq U--4W* >a]h ]l*Yd* hj]k]fl]\ Yf afkljm[lagf)
d]n]d h]j^gjeYf[] ]nYdmYlagf g^ l] 2., ea[jg)Yj[al][lmj] Yf\ \]n]dgh]\ Y h]j)
^gjeYf[] kaemdYlgj mkaf_ l] MEN &M\fhT_\mTg\ba)UTfXW E\Veb)TeV[\gXVgheX Nbe^)
UXaV[( oa[ [gmd\ Y[[mjYl]dq eg\]d l] ea[jg)Yj[al][lmj] \gof lg l] eY[af]
[q[d] d]n]d U--5W*
IYfY @dgj]k[m ]phdYaf]\ Yf\ aehd]e]fl]\ ghlaearYlagfk ^gj l] [mjj]fl
aehd]e]flYlagf g^ l] [gehad]j ^gj l] Jgo]jJ= Yj[al][lmj] af ]j l]kak( Yddgo)
af_ al lg af[j]Yk] l] hgkkaZadalq g^ ]phdgalaf_ l] afkljm[lagf hYjYdd]dake YnYadYZd]
af Y hjg_jYe* M] [gn]j]\ Zgl j]_akl]j Yddg[Ylagf Yf\ afkljm[lagf k[]\mdaf_
U-.,W*
@afYddq( FaYf_ Yf\ CiZYd hjghgk]\ Yf\ aehd]e]fl]\ Yf gh]f)kgmj[]
Z]f[eYjc( GcXaEH:XaV[( ZYk]\ gf emdlahjg[]kkgj ]eZ]\\]\ kqkl]e( k]d][laf_
kge] [gehmlYlagf afl]fkan] Yd_gjalek ^jge Ga<]f[( ZYk]\ gf kaf_d] hjg[]kkgj
kqkl]e af gj\]j lg [gn]j egkl [gehmlaf_ ^]Ylmj] ^gj ]eZ]\\]\ hjg[]kkgj* N]q
Ydkg k]d][l]\ Yd_gjalek lYl o]j] hYjYdd]dar]\ af gj\]j lg kmal l]k] Yd_gjalek lg
jmf gf ]eZ]\\]\ hjg[]kkgjk U-.-W*
;k [Yf Z] k]]f ^jge l] hj]nagmk ogjc [Yjja]\ gml Zq nYjagmk j]k]Yj[]jk(
l]j] Yn] Z]]f ogjc lYl gfdq ^g[mk gf ]al]j h]j^gjeYf[] ]nYdmYlagf af _]f]jYd
%eYfq ]kh][aYddq gf Cfl]d Yj[al][lmj]& gj gf Jgo]jJ= Yj[al][lmj] [gfka\]jaf_
l] gd\ [gj]k km[ Yk JIQ?L/ Yf\ 2pp %Yk [Yf Z] k]]f ^jge l] Jgo]jJ= lae])
daf] gf] [Yf ]Ykadq k]] lYl l]q Yj] egj] lYf l]f q]Yjk gd\&* Hg kaeadYj ogjc Yk
Z]]f \gf] kg ^Yj lYl [geZaf]k Zgl Yf\ lYl ^g[mk]k h]j^gjeYf[] ]nYdmYlagf af
Jgo]jJ= Yj[al][lmj] af\]]\*
61

Methodology

4.Methodology
N] hjg[]kk ^gddgo]\ lg YfYdqr] l] hjg[]kkgjk [Yf Z] ^gjeYdar]\ oal Yf
Yd_gjale Yk Y j]kmdl g^ l] ]ph]ja]f[] _Yaf]\ af lak l]kak ogjc( Yf\ gf[] kge]
\][akagf Yn] Z]]f Ykkme]\( ZYka[Yddq YZgml l] Yj\oYj] ]fnajgfe]fl Yf\ kg^l)
oYj] lggdk ^gj l] ]ph]jae]flk*

4.1. Hardware Configuration


Cf gmj hjgb][l( o] Yj] mkaf_ l] Aj]]f Baddk GOFNC Cfl]_jYl]\ >])
n]dghe]fl ?fnajgfe]fl %C>?& oa[ ak l] GOFNC \]Zm__]j afl]_jYl]\ oal
l] Aj]]f Baddk [gehad]j* N] hjg[]kkgj ZgYj\ ak [gff][l]\ naY l] Aj]]f Baddk
Mmh]jJjgZ]( oa[ ak [gff][l]\ oal OM< lg l] J= Yf\ oal DN;A ^gj \])
Zm__af_ lg l] hjg[]kkgj ZgYj\ Yf\ O)<ggl %Ofan]jkYd Zggl)dgY\]j&( oa[ ak
mk]\ lg dgY\ l] Zggl)dgY\]j Yf\ afalaYl] l] [gff][lagf lg l] J= ^gj dgY\af_ l]
[g\] aflg l] L;G af l] hjg[]kkgj ZgYj\* Bgo]n]j( Zggl)dgY\af_ ak \akYZd]\
o]f O)<ggl ak dYmf[]\ kaf[] o] Yj] fgl afl]j]kl]\ af ogd] Yj\oYj] Zml gfdq
^g[mkaf_ gf l] =JO afl]jfYdk Yf\ =JO)e]egjq j]dYlagfkah* O)<ggl ak gfdq
mk]\ af JJ=00,?Jp l]klaf_( lgm_* >\ZheX 0)- kgok l] Yj\oYj] k]lmh af[dm\)
af_ l] hjg[]kkgj ZgYj\ ^gj l] ;G== JJ=00,?Jp hjg[]kkgj ZgYj\( l]
?J00,=R*

Figure 4-1: Hardware configuration of the project

4.2. Software Tools


4.2.1.

MULTI Environment

Aj]]f Baddk GOFNC} Cfl]_jYl]\ >]n]dghe]fl ?fnajgfe]fl %C>?& hjg)


na\]k l] GOFNC >]Zm__]j kg^loYj] lYl hjgna\]k l] \]n]dghaf_ ]fnajgfe]fl
afl]j^Y[]* GOFNC [Yf Y[[]kk l] hjg[]kkgjk j]_akl]jk( [Yf_] alk [gf^a_mjYlagf
Yf\ ]p][ml] [g\] af l] hjg[]kkgjk [gj] oalgml l] ]dh g^ Yf gh]jYlan] kqkl]e*
GOFNC _an]k Yf YhhjghjaYl] ]ph]jae]flYd ]fnajgfe]fl ^gj h]j^gjeYf[] l]klk*
62

Methodology

GOFNC Yk Z]]f af mk] af M;;< ;naljgfa[k o]j] lak ogjc Yk Z]]f h]j)
^gje]\( kg al oYk gmj lggd Zq \]^Ymdl lg Y[[]kk l] hjg[]kkgjzk afl]jfYd [gehgf]flk
Yf\ lg \]Zm_ l] hjg[]kkgjk*
4.2.2.

Benchmarks

<]f[eYjc hjg_jYek hjghgk]\ Zq l] ?eZ]\\]\ Ga[jghjg[]kkgj <]f[)


eYjc =gfkgjlame %??G<=& Yn] Z][ge] Y hmZda[ \] ^Y[lg klYf\Yj\ af l] Ymlg)
eglan]( [gfkme]j ]d][ljgfa[k( YmlgeYlagf Yf\ l]d][ge af\mklja]k* ;mlgeglan]
Yhhda[Ylagf Yd_gjalek Yj] l] egkl kaeadYj lg Ynagfa[ Yhhda[Ylagfk( lmk ;mlg)
eYjc } k[gj]k Yn] Z]]f mk]\ Yl M;;< ;naljgfa[k* <]ka\]k( al ak ^j]]( gh]f kgmj[](
Yf\ Yn] Y kmhhgjl g^ Y [geemfalq gf)daf] Yf\ al ak [gfklYfldq mh\Yl]\*
?nYdmYlaf_ l] h]j^gjeYf[] af j]Yd lae] [gf\alagfk g^ Y hjg[]kkgj ogmd\
f]]\ Y Z]f[eYjc lYl [gmd\ kaemdYl] Y j]Yd lae] Yhhda[Ylagf( o]j] k]n]jYd lYkck
[geh]l] ^gj ]p][mlagf af l] hjg[]kkgjk [gj]( oa[ [gmd\ [Yd[mdYl] l] ogjkl lae]
]p][mlagf lae] %Q=?N& ^gj ]Y[ lYkc7 go]n]j km[ ^j]] Z]f[eYjc \g]k fgl
]pakl af l] eYjc]l [mjj]fldq* L][]fldq ??G<= Yk j]d]Yk]\ =gj]eYjc} oa[
^g[mk]k af ]nYdmYlaf_ l] hjg[]kkgjk [gj] h]j^gjeYf[]* =gj]eYjc} ak ogjlq af
^mlmj] j]k]Yj[ Zml ak fgl hYjl g^ lak l]kak*
N] Ymlgeglan] Z]f[eYjc kmal] ak Y k]l g^ kapl]]f Yd_gjalek lYl l]kl \a^)
^]j]fl hYjla[mdYj gh]jYlagfk lYl ]p][ml] Z]lo]]f l] hjg[]kkgj Yf\ l] hjaeYjq
e]egjq( ^gj ]pYehd] ZYka[ ^dgYlaf_ hgafl gh]jYlagfk( eYlja[]k( @CL ^adl]j( hgo]j
oa\l eg\mdYlagfk ]l[* %Jd]Yk] j]^]j lg ;hh]f\ap = ^gj \]lYad]\ af^gjeYlagf&*
?n]jq Z]f[eYjc Yd_gjale [gfkaklk g^ Y [g\] lYl af[dm\]k dgghk lg j]h]Yl Y k]l g^
hYjla[mdYj afkljm[lagfk Yf\ _an]k l] j]kmdl af l]jek g^ al]jYlagfk h]j k][gf\
%al]j+k][&( oa[ ak gmj jYo \YlY ^gj l] ]ph]jae]flk* Nak hYjYe]l]j ak mk]\ lg
]phj]kk l] h]j^gjeYf[] g^ ]n]jq hjg[]kkgj af alk \a^^]j]fl [gf^a_mjYlagfk Yf\ Ydkg
Z]lo]]f hjg[]kkgjk*
??G<= mk]k l] ;mlgeYjc} k[gj]( oa[ j]hj]k]flk Y kaf_d])fmeZ]j ^a_)
mj] g^ e]jal( [Yd[mdYl]\ Zq lYcaf_ l] _]ge]lja[ e]Yf g^ l] kapl]]f af\ana\mYd
Yd_gjale j]kmdlk( \ana\]\ Zq Y [gfklYfl fmeZ]j %/,3*011( fgjeYdarYlagf ^Y[lgj
j]^]j]f[] fmeZ]j& U-,3W6

B]j]7 Y( Z( [( \ ]l[* Yj] l] j]kmdlk ^gj ]n]jq Yd_gjale Z]f[eYjc o]j] f


ak l] lglYd fmeZ]j g^ Yd_gjalek %oa[ ak kapl]]f af lak [Yk]&
Cf Y\\alagf lg ;mlgeYjc}( o] Ydkg [Yd[mdYl] Yfgl]j h]j^gjeYf[] hYjYe])
l]j o] [Ydd ;nageYjc( oa[ ak Y hjghgkYd o] hj]k]fl af lak l]kak Yf\ ak kaeadYj lg
;mlgeYjc} oal gf] \a^^]j]f[]6 Cl _an]k \a^^]j]fl o]a_lk lg ]n]jq Yd_gjale(
ghhgk]\ lg ;mlgeYjc} o]j] ]n]jq Yd_gjale ak g^ ]imYd o]a_l
%-,,+-282(.1"&* N]k] o]a_lk Yj] \]l]jeaf]\ af [gddYZgjYlagf oal M;;< ;na)
ljgfa[k( ZYk]\ gf log lqha[Yd Yhhda[Ylagfk mk]\ af M;;< ;naljgfa[k6 Ba_ Fa^l
%^dYhk ^gj hdYf] oaf_k& Yf\ Gglgj =gfljgd* N]k] log Yhhda[Ylagfk Yn] Y \a^^]j)
]fl ogjcdgY\ \]eYf\ ^jge l] =JO* N]k] o]a_lk o]j] hjgna\]\ Zq M;;<
^jge j]Yd Yhhda[Ylagfk Yf\ Yn] Z]]f mk]\ lg ^gje l] ;nageYjc k[gj]k ;nageYjc
Ba_F Yf\ ;nageYjc Gglgj=( oa[ Yddgok ^mjl]j [gehYjakgf Z]lo]]f [gf^a)
63

Methodology

_mjYlagfk Yf\ Z]lo]]f hjg[]kkgjk af gmj ogjc af Y\\alagf lg ;mlgeYjc} k[gj]k*


Cf gj\]j lg mf\]jklYf\ l] Z]Ynagj g^ ;nageYjc( Y \]lYad]\ [gehYjakgf oal l]
ljY\alagfYd ;mlgeYjc} ak [Yjja]\ gml af l] j]kmdlk [Yhl]j*
N] ]ph]jae]flk h]j^gje]\ j]dq gf gZlYafaf_ l] al]jYlagfk h]j k][gf\ nYd)
m] ^gj ]n]jq Z]f[eYjc Yf\ ^gj ]n]jq [gf^a_mjYlagf* =Yd[mdYlagf g^ l] ;mlg)
eYjc} Yf\ ;nageYjc nYdm]k Yj] ZYk]\ gf l] al]jYlagfk h]j k][gf\ nYdm]k* N]
e]lg\gdg_q g^ ogjc oa[ oadd Z] hj]k]fl]\ af k][lagfk 0*/ Yf\ 0*0 oa[ ]p)
hdYaf l] ogd] l]klaf_ hjg[]\mj] Yf\ \YlY hjg[]kkaf_ Y[lanalq*
4.2.3.

GUI

Cf gmj l]kak( o] Yn] \]n]dgh]\ Yf\ l]kl]\ Y ZeTc[\VT_ hfXe \agXeYTVX &?LA
oa[ ]dhk oal l] hjg[]kkaf_ g^ \YlY \mjaf_ l] ]ph]jae]fl* N] fYe] g^ l]
AOC ak [Ydd]\ HH;KXfgXe Yf\ al ak Yf ]p][mlYZd] ^ad] lYl [j]Yl]k l] k[jahl ^ad]k lYl
GOFNC oadd jmf o]f [Yf_af_ [gf^a_mjYlagf g^ l] hjg[]kkgj Yf\ ]p][mlaf_
Z]f[eYjck af l] lYj_]l hjg[]kkgj( \]h]f\af_ gf l] [ga[] g^ l] mk]j* N] AOC
oYalk ^gj j]kmdlk ^jge GOFNC Yf\ hjg[]kk]k l] jYo \YlY af gj\]j lg [Yd[mdYl] l]
;mlgeYjc} Yf\ ;nageYjc nYdm]k Yf\ \akhdYqk l]e lg l] mk]j*
>\ZheX 0). _an]k Y _daehk] g^ l] AOC* Cl Yk Y [gdd][lagf g^ hjg[]kkgjk af
l] mhh]j k]d][lgj( o]j] ]Y[ hjg[]kkgj hjgna\]k l] ghlagfk YnYadYZd] ^gj [gf^a_m)
jYlagf( ^gj ]pYehd]6 ojal] hgda[q( ZjYf[ lYj_]l ]l[* N] AOC Ydkg _an]k ghlagf lg
k]d][l gf] gj egj] Z]f[eYjck ^jge l] Ymlgeglan] Z]f[eYjc kmal] lg jmf af
l] hjg[]kkgj* Cl Ykck l] mk]j lg [ggk] Y fYe] lg l] k[jahl lg Z] [j]Yl]\ oYl ak
[Ydd]\ [gf^a_mjYlagf7 go]n]j al Ykka_fk Yf afl]jfYd fYe] Y[[gj\af_ lg [gf^a_m)
jYlagf oYl ak [Ydd]\ \]k[jah* N]k] log fYe]k lg_]l]j oal ;mlgeYjc} Yf\
;nageYjc Yj] kgof af l] Zgllge lYZd] o]f l] j]kmdlk Yj] hjg[]kk]\*

Figure 4-2: GUI for file management


64

Methodology

N] AOC [j]Yl]k l] ^ad]k lg Z] ]p][ml]\ Zq GOFNC oa[ Yj] g^ *j[ lqh]


Yf\ hj]hYj]k Yfgl]j caf\ g^ ^ad]k ^gj GOFNC( oa[ Yj] g^ *eZk lqh] Yf\
oa[ [j]Yl] Y Zmllgf dYqgml af GOFNC lg kaehda^q l] ]nYdmYlagf hjg[]kk Yf\
]p][mlagf g^ k[jahlk ^gj mk]jk* Cf lak dYqgml( ]n]jq [gf^a_mjYlagf ak Ykka_f]\ Y Zml)
lgf %[gdgj Yf\ d]ll]j& lYl Yhh]Yjk af GOFNC* N] Zmllgfk Yj] k]d][l]\ Zq l] mk]j
o]f [j]Ylaf_ l] k[jahl af AOC*
N] AOC hjg[]kk]k \YlY af Yf ?p[]d ^ad] Yf\ k[Yfk gmlhmlk ^jge GOFNC*
N] ^afYd n]jkagf g^ l] ?p[]d ^ad] ak Y[[]kkaZd] \aj][ldq Zq l] mk]jk( o]j] l]q [Yf
[gfkljm[l _jYhk lYl ]phdYaf hjg[]kkgj h]j^gjeYf[] af \]lYad* N] AOC [Yffgl \g
al( lmk al Yk lg Z] \gf] eYfmYddq Zq l] mk]j* N] AOC gfdq [Yf kgo l] [Yd[m)
dYl]\ ;mlgeYjc} Yf\ ;nageYjc nYdm]k* @gj egj] \]lYadk YZgml l] AOC( hd]Yk]
j]^]j lg ;hh]f\ap >*

4.3. Tasks for evaluation of a board


Q] hj]k]fl af >\ZheX 0)/ Y hjghgkYd ^gj l] lYkck lg ^gddgo oad] ]nYdmYlaf_
Y f]o hjg[]kkgj* Nak hjghgkYd ak ZYk]\ gf gmj ]ph]ja]f[] \mjaf_ l] l]kak ogjc*
N] ^dgo[Yjl af >\ZheX 0)/ ak _]f]jYd( lmk gmj AOC ak fgl kgof Yk Y hYjl
g^ al* Cl hj]k]flk l] YhhjgpaeYl] Yegmfl g^ lae] ]Y[ Y[lanalq ak dac]dq lg lYc]*
N] lae] ]n]jq kl]h g^ l] hjg[]kk [gmd\ lYc] \]h]f\k gf l] [gehd]palq g^ l]
hjg[]kkgj mf\]j klm\q( l] mf]ph][l]\ Yj\oYj]+kg^loYj] hjgZd]ek lYl [gmd\
Yhh]Yj eYafdq \m] lg l] \]n]dghe]fl ZgYj\k* Q] Yn] [gfka\]j]\ gmjk]dn]k Y
e]\ame d]n]d ]ph]jlak] af Jgo]jJ= Yj[al][lmj] oad] [gfka\]jaf_ l] lae] al
lYc]k ^gj ]Y[ kl]h*
N] ^dgo[Yjl Ydkg hgaflk gml lYl l]j] Yj] kge] lae])\]eYf\af_ Y[lana)
la]k( hYjla[mdYjdq l] {Mlm\q g^ hjg[]kkgjzk eYfmYdk| Y[lanalq* Nak ak Z][Ymk] Y [gj)
j][l mf\]jklYf\af_ g^ l] hjg[]kkgj [gehgf]flk Yf\ \]l]jeafaf_ hgl]flaYd [gf^a)
_mjYlagf dYqgmlk ak [jm[aYd oad] \]ka_faf_ l] l]kl [Yk]k* N] ]ph]jae]flk Yj] Yk)
kme]\ lg [gf^aje l] ]ph][l]\ h]j^gjeYf[]( _anaf_ fme]ja[Yd ]phj]kkagfk ^gj al7
^gj ]pYehd] al ak ]ph][l]\ lYl Y hjg[]kkgj jmffaf_ oalgml [Y[] e]egjq oadd Z]
kdgo]j lYf l] kYe] hjg[]kkgj oal [Y[] e]egjq af mk]* N] ]ph]jae]flk Yj]
kmhhgk]\ lg [gf^aje lak Ykkmehlagf Yf\ hjgna\] fme]ja[Yd nYdm]k g^ lak h]j^gj)
eYf[] \a^^]j]f[]k*
N] dYkl kl]h af lak hjg[]kk6 {Jjg[]kk j]kmdlk nYdm]k aflg e]Yfaf_^md _jYhk|
\]eYf\k Yf aehgjlYfl lae] Yf\ \]]h mf\]jklYf\af_ g^ l] hjg[]kkgj Yk o]dd* Nak
[gmd\ Z] YmlgeYl]\ lg kge] ]pl]fl( Zml eYfmYd ogjc ogmd\ kladd Z] j]imaj]\ Z])
[Ymk] ]n]jq hjg[]kkgj Yk alk gof hYjla[mdYj Yj[al][lmjYd akkm]k lg Z] YfYdqr]\*

4.4. The Methodology for Board Evaluation


Q] hj]k]fl ]j] Yfgl]j ^dgo[Yjl lYl kgok Y[lagfk Yf\ lggdk mk]\ \mj)
af_ l] ]ph]jae]fl hjg[]kk* Nak ak \]k[jaZ]\ Yk Y k]ja]k g^ kl]hk kgof af >\ZheX 0)
0*
@ajkl kl]h6 Nak kl]h ak ZYk]\ gf l] klm\q g^ l] eYfmYdk Yf\ \YlY k]]lk(
Yf\ lYc]k YZgml Yd^ g^ l] lglYd lae]( Yk o] Y\ lg _g ZY[c eYfq lae]k lg eYfmYd)
dq [][c l] j]_akl]jk* Cf lak kl]h( o] \]^af] oa[ Yj] l] aehgjlYfl hYjYe]l]jk
Yf\ hgkkaZd] [gf^a_mjYlagfk ^gj lYl hYjla[mdYj hjg[]kkgj lYl [gmd\ Y^^][l l] h]j)
^gjeYf[]*
65

Methodology

Figure 4-3: Tasks for evaluation of a board

66

Methodology

Figure 4-4: Proposed methodology for board evaluation (informal UML format)

>]h]f\af_ gf l] ZgYj\( kge] [gf^a_mjYlagfk eYq f]]\ lg Z] n]ja^a]\ Zq


l] koal[]k gf l] ZgYj\( Yk ^gj [dg[c ^j]im]f[a]k ^gj ]pYehd]* Cf lak [Yk]( Yf
gk[addgk[gh] ak f]]\]\ lg n]ja^q l] [dg[c ^j]im]f[q7 Y \]k[jahlan] eYfmYd g^ l]
ZgYj\ ak ]dh^md lgg* @mjl]jegj]( kge] hjg[]kkgjk j]imaj] egj] lYf gf] j]_akl]j
lg Z] [Yf_]\ af gj\]j lg [Yf_] l] [gf^a_mjYlagf g^ Yf afl]jfYd mfal( Yf\ Ydkg
[][caf_ l] ^mf[lagfaf_ g^ j]_akl]jk Z]^gj] l] k][gf\ kl]h*
M][gf\ kl]h6 Nak kl]h af[dm\]k l] hj]hYjYlagf g^ \a^^]j]fl hgl]flaYd [gf)
^a_mjYlagfk( Ydgf_ oal l] hgkkaZd] fmeZ]j g^ [gf^a_mjYlagfk Yf\ l] gj\]j g^
h]j^gjeYf[] af ]Y[ [gf^a_mjYlagf lYl ak ]ph][l]\* >]l]jeafake ak ^ajkl [gfka)
\]j]\ ]j]* ; fmeZ]j g^ ., lg 1, [gf^a_mjYlagfk Yj] j]YkgfYZd]( Zml lak [gmd\ Z]
67

Methodology

Za__]j( \]h]f\af_ gf l] aehd]e]flYlagf g^ l] hjg[]kkgj [gj]* N]k] [gf^a_mjY)


lagfk ogmd\ Z] klgj]\ af Yf ?p[]d ^ad] lYl ak g^ Y kmalYZd] lqh] ^gj l] AOC*
Naj\ kl]h6 Nak kl]h ak l] hj]hYjYlagf g^ l] \]ka_f]\ l]kl [Yk]k( mkaf_ l]
AOC( ojall]f k[jahlk Yf\ ^ad]k lYl Yj] [j]Yl]\*
@gmjl kl]h6 ?p][mlagf g^ l] l]kl [Yk]k Zq jmffaf_ k[jahlk gf GOFNC
oal l] \]Zm__]j [gff][l]\ lg l] ZgYj\*
@a^l kl]h6 >YlY hjg[]kkaf_ lYl AOC ]p][ml]k Yf\ l] ]ph]jae]fl j]kmdlk
al _an]k*
Mapl kl]h6 ;fYdqkak g^ j]kmdlk Yf\ [gfkljm[lagf g^ YhhjghjaYl] _jYhk lYl
ogmd\ ]phdYaf l] h]j^gjeYf[] Y[a]n]\ Zq l] hYjla[mdYj hjg[]kkgj*

4.5. Illustrative Examples


Ng kgo l] ogjc lYl ak \gf] Yl j]_akl]j Yf\ ^ad] d]n]dk( o] hj]k]fl kge] ad)
dmkljYlan] ]pYehd]k g^ l] \a^^]j]fl ^ad] lqh]k*
4.5.1.

Script Files: .rc

N] {*j[| ^ad]k Yj] [gehgk]\ Zq Y k]ja]k g^ [geeYf\k kh][a^a[ lg l] GOF)


NC C>?* GOFNC ]p][ml]k Y Zmjkl g^ [geeYf\k mkaf_ Y k[jahl lqh] *j[* Cf l]
^ajkl hYjl g^ k[jahl af l] ^a_mj] Z]dgo( l] j]_akl]jk Yj] k]l* @gj ]pYehd]( [Y[])
]fYZd] Yf\ [ghq)ZY[c eg\] Yj] k]l af l] daf]6
XiT_ "D-;JI,7,k,,-,,,,/
N] j]_akl]j mk]\ af lak [Yk] ak6 F-=ML,( Yf\ l] nYdm] Ykka_f]\ lg al ak6
,p,,-,,,,/* @gj egj] af^gjeYlagf YZgml j]_akl]jk hd]Yk] j]^]j lg ;hh]f\ap <*
Nak k[jahl Ydkg \]^af]k l] Yd_gjalek lYl oadd jmf oal lak [gf^a_mjYlagf*
Cf lak ]pYehd] log Z]f[eYjck Yj] [gfka\]j]\6 {ZYk]^h,-| %^dgYlaf_ hgafl& Yf\
{lZdggc,-| %lYZd] dggc mh Yf\ afl]jhgdYlagf&* N] k[jahl [geeYf\ {\]Zm_| jmfk
l]k] Yd_gjalek Zq hgaflaf_ Yl l] dg[Ylagf g^ l]aj ]p][mlYZd] ^ad]k* @gj egj]
af^gjeYlagf YZgml l] Yd_gjalek g^ l] ??G<= ;mlg<]f[}( hd]Yk] j]^]j lg
;hh]f\ap =*
N] k[jahl {*j[| Ydkg \]^af]k fYe]( dg[Ylagf Yf\ ^gjeYl g^ l] gmlhml ^ad]
^jge GOFNC* Cf lak ]pYehd] l] _an]f fYe] ak6 =<X<,X,,,* N]k] fYe]k Yj]
[gk]f Zq l] mk]j af l] AOC Yf\ kgmd\ Z] [Yj]^mddq [gk]f lg ]phj]kk l] [gf)
l]flk g^ l] j]kmdlk*
4.5.2.

Setup Files: .mbs

N] {*eZk| ^ad]k mk]\ af GOFNC [j]Yl] Y k]l g^ Zmllgfk lYl Yj] dafc]\ lg
l] {*j[| k[jahlk* Nak ak \gf] af lak oYq lg ^Y[adalYl] Y hjgh]j Yf\ ]jjgj)^j]] ]p)
][mlagf g^ l] ]ph]jae]fl* GOFNC ]fnajgfe]fl Yddgok mh lg ., Zmllgfk lg \ak)
hdYq Yl Y lae]( lmk [gf^a_mjYlagfk Yj] gj_Yfar]\ af _jgmhk g^ ., Zmllgfk ]Y[*
N]k] ^ad]k Yj] [j]Yl]\ Zq l] AOC Yf\ dggc Yk af >\ZheX 0)2* Cf lak ]pYehd]( Y
Zmllgf oal Y _j]]f d]ll]j > ak Z]af_ Ykkg[aYl]\ lg l] k[jahl {=<X,-X,,,|*
Cf GOFNC( al ak f]]\]\ lg [j]Yl] Y [gff][lagf lg l]k] k]lmh ^ad]k( oa[
Yk lg Z] \gf] eYfmYddq Zq l] mk]j* If[] l] k]lmh ^ad] Yk Z]]f [gff][l]\ lg
GOFNC ]fnajgfe]fl( k[jahl ^ad]k [Yf Z] jmf ljgm_ l] Zmllgfk* N]q Yn] l]
Yhh]YjYf[] Yk kgof af >\ZheX 0)3* B]j]( l] Zmllgf oal l] j]\ d]ll]j ;K Yk
Z]]f Ykkg[aYl]\ lg l] k[jahl {H=X<,X---|( oa[ e]Yfk ZjYf[ hj]\a[lagf Yk
68

Methodology

Z]]f \akYZd]\ Yf\ Ydd l] Zm^^]jk Yn] Z]]f lmjf]\ g^^( lmk lak [gf^a_mjYlagf ak
]ph][l]\ lg _an] l] hggj]kl h]j^gjeYf[]*

Figure 4-5: Script file type .rc

Figure 4-6: Script file type .mbs

Figure 4-7: MULTI environment with buttons for Copy-back (yellow) and Nocache (red) configuration for the MPC5554 processor
69

Methodology

4.5.3.

MULTI output files: .txt

N] {*lpl| ^ad]k [gflYaf l] j]kmdlk g^ l] ]ph]jae]fl Yf\ l]q dggc Yk af


>\ZheX 0)4 Z]dgo6

Figure 4-8: Multi output file type .txt

N] al]jYlagfk h]j k][gf\ nYdm] ak gf] g^ l] nYdm]k kgof ^gj ]Y[ Z]f[)
eYjc jmf* Mge]lae]k( \mjaf_ ]p][mlagf oal GOFNC( Yj\oYj] ]jjgjk hgh)mh
Yf\ _an] eakkaf_ daf]k af lak ^ad]* Cf lak [Yk]( l] AOC oadd ka_fYd Yf ]jjgj( Zml Y
nakmYd afkh][lagf g^ l]k] {*lpl| ^ad]k oadd dg[Yl] l] j]Ykgf g^ ]jjgjk* If[] l] dg[Y)
lagf g^ l] ]jjgj ak a\]fla^a]\( l] [gjj]khgf\af_ Z]f[eYjc kgmd\ Z] jmf Y_Yaf(
Zq eg\a^qaf_ l] {*j[| k[jahl ^ad] lg jmf bmkl lYl hYjla[mdYj Z]f[eYjc* N] Z]f])
^al lg jmf keYdd _jgmhk g^ Z]f[eYjck ak lYl Yk ^]o]j hjgZYZadala]k g^ gZlYafaf_
]jjgjk* If] Z]f[eYjc lYc]k YhhjgpaeYl]dq - eafml] af Yn]jY_] lg ]p][ml]( lmk
Y k]l g^ -2 Z]f[eYjck dafc]\ lg gf] Zmllgf ogmd\ lYc] YhhjgpaeYl]dq -1 ea)
fml]k lg ]p][ml]* Q] Yn] fgla[]\ lYl Yj\oYj] ]jjgjk( o]f l]q Yhh]Yj( \g
hgh)mh Yjgmf\ l] 2l eafml]* ; mk]^md kgdmlagf( \]h]f\af_ gf l] ZgYj\( ak lg
\ana\] l] Z]f[eYjc k]l aflg log _jgmhk g^ 4 ]Y[*

70

Results: AMCC PPC440EPx

5. Results
5.1. AMCC PPC440EPx
Q] Yn] \]l]jeaf]\ l] ^gddgoaf_ h]j^gjeYf[] hYjYe]l]jk ^gj lak hjg[]kkgj6
5.1.1.
5.1.1.1.

Performance Parameters
Force Full Flush (FFF)

Q]f @@@ Zal ak k]l( l] [Y[] [gfljgdd]jk YdoYqk ^dmk ]flaj] [Y[] daf]k( go]n]j
o]f al ak j]k]l( [Y[] [gfljgdd]jk ^dmk gfdq Yk em[ \YlY Yk f][]kkYjq U-..W* Q]f Y \YlY
[Y[] daf] ak ^dmk]\( l] lqh] g^ j]im]kl eY\] lg l] \YlY ojal] Zmk afl]j^Y[] \]h]f\k mhgf
oa[ \ajlq Zalk Ykkg[aYl]\ oal l] daf] Yj] k]l( Yf\ l] klYl] g^ l] @@@ Zal* @@@ ak egkldq
j]k]l lg r]jg( o]j] l] [gfljgdd]j eafaear]k l] kar] g^ l] ljYfk^]j* Nmk k]llaf_ lak Zal
\]_jY\]k h]j^gjeYf[]*
5.1.1.2.

Line Alignment

C^ daf] Yda_fe]fl Zal ak j]k]l( [Y[] [gfljgdd]jk \g fgl jYak] Yfq Yda_fe]fl ]p[]hlagf
gf afl]_]j klgjY_] Y[[]kk afkljm[lagfk( j]_Yj\d]kk g^ Yda_fe]fl* Bgo]n]j( o]f al ak k]l( Yf
Yda_fe]fl ]p[]hlagf g[[mjk gf afl]_]j klgjY_] Y[[]kk afkljm[lagfk a^ \YlY Y\\j]kk ak fgl gf Yf
gh]jYf\ Zgmf\Yjq U-..W* N] Yda_fe]fl g^ l] gh]jYf\ ]^^][lan] Y\\j]kk g^ kge] klgjY_]
Y[[]kk afkljm[lagfk eYq Y^^][l h]j^gjeYf[]* GakYda_fe]flk [Ymk] Yf Yda_fe]fl ]p[]hlagf lg
g[[mj( \]_jY\af_ h]j^gjeYf[]*
5.1.1.3.

Store Gathering

Mlgj] _Yl]jaf_ j]^]jk lg _Yl]jaf_ g^ e]egjq ojal] gh]jYlagfk( ]kh][aYddq l] gf]k


[Ymk]\ Zq k]hYjYl] klgj] afkljm[lagfk lYl kh][a^q dg[Ylagfk af ]al]j ojal]) ljgm_ gj [Y[)
af_)afaZal]\ klgjY_]( aflg gf] kaemdlYf]gmk Y[[]kk lg e]egjq* C^ k]l( klgj] Y[[]kk]k lYl Yj]
Yf\d]\ Yk a^ l]q o]j] [Y[af_)afaZal]\ %\m] lg l]aj Z]af_ Zgl Y eakk af l] \YlY [Y[]
Yf\ Z]af_ af\a[Yl]\ Yk MQI;& eYq Z] _Yl]j]\ U-..W* Mlgj] Y[[]kk]k lYl Yj] gfdq ojall]f
aflg l] \YlY [Y[] \g fgl f]]\ lg Z] _Yl]j]\( Z][Ymk] l]j] ak fg h]j^gjeYf[] h]fYdlq
Ykkg[aYl]\ oal l] k]hYjYl] Y[[]kk]k lg l] YjjYq*
5.1.1.4.

Store-Without-Allocate (SWOA)

C^ MQI; ak k]l( l]f a^ l] Y[[]kk eakk]k af l] \YlY [Y[]( l] daf] oadd fgl Z] Yddg)
[Yl]\ %j]Y\ ^jge e]egjq&( Yf\ afkl]Y\ l] Zql]UkW Z]af_ klgj]\ oadd Z] ojall]f \aj][ldq lg
e]egjq* MaeadYjdq( a^ MQI; ak fgl af\a[Yl]\( l] [Y[] daf] oadd Z] Yddg[Yl]\ Yf\ l] [Y)
[]YZd] klgj] eakk oadd j]kmdl af l] [Y[] daf] Z]af_ j]Y\ ^jge e]egjq U-..W*
@gj [Y[]YZd] klgj] Y[[]kk]k lYl Yj] Ydkg ojal])ljgm_( l] klgj] \YlY oadd Ydkg Z]
ojall]f \aj][ldq lg e]egjq( j]_Yj\d]kk g^ o]l]j l] Y[[]kk alk af l] \YlY [Y[]( Yf\ af)
\]h]f\]fl g^ l] MQI; e][Yfake* @gj [Y[]YZd] klgj] Y[[]kk]k lYl Yj] fgl ojal])
ljgm_( o]l]j l] \YlY ak ojall]f \aj][ldq lg e]egjq \]h]f\k gf Zgl o]l]j l]
Y[[]kk alk gj eakk]k af l] \YlY [Y[]( Yf\ l] MQI; e][Yfake*
C^ l] Y[[]kk ak ]al]j Y al af l] \YlY [Y[] gj a^ MQI; ak fgl k]l( l]f l] \YlY oadd
gfdq Z] ojall]f lg l] \YlY [Y[]( Yf\ fgl lg e]egjq* MaeadYjdq( a^ l] [Y[]YZd] klgj]
Y[[]kk ak Zgl Y eakk af l] \YlY [Y[] Yf\ MQI; ak k]l( l] Y[[]kk oadd Z] lj]Yl]\ Yk a^ al
o]j] [Y[af_ afaZal]\ Yf\ l] \YlY oadd Z] ojall]f \aj][ldq lg e]egjq( Zml fgl lg l] \YlY
71

Results: AMCC PPC440EPx

[Y[] %kaf[] l] \YlY [Y[] daf] ak f]al]j l]j] Ydj]Y\q fgj oadd al Z] Yddg[Yl]\& U-..W* Nmk
k]llaf_ MQI; Ydkg \]_jY\]k h]j^gjeYf[]*
5.1.1.5.

Speculative Threshold / Speculative Count

N] Jgo]jJ= <ggc)? ;j[al][lmj] h]jealk aehd]e]flYlagfk lg h]j^gje kh][mdY)


lan] Y[[]kk]k lg e]egjq( ]al]j ^gj afkljm[lagf ^]l[af_ gj ^gj \YlY dgY\k* ; kh][mdYlan]
Y[[]kk ak \]^af]\ Yk Yfq Y[[]kk lYl ak fgl j]imaj]\ Zq l] k]im]flaYd ]p][mlagf eg\]d*
N] afkljm[lagf)[Y[] [gfljgdd]j %C==& g^ 00,?Jp hjgna\]k Y kh][mdYlan] hj]^]l[
e][Yfake oa[ [Yf Z] [gf^a_mj]\ lg YmlgeYla[Yddq hj]^]l[ Y Zmjkl g^ mh lg lj]] Y\\a)
lagfYd daf]k mhgf Yfq ^]l[ j]im]kl oa[ eakk]k af l] afkljm[lagf [Y[]*
N] kh][mdYlan] [gmfl Zal af l] 00,?Jp [gj] kh][a^a]k l] fmeZ]j g^ Y\\alagfYd
[Y[] daf]k %^jge , lg /& lg kh][mdYlan]dq hj]^]l[ mhgf Yf afkljm[lagf [Y[] eakk U-..W* C^
lak ^a]d\ ak fgf)r]jg( mhgf Yf afkljm[lagf [Y[] eakk( l] C== oadd ^ajkl [][c l] [Y[] lg
k]] o]l]j l] Y\\alagfYd daf]k Yj] l]ek]dn]k Ydj]Y\q af l] [Y[]* C^ fgl( l]f l] C==
oadd hj]k]fl Y ^ap]\)d]f_l Zmjkl j]im]kl lg l] afkljm[lagf JF< afl]j^Y[]( j]im]klaf_ l] Y\)
\alagfYd [Y[] daf]%k&*
;fgl]j ^a]d\( l] Mh][mdYlan] Nj]kgd\ Zal( oa[ kh][a^a]k Y lj]kgd\ nYdm] lYl ak
mk]\ lg \]l]jeaf] o]l]j l] kh][mdYlan] Zmjkl j]im]kl kgmd\ Z] YZYf\gf]\ hjagj lg [ge)
hd]lagf( Yk Y j]kmdl g^ Y [Yf_] af \aj][lagf af l] afkljm[lagf klj]Ye %km[ Yk Y ZjYf[ gj
afl]jjmhl&U-..W*
Q] Ykka_f l] eYpaeme nYdm] g^ / lg kh][mdYlan] lj]kgd\ af QNF Yf\ =<B
k[jahlk lg ^gj[] l] [Y[] [gfljgdd]jk lg hj]^]l[ l] eYpaeme nYdm] g^ / daf]k gf Y C)[Y[]
eakk( oa[ af lmjf \]_jY\]k l] h]j^gjeYf[] ka_fa^a[Yfldq kaf[] l] Zmk ak Zmkq ^]l[af_ /
daf]k afkl]Y\ g^ bmkl - daf] hjgngc]\ Zq l] k]im]flaYd ]p][mlagf eg\]d*
5.1.1.6.

Cache Locking

Cf l] k[jahlk o] ]klaeYl]\ lg _an] a_ h]j^gjeYf[]( o] k]hYjYl]\ lg [Y[] aflg


]imYddq \ana\]\ / j]_agfk lYl Yj] ]phdYaf]\( o]j] ]Y[ j]_agf mk]k //" g^ l] ]flaj] [Y[]
daf]k* Ng ]klaeYl] l] aehgjlYf[] g^ ]Y[ [Y[] af Y khdal [Y[] kljm[lmj]( l] Z]kl oYq ak
Y[lmYddq lg \akYZd] l] [Y[]k k]hYjYl]dq7 go]n]j 00,?Jp \g]k fgl hjgna\] Yfq e]Yfk g^
km[ [gf^a_mjYlagf* Cf gj\]j lg Yn] Y kaeadYj Z]Ynagj( afkl]Y\ g^ \akYZdaf_ gf] g^ l] [Y[)
]k ]flaj]dq( o] bmkl d]Yn] - daf] ^j]] af l] kh][a^a[ [Y[] o] Yj] afl]j]kl]\ af( o]j]Yk c]]h)
af_ l] gl]j [Y[] mf[Yf_]\ %//" dg[caf_ kYe]&*
HgjeYddq af l] Yhhda[Ylagfk g^ M;;< ;naljgfa[k( [Y[]k Yj] ]al]j c]hl ]fYZd]\ gj
\akYZd]\* ?n]f a^ [Y[] dg[caf_ ak lg Z] mk]\( aehgjlYfl k][lagfk g^ hjg_jYe [g\] km[ Yk
afl]jjmhl k]jna[] jgmlaf]k %CML& gj aehgjlYfl nYjaYZd]k Yj] dg[c]\ kg lYl l]q oadd fgl Z]
h]jeall]\ lg Z] j]hdY[]\ Zq j]_mdYj [g\] gj \YlY*
Q] Yj] dg[caf_ [Y[] af 00,?Jp bmkl lg [geh]fkYl] l] afYZadalq lg \akYZd] [Y[]k
k]hYjYl]dq*
5.1.1.7.

Branch Target Address Cache (BTAC)

N] <N;= afl]_jYl]\ af l] ZjYf[ hjg[]kkaf_ mfal g^ l] 00,?Jp aehjgn]k l]


ZjYf[ hj]\a[lagf Y[[mjY[q Yf\ j]\m[]k l] dYl]f[q g^ lYc]f ZjYf[]k* N] 00,?Jp h]j)
^gjek ZjYf[ hj]\a[lagf oal Y <jYf[ NYj_]l ;\\j]kk =Y[] %<N;=& ogjcaf_ af [gfbmf[)
lagf oal Y <jYf[ Baklgjq NYZd] %<BN&( o]j] <BN hjgna\]k l] [gjj][l ZjYf[ \aj][lagf
%lYc]f gj fgl lYc]f& Yf\ l] <N;= oadd Zggklk Y lYc]f hj]\a[lagf oal l] [gjj][l lYj_]l
Y\\j]kk*
72

Results: AMCC PPC440EPx

Maf[] Zgl kljm[lmj]k Yj] Y[[]kk]\ \mjaf_ l] ^]l[ g^ l] ZjYf[ %Z]^gj] l] [Yd[m)
dYl]\ lYj_]l Y\\j]kk [Yf Z] gZlYaf]\&( lak j]kmdlk af j]\m[]\ ZjYf[ dYl]f[q* Cf l] 00,?Jp
[gj]( <N;= [Yf Z] \akYZd]\ Zq j]k]llaf_ l] [gjj]khgf\af_ Zal*
5.1.1.8.

Floating Point (FP)

@dgYlaf_ Jgafl gh]jYlagfk af Jgo]jJ= hjg[]kkgjk [Yf ]al]j Z] ]p][ml]\ Zq Y kh][a^a[


Yj\oYj] ^dgYlaf_ hgafl [g)hjg[]kkgj gj Zq l] [gehad]j ]emdYlaf_ l] ^dgYlaf_ hgafl gh]jY)
lagfk* N] dYll]j [Yk] gZnagmkdq \]_jY\]k l] h]j^gjeYf[] kaf[] afkl]Y\ g^ Y \]\a[Yl]\ Yj\)
oYj] h]j^gjeaf_ l] ^dgYlaf_ hgafl afkljm[lagfk( l] afl]_]j Yf\ [gehd]p afl]_]j ]p][mlagf
mfalk oadd Z] Yf\daf_ l] ]emdYl]\ afkljm[lagfk( lmk \]dYqaf_ l] Y[lmYd afl]_]j afkljm[)
lagfk l]q Yj] kmhhgk]\ lg ]p][ml] Yf\ afl]j^]jaf_ oal l] gja_afYd afkljm[lagf klj]Ye*
5.1.2.

Configurations

;^l]j \]^afaf_ l] hgl]flaYd j]_akl]jk lYl Yj] ka_fa^a[Yfl ^jge h]j^gjeYf[] hgafl g^
na]o( o] [Ye] mh oal Y lglYd g^ .. k]lmh k[jahlk lYl o] ]p][ml]\ af l] ;G== 00,?Jp
hjg[]kkgj [gj]* KTU_X . kgok ]Y[ k]lmh k[jahl Ydgf_ oal Y Zja]^ [gehYjakgf g^ l] hYjY)
e]l]jk mk]\ af ]Y[ k[jahl*
N] k[jahlk Yj] \ana\]\ aflg log eYaf [Yl]_gja]k \]h]f\af_ gf o]l]j l]q mk]
ojal])ljgm_ gj [ghq)ZY[c ojal] hgda[q* N]k] [Yf Z] k]]f ^jge l] Z]_affaf_ g^ l] fYe]
g^ l] k[jahlk( o]j] QN \]fgl]k l] ^gje]j Yf\ =< \]fgl]k l] dYll]j lqh] g^ hgda[q* Cl ak
^gddgo]\ Zq Y d]ll]j oa[ \]fgl]k l] ]ph][l]\ h]j^gjeYf[] Ykh][l g^ l] k[jahl hjagj lg
]p][mlagf7 B \]fgl]k j]kmdlaf_ af Y a_]j h]j^gjeYf[] o]j]Yk F \]fgl]k j]kmdlaf_ af Y
dgo]j h]j^gjeYf[]*
N] hYjYe]l]jk o] Yn] \]l]jeaf]\ af l] 00,?Jp [gj] Yj] @gj[])@mdd)@dmk( Faf]
;da_fe]fl( Mlgj] AYl]jaf_( Mlgj])Qalgml);ddg[Yl] %MQI;&( Mh][mdYlan] =gmfl( Mh][mdY)
lan] Nj]kgd\( =Y[] Fg[caf_( <jYf[ NYj_]l ;\\j]kk =Y[] %<N;=&( Qjal] Jgda[q Yf\
@dgYlaf_ Jgafl j]kh][lan]dq* ; Zja]^ ]phdYfYlagf g^ l] aehY[l g^ ]Y[ hYjYe]l]j ak ]phdYaf]\
af l] ^gddgoaf_ k][lagfk*
5.1.3.

Determinism

;k e]flagf]\ ]Yjda]j af lak l]kak( \]l]jeafake ak Y [jm[aYd akkm] af Ynagfa[k Yhhda[Y)


lagfk* Cl ak \]^af]\ Yk l] hj]\a[lYZadalq g^ Y kqkl]e Z]Ynagj ]n]f mf\]j ]plj]e] gh]jYlaf_
[gf\alagfk*
Cf Ynagfa[k Yhhda[Ylagfk( al ak hgkkaZd] lg [ggk] ]eZ]\\]\ kqkl]e Yj\oYj] oal
egj] \]l]jeafake lYf Z]ll]j h]j^gjeYf[]( ]kh][aYddq o]j] mf]ph][l]\ ]p][mlagf ^dgo
eYq j]kmdl af ^YlYd [gfk]im]f[]k* Cf Y\\alagf lg h]j^gjeYf[] hgafl g^ na]o o] ]phdYaf]\ af
l] hj][]\af_ k][lagf( o] fgo ljq lg Y\\ l] \]l]jeafake hgafl g^ na]o lg l] [Yk]* Bgo]n)
]j( km[ na]o \g]k fgl af[dm\] Yfq hjY[la[Yd j]kmdlk( Zml jYl]j j]eYafk l]gj]la[Yd*
Ng Yn] Y Z]ll]j _daehk] g^ l] [gf[]hl( o] afljg\m[] Y l]je [Ydd]\ \]l]jeafake d])
n]dk* N] \]l]jeafake d]n]d kh][a^a]k go \]l]jeafakla[ ]Y[ [gf^a_mjYlagf ak \]h]f\af_
gf l] k]llaf_ g^ hYjYe]l]jk ]phdYaf]\* N] a_]j l] \]l]jeafake d]n]d ak( l] egj] \])
l]jeafakla[ lYl [gf^a_mjYlagf ak*
Cf gj\]j lg Yn] Y [d]Yj mf\]jklYf\af_ g^ l] \]l]jeafake d]n]dk( o] ]ehYkar] l]
^gddgoaf_ hgaflk6
73

Results: AMCC PPC440EPx

Table 2: Configuration scripts for the AMCC PPC440EPx processor

a*

>akYZdaf_ l] [Y[] ]flaj]dq qa]d\k Z]kl \]l]jeafake

>akYZdaf_ Zgl [Y[]k ]flaj]dq gZnagmkdq j]kmdlk af l] hggj]kl h]j^gjeYf[] Yegf_


Ydd [gf^a_mjYlagfk( go]n]j a^ ]plj]e] hj]\a[lYZadalq ak j]imaj]\( km[ Yk af Y kY^]lq [jala[Yd
Yhhda[Ylagf af l] kqkl]e( al ak Z]ll]j lg \akYZd] l] [Y[] [gehd]l]dq Yf\ ZqhYkk al Yf\
Y[[]kk hjaeYjq e]egjq \aj][ldq* Nak af[j]Yk]\ \]l]jeafake ak \m] lg l] ogjcaf_ hjaf[ahd]
g^ [Y[] e]egjq*
Q] [Yf f]n]j Z] -,," kmj] lYl l] j]imaj]\ \YlY ogj\ ak af l] [Y[] gj fgl( kaf[]
ogjcaf_ g^ [Y[] j]da]k gf hjgZYZadakla[ eYff]j g^ Zm^^]jaf_ l] egkl j][]fldq mk]\ e]egjq
ogj\k* <q \akYZdaf_ l] [Y[]( o] eYc] kmj] lYl o] cfgo o]j] l] j]im]kl]\ ogj\ ak
%oa[ ak l] hjaeYjq e]egjq&( ]n]f lgm_ al [ge]k oal l] [gkl g^ k]n]j] h]j^gjeYf[]
dgkk*
aa*

Qjal])ljgm_ ak YdoYqk egj] \]l]jeafakla[ lYf [ghq)ZY[c

Nak ak Z][Ymk] af ojal])ljgm_ [Y[]k( mhgf Y ojal] eakk( ]n]jq lae] Y daf] ak ojal)
l]f lg [Y[] e]egjq al ak ojall]f lg hjaeYjq e]egjq lgg( oa[ eYc]k kmj] lYl l]j] ak
YdoYqk Y ^j]k [ghq af l] hjaeYjq e]egjq* Bgo]n]j af [ghq)ZY[c [Y[]k( l] \YlY ogj\
ak c]hl dg[Yddq af l] [Y[] Yf\ gfdq ojall]f lg hjaeYjq e]egjq a^ Yf\ gfdq a^ l] [gjj]k)
hgf\af_ [Y[] daf] ak \ajlq Yf\ Yk lg Z] j]hdY[]\* Nak e][Yfake eYc]k ojal]) ljgm_
[Y[]k Z]ll]j af l]jek g^ \]l]jeafake* Nak af[j]Yk]k Zmk ljY^^a[ Yf\ \]_jY\]k h]j^gjeYf[](
[gehYj]\ lg [ghq)ZY[c e][Yfake*
74

Results: AMCC PPC440EPx

aaa*

=Y[] Fg[caf_ aehjgn]k \]l]jeafake

<q dg[caf_ l] [Y[]( o] aehjgn] l] \]l]jeafake g^ l] hjg[]kkgj [gj]* Nak ak Z])


[Ymk] l] [Y[] oadd fgo Yn] Y []jlYaf hgjlagf g^ l] [Y[] oal Y daeal]\ fmeZ]j g^ daf]k
afkl]Y\ g^ Z]af_ YZd] lg Y[[]kk l] ogd]* <q j]\m[af_ l] fmeZ]j g^ ^j]] daf]k YnYadYZd]( o]
_mYjYfl]] lYl l] j]im]kl]\ ogj\k oadd Z] ojall]f lg hjaeYjq e]egjq afkl]Y\ g^ [Y[]* N]
egj] o] dg[c l] [Y[]( l] a_]j \]l]jeafake d]n]d o] dYf\ Yl*
=gfk]im]fldq( QNC>FI=E Yf\ =<C>FI=E oadd j]kmdl af Z]kl \]l]jeafake Y^l]j
HI=;=B?( kaf[] Zgl [Y[]k Yj] d]^l gfdq gf] daf] ^j]]*
an*

Fg[caf_ l] C)[Y[] _an]k Z]ll]j \]l]jeafake lYf dg[caf_ l] >)[Y[]

Maf[] Jgo]jJ= ak Y LCM= hjg[]kkgj oa[ ak afkljm[lagf)afl]fkan] jYl]j lYf \YlY


afl]fkan] %afkljm[lagf ^]l[af_ ak egj] aehgjlYfl lYf \YlY j]Y\+ojal]&( l] =JO oadd Z]
Zmka]j lg ^]l[ ^jge C)[Y[] lYf >)[Y[]( Yf\ lmk dg[caf_ l] C)[Y[] oadd qa]d\ Z]ll]j
\]l]jeafake lYf dg[caf_ l] >)[Y[]* N]j]^gj]( QNC>FI=E Yf\ =<C>FI=E Yj] ^gd)
dgo]\ Zq QNCFI=E Yf\ =<CFI=E Yf\ l]f Zq QN>FI=E Yf\ =<CFI=E*
n*

Mh][mdYlan] ]p][mlagf \]_jY\]k \]l]jeafake

;k ]phdYaf]\ Z]^gj]( kh][mdYlan] ]p][mlagf hjgna\]k l] hjg[]kkgj lg ]p][ml] [gfljgd


\]h]f\]fl afkljm[lagfk ]n]f o]f al ak fgl kmj] a^ l]q kgmd\ Z] ]p][ml]\ Zq _m]kkaf_ l]
gml[ge] g^ Y [gfljgd afkljm[lagf Yf\ ZYk]\ gf l] _m]kk( klYjl ]p][mlaf_ al* Nak _m]kkaf_
e][Yfake ak fgl \]l]jeafakla[ Yl Ydd( kaf[] o] Y_Yaf afljg\m[] Y hjgZYZadakla[ e][Yfake g^
]p][mlagf lg l] [gj]* <q Y\\af_ kh][mdYlagf lg 00,?Jp [gj]( o] ^gj[] al lg hj]^]l[ lj]]
Y\\alagfYd daf]k ^jge l] hjaeYjq e]egjq gf [Y[] eakk* Nak Ydkg \]_jY\]k \]l]jeafake
kaf[] Zmk ljY^^a[ ak af[j]Yk]\*
na*

Mlgj])Qalgml);ddg[Yl] %MQI;& aehjgn]k \]l]jeafake

MaeadYj lg \akYZdaf_ l] [Y[]( Yk ]phdYaf]\ af MQI; hYjYe]l]j( ]fYZdaf_ MQI;


aehjgn]k \]l]jeafake gfdq gf [ghq)ZY[c [Yk]* Q]f l] ojal] eakk]k af l] [Y[] af lak
[Yk]( l]f [Y[] ak ZqhYkk]\ Yf\ \YlY ak ojall]f \aj][ldq lg hjaeYjq e]egjq*
naa*

<N;= \]_jY\]k \]l]jeafake

N] ZjYf[ lYj_]l Y\\j]kk [Y[] %<N;=& aehjgn]k ZjYf[ hj]\a[lagf Y[[mjY[q(


oa[ _an]k Y Z]ll]j h]j^gjeYf[]( go]n]j kaf[] al ak Y keYdd [Y[] e]egjq gd\af_ l] j])
[]fl ZjYf[]k af l] afkljm[lagf hah]daf]( al af[dm\]k Y jYf\ge hjgZYZadakla[ hYll]jf %o]
f]n]j [Yf cfgo o]l]j lYl ZjYf[ Y\\j]kk oadd al af <N;= gj fgl( af hYjYdd]d lg %a&(
<N;= Ydkg \]_jY\]k \]l]jeafake*
naaa*

@gj[] @mdd @dmk \]_jY\]k \]l]jeafake

Q]f l] YhhjghjaYl] Zal ak k]l( [Y[] [gfljgdd]jk af 00,?Jp YdoYqk ^dmk l] ]flaj]
[Y[] daf] ]n]f a^ al ak fgl f][]kkYjq* Nak gZnagmkdq \]_jY\]k h]j^gjeYf[] af ^ajkl _dYf[](
kaf[] ]Y[ j]im]kl]\ daf] Yk lg Z] ojall]f ZY[c lg [Y[] Y_Yaf Y^l]j ^dmkaf_* Cf Y kaeadYj
eYff]j Yk [Y[] \akYZdaf_ Yf\ MQI;( kaf[] l] hjg[]kkgj oadd Z] Zmka]j oal [Y[] gh]jY)
lagfk( lak Y_Yaf j]kmdlk af hggj]j \]l]jeafake* %Hgl]6 Nak Yhh]fk gfdq a^ Yhhda[Ylagf ]p)
][ml]k Yfq ^dmk gh]jYlagf&

75

Results: AMCC PPC440EPx

C^ o] kme mh Ydd l] hgaflk lg_]l]j o] j]kmdl af l] gj\]j g^ \]l]jeafake Yk kgof


Zq >\ZheX 1)- Yegf_ Ydd [gf^a_mjYlagfk* Cl ak aehgjlYfl lg e]flagf lYl ]n]f lgm_
MQI; kgmd\ eYc] QNF Yf\ =<F egj] \]l]jeafakla[( l] bgafl \]_jY\af_ ]^^][l g^ @@@(
<N;= Yf\ kh][mdYlagf eYc]k l]e lg Z] hggj]j af \]l]jeafake [gehYj]\ lg QNB Yf\
=<B* <]ka\]k( ]n]f lgm_ QNF Yf\ =<F Yn] l]aj ZjYf[ hj]\a[lagf lmjf]\ g^^( kaf[]
l] <N;= [Y[] ak fgl Yk Za_ Yk l] =JO [Y[] %4 dg[Ylagfk gfdq&( l] kh][mdYlagf e][Yf)
ake gmlo]a_k l] hgkalan] ]^^][l g^ <N;=( Yf\ lmk Yk Y j]kmdl l]q Yn] hggj]j \]l]jeaf)
ake lYf QNB Yf\ =<B*

Figure 5-1: Determinism levels in PPC440EPx

76

Results: AMCC PPC440EPx


5.1.4.

Performance

5.1.4.1.

Automark

5.1.4.1.1.

Clock Frequency
Frequencies vs. Configurations (Automark)

600

494,67

Automark

500

395,41

400

301,09
240,02

300
200
100

106,67
27,70 22,04

85,19

667-166

147,10
118,27

533-133

0
NoC

WTL

CBL

WTH

CBH

configurations

Figure 5-2: Effect of clock frequency (Automark)

Ma^laf_ l] [dg[c ^j]im]f[q ^jge 222 GBr lg 1// GBr \]_jY\]k l] h]j^gjeYf[]
YZgml .1"( af\]h]f\]fl g^ l] [gf^a_mjYlagf( oa[ ak jgm_dq l] jYlag Z]lo]]f l]k] log
^j]im]f[a]k* Of\]j fgjeYd [gf\alagfk( a^ l] afkljm[lagf eap [gfkakl]\ ]Ynadq g^ dgY\k Yf\
klgj]k( l]f l] =JO ogmd\ Yn] lg Y[[]kk hjaeYjq e]egjq Ydkg ]Ynadq( oa[ ogmd\ \])
[j]Yk] l] =JO mladarYlagf( j]kmdlaf_ af Y jYlag em[ d]kk lYf .1"*
Bgo]n]j( o] k]] lYl lak ak fgl l] [Yk] ]j] Z][Ymk] ;mlgeYjc} mladar]k Ydd l] kap)
l]]f Yd_gjalek af Y kqee]lja[Yd eYff]j7 ]Y[ Yd_gjale ak g^ ]imYd o]a_l af [Yd[mdYlaf_
l] ;mlgeYjc} _jY\]* Mge] Yd_gjalek mk] ]Ynadq dgY\k Yf\ klgj]k Yf\ kge] fgl %k]] ;h)
h]f\ap =&( lmk lak kqee]ljq [Yf[]dk lak ]^^][l* Of^gjlmfYl]dq( al oYk fgl hgkkaZd] lg
[Yf_] l] Zmk ^j]im]f[q c]]haf_ l] [dg[c ^j]im]f[q [gfklYfl( kg o] [Yffgl afn]kla_Yl] l]
]^^][l g^ l] Zmk ^j]im]f[q*
5.1.4.1.2.

100%
80%
60%
40%

Cache Locking
100,00%

Cache Locking (WRITE-THROUGH) Automark (666/166 MHz)

79,72%
60,97%
51,10%

667-166
533-133

42,47%
33,82%

20%

32,00% 25,70%
9,20% 7,32%

0%

Figure 5-3: Effect of cache locking in write-through case (Automark)

77

Results: AMCC PPC440EPx

100%
80%
60%
40%

100,00%

Cache Locking (COPYBACK) Automark (666/166 MHz)

79,93%
56,57%
45,13%

667-166

34,72%
28,55%

20%

533-133

24,64%
19,05%
5,60% 4,45%

0%

Figure 5-4: Effect of cache locking in copy-back case (Automark)

@jge l] _jYhk YZgn]( al [Yf Z] k]]f lYl d]Ynaf_ ]n]f gf] daf] YnYadYZd] af ]al]j
g^ l] [Y[]k aehjgn]k l] h]j^gjeYf[] ka_fa^a[Yfldq [gehYj]\ lg [gehd]l]dq \akYZdaf_ l]
]flaj] [Y[]* Qal =JO jmffaf_ Yl 222 GBr( Ynaf_ gf] daf] g^ C)[Y[] af mk] ak 0*2 lae]k
Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf Yf\ 2*. lae]k Z]ll]j ^gj [ghq)ZY[c [gf^a_mjYlagf(
o]j]Yk Ynaf_ gf] daf] g^ >)[Y[] af mk] ak 2*2 lae]k Z]ll]j ^gj ojal])ljgm_
[gf^a_mjYlagf Yf\ -,(- lae]k Z]ll]j ^gj [ghq)ZY[c [gf^a_mjYlagf*
Q]f l] [dg[c ^j]im]f[q ak j]\m[]\ lg 1// GBr( Ynaf_ gf] daf] g^ C)[Y[] af mk]
ak Y_Yaf 0*2 lae]k Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf Zml 2*0 lae]k Z]ll]j ^gj [ghq)ZY[c
[gf^a_mjYlagf( o]j]Yk Ynaf_ gf] daf] g^ >)[Y[] af mk] ak 3 lae]k Z]ll]j ^gj ojal])ljgm_
[gf^a_mjYlagf Yf\ Y_Yaf -,*- lae]k Z]ll]j ^gj =ghq)ZY[c*
Nmk( o] [Yf [gf[dm\] lYl ka^laf_ [dg[c ^j]im]f[q ^jge 222 GBr lg 1// GBr
\g]k fgl [Yf_] l] j]dYlan] Yegmfl g^ h]j^gjeYf[] dgkk g^ ojal])ljgm_ [gf^a_mjYlagf
o]f C)[Y[] ak dg[c]\ [gehYj]\ lg o]f al ak \akYZd]\7 Yf\ \g]k fgl [Yf_] l] j]dYlan]
Yegmfl g^ h]j^gjeYf[] dgkk g^ [ghq)ZY[c [gf^a_mjYlagf o]f >)[Y[] ak dg[c]\ [gehYj]\
lg o]f al ak \akYZd]\*
MaeadYjdq( ]n]f a^ o] d]Yn] gf] daf] YnYadYZd] af Zgl [Y[]k( Yl 222 GBr
h]j^gjeYf[] j]eYafk /*04 lae]k Z]ll]j af ojal])ljgm_ Yf\ 0*0 lae]k Z]ll]j af [ghq)ZY[c7
Yf\ Yl 1// GBr /*1- lae]k Z]ll]j af ojal])ljgm_ Yf\ 0*.4 lae]k Z]ll]j af [ghq)ZY[c
[gehYj]\ lg \akYZdaf_ Zgl [Y[]k* N] j]Ykgf ^gj km[ h]fge]fgf ak lYl o]f l]
[Y[] ak \akYZd]\( dgY\ afkljm[lagfk oadd YdoYqk j]kmdl af Y eakk( ^gj[af_ l] =JO lg Y[[]kk
hjaeYjq e]egjq Ydd l] lae] afalaYlaf_ Y j]Y\ j]im]kl mkaf_ l] JF< Zmk* Bgo]n]j( kaf[]
[Y[] [gfljgdd]jk Yj] \akYZd]\( l] \YlY ljYfk^]j oadd fgl Z] af Zmjkl* C^ l] =JO j]im]klk
Yfgl]j ogj\ ^jge hjaeYjq e]egjq oa[ ak oalaf l] na[afalq g^ l] ^ajkl j]im]kl]\ ogj\(
kaf[] o] [Yffgl kh][mdYl] oalgml [Y[] [gfljgdd]jk( l] log ogj\k oadd Z] ljYfk^]jj]\ gf]
Zq gf] afkl]Y\ g^ Y Zmjkl g^ 0 ogj\k*
Nmk( ]n]f o]f o] Yn] gf] daf] ^j]] Yf\ l] [Y[] Yk lg j]hdY[] lak gfdq daf] Ydd
l] lae]( Zmjkl ljYfk^]j hdmk kh][mdYlan] ]p][mlagf eYc]k al em[ ^Ykl]j lYf oalgml [Y[]*
;fgl]j aehgjlYfl gZk]jnYlagf ]j] ak l] \a^^]j]f[] g^ aehY[l Z]lo]]f \akYZdaf_ l]
\YlY [Y[] Yf\ \akYZdaf_ l] afkljm[lagf [Y[]* Cf l] dYll]j [Yk] %o]f gfdq gf] daf] ak ^j]]
af l] C)[Y[]&( h]j^gjeYf[] aehY[l ak egj] ka_fa^a[Yfl lYf l] kYe] [Yk] af l] >)[Y[]
%o]f gfdq gf] daf] ak ^j]] af l] >)[Y[]&* ;k e]flagf]\ Z]^gj]( afkljm[lagf hYjl g^ [Y[]
ak egj] \][akan] ^gj l] h]j^gjeYf[] af LCM= Yj[al][lmj]( oa[ e]Yfk l] 00, [gj] ak
78

Results: AMCC PPC440EPx

Zmka]j oal ^]l[af_ afkljm[lagfk lYf dgY\af_ gj klgjaf_ \YlY kg lak gZk]jnYlagf ak Yk
]ph][l]\* N] aehY[l g^ d]Ynaf_ gf] daf] af l] >)[Y[] Y^^][lk [ghq)ZY[c Yf\ ojal])
ljgm_ kaeadYjdq( lgm_*
5.1.4.1.3.

Hardware vs. Software FP

Hardware vs. Software FP - All Benchmarks (Automark)


(666/166 MHz)
600

494,67

500
400

318,42

301,09

300

with Hardware FP
with Software FP

215,61

200
100

27,70

17,95

0
NoC

WTH

CBH

configurations

Figure 5-5: Hardware vs. Software FP (Automark 666/166 MHz)


Hardware vs. Software FP - All Benchmarks (Automark)
(666/166 MHz)
120%
100%
80%

100%

100%

100%
71,61%

64,81%

64,37%

60%

with Hardware FP
with Software FP

40%
20%
0%
NoC

WTH

CBH

configurations

Figure 5-6: Hardware vs. Software FP percentage comparison (Automark 666/166MHz)

Q]f o] koal[ ^jge Yj\oYj] [g)hjg[]kkgj lg kg^loYj] ]emdYlagf( l] h]j^gjeYf[]


\]_jY\]k YZgml /," af ojal])ljgm_ Yf\ /1" af [ghq)ZY[c # oalgml [Y[]*
Mg^loYj] ]emdYlagf ak ]ph][l]\ lg _an] ogjk] h]j^gjeYf[]( kaf[] ]p][mlagf mfalk oadd
Z] Zmka]j ]p][mlaf_ l] ]emdYl]\ afkljm[lagfk af Y\\alagf lg l]aj gof \]\a[Yl]\
afl]_]j+[gehd]p afl]_]j+ZjYf[ afkljm[lagfk( oa[ e]Yfk lYl mladarYlagf g^ [Y[] e]egjq
oadd af[j]Yk]* Cfkl]Y\ g^ Zm^^]jaf_ gfdq lgk] \]\a[Yl]\ ]p][mlagf mfal afkljm[lagfk( [Y[]
oadd fgo Z] Zmka]j oal klgjaf_ Ydkg ]emdYl]\ ^dgYlaf_ hgafl afkljm[lagfk*

79

Results: AMCC PPC440EPx

;fgl]j gZk]jnYlagf ak lYl Yegmfl g^ dgkk ak kYe] af l] [gf^a_mjYlagf o]j] [Y[]


ak \akYZd]\ %Hg=& Yf\ o]f [ghq)ZY[c ak mk]\ %=<B&* N] ojal])ljgm_ [gf^a_mjYlagf
]ph]ja]f[]k d]kk h]j^gjeYf[] dgkk [gehYj]\ lg l]k] log*
Nmk( [ghq)ZY[c ak ^gmf\ lg Z] egj] k]fkalan] lg l] koal[ ^jge Yj\oYj] lg
kg^loYj] @J* Nak ak Z][Ymk] ojal])ljgm_ Ydj]Y\q ojal]k Y [ghq lg hjaeYjq e]egjq
kaemdlYf]gmkdq Yk lg l] [Y[]( Zml [ghq)ZY[c Yk lg [][c ]n]jq lae] a^ l] lYj_]l daf] ak
\ajlq Yf\ lg Z] j]hdY[]\* Nak ]pljY [gfljgd j]imaj]e]fl ogmd\ eYc] [ghq)ZY[c [Y[] lg Z]
egj] k]fkalan] lg ]emdYlaf_ ^dgYlaf_)hgafl gh]jYlagfk*
5.1.4.2.

AvioMark for High Lift

5.1.4.2.1.

Clock Frequency

Frequencies vs. Configurations (Aviomark HighL)


1308,66

1400
1200

1046,26

Aviomark - High Lift

1000

818,88

800

652,80
667-166

600

278,30

400
200

222,48

384,59
310,22

533-133

72,63 57,79

0
NoC

WTL

CBL

WTH

CBH

configurations

Figure 5-7: Effect of clock frequency (Aviomark HighL)

;k af l] ;mlgeYjc [Yk]( l] ka^l ^jge 222 GBr lg 1// GBr \]_jY\]k l]


h]j^gjeYf[] Zq YZgml .1"*
5.1.4.2.2.

Cache Locking

100,00%
80,00%
60,00%
40,00%

100,00%

Cache Locking (WRITE-THROUGH) Aviomark HighL

79,72%
65,66%
55,64%

667-166
34,89%
27,78%

20,00%
0,00%

29,51%
23,96%

533-133
8,87%

7,06%

Figure 5-8: Effect of cache locking in write-through case (Aviomark HighL)

80

Results: AMCC PPC440EPx

100,00%
80,00%
60,00%
40,00%
20,00%

100,00%

Cache Locking (COPYBACK) Aviomark HighL

79,95%
64,98%
667-166

51,85%
27,65%
23,05%

0,00%

533-133

23,40%
17,99%

5,55%

4,42%

Figure 5-9: Effect of cache locking in copy-back case (Aviomark HighL)

C^ o] \g Y kaeadYj YfYdqkak Yk af ;mlgeYjc}( oal =JO jmffaf_ Yl 222 GBr(


Ynaf_ gf] daf] g^ C)[Y[] af mk] ak /*5 lae]k Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf Yf\
0*54 lae]k Z]ll]j ^gj [ghq)ZY[c [gf^a_mjYlagf( o]j]Yk Ynaf_ gf] daf] g^ >)[Y[] af mk] ak
3*0 lae]k Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf Yf\ --*3 lae]k Z]ll]j ^gj [ghq)ZY[c
[gf^a_mjYlagf*
Q]f l] [dg[c ^j]im]f[q ak j]\m[]\ lg 1// GBr( Ynaf_ gf] daf] g^ C)[Y[] af mk]
ak lak lae] /*5 lae]k Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf( go]n]j Y_Yaf 1*. lae]k Z]ll]j
^gj [ghq)ZY[c [gf^a_mjYlagf( o]j]Yk Ynaf_ gf] daf] g^ >)[Y[] af mk] ak 3*44 lae]k Z]ll]j
^gj ojal])ljgm_ [gf^a_mjYlagf Yf\ Y_Yaf --*3 lae]k Z]ll]j ^gj [ghq)ZY[c [gf^a_mjYlagf*
Nmk( o] [Yf [gf[dm\] lYl ka^laf_ [dg[c ^j]im]f[q ^jge 222 GBr lg 1// GBr
\g]k fgl [Yf_] l] j]dYlan] Yegmfl g^ h]j^gjeYf[] dgkk g^ [ghq)ZY[c [gf^a_mjYlagf o]f
C)[Y[] ak dg[c]\ [gehYj]\ lg o]f al ak \akYZd]\7 Yf\ \g]k fgl [Yf_] l] j]dYlan] Yegmfl
g^ h]j^gjeYf[] dgkk g^ ojal])ljgm_ [gf^a_mjYlagf o]f >)[Y[] ak dg[c]\ [gehYj]\ lg
o]f al ak \akYZd]\* Nak Z]Ynagj ak ]pY[ldq l] j]n]jk] [gehYj]\ lg ;mlgeYjc}*
MaeadYjdq( ]n]f a^ o] d]Yn] gf] daf] YnYadYZd] af Zgl [Y[]k( Yl 222 GBr
h]j^gjeYf[] j]eYafk /*// lae]k Z]ll]j af ojal])ljgm_ [gf^a_mjYlagf Yf\ 0*.. lae]k Z]ll]j
af [ghq)ZY[c7 Yf\ Yl 1// GBr /*/5 lae]k Z]ll]j af ojal])ljgm_ [gf^a_mjYlagf Yf\ 0*,3
lae]k Z]ll]j af [ghq)ZY[c [gf^a_mjYlagf [gehYj]\ lg \akYZdaf_ Zgl [Y[]k*
Q]f o] [gehYj] dg[caf_ C)[Y[] oal dg[caf_ l] >)[Y[]( o] k]] lYl af
;mlgeYjc( C)[Y[] ak YZgml /," ogjk] h]j^gjeYf[] [gehYj]\ lg >)[Y[] af ojal])ljgm_
Yf\ /5" ogjk] h]j^gjeYf[] af [ghq)ZY[c7 o]j]Yk l]k] nYdm]k Z][ge] 03" af ojal])
ljgm_ Yf\ 1,*1" af [ghq)ZY[c o]f ;nageYjc Ba_F ak mk]\* Nmk o] [Yf [gf[dm\]
lYl dg[caf_ C)[Y[] ak egj] ]^^][lan] af l]jek g^ h]j^gjeYf[] [gehYj]\ lg dg[caf_ >)[Y[]
^jge ;nageYjc Ba_F hgafl g^ na]o* Nak h]fge]fgf Z][ge]k egj] ka_fa^a[Yfl o]f o]
mk] ;nageYjc Ba_F( kaf[] l] h]j^gjeYf[] \a^^]j]f[] Z]lo]]f dg[caf_ C)[Y[] Yf\ dg[caf_
>)[Y[] ak Za__]j af ;nageYjc Ba_F lYf ;mlgeYjc}*

81

Results: AMCC PPC440EPx


5.1.4.2.3.

Hardware vs. Software FP

Hardware vs. Software FP - All Benchmarks (Aviomark HighL)


(666/166 MHz)
1308,66

1400
1200
1000

818,88

800

777,70
with Hardware FP
with Software FP

553,38

600
400
200
0

72,63

41,59

NoC

WTH

CBH

configurations

Figure 5-10: Hardware vs. Software FP (Aviomark HighL 666/166 MHz)


Hardware vs. Software FP - All Benchmarks (Aviomark HighL)
(666/166 MHz)

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

100%

100%

100%

57,26%

67,58%

59,43%
with Hardware FP
with Software FP

NoC

WTH

CBH

configurations

Figure 5-11: Hardware vs. Software FP percentage comparison


(Aviomark HighL 666/166 MHz)

Q]f o] koal[ ^jge Yj\oYj] [g)hjg[]kkgj lg kg^loYj] ]emdYlagf( l] h]j^gjeYf[]


\]_jY\]k YZgml /," af ojal])ljgm_ Yf\ 0," af [ghq)ZY[c # oalgml [Y[] %bmkl 1"
egj] lYf ;mlgeYjc}&* Nmk o] [Yf [gf[dm\] lYl koal[af_ ^jge Yj\oYj] @J lg kg^l)
oYj] @J Y^^][lk ;mlgeYjc} Yf\ ;nageYjc Ba_F kaeadYjdq*

82

Results: AMCC PPC440EPx


5.1.4.3.

Aviomark: Motor Control

5.1.4.3.1.

Clock Frequency
Frequencies vs. Configurations (Aviomark MotorC)
1600

1381,44

1400

1104,42

Aviomark - Motor C

1200
1000

807,13
643,20

800
600

276,43

400
200

70,66 56,22

395,77
221,07

667-166

318,96

533-133

0
NoC

WTL

CBL

WTH

CBH

configurations

Figure 5-12: Effect of clock frequency (Aviomark MotorC)

;k af ;mlgeYjc} Yf\ ;nageYjc Ba_F( ka^laf_ l] [dg[c ^j]im]f[q ^jge 222


GBr lg 1// GBr \]_jY\]k h]j^gjeYf[] Y_Yaf YZgml .1"*
5.1.4.3.2.

Cache Locking

100%
80%

100,00%

Cache Locking (WRITE-THROUGH) Aviomark MotorC

79,69%
67,40%
57,11%

60%

33,43%
26,62%

40%
20%

667-166
533-133

28,89%
23,45%
8,75% 6,97%

0%

Figure 5-13: Effect of cache locking in write-through case (Aviomark MotorC)

100%
80%
60%
40%
20%

Cache Locking (COPYBACK) Aviomark MotorC

100,00%
79,95%
66,40%

52,99%

667-166

25,17%
20,97%

0%

533-133

21,83%
16,74%

5,11% 4,07%

Figure 5-14: Effect of cache locking in copy-back case (Aviomark MotorC)


83

Results: AMCC PPC440EPx

C^ o] \g Y kaeadYj YfYdqkak Yk af ;mlgeYjc}( oal =JO jmffaf_ Yl 222 GBr(


Ynaf_ gf] daf] g^ C)[Y[] af mk] ak /*4. lae]k Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf Yf\
0*5/ lae]k Z]ll]j ^gj [ghq)ZY[c [gf^a_mjYlagf( o]j]Yk Ynaf_ gf] daf] g^ >)[Y[] af mk] ak
3*3 lae]k Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf Yf\ -/ lae]k Z]ll]j ^gj [ghq)ZY[c
[gf^a_mjYlagf*
Q]f l] [dg[c ^j]im]f[q ak j]\m[]\ lg 1// GBr( Ynaf_ gf] daf] g^ C)[Y[] af mk]
ak Y_Yaf /*4. lae]k Z]ll]j ^gj ojal])ljgm_ [gf^a_mjYlagf( go]n]j 1*-1 lae]k Z]ll]j ^gj
[ghq)ZY[c [gf^a_mjYlagf( o]j]Yk Ynaf_ gf] daf] g^ >)[Y[] af mk] ak 4*-5 lae]k Z]ll]j ^gj
ojal])ljgm_ [gf^a_mjYlagf Yf\ Y_Yaf -/ lae]k Z]ll]j ^gj [ghq)ZY[c [gf^a_mjYlagf*
Nmk( o] [Yf [gf[dm\] lYl ka^laf_ [dg[c ^j]im]f[q ^jge 222 GBr lg 1// GBr
\g]k fgl [Yf_] l] j]dYlan] Yegmfl g^ h]j^gjeYf[] dgkk g^ [ghq)ZY[c [gf^a_mjYlagf o]f
C)[Y[] ak dg[c]\ [gehYj]\ lg o]f al ak \akYZd]\7 Yf\ \g]k fgl [Yf_] l] j]dYlan] Yegmfl
g^ h]j^gjeYf[] dgkk g^ ojal])ljgm_ [gf^a_mjYlagf o]f >)[Y[] ak dg[c]\ [gehYj]\ lg
o]f al ak \akYZd]\* Nak Z]Ynagj ak ]pY[ldq l] j]n]jk] [gehYj]\ lg ;mlgeYjc} Yf\ kYe]
Yk af ;nageYjc Ba_F*
MaeadYjdq( ]n]f a^ o] d]Yn] gf] daf] YnYadYZd] af Zgl [Y[]k( Yl 222 GBr
h]j^gjeYf[] j]eYafk /*/ lae]k Z]ll]j af ojal])ljgm_ [gf^a_mjYlagf Yf\ 0*.3 lae]k Z]ll]j
af [ghq)ZY[c [gf^a_mjYlagf7 Yf\ Yl 1// GBr /*/2 lae]k Z]ll]j af ojal])ljgm_
[gf^a_mjYlagf Yf\ 0*-- lae]k Z]ll]j af [ghq)ZY[c [gf^a_mjYlagf [gehYj]\ lg \akYZdaf_ Zgl
[Y[]k*
Q]f o] [gehYj] dg[caf_ C)[Y[] oal dg[caf_ l] >)[Y[]( o] k]] lYl af
;mlgeYjc( C)[Y[] ak YZgml /," ogjk] h]j^gjeYf[] [gehYj]\ lg >)[Y[] af ojal])ljgm_
Yf\ /5" ogjk] h]j^gjeYf[] af [ghq)ZY[c Yf\ 03" af ojal])ljgm_ Yf\ 1,*1" af [ghq)
ZY[c o]f ;nageYjc Ba_F oYk mk]\* N]k] nYdm]k Z][ge] 1-" af ojal])ljgm_ Yf\
2/" af [ghq)ZY[c o]f ;nageYjc Gglgj= ak mk]\* Nmk o] [Yf [gf[dm\] lYl dg[caf_ C)
[Y[] ak egj] ]^^][lan] af l]jek g^ h]j^gjeYf[] [gehYj]\ lg dg[caf_ >)[Y[] ^jge
;nageYjc hgafl g^ na]o lYf ;mlgeYjc}( Yf\ egj] aehgjlYfl af ;nageYjc Gglgj= lYf
;nageYjc Ba_F*
5.1.4.3.3.

Hardware vs. Software FP

Hardware vs. Software FP - All Benchmarks (Aviomark MotorC)


(666/166 MHz)
1600

1381,44

1400
1200

1012,56

1000

807,13 713,02

800

with Hardware FP
with Software FP

600
400
200
0

70,66

51,72

NoC

WTH

CBH

configurations

Figure 5-15: Hardware vs. Software FP (Aviomark MotorC 666/166 MHz)

84

Results: AMCC PPC440EPx

Hardware vs. Software FP - All Benchmarks (Aviomark MotorC)


(666/166 MHz)

120%
100%

100%

100%
73,20%

80%

100%
88,34%

73,30%
with Hardware FP
with Software FP

60%
40%
20%
0%
NoC

WTH

CBH

configurations

Figure 5-16: Hardware vs. Software FP percentage comparison


(Aviomark MotorC 666/166 MHz)

Q]f o] koal[ ^jge Yj\oYj] [g)hjg[]kkgj lg kg^loYj] ]emdYlagf( l] h]j^gjeYf[]


\]_jY\]k YZgml -," af ojal])ljgm_ Yf\ 0," af [ghq)ZY[c # oalgml [Y[]* Cf lak [Yk](
o] k]] lYl l] [Yf_] af ojal])ljgm_ ak l] d]Ykl Yegf_ Ydd l] lj]] eYjck* Nmk( o] [Yf
kYq lYl [ggkaf_ ojal])ljgm_ hgda[q af eglgj [gfljgd Yhhda[Ylagf _an]k Z]ll]j klYZadalq
o]f Yj\oYj] ^dgYlaf_ hgafl ak \akYZd]\* Nmk( al oadd Z] l] Z]kl [ga[] a^ af l] Yhhda[Y)
lagf ^dgYlaf_ hgafl Yj\oYj] ak \]kaj]\ lg Z] g^^( ]*_* Z][Ymk] g^ alk hgo]j [gkl gj jY\aYlagf
fgf)\mjYZadalq*
5.1.4.3.4.

Basic Floating Point


Hardware vs. Software FP for different Configurations

100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

667-166
667-166
533-133
533-133

NoC

WTL

CBL WTH CBH

Hardware FP
Software FP
Hardware FP
Software FP

W C Data W Inst C Inst W D&I C D&I


Data

Figure 5-17: Percentage of performance loss with Software FP

N] j]kmdlk af lak k][lagf o]j] gZlYaf]\ o]f gfdq l] ZYka[ ^dgYlaf_ hgafl Yd_g)
jale af l] ??G<= Z]f[eYjc oYk ]p][ml]\* Nak [Yf _an] Y Z]ll]j mf\]jklYf\af_ g^ l]
j]khgfk] g^ \a^^]j]fl [gf^a_mjYlagfk kaf[] l] Yj\oYj] oadd Z] ]p][mlaf_ hmj]dq ^dgYlaf_
hgafl afkljm[lagfk( o]j]Yk Z]^gj] gfdq Y hgjlagf g^ l] ogjcdgY\ oYk ^dgYlaf_ hgafl gh]jY)
lagfk* IZnagmkdq( lak oadd ^gj[] l] [gf^a_mjYlagfk lg _an] ogjk] h]j^gjeYf[] lYf l]q \a\
af BYj\oYj] nk* Mg^loYj] @J k][lagf*
85

Results: AMCC PPC440EPx

Porcentage Lost with Software FP


100%
98%
96%
94%
92%
90%
88%
86%
84%
82%
80%

98,95% 99,09% 98,91% 99,02%

97,78% 98,27% 98,25%


94,17% 94,60% 93,50% 94,25%

NoC

WTL

CBL

WTH

CBH W Data C Data W Inst C Inst W D&I C D&I


configurations

Figure 5-18: Hardware vs. Software FP (for Basic Floating Point algorithm)

Cl [Yf Z] k]]f lYl l] k[jahlk afl]f\]\ ^gj a_)h]j^gjeYf[] a*]* =<B Yf\ QNB
]ph]ja]f[]k d]kk \]_jY\Ylagf af h]j^gjeYf[] o]f kg^loYj] ]emdYlagf ak mk]\ af hmj] ZYka[
^dgYlaf_ Yd_gjale( Ydgf_ oal l] k[jahlk o]j] \YlY [Y[] ak dg[c]\ gfdq* Nak ak Z][Ymk]
gfdq af =<B Yf\ QNB o] Yj] ]fYZdaf_ klgj] _Yl]jaf_ Yf\ \akYZdaf_ MQI;* @dgYlaf_
hgafl gh]jYlagfk Yj] Yjale]la[Yddq \geafYl]\ gh]jYlagfk o]j] eYbgjalq g^ ogjcdgY\ ak
dgY\k Yf\ klgj]k afkl]Y\ g^ [gfljgd gh]jYlagfk dac] ZjYf[]k*
Nmk( l]k] log hYjYe]l]jk Yj] n]jq ]^^][lan] gf h]j^gjeYf[] a^ e]egjq ljYfk^]jk Yj]
lg Z] ]Ynadq mk]\* ;f\ Y_Yaf dg[caf_ \YlY [Y[] oadd qa]d\ Z]ll]j h]j^gjeYf[] [gehYj]\ lg
dg[caf_ afkljm[lagf [Y[]( kaf[] l] hjg[]kkgj oadd Z] Zmka]j af ^]l[af_ ^dgYlaf_ hgafl af)
kljm[lagfk lYf Y[lmYddq ]p][mlaf_ lgk] afkljm[lagfk Yf\ ojalaf_ ZY[c l]aj j]kmdlk*
5.1.4.4.

Aviomark vs. Automark


Aviomark vs. Automark (533/133 MHz)

1200

1104

1000
800
600
400
200
0

1046

643

653

319
221

310
222

56

58

AvioMark (MotorC)

AvioMark (High L)

395

CBH
WTH
CBL
WTL
NoC

240
118 85
22
Automark

Figure 5-19: Aviomark vs . Automark (533 MHz clock and 133 MHz bus frequency)

86

Results: AMCC PPC440EPx

Aviomark vs. Automark (666/166 MHz)


1600
1381

1400
1200
1000
800

1309

807

819

396
276

385
278
73

600
400
200

71

AvioMark (MotorC)

CBH
WTH
CBL
WTL
NoC

495
301
147107
28

AvioMark (High L)

Automark

Figure 5-20: Aviomark vs. Automark (666 MHz clock and 166 MHz bus frequency

?klaeYlaf_ h]j^gjeYf[] af l]jek g^ ;nageYjc afkl]Y\ g^ l] ljY\alagfYd ;mlgeYjc


[Yf_]k l] eYjc \jYkla[Yddq( ^jge 051 lg -/,5 af Ba_ Fa^l Yhhda[Ylagf Yf\ -/4- af Gglgj
=gfljgd Yhhda[Ylagf o]f hjg[]kkgj jmfk Yl 222 GBr* Nak lj]f\ ak kaeadYj af Zgl 222)
-22 Yf\ 1//)-// GBr [Yk]k* Nak ak \m] lg l] [Yd[mdYlagf Yd_gjale g^ l] eYjc* <gl
;mlgeYjc} Yf\ ;nageYjc mk] Y _]ge]lja[ e]Yf g^ j]kmdlk g^ l] -2 Yd_gjalek( go]n]j
Ykka_f \a^^]j]fl o]a_lk lg \a^^]j]fl Yd_gjalek* Bgo]n]j( lak kgmd\fl e]Yf lYl ;nag)
eYjc _an]k Z]ll]j h]j^gjeYf[] j]kmdl( al ak ]hfg T XTaf bY XTfhe\aZ cXeYbeTaVX Tg[XTg\)
VT__l( Yf\ lmk o]f e]Ykmjaf_ h]j^gjeYf[]( gf] kgmd\ kla[c lg ]al]j ;mlgeYjc} gj
;nageYjc Yf\ [gehYj] j]kmdlk af bmkl lYl eYff]j*
Aviomark vs. Automark for Cache Locking (WRITETHROUGH)
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%

Cache Normal
Data Locked
Instructions Locked
I & D Locked
No Cache

Figure 5-21: Aviomark vs. Automark for cache locking in write-through case

87

Results: AMCC PPC440EPx

Aviomark vs. Automark for Cache Locking (COPYBACK)


100%
Cache Normal

80%

Data Locked

60%

Instructions Locked

40%

I & D Locked

20%

No Cache

0%

Figure 5-22: Aviomark vs. Automark for cache locking in copy-back case
Performance with Software FP as Percentage of Hardware FP
(All Benchmarks)
100%
80%

Aviomark-MotorC

60%

Automark
Aviomark-HighLift

40%
20%
0%
NoC

WTH

CBH

Figure 5-23: Relative performance loss of the three main configurations with software FP

J]j[]flY_] g^ h]j^gjeYf[] dgkk af ;nageYjc Ba_F ak egj] af [ghq)ZY[c lYf ojal])


ljgm_ o]f o] koal[ ^jge Yj\oYj] [g)hjg[]kkgj lg kg^loYj] ]emdYlagf %0," af =ghq)
ZY[c Yf\ //" af Qjal])ljgm_&* Cf Gglgj= [Yk]( l] \a^^]j]f[] Z]lo]]f h]j^gjeYf[] dgkk
af ojal])ljgm_ Yf\ [ghq)ZY[c oa\]fk( .3" af [ghq)ZY[c Yf\ --" af ojal])ljgm_(
go]n]j Ba_F ak q]l egj] k]fkalan] lg koal[af_ ^jge BQ lg MQ @J*
5.1.4.5.

Conclusions

J]j^gjeYf[] j]kmdlk Yj] gZlYaf]\ Yk ]ph][l]\ Z]^gj] ]p][mlaf_ l] k[jahlk* ;k ]p)


h][l]\( l] Z]kl [gf^a_mjYlagf af l]jek g^ h]j^gjeYf[] ak ^gmf\ Yk =<B* Qjal])ljgm_
_an]k Z]ll]j \]l]jeafake lYf =ghq)ZY[c Zml al ak 0," kdgo]j af al]jYlagfk+k][ ZYkak* Nak
ak kgof af >\ZheX 1).0( o]j] Ydd l] [gf^a_mjYlagf h]j^gjeYf[]k Yj] ]phj]kk]\ af h]j[]f)
lY_] g^ l] a_]kl h]j^gjeYf[]*
Q]f [Y[] e]egjq ak [gehd]l]dq \akYZd]\( lak j]kmdlk af l] hggj]kl h]j^gjeYf[]
oal YZgml 51" h]j^gjeYf[] dgkk* @mjl]jegj]( l] nYdm] gZlYaf]\ mkaf_ ;mlgeYjc}
%051& ak YZgml -0" dgo]j lYf l] g^^a[aYd nYdm] _an]f Zq ??G<= gj_YfarYlagf gf l]aj
o]Zkal] %131&* Nak ak \m] lg l] hgl]flaYd \a^^]j]f[] Z]lo]]f [gf^a_mjYlagfk( ]kh][aYddq l]
dg[caf_ Yf\ ojal] hgda[a]k( Yk o]dd Yk [gehad]j ghlaearYlagf l][faim]k( oa[ ak fgl af)
88

Results: AMCC PPC440EPx

[dm\]\ af lak l]kak* Cl ak fgl hgkkaZd] lg cfgo l] ]pY[l [gf^a_mjYlagf ??G<= mk]k lg
]p][ml] l]aj gof l]klk( Zml o] [Yf kYq lYl l] j]kmdlk Yj] ^Yajdq kaeadYj*
Cf Zgl Ba_ Fa^l Yf\ Gglgj =gfljgd( 222)-22 GBr [gf^a_mjYlagf _an]k Z]ll]j h]j)
^gjeYf[] lYf 1//)-// GBr [gf^a_mjYlagf oal gj oalgml Yj\oYj] [g)hjg[]kkgj*
@afYddq( o] k]] lYl ;nageYjc oal Gglgj =gfljgd ak l] d]Ykl Y^^][l]\ o]f egnaf_
^jge Yj\oYj] lg kg^loYj] @J7 o]j]Yk ;nageYjc oal Ba_ Fa^l ak l] egkl Y^^][l]\ o]f
mkaf_ Mg^loYj] @J afkl]Y\ g^ Yj\oYj] @J( ]n]f egj] Y^^][l]\ lYf ;mlgeYjc}*

Figure 5-24: PPC440EPx configurations from lowest to highest performance


(Automark 666/166 MHz)

89

Results: Freescale MPC5554

5.2. Freescale MPC5554


;k af JJ=00,?Jp( Y^l]j \][a\af_ oa[ j]_akl]jk Yj] ka_fa^a[Yfl ^jge h]j)
^gjeYf[] h]jkh][lan]( o] ]f\]\ mh oal Y lglYd g^ 0, k]lmh k[jahlk Yf\ ]p][ml]\
l]e af l] @j]]k[Yd] GJ=1110 hjg[]kkgj [gj]* KTU_X / kgok ]n]jq k]lmh k[jahl
Ydgf_ oal Y Zja]^ [gehYjakgf g^ l] hYjYe]l]jk mk]\ af ]Y[ k[jahl*
If l] [gfljYjq lg l] JJ=00,?Jp( l] GJ=1110 [gj] \g]k fgl kmhhgjl
kg^loYj] ]emdYlagf g^ ^dgYlaf_ hgafl gh]jYlagfk( lmk km[ akkm] oYk fgl lYc]f aflg
[gfka\]jYlagf oad] ]nYdmYlaf_ l] GJ=1110 [gj]* <]ka\]k( ]n]f jmffaf_ oal
Yj\oYj] [ghjg[]kkgj @JO( GJ=1110 Yk kmhhgjl ^gj gfdq kaf_d])hj][akagf mfdac]
l] JJ=00,?Jp*
;k [Yf Z] k]]f ^jge KTU_X / Z]dgo( l]j] ]pakl \a^^]j]f[]k Z]lo]]f l] hY)
jYe]l]jk [gk]f ^gj h]j^gjeYf[] hgafl g^ na]o Z]lo]]f JJ=00,?Jp Yf\
GJ=1110* ?p[]hl ZjYf[ hj]\a[lagf ]fYZd]+\akYZd] Yf\ ojal] hgda[q hYjYe])
l]jk( o] \g fgl Yn] Yfq g^ l] JJ=00,?Jp hYjYe]l]jk af GJ=1110* Q] ^g[mk
egj] gf Zm^^]jk afkl]Y\* L]_Yj\af_ ZjYf[ hj]\a[lagf( afkl]Y\ g^ l] <N;= af
00,?Jp( o] Yn] Y <N< aehd]e]flYlagf lak lae]*

Table 3: Configuration scripts for the Freescale MPC5554 processor

;k af 00,?Jp( l] k[jahlk Yj] \ana\]\ aflg log eYaf [Yl]_gja]k \]h]f\af_


gf o]l]j l]q mk] ojal])ljgm_ gj [ghq)ZY[c ojal] hgda[q* N]k] [Yf Z] k]]f
90

Results: Freescale MPC5554

^jge l] Z]_affaf_ g^ l] fYe] g^ l] k[jahlk( o]j] QN \]fgl]k l] ^gje]j Yf\


=< \]fgl]k l] dYll]j lqh] g^ hgda[q* Nak ak ^gddgo]\ Zq Y d]ll]j oa[ \]fgl]k
o]l]j ZjYf[ hj]\a[lagf ak ]fYZd]\ %<-& gj \akYZd]\ %<,& Yf\ lj]] Zalk( oa[
af\a[Yl]k l] klYlmk g^ hmk Zm^^]jk( klgj] Zm^^]jk Yf\ klj]Yeaf_ %l]k] l]jek oadd Z]
]phdYaf]\ af egj] \]lYad af l] f]pl k][lagf&* Cf gj\]j lg gZk]jn] l] aehY[l g^
]Y[ hYjYe]l]j( o] mk] Ydd l] <ggd]Yf [geZafYlagfk g^ l] / Zalk Ydlgm_ al [gklk
jmffaf_ .p.p1 8., egj] [geZafYlagfk*
Ng kme mh( l] hYjYe]l]jk o] Yn] \]l]jeaf]\ Yk h]j^gjeYf[])aehY[laf_
Yj] l] GJ=1110 [gj]k klgj] <m^^]j( Jmk <m^^]j( Mlj]Yeaf_( <jYf[ NYj_]l <m^)
^]j %<N<& Yf\ ojal] hgda[q j]kh][lan]dq* ; Zja]^ ]phdYfYlagf g^ l] aehY[l g^ ]Y[
hYjYe]l]j ak ]phdYaf]\ af l] ^gddgoaf_ k][lagfk*
5.2.1.
5.2.1.1.

Performance Parameters
Branch Target Buffer (BTB)

Cf gj\]j lg j]kgdn] ZjYf[ afkljm[lagfk Yf\ aehjgn] l] Y[[mjY[q g^ ZjYf[


hj]\a[lagfk Yf\ lg j]\m[] [gkl Yf\ hgo]j( l] ].,,r2 [gj] af GJ=1110 Cfkljm[)
lagf Ofal %CO& af[dm\]k Y <jYf[ Jjg[]kkaf_ Ofal %<JO& oal Y \]\a[Yl]\ ZjYf[
Y\\j]kk Y\\]j Yf\ Yf 4)]fljq ZjYf[ lYj_]l Zm^^]j %<N<& oa[ h]j^gjek ZjYf[
lYj_]l hj]^]l[af_ Yf\ kmhhgjlk kaf_d])[q[d] ]p][mlagf g^ km[[]kk^mddq hj]\a[l]\
ZjYf[]k U-./W*
; <N< ]fljq ak Yddg[Yl]\ o]f]n]j Y ZjYf[ j]kgdn]k Yk lYc]f Yf\ l] <N<
ak ]fYZd]\* <jYf[]k lYl Yn] fgl Z]]f Yddg[Yl]\ Yj] YdoYqk hj]\a[l]\ Yk fgl lYc)
]f* <N< ]flja]k Yj] Yddg[Yl]\ gf lYc]f ZjYf[]k mkaf_ Y @C@I j]hdY[]e]fl Yd_g)
jale U-./W*
N] ].,,r2 [gj] \g]k fgl aehd]e]fl l] klYla[ ZjYf[ hj]\a[lagf lYl ak
\]^af]\ Zq l] Jgo]jJ= <ggc ? Yj[al][lmj]* Q]f <N< hj]\a[lagf \akYZd]\( fg
alk Yj] _]f]jYl]\ ^jge l] <N< Yf\ fg f]o ]flja]k Yj] Yddg[Yl]\*
5.2.1.2.

Streaming

C)[Y[] eakk]k [Yf Z] j]\m[]\ Zq Zjaf_af_ egj] lYf gf] [gfk][mlan]


e]egjq Zdg[c gf Y eakk* Cfkl]Y\ g^ hmllaf_ Y\\alagfYd mfj]im]kl]\ Zdg[ck aflg
[Y[]( l]q Yj] hdY[]\ af afkljm[lagf klj]Ye Zm^^]jk a^ klj]Yeaf_ ak mk]\* N] kYe]
[Yf Z] Yhhda]\ lg >)[Y[] oal \YlY klj]Ye Zm^^]jk Ynaf_ kaeadYj ^mf[lagf Yk
afkljm[lagf klj]Ye Zm^^]jk* Bgo]n]j( l]j] ak fgl Yfq \]lYad]\ af^gjeYlagf YZgml
go klj]Yeaf_ e][Yfake ogjck af l] GJ=1110 [gj]( lmk l] ]nYdmYlagf g^
lak hYjYe]l]j oadd Z] imal] ]ph]jae]flYd*
5.2.1.3.

Store Buffer

;k ]phdYaf]\ af k][lagf .*2*--( Jgo]jJ= Yj[al][lmj] j]fYe]k ojal] Zm^^]jk


Yk klgj] Zm^^]jk* Cf Y =JO [gj] lYl Yk klgj] Zm^^]jk( klgj] gh]jYlagfk Yj] fgl
ojall]f \aj][ldq lg hjaeYjq e]egjq Zml afkl]Y\ Zm^^]j]\ kg lYl km[[]]\af_ [Y[]
^add gh]jYlagfk [Yf ]p][ml] af Y hah]daf]\ ^Ykagf oalgml Ynaf_ lg oYal ^gj klgj](
lmk aehjgnaf_ h]j^gjeYf[] ka_fa^a[Yfldq*
Ng eYpaear] h]j^gjeYf[]( l] ].,,r2 [gj] g^ GJ=1110 aehd]e]flk Y
klgj] Zm^^]j oa[ [gflYafk Y @C@I lYl [Yf \]^]j h]f\af_ ojal] eakk]k gj ojal]k
91

Results: Freescale MPC5554

eYjc]\ Yk ojal])ljgm_ Yf\ [Yf Zm^^]j Yk eYfq Yk 4 ogj\k %/. Zql]k& ^gj lak
hmjhgk] U-./W*
Q]f l] klgj] Zm^^]j ak ]fYZd]\ Yf\ l] hjg[]kkgj h]j^gjek Y ojal] lg Y
Zm^^]jYZd] Yj]Y( [Y[]YZd] klgj] gh]jYlagfk lYl eakk l] [Y[] gj Yj] eYjc]\ Yk
ojal] ljgm_ Yj] hdY[]\ af l] klgj] Zm^^]j( Yf\ l] =JO Y[[]kk ak l]jeafYl]\
oad] =JO [gflafm]k ]p][mlagf* N] ojal] Zm^^]j l]f h]j^gjek l] ]pl]jfYd ojal]
af hYjYdd]d oal l] f]pl afkljm[lagf =JO ak lg ]p][ml]* C^ l] klgj] Zm^^]j ak ^mdd
%]al]j Z][Ymk] l]j] Yj] Ydj]Y\q 4 ogj\k g^ \YlY af l] Zm^^]j gj Z][Ymk] l]j] ak
fg kdgl ^gj l] f]o Y\\j]kk& l]f l] hjg[]kkgj ak klYdd]\ mflad l]j] ak km^^a[a]fl
khY[] af l] Zm^^]j* C^ l] ojal] Zm^^]j ak \akYZd]\ gj l] =JO h]j^gjek Y ojal] lg
Yf mfZm^^]jYZd] Yj]Y U-..W( l] hjg[]kkgj ak klYdd]\ mflad l] ojal] Zm^^]j ]ehla]k
Yf\ l] ojal] [gehd]l]k ]pl]jfYddq( oa[ eYq j]imaj] kqf[jgfarYlagf Yf\ k]n]jYd
]pl]jfYd [dg[c [q[d]*
N] klgj] Zm^^]j ak YdoYqk ]ehla]\ Z]^gj] Y [Y[] daf] hmk lg Ynga\ e]eg)
jq [gfkakl]f[q akkm]k* N] klgj] Zm^^]j ak YnYadYZd] ]n]f a^ l] [Y[] ak \akYZd]\
U-..W*
5.2.1.4.

Push Buffer

L][Yddaf_ ^jge k][lagf .*2*--*( eYaf e]egjq j]Y\ [q[d] [Yf Z] afalaYl]\ \a)
j][ldq mhgf Y j]Y\ eakk* ;l l] kYe] lae] oad] [Y[] ak oYalaf_ j]khgfk] ^jge
eYaf e]egjq( l] ]na[l]\ daf] ak dgY\]\ aflg Yf gml_gaf_ ojal] Zm^^]j( [Ydd]\ hmk
Zm^^]j af Jgo]jJ= Yj[al][lmj]* ;k kggf Yk eYaf e]egjq \YlY ak YnYadYZd] Yf\
]na[l]\ daf] ak [gehd]l]dq [gha]\ lg ojal] Zm^^]j( eYaf e]egjq \YlY ak ^gjoYj\]\
lg =JO Yf\ [gha]\ aflg [Y[] Yk daf] j]hdY[]e]fl kaemdlYf]gmkdq* If[] l] j])
hdY[]e]fl ak [gehd]l]( =JO [Yf [gflafm] lg gh]jYl] oal [Y[] oad] ojal] Zm^^]j
[gha]k alk [gfl]flk lg eYaf e]egjq af l] ZY[c_jgmf\* Mm[ ^]Ylmj] [Yf aehjgn]
h]j^gjeYf[]
Cf Y\\alagf lg klgj] Zm^^]jk( l] ].,, [gj] g^ GJ=1110 Ydkg aehd]e]flk
hmk Zm^^]jk( oa[ j]\m[] dYl]f[q ^gj j]im]kl]\ f]o \YlY gf Y [Y[] eakk Zq
l]ehgjYjadq gd\af_ \akhdY[]\ eg\a^a]\ \YlY oad] l] f]o \YlY ak ^]l[]\ ^jge
e]egjq* Cl [gflYafk /. Zql]k g^ klgjY_] %gf] \akhdY[]\ [Y[] daf]&*
C^ Y [Y[] eakk \akhdY[]k Y eg\a^a]\ daf] Yf\ l] hmk Zm^^]j ak ]fYZd]\( l]
daf])^add j]im]kl ak aee]\aYl]dq ^gjoYj\]\ lg l] ]pl]jfYd Zmk* Qad] oYalaf_ ^gj
l] j]khgfk]( l] [mjj]fl [gfl]flk g^ l] eg\a^a]\ [Y[] daf] Yj] hdY[]\ aflg l]
hmk Zm^^]j* Ohgf [gehd]lagf g^ l] daf])^add ljYfkY[lagf %Zmjkl j]Y\&( l] [Y[]
[gfljgdd]j _]f]jYl]k l] YhhjghjaYl] Zmjkl ojal] Zmk ljYfkY[lagf lg ojal] l] [gf)
l]flk g^ l] hmk Zm^^]j aflg e]egjq U-..W*
Cf l] \akYZd]\ hmk Zm^^]j [Yk]( eg\a^a]\ daf] j]hdY[]e]fl ak h]j^gje]\ Zq
^ajkl _]f]jYlaf_ Y Zmjkl ojal] ljYfkY[lagf( [ghqaf_ gml l] ]flaj] eg\a^a]\ daf]
klYjlaf_ oal l] \gmZd] ogj\ af l] eg\a^a]\ daf] [gjj]khgf\af_ lg l] eakk]\
Y\\j]kk* Ohgf [gehd]lagf g^ l] eg\a^a]\ daf] ojal] U-..W( Y daf] ^add ak j]im]kl]\
Z]_affaf_ oal l] [jala[Yd \gmZd] ogj\ %eakk Y\\j]kk&7 l] hjg[]kkgj l]jeafYlagf
ak oal]d\ mflad l] klgj] Zm^^]j ak ^dmk]\ g^ Ydd ]flja]k( l] hmk Zm^^]j ak ]eh)
la]\( Yf\ l] klgj] [gehd]l]k lg e]egjq*

92

Results: Freescale MPC5554


5.2.2.

Determinism

;k af 00,?Jp( o] Y_Yaf mk] l] \]l]jeafake d]n]dk( oa[ af\a[Yl] go


\]l]jeafakla[ ]Y[ [gf^a_mjYlagf ak \]h]f\af_ gf l] k]llaf_ g^ hYjYe]l]jk ]p)
hdYaf]\* %L][Ydd lYl l] a_]j l] \]l]jeafake d]n]d ak( l] egj] \]l]jeafakla[
lYl [gf^a_mjYlagf ak&*
Cf gj\]j lg Yn] Y [d]Yj mf\]jklYf\af_ g^ l] \]l]jeafake d]n]dk( o] ]e)
hYkar] l] ^gddgoaf_ hgaflk af l] GJ=1110 [Yk]6
a*
aa*
aaa*

>akYZdaf_ l] [Y[] ]flaj]dq qa]d\k Z]kl \]l]jeafake


Qjal])ljgm_ ak YdoYqk egj] \]l]jeafakla[ lYf [ghq)ZY[c
<jYf[ Jj]\a[lagf \]_jY\]k \]l]jeafake

N]k] lj]] hgaflk Yj] l] kYe] Yk af 00,?Jp* Cf Y\\alagf lg l]k]( o] fgo


[ge] mh oal log egj] hgaflk6
an*

Mlj]Yeaf_ \]_jY\]k \]l]jeafake

<q mladaraf_ klj]Yeaf_( o] Y[lmYddq af[j]Yk] l] afngdn]e]fl g^ [Y[] e]e)


gjq af l] gn]jYdd e]egjq a]jYj[q Z][Ymk] Zq \gaf_ kg o] Ynga\ l] Y[[]kk]k lg
hjaeYjq e]egjq Yk em[ Yk hgkkaZd]* Cf lak eYff]j( klj]Yeaf_ [Yf Z] lgm_l Yk
l] ghhgkal] g^ [Y[] dg[caf_( o]j] o] \][j]Yk] l] afngdn]e]fl g^ [Y[] Yf\
af[j]Yk] hjaeYjq e]egjq Y[[]kk]k* Maf[] o] [Yf f]n]j Z] -,," kmj] lYl l] j])
imaj]\ \YlY ogj\ ak af l] [Y[] gj fgl ZYk]\ gf l] ^Y[l lYl ogjcaf_ g^ [Y[]
j]da]k gf hjgZYZadakla[ eYff]j g^ Zm^^]jaf_ egkl j][]fldq mk]\ e]egjq ogj\k(
klj]Yeaf_ oadd \]_jY\] \]l]jeafake af l] kqkl]e*
n*

Mlgj] Yf\ Jmk <m^^]jk eYq \]_jY\] \]l]jeafake

Mlgj] Yf\ hmk Zm^^]jk Yj] aehd]e]fl]\ lg Y[a]n] a_ h]j^gjeYf[] af l]


=JO ea[jg)Yj[al][lmj]* N]aj ogjcaf_ hjaf[ahd] j]dq gf l] ZYka[ \YlY Zm^^]jaf_
a*]* Y keYdd Yf\ mkmYddq ^mddq)Ykkg[aYlan] e]egjq mk]\ lg l]ehgjYjadq gd\ \YlY
oad] al ak Z]af_ egn]\ ^jge gf] hdY[] lg Yfgl]j* Nmk( al gfdq kh]]\k mh l]
egn]e]fl hjg[]kk Z]lo]]f l] log hdY[]k( kg al \g]k fgl Y^^][l l] gn]jYdd \]l]j)
eafake*
Bgo]n]j( l]j] ak Y jakc g^ e]egjq [g]j]f[q Zq aehd]e]flaf_ km[ Zm^)
^]jk* ;fgl]j hjgZd]e ak lYl ojal])ljgm_ [Y[]k eYq af\m[] L;Q [gf^da[lk
oal eYaf e]egjq j]Y\k gf [Y[] eakk]k* C^ l] dgY\ gh]jYlagf lYl ]p][ml]k af
hYjYdd]d gj Y^l]j l] klgj] gh]jYlagf ^afak]k Z]^gj] l] [gfl]flk g^ l]k] Zm^^]jk
Yn] Z]]f [gha]\ lg hjaeYjq e]egjq( lYf l] =JO oadd _]l l] klYd] \YlY af hja)
eYjq e]egjq( oa[ ak fgl q]l mh\Yl]\ Zq l] klgj] gh]jYlagfk oa[ eYq d]Y\ lg
hgl]flaYd hjgZd]ek ]kh][aYddq a^ l] Yhhda[Ylagf ak Y Yj\ j]Yd)lae] kY^]lq)[jala[Yd
Yhhda[Ylagf( km[ Yk l] eglgj [gfljgd Yf\ a_ da^l Yhhda[Ylagfk o] [gn]j af lak
l]kak* Nmk( ]n]f lgm_ l]q af[j]Yk] h]j^gjeYf[]( l]q eYq Z] hj]^]jj]\ lg Z]
\akYZd]\ ^gj k][mjalq hmjhgk]k*
;k ]phdYaf]\ af k][lagf -*0*( \YlY [g]j]f[q hjgZd]ek Yj] gf] g^ l] lj]]
eYbgj ^Y[lgjk lYl \]_jY\] \]l]jeafake af Y kqkl]e* Q] [Yffgl cfgo af Y\nYf[]
o]l]j l]j] oadd Z] km[ hjgZd]e ^gj kmj] gj fgl( Z][Ymk] al ak [gehd]l]dq jYf)
\ge hjgZYZadalq lYl l] dgY\k oadd ^afak Z]^gj] klgj]k( lmk o] [gf[dm\] lYl klgj]
Yf\ hmk Zm^^]jk oadd hjgZYZdq \]_jY\] \]l]jeafake*
93

Results: Freescale MPC5554

Figure 5-25: Determinism Levels in MPC5554

;k [Yf Z] k]]f ^jge YZgn]( l] ogjkl h]j^gjeYf[] [gf^a_mjYlagf oal [Y[]


lmjf]\ g^^ %Ydd l] Zm^^]jk # ZjYf[ hj]\a[lagf Ydkg lmjf]\ g^^& _an]k Y[lmYddq l]
Z]kl \]l]jeafake* Nak hgjljYqk l] ljY\])g^^ Z]lo]]f \]l]jeafake Yf\ h]j^gj)
eYf[] n]jq [d]Yjdq*

94

Results: Freescale MPC5554


5.2.3.
5.2.3.1.

Performance
Automark
Increase of Performance with Buffers and BTB (Automark )

33,03%
35%
28,58%
30%
25%
20,52%
20%
15%
10%
1,25%
5% 0,22%
0,00% 0,00% 0,00%
0,00% 0,00%
0,00%
0%
-0,68%
-5%

PUSH BUFFER

STORE BUFFER

STREAMING

CopyBack
WriteThrough
NoCache

BTB

Figure 5-26: Increase of Performance with buffers, streaming and BTB (Automark)

Cf >\ZheX 1).2( nYdm]k Yj] ]phj]kk]\ af h]j[]flY_]k( ," af\a[Yl]k l] h]j)


^gjeYf[] g^ l] [gf^a_mjYlagf %=ghq<Y[c( Qjal]Njgm_ gj Hg=Y[]& oalgml
Yfq Zm^^]j gj <N<( lmk l] h]j[]flY_]k kgof af l] ^a_mj] Yj] nYjaYlagfk j]dYl]\
lg lak nYdm]*
;k [Yf Z] k]]f ^jge YZgn]( klgj] Zm^^]j kgok l] egkl af[j]Yk] af h]j^gj)
eYf[] af Zgl [ghq)ZY[c Yf\ ojal])ljgm_ [gf^a_mjYlagfk( oa[ ak Yk ]ph][l]\*
If l] gl]j Yf\( Jmk Zm^^]j Yk Y n]jq keYdd af^dm]f[] af [ghq)ZY[c [gf^a_mjY)
lagf Yf\ fgl Yl Ydd af ojal])ljgm_ %oa[ ak Yk ]ph][l]\&* Nak ak hjgZYZdq Z])
[Ymk] l] [Y[] daf]k Yj] mk]\ g^l]f Zq l] =JO kg l]q Yj] fgl Y[lmYddq ]na[l]\
^jge [Y[]( kaf[] hmk Zm^^]j gd\k ]na[l]\ \ajlq daf]k* <]ka\]k( l] Yd_gjalek Yj]
hjgZYZdq mkaf_ klgj]k egj] ]Ynadq lYf dgY\k( lYl ak oq hmk Zm^^]jk Yn] em[
d]kk ]^^][l lYf klgj] Zm^^]jk* @mjl]jegj]( klgj] Zm^^]j Yk Y _j]Yl]j kar] lYf l]
hmk Zm^^]j %4 ]flja]k afkl]Y\ g^ gfdq -&* Q] \g fgl cfgo l] \]lYad]\ \YlY ^dgo af
e]egjq a]jYj[q kg o] [Yf gfdq _m]kk* Q] Z]da]n] lYl hmk Zm^^]j kYdd Y^^][l
h]j^gjeYf[] egj] af Y \YlY) afl]fkan] j]Yd Yhhda[Ylagf* Mlj]Yeaf_( gf l] gl]j
Yf\( ak fgl kgoaf_ Yfq ]^^][l af h]j^gjeYf[] af Yfq g^ l] [gf^a_mjYlagfk*
@j]]k[Yd] \g]k fgl _an] ^mjl]j \]lYadk YZgml l] klj]Yeaf_ e][Yfake Yf\ go al
ak aehd]e]fl]\ af l] ].,, [gj]( lmk o] [Yffgl eYc] ]Ydlq [gf[dmkagfk j]_Yj\)
af_ l] af^dm]f[] g^ klj]Yeaf_ af h]j^gjeYf[]*
;f afl]j]klaf_ [gf[dmkagf ak l] \]_jY\af_ ]^^][l g^ Zm^^]jk gf h]j^gjeYf[]
o]f [Y[] ak lmjf]\ g^^* Mm[ h]fge]fgf g[[mjk af l] [Yk] o]j] l] afkljm[)
lagf ^dgo [gflYafk [gfk]im]fl klgj] gh]jYlagfk Yf\ l] [Y[] ak \akYZd]\( kg fgo
l]q oadd Yn] lg oYal af l] ojal] Zm^^]jk @C@I im]m] ]n]f lgm_ afkl]Y\ g^
Z]af_ ojall]f \aj][ldq lg hjaeYjq e]egjq* Nak ]phdYafk l] f]_Ylan] ka_f g^ l]
h]j^gjeYf[] aehjgn]e]fl oal [Y[] lmjf]\ g^^ oad] klgj] Zm^^]jk Yj] gf*
<N< kgok af^dm]f[] af h]j^gjeYf[] gf [ghq)ZY[c Yf\ ojal])ljgm_ [gf)
^a_mjYlagfk Yk l] <N;= af 00,?Jp Yf\ j]kmdlk af l] a_]kl aehY[l gf Hg
=Y[] [gf^a_mjYlagf*
Cl ak afl]j]klaf_ lg e]flagf lYl Y [geZafYlagf g^ Zm^^]jk Yf\ <N< \g fgl
f][]kkYjadq Y\\ mh lg h]j^gjeYf[] o]f [geZaf]\( af ^Y[l klgj] Zm^^]j \][j]Yk]k
95

Results: Freescale MPC5554

h]j^gjeYf[] o]f [Y[] ak \akYZd]\( Yk ]phdYaf]\ Z]^gj]* Nak ak Z][Ymk] l] hmj)


hgk] g^ mkaf_ klgj] Zm^^]jk ak lg a\] l] [Y[] gh]jYlagf ^jge eYaf e]egjq
Y[[]kk* Hgo( \YlY [geaf_ ^jge =JO kYdd Z] mff][]kkYjadq Zm^^]j]\ af Y @C@I*
;dlgm_ ]*_* [gfk]im]fl klgj]k [gmd\ Z] h]j^gje]\ kaemdlYf]gmkdq( fgo l]q
Yn] lg oYal af l] @C@I im]m]( oYklaf_ lae] Yf\ h]j^gjeYf[]* @mjl]jegj]( Y
[geZafYlagf g^ klgj] Yf\ hmk Zm^^]jk \g fgl kme mh Yjale]la[Yddq Zml l]aj h]j)
^gjeYf[] af[j]Yk]k %]*_* af ojal])ljgm_ [Yk] kaf[] hmk Zm^^]jk( Zq gh]jYlagf
f]n]j Y^^][l ojal])ljgm_ Y[[]kk]k&*
Automark from Lowest to Highest configuration
80
70
60
50
40
30
20
10
0

69,71

28,28

21,46
2,19

69,88

2,64

NoCache
NoC+ BTB
+ WT
+ Store B.
+ CB
+ Push B.

configuration

Figure 5-27: A detailed look into the effect of buffers and BTB by using the
Automark grades
Automark from Lowest to Highest in percentage
120%
100%
80%
60%
40%
20%
0%

30,70%
3,13%

99,74%

100,00%

+ CB

+ Push
B.

40,46%

3,77%

NoCache NoC+
BTB

+ WT

+ Store
B.

NoCache
NoC+ BTB
+ WT
+ Store B.
+ CB
+ Push B.

configuration

Figure 5-28: A detailed look into the effect of buffers and BTB by using Automark
grades as a percentage compared to the highest performance configuration

N] _jYhk YZgn] kgo l] j]dYlan] h]j^gjeYf[] \a^^]j]f[] Z]lo]]f [gf^a)


_mjYlagfk( af Yf Yk[]f\af_ gj\]j Yegf_ Ydd [gf^a_mjYlagfk* Cf lak gj\]j( Zm^^]jk
Yf\ ojal] hgda[q Yj] k]l af Yf Yk[]f\af_ oYq* <]kl [gf^a_mjYlagf ak Y_Yaf [ghq)
ZY[c7 oal Ydd Zm^^]jk Yf\ <N< gf( oa[ Yk Yf ;mlgeYjc} k[gj] g^ 25*44*
??G<= o]Zkal] \g]k fgl kgo j]kmdlk ^gj lak kh][a^a[ hjg[]kkgj( l] [dgk]kl gf]
lg lak ak l] 111( ^jge l] 11p ^Yeadq( oa[ Yk Yf ;mlgeYjc} k[gj] g^ -2* N]
96

Results: Freescale MPC5554

jYlag %0*0& eYl[]k l] g^^a[aYd nYdm]k ^jge @j]]k[Yd] GJ=11pp ^Yeadq \YlYk]]l
o]j] jYlag ak YZgml 1*
Cf ojal])ljgm_ [gf^a_mjYlagf( l] h]j^gjeYf[] ak /," g^ l] a_]kl h]j)
^gjeYf[] [ghq)ZY[c [gf^a_mjYlagf* Nak af[j]Yk]k mh lg 0," o]f l] Zm^^]jk Yf\
<N< Yj] Y[lanYl]\* N] aehY[l g^ ojal])hgda[q ak em[ egj] af 1110 %2," d]kk af
ojal])ljgm_ oal klgj] Zm^^]jk& lYf af 00,?Jp %0," d]kk af ojal])ljgm_ oal
klgj] Zm^^]jk&* ?fYZdaf_ <N< aehjgn]k Hg =Y[] Zq .,"*
5.2.3.2.

Aviomark

Increase of Performance with Buffers and BTB (Aviomark HighL)


40%
33,26% 36,48%
35%
30%
25%
20%
15%
8,49%
10%
3,23%
1,34%
5% 0,06% 0,00% 0,00%
0,00% 0,00% 0,00%
0%
-0,30%
-5%

PUSH
BUFFER

STORE
BUFFER

STREAMING

CopyBack
WriteThrough
NoCache

BTB

Figure 5-29: Increase of Performance with buffers, streaming and BTB


(Aviomark HighL)
Increase of Performance with Buffers and BTB (Aviomark MotorC )

45%
38,59%
40%
33,71%
35%
30%
25%
20%
15%
6,77%
10%
2,92%
1,24%
5% 0,04% 0,00% 0,00%
0,00% 0,00% 0,00%
0%
-0,27%
-5%

PUSH
BUFFER

STORE
BUFFER

STREAMING

CopyBack
WriteThrough
NoCache

BTB

Figure 5-30: Increase of Performance with buffers, streaming and BTB


(Aviomark MotorC)

97

Results: Freescale MPC5554

Aviomark HighLift from Lowest to Highest configuration


200
180
160
140
120
100
80
60
40
20
0

177,91

178,03

NoCache
NoC+ BTB

4,73

+ WT

81,28

60,14

+ Store B.
+ CB

5,13

+ Push B.

configuration

Figure 5-31: A detailed look into the effect of buffers and BTB by using the Aviomark
HighL grades
Aviomark HighLift from Lowest to Highest in percentage
120%
100%
80%
60%
40%
20%
0%

99,93% 100,00%

33,78%
2,66%

2,88%

NoCache

NoC+
BTB

45,66%

+ WT

+ Store
B.
configuration

+ CB

NoCache
NoC+ BTB
+ WT
+ Store B.
+ CB
+ Push B.

+ Push B.

Figure 5-32: A detailed look into the effect of buffers and BTB by using Aviomark
HighL grades as a percentage compared to the highest performance configuration
Aviomark MotorC from Lowest to Highest configuration
300
250
200
150
100
50
0

242,05

85,62
6,07

117,56

242,17

NoCache
NoC+ BTB
+ WT
+ Store B.
+ CB
+ Push B.

6,48

configuration

Figure 5-33: A detailed look into the effect of buffers and BTB by using the
Aviomark MotorC grades
98

Results: Freescale MPC5554

Aviomark MotorC from Lowest to Highest in percentage


120%
100%
80%
60%
40%
20%
0%

99,95% 100,00%

NoCache
NoC+ BTB

35,35%
2,51%

+ WT

48,54%

+ Store B.
+ CB

2,68%

+ Push B.
NoCache NoC+
BTB

+ WT

+ Store
B.

+ CB

+ Push
B.

configuration

Figure 5-34: A detailed look into the effect of buffers and BTB by using Aviomark
MotorC grades as a percentage compared to the highest performance configuration
5.2.3.2.1.

General Conclusions

Qal [Y[] lmjf]\ gf( klgj] Zm^^]jk Yn] kda_ldq egj] ]^^][l af ;nageYjc
lYf af ;mlgeYjc} %Gglgj=9 Ba_F&* Qal [Y[] lmjf]\ g^^( klgj] Zm^^]jk Y[)
lmYddq \]_jY\] h]j^gjeYf[]( oal h]j^gjeYf[] dgkk loa[] af ;mlgeYjc} lYf
;nageYjc* Bgo]n]j( l] h]j[]flY_] g^ h]j^gjeYf[] dgkk ak Z]dgo -"( lmk o] [Yf
kYq lYl l] \]_jY\af_ ]^^][l g^ klgj] Zm^^]jk ak Ydegkl f]_da_aZd] af Zgl ;nageYjc
Yf\ ;mlgeYjc} oal [Y[] lmjf]\ g^^( Yf\ ;nageYjc _jY\] gfdq aehjgn]k naY
<N< oal [Y[] lmjf]\ g^^*
Qal l] [Y[] lmjf]\ g^^( <N< Yk l] em[ egj] af^dm]f[] gf h]j^gj)
eYf[] af ;mlgeYjc} lYf ;nageYjc* Q]f [Y[] ak lmjf]\ gf( l] af^dm]f[] g^
<N< ak egj] af ;nageYjc lak lae] lYf ;mlgeYjc* Nmk( o] [Yf kYq lYl ZjYf[
hj]\a[lagf af^dm]f[]k ;mlgeYjc} Yf\ ;nageYjc \a^^]j]fldq \]h]f\af_ gf o]l)
]j [Y[] ak gf gj g^^*
Cf ;nageYjc( Z]kl [gf^a_mjYlagf ak kladd [ghq)ZY[c oal Ydd Zm^^]jk Yf\ <N<
gf( oa[ Yk Yf ;nageYjc [g]^^a[a]fl g^ -34*,/ af Ba_F* Nak [g]^^a[a]fl af)
[j]Yk]k lg .0.*-3 af Gglgj=*
C^ o] dggc Yl af^dm]f[] g^ ojal])hgda[q( oal [Y[] lmjf]\ gf Yf\ ojal])
ljgm_( Ydd Z]f[eYjck _an] YhhjgpaeYl]dq kYe] j]kmdlk* Qal [Y[] lmjf]\ gf
Yf\ [ghq)ZY[c( <N< Yk fg ]^^][l gf ;mlgeYjc} %Ba_F9Gglgj=&* Nmk( Z])
Ynagj g^ ;nageYjc \ja^lk ^jge ;mlgeYjc} o]f [ghq)ZY[c [Y[] ak mk]\ Yf\
ojal])hgda[q Ydkg [Yf_]k l] af^dm]f[] g^ ZjYf[ hj]\a[lagf af Y\\alagf lg o]l]j
[Y[] ak gf gj g^^*
5.2.3.2.2.
5.2.3.2.2.1.

Detailed Conclusions
Aviomark HighL

Qal ojal])ljgm_ [gf^a_mjYlagf( l] h]j^gjeYf[] ak /0" g^ l] a_]kl


h]j^gjeYf[] [ghq)ZY[c [gf^a_mjYlagf* Nak af[j]Yk]k mh lg 02" o]f l] Zm^^]jk
Yf\ <N< Yj] Y[lanYl]\* <gl nYdm]k Yj] YZgml 1" a_]j [gehYj]\ lg ;mlg)
99

Results: Freescale MPC5554

eYjc}( a*]* ;nageYjc Ba_F ak d]kk k]fkalan] lg Zm^^]jk Yf\ ojal] hgda[q kaf[] l]
eYjc [Yf_]k d]kk*
Hg =Y[] qa]d\k 53" dgkk g^ h]j^gjeYf[] [gehYj]\ lg [ghq)ZY[c %Ydegkl
kYe] Yk af ;mlgeYjc}& Zml 0/" [gehYj]\ lg ojal])ljgm_ oal klgj] Zm^^]j*
?fYZdaf_ <N< af ;nagjeYjc Ba_F aehjgn]k Hg =Y[] gfdq Zq 4" oalaf alk]d^
Yf\ gfdq ,*.." [gehYj]\ lg l] a_]j h]j^gjeYf[] [gf^a_mjYlagfk* N]k] Yj]
Zgl em[ dgo]j [gehYj]\ lg ;mlgeYjc} a*]* lmjfaf_ l] [Y[] g^^ ]^^][lk ;m)
lgeYjc} Yf\ ;nageYjc Ba_F Ydegkl l] kYe]* Bgo]n]j( af ;mlgeYjc} gf] [Yf
[gf[dm\] lYl al kgok aehjgn]e]fl( lmk gf] Yk lg Z] [Yj]^md o]f k]d][laf_
oa[ k[Yd] lg mk]*
;k [Yf Z] fgla[]\ ^jge l] _jYhk kgof YZgn]( l] Z]kl [gf^a_mjYlagf kladd
j]eYafk [ghq)ZY[c oal Ydd Zm^^]jk Yf\ <N< gf( oa[ Yk Yf ;nageYjc [g]^^a)
[a]fl g^ .0.*-3( oa[ ak l] a_]kl eYjc gZlYaf]\ Yegf_ ;mlgeYjc} Yf\ l]
log ;nageYjck( .2" a_]j lYf Ba_F Yf\ .01" a_]j lYf ;mlgeYjc}*
5.2.3.2.2.2.

Aviomark MotorC

Qal ojal])ljgm_ [gf^a_mjYlagf( l] h]j^gjeYf[] ak /1" g^ l] a_]kl


h]j^gjeYf[] [ghq)ZY[c [gf^a_mjYlagf* Nak af[j]Yk]k mh lg 05" o]f l] Zm^^]jk
Yf\ <N< Yj] Y[lanYl]\* <gl nYdm]k Yj] YZgml 1" a_]j [gehYj]\ lg ;mlg)
eYjc}( Zml ]^^][l g^ Zm^^]jk Yf\ <N< af[j]Yk] Y ^mjl]j /" af Gglgj= [gehYj]\
lg Ba_F*
Hg =Y[] qa]d\k Y_Yaf 53" dgkk g^ h]j^gjeYf[] [gehYj]\ lg [ghq)ZY[c
Zml 04" [gehYj]\ lg ojal])ljgm_ oal klgj] Zm^^]j* If l] gl]j Yf\( ]fYZd)
af_ <N< af ;nageYjc Gglgj= aehjgn]k Hg =Y[] gfdq Zq 3" oalaf alk]d^ Yf\
gfdq aehjgn]k ,*-3" [gehYj]\ lg l] a_]j h]j^gjeYf[] [gf^a_mjYlagfk* N]k]
Yj] Zgl em[ dgo]j [gehYj]\ lg ;mlgeYjc} Yf\ kda_ldq dgo]j lYf Ba_F Ydkg
a*]* lmjfaf_ l] [Y[] g^^ ]^^][lk ;nageYjc Gglgj= kYe] Yk af Ba_F* Bgo]n]j( af
;mlgeYjc} gf] [Yf [gf[dm\] lYl al kgok aehjgn]e]fl( lmk gf] Yk lg Z]
[Yj]^md o]f k]d][laf_ oa[ k[Yd] lg mk]*
5.2.3.3.

Automark vs. Aviomark

Automark and Aviomark for MPC5554


250

242,17

200
178,03
150

117,56

100
50
0

Aviomark (HighLift)

81,28
6,46
5,11

2,57
NC_B1_111

Automark

69,88

Aviomark (motorC)

28,28
WT_B1_111

CB_B1_111

Figure 5-35: Automark and Aviomark comparison of the two best and the worst
configurations in MPC5554
100

Results: Freescale MPC5554

Performance comparison between Automark and Aviomark


120%

100,00% 100,00% 100,00%

100%

Automark

80%
60%

40,46%

40%
20%
0%

Aviomark (HighLift)

45,66% 48,54%

Aviomark (motorC)

3,68% 2,87% 2,67%


NC_B1_111

WT_B1_111

CB_B1_111

configurations

Figure 5-36: Performance comparison in percentage between


Automark and Aviomark

Ng Z] YZd] lg [gehYj] ]Ydladq oal JJ=00,?Jp( o] mk] l] kYe] e])


lg\gdg_q af [gehYjaf_ ;mlgeYjc} Yf\ ;nageYjc a*]* o] [gehYj] l] log Z]kl
[gf^a_mjYlagfk oal ojal])ljgm_ Yf\ [ghq)ZY[c Yf\ l] ogjkl [gf^a_mjYlagf(
fYe]dq Hg=Y[]*
;k l] a_]kl h]j^gjeYf[] Yegf_ Ydd hgkkaZd] [gf^a_mjYlagfk( ;nageYjc
_an]k Y nYdm] g^ .0.*-3 af Gglgj= Yf\ -34*,/ af Ba_F( oa[ Yj] /*03 Yf\
.*10 lae]k _j]Yl]j l] nYdm] g^ ;mlgeYjc}* Nak hjghgjlagf ak kaeadYj af Ydd [gf)
^a_mjYlagfk( ]p[]hl ojal])ljgm_*
Qjal])ljgm_ ]ph]ja]f[]k egj] h]j^gjeYf[] dgkk af ;mlgeYjc} %1 Yf\ 4
"& o]f ojal])hgda[q ak [Yf_]\( oa[ e]Yfk lYl af ;nageYjc l]j] ak d]kk
[Yf_] af h]j^gjeYf[] Z]lo]]f [ghq)ZY[c Yf\ ojal])ljgm_*
;mlgeYjc} _an]k Y nYdm] g^ 25*44 af 1110 Yf\ 051 af 00,?Jp %222
GBr&* ;nageYjc _jY\]k af 1110 Yj] /*03 %Gglgj=& Yf\ .*10 %Ba_F& lae]k
_j]Yl]j l] nYdm] g^ ;mlgeYjc} %af JJ=00,?Jp jmffaf_ Yl 222 GBr( l]k] jY)
lagk o]j] .*34 af Gglgj= Yf\ .*20 af Ba_F& o]f [ghq)ZY[c [Y[] ak mk]\7 0*-1
%Gglgj=& Yf\ .*43 %Ba_F& lae]k _j]Yl]j lYf ;mlgeYjc} o]f ojal])ljgm_
[Y[] ak mk]\ %af JJ=00,?Jp jmffaf_ Yl 222 GBr( l]k] jYlagk o]j] .*24 af Gg)
lgj= Yf\ .(3. af Ba_F&7 .*/5 %Gglgj=& Yf\ -*55 %Ba_F& lae]k _j]Yl]j lYf
;mlgeYjc} o]f [Y[] ak lmjf]\ g^^ %af JJ=00,?Jp jmffaf_ Yl 222 GBr l]k]
hjghgjlagfk o]j] .*10 af Gglgj= Yf\ .*2, af Ba_F&* Nak aehda]k lYl ;nag)
eYjc nYdm]k Yj] [dgk]\ lg ]Y[ gl]j af JJ=00,?Jp lYf af 1110( kladd em[
a_]j lYf ;mlgeYjc}* <]ka\]k( oad] Gglgj= ak YdoYqk em[ a_]j lYf
Ba_F af 1110( al klYqk imal] d]kk lYf Ba_F af 00,?Jp* Nak \g]k fgl e]Yf(
go]n]j( lYl h]j^gjeYf[] ak Z]ll]j oal Ba_F gj Gglgj=( Yk ]phdYaf]\ Z]^gj]7 al
ak bmkl Y e]Yfk lg e]Ykmj] h]j^gjeYf[]* Nmk( gf] kgmd\ kla[c lg ]al]j ;mlg)
eYjc} gj ;nageYjc oad] e]Ykmjaf_ h]j^gjeYf[]*

101

Results: Freescale MPC5554


5.2.3.4.

MPC5554 vs. PPC440EPx

494,67

500

301,09

400

395,41

300

27,70

200
100

240,02

22,04
2,19

69,88

28,28

MPC5554: 128Mhz

0
NoC

PPC440: 533-133
WTH

PPC440: 667-166

CBH

Figure 5-37: MPC5554 vs. PPC440EPx performance comparison (Automark)

MPC5554 vs. PPC440 in percentage (Automark)

120%
100,00% 100,00% 100,00%

100%
80%

60,70%

60%

40,46%

40%
20%
0%

MPC5554: 128Mhz

60,87%

PPC440: 533-133

3.13% 5,57% 5,60%

NoC

PPC440: 667-166
WTH

CBH

configuration

Figure 5-38: MPC5554 vs. PPC440EPx performance comparison in percentage


(Automark)

102

Results: Freescale MPC5554

1308,66

1400
818,88

1200
1000

1046,26

800

PPC440: 533-133

57,79

400
200

652,80

72,63

600
4,73

MPC5554: 128Mhz

PPC440: 667-166
81,28

178,03

0
NoC

WTH

CBH

Figure 5-39: MPC5554 vs. PPC440EPx performance comparison (Aviomark HighL)


MPC5554 vs. PPC440 in percentage (Aviomark HighL)
120%
100,00%

100%

100,00%

100,00%

80%
62,39% 62,57%

60%

MPC5554: 128Mhz

45,66%

PPC440: 533-133

40%
20%

PPC440: 667-166

5,52%
5,55%
3.13%

0%
NoC

WTH

CBH

configuration

Figure 5-40: MPC5554 vs. PPC440EPx performance comparison in percentage


(Aviomark HighL)

103

Results: Freescale MPC5554

Cf [ghq)ZY[c [gf^a_mjYlagf %=<B&( JJ=00,?Jp [gj] jmffaf_ Yl 222 GBr


ak ^gmf\ lg Z] 3 lae]k ^Ykl]j af ;mlgeYjc}( 3*/1 lae]k ^Ykl]j af Ba_F Yf\ 1*3
lae]k ^Ykl]j af Gglgj= lYf l] GJ=1110* Cf ojal])ljgm_ [gf^a_mjYlagf
%QNB&( l]k] jYlagk Z][ge] -,*2 af ;mlgeYjc}( -, af Ba_Fa^l Yf\ 2*43 af
Gglgj=7 Yf\ o]f [Y[] ak lmjf]\ g^^ %Hg=&( -.*21 af ;mlgeYjc}( -1*/2 af
Ba_F Yf\ --*20 af Gglgj=* C^ o] dggc Yl l] jYlag g^ l]k] nYdm]k ^jge ojal])
ljgm_ lg [ghq)ZY[c( o] k]] lYl lak jYlag ak -*1/ af ;mlgeYjc}( -*/2 af Ba_F
Yf\ -*. af Gglgj=* Nmk( o] [Yf [gf[dm\] lYl ojal] hgda[q Y^^][lk Ydd l] lj]]
Z]f[eYjc k[gj]k Ydegkl kYe]*

1381,44

1400
807,13

1200

1104,42

1000
800

PPC440: 533-133

56,22

400
200

MPC5554: 128Mhz

643,20

70,66

600

PPC440: 667-166

242,17

117,56

6,07

0
NoC

WTH

CBH

Figure 5-41: MPC5554 vs. PPC440EPx performance comparison (Aviomark HighL)


MPC5554 vs. PPC440 in percentage

120%
100,00% 100,00% 100,00%

100%
80%

MPC5554: 128Mhz

58,24% 58,43%
48,54%

60%

PPC440: 533-133

40%
20%
0%

5,11%
3.13% 5,09%

NoC

PPC440: 667-166
WTH

CBH

configuration

Figure 5-42: MPC5554 vs. PPC440EPx performance comparison in percentage


(Aviomark MotorC)
104

Results: Freescale MPC5554

Cf Hg=( Ba_F Yf\ Gglgj= ak [Yf_af_ YZgml .*- lae]k egj] [gehYj]\
lg =<B %-*4 oal ;mlgeYjc}&( Yf\ YZgml -*2 lae]k egj] [gehYj]\ lg QNB
%-*1 oal ;mlgeYjc}&* Nmk( o] [Yf [gf[dm\] lYl ;nageYjc ak egj] k]fkalan] lg
lmjfaf_ l] [Y[] g^^ lYf ;mlgeYjc}( Yf\ lak k]fkalanalq ak a_]j o]f [ghq)
ZY[c [Y[] ak lmjf]\ g^^*
5.2.4.

Effect of Memory Technology: SRAM vs. FLASH

Cf gj\]j lg _an] Y \]]h]j afka_l aflg go l] e]egjq l][fgdg_q ak ae)


hgjlYfl ^jge l] h]j^gjeYf[] hgafl g^ na]o( o] mk]\ l] \YlY ^jge M;;< ;na)
ljgfa[k gZlYaf]\ ^jge hj]nagmk l]klk jmf Zq mkaf_ l] HIL @dYk e]egjq afkl]Y\
g^ mkaf_ l] ML;G*
N] ML;G ak \ana\]\ aflg log hYjlk( gf] hYjl afl]_jYl]\ oal l] =JO
[gj] %20E<& Yf\ Yfgl]j hYjl YnYadYZd] Yk ]pl]jfYd e]egjq %1-.E<& oa[ oYk
mk]\ af gmj l]klk Yk l] hjaeYjq e]egjq*
N] \YlY ak daeal]\ lg gfdq log g^ l] kapl]]f Yd_gjalek ^gmf\ af l]
??G<= Z]f[eYjc kmal]6 :Tf\V >_bTg\aZ Hb\ag Yf\ :\g ETa\ch_Tg\ba*
Maf[] ;nageYjc ak km__]kl]\ Yk Yf Ydl]jfYlan] oYq g^ _jY\af_ h]j^gjeYf[](
o] gfdq h]j^gje l] [gehYjakgf mkaf_ l] ;mlgeYjc} _jY\]k*
;k [Yf Z] k]]f ^jge l] ^a_mj]k Z]dgo( o]f l] [Y[] ak \akYZd]\( oad]
\gaf_ hmj] ^dgYlaf_ hgafl gh]jYlagfk( l]j] ak fgl Yfq \a^^]j]f[] Yl Ydd Z]lo]]f
ML;G Yf\ @dYk( go]n]j oad] mkaf_ Zal eYfahmdYlagf Yd_gjale( ML;G klYjlk
lg h]j^gje ^Ykl]j lYf l] @dYk* Nak \a^^]j]f[] ak \m] lg l] fYlmj] g^ l] log
Yd_gjalek( Z][Ymk] oad] \gaf_ ^dgYlaf_ hgafl gh]jYlagfk l] =JO ak egkl g^ l]
lae] Zmkq oal [Yd[mdYlagf Yf\ lmk j]Y\af_ ^jge Yf\ ojalaf_ lg j]_akl]jk jYl]j
lYf Y[[]kkaf_ l] hjaeYjq e]egjq* Bgo]n]j( Zal eYfahmdYlagf Yd_gjale ]Ynadq
mladar]k YjjYqk Yf\ dgghk af l] Z]f[eYjc [g\] [gehYj]\ lg \aj][l [gehmlYlagf
af l] ZYka[ ^dgYlaf_ hgafl Yd_gjale( oa[ e]Yfk lYl al Y[[]kk]k hjaeYjq e]eg)
jq lg ^]l[ l] dggh [gmfl]jk( YjjYq af\a[]k Yf\ l]ehgjYjq nYjaYZd]k ^jge l]j]
em[ egj] ^j]im]fldq* Nmk( l] ]^^][l g^ hjaeYjq e]egjqk l][fgdg_q Z][ge]k
egj] gZnagmk*
FLASH vs. SRAM - Basic Floating-Point (iter/sec)

110740
120000
100000
80000
60000

FLASH
33864

SRAM

40000

6136

20000

6188

0
Cache Enable

Cache Disable

Figure 5-43: FLASH vs. SRAM in Basic Floating Point (Automark)


105

Results: Freescale MPC5554

FLASH vs. SRAM - Bit manipulation (iter/sec)

2686

3000
2500
2000

FLASH

1500

SRAM

555

1000

96

500

159

0
Cache Enable

Cache Disable

Figure 5-44: FLASH vs. SRAM in Bit Manipulation (Automark)

SRAM : FLASH ratio


6,00
4,84

5,00
4,00

3,27

Basic Floating-Point

3,00
1,66

2,00

Bit Manipulation

1,01
1,00
0,00
Cache Enable

Cache Disable

Figure 5-45: Ratio of performance of SRAM to the FLASH (Automark)

Q]f o] lmjf l] [Y[] gf( lak ]^^][l af[j]Yk]k ]n]f egj]* =gehYj]\ lg
l] [Yk] o]j] [Y[] Y\ Z]]f lmjf]\ g^^( N] ML;G Z][ge]k .*5. lae]k ^Ykl]j
af ZYka[ ^dgYlaf_ hgafl Yf\ /*.0 lae]k ^Ykl]j af Zal eYfahmdYlagf Yd_gjalek* Nak
e]Yfk lYl l] =JO [Y[] hdYqk Yf aehgjlYfl jgd] af ZYdYf[af_ Z]lo]]f l] =JO
Yf\ l] hjaeYjq e]egjq Yf\ l] kqkl]e ak em[ egj] k]fkalan] lg l] lqh] g^
hjaeYjq e]egjq mk]\ o]f [Y[] ak lmjf]\ gf* Qal [Y[] lmjf]\ g^^( l]j] ak
em[ d]kk \a^^]j]f[] Yk Y j]kmdl g^ l] e]egjq l][fgdg_q ]^^][l*

106

Conclusions and Future Work

6.Conclusions and Future Work


N] ^gddgoaf_ [gf[dmkagfk ]phj]kk l] ^af\af_k g^ l] hj]k]fl ogjc Yf\ l]
[gfljaZmlagfk o] hjghgk] af l] ^a]d\ g^ h]j^gjeYf[] l]klk.

6.1. Conclusions
N] eYaf _gYd g^ lak l]kak oYk lg ]nYdmYl] nYjagmk hjg[]kkgj ZgYj\k ^gj
Ynagfa[k Yhhda[Ylagfk* Nog hjg[]kkgjk ^jge Jgo]jJ= ^Yeadq %JJ=00,?Jp Yf\
GJ=1110& Yn] Z]]f ]nYdmYl]\* ; e]lg\gdg_q ^gj h]j^gjeYf[] ]nYdmYlagf g^
hjg[]kkgjk %af hYjla[mdYj Jgo]jJ= hjg[]kkgjk& Yk Z]]f hjghgk]\ Yf\ l] Yegmfl
g^ lae] al ogmd\ lYc] lg YfYdqr] Y f]o hjg[]kkgj Ydgf_ oal l] kl]hk Yk Z]]f km_)
_]kl]\ oad] ]nYdmYlaf_ l] f]o hjg[]kkgj*
Q] Yn] ^g[mk]\ gf Yj\oYj] hYjYe]l]jk lYl hjg[]kkgjk Yddgo mk lg eg\a)
^q naY afl]jfYd j]_akl]jk af l] log hjg[]kkgjk7 oal l] j]_akl]j k]llaf_k \]^af]\ Y[)
[gj\af_ lg \a^^]j]fl [gf^a_mjYlagfk ^gj h]j^gjeYf[]* ; kmeeYjq g^ l] [gf^a_mjY)
lagfk Yf\ ^af\af_k Yj] hj]k]fl]\ ]j]*
L]_Yj\af_ l] JJ=00,?Jp hjg[]kkgj( h]j^gjeYf[] j]kmdlk [gfka\]j Y nYdm]
g^ -,, hgaflk af h]j[]flY_] lg l] a_]kl h]j^gjeYf[] [gf^a_mjYlagf Yf\ Ydkg l]
j]dYlan] h]j^gjeYf[] dgkk [gehYj]\ oal l] gl]j [gf^a_mjYlagfk* Mm[ kmeeYjq
g^ ;mlgeYjc} j]kmdlk ak kgof af >\ZheX 2)-( o]j] j]_akl]j k]llaf_k Yj] hj]k]fl]\
^gj ]n]jq [gf^a_mjYlagf Yf\ j]kmdl*

Figure 6-1: PPC440EPx configuration summary and Automark results

L]_Yj\af_ l] GJ=1110 hjg[]kkgj( o] ^gddgo l] kYe] YhhjgY[ Yk af


JJ=00,?Jp* =gjj]khgf\af_ ;mlgeYjc} j]kmdlk Yj] kgof af >\ZheX 2).( o]j]
l] ^ajkl log [gf^a_mjYlagfk [gjj]khgf\k lg [gf^a_mjYlagfk oalgml [Y[] e]egjq(
Yf\ l] dYkl ^gmj kgok l] ]^^][l g^ ojal])ljgm_ Yf\ [ghq)ZY[c eg\]k [ge)
Zaf]\ oal klgj] Zm^^]j Yf\ hmk Zm^^]j*

Figure 6-2: MPC5554 configuration summary and Automark results

;^l]j Y klm\q g^ klYf\Yj\ Z]f[eYjck lYl Yj] YnYadYZd] Yf\ ^j]] ^gj mk]( o]
Yn] [gk]f Yf\ mk]\ Y k]l g^ Yd_gjalek ^jge ??G<=( oa[ ak l] Ymlgeglan]
Z]f[eYjc kmal] ;mlg<]f[}( kaf[] al ak l] [dgk]kl Yhhda[Ylagf lg Ynagfa[k* Nak
Z]f[eYjc kmal] ]nYdmYl]k hjg[]kkgj h]j^gjeYf[] ^gj kapl]]f \a^^]j]fl lqha[Yd hjg)
107

Conclusions and Future Work

[]kkgj ogjcdgY\k* Bgo]n]j( l]q Yj] fgl j]Yd lae] Z]f[eYjck oa[ ogmd\ a\]Yd)
dq qa]d\ Yf Y[[mjYl] hjg[]kkgj h]j^gjeYf[] ^gj Ynagfa[k7 l]q jYl]j hjgna\] [ge)
hYjakgf [jal]jaY Yegf_ [gf^a_mjYlagfk af ]Y[ hjg[]kkgj Yf\ Yegf_ l] hjg[]kkgjk*
Nak oYk l] Z]f[eYjc kmal] oa[ Yk Z]]f af mk] Yl MYYZ ;naljgfa[k Ydj]Y\q(
lmk gmj e]lg\gdg_q Yddgok h]j^gjeaf_ [gehYjakgfk oal hj]nagmkdq ]nYdmYl]\
ZgYj\k l]j]*

6.2. Contributions
N] eYaf [gfljaZmlagfk Y[a]n]\ Zq lak l]kak ogjc Yj] dakl]\ Yk ^gddgok6
-* ;nageYjc6 Okaf_ l] ??G<= <]f[eYjck o] Yn] \]n]dgh]\ Yf\ hjghgk]\ Y
f]o Z]f[eYjc k[gj] ;nageYjc* Nak k[gj] ak ZYk]\ gf o]a_l]\ [g]^^a[a]flk
lYl j]hj]k]fl Y lqha[Yd Ynagfa[k Yhhda[Ylagf ogjcdgY\7 al _an]k \a^^]j]fl o]a_lk
^gj ]Y[ g^ l] kapl]]f Ymlgeglan] Yd_gjalek* Nog Yhhda[Ylagfk o]j] [gfka)
\]j]\6 Ba_ Fa^l oa[ ak [Yjja]\ gml gf l] hdYf] oaf_k( Yf\ ?f_af] =gfljgd7
lYl j]kmdl]\ af log [gjj]khgf\af_ [g]^^a[a]flk6 ;nageYjc Ba_Fa^l Yf\
;nageYjc Gglgj=*
.* G]lg\gdg_q ^gj J]j^gjeYf[] ;fYdqkak6 ;fgl]j [gfljaZmlagf hjghgk]\ af
lak ogjc ak Y e]lg\gdg_q ^gj h]j^gjeYf[] ]nYdmYlagf g^ ea[jghjg[]kkgjk*
Nak ak hYjla[mdYjdq Yhhda[YZd] ^gj Jgo]jJ= hjg[]kkgjk( Yf\ [gfka\]jk l]
GOFNC C>? ]fnajgfe]fl ^gj h]j^gjeaf_ l] ]nYdmYlagf*
/* AOC6 Q] Yn] Ydkg \]n]dgh]\ Y _jYha[Yd mk]j afl]j^Y[] %AOC& lYl [gmd\ ]dh
^mlmj] h]j^gjeYf[] ]nYdmYlagf lYkck* Nak lggd ]dhk Ynga\af_ eYfmYd ]jjgjk
Yf\ eYc]k ^ad] eYfY_]e]fl ]Yka]j \mjaf_ ]ph]jae]flk Yf\ \YlY hjg[]kkaf_*
0* >]l]jeafake F]n]dk6 N] YfYdqkak g^ l] h]j^gjeYf[] g^ Yf ]eZ]\\]\ kqkl]e
af Y kY^]lq [jala[Yd Yhhda[Ylagf( Yk af Ynagfa[k( Yk hjg\m[]\ Yf afl]jhj]lYlagf g^
\]l]jeafake af gmj ogjc* ;[[gj\af_ lg lak( Y [gf^a_mjYlagf %gj kqkl]e& ak
kYa\ lg Z] egj] \]l]jeafakla[ o]f al _an]k egj] hj]\a[lYZadalq af l] ]p][mlagf
lae] g^ alk lYkck( j]_Yj\d]kk g^ alk h]j^gjeYf[]* >]l]jeafake ak Y e]Yfk lg
e]Ykmj] j]daYZadalq g^ l] kqkl]e* ;fgl]j [gfka\]jYlagf ak l] [gfkakl]f[q g^
\YlY Yl Yfq _an]f lae]* <Yk]\ gf lak( Y kqkl]e ak kYa\ lg Z] egj] \]l]jeafakla[
o]f al hj]k]flk egj] [gfkakl]fl \YlY Z]lo]]f l] kqkl]e [gehgf]flk( hYjla[)
mdYjdq Z]lo]]f =JO Yf\ l] e]egjq a]jYj[q* Q] Yn] [dYkka^a]\ l] [gf^a)
_mjYlagfk o] mk]\ af ]nYdmYlagf Ydkg j]_Yj\af_ l]aj \]l]jeafakla[ Z]Ynagj Yf\
[gf[dm\]\ lYl ^Ykl]j [gf^a_mjYlagfk Yj] _]f]jYddq d]kk \]l]jeafakla[*

6.3. Future Work


N]j] Yj] eYfq afl]j]klaf_ Yj]Yk o]j] l] hjgb][l ogjc [Yf Z] ]pl]f\]\6
-* Jjg[]kkgj Jgjl^gdag6 Nog hjg[]kkgjk o]j] YfYdqr]\ af lak l]kak ogjc* ?nYdmY)
lagf g^ l] j]eYafaf_ hjg[]kkgjk ^jge Jgo]jJ= ^Yeadq ak l] ^mf\Ye]flYd ^m)
lmj] ogjc lYl [gmd\ hjgna\] \]]h]j j]kmdlk YZgml Jgo]jJ= Yj[al][lmj]( hYj)
la[mdYjdq YZgml l] af^dm]f[] g^ emdla)d]n]d [Y[] Yf\ Y\nYf[]\ hah]daf] ae)
hd]e]flYlagfk*
.* Gmdla)=gj]6 ; f]o Yf\ hghmdYj lj]f\ af ea[jghjg[]kkgj Yj[al][lmj] ak l]
emdla)[gj] aehd]e]flYlagf* @mlmj] ea[jghjg[]kkgjk Yj] ]ph][l]\ lg [gfkakl g^
108

Conclusions and Future Work

\]\a[Yl]\ [gj]k ^gj \a^^]j]fl lYkck* Cf gmj l]kak ogjc( gfdq kaf_d])[gj] hjg[]k)
kgjk Yn] Z]]f lYc]f aflg Y[[gmfl* ?nYdmYlagf g^ emdla)[gj] hjg[]kkgj ogmd\
hjgZYZdq j]imaj] mh\Ylaf_ l] e]lg\gdg_q( lggdk Yf\ Z]f[eYjck mk]\ af l]
]nYdmYlagf( lgm_*
/* =gj]eYjc}6 J]j^gjeYf[] ]nYdmYlagf g^ Jgo]jJ= hjg[]kkgjk mkaf_ =gj])
eYjc} ak ]ph][l]\ lg Z] h]j^gje]\ af l] ^mlmj] Yk al ogmd\ _an] \]]h]j af)
ka_l YZgml l] ea[jg)Yj[al][lmj]* =gehYjaf_ =gj]eYjc} oal ;mlgeYjc}
Yk o]dd Yk ;nageYjc [g]^^a[a]flk ogmd\ j]n]Yd f]o [gjj]dYlagfk lg YfYdqr]*
0* L]Yd Nae] <]f[eYjc6 ; j]Yd lae] Z]f[eYjc [gmd\ Z] gZb][lan] g^ Yf afl]j)
]klaf_ Yf\ [Ydd]f_af_ ^mlmj] ogjc* ; j]Yd lae] Yd_gjale Yk lg [gfka\]j
[geh]laf_ lYkck ^gj mk] g^ l] hjg[]kkgj [gj]( h]jag\a[ Yf\ fgf)h]jag\a[ lYkck
Yf\ hjagjalq eYfY_]e]fl Yf\ \]^af] kY^]lq lj]kgd\k ^gj Ynagfa[k ogjcdgY\k*
1* Mg^loYj] ghlaearYlagfk6 Cf j]Yd Yhhda[Ylagfk( l] h]j^gjeYf[] ak af^dm]f[]\
Ydkg Zq l] [gehad]j ghlaearYlagf lggdk Yf\ gl]j kg^loYj] Ykh][lk Z]qgf\ l]
Yj\oYj]* Cf lak l]kak( o] Yn] [gfka\]j]\ kgd]dq Yj\oYj] Ykh][lk km[ Yk
e]egjq a]jYj[q Yf\ =JO ea[jg)Yj[al][lmj]* Cf^dm]f[] g^ kg^loYj] e]lg\k
gf h]j^gjeYf[] ak lmk Yfgl]j ^mf\Ye]flYd ^mlmj] ogjc*
2* J]j^gjeYf[] ;fYdqkak Nggdk6 N] lggdk mk]\ Yf\ e]lg\gdg_q [Yf Z] ]f)
Yf[]\ af l] ^mlmj]* N] _jYha[Yd mk]j afl]j^Y[] gj Yfgl]j kaeadYj Yhhda[Y)
lagf [gmd\ Z] afl]_jYl]\ af Gmdla >]Zm__]j ^gj ]pYehd]( Yddgoaf_ ^Ykl]j Yf\
egj] j]daYZd] ]p][mlagf g^ ]ph]jae]flk*

109

References

References
(In chronological order)

U-W ?eZ]\\]\ Mqkl]e >]^afalagf( ;nYadYZd]6


[ggc6++jjj*_\aYb*beZ+XUXWWXWSflfgX*[g_
U.W @* PYa\ Yf\ N* AanYj_ak( ?eZ]\\]\ Mqkl]e >]ka_f6 ; Ofa^a]\ BYj\oYj] +
Mg^loYj] Cfljg\m[lagf( Dgf Qad]q #Mgfk( .,,.
U/W J*GYjo]\]d( Cfljg\m[lagf lg ?eZ]\\]\ Mqkl]ek( Mhjaf_]j( .,,/
U0W M*G[=gff]dd( {=g\] =gehd]l]6 ; JjY[la[Yd BYf\Zggc g^ Mg^loYj] =gfkljm[)
lagf|( Ga[jgkg^l Jj]kk( .f\ ?\alagf( .,,0
U1W {P>= .,,1 Pgdme] CCC6 ?eZ]\\]\ Mqkl]ek GYjc]l MlYlakla[k L]hgjl|( ;nYad)
YZd]6 [ggc6++jjj*iWV)Vbec*Vb+XUXWWXW+eXcbegf+,2+Ue,2),.*[g_
U2W B* IzE]]^^]( {?eZ]\\]\ >]Zm__af_6 ; Qal] JYh]j|( ;kdaf_ Ga[jgkqkl]ek
Fl\*( .,,2* ;nYadYZd]6
[ggc6++jjj*Tf[_\aZ*Vb+gXV[a\VT_Teg\V_Xf+9f[_\aZ9MI/.NH*cWY
U3W =* BYddafYf( ?eZ]\\]\ Fafmp Jjae]j6 ; JjY[la[Yd L]Yd)Qgjd\ ;hhjgY[(
Jj]fla[] BYdd( .,,2
U4W ?eZ]\\]\ Mqkl]e >]ka_f Ckkm]k( ;nYadYZd]6 [ggc6++jjj*XUXWflfgXf*Vb+
U5W Q*>* >mqe( ?^^][lk g^ >a_alYd ;nagfa[k Mqkl]ek gf l] MmjnanYZadalq g^
Gg\]jf NY[la[Yd ;aj[jY^l( GYkl]j N]kak( HYnYd Jgkl_jY\mYl] M[ggd( Ggfl]jj]q(
=Yda^gjfaY( Dmf] -551*
U-,W L* =* >gj^( Mqkl]ek( =gfljgdk( ?eZ]\\]\ Mqkl]ek( ?f]j_q( Yf\ GY[af]k(
N] ?d][lja[Yd ?f_af]]jaf_ BYf\Zggc( Naj\ ?\alagf( .,,2
U--W ?OLI=;?( ;Zgml Ok( ;nYadYZd]6 [ggc6++jjj*XhebVTX*aXg+TUbhghf*[g_
U-.W =*L* Mhalr]j( >a_alYd ;nagfa[k BYf\Zggc6 >]n]dghe]fl Yf\ Cehd]e]flY)
lagf( Pgdme] -( =L= Jj]kk( .,,3
U-/W G* Lg[co]dd( ;LCH= MlYf\Yj\k >]n]dghe]fl( ;naYlagf Cf\mkljq ;[lana)
la]k C=;I( 5*5*.,,4* ;nYadYZd]6
[ggc6++jjj*\VTb*\ag+\aXkfXf+HeXfXagTg\ba+<Tl.+.US1SIbV^jX__*cWY
U-0W {;]jgfYmla[Yd LY\ag Cf[*|( ;nYadYZd]6 [ggc6++jjj*\[f*Vb*Th+fgTaWTeWf+Te\aV+
U-1W |Nqh]k g^ Mqkl]ek|( Fgm_Zgjgm_ Ofan]jkalq( F]a[]kl]jkaj]( OE* ;nYadYZd]6
[ggc6++jjj*_Ubeb*TV*h^+eXfXTeV[+fhfWXf\Za+DKJF+:_bV^f+:_bV^#.,/+KlcXf#.,bY#.,
JlfgXf*ccg
U-2W D*L]af]c]( >* Ajmf\( =* <]j_ Yf\ L* Qad]de( Jj]\a[lYZadalq g^ =Y[] L])
hdY[]e]fl Jgda[a]k( ;P;=M6 ;mlgeYla[ P]ja^a[Ylagf Yf\ ;fYdqkak g^ =gehd]p
Mqkl]ek( N][fa[Yd L]hgjl Hg*5( M]hl]eZ]j .,,2

110

References

U-3W C* =Yqml( {Hgf)>]l]jeafake af = Yf\ LNF Gg\]dk|( Cfl]jfYlagfYd =gf^])


j]f[] gf =gehml]j);a\]\ >]ka_f %C==;>& .,,2( HPC>C;* ;nYadYZd]6
jjj*iXe\_bZ*aXg+Fba)<XgXe\a\f*ccg
U-4W Jjg^* A* B]dk]j( =Yk] klm\q6 Cehjgnaf_ l] L]daYZadalq g^ ?eZ]\\]\ =ge)
hmlaf_ Mqkl]ek( H]nadd] LgY[ FYZgjYlgjq* ;nYadYZd]6
[ggc6++a\VgT*Vb*Th+SSWTgT+TffXgf+cWYSY\_X+,,-4+3,/4+,2,5-1SXUXWWXWflfgXfSVTfXfg
hWl*cWY
U-5W BYj\oYj] L]daYZadalq( ;nYadYZd]6
[ggc6++jjj*XaVlV_bcXW\T*Vb+WbV+-G--)[TeWjTeXeX_\TU\_\gl*[g_
U.,W D*JYf( Mg^loYj] L]daYZadalq( >]h]f\YZd] ?eZ]\\]\ Mqkl]ek( =Yjf]_a] G]d)
dgf Ofan]jkalq( Mhjaf_ -555* ;nYadYZd]6
[ggc6++jjj*XVX*Vh*XWh+n^bbcTa+WXfSf55+fjSeX_\TU\_\gl+
U.-W =*S*Fam( ; Mlm\q g^ @da_l)=jala[Yd =gehml]j Mqkl]e L][gn]jq ^jge MhY[]
LY\aYlagf)Cf\m[]\ ?jjgj( C??? ;?MM Mqkl]ek GY_Yraf]( hh* -5).1( M]hl]eZ]j
.,,.*
U..W ;* FYa( {Gala_Ylagf l][faim]k ^gj ]d][ljgfa[k af Maf_d] ?n]fl Ohk]l %M?O&
]fnajgfe]flk|( GadalYjq ?eZ]\\]\ Mqkl]ek* ;nYadYZd]6
[ggc6++jjj*ehZZXW*Vb+D\UeTel+E\g\ZTg\ba#.,KXV[a\dhXf#.,Ybe#.,=_XVgeba\Vf#.
,\a#.,J\aZ_X#.,=iXag#.,LcfXg#.,=ai\ebaXagf*cWY
U./W |AYdad]g Jjgb][l|( Bge]hY_]( [ggc6++jjj.*]c_*aTfT*Zbi+ZT_\_Xb+
U.0W |Maf_d] ?n]fl Ohk]lk|( ;nYadYZd]6
[ggc6++jjj.*]c_*aTfT*Zbi+ZT_\_Xb+XffXaZXe+b_WXff+J=L*[g_
U.1W G* <Yd[( =gehd]l] >a_alYd >]ka_f6 ; =gehj]]fkan] Ama\] lg >a_alYd
?d][ljgfa[k Yf\ =gehml]j ;j[al][lmj]( G[AjYo)Badd( .,,/
U.2W E* Idmcglmf Yf\ F* BYeegf\( {N] @mlmj] g^ Ga[jghjg[]kkgjk|( MlYf^gj\
Ofan]jkalq( ;kkg[aYlagf ^gj =gehmlaf_ GY[af]jq %;=G&( Km]m] K)@g[mk6 Gmd)
lahjg[]kkgjk( M]hl]eZ]j .,,1 ;nYadYZd]6
[ggc6++jjj*TcX_*XX*hcTgeTf*Ze+T+HTcXef+c.2)b_h^bgha*cWY
U.3W >*S]f( J]jkh][lan]6 ?f\ g^ Gggj]$k FYo: Qjgf_ im]klagf( -4*.*.,,0(
;nYadYZd]6 [ggc6++aXjf*VaXg*Vb+.,-,)-,,2)1-2,//2*[g_
U.4W =* PYa\qY( JYk])Fg[c]\ Fggh <Yk]\ =dg[c A]f]jYlgjk( HYlagfYd M]ea)
[gf\m[lgj( ;MCJ ;hhda[Ylagfk( ;hhda[Ylagf Hgl] -,,2( Dmf] -551* ;nYadYZd]6
[ggc6++jjj*aTg\baT_*Vb+Ta+9F+9F)-,,2*cWY
U.5W N]pYk Cfkljme]flk( {JYk])Fg[c Fggh)<Yk]\ %JFF& =dg[c >jan]j6 ; =jala[Yd
Fggc Yl <]f]^alk n]jkmk =gklk|( GYj[ -553* ;nYadYZd]6
[ggc6++YbVhf*g\*Vb*Va+Va+_\g+Ta+fVTT,//T+fVTT,//T*cWY
U/,W P* MmZjYeYfaYf( G* <]r\]c( H* >* ;najf]fa( Yf\ ;* MgeYfa( {Mmh]jk[YdYj
hjg[]kkgj h]j^gjeYf[] ]fYf[]e]fl ljgm_ j]daYZd] \qfYea[ [dg[c ^j]im]f[q
lmfaf_|( -0l C??? JY[a^a[ Lae Cfl]jfYlagfYd Mqehgkame gf >]h]f\YZd] =ge)
hmlaf_( .,,4
U/-W =dg[c kh]]\( ;nYadYZd]6
111

References

[ggc6++fXTeV[V\b\WTe^Xg*gXV[gTeZXg*Vb+f<XY\a\g\ba+,((f\W-4/SZV\.--355(,,*[g_
U/.W Bgo CehgjlYfl ;j] =gehml]j =dg[c Mh]]\k:( ;nYadYZd]6
[ggc6++jjj*T__Uhf\aXff*Vb+gXV[ab_bZl+VbchgXe)[TeWjTeX)VbchgXe)cXe\c[XeT_f+4-3)
-*[g_
U//W E* BoYf_( ;\nYf[]\ =gehml]j ;j[al][lmj]6 JYjYdd]dake( M[YdYZadalq( Jjg)
_jYeeYZadalq( -kl ?\*( G[AjYo)Badd( -55.
U/0W ;* >* Jae]fl]d ;\nYf[]\ Jah]daf] Ckkm]k( =gehml]j Ij_YfakYla]( .,,1+,2*
;nYadYZd]6
[ggc6++eXbgX*fV\XaVX*hiT*a_+nUXaU+9eV[\gXVghhe=a;G+Vb__XZXf+TWiTaVXW)
c\cX_\a\aZ.*ccg8H@HJ=JJA<7.UY5V0,Y,X,/W2U5/213WVWYTXV4.15V
U/1W =* Q]]ek( Cfkljm[lagf F]n]d JYjYdd]dake( =ehM[a)2/16 Gg\]jf =gehml]j
;j[al][lmj] F][lmj] Hgl]k( Ofan]jkalq g^ GYkkY[mk]llk ;e]jkl( .,,5* ;nYadY)
Zd]6
[ggc6++jjj*Vf*hTff*XWh+njXXf+;cJV\2/19+2/1_XVgheX4*[g_
U/2W P* >* ;_jYoYd( =gf[dmkagf( ?F?=)1.,,6 =gehml]j ;j[al][lmj] Yf\ >])
ka_f F][lmj] Hgl]k( ;mZmjf Ofan]jkalq( @Ydd .,,4* ;nYadYZd]6
[ggc6++jjj*XaZ*ThUhea*XWh+niTZeTjT_+;GLIJ=+=2.,,S>T__,3+D=;KLI=J+_XV-0*
ccg
U/3W D* ?* Meal( A* M* Mga( N] Ga[jgYj[al][lmj] g^ Mmh]jk[YdYj Jjg[]kkgjk(
Ofan]jkalq g^ Qak[gfkaf GY\akgf( ;m_* .,( -551* ;nYadYZd]6
Ygc6++Ygc*Vf*j\fV*XWh+fb[\+cTcXef+-551+\XXX)cebV*fhcXefVT_Te*cWY
U/4W Jjg^* L* Nmjf]j( Mmh]jk[YdYj ;j[al][lmj]k( =IM //16 =gehml]j ;j[al][)
lmj] F][lmj] Hgl]k( GYaf] Mg^loYj] ;_]fl Yf\ ;jla^a[aYd Cfl]dda_]f[] FYZgjYlgjq(
Ofan]jkalq g^ GYaf]( Mhjaf_ .,,3*
U/5W E* BoYf Sme( BYj\oYj])<Yk]\ Mh][mdYlagf( =M)/41/6 =gehml]j ;j[a)
l][lmj] Ofan]jkalq g^ N]pYk MYf ;flgfag( Mhjaf_ .,,5*
U0,W G*B*FahYkla( Mmh]jk[YdYj Ij_YfarYlagf( Ofan]jkalq g^ Qak[gfkaf)GY\akgf(
;nYadYZd]6 [ggc6++XVX31.*XVX*j\fV*XWh+_XVg,1)fhcXefVT_Te)beZ*ccg
U0-W ;*Ggkgngk( Iml g^ Ij\]j ?p][mlagf( ?=?-33/6 ;\nYf[]\ =gehml]j
;j[al][lmj] F][lmj] Hgl]k( @Ydd .,,2( Ofan]jkalq g^ Ngjgflg* ;nYadYZd]6
[ggc6++jjj*XXVZ*gbebagb*XWh+nbf[bibf+9;9,2+_XVgheXabgXf+,,1)fhcXefVT_Te*ccg
U0.W I* Gmldm( B* Eae( >* H* ;jekljgf_ Yf\ S* H* JYll( {;f ;fYdqkak g^ l]
h]j^gjeYf[] CehY[l g^ Qjgf_)JYl G]egjq L]^]j]f[]k gf Iml)g^)Ij\]j Yf\
LmfY]Y\ ?p][mlagf Jjg[]kkgjk|( C??? NjYfkY[lagfk gf =gehml]jk( Pgd* 10( Hg*
-.( >][]eZ]j .,,1
U0/W F* <mqYf( <jYf[ Jj]\a[lagf( =M).,/;6 =gehml]j ;j[al][lmj] F][lmj]
Hgl]k( Ofan]jkalq g^ =Yda^gjfaY) Lan]jka\]( @Ydd .,,2* ;nYadYZd]6
[ggc6++jjj*Vf*hVe*XWh+nU[hlTa+Vf.,/9+
U00W >j B*DaYf_( ;\nYf[]\ BQ ;hhjgY[]k6 Mh][mdYlagf( =M=?0/,+4/,6
=gehml]j ;j[al][lmj] F][lmj] Hgl]k( Ofan]jkalq g^ H]ZjYkcY Faf[gdf( .,,5*
;nYadYZd]6
112

References

[ggc6++VfX*ha_*XWh+n]\TaZ+VfX0/,+DXVgheX#.,FbgXf+ET\aSHHKSJ_\WXf+9WiTaVXWS@N
S9ccebTV[Xf&JcXVh_Tg\ba*ccg
U01W M* f\]j( Gmdlahd] Cfkljm[lagf Ckkm] Yf\ BYj\oYj] <Yk]\ Mh][mdYlagf(
Ga[a_Yf N][fgdg_a[Yd Ofan]jkalq( Bgm_lgf GC* ;nYadYZd]6
[ggc6++jjj*Vf*gh*XWh+nfbaXe+VbhefXf+Vf00/-+DXVgheX-,*cWY
U02W I* ?j_af( >* <YdcYf( >* JgfgeYj]n Yf\ E* Agk]( |Cf[j]Ykaf_ hjg[]kkgj
h]j^gjeYf[] ljgm_ ]Yjdq j]_akl]j j]d]Yk]|( HebVXXW\aZf bY A;;<)..( .,,0*
U03W >*;* JYll]jkgf Yf\ D*F*B]ff]kkq( =gehml]j Ij_YfarYlagf # >]ka_f6 N]
BYj\oYj] + Mg^loYj] Cfl]j^Y[]( .f\ ?\*( Ggj_Yf EYm^eYff JmZdak]jk( MYf
@jYf[ak[g( -554
U04W {JJ=00,?Jp ?eZ]\\]\ Jjg[]kkgj Ok]jzk GYfmYd|( ;G== M]ea[gf\m[lgj
U05W GJ=111/+1110 L]^]j]f[] GYfmYd|( @j]]k[Yd] M]ea[gf\m[lgj
U1,W G *=* =Yf_ Yf\ S* Q* =gm( <jYf[ hj]\a[lagf mkaf_ Zgl _dgZYd Yf\
dg[Yd ZjYf[ aklgjq af^gjeYlagf( C??? Jjg[]]\af_k gf =gehml]jk Yf\ >a_alYd
N][faim]k( Pgdme] -05( Ckkm] .( GYj[ .,,.
U1-W <* Qadcafkgf( =gehml]j ;j[al][lmj]6 >]ka_f Yf\ J]j^gjeYf[]( .f\ ?\*(
Jj]fla[] BYdd ?mjgh]( -552
U1.W >j* E]fja[c Gg[c( Cfkljm[lagf)F]n]d JYjYdd]dake # >qfYea[ <jYf[ Jj])
\a[lagf( =M)004 F][lmj] Hgl]k( Ofan]jkalq g^ ;dYkcY ;f[gjY_]( .,,-*
U1/W >j* G* MYZYYf( <jYf[ Jj]\a[lagfk( ??==)11- F][lmj] Hgl]k( Lg[]kl]j
Cfklalml] g^ N][fgdg_q( .,,,* ;nYadYZd]6
[ggc6++XfXXV*VX*e\g*XWh+]][[11-)j\agXe.,,5+11-)-)0).,-,*ccg
U10W N* S* S] Yf\ S* H* JYll( ;dl]jfYlan] aehd]e]flYlagfk g^ log)d]n]d Y\Yhlan]
ZjYf[ hj]\a[lagf( Jjg[]]\af_k g^ l] -5l Cfl]jfYlagfYd Mqehgkame gf =ge)
hml]j ;j[al][lmj]( GYq -55.*
U11W M* G[@Yjdaf_(=geZafaf_ <jYf[ Jj]\a[lgjk( QLF N][fa[Yd Hgl] NH)/2(
Dmf] -55/* ;nYadYZd]6
[ggc6++jjj*[c_*[c*Vb+gXV[eXcbegf+;bcTd)<=;+NID)KF)/2*cWY
U12W I* >a]kk]d( <jYf[ Jj]\a[lagf( =IGJ)0.-- M]eafYj 0( Lg[]kl]j Cfkla)
lml] g^ N][fgdg_q( .,,,* ;nYadYZd]6
jjj*VfX*hafj*XWh*Th+nVf0.--+fX\aTef+j,0)0hc*cWY
U13W L* C* <YYj( A* ;dZ]jY Yf\ M* GYff]( |Jgo]j Yf\ h]j^gjeYf[] ljY\]g^^k mk)
af_ nYjagmk [Y[af_ kljYl]_a]k|( Jjg[]]\af_k g^ l] Cfl]jfYlagfYd Mqehgkame gf
Fgo Jgo]j ?d][ljgfa[k Yf\ >]ka_f %CMFJ?> z54( Ggfl]j]q( =;( ;m_* -,x-.&(
-554
U14W =* ;f\jYk( ;f Cfljg\m[lagf lg Jj]^]l[af_( ?=?2246 =gehml]j ;j[al][lmj]
F][lmj] Hgl]k( Ofan]jkalq g^ GYkkY[mk]llk ;e]jkl( Mhjaf_ .,,5( ;nYadYZd]6
[ggc6++jjj*XVf*hTff*XWh+XVX+TaWeTf+VbhefXf+=;=224+El_XVgheXf+HeXYXgV[\aZ)
_XVgheX*ccg
113

References

U15W D*>mf\Yk Yf\ N* Gm\_]( {Cehjgnaf_ \YlY [Y[] h]j^gjeYf[] Zq hj])


]p][mlaf_ afkljm[lagfk mf\]j Y [Y[] eakk| Jjg[* -553 ;=G Cfl* =gf^* gf Mmh]j)
[gehmlaf_( Dmdq -553
U2,W E* QaddaYek( @dgYlaf_ Jgafl L]hj]k]flYlagf( =IGJ/3,6 Cfljg\m[lagf lg
=gehml]j ;j[al][lmj] F][lmj] Hgl]k( =gehml]j M[a]f[] >]hYjle]fl( Hgjl
=YjgdafY ;#N MlYl] Ofan]jkalq* ;nYadYZd]6
[ggc6++j\__\TfVbc*aVTg*XWh+;GEH/3,+>_bTg\aZHb\ag*cWY
U2-W L* Bmf\Yd( Yf\ P*A* IcdgZ\rabY( >]l]jeafYlagf g^ IhlaeYd Mar]k ^gj
M][gf\ F]n]d ML;G)>L;G If)=ah =Y[] =geZafYlagf( Ofan]jkalq g^ =Yda)
^gjfaY( -550* ;nYadYZd]6
[ggc6++jjj*TVfX_)_TU*Vb+HhU_\VTg\baf+HTcXef+0.)feT)\VVW50*cWY
U2.W G* TYjYf( {=Y[] L]hdY[]e]fl Jgda[q L]nakal]\|( Jjg[]]\af_k g^ l] 2l
Qgjckgh gf >mhda[Ylaf_( >][gfkljm[laf_( Yf\ >]Zmfcaf_( MYf >a]_g( =;(
OM;( Dmf] .,,3
U2/W L* PYf \]j JYk( G]egjq Ba]jYj[q af =Y[])ZYk]\ Mqkl]ek( Ba_ J]j^gj)
eYf[] =gehmlaf_( Mmf Ga[jgkqkl]ek( Hgn]eZ]j .,,.* ;nYadYZd]6
[ggc6++jjj*fha*Vb+U_hXce\agf+--,.+4-3),30.*cWY
U20W F* <mqYf( =Y[] >]ka_f( =M .,/; =gehml]j ;j[al][lmj] F][lmj]
Hgl]k( Ofan]jkalq g^ =Yda^gjfaY( Lan]jka\]( @Ydd .,,2* ;nYadYZd]6
[ggc6++jjj*Vf*hVe*XWh+nU[hlTa+Vf.,/9+D-.SVTV[X*ccg
U21W >j* E* Gg[c( =Y[af_ <Yka[k( =M)004 F][lmj] Hgl]k( Ofan]jkalq g^ ;dYkcY
;f[gjY_]( .,,U22W >j* G* IdYfg( =Y[]( =GM= 2--6 ;\nYf[]\ =gehml]j ;j[al][lmj] F][)
lmj] Hgl]k( Ofan]jkalq g^ GYjqdYf\) <Ydlaegj]( Mhjaf_ .,,2* ;nYadYZd]6
[ggc6++jjj*VfXX*hUV*XWh+nb_Tab+2--f,2+VTV[X)X*cWY
U23W ?* @* A]jaf_]j( L]\m[af_ l] Gakk LYlag( ?=? 1.-6 =gehml]j >]ka_f
Yf\ N][fgdg_q F][lmj] Hgl]k( Hgjl =Yjgdaf MlYl] Ofan]jkalq( Mhjaf_ .,,2*
U24W ?* @* A]jaf_]j( L]\m[af_ l] Bal Nae]( ?=? 1.-6 =gehml]j >]ka_f
Yf\ N][fgdg_q F][lmj] Hgl]k( Hgjl =Yjgdaf MlYl] Ofan]jkalq( Mhjaf_ .,,2*
U25W I* Gmldm( B* Eae( >*H* ;jekljgf_( Yf\ S*H* JYll( {=Y[] @adl]jaf_ N][)
faim]k lg L]\m[] l] H]_Ylan] CehY[l g^ Ok]d]kk Mh][mdYlan] G]egjq L]^]j]f[]k
gf Jjg[]kkgj J]j^gjeYf[]|( Jjg[* -2l Mqeh* =gehml]j ;j[al][lmj] Yf\ Ba_
J]j^gjeYf[] =gehmlaf_( hh* .)5( .,,0
U3,W J* EggheYf( =Y[] >YlY Ij_YfarYlagf G]egjq Mqkl]e ;j[al][lmj] F][)
lmj] Hgl]k( =Yjf]_a] G]ddgf Ofan]jkalq( M]hl]eZ]j -554* ;nYadYZd]6
[ggc6++jjj*XVX*Vh*XWh+nXVX104+[TaWbhgf+,2\WVTV[*cWY
U3-W =* G]Y\go( =Yhl]j 06 =Y[] G]egjq( =IM //16 =gehml]j ;j[al][)
lmj] Yf\ ;kk]eZdq FYf_mY_] F][lmj] Hgl]k( ;nYadYZd]6
[ggc6++hVf*T\aX*XWh+nVXTWbj+VbhefXf+Vbf//1+;G9,0*cWY
U3.W H*Dgmhha( =Y[] Qjal] Jgda[a]k Yf\ J]j^gjeYf[]( QLF L]k]Yj[ L]hgjl
5-)-.( Q]kl]jf L]k]Yj[ FYZgjYlgjq( >][]eZ]j -55-* ;nYadYZd]6
114

References

[ggc6++jjj*[c_*[c*Vb+gXV[eXcbegf+;bcTd)<=;+NID)5-)-.*cWY
U3/W J*EggheYf( >YlY GYfY_]e]fl Jgda[a]k( G]egjq Mqkl]e ;j[al][lmj]
F][lmj] Hgl]k( =Yjf]_a] G]ddgf Ofan]jkalq( M]hl]eZ]j -554*
U30W >j* G* IdYfg( =Y[] %.&( =GM=2--6 ;\nYf[]\ =gehml]j ;j[al][lmj]
F][lmj] Hgl]k( Ofan]jkalq g^ GYjqdYf\) <Ydlaegj]( Mhjaf_ .,,2* ;nYadYZd]6
[ggc6++jjj*VfXX*hUV*XWh+nb_Tab+2--f,2+VTV[X.*cWY
U31W D* BYf\q( N] =Y[] G]egjq <ggc6 N] ;mlgjYlan] L]^]j]f[] gf =Y[]
>]ka_f( .f\ ?\* ( ;[Y\]ea[ Jj]kk( -554*
U32W D*L]af]c]( >* Ajmf\( =* <]j_ Yf\ L* Qad]de( Jj]\a[lYZadalq g^ =Y[] L])
hdY[]e]fl Jgda[a]k( ;P;=M6 ;mlgeYla[ P]ja^a[Ylagf Yf\ ;fYdqkak g^ =gehd]p
Mqkl]ek( N][fa[Yd L]hgjl Hg*5( M]hl]eZ]j .,,2
U33W N] Jgo]jJ= 00, =gj]6 ; a_)h]j^gjeYf[]( kmh]jk[YdYj hjg[]kkgj [gj] ^gj
]eZ]\\]\ Yhhda[Ylagfk( ;nYadYZd]6
[ggc6++jjj,-*\U*Vb+V[\cf+gXV[_\U+gXV[_\U*afY+gXV[WbVf+41.125:.,,1,>>3341.125
53,,2/0/-;+"Y\_X+00,Sjc*cWY
U34W @j]]k[Yd] M]ea[gf\m[lgj( Cfkljm[lagf Yf\ >YlY =Y[] Fg[caf_ gf l] ]/,,
Jjg[]kkgj =gj]( ;nYadYZd]6
[ggc6++jjj*YeXXfVT_X*Vb+Y\_Xf+aXgVb+WbV+TccSabgX+9F.-.5*cWY
U35W Jjg^* N* <ajc Yf\ >j* @* AYZZYq( G]egjq Ba]jYj[q6 GYaf G]egjq Yf\
?fYf[af_ alk J]j^gjeYf[]( ??) ,02.236 =gehml]j ;j[al][lmj] F][lmj] Hgl]k(
?? >]hYjle]fl( N][fagf* ;nYadYZd]6
[ggc6++jXUXX*gXV[a\ba*TV*\_+VbhefXf+,02.23+DXVgheXf+,2)lUY,4,5)EX),0)
T\aEXGeZ*cWY
U4,W MM L;G In]jna]o( Qal] ?d][ljgfa[k >]ka_f( ;nYadYZd]6
[ggc6++jjj*j[\gXXWV*Vb +cWY+ NH,,,/SJJI9ESGiXei\Xj*cWY
U4-W M* B]Yl( ?eZ]\\]\ Mqkl]ek >]ka_f( <mll]jogjl)B]af]eYff( -553
U4.W {D?>?= klYf\Yj\6 >>L. M>L;G Mh][a^a[Ylagf|( ;nYadYZd]6
[ggc6++jjj*]XWXV*beZ+Wbja _bTW+fXTeV[+ B=J<35).=*cWY
U4/W I*=gd]k( !>>L/ L;G6 Mqkl]e G]egjq N][fgdg_q ?phdYaf]\!( -, GYq
.,,4( ;nYadYZd]6
[ggc6++UXaV[Te^eXi\Xjf*Vb+\aWXk*c[c8bcg\ba7VbSVbagXag$gTf^7i\Xj$\W7-30$Ag
X\W7/4
U40W >>L0 oadd Yhh]Yj af .,-.( ;nYadYZd]6
[ggc6++kgeXi\Xj*Vb+TWWVbXag)\W)2-40)i\Xj)<<I0)j\__)TccXTe)\a).,-.*[g_
U41W >>L0 >CGG( ;nYadYZd]6
[ggc6++jjj*\agXeYTVXUhf*Vb+EXbelSEbWh_XS<<I0S<AEE*[g_
U42W L* @jgee( CL;G lmlgjaYd( ;MJ)>;= y54( @]ZjmYjq -,( -554( ??=M( Ofa)
n]jkalq g^ <]jc]d]q( =Yda^gjfaY
;nYadYZd]6 [ggc6++\eT*Vf*UXe^X_Xl*XWh+f_\WXf+]TcTa*cWY
U43W D*L* H]ohgjl( ;nagfa[ Mqkl]ek >]ka_f( -kl ?\*( =L=)Jj]kk( -550
115

References

U44W {H;H> nk* HIL @dYk G]egjq N][fgdg_q In]jna]o|( NgkaZY ;e]ja[Y
?d][ljgfa[ =gehgf]flk Cf[*( ;nYadYZd]6
jjj*gbf[\UT*Vb+gTXV+VbcbaXagf+?XaXe\V+EXbelSIXfbheVXf+F9F<ifFGI*cWY
U45W G<42L,- HIL + H;H> @dYk Nqh] FaealYlagfk( @mbalkm Ga[jg]d][ljgf)
a[k( ;nYadYZd]6
jjj*Yh]\gfh*Vb+Wbja_bTWf+EA;IG+YX+W\fc_TlVbageb__Xef+jc)U42e,-)Y_Tf[)glcXf)
eXi-),*cWY
U5,W H;H> @dYk G]egjq Yf\ =g\] MlgjY_]( ;nYadYZd]6
jjj*TWiTaVXW)cebfX)TaW)cebZeT\aZ*Vb+fTc_Xf+cWY+aTaW*cWY
U5-W Jgo]jJ=( ;nYadYZd]6 [ggc6++jjj*XVbab\VXkcXeg*Vb+T+HbjXeH;*[g
U5.W J* <Yffgf( JQL^a[a]fl ;j[al][lmj] af =jala[Yd ?eZ]\\]\ Mqkl]ek6 <j]Yc)
ljgm_ J]j^gjeYf[]+QYll Gmdla[gj] Jjg[]kkgj( -1*-*.,,3* ;nYadYZd]6
[ggc6++jjj*UhfTaWUbTeW*Vb+UTU.,,3ceXf+HbjXe#.,9eV[\gXVgheX*cWY
U5/W <* Idkkgf( ;*GYjkYdY( ; \]n]dgh]j$k _ma\] lg l] JIQ?L Yj[al][lmj](
/,*/*.,,0*
;nYadYZd]6 [ggc6++jjj*\U*Vb+WXiX_bcXejbe^f+_\ahk+_\UeTel+_)cbjTeV[+
U50W {Jgo]jJ= ]1,, =gj] @Yeadq L]^]j]f[] GYfmYd( @j]]k[Yd] M]ea[gf\m[)
lgj* ;nYadYZd]6
[ggc6++jjj*YeXXfVT_X*Vb+Y\_Xf+/.U\g+WbV+eXYSTahT_+=1,,;GI=IE*cWY8Ycfc7-$NK
SKPH=7IXYXeXaVXETahT_f$NKSM=F<GI7>I==J;9D=$NKS>AD=S>GIE9K
7cWY$NKS9JJ=K7<bVhXagTg\ba
U51W GJ=1110 @Y[lk]]l( @j]]k[Yd] M]ea[gf\m[lgj* ;nYadYZd]6
[ggc6++jjj*YeXXfVT_X*Vb+Y\_Xf+/.U\g+WbV+YTVgSf[XXg+EH;1110>J*cWY
U52W {N] Jgo]jJ= 00, =gj]6 ; a_)h]j^gjeYf[]( kmh]jk[YdYj hjg[]kkgj [gj] ^gj
]eZ]\\]\ Yhhda[Ylagfk|( C<G Ga[jg]d][ljgfa[k >anakagf( -555* ;nYadYZd]6
[ggcf6++jjj,-*\U*Vb+V[\cf+gXV[_\U+gXV[_\U*afY+gXV[WbVf+41.125:.,,1,>>3341.12
553,,2/0/-;+"Y\_X+00,Sjc*cWY
U53W ;* A* ManY( ;\nYf[]\ =gehml]j ;j[al][lmj]k( -kl ?\alagf( NYqdgj #
@jYf[ak( =L=( .,,1
U54W D*F* B]ff]kkq Yf\ >*;* JYll]jkgf( =gehml]j ;j[al][lmj]6 ; KmYflalYlan]
;hhjgY[( Ggj_Yf EYm^eYff( MYf @jYf[ak[g( =;( -552
U55W G* L* AmlYmk( D* M* Laf_]fZ]j_( >* ?jfkl( N* G* ;mklaf( N* Gm\_] Yf\ L*
<* <jgof( Ga<]f[6 ; ^j]]( [gee]j[aYddq j]hj]k]flYlan] ]eZ]\\]\ Z]f[eYjc
kmal]( A=== 0g[ 9aahT_ Nbe^f[bc ba Nbe^_bTW ;[TeTVgXe\mTg\ba( ;mklaf( NR( >])
[]eZ]j .,,;nYadYZd]6 [ggc6++jjj*XXVf*h\V[*XWh+\UXaV[+HhU_\VTg\baf+E\:XaV[*cWY
U-,,W D*?f_Zdge( Qq Mh][Cfl51 Mgmd\ Hgl <] Ok]\ lg <]f[eYjc ?eZ]\)
\]\ Mqkl]ek Nggdk( D;K=J6 DTaZhTZXf( Vbc\_Xef( TaW gbb_f Ybe XUXWWXW flfgXf6
cebVXXW\aZf bY g[X 9;E JA?HD9F jbe^f[bc( -555
U-,-W ;*L* Q]akk( >jqklgf] <]f[eYjc6 Baklgjq( ;fYdqkak( M[gj]k Yf\ L][ge)
e]f\Ylagfk( ;nYadYZd]6
116

References

[ggc6++jjj*]b[a_bb\f*beZ+F\bfAA+W[elfgbaX+=;D<[elfgbaXN[\gXHTcXe*cWY
U-,.W <* <j]e]j( Mqkl]e <]f[eYjck( >]Ggfl^gjl Ofan]jkalq( ;nYadYZd]6
[ggc6++jjj*VfX*Wh*TV*h^+nUU+KXTV[\aZ+;bchgXeJlfgXf+JlfgX:XaV[Te^f+:XaV[
ETe^f*[g_
U-,/W L* Fgf_Zgllge( Q]lklgf] <]f[eYjc Baklgjq Yf\ L]kmdlk( ;m_mkl
.,,4* ;nYadYZd]6 [ggc6++jjj*ebl_baZUbggb*beZ*h^+j[XgfgbaX*[g
U-,0W ;* L* Q]akk( >jqklgf] <]f[eYjc6 Baklgjq( ;fYdqkak( M[gj]k Yf\ L][)
gee]f\Ylagfk( -*0*.,,.* ;nYadYZd]6
[ggc6++jjj*]b[a_bb\f*beZ+F\bfAA+W[elfgbaX+=;D<[elfgbaXN[\gXHTcXe*cWY
U-,1W >jqklgf]( <dY[c^af Fafmp >g[k( ;nYadYZd]6
[ggc6++WbVf*U_TV^Y\a*hV_\ahk*beZ+Wb^h*c[c8\W7hV_\ahk)W\fg6W[elfgbaX
U-,2W L* Sgjc( <]f[eYjcaf_ af =gfl]pl6 >jqklgf]( ;LG Fl\*( ;nYadYZd]6
[ggc6++jjj*Te*Vb+cWYf+<[elfgbaX*cWY
U-,3W ??G<= I^^a[aYd Q]Zkal]( ;nYadYZd]6 jjj*XXUV*beZ
U-,4W MJ?= I^^a[aYd Q]Zkal]( ;nYadYZd]6 jjj*fcXV*beZ
U-,5W Ga<]f[ P]jkagf -*,( ;nYadYZd]6 [ggc6++jjj*XXVf*h\V[*XWh+\UXaV[+
U--,W L* =jYngllY( Lak] g^ Y >jqklgf] l]jeafYlgj:( .*2*.,,5* ;nYadYZd]6
[ggc6++jjj*XWa*Vb+U_bZ+-45,,,,-45+cbfg+1,,01.,1*[g_
U---W =gj]GYjc I^^a[aYd Q]Zkal]( ;nYadYZd]6 jjj*VbeXTe^*beZ
U--.W ?*<jgof( @j]] ]eZ]\\]\ hjg[]kkgj Z]f[eYjck \]Zml( 4*2*.,,5( ;nYadY)
Zd]6
[ggc6++jjj*j\aWbjfYbeWXi\VXf*Vb+V+T+FXjf+>eXX)XUXWWXW)cebVXffbe)UXaV[Te^f)
WXUhg+
U--/W F* Ao]ffYh( >]Yl lg >jqklgf]:( .*2*.,,5* ;nYadYZd]6
[ggc6++U_bZ*_\a_XlZebhc*Vb+.,,5+,2+WXTg[)gb)W[elfgbaX*[g_
U--0W G* ;Z\)?d)<Yjj( B* ?d)L]oafa( @mf\Ye]flYdk g^ =gehml]j Ij_YfarYlagf
Yf\ ;j[al][lmj]( Qad]q Cfl]jk[a]f[]( Dgf Qad]q # Mgfk( Cf[*( BgZgc]f( H]o
D]jk]q( .,,1
U--1W DgYf >YdZ]j_( {?eZ]\\]\ =gehml]j ^gj MhY[] ;hhda[Ylagfk kmalYZd] ^gj
Fafmp|( GYkl]j N]kak( Fafcwhaf_ Ofan]jkalq( .,,/
U--2W ;eaf MYkYnYj( {>]^afaf_ Y Gg\mdYj( Ba_ Mh]]\ Yf\ LgZmkl ;nagfa[
;j[al][lmj] ^gj O;Psk|( GYkl]j N]kak( Fmd]v Ofan]jkalq g^ N][fgdg_q( >])
hYjle]fl g^ MhY[] M[a]f[]( EajmfY( .,,4
U--3W QY\] >* >mqe( {?^^][lk g^ >a_alYd ;nagfa[ Mqkl]ek gf l] MmjnanYZadalq g^
Gg\]jf ;aj[jY^lk|( Jgkl)AjY\mYl] N]kak( HYnYd Jgkl_jY\mYl] M[ggd( Ggfl]jj]q(
=Yda^gjfaY( -551
U--4W Q* J^]a^^]j( {G]egjq J]j^gjeYf[] Gg\]d ^gj Fgghk Yf\ E]jf]dk gf Jgo)
]j/ Jjg[]kkgjk|( FD MYf >a]_g Mmh]j[gehml]j =]fl]j( -4g[ AagXeaTg\baT_ HTeT__X_
TaW <\fge\UhgXW HebVXff\aZ Jlcbf\h &AH<HJ( .,,0
117

References

U--5W N* >a]h( =* H]dkgf Yf\ D* J* M]f( {J]j^gjeYf[] ?nYdmYlagf g^ l] Jg)


o]jJ= 2., Ga[jgYj[al][lmj]|( HebVXXW\aZf bY A===6 ..aW 9aahT_ AagXeaTg\baT_
Jlcbf\h ba ;bchgXe 9eV[\gXVgheX( -551
U-.,W IYfY @dgj]k[m( {=gehad]j IhlaearYlagfk ^gj l] Jgo]jJ= ;j[al][lmj]|(
GYkl]j N]kak( =gehml]j M[a]f[] Yf\ ?f_af]]jaf_ >]hYjle]fl( Jgdal]fa[Y Ofa)
n]jkalq g^ <m[Yj]kl( .,,/
U-.-W Sm[]f FaYf_( Mq]\ GmYeeY\ T]]kYf CiZYd |Ih]fGJ<]f[6 ;f
Ih]f)Mgmj[] <]f[eYjc ^gj Gmdlahjg[]kkgj <Yk]\ ?eZ]\\]\ Mqkl]ek|( GYkl]j
N]kak( M[ggd g^ =gehmlaf_( <d]caf_] Cfklalml] g^ N][fgdg_q( .,-,
U-..W {JJ=00, Jjg[]kkgj Ok]jzk GYfmYd|( ;G== M]ea[gf\m[lgj( L]nakagf -*,2(
;hjad .1( .,,3
U-./W {].,,r2 Jgo]jJ=} =gj] L]^]j]f[] GYfmYd|( @j]]k[Yd] M]ea[gf\m[lgj(
2+.,,0* ;nYadYZd]6
[ggc6++jjj*\WfV*Xg[m*V[+;bhefXf+XUXWWXWSVbageb_SflfgXf+=kXeV\fXf+=.,,Q2SIE*cWY

118

Appendix A: Processor Architecture Comparison

Appendix A: Processor Architecture Comparison


; \]lYad]\ [gehYjakgf g^ l] ea[jg)Yj[al][lmj]k g^ l] log hjg[]kkgjk mk]\
af lak l]kak ogjc( ;G== JJ=00,?Jp Yf\ @j]]k[Yd] GJ=110( Yj] ]phdYaf]\ af
l] ^gddgoaf_ lYZd]* N] lYZd] [gn]jk Ykh][lk km[ Yk =JO \]ka_f hYjYe]l]jk( [Y[]
h]j^gjeYf[] hYjYe]l]jk( [gj] h]j^gjeYf[] hYjYe]l]jk( [Y[] hYjYe]l]jk( h]ja)
h]jYdk Yf\ ]fnajgfe]flYd hYjYe]l]jk*

CPU

Design

Parameters

LOW PERFORMANCE

MEDIUM PERFORMANCE

PROCESSOR

MPC5554

PPC440EPx

VENDOR

Freescale

AMCC

Function
Processor Generation
Data Bus

e200z6

PPC440 Core

32-bit

32-bit

CPU Core Frequency

132 MHz / Clocked from FrequencyModulated PLL (FMPLL)

400 - 667 MHz

Process
Power Consumption
CPU Core Voltage
I/O Voltage

0,13 m

0.18 m (CMOS Cu-11)

0,65 - 1,44 W (Typical)

1,69 - 2,2 W (Typical)

1,5 V

1,8 V

3,3 - 5 V

0 - 3,6 V

Power Architecture Support

32-bit Book-E Enhanced PowerPC Architecture full compliance (FP instructions


are not supported. They are trapped,
while FP operations can be emulated by
software.

Package

416-PBGA (27x27mm) / Lead-free compliant

32-bit Book-E Enhanced PowerPC


Architecture full compliance (64-bit
operations of the architecture & FP
operations are not supported. They
are trapped, while FP operations
can be emulated via software)
680-TEPBGA(35x35mm) / Leadfree compliant

Temperature
range

-40C - 125C

-40C - 125C

Floating Point
Support

Embedded vector and scalar FP APU


(Single Precision) / Signal Processing
Engine Auxiliary Processing Unit (SPE
APU) interface for 32-bit IEEE-754 (Single-Precision) / Single precision in hardware and double precision with software
library

Auxiliary Processing Unit (APU)


interface for 32-bit IEEE-754 (Single
Precision / Double Precision), Pipelined with 5 stages with 2 MFlops/Hz

Core

Endianness

Big / Little

Big / Little

Performance

Registers

32x64 (Integer) / FP instructions use


GPRs for improved performance, using
both halves of 64-bit GPRs

32x32 (Integer) / 32x64 (FP)

Parameters

Execution
Pipeline

Single Issue (in-order), 7-stage pipeline


with 6 independent 3-stage exec. pipelines (Integer / Load-Store / Branch /
Scalar APU / Vector APU/ Branch) / FeedForwarding

Functional Units

Integer Unit (IU) / Load-Store Unit (LSU) /


Branch Processing Unit (BPU) / SPE APU
/ APU

119

Dual-issue (out-of-order), 7-stage


pipeline with 4 independent 3-stage
exec. pipelines (Simple Integer,
Load-Store, Complex Integer/Branch, FP)
Complex Integer Unit (Single-cycle
MAC with 24 DSP operations) and
Branch Unit/ Simple Integer Unit /
Load-Store Unit / APU

Appendix A: Processor Architecture Comparison

Instruction Unit

Completion Unit
Memory
Management
Unit (MMU)
Hierarchy

Core

NONE

64 entry unified TLB / 8 entry data


shadow TLB / 4 entry instruction
shadow TLB (All fully-associative)

Address
Translation

32-bit physical - bit virtual / 32-bit real


address for 32-bit (4GB) effective address
space (using a 41-bit interim virtual address)

32 bit physical - 52 bit virtual / 4-bit


extended real address for 36-bit
(64GB) effective address space

Page Sizes

9 (4KB, 16KB, 64KB, 256KB, 1MB, 4MB,


16MB, 64MB and 256 MB)

8 (1KB, 4KB, 16KB, 64KB, 256KB,


1MB, 16MB and 256MB)

Storage attribute controls (write-through,


caching inhibited, guarded, memorycoherence, endianness) & 4 userdefinable storage attribute controls
Dynamic: Bi-modal BTB (Static branch
prediction bit defined by the Book-E architecture is ignored) / BPU contains an
adder to compute branch target addresses and 3 user-control registers: the
link
register (LR), the count register (CTR),
and the conditional register (CR).
System Integration Unit (SIU) / Flash Bus
Interface Unit (FBIU) / Enhanced Queued
Analog-to-Digital Converter (eQADC) /
Boot-assist Module (BAM) / Crossbar
Switch (XBAR) / Enhanced Modular I/O
System (eMIOS) / Error Correction Status
Module (ECSM) / Enhanced Serial Communications Interface (eSCI)

Storage attribute controls (writethrough, caching inhibited, guarded,


endianness) & 4 user-definable
storage attribute controls

Branch Unit

Additional
Features

External Interrupt Controller (EIC)


Interface / Auxiliary Processor Unit
(APU) Interface / Built-in security
function (PPC440EPx-S only) /
NAND Flash Controller / DMA-toPLB4 (128-bit) Controller / DMA-toPLB3 (64-bit) Controller / External
Bus Controller (EBC)

3 (32-bit FIT, 64-bit TB, 32-bit DEC)

3 x 64-bit (DEC, FIT, WDOG) + 64bit Time Base

Application
Acceleration
Features.

64-channel Enhanced Time Processor


Unit (eTPU) (2)

KASUMI Algorithm (Key scheduling


hardware fully synchronous to PLB)

L1 Cache Characteristics

Write Policy

Parameteres

Hybrid: Static (Predicted taken if


they are unconditional or if their
branch displacement is negative) +
Dynamic (Bi-modal BPB + BTAC)

Timers

32kB unified (8-way& 128 sets) / 8-word


L1 Cache
line size / Virtually-indexed but physically(Instruction/Data)
tagged

Cache

Dual fetch and decode / Out-OfOrder-Execution, Out-Of-OrderCompletion, In-Order-Retire / 4-entry


instruction buffer /Extensive LoadStore queues
NONE

32-entry unified TLB (fully-associative)

Performance

Parameters

Dual fetch and decode / In-OrderExecution, In-Order-Completion, In-OrderRetire / 7-entry instruction buffer

Replacement
Algorithm
L1 Cache
Supervision
L1 Cache
Locking Support

Non-blocking / Critical double-word-first


data access / Variable Length Encoding
(VLE) / Partitioning / Data Streaming
making CPU seem as if data arrives from
the bus if a corresponding request is
pending
Write-through / Copy-back (Caching
Inhibit)

32 kB/ 32 kB (64-way & 16 sets) / 8word line size / I-cache physicallyindexed but virtually-tagged / Dcache virtually-indexed and virtually-tagged
Non-blocking up to 4 outstanding
misses / Configurable Cache Arrays
/ Critical word-first data access and
forwarding / Partitioning
Write-through / Copy-back (Caching
Inhibit)

PseudoRound-Robin

Round-Robin

Parity

Parity

Line-locking

Way-locking

120

Appendix A: Processor Architecture Comparison

L1 Cache
Controllers

Hit under miss via 8-entry store buffer &


1-entry push buffer / Unified merging-linefill buffer with critical double-word forwarding (last line loaded from a read
miss) / late-write buffer (data from the last
cache write hit) / No control over SWOA
(Stores do not allocate on write miss) /
Cache management instructions [flushing, invalidating cache lines or flash
invalidation of entire cache]

I-Cache
Controller
Specific

Cache

UNIFIED CACHE
D-Cache
Controller
Specific

Parameters

Speculative Prefetch up to 3 more


cache lines upon miss (unless
guarded bits are set) / Hardware
support for misaligned access /
Partitioning
Hit under miss via extensive load,
store, and flush queues [Line Fill
Buffer (3-entry), Load Miss Queue
(4-entry)Line Flush Buffer ( 2-entry)
/ Store Gathering / Control of
SWOA / Full Line Flush capability
No automatic enforcement of coherency between I-cache, D-cache
and memory / Software must use
cache management instructions to
ensure coherency

Cache
Coherency

No hardware support for coherency in a


multiple-master environment. Software
must be used to maintain coherency with
other possible bus masters.

Main Memory
Support

EBI includes a memory controller to


support a variety of external memories
such as single data rate (SDR) burst
mode flash,external SRAM and asynchronous memories

DDR/DDR2 SDRAM (32/32-64 bit)

Bus Interface

External Bus Interface (EBI) controls data


transfer across the crossbar switch
to/from memories or peripherals and
enables external masters / BIU interfaces
the system
bus to a dedicated flash memory array
controller and the memory BIU supports
is based on the AMBA AHB-Lite subset of
the AMBA 2.0 AHB

CoreConnect (PLB, OPB, DCR)

Bus Interface
Details

Peripherals

Cache management instructions


[touching(prefetching), flushing,
invalidating, zeroing cache lines, or
flash invalidation of the entire
cache] / Line Alignment Option

Debug Interface
Main Memory
(RAM) Supervision
Main Memory
(RAM) Frequency
Main Memory
Max. Size
PCI support
High-Speed
Interfaces
UARTs

32-bit address bus / 64-bit data bus/


Single-beat transfers are supported for
cache-inhibited read and write cycles,
and write-buffer writes. Burst
transfers of four doublewords are supported for cache linefill and copyback
operations
IEEE 1149.1 JTAG port / Nexus Development Interface (NDI) IEEE-ISTO 50012003 / Real time development support
through Nexus Class 3 / Data trace of
eDMA accesses

PLB4 (128-bit) / PLB3(64-bit) /


OPB, DCR (32-bit) / 32-bit address
bus

IEEE 1149.1 JTAG port / Real-time


non-invasive instruction trace

ECC

ECC

66 MHz

133-166 MHz (333 MHz data rate)

512 MB

2 GB

NONE

32 bit /33-66 MHz

FlexCAN (3)

NONE

I C Controller

No

DMA Controller
Ethernet
Controllers

1 eDMA (64-channel)

2 (4-channel)

NONE

121

Appendix A: Processor Architecture Comparison

Peripherals

GPIO

214 (multiplexed with other I/O unctions/


Dedicated input and output registers)

SPI

4 (DSPI)

USB
External interrupts

NONE
8 Interrupt Controllers (INTC)

64 (Multiplexed with other


I/Ofunctions /DCRs control whether
a particular pin that has GPIO /
Memory-mapped)
1 (Up to 66 MHz via OPB)

USB 2.0
10 / 2 Universal Interrupt Controllers
(UIC)

Environmental

Embedded
Design Support

eTPU Stand-Alone Simulator / eTPU&CPU System Simulator /


TRACE32-ICD / RAppID Init initialization tool/ dSpace TargetLink & MathWorks Simulink for Modeling and Code
generation / Ronetix Peedi JTAG Emulator / MOCANA Protocol Stacks / Kozio
Test Software

Parameters

Performance

TBD

800 DMIPS @ 400 MHz (Typical)


1,334 DMIPS @ 667 MHz (Typical)

Compilers

Code Warrior / Green Hills / Wind River


/ GNU / Ashware ETPU_C

Green Hills / GNU / Wind River

Debuggers

MULTI Debugger / Green Hills BSP /


MPC5500 GAP Tool /iSystem / P&E
Micro / Lauterbach TRACE32-ICD

MULTI Debugger / Lauterbach

RTOS
IDE

EcosCentri eCOS / Green Hills INTEGRITY


Green Hills MULTI / DDCI Scorpion /
Ashware ETPUCPUSIM-FL and ETPUSIM-FL / RAPPID Toolbox / Freescale
Free Master

122

High C/C++
Compiler/RISCWatch debugger with
RISCTrace trace interface/VHDL and
Verilog simulation
models / PPC440 Core Superstructure development kit

DDCI DeOS
Green Hills MULTI / Lauterbach

Appendix B: Processor Register Maps

Appendix B: Processor Register Maps


N] ^gddgoaf_ lYZd] _an]k Y \]lYad]\ j]_akl]j dakl g^ JJ=00,?Jp Yf\
J=1110 [gn]jaf_ Ydd l] aehgjlYfl hYjYe]l]jk ^jge h]j^gjeYf[] hgafl g^ na]o*
N] j]_akl]jk af Zgd\ ^gfl e]Yf lYl l]q Yn] Z]]f mk]\ af lak l]kak \mjaf_ gmj
l]klk* N]q Yj] [Yl]_gjar]\ aflg =JO [gj]( [Y[af_ Yf\ e]egjq eYfY_]e]fl mfal
%GGO&*
Detailed Information of Processor Cores Including Registers for Specific
Performance Parameters
PROCESSOR

PPC440EPx

MPC5554

VENDOR

AMCC

Freescale

PPC440 Core

e200z6

Data Bus

32-bit

32-bit

CPU

CPU
Core
Frequency

SYS PLL Configuration: 33


MHzSysClk67 MHz / 133 MHz PLB
166 MHz/ CPU:PLB clock ratio can be
5:2, 3:1, 7:2 or 4:1 /CPR0_PLLC0[ENG,
SEL, SRC] for clocking mode /
CPR0_PRIMAD0, PRIMBD0[PRADV0,
PRBDV0], and CPR0_PLLD[FBDV,
CPR0_LFBDV, FWDVA, FWDVB,
PRADV0, PRBDV0] for VCO multiplier
M / CPR0_PLLC0[TUNE] based on
VCO frequency and M /
SDR0_CP440[Nto1] for CPU:PLB /
600VCO1334 MHz / VCO = SysClk x
M, CPU= VCO / FWDVA / PRADV0,
PLB = VCO / FWDVB / PRBDV0

PREDIV [0:2] for controlling the


value of the divider on the input
clock / MFD[0:4]
Multiplication factor divider controls
the value of the divider in the
FMPLL feedback loop / RFD[0:2]
Reduced frequency divider controls
a divider at the output of the
FMPLL / LOLRE Loss-of-lock reset
enable / LOCRE Loss-of-clock
reset enable / LOCEN Loss-ofclock enable

Core

Endianness

TLB Word 2, Endianness attribute (E)

Function
Processor
Generation

Memory
Management

MAS2[E]

Floating
Point Unit

CCR0[DAPUIB], MSR[FP,ME]

Timers

64-bit Time Base (TBL and TBU) / 32-bit


Decrementer (DEC), Watchdog (WDOG)
and controlled via Timer Control Register (TCR), Timer Status Register (TSR)
and Decrementer Auto-Reload (DECAR)

Page Sizes

8 (1KB, 4KB, 16KB, 64KB, 256KB, 1MB,


16MB and 256MB): TLB Word 0, Page
Size Attribute [PSIZE]

9 (4KB, 16KB, 64KB, 256KB, 1MB,


4MB, 16MB, 64MB and 256 MB):
MAS1[TSIZE]

Each TLB entry in MMU identifies a


page and defines its translation, access
controls, and storage attributes (writethrough, caching inhibited, guarded,
endianness defined in TLB word 2) as
well as 4 user-definable storage attribute
controls.( also defined in TLB Word 2)

6 special purpose registers (MAS0,


MAS1, MAS2, MAS3, MAS4 and
MAS6) to facilitate reading, writing,
and searching the TLBs / TLB Entry
can be selected via MAS0[ESEL] /
MAS1[IPROT] IPROT prevents
invalidations, protecting critical
entriesfrom being invalidated./
e200z6 ignores the guarded
attribute since no speculative or
out-of-order processing is performed / Storage attributes defined
in MAS2 / 8-bit PID register (PID0) /
Victim TLB entry can be selected
via MAS0[NV]

MMU Details

123

MSR[SPE], MSR[FP, ME],


SPEFSCR
64-bit Time Base (TBL and TBU) /
32-bit Decrementer (DEC), Watchdog (WDOG) and controlled via
Timer Control Register (TCR),
Timer Status Register (TSR) and
Decrementer Auto-Reload (DECAR)

Appendix B: Processor Register Maps

Memory
Management

Caching

Condition Register (CR) as branch


condition, Count Register (CTR) as
count for branch conditional with
decrement
instructions, Link Register (LR) as
address of the instruction following
the branch instruction / Dynamic
branch prediction is enabled via
BUCSR[BPEN] / Control
over whether forward or backward
branches (or both) are candidates
for entry into the BTB via
HID0[BPRED]; (After a branch is in
the BTB, HID0[BPRED] has no
further
effect on that branch entry)
Associativity: L1CFG0[CNWAY] /
Cache Size: L1CFG0[CSIZE] /
Cache Enable: L1CFG0[CE] /
Cache-Invalidate: L1CFG0[CINV]
(Specific way can be invalidate via
L1FINV0) / Cache Streaming:
L1CSR0[DSTRM] / Store Buffer:
L1CFG0[DSB] / Push Buffer:
L1CFG0[DPB] / Note: State of
cache-inhibited attribute (I) remains
independent of the state of
L1CSR0[CE] since disabling the
cache does not affect the MMU
translation logic./ Note: Store buffer
is available even if the cache is
disabled

Branch Unit

Condition Register (CR) as branch


condition, Count Register (CTR) as
count for branch conditional with decrement
instructions, Link Register (LR) as address of the instruction following the
branch instruction / BTAC can be disabled via CCR0[DBTAC]

L1 Cache

Store Gathering: CCRO[DSTG] / Force


Load-Store Alignment:CCR0[FLSTA] /
Speculative Line Count: CCR0[ICSLC] /
Speculative Line Threshold:
CCR0[ICSLT] / Force Full-line Flush:
CCR1[FFF] / Store-Without-Allocate:
MMUCR [SWOA]

Cache
Supervision

Parity via CCRO[PRE, CRPE], CCR1


[ICDPEI, ICTPEI, DCDPEI, DCTPEI,
DCUPEI, DCMPEI, DPC]

L1CSR0[CPE]

Write Policy

Write Policy can be selected via MMU


storage attribute controls

Write Policy: L1CSR0[CWM]

Replacement
Algorithm

L1 Cache
Locking

The way selected to be the victim for


replacement can be determined via
Instruction/Data Cache Normal Victim
(INV0-INV3/DNV0-DNV3) and Instruction/Data Cache Transient Victim (ITV0ITV3/DTV0-DTV3) / There is a separate
victim index field for each set within the
cache
Any number of ways can be locked, from
0 ways to 63. At least
one way must always be left unlocked,
for use by cacheable line fills / Instruction/Data Cache Victim Limit (IVLIM/DVLIM) specify which ways of the
cache are used for normal accesses
and/or transient accesses and which
ways are locked / TFLOOR, NFLOOR
and TCEILING determine the partitioning of the cache to transient, normal and
locked regions.

124

PseudoRound-Robin / Single
replacement counter for entire
cache / No control over selecting
victim lines

Line-locking / Partioning can be


enabled via L1CSR0[CWPA] /
L1CSR0[WID] and L1CSR0[WDD]
are used for locking ways of the
cache / In 8-way cache, control for
ways 47 is grouped, using a single
disable bit (AWID and AWDD) for
each type of replacement.

Appendix C: EEMBC AutoBench Algorithms

Appendix C: EEMBC AutoBench Algorithms


Nak Yhh]f\ap _an]k Y Zja]^ gn]jna]o g^ l] Yd_gjalek mk]\ af l] Ymlgeglan] [dYkk
g^ Z]f[eYjc ^jge ??G<=( l] ;mlg<]f[}( ZYk]\ gf l] ;mlg<]f[} kg^l)
oYj] \YlY Zggc* N]q o]j] mk]\ af gmj l]klk lg gZlYaf l] ;mlgeYjc} k[gj]k* @gj
Y egj] \]lYad]\ \]k[jahlagf( hd]Yk] j]^]j lg l] ;mlg<]f[}-*- kg^loYj] Z]f[)
eYjc \YlY Zggc*
-* ;f_d] lg Nae] =gfn]jkagf %Y.lae]&
Cf l] Y.lae] Yd_gjale( l] =JO j]Y\k Y [gmfl]j lYl e]Ykmj]k l] j]Yd)
lae] \]dYq Z]lo]]f hmdk]k k]fk]\ ^jge Y lggl]\ o]]d %_]Yj& gf l] [jYfckY^l g^
Yf ]f_af] Yf\ l]f \]l]jeaf]k l] Ngh >]Y\ =]fl]j %N>=& hgkalagf gf l]
[jYfckY^l( [gehml]k l] ]f_af] kh]]\( Yf\ hjgna\]k Y [gfn]jkagf ^jge l] lggl
o]]d hmdk]k lg hj][ak] [jYfckY^l Yf_d] hgkalagf* Nak nYdm] ak ]phj]kk]\ af daf]Yj
lae] ^jge N>=* N] lggl o]]d hmdk]k Y[lmYddq j]hj]k]fl [jYfckY^l Yf_d]( Yf\
l] \]dYq Z]lo]]f hmdk]k qa]d\k Yf_mdYj n]dg[alq g^ l] [jYfckY^l %]f_af] kh]]\&*
.* <Yka[ @dgYlaf_ Jgafl %ZYk]^h&
N] ZYk]^h Yd_gjale e]Ykmj]k ZYka[ afl]_]j Yf\ ^dgYlaf_ hgafl [YhYZadala]k*
N] Z]f[eYjc [Yd[mdYl]k l] Yj[lYf%p& ^mf[lagf mkaf_ l] l]d]k[ghaf_ k]ja]k6
Yj[lYf%p& 8 p J%p.& + K%p.&
Cf lak ]imYlagf( J Yf\ K Yj] hgdqfgeaYdk( Yf\ p ak Ykkme]\ lg Z] af l]
jYf_] ^jge , lg lYf%+0&*
/* <al GYfahmdYlagf %Zalefh&
Cf l] Zalefh Yd_gjale( dYj_] fmeZ]jk g^ Zalk Yj] lg Z] eYfahmdYl]\(
eYfq \][akagfk Yj] lg Z] lYc]f ZYk]\ mhgf Zal nYdm]k Yf\ Zal Yjale]la[ lYc]k
hdY[]*
0* =Y[] <mkl]j %[Y[]Z&
N] [Y[]Z Yd_gjale kaemdYl]k Yf ]eZ]\\]\ Ymlgeglan]+af\mkljaYd Yhhda)
[Ylagf oalgml Y [Y[]* Cl a_da_lk h]j^gjeYf[] o]f dgf_ k][lagfk g^ [gfljgd
[g\] Yj] ]p][ml]\ oal n]jq dalld] ZY[coYj\k ZjYf[af_ gj j]nakalaf_ g^ l] kYe]
\YlY* Jjg[]kkgjk oa[ mladar] dggc)Y]Y\ e][Yfakek jYl]j lYf [Y[]k Yj] ]p)
h][l]\ lg h]j^gje o]dd ]j]*
1* =Yf L]egl] >YlY L]im]kl %[Yfj\j&
Cf l] [Yfj\j Yd_gjale( Y ;bageb__Xe 9eXT FXgjbe^ &;9F afl]j^Y[] fg\]
]paklk ^gj ]p[Yf_af_ e]kkY_]k Y[jgkk l] kqkl]e* N] kalmYlagf Z]af_ kaemdYl]\ ak
lYl oa[ g[[mjk o]f Y L]egl] >YlY L]im]kl %L>L& e]kkY_] ak j][]an]\ Zq Ydd
fg\]k* ?n]jq fg\] kgmd\ [][c l] a\]fla^a]j g^ l] e]kkY_] lg k]] a^ l]q gof
lYl lqh] g^ \YlY* C^ q]k( l]f l] j]khgfkaZd] fg\] kgmd\ _Yl]j l] \YlY Yf\
ljYfkeal al ZY[c gflg l] f]logjc ^gj l] gja_afYlgj g^ l] L>L*
125

Appendix C: EEMBC AutoBench Algorithms

2* @Ykl @gmja]j NjYfk^gje %Ya^^lj&


;k [Yf Z] mf\]jklgg\ ^jge alk fYe]( l] Ya^^l Yd_gjale h]j^gjek Y hgo]j
kh][ljme YfYdqkak g^ Y lae] nYjqaf_ afhml oYn]^gje Zq [gehmlaf_ l] yjY\ap).z
\][aeYlagf af ^j]im]f[q @Ykl @gmja]j NjYfk^gje %@@N& gf [gehd]p afhml nYdm]k
klgj]\ af j]Yd Yf\ aeY_afYjq YjjYqk Yf\ l]f [gfn]jlaf_ l]e lg ^j]im]f[q \geYaf
Yf\ [Yd[mdYlaf_ l] hgo]j kh][ljme*
3* @afal] Cehmdk] L]khgfk] %@CL& @adl]j %Ya^aj^&
N] Ya^aj^ Yd_gjale kaemdYl]k Yf Yhhda[Ylagf o]j] l] =JO h]j^gjek Y
@afal] Cehmdk] L]khgfk] %@CL& ^adl]jaf_ kYehd] gf -2)Zal gj /.)Zal ^ap]\)hgafl
nYdm]k* Ba_ Yf\ dgo)hYkk @CL ^adl]jk kaehdq hjg[]kk l] afhml ka_fYd \YlY*
4* Cfn]jk] >ak[j]l] =gkaf] NjYfk^gje %a\[ljf&
N] a\[l Yd_gjale kaemdYl]k Yhhda[Ylagfk h]j^gjeaf_ \a_alYd na\]g Yf\
_jYha[k Yhhda[Ylagfk km[ Yk aeY_] j][g_falagf Zq h]j^gjeaf_ Yf afn]jk] \ak[j]l]
[gkaf] ljYfk^gje %a>=N& gf Yf afhml \YlY eYljap k]l mkaf_ 20)Zal afl]_]j Yjal)
e]la[*
5* Cfn]jk] @Ykl @gmja]j NjYfk^gje %Yaa^^l&
N] Yaa^^l Yd_gjale h]j^gjek lae] \geYaf YfYdqkak g^ Yf afhml ^j]im]f[q
kh][ljme oa[ eYq Z] mk]\ af fgak] [Yf[]ddYlagf Yhhda[Ylagfk Zq [gehmlaf_ l]
yjY\ap).z \][aeYlagf af ^j]im]f[q afn]jk] @Ykl@gmja]j NjYfk^gje %@@N& gf [ge)
hd]p afhml nYdm]k klgj]\ af j]Yd Yf\ aeY_afYjq YjjYqk*
-,* Cf^afal] Cehmdk] L]khgfk] %CCL& @adl]j %aaj^dl&
N] aaj^dl Yd_gjale kljaYd Yhhda[Ylagf h]j^gjek Yf Cf^afal] Cehmdk] L])
khgfk] %CCL& ^adl]jaf_ kYehd] gf -2) Zal gj /.)Zal ^ap]\)hgafl nYdm]k Yf\ aehd])
e]flk Y >aj][l)@gje CC H)[Yk[Y\]\( k][gf\)gj\]j CCL ^adl]j* Nak Yd_gjale ]p)
hdgj]k Y =JOzk YZadalq lg h]j^gje emdlahdq)Y[[memdYl]k Yf\ jgmf\af_ Zq ]ehdgq)
af_ lqha[Yd >MJ ^mf[lagfk lYl ogmd\ j]hdY[] Yf YfYdg_ ka_fYd [Yaf [gehjak]\ g^
gh)Yehk Yf\ [gehYjYlgjk*
--* GYljap ;jale]la[ %eYljap&
N] eYljap Yd_gjale h]j^gjek Y dgl g^ eYljap Yjale]la[( kh][a^a[Yddq FO
\][gehgkalagf gf yf p fz afhml eYlja[]k Yf\ [gehml]k l] \]l]jeafYfl g^ l]
afhml eYljap l]f Y [jgkk hjg\m[l oal Y k][gf\ eYljap*
-.* Jgafl]j =Ykaf_ %hflj[&
N] hflj[ h]j^gjek Y dgl g^ hgafl]j eYfahmdYlagf ]ehdgqaf_ Y \gmZdq
dafc]\ dakl l]f k]Yj[]k l] dakl ^gj ]flja]k oa[ eYl[ Yf afhml lgc]f* ; dYj_] k]l
g^ afhml lgc]fk ak mk]\ lg ]p]j[ak] l] ]flaj] dakl Yf\ l] fmeZ]j g^ kl]hk lYc]f lg
^af\ ]Y[ afhml lgc]f ak j][gj\]\*
-/* Jmdk] Qa\l Gg\mdYlagf %hmoeg\&
N] hoeg\ Yd_gjale kaemdYl]k Yf af\mkljaYd Yhhda[Ylagf o]j] Yf Y[lmY)
lgj ak \jan]f Zq Y JQG ka_fYd hjghgjlagfYd lg kge] afhml* Mh][a^a[Yddq( l] Yd_g)
126

Appendix C: EEMBC AutoBench Algorithms

jale hj]kme]k lYl l] ]eZ]\\]\ hjg[]kkgj ak \janaf_ Yf B)Zja\_] eglgj \jan]j


oal Zgl \aj][lagf Yf\ ]fYZd] ka_fYdk* Imlhmlk Yj] hjgna\]\ ^gj log km[ B)
Zja\_] \jan]jk( Yk ea_l Z] mk]\ ^gj Y ZahgdYj kl]hh]j eglgj \jan]j( gj hjghgjlagfYd
>= eglgj \jan]*
-0* LgY\ Mh]]\ =Yd[mdYlagf %jkh]]\&
N] jkh]]\ Yd_gjale j]h]Yl]\dq [Yd[mdYl]k l] jgY\ kh]]\ ZYk]\ gf \a^^]j)
]f[]k Z]lo]]f lae]j [gmfl]j nYdm]k* ;dd nYdm]k Yj] ^adl]j]\ lg eafaear] ]jjgjk \m]
lg fgak] Yf\ l] [Yd[mdYlagf afngdn]k kljYa_l)^gjoYj\ Yjale]la[* ;l r]jg jgY\
kh]]\( l] Yhhda[Ylagf Yk lg ]fkmj] lYl al \g]k fgl af^afal]dq oYal ^gj Y [gmfl]j
af[j]e]fl*
-1* NYZd] Fggc)mh Yf\ Cfl]jhgdYlagf %lZdggc&
N] lZdggc Yd_gjale ak mk]\ af ]f_af] [gfljgdd]jk( Yfla)dg[c ZjYc] kqkl]ek(
Yf\ gl]j Yhhda[Ylagfk lg Y[[]kk [gfklYfl \YlY ima[c]j lYf Zq jYo [Yd[mdYlagf*
Cfkl]Y\ g^ klgjaf_ Ydd \YlY hgaflk( oa[ ogmd\ [gfkme] Y dgl g^ e]egjq( k]d][lan]
\YlY hgaflk Yj] klgj]\ Yf\ l] kg^loYj] l]f afl]jhgdYl]k Z]lo]]f l]e*
-2* Nggl)lg)MhYjc %llkhjc&
N] llkhjc Yd_gjale kaemdYl]k Yf Ymlgeglan] Yhhda[Ylagf o]j] l] =JO
[gfljgdk ^m]d afb][lagf Yf\ a_falagf af l] ]f_af] [geZmklagf hjg[]kk* Nggl)lg)
MhYjc( hYjl g^ Yf ?f_af] =gfljgd Ofal %?=O&( h]j^gjek j]Yd)lae] hjg[]kkaf_ g^
Yaj+^m]d eaplmj] Yf\ a_falagf laeaf_* <Yk]\ gf l] gh]jYlaf_ [gf\alagfk hj]k]fl]\
lg l] ?=O( l] =JO Y\bmklk l] gmlhml nYdm]k ^gj ^m]dafb][lgj \mjYlagf Yf\ a_fa)
lagf laeaf_ ^jge yfgeafYdz nYdm]k gf ]Y[ hYkk* N] ?=O \]l]jeaf]k o]l]j l]
]f_af] ak jmffaf_ gj fgl( Yf\ ]fYZd]k l] ^m]d hmeh Yf\ a_fal]jk Y[[gj\af_dq*

127

Appendix D: GUI Manual

Appendix D: GUI Manual


N] _jYha[Yd mk]j afl]j^Y[] %AOC&( [Ydd]\ JJ=)N]kl]j( ak Y lggd lYl Ymlg)
eYl]k egkl g^ l] eYfmYd ogjc oa[ ak ]jjgj hjgf]* Cl ]dhk Z]^gj] l] ]ph]ja)
e]flk lg [j]Yl] k[jahl ^ad]k ^gj GOFNC ]fnajgfe]fl Yf\ Y^l]j ]ph]jae]flk al [Yd[m)
dYl]k l] ;mlgeYjc} nYdm] ^gj ]Y[ hjg[]kkgj [gf^a_mjYlagf* Cf gj\]j lg Z] j]Y\q
lg mk] lak lggd kge] ogjc Yk lg Z] \gf]( hYjla[mdYjdq af l] [g\af_ hYjl lg af)
[dm\] f]o hjg[]kkgjk Yk lak AOC ak kladd mf\]j \]n]dghe]fl klY_]*
Qgjc lg Z] \gf] Z]^gj] mkaf_ JJ=)N]kl]j6
-* Jj]hYj] [gf^a_mjYlagf lYZd]6 M]d][lagf g^ j]_akl]jk oa[ k]llaf_ [geZafY)
lagfk \]^af]k l] \a^^]j]fl hjg[]kkgj [gf^a_mjYlagfk*
.* Jj]hYj] Yf ?p[]d ^ad] oal l] hjg[]kkgjk fYe]6 Nak ^ad] kgmd\ Z] ]ehlq(
oalgml Yfq nYdm]k( Zml kgmd\ [gflYaf l] ^gjemdYk Y[[gj\af_ lg Y hYjla[m)
dYj ^gjeYl lYl Yk Z]]f mk]\ af l] JJ=00, Yf\ GJ=1110 hjg[]kkgjk*
/* Oh\Yl] l] PakmYd <;MC= [g\] g^ l] hjg_jYe oal l] hjg[]kkgj j]_akl]jk7
lak kgmd\ Z] \gf] mf\]j l] ^mf[lagf [Ydd]\6 {=j]Yl]@ad]X=da[c| af l]
dggh l] {k]d][l| dgghk( nakmYd [gfljgdk Yn] lg Z] Ykka_f]\ af l] nakmYd
oaf\go lgg* Nak Yk lg Z] \gf] af PakmYd <Yka[ 4*,( Y^l]j \]Zm__af_ kg
lYl al mh\Yl]k l] ]p][mlYZd] ^ad] Yk lg Z] [j]Yl]\ %hmZdak]\&*
0* Jj]hYj] l] ^gd\]j lj]] af =6V \jan] a^ qgm Yj] ogjcaf_ gf l] [gehml]j lYl
[gff][lk lg l] ZgYj\ Yk al ogmd\ [j]Yl] l] ^ad]k \aj][ldq af l] ja_l ^gd\)
]jk( gl]j \jan]k Yj] mk]\ o]f hj]hYjaf_ ^ad]k af gl]j [gehml]jk o]j]
ojalaf_ lg = \jan] ak \]fa]\( gj mf\]j \]n]dghe]fl mkaf_ OM< e]egja]k*
Cf Yfq [Yk] l] ^gddgoaf_ ^gd\]jk kgmd\ ]pakl af l] \jan] o]j] qgm oadd
ogjc( ]j] Yj] lgk] kgof mkaf_ =6V \jan]( eh[1110 hjg[]kkgj Yf\ ]p)
Yehd] ^ad]k af ]Y[ ^gd\]j6
;6R=k]bUURcV1110RTT*gkg
B]j] o] klgj] j]kmdlk {*lpl| ^jge Gmdla Yf\ l] ?p[]d ^ad]6
eh[1110*pdk
;6R=k]bUURXXUVSgXfgfRcV1110RgZgRcfXeiSUhggbafScV1110S;bcl:TV^*
Uf
B]j] _g]k l] k]lmh ^ad]k {*eZk| ^gj Gmdla*
;6RZ[fRh_g\1,/R:_hX)_XggXe)9*Uc
B]j] kgmd\ Z] klgj]\ {*Zeh| Zmllgf a[gfk*
;6RZ[fRcV1110R;bcl)UTV^S,--*eV
Nak ak l] ^gd\]j o]j] k[jahl ^ad]k {*j[| oadd Z] klgj]\*
Ok] g^ JJ=)N]kl]j6
-* M]d][l >jan]6
128

Appendix D: GUI Manual

.* M]d][l Jjg[]kkgj6 Ih]fk l] [gjj]khgf\af_ hjg[]kkgj lYZ af l] AOC

/* M]d][l =gf^a_mjYlagf6 <q mkaf_ l] [gfljgd ghlagfk Yf\ af gj\]j Y[[gj\af_


lg l] [gf^a_mjYlagf lYZd]6

0* M]d][l <]f[eYjck6 ;dd g^ l]e gj bmkl gf] gj Y ^]o lYl oadd jmf af l]
hj]k]fl [gf^a_mjYlagf6

1* M]d][l Yf\ [d]Yj M]lmh ^ad]6

2* M]d][l <mllgf a[gf6 Nak oadd Z] kgof Yf\ YllY[]\ lg l] {*j[|k[jahl ^ad]
af l] GOFNC afl]j^Y[]*

3* Aan] Y fYe] lg l] k[jahl6 Nak oadd Z] kgof af l] dakl g^ k[jahl lg l] d]^l


g^ l] AOC*

129

Appendix D: GUI Manual

4* =da[c {=j]Yl]| Zmllgf6 lak [j]Yl]k \] {*j[| ^ad]*

>mjaf_ GOFNC ]ph]jae]flk6


-* C^ ^ad]k Yn] Z]]f [j]Yl]\ af Yfgl]j l]f = \jan]( Zjaf_ Ydd g^ l]e lg =
\jan] af l] [gehml]j [gff][l]\ lg l] \]n]dghe]fl ZgYj\*
.* M]lmh ^ad]k %{*eZk|& f]]\ ^mjl]j afk]jlagf lg l] GOFNC dakl g^ YnYadYZd]
[gff][lagfk* @gj lak( ^gddgo l] [j]Ylagf g^ f]o [gff][lagfk af GOFNC
]fnajgfe]fl*
;^l]j ]ph]jae]flk6
E]]h jmffaf_ JJ=)N]kl]j \mjaf_ GOFNC ]ph]jae]fl k]im]f[]( Yk l] af)
l]j^Y[] oadd k[Yf ]n]jq eafml] l] j]kmdlk Yf\ mh\Yl] l] ]p[]d ^ad]* L]kmdlk
^jge l] ?p[]d ^ad] %;mlgeYjc} Yf\ ;nageYjc [g]^^a[a]flk& oadd Z] kgof
af l] AOC Yk kggf Yk f]o j]kmdlk Yj] hjg\m[]\*

130

You might also like