Informáci PANNON EGYETEM Villamosmérn rnöki és ciós s Rendszerek Tanszék Celluláris Neurális Hálózatok Hardver realizáci ciói Előadó: Vörösházi Zsolt 2009. november voroshazi@vision.vein.hu
Áttekintés - Alapfogalmak CNN: Celluláris Neurális/Nemlineáris hálózatok Komplexitás: áramkörök, rendszerek, számítógépek esetén (Gordon Moore tv.) Érzékelő-számító-beavatkozó rendszerek létjogosultsága Topografikus, vizuális mikroprocesszorok Biológia motiválta rendszerek: multi-modalitás Látás: retina modellek, implantátumok Hallás protézis: cohlea feltérképezése Tapintás: tactile szenzortömbök kidolgozása
Info-Bionika? Mind az élő szervezetek (pl. látás/tapintás/hallás), mind a mesterséges számítógépstruktúrák kézenfekvően vetik fel a kérdést: vajon lehet-e és érdemese analóg/neurális típusú sejt automatákat alkalmazni? A CNN (Cellular Nonlinear/Neural Network) technológia két évtizedes múltra visszatekintő forradalmi elképzelés (T.Roska, L.O.Chua-L.Yung 1988). Az idegrendszer tanulmányozása, egy idegsejt (neuron) működésének megismerésére való törekvés indította el azt az elhatározást, hogy kíséreljünk meg az élő szervezetekben lévő komplex rendszerek viselkedésének megfelelő számító rendszereket létrehozni. Egy élő szervezetben megtalálható neurális hálózatban nagyszámú, egymással összeköttetésben lévő, közel azonos felépítésű idegsejtek különböző feladatok megoldására alkalmasak.
Definíci ció: CNN egy olyan n dimenziós (n 2) ) processzortömb, ahol: a processzorok valamilyen szabályos geometriai struktúra rácspontjaiban helyezkednek el, és csak egy meghatározott r sugarú véges környezettel vannak közvetlen kapcsolatban; az időváltozó (t ) lehet folytonos vagy diszkrét; minden állapotváltozó (x ) folytonos értékű; a programot a cellák és szomszédjaik között a bemeneteik ( u ), állapotaik ( x ) és kimeneteik ( y ) függvényében a súlytényezők, ún. template-ek adják meg;
CNN struktúra ra j i Cellular Neural/nonlinear Network: analóg processzor tömb szabályos rács helytől független lokális kapcsolat
Lokális interakciós minta: cloning TEMPLATE u ij - input x ij -state/ y ij - output z - bias A B = 0 1 0 1 2 1 0 1 0 = 1 1 1 1 8 1 1 1 1 z = -0.5 Template a hálózat programja: [A B z]
Az elsőrend rendű analóg g CNN cella áramköri ri modellje: v uij v xij v yij E ij I Cx Rx I (ij,kl) xu I (ij,kl) xy I yx Ry ( ) ( ) ( ) ( ) ( ) ( ) I i, j; k, l = B i, j; k, l v, I i, j; k, l = A i, j; k, l v xu ukl xy Ckl, N ij, Ckl, N ij, I r yx 1 = () () R v t + v t 2 y [ ] xij 1 xij 1 ( ) ( ) r ykl
Nemlineáris kimeneti függvf ggvények:
Az áramkör r működését m t leíró egyenletek: Állapotegyenlet (KCST): C dv xij dt () t 1 = R x v xij () t + A( i, j; k, l) v () t C ( k, l ) N ( i, j ) r ykl visszacsatolás + C B ( k, l ) N ( i, j ) r ( i, j; k, l) v ( t) ukl előrecsatolás + I Kimeneti egyenlet: Bemeneti egyenlet: Kényszerfeltételek: v yij 1 2 [ 1] () t = v () t + 1 v () t xij v uij = E ij xij v ( 0) 1, 1 xij v uij
CNN architektúra ra - számítás: s: bemenet (u) állapot/kimenet (x / y) Template-k: B: előrecsatoló A: visszacsatoló Z: eltolás (bias) B z A
Analogikai CNN-UM processzor: GAPU L A M LCCU CNN nucleus LAOU GAPU LLU L L M egy cella UM= Universal Machine (Turing) Analogikai: analog + logikai műveletek és algoritmusok GAPU: Global analogic Program Unit (Központi analogikai vezérlő egység) APR LPR SCR GACU analóg program regiszter logikai program regiszter kapcsoló konfiguráció regiszter központi analogikai vezérlő egység LCCU LAM LLM LLU LAOU lokális kommunikációs és kontroll egység lokális analóg memória lokális logikai memória lokális logikai egység lokális analóg kimeneti egység
CNN-UM implementáci ciók összehasonlítása: sa: Optikai érzékelős rendszer (pl. Laptop POAC, XENON chip) Analóg VLSI chipek (pl. ACE p400, ACE4k, ACE16k, CACE1K) Emulált digitális FPGA: Field Programmable Gate Array (Falcon ML) Emulált digitális ASIC/VLSI (pl. CASTLE-I, CASTLE-II) DSP: TI320Cxx (pl. CNN-HAC) SW szimulátor (pl. Aladdin Pro, Candy) VSoC: Vision System-on-Chip. Megjelent egy új kategória: Bi-i: 2 vizuális µp, többszenzoros!! (optikai bemenettel) (SoC= System On a Chip, mixed signal CMOS chip) Eye-Ris rendszer (Q-Eye) v1-v2. Osztályozás: számítási sebesség (végrehajtási idő), pontosság (felbontás), felhasznált felület (disszipációs teljesítmény) szempontjából. Számítási teljesítmény csökken
1. Analóg g VLSI CNN megvalósítások: sok: Általánosan: 1 rétegű dinamikus modell megvalósítások (ACE4k, pl. ACE16k) (CACE1k: 2 rétegű!) Tulajdonságaik: + természetes kapcsolódás a szenzorokhoz (nincs A/D konv.) + nagy számítási teljesítmény (eq. ~1Terra = 10^12 OP/s) + univerzális újraprogramozhatóság (Turing értelemben) + szabványos analóg cellákból épül fel rövid tervezési ciklusidő + kisméretű alacsony P disszipált DE: analóg pontosság (~7-8bit), sok feladatosztályban nem elegendő nehezen valósítható meg több-rétegű csatolt struktúra mérsékelt cellaszám tápfeszültség-, ill. hőmérséklet változásra érzékeny
Analóg g CNN-UM chipek fejlődése: Bi-i v1, v2
Comparison between an IBM Cellular Supercomputer and an analogic processor 64. 1. 32. 1. 32. 65536 (32 32 64) Power PC IBM Cellular Supercomputer 2002 Computing Power ~ 12 10 12 (TeraFLOPS) A = 65536 1.06 cm 2 = 6.9468 m 2 P = 491 kw 128 128 visual processor with optical input (ACE16k) An analog-and-logicic CNN supercomputer Computing Power ~ 12 10 12 (TeraOPS) equivalent A = 1.4 cm 2 P = 4.5 W
Bi-i v1-2: intelligens kameraszámítógép Az intelligens Bi-i érzékelő-látó rendszer képes akár 10,000 fps sebességgel, 128x128 pixel méretű kép(folyam) felvételére és processzálására, valós időben. A piacon kapható legújabb CMOS szenzorokat, és beágyazott processzorokat (ACE16k, TI DSP) tartalmazza. Bináris, szürkeskálás, és színes képek feldolgozására is képes. Bi-i v2 látó rendszer http://www.analogic-computers.com Intelligens látó-rendszer Nagy sebességű, 10000 fps real-time feldolgozás 128x128 pixel kép (ACE16k) 1.3 MPixel CMOS sensor TI 600 Mhz / 150 MHz DSP V1 V3 változat Önálló működésre képes (stand-alone) Matlab, TI Code Composer, Instant Vision E. Saját Linux OS (DSP-n): COS
Bi-i v3f: intelligens kameraszámítógép Az intelligens Bi-i v3f érzékelő-látó rendszer képes akár több 10,000 fps sebességgel, 1280x1024 pixel méretű kép(folyam) felvételére és processzálására, valós időben. Bi-i v3f látó rendszer http://www.analogic-computers.com Ultra nagy sebességű processzálás: >10000 fps real-time feldolgozás - nincs analóg CNN chip!, helyette: + FPGA (Spartan 3E): pixel szintű előprocesszálást végez TI 1 GHz DSP: magas-szintű jelfeldolgozás Nagyfelbontású 1.3 MPixel CMOS sensor (40MHz/ pixel rate) Önálló működésre képes (stand-alone) Matlab, TI Code Composer InstantVision software (Bi-i) Libraries: Signal / Image Flow Processing, Multitarget Tracking, Feature Classification. Saját Linux API
Eye-Ris rendszer: VSoC Q-Eye VSoC chip Alkalmazás: Autóipari aktív-biztonsági rendszerek (légzsák, oldalirányú ütközés figyelés) Interaktív robotika Intelligens megfigyelő rendszerek On-line minőség ellenőrzés Real-time videó tömörítés VSoC: Vision System on Chip Intelligens érzékelő-látó rendszer képfolyamok nagysebességű elő- ill utó-processzálására (DSP), valós időben. Topografkus mixed-signal processzor Q-Eye chip: az Eye-Ris rendszeren belül helyezkedik el. Stand-alone rendszer: önálló működés Döntés: klasszifikációs feladatok V1.0/2.0 SDK: szoftver fejlesztő eszközök (image processing library) http://www.anafocus.com
2. Optikai CNN megvalósítások: sok: + pl. Laptop POAC: programozható optikai-analogikai tömb szgép. + rendkívül gyors (LASER) + nagy felbontású képek feldolgozását támogatja nagy szilícium felület (szenzorok miatt) + előrecsatoló template [B] (fénysebességű számítás) visszacsatoló template [A] (optikai jel erősítése miatt) zajérzékeny egyedi optikai template könyvtárak kifejlesztése Alk: nagypárhuzamosságú, nagysebességű alakfelismerés és képfeldolgozás
3. Emulált lt digitális CNN megoldások [!]:[ Ezek a digitális célhardverek ötvözik az említett (analóg, optikai ill. a sw szimulátor megvalósítások előnyös tulajdonságait, bizonyos kompromisszumokat kötve lassabbak, mint az analóg megfelelőik, DE + sokoldalúbbak: multi-layer struktúra, nemlineáris templatek + flexibilisebbek: paraméterek állíthatósága + könnyebben konfigurálhatók + tervezési ciklusidejük is csökkenthető az elterjedt, standard CMOS VLSI technológia használatával. + felületre történő optimalizálás: nagyon kicsi P disszipált (~mw) + digitális környezetbe integrálható: fizikai platform + számítási pontosság skálázhatósága (a működési sebességgel fordított arányban állítható - lineárisan)
a.) Emulált lt digitális ASIC CNN chip: CASTLE lassabb, mint az analóg VLSI CNN hosszabb tervezési ciklusidő (Full-Custom metodika), DE + skálázható pontosság (1 bites logikai, illetve 6/12 bites bitvektor mód) + 16 programozható template + input kép/video: 25 fps, 240x320 / chip pixeles felbontás (real-time) + bővíthető: kaszkádosíthatóság + kis disszipáció (mw) CASTLE 3x2-es processzortömb: Globális vezérlővel Lokális memóriával és elosztott pipe-line aritmetikával
b.) Emulált lt digitális CNN FPGA-n: FALCON architektúra ra FPGA alapvető építőelemei: CLB: konfigurálható logikai blokk (4 slice/clb) slice=szelet (1-1 szeletében a következők): LUT Look-up table, multiplexer és regiszterek BlockRAM memória Dedikált szorzók I/O blokkok GRM: programozható összeköttetés mátrix (routing) DLL: órajel menedzsment DLL I/O Blocks DLL I/O Routing I/O Blocks I/O Routing Block RAMs CLB Array I/O Routing Block RAMs I/O Routing I/O Blocks DLL I/O Blocks DLL FALCON architektúra: Gyors újrakonfigurálhatóság: változtatható paraméterek (állapot pontosság, template elemek szélessége 2-64 bit; PE-k száma, kép szélessége/pe, rétegek száma és elrendezése)
4. CNN HAC implementáci ció: CNN-HAC: Hardware Acceleration Card/Board (1990) alacsony ár (<1000$), katalógusból kiválasztható alkatrészek: DSP, DRAM, FIFO stb. 4 db Texas TI320C25/26 DSP chip számítja a tranziens választ csak 1 rétegű CNN modellt támogat Analóg/neurális PE analóg VPE: Virtuális PE (0.5-1millió cella) nxm fizikai PE = DSP chip inter processzor kommunikáció: teljesen paralel (4 sáv 4 DSP) 1 proc. 1 sávon dolgozik (szélső cella-értkékek átadása FIFO-n keresztül)
CNN HAC implementáci ció (II.): Kritikus: explicit Euler integráló formula alkalmazása (n. lépésben): x ij n + 1) = (1 h) xij ( n) +h Aij;kl ykl(n)+ Bij;klukl + zij C(k,l) Sr(i,j) C(k,l) S r(i,j) ( y ( n) = f( x ( n)) Számítás: TI320Cxx fixpontos DSP (+, -, <, > ) órajel 40MHz, sebesség 10MIPS Globális vezérlő egysége: Intel5c060 EPLD (600 log. kapu) Külső memória: Hitachi 16x256k DRAM (kép szelet eltárolása) AMD FIFO: 16x1k (szomszédos sávszélek átadása) 16 bites ISA-slotba helyezhető! TMS: gépi kódú DSP programozás ij ij 4x
5. SW szimulátorok: + jól konfigurálható, flexibilis paraméter állíthatóság + közvetlenül futtatható számítógépes környezetben + legnagyobb pontosságú, DE rendkívül lassú, optimalizálható kód esetén is (IntelC) Alkalmazás: a képfeldolgozási feladatok során analogikai algoritmusok fejlesztésénél (Aladdin Pro, InstantVision), ill. template-k tervezésekor (Candy) használják.
Az Aladdin Pro keretrendszer fontosabb moduljai: Keretrendszer: VisMouse keretrendszer, integrált szoftverkörnyezet CNN alkalmazások fejlesztésére, amely képes a bemenetek és az eredmények megjelenítésére és tárolására (használni: v.4.13) SimCNN többrétegű szimulátor a CNN súlytényezők (template-ek) és utasítássorozatok tesztelésére TemMaster CNN template tervező és optimalizáló program. CSL Analogikai CNN szoftver könyvtár (CNN SW Library) Algoritmus fejlesztő nyelvek: //Alpha magas-szintű nyelv, analogikai algoritmusok fejlesztéséhez// AMC alacsony szintű analogkai gépi kód (Analogic Machine Code) ABC alacsonyszintű bináris kód (Analogic Binary Code)
Aladdin rendszer felépítése: Algoritmus-fordítás folyamata: (Alpha: magas-szintű nyelv/ forrás ) AMC alacsonyszintű ABC tárgykódú DSP kártyán (COS): CNN Chip operációs rendszer, amely az ABC kódot értelmezi CNN platform: tárgykód (obj) futtatása
Alpha nyelv és s az AMC Az analogikai CNN algoritmusok leírására kifejlesztett magas szintű nyelvet Alpha nyelvnek nevezik (dualitás: analóg logikai értelemben). Az Alpha egy CNN specifikus, egyszerű, eljárás-orientált nyelv. Célja az egyszerű algoritmusok (pl.: analogikai műveletek folyamata) leírása és a CNN bonyolult felépítésének elrejtése. Az analogikai CNN algoritmusok írásakor és fejlesztésekor a hangsúlyt az analogikai nézőpontra kell helyezni. Így adott CNN implementáció pl.: egy adott chip paraméterei és korlátai meghatározhatók. Az analogikai CNN algoritmusok alapvető utasítása függvényhívás a template művelet elvégzésére.
A template művelet m elvégz gzésének általános formája (Alpha( nyelven) TEMi( INPUT, STATE, OUTPUT, time, boundary condition fixed state map, bias map), for input and output, TEMi : a template azonosítója, ahova a program vagy függvény eleje be van töltve INPUT, STATE : a bemeneti és a kezdeti állapot memória OUTPUT : a kimeneti memória time : a CNN dinamika időtartama és a boundary condition meghatározható a következő opciókkal: Dirichlet: u kl és y kl értékeinek rögzítése a virtuális határoló celláknál Neumann: zéró flux Toroidal: periodikusság Megjegyzés: az Alpha nyelvet ma már nem használják, helyette AMC-t!
CSL CNN template tervezői könyvtár A CSL szabványos CNN template-ek gyűjteménye, számos analogikai szubrutin és algoritmus tárolására szolgáló tervezői könyvtár. A template-ek funkciójuk szerint kategorizálva (pl.: alakfelismerés, mozgás felismerés, színfeldolgozás, stb.) vannak tárolva. A könyvtárban egyaránt megtalálhatók globális optimalizációra, neuromorfikus modellezésre, elemi kombinatorikára és parciális differenciálegyenletek megoldására használt template-ek is. Cellular Wave Computing Library v2.1 Alapvető képfeldolgozó templatek (pl. edge, CCD, holefilling stb.) Matematikai morfológiai templatek (bináris, grayscale) Térbeli logikai templatek (pl. and, diff, smkiller stb.) Textura szegmentálás, detektálás Mozgás detektálás Szubrutinok gyűjteménye
Egyszerűbb képfeldolgozk pfeldolgozási feladatok CNN szimulátoron (Candy( Candy,, Aladdin): Példa-1: logand (Conc1.bmp, Chineese.bmp) Példa-2: horizontal CCD (A_letter.bmp) Segédanyagok: http://www.virt.vein.hu http://www.knt.vein.hu http://www.analogic.sztaki.hu (Candy, Aladdin 3.2, Template Library v2.1)
CNN Alkalmazásai Labor bemutatása Emulált-digitális CNN architektúrák alkalmazási területei
Kutatási tevékenys kenység: A laboratórium a celluláris neurális/nemlineáris hálózatok (CNN) alkalmazásával, analogikai CNN algoritmusok kidolgozásával, emulált digitális CNN-UM implementációkkal foglalkozik: 1.) Jellegzetes képrészletek keresése (neuro-radiológia: CT, MRI, PCB hibadetektálás, alga felismerés vízben stb.), 2.) Emulált digitális CNN-UM megvalósítások FPGA-n (GAPU), 3.) Komplex tér-idő dinamikák analízise: pl. barotropikus óceánmodellezés, dinamikai rezgő rendszerek, szeizmikus hullámterjedés, retina-modellezés területén, 4.) Vizuális érzékelés alkalmazásai: Bi-i kamera segítségével. 5.) Emulált digitális CNN-UM megvalósítás IBM-Cell BE multiprocesszoros rendszeren (óceán modell)
1/a.) CT képeken korai stroke jegyek detektálása (Szabó Tamás) CT kép * Orvos által annotált CNN alapú technológiával detektált
1/b.) CT és MR képek szegmentálása és 3D rekonstrukciója (Sonkoly Péter)
2.) CNN-UM GAPU vezérlő FPGA-n (Vörösházi Zsolt) A GAPU (Global Analogical Programming Unit) önálló működést biztosít az emuláltdigitális CNN-UM processzornak, FPGA architektúrán, amely képes a komplex analogikai algoritmusok végrehajtásának vezérlésére, képfeldolgozási feladatok során (bináris és gray-scale képeken). Probléma: nagy sebességű kapcsolat szükséges a PC és az FPGA processzor között; továbbá nagy számítási pontosság, nemlineáris templatek futtatása nem lehetséges a mai analóg VLSI alkatrészeknél. Megoldás: Kidolgoztunk egy optimalizált, beágyazott, és újraprogramozható vezérlő struktúrát FPGA-n. Kb. 1-2 nagyságrendű sebességnövekedés érhető el. Input 2 nd iteration 5 th iteration 10 th iteration Kísérleti rendszer
3/a.) PDE megoldása: barotropikus óceán modell (Nagy Zoltán, Kincses Zoltán) 2000 1800 1600 1400 x 10-3 2 1.5 1 2000 1800 1600 1400 1.8 1.6 1.4 1200 0.5 1200 1.2 Y (km) 1000 800 0-0.5 Y (km) 1000 800 1 0.8 600 400-1 600 400 0.6 0.4 200-1.5 200 0.2 0 0 500 1000 1500 2000 X (km) -2 0 0 500 1000 1500 2000 X (km) Elevation: tengerszint mozgása Áramlási irányok PDE = Parciális Differenciál Egyenlet: Navier-Stokes egyenlet megoldása (pontosság / sebesség / rétegszám) jelenti a problémát
3/b.) PDE megoldása: folyadékok és gázok dinamikájának modellezése (Kocsárdi Sándor) Megoldás: Kidolgoztunk egy optimalizált aritmetikájú, az összenyomható folyadékok, gázok dinamikáját leíró PDE-t megoldó struktúrát, FPGA-n. A sw-es szimulációhoz képest kb. 21x-es sebességnövekedés érhető el. (A legnagyobb FPGA architektúrán ez akár 600x-os is lehet.) Áramlás iránya Csőprofil: Másodrendű modell Kimeneti réteg hőtérkép (lebegőpontos) Probléma: nagy számítási pontosság, nagy felület, 3 réteg, határfeltétel
3/c.) PDE megoldása: szeizmikus hullámterjedés (Sonkoly Péter) Probléma: nagy számítási pontosság, min. 2 réteg, inhomogén közeg
3/d.) Retina modell FPGA architektúrán (Vörösházi Zsolt) Cél: a biológiai retina viselkedésének emulálása a ~10 különböző retina csatornán, valós időben, FPGA processzor alkalmazásával. A retina a vizuális érzékelés elő-feldolgozó rendszere, amelynek feladata a vizuális információ agy (cortex) felé továbbítása. Probléma: nagy feldolgozási sebességet, nagy számítási pontosságot, és min 10! réteget igényel (amely limitált a mai analóg VLSI alkatrészekben). Megoldás: Kidolgoztunk egy optimalizált, flexibilis, újrakonfigurálható többrétegű struktúrát. Kb. 2-3 nagyságrendű sebességnövekedés érhető el a sw szimulációhoz képest. Válasz a flashed square stimulusra Cone Cone2 Horizontal Bip. Excit. Desensitized Bip. Excit. Receptor Amacrine FB Ganglion τ τ τ τ τ τ τ λ λ - + τ τ τ λ λ λ Input λ λ λ λ - + Output of the channel 1 Output of the channel 2 τ τ τ τ τ τ τ Bip.Inhib. Desens. λ Bip.Inhib. Rec. λ Amacrine FF λ Felbontás: 36 bit Ganglion (kimenet) gátlás serkentés
4.) Vizuális érzékelés, feldolgozás Bi-i kamerán (Tömördi Katalin, Vörösházi Zsolt, Kincses Zoltán) Az intelligens Bi-i érzékelő-látó rendszer képes akár 10,000 fps sebességgel, 128x128 pixel méretű kép(folyam) felvételére és processzálására, valós időben. A piacon kapható legújabb CMOS szenzorokat, és beágyazott processzorokat (ACE16k, TI DSP) tartalmazza. Bináris, szürkeskálás, és színes képek feldolgozására is képes. Alkalmazási területek: Nagy sebességű processzálás (videójelfolyam pixelszintű előfeldolgozása: zajszűrés, morfológiai alaktani vizsgálatok, tulajdonság kiemelés) Ipari minőségbiztosítás (NYÁK hibadetektálása) Bi-i v2 látó rendszer Tulajdonságok: Gyors, és önálló működés SW rutinok, könyvtárak (Image Processing Library) C++ SDK for TI Code Composer Studio, Windows és Linux API (host PC kommunikációhoz alkalmazás fejlesztés során) Hivatalos weboldal: http://www.analogic-computers.com/ Bi-i v3f rendszer
5.) CNN modell IBM Cell architektúrán (Kincses Zoltán) Cél: Az analóg CNN hálózat Forward-Euler formulával diszkretizált és egyszerűsített állapotegyenletének szoftveres szimulációja az IBM Cell architektúrán. Probléma: Az IBM Cell processzor egy merőben új architektúrájú processzor, ezért a korábbi szoftveres CNN szimulációt, ennek megfelelően kell átalakítani (vektorizáció, ciklus unrolling stb, SPU-PPE komm.), optimalizálni. Megoldás: A létrejött szoftveres CNN szimuláció egy, mind lineáris, mind pedig nemlineáris template-eket kezelni képes rendszer lett, mellyel a korábbi szoftveres szimulációhoz képest ~ 400-szoros sebességnövekedés érhető el. SPE SPE SPE SPE SPE SPE SPE SPE SPU 128 registers SPU 128 registers SPU 128 registers SPU 128 registers SPU 128 registers SPU 128 registers SPU 128 registers SPU 128 registers 16B/cycle LS 256kB LS 256kB LS 256kB LS 256kB LS 256kB LS 256kB LS 256kB LS 256kB 128B/cycle DMA DMA DMA DMA DMA DMA DMA DMA 16B/cycle Element Interconnect Bus 128B/cycle 16B/cycle PPE 16B/cycle 2x16B/cycle L2 512kB L1 2x32kB PowerPC core Memory Controller Bus Interface Controller 32B/cycle 16B/cycle Dual Rambus XDR IOIF BIF