Dise˜ no de redes en chip de prop ´ osito espec´ ıfico con informaci´ on de rutado f´ ısico David Atienza 1, 2 , Srinivasan Murali 3,2 , Federico Angiolini 4 , Luca Benini 4 , Giovanni De Micheli 2 , Jos´ e M. Mend´ ıas 1 y Rom´ an Hermida 1 1 DACYA/UCM, Madrid, Spain. E-mail:{datienza, mendias, rhermida}@dacya.ucm.es 2 LSI/EPFL, Lausanne, Switzerland. E-mail:{david.atienza,giovanni.demicheli}@epfl.ch 3 CSL/Stanford University, Stanford, USA, E-mail: murali@stanford.edu 4 DEIS/UNIBO, Bologna, Italy. E-mail: fangiolini,lbenini@deis.unibo.it Resumen—Debido a la creciente demanda de comunicaci´ on entre procesadores y dispositivos de memoria en Sistemas en Chip (SoCs), recientemente se ha propuesto el nuevo paradigma de Redes en Chip (NoCs) para SoCs. Con objeto de lograr que las NoCs sean una opci´ on factible para la industria, es necesario dise˜ nar NoCs a me- dida para cada tipo de aplicaci´ on que se desea ejecutar en los SoCs. En este art´ ıculo presentamos una nueva metodolog´ ıa de dise ˜ no para NoCs a medida, que tiene en consideraci´ on la informaci´ on de ru- tado f´ ısico de los enlaces de la NoC y el emplazamiento en el sistema final de los componentes del SoC a la hora de definir la topolog´ ıa de NoC adecuada. Esto permite detectar y eliminar a las violaciones de tiempo y realizar correctas estimaciones de disipaci´ on de potencia en el sistema de interconexionado. Este nuevo flujo de dise˜ no define e instancia de manera compl´ etamente autom´ atica el c´ odigo HDL sintetizable para NoCs a medida, incorporando as´ ı mismo mecan- ismos para evitar los problemas de interbloqueos (deadlocks) en el enrutado. Nuestros resultados con varios sistemas SoC complejos demuestran que el dise˜ no f´ ısico final de la topolog´ ıa NoC que se debe utilizar puede realizarse en menos de 4 horas, en vez de se- manas. Adem´ as, con esta metodolog´ ıa se obtienen mejoras medias en el consumo cercanas a 3× y del rendimiento de 2× (alcanzando frecuencias cercanas a 900 MHz) con respecto a las posibles alterna- tivas de dise˜ no manual basadas en NoCs m´ as regulares tipo malla, Clos, etc. Palabras clave— Redes en chip, sistemas en Chip, automati- zaci´ on, topolog´ ıa, dise˜ no a medida. I. I NTRODUCCI ´ ON Para vencer los problemas de escalabilidad y com- plejidad de los nuevos Sistemas en Chip (SoCs) for- mados por gran cantidad de componentes predise˜ nados, en los ´ ultimos a˜ nos se est´ a proponiendo una promete- dora tecnolog´ ıa de interconexi´ on denominada Network- On-Chip (NoC) que parece capaz de reemplazar con garant´ ıas tanto a los grandes buses como a las largas in- terconexiones dedicadas presentes en los futuros SoC [3]. Esta tecnolog´ ıa extrapola algunos de los conceptos pre- sentes en una red de computadores a la interconexi´ on de ultiples IP-cores difundidos sobre un substrato com´ un. Algunas de las fases m´ as importantes del dise˜ no de NoCs es la elecci´ on de la topolog´ ıa o estructura de la red y varios par´ ametros de dise˜ no, tales como la fre- cuencia o el ancho de banda entre cada interconexi´ on. En relaci´ on a las topolog´ ıas que se pueden utilizar, se ha comprobado que las topolog´ ıas regulares de multi- procesadores (malla, Clos, torus, etc.) aplicadas a SoCs producen NoCs con mayor consumo de energ´ ıa y peor rendimiento que las topolog´ ıas NoC a medida [4][8]. Esto se debe a que dichas topolog´ ıas regulares s´ olo son interesantes cuando las caracter´ ısticas del tr´ afico que va Este trabajo ha sido subvencionado mediante el Proyecto CICYT TIN2005-5619, el Proyecto FNS de Suiza 20021-109450/1, y una Beca de Profesores UCM en el Extranjero para David Atienza. a existir en el sistema final no se pueden determinar en tiempo de dise˜ no. Sin embargo, en SoCs las aplicaciones que podr´ an ser ejecutadas son conocidas en tiempo de dise˜ no para la mayor parte de las arquitecturas SoC de ´ ultima generaci´ on, tales como, Philips Nexperia [1], ST Nomadik [2], etc. Adem´ as, los dise˜ nos NoCs basados en topolog´ ıas regulares (como las mallas) no tienes porque producir dise˜ nos f´ ısicos finales m´ as regulares y predeci- bles en sus interconexiones, ya que en SoCs los compo- nentes (procesadores, memorias) no tienen porqu´ e tener tama˜ nos uniformes [4]. En este art´ ıculo proponemos una metodolog´ ıa com- pleta y autom´ atica de dise˜ no de NoCs a medida, libres de interbloqueos en el enrutado de paquetes, para cada tipo de aplicaci´ on (o conjunto de aplicaciones) que se van a ejecutar en un cierto dise˜ no de SoC. Nuestra metodolog´ ıa permite optimizar la topolog´ ıa NoC dise˜ nada finalmente de acuerdo a dos m´ etricas objetivo (o una combinaci´ on lineal de ambas): minimizar la disipaci´ on total de poten- cia del sistema y/o la latencia global de los paquetes de informaci´ on dentro de la NoC. Adem´ as, el flujo de dise ˜ no propuesto permite indicar a los dise˜ nadores de sistemas las ligaduras de dise˜ no m´ as habituales en el dise˜ no de NoCs, tales como el ´ area total o la longitud m´ axima de las interconexiones. Nuestros resultados con varios sistemas SoC reales (entre 8 y 42 componentes) demuestran que los dise˜ nos de NoCs obtenidos autom´ aticamente mejoran significativamente los dise˜ nos de NoCs obtenidos man- ualmente para estas aplicaciones, por ejemplo, en media 3.8× menos disipaci´ on de potencia, 1.55× menos laten- cia y 1.28× menos longitud de las interconexiones, com- parados con dise˜ nos basados en mallas (Secciones 5 y 6). as a ´ un, los dise˜ nos SoC finales con las topolog´ ıas NoC generadas autom´ aticamente pueden ser dise˜ nadas en unas pocas horas, mientras que los dise˜ nos manuales requiren varias semanas. II. TRABAJO PREVIO Extenso trabajo de investigaci´ on ha sido realizado en el estudio de mecanismos eficientes de dise˜ no y s´ ıntesis de SoCs basados en buses [7]. Aunque algunos proble- mas de dise˜ no existentes en NoCs son similares a los de los buses (ancho de banda,et.), otros nuevos han surgido con las NoCs, como definici´ on del tama ˜ no de los conmu- tadores, definici´ on de tablas de rutado, etc. M´ etodos para recopilar estad´ ısticas y analizar patrones de tr´ afico en las NoC y en los buses han sido desarrolados para poder es- tudiar estos nuevos problemas [6]. XVII JORNADAS DE PARALELISMO 597