• Nenhum resultado encontrado

Uma Arquitetura de Roteador Parametrizável para a Síntese de Redes-em-Chip

N/A
N/A
Protected

Academic year: 2021

Share "Uma Arquitetura de Roteador Parametrizável para a Síntese de Redes-em-Chip"

Copied!
6
0
0

Texto

(1)

Resumo— As redes-em-chip ou NoCs (Networks-on-Chip)

apresentam-se como a melhor alternativa para a interconexão de componentes nos futuros sistemas integrados em um único chip. Atualmente, existem diversos trabalhos científicos que investigam diferentes aspectos relacionados às redes-em-chip. Neste artigo, é apresentado o roteador ParIS, o qual consiste de um modelo VHDL sintetizável e parametrizável de roteador para a construção de NoCs. Ele é baseado em uma biblioteca de componentes que oferece diferentes alternativas e implementações dos mecanismos associados ao encaminhamento de pacotes na rede. Com esse modelo, é possível realizar uma exploração do espaço de projeto de modo a obter uma NoC de menor custo que atenda aos requisitos de uma aplicação alvo. Além dos detalhes arquiteturais, o artigo apresenta resultados de síntese que demonstram a capacidade de se gerar, automaticamente, roteadores com diferentes características a partir de um único template.

Palavras chave— Redes-em-Chip, Sistemas Integrados. FPGA. I. INTRODUÇÃO

desenvolvimento das tecnologias de fabricação de circuitos integrados está permitindo o aumento de novas aplicações de alta tecnologia e desempenho, como microcomputadores, telefones portáteis e televisores digitais. A tecnologia disponível atualmente suporta a construção de um sistema completo em um único chip, integrando processadores, módulos de memória e controladores de entrada-e-saída.

Estes sistemas são denominados sistemas integrados ou SoCs (Systems-on-Chip), os quais têm suas metodologias de projeto baseadas no reuso de blocos previamente projetados e verificados denominados núcleos (cores ou IP-Blocks) [1]. O reuso destes blocos está possibilitando o surgimento de empresas especializadas no desenvolvimento dos mesmos, que são comprados por empresas que realizam a integração de núcleos adquiridos de um ou mais fornecedores.

Os núcleos de um sistema integrado são interligados

Este trabalho recebeu apoio do Programa Art. 170 da Assembléia Legislativa do Estado de Santa Catarina.

F. G. M. E. Santo é acadêmico da Universidade do Vale do Itajaí – CTTMar, Rua Uruguai, 458 – C.P.350, Itajaí, SC, CEP 88302-202. (e-mail: fremariani@inf.univali.br).

C. A. Zeferino é professor da Universidade do Vale do Itajaí – CTTMar, Rua Uruguai, 458 – C.P.350, Itajaí, SC, CEP 88302-202. (e-mail: zeferino@inf.univali.br).

A. A. Susin. é professor da Universidade Federal do Rio Grande do Sul – PPGC, Av. Bento Gonçalves, 95000 – C.P.15064, Porto Alegre, RS, CEP 91501-970. (e-mail: susin@eletro.ufrgs.br)

através de uma arquitetura de comunicação, normalmente baseada em um ou mais barramentos compartilhados. Entretanto, uma nova abordagem tem sido proposta pela comunidade cientifica, levando em consideração as limitações quanto ao desempenho de comunicação e o consumo de energia do barramento, o qual não atenderá aos requisitos dos futuros SoCs, pois esses irão integrar de dezenas a centenas de núcleos em uma mesma pastilha. Essa nova abordagem, chamada redes-em-chip ou NoCs (Networks-on-Chip), aplica os conceitos das redes de interconexão para computadores paralelos, sendo que os núcleos do sistema integrado são considerados como os nodos de um multicomputador e são interconectados através de uma rede formada por roteadores e canais ponto-a-ponto.

Neste artigo, é apresentada a arquitetura de um roteador para redes-em-chip, o qual é denominado ParIS (Parameterizable Interconnect Switch). Esse roteador é implementado como um modelo VHDL sintetizável e parametrizável, a partir do qual podem ser gerados, automaticamente, roteadores com diferentes características de custo e desempenho.

Este artigo é estruturado como segue. Na Seção 2, são apresentados conceitos básicos associados às redes-em-chip, assim como alguns trabalhos relacionados. A Seção 3 apresenta e descreve a arquitetura do roteador ParIS, enquanto que a Seção 4 detalha as alternativas de mecanismos de comunicação implementadas. Na Seção 5, são mostrados os resultados da síntese de diferentes roteadores baseados no roteador ParIS. Concluindo, na Seção 6, são apresentadas as considerações finais.

II. REDES-EM-CHIP

Uma rede-em-chip é constituída por um conjunto de roteadores e canais ponto-a-ponto que interconectam os núcleos de um sistema integrado [2]. Tipicamente, o modelo de comunicação utilizado é o de troca de mensagens (ou pacotes), sendo que a comunicação entre núcleos é feita através do envio e recebimento de mensagens de requisição e de resposta. Cada mensagem é constituída por: (i) um cabeçalho que sinaliza o inicio da mensagem, incluindo informações necessárias para seu encaminhamento pela rede; (ii) uma carga útil que inclui o conteúdo da mensagem; e (iii) um terminador que sinaliza o final da mensagem e pode ser até a última palavra da carga útil, desde que haja alguma informação adicional de enquadramento da mensagem.

Uma Arquitetura de Roteador Parametrizável

para a Síntese de Redes-em-Chip

Frederico G. M. E. Santo, Cesar Albenes Zeferino, Altamiro Amadeu Susin

(2)

Da mesma maneira que uma rede de interconexão para computadores paralelos, uma rede-em-chip é descrita pela sua topologia e pelos mecanismos de comunicação utilizados. A organização da rede sob a forma de um grafo caracteriza a topologia. Os vértices do grafo são os roteadores e os canais são os arcos. Os mecanismos de comunicação definem como as mensagens serão transferidas pela rede e abrangem o controle de fluxo, o roteamento, o chaveamento, a arbitragem e a memorização. O controle de fluxo realiza a alocação dos recursos necessários para uma mensagem avançar pela rede e o roteamento define o caminho a ser tomado por uma mensagem para alcançar seu destino. A arbitragem resolve conflitos internos quando duas ou mais mensagens tentam acessar o mesmo recurso (canal de saída) e o chaveamento define como uma mensagem é transferida de um canal de entrada de um roteador para um de seus canais de saídas. Finalizando, a memorização determina o esquema de filas utilizado para armazenar uma mensagem bloqueada na rede quando um canal de saída por ela requisitado já está alocado para outra mensagem.

Uma grande quantidade de artigos descrevendo arquiteturas de NoCs têm sido publicada recentemente. Fazem parte desses trabalhos publicados, as NoCs SoCIN (SoC

Interconnection Network) [3] e NoCGen (NoC Generator) [4].

O bloco construtivo básico da rede SoCIN é o roteador RaSoC, que além de permitir a configuração quanto ao número de portas, possui parametrização em três dimensões: largura dos canais de comunicação, profundidade dos buffers e largura da informação de roteamento no cabeçalho do pacote. Dessa maneira a rede pode ser configurada para diferentes aplicações. A NoCGen é um gerador de redes usado para criar NoCs e suporta a combinação de diferentes arquiteturas. A metodologia proposta pela NoCGen permite a criação de diferentes redes de interconexão sintetizadas a partir de um mesmo template (uma arquitetura de roteador canônico) e de uma biblioteca de componentes de roteador associados aos mecanismos necessário ao encaminhamento de pacotes na rede.

O projeto aqui apresentado consiste de uma versão da rede SoCIN que apresenta características de parametrização dos mecanismos de comunicação, de forma similar à metodologia utilizada na NoCGen. Por ser completamente parametrizável, essa versão foi batizada com o codinome SoCINfp (fully

parameterizable). Para tal, foram feitas modificações na

especificação original da rede SoCIN e foi desenvolvido um roteador parametrizável (denominado ParIS –

Parameterizable Interconnect Switch) e uma biblioteca de

componentes para a síntese de roteadores baseados no ParIS. A seguir, são apresentados aspectos associados à especificação da rede e da arquitetura do roteador.

III. ARQUITETURA DO ROTEADOR PARIS

A rede SoCINfp utiliza chaveamento por pacotes do tipo

wormhole. As mensagens são enviadas na forma de pacotes

que são divididos em unidades menores (flits - flow control

unit) sobre as quais é feito o controle de fluxo [5]. Essa

técnica caracteriza-se por permitir que um roteador encaminhe um pacote recebido tão logo o canal de saída necessário esteja disponível. Em caso de indisponibilidade do canal, o pacote pode ficar bloqueado e armazenado em diferentes roteadores.

A topologia de rede escolhida foi a grelha 2-D e o enlace utilizado é baseado no enlace da rede SoCIN, o qual é mostrado na Fig. 1.a. Ele possui dois canais unidirecionais, cada um contendo: um canal de dados (data) de n bits, dois sinais de enquadramento de pacote (bop e eop) e outros dois para controle de fluxo (val e ret) de dados no canal. A largura do canal de dados é parametrizável e pode ser configurada para diferentes tamanhos através do parâmetro n. Os sinais val e ret permitem a implementação de qualquer protocolo de controle de fluxo que utilize dois fios (handshake ou baseado em créditos). Conforme foi comentado os sinais bop

(begin-of-packet) e eop (end-(begin-of-packet) realizam o enquadramento de

um pacote, marcando o seu inicio e o seu fim.

n+2 n+2 ret val bop eop data n W E S N L (a) (b) Fig. 1. Rede SoCINfp: (a) enlace; (b) interface do roteador.

A. Interface do Roteador

A arquitetura do roteador ParIS foi derivada do roteador RASoC, o mesmo utilizado na rede SoCIN. A interface externa do roteador (Fig. 1.b) apresenta até cinco portas de comunicação bidirecionais, as quais são referenciadas por L,

N, E, S e W (denominações derivadas dos termos em inglês Local, North, East, South e West, respectivamente). Cada

porta de comunicação é compatível com o enlace SoCINfp, sendo constituída por dois canais unidirecionais: um de entrada (in) e um de saída (out). Por exemplo, a porta S é formada pelos canais Sin e Sout.

B. Estrutura Interna

A Fig. 2 ilustra a organização interna do roteador ParIS, a qual é descrita logo a seguir.

CPM Lout OFC FIFO rok[ ] wok val ret dout OC gnt[ ] idle req[ ] O W S O D S Lin IFC FIFO IC req[ ] idle[ ] rok wok[ ] val ret din I R S din wr wok dout rok rd din wr wok dout rok rd Wout OFC FIFO rok[ ] wok val ret dout OC gnt[ ] idle req[ ] O W S O D S Win IFC FIFO IC req[ ] idle[ ] rok wok[ ] val ret din I R S din wr wok dout rok rd din wr wok dout rok rd

(3)

Internamente, o roteador ParIS é constituído por um conjunto de blocos que implementam os mecanismos de comunicação utilizados para o encaminhamento de pacotes. Esses blocos consistem de controladores, chaves e buffer de armazenamento, os quais são descritos a seguir, conforme o mecanismo de comunicação associado:

• Controle de fluxo: responsáveis pelo controle de fluxo de entrada e de saída, os blocos IFC (Input Flow Controller) e OFC (Output Flow Controller) lidam com a alocação de filas e canais para os pacotes que fluem pela rede e, também, regulam o tráfico dos flits que chegam e saem do roteador. Na rede SoCINfp, um flit corresponde a uma palavra do canal de comunicação, dada pelos n bits de dado e pelos dois bits de enquadramento.

• Memorização: é realizada pelos blocos FIFO, os quais são responsáveis pelo armazenamento dos flits dos pacotes bloqueados no roteador devido a indisponibilidade de um recurso necessário ao seu encaminhamento. O roteador ParIS permite o uso opcional de buffers FIFO tanto nos canais de entrada como nos canais de saída.

• Roteamento: cada bloco FIFO de entrada está associado a um bloco de roteamento denominado IC (Input Controller), permitindo que esse detecte a presença de um cabeçalho de pacote e, em seguida execute o algoritmo de roteamento. Esse algoritmo seleciona o canal de saída pelo qual o pacote deve ser encaminhado e emite uma requisição a esse canal, a qual é mantida até que o pacote seja completamente encaminhado.

• Arbitragem: os blocos OC (Output Controller) são responsáveis por resolver os conflitos que ocorrem quando duas ou mais requisições (emitidas pelos blocos IC) têm como destinatário o mesmo canal de saída. Uma requisição é selecionada enquanto as demais são colocadas em espera até que o canal de saída seja liberado para, então, serem escalonadas. A arbitragem é realizada com base em um critério de prioridades que pode ser estático ou dinâmico. • Chaveamento: é implementado por um conjunto de

multiplexadores representados pelos blocos IRS (Input

Read Switch), OWS (Output Write Switch) e ODS (Output Data Switch), os quais conectam os canais de entrada e os

canais de saída a partir de sinais de controle gerados pelos blocos OC.

IV. IMPLEMENTAÇÃO A. Mecanismos de Comunicação Implementados

Para os mecanismos de comunicação citados acima foram selecionadas as seguintes alternativas para implementação (as quais são descritas a seguir):

• Controle de fluxo: handshake e baseado em créditos; • Memorização: buffers FIFO deslocamento e circular; • Roteamento: XY e WF (West-First);

• Arbitragem: prioridades estáticas, randômicas e rotativas; e • Chaveamento: por pacotes do tipo wormhole.

1) Controle de Fluxo

Como já foi citado o controle de fluxo é realizado pelos blocos IFC e OFC, os quais regulam o tráfego de flits nos canais de entrada e de saída do roteador. A Figura 3 ilustra a comunicação desses blocos assumindo-se o uso buffers FIFO apenas nos canais de entrada. Um bloco IFC tem seus sinais conectados na porta de entrada de um bloco FIFO, sendo que os sinais de controle de fluxo desse buffer estão conectados ao bloco OFC. Na interface do bloco IFC e OFC, o sinal val indica a presença de um flit válido no canal de entrada/saída, enquanto a função do sinal ret depende do mecanismo de controle de fluxo que está sendo utilizado. Os sinais wr e wok estão associados ao protocolo de escrita de flits no buffer, enquanto que os sinais rd e rok estão relacionados ao protocolo de leitura de flits do buffer. Os sinais wok (write

ok) e rok (read ok) indicam se pode ser feita uma escrita ou

uma leitura no buffer, respectivamente. Já os sinais wr e rd são os comandos de escrita e leitura, respectivamente.

IFC ret val wokwr rd rok FIFO wok wr rd rok OFC rd rok ret val din dout

Fig. 3. Comunicação entre os blocos IFC e OFC.

Em cada um dos dois blocos que realizam o controle de fluxo, há um parâmetro de entrada (FC_TYPE) para a seleção da técnica a ser utilizada, sendo que, na versão atual do roteador, são oferecidas duas opções:

• Handshake: nesta técnica, o sinal ret trabalha reconhecendo o recebimento do dado presente no canal. Quando val é ativado e o buffer pode absorver o flit enviado, então ret também é ativado.

• Baseado em créditos: nesta técnica, osinal val só é ativado quando houver espaço no buffer do receptor. O emissor mantém um contador de créditos no bloco OFC que é iniciado com valor igual ao tamanho do buffer do receptor. A cada flit enviado, o contador é decrementado e quando o mesmo chegar a zero, o emissor fica impedido de enviar novos flits até que receptor consuma um dado do buffer liberando espaço através do envio de um crédito pelo sinal

ret.

2) Memorização

O mecanismo de memorização utilizado é baseado em

buffers FIFO alocados aos canais de entrada e de saída. O

número de posições dos buffers é definido pelos parâmetros INPUT_FIFO_DEPTH e OUTPUT_FIFO_DEPTH, sendo que o tamanho em bits de cada posição é determinado pelo parâmetro WIDTH+2, onde WIDTH corresponde ao valor da largura do canal de dados (parâmetro n da Figura 1.a) e 2 refere-se ao número de bits associados ao enquadramento do pacote (bop e eop). Um terceiro parâmetro (FIFO_TYPE) define o comportamento do buffer, sendo consideradas as seguintes alternativas:

(4)

• FIFO deslocamento: utiliza um banco com DEPTH registradores paralelo-paralelo de WIDTH+2 bits organizados de tal modo que o primeiro registrador tem sua entrada conectada ao canal de entrada do buffer, enquanto que cada um dos demais tem sua entrada conectada ao canal de saída do registrador anterior no banco. Cada novo dado escrito provoca um deslocamento do conteúdo de todos os registradores. Um multiplexador conecta um dos registrado-res à saída do buffer com em base um ponteiro de leitura que indica a cabeça da fila.

• FIFO circular: nesta abordagem não há conexão entre os registradores do buffer e, portanto, não há deslocamento interno. Cada registrador tem sua entrada de dados conectada ao canal de entrada do buffer, sendo que um ponteiro de escrita indica sempre a próxima posição livre. Da mesma forma que no FIFO deslocamento, é utilizado um multiplexador comandado por um ponteiro de leitura para selecionar a posição a ser conectada à saída do buffer.

3) Roteamento

Atualmente, são disponibilizadas duas alternativas de mecanismo de roteamento para redes com topologia em grelha 2-D: XY e West-First (WF) [5]. Para a implementação desses mecanismos, foi estabelecido um sistema de coordenadas (ilustrado na Figura 4) que permitisse a identificação dos roteadores e, também, que cada roteador pudesse definir o caminho a ser tomado por um pacote levando em consideração as suas coordenadas e as do roteador destinatário.

0,0 1,0 2,0 3,0 0,1 1,1 2,1 3,1 0,2 1,2 2,2 3,2 0,3 1,3 2,3 3,3 0 1 2 X 3 0 1 2 3 Y

Fig. 4. Sistema de coordenadas da rede SoCINfp.

Nesse sistema, cada roteador possui um par de coordenadas (x,y) que identificam sua posição na rede. Quando um núcleo envia um pacote a outro núcleo, ele insere no cabeçalho do pacote as coordenadas do roteador ao qual o núcleo destinatário está conectado (xdest,ydest), e, quando um roteador

com coordenadas (xid,yid) recebe esse pacote, ele analisa o

cabeçalho e compara as coordenadas do destinatário com as suas. Se elas forem iguais, então o pacote é encaminhado à porta L do roteador. Porém, se forem diferentes, a porta a ser utilizada é definida pelo algoritmo de roteamento. A seguir são descritas as alternativas de roteamento implementadas: • XY: estabelece que um pacote deve realizar, primeiramente,

todos os deslocamentos necessários na direção X e, quando atingir a coluna do roteador destinatário, tomar a direção Y. Essa regra proíbe as curvas de Y para X a fim de evitar a

ocorrência de deadlocks, isto é, dependências cíclicas que levem à paralisação da rede [5]. O algoritmo XY é classificado como determinístico, pois a rota utilizada por qualquer mensagem de um emissor para um receptor é sempre a mesma. Ele consiste na solução mais econômica para evitar o deadlock, porém, é o mais restritivo de todos, pois limita o uso da largura de banda disponível na rede e não oferece nenhuma tolerância a falhas.

• WF (West-First): essa técnica de roteamento visa evitar o surgimento de ciclos (e o deadlock) e oferecer uma certa adaptatividade a falhas e ao congestionamento na rede, aumentando, também, o uso da largura de banda disponível. No seu algoritmo, são proibidas as curvas de Y para X na direção oeste, porém, permitidas as curvas na direção leste. Dessa maneira, se o destinatário de um pacote encontra-se à oeste do seu emissor, então o pacote deve primeiro ser encaminhado em direção a oeste (West-First), pois se tomar as direções norte ou sul, não poderá fazer nenhuma curva a oeste. O roteamento WF é definido por um modelo chamado de Turn Model [6], o qual tem seus algoritmos classificados como parcialmente adaptativos, pois algumas rotas são determinísticas enquanto outras são adaptativas. O algoritmo WF implementado para o roteador ParIS caracteriza-se por ser do tipo mínimo, isto é, qualquer porta escolhida para encaminhar um pacote não pode, sob nenhuma hipótese, afastá-lo do seu destinatário. Ao mesmo tempo em que com essa condição são reduzidas as alternativas de rotas, é evitado o problema de livelock, o qual ocorre quando um pacote perde-se pela rede e nunca chega ao destinatário [2].

4) Arbitragem

Por exercer um papel de extrema importância na definição do custo e do desempenho de um roteador, o mecanismo de arbitragem foi o que recebeu maior atenção.

A interface do bloco OC, responsável pela arbitragem, recebe n sinais de requisição, os quais são avaliados segundo um critério de prioridades. A requisição escolhida é confirmada através do sinal gnt correspondente. Esses sinais são utilizados para conectar o canal de entrada selecionado ao canal de saída. O critério de prioridade utilizado para selecionar uma entre múltiplas requisições simultâneas pode ser dinâmico ou estático. No dinâmico, cada requisição pode ter seu nível de prioridade modificado dinamicamente no tempo, enquanto que, no estático, cada requisição tem sempre o mesmo nível de prioridade. Foram implementados três árbitros com prioridades dinâmicas (randômicas e circulares) e um árbitro baseado em prioridades estáticas. Uma breve descrição desses árbitros é feita a seguir:

• Estático: recebe n requisições e dá prioridade máxima à requisição R0 e mínima à requisição Rn–1.. Esse modelo

pode ser utilizado na construção de árbitros com múltiplos níveis de arbitragem nos quais se faça necessário garantir um nível de prioridade constante a uma dada requisição.

(5)

• Randômico: recebe n requisições e utiliza um contador em anel que, a cada ciclo de relógio, dá prioridade máxima a uma requisição diferente.

• Circular (RR - Round-Robin): recebe n requisições e altera o critério de prioridades a cada arbitragem realizada de modo a garantir que a requisição selecionada em um ciclo de arbitragem tenha o menor nível de prioridade no ciclo seguinte. Com essa técnica, uma requisição qualquer deve esperar no máximo n–1 ciclos de arbitragem para ser atendida. Foram implementados dois modelos de árbitros circulares: RR-ripple (arquitetura clássica de árbitro

round-robin) e RR-comb (arquitetura otimizada proposta em [7]). 5) Chaveamento

As conexões (chaveamento) entre os canais de entrada e de saída de um roteador são feitas através de multiplexadores, que são circuitos digitais implementados conforme a tecnologia disponível. Para a síntese automática de multiplexadores, foi modelada uma função parametrizável que gera multiplexadores com m canais de 1 bit, onde m é um parâmetro de entrada. O multiplexador é modelado como um arranjo AND-OR em que cada porta AND seleciona um canal de entrada com base em um seletor especifico. Posteriormente, as saídas de todas as portas AND são agrupadas em uma operação OR. Os seletores são derivados diretamente dos sinais de confirmação dos blocos OC, os quais, ao selecionarem os canais de entrada a serem conectados aos canais de saída, ativarão os sinais de confirmação e, conseqüentemente, os sinais de seleção dos multiplexadores, estabelecendo as conexões necessárias.

B. Matriz de Conexões

Além dos circuitos descritos acima, o roteador ParIS inclui um bloco centralizado denominado CPM (Crosspoint Matrix), o qual é responsável por implementar uma matriz de conexões associada ao algoritmo de roteamento utilizado (XY ou WF). Para um roteador como o ilustrado na Figura 2, cada algoritmo de roteamento permite o estabelecimento de um subconjunto das conexões possíveis. Dessa forma, uma vez selecionada uma das alternativas de roteamento, o bloco CPM garante que apenas as conexões permitidas pelo algoritmo utilizado sejam sintetizadas, reduzindo o custo do roteador. Ele recebe sinais de requisição (req) e de confirmação (gnt) dos blocos IC e OC, respectivamente e define quais devem ser efetivamente encaminhados aos blocos OC e IC correspondentes. A partir disso o compilador VHDL tem condições de determinar o tamanho de cada multiplexador a ser sintetizado.

C. Validação

A validação da biblioteca de componentes e das diferentes configurações do roteador ParIS foi feita por meio de simulações realizadas utilizando o simulador do ambiente Quartus II da Altera [8]. Elas auxiliaram o processo de depuração dos modelos durante a etapa de modelagem e descrição em VHDL, e, também, permitiram confirmar a correção da biblioteca de componentes e do roteador ParIS.

V. RESULTADOS

A seguir, são apresentados alguns resultados da síntese de diferentes configurações do roteador ParIS baseadas em variações de combinações de parâmetros de síntese. Os parâmetros utilizados para comparação das diferentes configurações foram a freqüência máxima de operação do roteador e a área de silício expressa em LUTs (Look-Up

Tables) e flip-flops (FFs) ocupados.

Em ambos os casos, considerou-se o uso de canais de dado com largura de 8 bits, buffers apenas nos canais de entrada e com profundidade igual a 4 flits. Esses resultados foram obtidos utilizando-se o compilador do ambiente Quartus II visando o FPGA EP2A15F672C9 da família APEX II. A Tabela 1 ilustra os resultados obtidos para configurações baseadas em buffers do tipo FIFO circular, enquanto que a Tabela 2 apresenta os resultados para configurações baseadas em buffers do tipo FIFO deslocamento.

TABELA 1

ROTEADORES BASEADOS EM FIFO CIRCULAR. Controle

de fluxo Roteamento Arbitro LUTs FFs

fmax (MHz) Estático 396 276 111,6 Randômico 411 296 99,6 RR-ripple 419 309 95,6 XY RR-comb 445 308 102,1 Estático 471 296 93,7 Randômico 486 298 94,2 RR-ripple 496 315 90,7 Handshake WF RR-comb 527 314 91,4 Estático 471 296 83,1 Randômico 486 316 86,9 RR-ripple 494 329 88,9 XY RR-comb 520 328 74,2 Estático 513 298 78,7 Randômico 528 318 84,1 RR-ripple 538 335 72,8 Baseado em créditos WF RR-comb 570 334 86,6 TABELA 2

ROTEADORES BASEADOS EM FIFO DESLOCAMENTO. Controle

de fluxo Roteamento Arbitro LUTs FFs

fmax (MHz) Estático 371 256 105,2 Randômico 386 276 109,8 RR-ripple 394 289 91,0 XY RR-comb 417 288 104,8 Estático 445 258 80,5 Randômico 460 278 94,9 RR-ripple 470 295 83,9 Handshake WF RR-comb 498 294 85,2 Estático 416 276 84,2 Randômico 431 296 92,2 RR-ripple 439 309 96,3 XY RR-comb 462 308 84,0 Estático 490 278 81,6 Randômico 505 298 81,6 RR-ripple 515 315 83,2 Baseado em créditos WF RR-comb 543 314 82,2

Os resultados da Tabela 1 mostram que, entre as configurações que utilizam buffer do tipo circular, a de menor custo em área é a que utiliza as alternativas de implementação de menor complexidade lógica (controle de fluxo handshake,

(6)

roteamento XY e árbitro estático). Além disso, ela apresenta também o menor caminho crítico, com uma freqüência máxima de operação limitada a 111,6 MHz. De maneira similar, entre as configurações baseadas em buffers do tipo deslocamento (Tabela 2), a de menor custo em área é a que utiliza roteamento XY, controle de fluxo handshake e árbitro estático. Porém, nos experimentos realizados, a configuração baseada no árbitro randômico obteve a maior freqüência de operação. Comparando-se as duas tabelas, percebe-se que o

buffer circular apresenta um maior custo em área devido ao

uso de um ponteiro de escrita.

Quanto ao controle de fluxo, o baseado em créditos é mais caro que o handshake. Resultado justificado pelo fato de que, no bloco OFC do tipo handshake, não há nenhuma lógica implementada (apenas fios), o que resulta num custo zero. Porém, para o controle de fluxo baseado em créditos, esse mesmo bloco implementa um circuito seqüencial constituído por um contador up/down e uma lógica de geração do sinal de saída.

Quanto ao roteamento, devido à maior complexidade do algoritmo West-First, os roteadores que o utilizaram apresentaram maior ocupação de área se comparado com os que utilizaram o roteamento XY.

Quanto aos árbitros, as configurações que utilizaram o árbitro estático sempre apresentaram uma menor área, pois sua arquitetura é mais simples. Porém, deve-se destacar um problema improtante ainda não mencionado. Árbitros do tipo estático e randômico podem levar uma requisição a ser preterida por um longo tempo quando a rede estiver muito carregada e existirem canais de entrada de maior prioridade competindo pelo mesmo canal de saída. Nesse caso, a latência do pacote no canal de entrada de menor prioridade aumentará significativamente. Se ele restar esperando indefinidamente, diz-se que o mesmo está em um estado de starvation [5].

VI. CONSIDERAÇÕES FINAIS

Este artigo apresentou um modelo de roteador parametrizável para redes-em-chip baseado em uma biblioteca de componentes que oferece diferentes alternativas e implementações dos mecanismos de comunicação utilizados para o encaminhamento de pacotes em redes-em-chip.

Os resultados mostram, principalmente, que a biblioteca de componentes e o modelo de roteador parametrizável desenvolvidos permitem a obtenção facilitada de roteadores com diferentes características de custo (em área) e de freqüência de operação. Isso auxilia um projetista a encontre a configuração de menor custo que atenda aos requisitos de comunicação de um sistema alvo.

Como trabalho futuro pretende-se estender esse estudo de modo a caracterizar os modelos quanto ao impacto dos mesmos no desempenho de uma rede através da medição de índices como latência e vazão. Esse estudo se dará por meio da modelagem e simulação de redes-em-chip baseadas no roteador ParIS. Pretende-se efetuar essa avaliação em dois níveis diferentes de modelagem: nível transferência entre registradores e nível de transações.

VII. REFERÊNCIAS

[1] R. K. Gupta e Y. Zorian, “Introducing Core-Based System Design”, IEEE Design&Test of Computers, vol.14, n.4, pp.15-55, Oct-Dec. 1997 [2] C. A. Zeferino, “Redes-em-Chip: arquiteturas e modelos para avaliação

de área e desempenho”, Tese de doutorado, Programa de Pós-Graduação em Computação, UFRGS, 2003..

[3] C. A. Zeferino e A. A. Susin, “SoCIN: a parametric and scalable Network-on-Chip”, in Proc. 2003 Symposium on Integrated Circuits and Systems Design, pp. 169-174.

[4] J. Chan e S. Parameswaran, “NoCGEN: A Template Based Reuse Methodology for Network on Chip Architecture”, VLSID’2004, IEEE CS Press, 2004.

[5] J. Duato, S. Yalamanchili e L. Ni, “Interconnection Networks: an Engineering Approach”, Los Alamitos, IEEE CS Press, 1997. 515p. [6] C. J. Glass e L. M. Ni. “The Turn Model for adaptive routing” In:

International Symposium On Computer Architecture, ISCA, 19., 1992, Gold Coast. Proceedings... Los Alamitos: IEEE Computer Society, 1992. pp. 278-287.

[7] P. Gupta e N. McKeown, “Designing and Implementing a Fast Crossbar Scheduler”. IEEE Micro, v.19, n.1, Jan.-Feb. 1999. pp.20-28..

[8] Altera. “Introduction to Quartus II”. San Jose, Altera, 2003.

VIII. BIOGRAFIAS

Frederico Guilherme Mariani do Espírito Santo nasceu em São Paulo (SP), Brasil, em 1982. É acadêmico do Curso de Graduação em Ciência da Computação da Universidade do Vale do Itajaí (UNIVALI), Brasil, e membro do grupo de pesquisa Concepção de Sistemas Embarcados e Distribuídos (CSED) da UNIVALI, onde atua como auxiliar de pesquisa. Suas áreas de interesse incluem projeto de sistemas integrados e redes-em-chip.

Cesar Albenes Zeferino nasceu em Canoas (RS), em 1971. Graduou-se em Engenharia Elétrica pela Universidade Federal de Santa Maria (UFSM), Brasil, em 1993. Obteve o título de Mestre em Ciência da Computação na Universidade Federal de Santa Catarina (UFSC), Brasil, em 1996, e o de Doutorado em Ciência da Computação na Universidade Federal do Rio Grande do Sul (UFRGS), Brasil, em 2003. Sua experiência profissional inclui a atuação como docente em universidades do sul do Brasil e como pesquisador visitante no Laboratório de Instrumentação Eletrônica (UFSC) e no Laboratoire d’Informatique Paris 6 (Universidade de Paris). Atualmente, é professor do Curso de Ciência da Computação da Universidade do Vale do Itajaí (UNIVALI) e líder do grupo de pesquisa Concepção de Sistemas Embarcados e Distribuídos (CSED). Também colabora com pesquisadores do Grupo de Microeletrônica (GME) da UFRGS. Suas áreas de interesse incluem projeto de sistemas integrados, redes-em-chip e sistemas embarcados.

Altamiro Amadeu Susin, nasceu em Vacaria (RS), Brasil, em 1945. Graduou-se em Engenharia Elétrica pela Universidade Federal do Rio Grande do Sul (UFRGS), Brasil, em 1972. Obteve o diploma de MSc na mesma Universidade em Ciência da Computação (1977) e de Doutor Engenheiro pelo Instituto Nacional Politécnico de Grenoble, França, (1981). Realizou estágio de Pós-Doutorado na MacGill University, Montreal-Canadá (1998). Altamiro Susin iniciou suas atividades em computação como programador de computadores em 1968, tendo participado da fundação de dois centros de processamento de dados em universidades da região sul do Brasil. Em 1975 ingressou como docente da UFRGS onde permanece até hoje sendo atualmente professor Titular do Departamento de Engenharia Elétrica. Em 1982 fundou o grupo de microeletrônica (GME) que atualmente congrega uma centena de pessoas, tendo contribuído para a criação de núcleos em toda a região. Suas áreas interesse incluem projeto de circuitos digitais e analógicos, sistemas integrados, redes-em-chip e sistemas embarcados.

Referências

Documentos relacionados

DATA: 17/out PERÍODO: MATUTINO ( ) VESPERTINO ( X ) NOTURNO ( ) LOCAL: Bloco XXIB - sala 11. Horário Nº Trabalho Título do trabalho

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Os roedores (Rattus norvergicus, Rattus rattus e Mus musculus) são os principais responsáveis pela contaminação do ambiente por leptospiras, pois são portadores

As pontas de contato retas e retificadas em paralelo ajustam o micrômetro mais rápida e precisamente do que as pontas de contato esféricas encontradas em micrômetros disponíveis

Código Descrição Atributo Saldo Anterior D/C Débito Crédito Saldo Final D/C. Este demonstrativo apresenta os dados consolidados da(s)

No entanto, expressões de identidade não são banidas da linguagem com sentido apenas porque a identidade não é uma relação objetiva, mas porque enunciados de identi- dade

(http://drauziovarella.com.br/letras/p/purpura-trombocitopenica-idiopatica/):.. Púrpura trombocitopênica idiopática é uma doença autoimune que se caracteriza pela destruição das

Para se buscar mais subsídios sobre esse tema, em termos de direito constitucional alemão, ver as lições trazidas na doutrina de Konrad Hesse (1998). Para ele, a garantia