Diopsis: un "System on Chip" multiprocessore per intelligenza ambientale con architettura "mAgic VLIW floating-point DSP" Pier S. Paolucci INFN Roma, Dip. Fisica Univ. Roma “La Sapienza”, P.le Aldo Moro 5, 00185 Roma ed ATMEL ROMA, Via Vito Giuseppe Galati 91, 00155 Roma, Italy Ben Altieri, Federico Aglietti, Stefano V. Basile, Piergiovanni Bazzana, Sergio Bruzzone, Alessandro Catasta, Antonio Cerruto, Maurizio Cosimi, Andrea Michelotti, Elena Pastorelli, Silvia Piria, Enrico Remondini, Andrea Ricciardi, Fabrizio Rosciarelli ATMEL ROMA, Via Vito Giuseppe Galati 91, 00155 Roma, Italy Yves Fusella ATMEL, Zone Industrielle 13106 Rousset cedex, France Philippe Kajfasz THALES Communications 66, rue du Fossé Blanc – BP 156 - 92231 Gennevilliers Cedex, France Premessa I sistemi su silicio multiprocessore sono stati classificati come la prossima frontiera della progettazione, sia perché permettono di creare applicazioni complete con funzionalità completamente nuove, che per la complessità di progetto. Presentiamo un caso reale, lo sviluppo e l'integrazione del nostro core "mAgic VLIW DSP" (un processore specializzato nel calcolo numerico in virgola mobile nel dominio complesso con capacità di elborazione di un miliardo di operazioni al secondo in virgola mobile) e la sua integrazione nel System on Chip DIOPSIS 740 (nickname durante lo sviluppo: JANUS [1]). DIOPSIS 740 comprende il DSP mAgic, un microcontrollore RISC a 32 bit, memorie ed un set di periferiche che consentono di realizzare applicazioni complete di intelligenza ambientale e modellazione 32K ARM fisica in tempo reale. ASB / APB Bridge Arm7TDMI Mem SPI0 EB I 1. Trasferimento Amba ASB SPI1 tecnologico USART0 Lo sviluppo del processore Shared Data Bus mAgic VLIW DSP e del USART1 Mux / Demux Memory Program Bus Mux / Demux System on Chip DIOPSIS TIMER 740 costituiscono un Data Mem Watchdog mAgic VLIW 8Kx128 bit interessante esempio di 2 x 6k x 40 bit Program PIO GigaFlops trasferimento tecnologico Double Bank Mem DSP core Double Port PDC dal progetto di calcolo parallelo APE dell'Istituto ADDA Nazionale di Fisica Clock Gen Data Buffer 2 x 2k word Nucleare[12-13]. Il IRQ Ctrl Double Bank, Double Port trasferimento tecnologico è Run Mode data paths stato possibile grazie al System Mode data paths Data / Program Bus Mux distacco di ricercatori INFN, ARM exclusive data paths all'intervento della fabbricante di semiconduttori ATMEL, che ha costituito e finanziato in Roma il proprio centro di progettazione di architetture di Digital Signal Processing avanzato, ed ai cofinanziamenti del progetto europeo mAgic-FiPU ESPRIT27000 [11] e del progetto Eureka 2390 DiAM. 2. Diopsis 740 DSP Reg Files: mAgic VLIW floating point Diopsis 740 è un sistema su silicio a DSP Reg Files: mAgic VLIW floating point 2 * 8 Ports * DSP SW Core: 15 2 * 8 Ports * DSP SW Core: 15 doppio processore che integra il DSP 256 40bit bit op/cycle,390 390 Kgate 256 Regs Regs ** 40 op/cycle, Kgate floating-point mAgic da 1 GFLOPS, sviluppato da ATMEL ROMA, il RISC RISCSRAM: SRAM: 4 4* *11Port controllore RISC a 32 bit ARM7TDMI™, Port** 8K * 8 bit 8K * 8 bit 2 Megabit di Static RAM ed un set di RISC RISC periferiche. La figura accanto mostra il PERIPHERALS: PERIPHERALS: piazzamento in tecnologia ATMEL 180 135Kgate Kgate 135 nm CMOS a cinque livelli di alluminio. ARM7TDMI32 32 BIT BIT ARM7TDMI Esclusi i pad, questa implementazione di RISCCORE CORE RISC Diopsis 740 occupa 39 mm2. Pad inclusi, l’area finale del die è di 55 mm2 con 243 IO funzionali. Il package è un 352 Ball Grid Array. La frequenza operativa è di DSP Data SRAM: DSP Progr SRAM: Data* SRAM: Progr 100 MHz, e la capacità di elaborazione è 2DSP * 1 Port * SRAM: 8 DSP * 2 Ports 2 * *164 Port 2 Ports 2K8 ** 40 bit * 8K bit * di 1.5 GOPS ed 1 GFLOPS grazie al 2K * 40 bit 8K * 64 bit parallelismo interno Very Long Instruction Word, gestito in modo totalmente trasparente per l’utente dal software di gestione dell’architettura VLIW. Diopsis 740 consuma meno di 1.2 W in condizioni “worst case”. 3. mAgic VLIW Floating-point DSP Il dominio applicativo ideale per l’architettura mAgic VLIW DSP è l’elaborazione numerica al alta prestazione di segnali. Le componenti di controllo della interfaccia utente e di sistema sono affidate, nelle applicazioni di DIOPSIS 740, principalmente al processore RISC. Questa prima realizzazione è dedicata alle applicazioni in virgola mobile, e specialmente ai calcoli che richiedono aritmetica nel dominio dei numeri complessi, con elevato range dinamico e massima precisione numerica. Un esempio: algoritmi a shift di fase nel dominio della frequenza. Una caratteristica importante della architettura mAgic è la gestione indolore del parallelismo Very Long Instruction Word. Un sistema di traduzione automatico garantisce la conversione di un assembler lineare “RISC like” in un codice eseguibile che sfrutta pienamente il parallelismo a livello di istruzione. I programmi scritti nell’assembler RISC like di mAgic, composto da operazioni di calcolo registroregistro e operazioni di trasferimento tra memorie e registri non richiedono nessuna annotazione temporale a carico del programmatore. In altri termini, il programmatore non specifica le istruzioni da eseguire in parallelo: il motore di ottimizzazione software esegue autonomamente la parallelizzazione. mAgic opera su dati in formato IEEE 754 esteso a 40 bit, e su dati interi a 32 bit. Sul chip sono montate memorie dati doppia porta, doppio banco (17K locazioni a 40 bit) ed una L Memory 4. Piattaforma di sviluppo per Intelligenza ambientale e modellazione fisica Per intelligenza ambientale si intende la integrazione di sistemi con elevata capacita' di elaborazione nell'ambiente che ci circonda, spesso basate sull’uso di un array di sensori o trasmettitori. Un sotto-insieme di tali applicazioni particolarmente rilevante dal punto di vista applicativo prende il nome di beam-forming, ed è stato fino ad ora utilizzato in applicazioni come la prospezione sismica, l’ecografia medica, e radar avanzati. DIOPSIS 740 consente di estendere ad applicazioni “consumer” le tecniche di beam-forming adattivo. Le applicazioni “consumer” della intelligenza dámbiente hanno l’obiettivo di semplificare la nostra interazione con l'ambiente stesso (esempi: sistemi vivavoce e comando vocale di altissima qualita' per ufficio, casa od automobile, che utilizzino una molteplicità di microfoni) di effettuare R Memory memoria programma di 8K locazioni a 128 bit. Un uso efficiente della memoria programma è ottenuto per mezzo di un sistema di compressione software/decompressione hardware brevettato. Il sistema DyProDe (Dynamic Program Decompression Device) è inserito come singolo stadio di pipeline immediatamente dopo lo stadio di fetch della istruzione. Il sistema DyProDe è estremamente economico (meno di 30K gate). Otteniamo una densità di codice equivalente a 4 bit per operazione su tipiche routine di DSP come trasformate veloci di Fourier (FFT) e filtri FIR. Questa istanza di mAgic ha un totale di 18 unità funzionali indipendenti. Un massimo di 15 operazioni per ciclo può essere eseguita simultaneamente. Il register file dati permette di leggere e scrivere 16 dati per ciclo da un set di 512 registri dati a 40 bit, alimentando un blocco operatori capace di eseguire 10 operazioni aritmetiche in virgola mobile per ciclo. Durante lo stesso ciclo un secondo bando di register L Memory R Memory file multiporte consente ad 4 5 6 7 4 5 6 7 I Q una unità di generazione 0 1 2 3 0 1 2 3 multipla di indirizzi di generare gli indirizzi necessari a trasferire 4 dati Mul4 Conv2 FP/I Mul2 FP/I FP/I Mul3 Conv1 FP/I Mul1 per ciclo tra le memorie ed il Div1 Div2 Sh/Log1 register file dati. L’accesso * * * Sh/Log2 * alla memoria esterna è gestito in totale parallelismo FP/I Cadd1 FP/I Cadd2 alle attività del core + aritmetico, con una banda bassante di 1 GByte/s. Il supporto nativo per l’aritmetica complessa e la Min Min Max1 FP/I Add1 Add2 Max2 FP/I capacità di eseguire una + - + butterfly ogni ciclo producono ottimi benchmarks su algoritmi classici come una FFT da 1024 punti (5900 cicli verso 14400 su un C67 della Texas Instrument). La minimizzazione dei problemi dovuti ai ritardi dovuti alle interconnessioni su silicio è un aspetto chiave per le architetture sviluppate su tecnologia DSP (Deep Submicron Technology). Abbiamo sviluppato una semplice analisi dimensionale (descritta in [1]) che ha facilitato la definizione della archiettura mAgic VLIW. Questa analisi dimensionale si focalizza sulla selezione di un appropriato bilanciamento tra il parallelismo a livello di istruzione, la frequenza di clock e la taglia delle memorie. Il bilanciamento assicura il controllo sui ritardi di interconnessioni che sono confinate all’interno di ciascuna “tile” o che connettono a tile prime vicine. Le connessioni globali residue sono mantenute in numero limitato, e filate su dimensioni maggiori o maneggiate per mezzo della inserzione di stazioni di ripetizione. operazioni di monitoraggio, diagnosi e controllo automatico (esempi: diagnosi acustica di motori o caldaie, controllo di crociera di autoveicoli) oppure di mitigare gli effetti della interazione con ambienti difficili (esempio: radio digitale in banda AM con modulazione COFDM). Secondo la nostra visione, nelle predette applicazioni saranno anche combinate tecniche di modellazione in tempo reale di fenomeni fisici (ad esempio modellazione fisica della voce umana o degli strumenti musicali). DIOPSIS 740 e' una piattaforma di sviluppo ideale per applicazioni di "intelligenza ambientale", in particolare per quanto riguarda la componente audio e le applicazioni di beam-forming adattivo. La potenza di calcolo messa a disposizione dal DSP (1 miliardo di operazioni floating-point al secondo), la precisione numerica (40 bit floating point) e la integrazione con un controllore RISC ed un set di periferiche dedicate alla gestione di un array di convertitori analogico-digitali consentono di sviluppare applicazioni complete di intelligenza ambientale e modellazione fisica in tempo reale di sistemi complessi. Al chip DIOPSIS è necessario aggiungere esternamente i soli convertitori analogico digitali e, quando l’applicazione lo richieda, memorie esterne aggiuntive. L’architettura è ottimizzata per applicazioni nel dominio della frequenza. 5. Conclusioni mAgic VLIW DSP e DIOPSIS 740, unico sistema su silicio attualmente esistente a livello mondiale che combini un DSP floating-point da 1 GFLOPS ed un controllore RISC a 32 bit consentono la creazione di applicazioni consumer di intelligenza ambientale e modellazione fisica. mAgic e DIOPSIS sono stati progettati in Italia grazie ad una interessante combinazione di trasferimento tecnologico dai progetti INFN, alla creazione in Roma del centro di progettazione di processori DSP del fabbricante di semiconduttori ATMEL, ed ai cofinanziamenti italiani ed europei. Bibliografia [1] P.S. Paolucci et al. “Janus: A gigaflop VLIW+RISC Soc Tile”, Hot Chips 15 IEEE Stanford Conference (2003). http://www.hotchips.org [2] R. Ho, K. Mai and M. Horowitz, “The Future of Wires”, Proc. IEEE, 89-4 (2001)490-504. [3] D. Sylvester and K. Keutzer, “Impact of Small Process Geometries on Microarchitectures in Systems on a Chip”, Proc. IEEE, 89-4(2001)467-489. [4] L.P. Carloni, A.L. Sangiovanni-Vincentelli, "Coping with latency in SOC Design", IEEE Micro 22-5 (2002) 24-35. [5] A. Allan et al., “2001 Technology Roadmap for Semiconductors”, IEEE Computer 351(2002)42-53. [6] W.J. Dally and S. Lacy, “VLSI Architectures: Past, Present and Future”, Proc. Advanced Research in VLSI Conf., IEEE Press (1999)232-241. [7] M.B. Taylor et al., “The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs”, IEEE Micro 22-2(2002)25-35. [8] J. Ying Fai Tong et al. “Reducing Power by Optimizing the Necessary Precision Range of Floating Point Arithmetic”, IEEE Trans. On VLSI Systems, 8-3 (2000)273-286. [9] P. Faraboschi, G. Desoli, J.A. Fisher, “The Latest Word in Digital and Media Processing”, IEEE Signal Processing Mag. 15-2(1998)59-85. [10] R.P. Clowell, J. O’Donnell, D.P. Papworth, P.K. Rodman, “Instruction Storage Method with a Compressed Format Using a Mask Word”, U.S. Patent 5057837, (Oct 1991). [11] P.S. Paolucci, P. Kajfasz et al., “mAgic-FPU and MADE: A customizable VLIW core and the modular VLIW processor architecture description environment”, Computer Physics Communication 139(2001)132-143. [12] A. Bartoloni, P.S. Paolucci et al., “A Hardware Implementation of the APE100 Architecture”, Int. Journ. Mod. Phys. C 4(1993)969. [13] N. Cabibbo and P.S. Paolucci, “SIMD algorithm for Matrix Transposition”, Int. Journ. Mod. Phys. C 6(1995)183.