PSoC 플랫폼의버스에너지절감을위한버스분할기법 (Bus Splitting Techniques for PSoC to Reduce ) ô Õ Õ (Chun-ok Chung) (Jinhyo Kim) (Jihong Kim) á Ò Ñ ü School of CSE, Seoul Nat l Univ. Samsung Electronics Co. w z x ˆ q sdd w w ³p m w p U l S twz j mƒƒ k ƒ ƒ sd mƒƒ ƒ w k ŽŽŽ ums w z x U y t ƒ rsp v twz j k ƒ w p ˆ«w z x Ž U Ž w z x rsp rsp w p z m S ƒ r rspp e w p ºˆ«U g S ª x w k º p v ªp m S rspp e w p ˆ«ƒ l ª x Ž U ˆul ˆ ƒ Ž w z x rsp ˆ w p _ZL ˆ«rS ª Ž p rsp ˆ w p Z]L ˆ«º y U l ms mƒƒ ˆ ƒ w z x w º p y rs ƒ l ª x m w p y U 1. 서론 AbstractBus splitting technique reduces bus energy by placing modules with frequent communications closely and using necessary bus segments in communications. But, previous bus splitting techniques can not be used in PSoC platform, because it uses cache coherency protocol and all processors should be able to see the bus transactions. In this paper, we propose a bus splitting technique for PSoC platform to reduce bus energy. The proposed technique divides a bus into several bus segments, some for private memory and others for shared memory. So, it minimizes the bus energy consumed in private memory accesses without producing cache coherency problem. We also propose a task allocation technique considering cache coherency protocol. It allocates tasks into processors according to the numbers of bus transactions and cache coherence protocol, and reduces the bus energy consumption during shared memory references. The experimental results from simulations say the bus splitting technique reduces maximal 83% of the bus energy consumption by private memory accesses. Also they show the task allocation technique reduces maximal 30% of bus energy consumed in shared memory references. We can expect the bus splitting technique and the task allocation technique can be used in multiprocessor platforms to reduce bus energy without interference with cache coherency protocol. r±vd d m k y ƒ ƒ y d m xdd ˆ p ƒ y l m k ˆ ˆ«w m v U ½ v v m o Ž mƒƒ rsp twz j Otœ ŠŒšš z š Œ T Tj P v S ƒ sv ˆ d ƒ m º X U l sv ˆ O p drs d³s wkhs ¼ S wtw dp zz w pp v m et S l TXT ˆ ƒ l U rs d w p k ums ˆ ˆ m et U S twz j S ƒ k ums ˆ ƒ ƒ l ƒ ƒ U w q S d m z j k ƒ ˆ ªm p wˆ Y U w ƒ l mƒƒ ƒ l Z^L rs l v v ek Ž U ekƒs w p ƒ S z w l w p Ž x Z S [ U z w l ³ d
w p z Oš Œ Pp l w ³O œš šœž Œ Pdm m U ˆ q sdd w sd ˆ e w p s Ž ³ d w ³d p ˆ¹ m z p ˆˆ w ³dp m w p U l S d mƒƒƒ v k w z wx Ž rs ƒ t vƒ p l ŽŽS twz j t U v m twz j mƒƒ ƒ d p ³ S ƒ t p m ƒ m U ƒ ƒ sd mƒƒ ƒ w k ŽŽŽ ums ƒ t vƒ w k ƒ w z U y t ƒ ƒ m twz j k w z x w p ˆ«x Ž U rsp ¹ ek w z p ƒ m w z x U l m S ƒ t w k p ˆ«U g S ƒ t vƒ w k p ºˆ«ƒ m l ª x Ž U ˆul ˆ Ž xd w p ˆ«y U» t ƒ U Y ƒ l d ³y S d twz j l t rˆ U Z ƒ «twz j º rˆ S [ ƒ y t ƒ Ž w xd ƒ½ ƒr U \ ƒ ˆ Ž xd w º p ³ S m ] ƒ m q U 2. 관련연구 w p l w ³ m z ˆ p w z x j Œ m Ž Z U j Œ ± k m w p l w ³ m wˆ Ž U p S k Ž p ˆk q d w ³ ˆ w p m w Ž U oš Œ z w ƒ p w l sdd f zz m z p ºo s v m wž ˆ r [ S ˆ w z w X]L \WL Ž º p U l d z p p l rs z p s ƒr Ž U ˆ w z w sœ Ž \ U ƒ ˆ m m ºmp U l S wˆ ƒ ˆ w ƒ q U sˆ ˆ htih w ˆul m ¹ S l l w xd º ƒ ˆ ˆ ] U ˆ w z x w ˆ ƒ X]L º S w k TYT ƒ ^WL k º y U l S d mƒƒ º p l S ƒ m twz j w z x ƒ ƒ m w z x t p Ž rs y t l t p twz j ƒ w z x wx Ž U y t zz U rsp v twz j rsp ƒ l S w z x w wx Ž U rsp ¹ ep w z wˆ w z ƒ m t p m S ƒ m twz j º ƒ w z x w º p U g S ƒ m l ƒ t vƒ w k p ºˆ«ª x Ž U ª x ƒ l ª x w k º p zƒ S p v w k q ªp rs mƒƒ m S mƒƒ rspp e w p U 3. 타겟 PSoC 플랫폼의구조 y ƒ y t ƒ y s m «twz j k p U ƒ ƒr w xd «twz j p twz j k ƒ w Ž U p X «k rsp v twz j p y ^ U «twz j mƒƒs rsp sds m ƒ r Otwz j z S l d sd S ¹ ºp rsp l sdp ˆ PS sdd w m U mƒƒm hyts tpwz d x mƒƒ kzws o~ d s mƒƒ S y t ƒ sd mƒƒ ¹ mƒƒk U mƒƒ p ³ rs ƒ p k T n tºº Ož ŒT œž ˆ ˆ P wˆ v m _ U rsp mƒƒ ƒ m rsp mƒƒ ˆ rspm z U Ôò XU Ñ twz j Ó p ƒ w X w u mƒƒs wt X wt u mƒƒ
rspo ˆ Œ Œ PS zt rspoš ˆ Œ Œ PSh Oˆ Pp «U 4. PSoC 에서의버스에너지절감기법들 w ƒ mƒƒ rsp rsp rsp rspp ep w sd zz S w p U y ƒ w p ˆ«xd Ž U mƒƒ rsp ¹ p l w z x rs p ª rsp ƒ ƒ l ª x U 4.1 ù ü ù Ü Ï Õù «twz j rsp º ƒ rsp rsp rº z ums mƒƒ ƒ l zƒ rsp rsp p z U p d S ZY dl w p º ƒ mƒƒ rsp WŸWWWWWWWW WŸ^mmmmmmmS sd mƒƒ rsp WŸ_WWWWWWW WŸmmmmmmmmm q rs dl w X p zƒ rs rsp S rsp p z U rsp mƒƒ ƒp ums p mƒƒ ƒ t vƒ Ž ums rsp rspp ƒm p w m z rs mƒƒ rspp l e mƒƒ rsp w ³p m z w p ˆ«rS ƒ t vƒ Ž U Ôò YUù ü Õù twz j Ó p Y l š v«m u mƒƒm ƒ twz j w z x rsp rspp ƒm p w m z p y U p ƒ z X z u w z Oš Œ PpS iz X iz urx w ³O œš šœž Œ P «U w z dm z l w ³dm n U mƒƒ mƒƒ rsp w ³ rs w ³ mƒƒ rsp š n S rsp U z w ³ rs w ³ ˆ¹ S Ž m U p drs w Z wt Z e iz Zp m z Y z Zp w p ˆ«U mƒƒ rsp ¹ ek w z p U mƒƒmz rsp p yp vž z d U p Z mƒƒs S z p ƒ½ y U ƒ v vƒ rsp rs mƒƒ ˆ¹OyŒ œœš Pp y w U ˆ¹ ˆ mƒƒ V ˆ¹Ow ˆ ŒVz ˆ Œ P V ˆ¹OyŒˆ V~ ŒPp y U V ˆ¹ W r rspps X r rspp v rs V ˆ¹ W r ps X r p v U ¹ w Ž rs mƒƒ ˆ¹On ˆ Pp y ƒ w S ˆ z d ˆ¹Oj Pp y z w p z m U mz ˆ¹p v mƒƒ w p S rsp p ˆ U Ôò ZU ü ø 4.2 ü ù Ü ôâ w ƒ ³ ˆ «` U 2 E BUS = 0.5 Cbus V OXP dd ˆ ƒ j œš w košˆ ˆŠ ˆ ŠŒP S } w Ž «U w k w m ums w urx w ³dm S sd w ³ rs w ³ «U Eb = EBUS /( N +1) z w w ³d z d ³ ums z w Žk w ³d z d m «U E = E D + E S OYP SBUS b s ˆ ƒ k w k w ³ ps l š z ps z w k z p «U z w p twz j ƒ u mƒƒ r w «U TZT
N Ki SBUS, N = ( Eb Di, j + Es Si, j i= 1 j= 1 E ) OZP ˆ ƒ r mƒƒ w w k º ps k S w wš w k w ³ ps z S z p «U ˆOZP rsp ¹ ep z m x rs w Žk rsp ˆ s rsp ˆ s m z U E = E + E + E SBUB, N P ˆ ƒ l wt rsp S l zty rsp S l zt~ rsp U rsp rsp ª w ³p um z Ž ˆ U rspp e w ³ g z ums p ˆOZP rs Žk «U N 1 if i = 1 E P = { K i pm ( Eb + Es S i )} where, S i =, i= 1 2 if 2 i N ˆ ƒ r S mƒƒ w rsp p w k º ps z z p «U rsp ˆ w ³d z dp U p ˆOZP rs rsp ˆ w Žk «U E = N { K i, smr ( Eb Di + Es Si )} i= 1 ˆ ƒ r Sš mƒƒ w rsp p w k º p «U rsp ˆ ƒ ƒr d ƒ sd w ³d Ž ums urx w ³ u z s U d w ³ z p ˆOZP rs rsp ˆ w «U E = N [ i= 1 K i, smw { Eb ( N + 1) + Es N}] ˆ ƒ r Sš ž mƒƒ w rsp p w k º p «U 4.3 Ñ Ñî á Õù z w ƒ w w ³ z m ums rsp mƒƒ m rspp w w U ekƒs l ªp ˆ e rsp q ªp rsp mƒƒ e rsp w º U l S ƒ m m w k l ŽŽ ep º U k T n tºº m e ƒ rsp p w k ƒ sd mƒƒ rsp p Ž S sd w ³d Ž et U y ƒ l ƒ m T[T l z w ƒ rsp w p º ˆ«ª x Ž U mƒƒ rspp dl w w p wž ums mƒƒ ƒ ª w º rsp º w U l S k T ntºº m e ƒ rsp p w k ƒ dl w sd w ³ Ž ums ª mƒƒ k w Ž U ekƒs ƒ l e ª { rsp p w k º ƒ ˆ m w v w k º p «s º w k º t «U = 2 K + K i i, smr i, smw p [ mƒƒ ª S ƒ l ª Ž p y U Ž p yrs ƒs sd ª rsp p w k º p º w k º t p U g S sd mƒƒ rsp mƒƒ w ³ k p U t ª ƒ m ªd l S k ƒ m mƒƒd l»s ª ª ƒ m mƒƒ mƒƒ ms ª ƒƒ U Ž p ˆ ª mƒƒ l ˆ m ums u ª ª Ž p ˆ vou up m «U l ; T: ª, P: mƒƒ, N: ª ( mƒƒ ) l ; A: ª ; T i T, P i P 1: for i := 1 to N 2: K i,smr := T i rsp w k º 3: K i,smw := T i rsp w k º 4: i := 2 K i,smr + K i,smw 5: D i := P i ƒ rsp w z 6: end for 7: T := { T i i ƒm l, 1 i N } 8: P := { P i D i ƒm l, 1 i N } 9: A := {} 10: for i := 1 to N 11: A := A {(T i, P i)} 12: end for Ôò [U Ñ Ñî á Ñò p \ w z x «twz j ƒ ƒ l ŽŽ e p l es w ºp ªp p y U p ƒ w ³ ƒ XlS z W m w p rs wˆ m rsp º p l ªp w Z\^l S ƒ l ªp e ZZ_lm wˆy \L w º Ž U
Ôò \U Ñ Ñî á 5. 성능평가 y ƒ ˆul Ž w z x ƒ l ª x w º p ³ U 5.1 Ñ twz j k w sp ˆul v w º U p ] ˆ ˆul º y U twz j ˆul ˆ ª mƒƒ p l vžs ªp mƒƒ ˆ U ˆ ƒ ª m ˆul mƒƒ p l U twz j ˆul ˆ»S ª x w k yp l U y rsp rsp S p w k º m ƒ U ª Ž p ek ƒ l ª S ª yp w U w Ž ƒ w s z p ±kv m l v U z z w ƒ º p ƒ U w w s ª w k º ª yp w ƒ s p U w p U d m kd y ªm ƒ et twz j º ªm U 5.2 ù ü Õù ù Ü Ï X ˆ x pª m k ƒ vƒ rsp ¹ ep w k y U rsp ]_L `^L rsp ˆ rspp rs rsp YL X]LS rsp XL X]L z U d z d rsp y»ž q et U rsp rsp zz ƒ w z w U XU ù í ü þ r S Ž w z wˆ w k º S z s p tˆ e w p U p ^ w k y U p ƒ w e s ps š z w ƒ s p «U p w e s p Xm y e «U 1.0 PW PR Ôò ]U î Õø ù Ü Ñ y ˆ ƒ twz j ˆul z š Œ j XW v m ¹ U mƒƒ ˆul m sd hytœ ˆ XX p S ZYv {m ª S [ S XY_ m ƒ U mƒƒ sddtrsps w S S ƒ m dt z š Œ jm ¹ U w htih XY ep U ˆul x pªm xdd ˆ x pªm p t iœ Š XZ ŒŽS šœšˆ S ˆ Š S mm{ 0.0 split split split split susan adpcm FFT jpeg Ôò ^U ù ü Ñ ù Ü þò z sp tˆ S Ž z w ƒ s w YYL Z^Lm U rsp ¹ ep ³ yrs rspp e w w X^L YWLm U rsp ˆ w ³p et U rsp ˆ m k ek \_L ^ZLm U wx S rsp p sd w ³ vr wu rsp ˆ w ³p et U l S rsp ˆ T\T
ƒ dl w ƒ sd w ³ ums w v U z w ƒ w w ³ z ƒ s m ums z w p º½ ƒ z l Ž U ps z S w ³ w ek x ums z p w ³ m xºˆ z w ƒ w sp U p _ z p ³ e z w ƒ p y U \ p m k w p «U \ p d ƒ w p e w p «rs» zx z[ z s x e z w p «U zx z tˆ m es zy z w ³ WUWXw p s es zz WUXw p s es z[ w ³ p s e z w ƒ s p y U 1.0 0.0 S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 PW PR S1 S2 S3 S4 :, S1:Es=0, S2:Es=0.01Eb, S3:Es=0.1Eb, S4:Es=Eb susan adpcm FFT jpeg Ôò _Uü Ü ú æñù Ü þò z s rs z w ƒ s U z w ƒ w ³ es z et U z rsp y ˆ w q U rsp mƒƒ rsp z p S rsp sd z et U z w ³ p s z w ƒ s w [[L ]_L p s S z Ž w ³ y et U 5.3 á Õù ù Ü Ï ƒ l ª x º p S ª x ep w p U p ` ª x ep w xºp y U ª x rsp w p ˆ«wˆ ums p ƒ rsp w p y U p ƒ w ƒ sp «U w ƒ sd mƒƒ ƒ w k w ums x wˆ ŽŽ U šœ œœ ˆ z w ƒ wš ªp wš mƒƒ Ÿ x w p y rs jjtˆžˆ Œ ƒ l x e w p «U 1.0 0.0 sequential CC-aware sequential CC-aware sequential CC-aware sequential CC-aware susan adpcm FFT jpeg Ôò `U áø æñù Ü þò z w rsp ˆ w ³p ums Ÿ wˆ ª ƒ w w ]\L ^^L m Ž U ƒ l wˆ rsp U rsp ˆ ƒ sd w ³ Ž ums ª wˆ et U ƒ l wˆ S Ÿ wˆy Ž ][L ^WL p U ª rsp º q ª rsp mƒƒ et U Ž ª x ƒ º v d zƒ w k º p ªd m ƒƒ w p zƒ U ª [ S ] S _ S w p ³yŽ U mƒƒ ª ƒ S ª rsp w k º ª xm Ÿd ƒ U ª x w k º z³ s m d z³oœ š œ PS ˆ z³o ˆ š œ PS z³oœÿ Œ ˆ š œ P l ƒ s U Žk ˆ ª x w k º z³ˆ U Uniform : comm _ num( Ti ) = α Polynomial : comm_ num( Ti ) = α + βi i Exponential : comm _ num( T i ) = α + β comm_num(t i ) : ª T i w k º z³ ˆ ƒ OŠ Œ Š Œ P ek ª w k º k U p d S ª ˆ ƒ XW S Yk T]T
rs ª { XS { YS { ZS { [ w k º d z³ XW m s S ˆ z³ XYS X[S X]S X_ S z³ XYS X[S X_S Y]m xº U ˆ ƒ 10 m ˆ«, [S \S ]S ^m xºˆ rƒ p zƒ yž U k ˆ rsp S ˆ s w p l k U k m ˆ S e sd ª ep s ³ U S ³ s s p k m ˆ U r S z³ ˆ ep s zƒ v ª ep sp zƒ U p XW ª xm ˆk z³ ˆ ek p S ƒ l ª x e w p y U ª s º m U 1 uniform polynomial exponential 0 4 5 Coefficient 6 7 6 4 8 Number of tasks ÔòXWU í ü æñù Ü þò ª w k z³ d z³ sd ª ˆk ums ª w p s U ekƒs Xm º U l S w k z³ ˆ z³ z³ r s º d y U ˆ z³ S Ž ª wx ³ X_L º Ž U z³ \WL º U z³ ˆ z³ y ª w k º Ÿ ¹ et S ª ƒ y º p y U p S ªO mƒƒp ekƒ º p «U d z³ ˆ z³ ª xº ps z³ ª qž m º U ª qž m ª w k º Ÿ qž º S mƒƒ rsp p mƒƒ xm Ÿ ª «et U l S w k z³ ˆ ekƒ x p Ÿ p y Ž U lums w k º ª ª x º Ž U 1 0 4 polynomial(var_write) polynomial(var_read) 5 Coefficient 6 exponential(var_write) exponential(var_read) 7 8 64 Number of tasks Ôò XXUôôò ÕS Õþ æñù Ü þò ms rsp º ep w Ÿ p zƒ U p XX ekƒ ª º p y U ˆ ž Œ w k º ˆ«w k º p z³ ˆ ek xºˆ rƒ ˆk pd U p m ˆ Œˆ w k º ˆ«w k º p z³ ˆ ek xºˆ rƒ ˆk pd U \W m S z³ ˆ ˆ U p XX ƒ y y w k º s y q v y U v ƒ m y w ª et U S ƒ dl w ƒ p s S w ƒp ª wˆ ek s p U v S ƒ Žtl v Ž et dl w w s ª wˆ ek s p U 6. 결론 y t ƒ rsp v twz j k ƒ w p ˆ«w z x Ž s ƒr U g S ƒ l ª x Ž U Ž w z x rsp rsp w p z m S ƒ r rspp e w p ºˆrS ª x ª x º w k º p v ªp m S rspp e w p ºˆ«U ˆul ˆ ƒ Ž w z x rsp p w p w _ZL ˆ«rS ƒ l ª x rspp w k ƒ Z]L w p ˆ«Ž U l ms twz j mƒƒ º ƒ w z x w º p y rs z ƒ l T^T
ª x m w p y U 감사의글 y t ˆ ˆul y dp S ˆ ˆul ˆ ƒ z Ž dp U y t y ˆz v y ˆ ¼ y ˆ ƒ v v m U 참고문헌 [1] E. Arts and R. Roovers. IC Design Challenges for Ambient Intelligence, DATE, pp. 3-7, 2003. [2] Vijay Raghunathan, ani B. Srivastava, and Rajesh K. upta. A Survey of Techniques for Energy Efficient On-Chip Communication, DAC, pp. 900-905, 2003. [3] J. Y. Chen, W. B. Jone, S. Wang, H. I. Lu, and T. F. Chen. Segmented Bus Design For Low-Power Systems, IEEE Trans. On VLSI Sys., Vol.7, No.1, pp.25-29, arch 1999. [4] Cheng-Ta Heish and assoud Pedram. Architectural Energy Optimization by Bus Splitting, IEEE Trans. on CAD of Integrated Circuits and Sys., Vol.21, No.4, April 2002. [5] Ruibing Lu and Cheng-kok Koh. A High Performance Bus Communication Architecture through Bus Splitting, ASP-DAC, pp.751-755, 2004. [6] Kanishka Lahiri and Anand Raghunathan. Power Analysis of System-Level On-Chip Communication Architectures, CODES+ISSS, pp. 236-241, 2004. [7] irko Loghi and assimo Poncino. Exploring Energy/Performance Tradeoffs in Shared emory PSoCs: Snoop-Based Cache Coherence vs. Software Solutions, DATE, pp. 508-513, 2004. [8] Per Stenstrom. A Survey of Cache Coherence Schemes for ultiprocessors, IEEE Computer, Vol. 23, No. 6, pp. 12-24, June 1990. [9] u-yeon Wei,.A. Horowitz, and J. Kim, Energy-efficient design of high-speed links, Chapter 8 of Power Aware Design ethodologies, Editors:. Pedram and J. Rabaey, Kluwer Academic Publishers, Norwell, A, 2002. [10] Synopsys, Inc., SystemC Language, http://www.systemc.org. [11] NU, linux-arm-elf Tool Chain, http://ecos.sourceware.org/tools/linux-arm-elf.html. [12] AR Ltd., ABA Specification (Rev 2.0), ay 1999. [13] atthew R. uthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd. Austin, Trevor udge, Richard B. Brown, ibench: A free, commercially representative embedded benchmark suite, WWC, pp. 3-14, 2001. T_T