Professional Documents
Culture Documents
P 0720 Embedded Microcomputer For Avionics
P 0720 Embedded Microcomputer For Avionics
P 0720 Embedded Microcomputer For Avionics
Pakalaf_ ;\\j]kk6
Abml]ja_YlYf 1
N]d]hgf]6
,/2)-, -, ,,
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>?*
iii
Sammanfattning
Sammanfattning
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
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
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
Table of Contents
6.1.
6.2.
6.3.
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
5
74
90
List of Abbreviations
List of Abbreviations
(In chronological order)
;ZZj]naYlagf
G]Yfaf_
AOC
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
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
??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
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;;<*
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
Introduction
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]
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
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
;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*
Functionalities
Determinism
Introduction
Timing
Reliability
Introduction
Radiation
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*
CPU
Primary Memory
Non-volatile Memory
Introduction
1.5.5.
Communication Interfaces
Figure 1-2: A typical CPU board for avionic applications (Source: SAAB Avitronics)
Introduction
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
=Y[] e]egjq Yf\ Zmk Yj[al][lmj] Ydgf_ oal =JO \YlYhYl ak l] eYbgj
^g[mk g^ gmj l]kak*
2.3. Micro-architecture
2.3.1.
(1,1)
=
(1, )
1
=
1
( +
+
1)
1
(1,1)
=
( , 1)
( + 1)
+ ( 1)
Look-ahead Execution
Out-of-Order-Execution (OOOE)
af lae]* ; hggd g^ Yj[al][lmjYd j]_akl]jk ak ]d\ Yf\ l]q Yj] eYhh]\ lg hqka[Yd
j]_akl]jk*
?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
Speculation
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.
>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.
<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
Correlating Predictors
Tournament Predictors
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
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
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
.
. .
.* 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
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
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*
28
>\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.
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*
29
Multi-level Caches
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
\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
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
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
Replacement Policy
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
\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
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
Asynchronous SRAM
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
^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.
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.
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
Figure 2-11: Four-word SDRAM burst write with DQM disable & DQM
masking [25]
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
^]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
DDR4 SDRAM
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
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
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
EEPROM
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
2.8.3.
46
2.9. PowerPC
2.9.1.
Background
47
2.9.2.
Architecture
]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*
49
]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.
51
2.9.4.
PowerPC Timeline
POWER4 (IBM)
1995
G4 Core is
Freescale e600
POWER3 (IBM)
1990
POWER5 (IBM)
2000
2005
52
2010
2015
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*
Whetstone
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
SPEC Benchmarks
EEMBC Benchmarks
Automark
MiBench
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
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*
Classical Metrics
58
Nmk(
()
()
MIPS
10
10
MFLOPS
10
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*
MULTI Environment
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
Methodology
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]\*
Methodology
Methodology
66
Methodology
Figure 4-4: Proposed methodology for board evaluation (informal UML format)
Methodology
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-7: MULTI environment with buttons for Copy-back (yellow) and Nocache (red) configuration for the MPC5554 processor
69
Methodology
4.5.3.
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
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
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
[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.
Cache Locking
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.
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
a*
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
aaa*
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
76
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
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%
79,72%
60,97%
51,10%
667-166
533-133
42,47%
33,82%
20%
32,00% 25,70%
9,20% 7,32%
0%
77
100%
80%
60%
40%
100,00%
79,93%
56,57%
45,13%
667-166
34,72%
28,55%
20%
533-133
24,64%
19,05%
5,60% 4,45%
0%
@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
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.
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
100%
100%
100%
71,61%
64,81%
64,37%
60%
with Hardware FP
with Software FP
40%
20%
0%
NoC
WTH
CBH
configurations
79
5.1.4.2.1.
Clock Frequency
1400
1200
1046,26
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
Cache Locking
100,00%
80,00%
60,00%
40,00%
100,00%
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%
80
100,00%
80,00%
60,00%
40,00%
20,00%
100,00%
79,95%
64,98%
667-166
51,85%
27,65%
23,05%
0,00%
533-133
23,40%
17,99%
5,55%
4,42%
81
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
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
82
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
Cache Locking
100%
80%
100,00%
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%
100%
80%
60%
40%
20%
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%
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
84
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
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
667-166
667-166
533-133
533-133
NoC
WTL
Hardware FP
Software FP
Hardware FP
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
NoC
WTL
CBL
WTH
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.
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
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
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
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
Conclusions
[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}*
89
Performance Parameters
Branch Target Buffer (BTB)
Streaming
Store Buffer
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
Determinism
94
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)
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
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
PUSH
BUFFER
STORE
BUFFER
STREAMING
CopyBack
WriteThrough
NoCache
BTB
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
97
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
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
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
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
100%
Automark
80%
60%
40,46%
40%
20%
0%
Aviomark (HighLift)
45,66% 48,54%
Aviomark (motorC)
WT_B1_111
CB_B1_111
configurations
101
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
120%
100,00% 100,00% 100,00%
100%
80%
60,70%
60%
40,46%
40%
20%
0%
MPC5554: 128Mhz
60,87%
PPC440: 533-133
NoC
PPC440: 667-166
WTH
CBH
configuration
102
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
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
103
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
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
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.
110740
120000
100000
80000
60000
FLASH
33864
SRAM
40000
6136
20000
6188
0
Cache Enable
Cache Disable
2686
3000
2500
2000
FLASH
1500
SRAM
555
1000
96
500
159
0
Cache Enable
Cache Disable
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
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
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*
;^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
[]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[*
\]\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)
110
References
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
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
118
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
Process
Power Consumption
CPU Core Voltage
I/O Voltage
0,13 m
1,5 V
1,8 V
3,3 - 5 V
0 - 3,6 V
Package
Temperature
range
-40C - 125C
-40C - 125C
Floating Point
Support
Core
Endianness
Big / Little
Big / Little
Performance
Registers
Parameters
Execution
Pipeline
Functional Units
119
Instruction Unit
Completion Unit
Memory
Management
Unit (MMU)
Hierarchy
Core
NONE
Address
Translation
Page Sizes
Branch Unit
Additional
Features
Application
Acceleration
Features.
L1 Cache Characteristics
Write Policy
Parameteres
Timers
Cache
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
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
L1 Cache
Controllers
I-Cache
Controller
Specific
Cache
UNIFIED CACHE
D-Cache
Controller
Specific
Parameters
Cache
Coherency
Main Memory
Support
Bus Interface
Bus Interface
Details
Peripherals
Debug Interface
Main Memory
(RAM) Supervision
Main Memory
(RAM) Frequency
Main Memory
Max. Size
PCI support
High-Speed
Interfaces
UARTs
ECC
ECC
66 MHz
512 MB
2 GB
NONE
FlexCAN (3)
NONE
I C Controller
No
DMA Controller
Ethernet
Controllers
1 eDMA (64-channel)
2 (4-channel)
NONE
121
Peripherals
GPIO
SPI
4 (DSPI)
USB
External interrupts
NONE
8 Interrupt Controllers (INTC)
USB 2.0
10 / 2 Universal Interrupt Controllers
(UIC)
Environmental
Embedded
Design Support
Parameters
Performance
TBD
Compilers
Debuggers
RTOS
IDE
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
PPC440EPx
MPC5554
VENDOR
AMCC
Freescale
PPC440 Core
e200z6
Data Bus
32-bit
32-bit
CPU
CPU
Core
Frequency
Core
Endianness
Function
Processor
Generation
Memory
Management
MAS2[E]
Floating
Point Unit
CCR0[DAPUIB], MSR[FP,ME]
Timers
Page Sizes
MMU Details
123
Memory
Management
Caching
Branch Unit
L1 Cache
Cache
Supervision
L1CSR0[CPE]
Write Policy
Replacement
Algorithm
L1 Cache
Locking
124
PseudoRound-Robin / Single
replacement counter for entire
cache / No control over selecting
victim lines
127
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
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[]*
129
130