IX Salão de Iniciação Científica PUCRS Estimativa de Dissipação de Potência em NoCs no Nível RTL de Abstração Thiago Raupp da Rosa1, Cezar R. W. Reinbrecht2, Guilherme M. Guindani1, Fernando G. Moraes1 1 Faculdade de Informática, Faculdade de Engenharia, PUCRS, 2GAPH Resumo A crescente demanda por dispositivos eletrônicos móveis tornou a utilização de técnicas para baixo consumo de potência na criação de circuitos integrados imprescindível. Os modelos atuais de estimativa de consumo de potência em NoCs, responsável pela interconexão dos módulos dos sistemas embarcados, se baseiam principalmente no volume de tráfego através da rede. Este trabalho apresenta um modelo mais preciso de estimativa de consumo de potência em NoCs, baseando-se na taxa de recepção dos buffers dos roteadores, para diferentes cenários de simulação. Os resultados obtidos mostram a precisão do modelo utilizado, quando comparado com as ferramentas comerciais. Introdução MPSoCs, sistemas intra-chip multiprocessados, são composto por elementos de processamentos e por uma infra-estrutura de comunicação. Redes intra-chip (NoCs) [1][2] representam uma alternativa ao uso de barramentos, pois permitem a troca paralela de mensagens, aumentando o desempenho do sistema como um todo. Um dos desafios mais importantes no projeto de MPSoCs é a rápida e correta estimativa da dissipação de potência do sistema. Existem inúmeras técnicas para a estimação da dissipação de potência em microprocessadores, mas para NoCs existem poucas [3]. As ferramentas comerciais, que fazem este tipo de estimação requerem uma grande quantidade de memória e processamento, ou seja, acabam por levar muito tempo ao se estimar circuitos mais complexos como uma NoC completa. O modelo proposto assume que os buffers de recepção são responsáveis pela maior parte da dissipação de potência de um roteador e usa a taxa de recepção em cada buffer para estimar a potência total consumida pelo roteador. Metodologia O consumo de potência de um roteador pode ser dividido entre seus três módulos: buffers, lógica de controle e crossbar. Como mostrado em [4][5], os buffers são responsáveis IX Salão de Iniciação Científica – PUCRS, 2008 pela maior parte do consumo do roteador. A potência consumida no buffer depende da atividade de chaveamento do sinal de relógio e da palavra armazenada no mesmo. O modelo proposto é composto de duas etapas: calibração e aplicação. Na etapa de calibração a NoC é simulada com diferentes cenários e em cada cenário é utilizada uma taxa de injeção fixa em um determinado roteador. A potência dissipada neste cenário de simulação é verificada através da ferramenta PrimeTime da Synopsys. São realizadas simulações com taxas de injeção variando de 5% a 50% da capacidade máxima de injeção da rede. No final desta fase é obtida uma tabela, que relaciona consumo de potência com a taxa de injeção no buffer para cada módulo do roteador (buffer, lógica de controle e crossbar). De posse desta tabela aplica-se a técnica de ajuste à reta gerando-se uma equação para cada módulo do roteador. Na etapa de aplicação, a NoC é simulada no nível RTL para a obtenção da taxa de recepção em cada buffer dos roteadores. Para isso foi inserido um monitor no roteador, que conta a quantidade de palavras que chegaram em cada buffer por um determinado período de tempo. Para cada taxa de recepção em cada buffer são calculadas as respectivas potências dissipadas, aplicando-se a equação gerada na fase de calibração. O consumo da lógica de controle e do crossbar são obtidos aplicando-se a respectiva equação sobre a taxa média de recepção dos buffers do roteador em análise. A dissipação total do roteador é calculada somando-se as dissipações dos buffers, da lógica de controle e do crossbar. A dissipação total da NoC é obtida do somatório do consumo de todos os roteadores. Resultados Para a validação do modelo proposto foi utilizada uma NoC 2D, de dimensão 3x3, com topologia malha, tamanho de palavra de 8 bits, tamanho do buffer de 8 palavras, sem canais virtuais, operando a 50MHz. A etapa de calibração foi feita sobre o roteador central, visto que esse roteador possui todos os buffers possíveis para um roteador. São criados tráfegos variando de 5% a 50% da capacidade máxima de injeção desta rede, que neste caso é de 400Mbps. A fase de calibração começa na síntese do roteador escolhido (utilizou-se a ferramenta (Synopsys Design compiler, com a tecnologia XFAB XL035). O roteador é sintetizado sem os monitores, para a correta análise da dissipação de potência do roteador. A síntese cria um código VHDL mapeado que irá substituir o código VHDL original do roteador. A NoC então é simulada, aplicando-se os cenários de simulação previamente criados. No final de cada simulação é gerado um arquivo contendo a atividade de chaveamento de cada fio do roteador (VCD). A ferramenta PrimeTime da Synopsys é utilizada para calcular a potência média dissipada em cada módulo do roteador. No final de todas as avaliações são obtidas equações para buffers, lógica de controle e crossbar, aplicando-se a técnica de ajuste à reta sobre a tabela gerada (Tabela I). Na etapa de aplicação do modelo, os monitores são inseridos no código original do roteador escolhido e a janela de tempo é ajustada para o mesmo valor do usado na fase de calibração. Em seguida, a NoC é simulada com o tráfego a ser analisado e as taxas de IX Salão de Iniciação Científica – PUCRS, 2008 recepção dos buffers são capturadas e armazenadas em uma tabela. Aplicando as equações obtidas na fase de calibração, a potência consumida pelos roteadores 11 (roteador central), 10 (roteador inferior central) e 00 (roteador do canto inferior esquerdo) foram estimadas. Foi utilizado o tempo de simulação de 1 ms, e os valores obtidos estão apresentados na primeira linha da Tabela II. Usando o mesmo tráfego e tempo de simulação, os roteadores foram avaliados na ferramenta Synopsys PrimeTime e os resultados obtidos estão apresentados na segunda linha da Tabela II. Tabela I – Consumo de potência médio para buffer, lógica de controle e crossbar. Consumo de Potência (mW) Taxa de Recepção Buffer Lógica de Controle Crossbar 0% 2.07 - - 5% 2.17 1.33 0.03 10% 2.26 1.40 0.05 20% 2.45 1.56 0.10 30% 2.65 1.73 0.16 40% 2.80 1.86 0.20 50% 2.91 1.88 0.21 Tabela II – Resultados obtidos através do modelo e da ferramenta Synopsys PrimeTime. Router 11 (Central) 10 (Meio) 00 (Canto) Modelo 12.48 mW 9.97 mW 7.83 mW PrimeTime 13.2 mW 10 mW 7.84 mW Erro 5.4% 0.31% 0.16% Conclusão O erro observado é proporcional à taxa de chaveamento. Para uma taxa de chaveamento menor, o erro obtido é menor. É importante salientar que, para efeito de comparação apenas roteadores isolados foram avaliados. Para a avaliação de apenas um roteador pela ferramenta comercial o tempo total gasto foi de aproximadamente 45 minutos. Para executar o fluxo de avaliação de uma NoC completa, a ferramenta comercial levaria várias horas para terminar a avaliação. O método proposto permite avaliar o consumo da NoC completa utilizando apenas o tempo gasto para a simulação do tráfego em questão. Na avaliação apresentada neste trabalho, utilizando uma CPU Pentium-D 2.6Ghz, o tempo total gasto foi de aproximadamente 10 minutos. Referências [1] BENINI, L.; DE MICHELI, G. "Networks on Chips: a New SoC Paradigm". Computer, Vol.35, No.1, pp.70-78, 2002. [2] DALLY, W.; TOWLES, B. "Route Packets, not Wires: On-Chip Interconnection Networks". Em: DAC, 2001, pp.684-689. [3] PALMA, J.; MACON, C.; MORAES, F.; CALAZANS, N.; REIS, R.; SUSIN, A.; “Mapping Embedded Systems onto NoCs – The Traffic Effect on Dynamic Energy Estimation”. Em: SBCCI, 2005, pp. 196-201. [4] SYLVESTER, D.; CHENMING Wu; "Analytical modeling and characterization of deep-submicrometer interconnect". Congresso do IEEE. Vol.89, No.5, pp.634-664, 2001. [5] MARCON, C.; CALAZANS, N.; MORAES, F.; SUSIN, A.; REIS, I.; HESSEL, F. “Exploring NoC Mapping Strategies: An Energy and Timing Aware Technique”. Em: DATE, 2005, pp.502-507. IX Salão de Iniciação Científica – PUCRS, 2008