Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Introduo
O advento dos processos submicrnicos tem permitido um aumento do nvel de
integrao de transistores em uma mesma pastilha de silcio e viabilizar a
sustentao da Lei de Moore por ainda muitos anos. Esse avano na tecnologia tem
possibilitado a integrao de mltiplos componentes, como processadores,
controladores e memria, em um nico chip, resultando na integrao de um sistema
completo em uma mesma pastilha. Esses sistemas so denominados sistemas
integrados ou SoCs (Systems-On-Chip).
Para atender s presses do mercado e amortizar os custos de projeto entre vrios
sistemas, importante que os componentes integrados em um SoC sejam
reutilizveis. Dessa forma, as metodologias de projeto adotadas devem ser baseadas
no reuso de componentes pr-projetados e pr-verificados. Esses componentes
reutilizveis so denominados ncleos (ou blocos de propriedade intelectual
IP Blocks) e podem ser desenvolvidos pela empresa responsvel pelo projeto do
sistema ou adquiridos de terceiros.
Os ncleos de um sistema integrado so interconectados por meio de uma estrutura
de canais denominada arquitetura de comunicao (tambm referenciada pelos termos
arquitetura, estrutura ou rede de interconexo). Tipicamente, so utilizadas duas
abordagens para a interconexo dos ncleos: canais ponto-a-ponto dedicados e canais
multiponto compartilhados. A primeira alternativa a que oferece o melhor
desempenho, pois cada comunicao ocorre independentemente das demais por meio
Ncleo
Ncleo
Ncleo
Ncleo
...
Roteador
2 canais
ponto-a-ponto
Carga til
(a)
(b)
Assim como uma rede de interconexo para computadores paralelos, uma rede em
chip caracterizada pela sua topologia e pelos mecanismos de comunicao
utilizados. A topologia consiste na organizao da rede sob a forma de um grafo, no
qual os roteadores so os vrtices do grafo e os canais so os arcos, como mostra a
Fig. 1.b. Os mecanismos de comunicao definem a forma como as mensagens so
transferidas pela rede e os principais mecanismos so [4][5]:
Controle de fluxo: lida com a alocao dos recursos (buffers e canais) necessrios
para uma mensagem avanar pela rede, realizando a regulao de trfego nos
canais;
Roteamento: define o caminho a ser utilizado por uma mensagem para atingir o
seu destino;
Arbitragem: resolve conflitos internos na rede, quando duas ou mais mensagens
competem por um mesmo recurso (buffer ou canal de sada);
Chaveamento: define como uma mensagem transferida da entrada de um
roteador para um de seus canais de sada (eg. circuito ou pacote); e
Memorizao: determina o esquema de filas utilizado para armazenar uma
mensagem bloqueada na rede quando um canal de sada por ela requisitado j est
alocado para uma outra mensagem.
2.1
Controle de Fluxo
Emissor
Banda Lateral
Receptor
Palavra de dado
phit
(a)
(b)
O bloco construtivo de uma rede em chip o seu roteador, o qual tem como funo
encaminhar mensagens transferidas pela rede. Um roteador constitudo por um
conjunto de filas (buffers) e multiplexadores (chaves), conforme ilustrado na Fig.
2.b, alm de controladores que implementam os mecanismos de comunicao
necessrios transferncia de mensagens pela rede. Cada um desses componentes
pode ser construdo de maneira centralizada ou distribuda, sendo que, em geral, a
primeira abordagem oferece uma maior taxa de utilizao de recursos e a segunda
propicia a construo de circuitos mais simples (mais rpidos e com menor rea).
2.2
Uma rede-em-chip transporta mensagens atravs dos seus canais fsicos e dos buffers
dos roteadores. Uma comunicao realizada com sucesso quando a informao
enviada devidamente recebida pelo destinatrio. Entretanto, existem trs situaes
que podem impedir que uma mensagem chegue ao seu destinatrio: starvation,
livelock e deadlock.
Quando o cabealho de uma mensagem chega a um roteador, ele processado pelo
mecanismo de roteamento que determina o canal de sada a ser utilizado e emite uma
requisio ao rbitro responsvel pela alocao do canal. Desde que podem haver
mltiplas requisies simultneas para um mesmo canal de sada, o rbitro aplica um
critrio de prioridades para selecionar uma dessas requisies. Dependendo de como
esse critrio atualizado e em uma situao de alto trfego por esse canal de sada,
uma mensagem pode ser preterida indefinidamente e nunca ser selecionada para
utilizar o canal requisitado, vindo a sofrer o que se chama de starvation.
Por outro lado, se o algoritmo de roteamento permitir que qualquer canal de sada
seja utilizado, ento o starvation ser minimizado. Contudo, isso pode permitir que, a
cada roteador, o mecanismo de roteamento selecione um canal de sada que afaste a
mensagem do seu destinatrio e ela nunca chegue ao mesmo. Esse problema
conhecido por livelock.
Contudo, o terceiro problema, denominado deadlock, o mais grave de todos,
pois, alm de impedir que uma mensagem chegue ao seu destinatrio, ele pode levar
paralizao da rede. O deadlock ocorre quando h uma dependncia cclica na rede
como a ilustrada na Fig. 3.a, na qual cada mensagem garantiu a alocao de um canal
e requer o uso de outro canal j alocado a outra mensagem. Em uma rede como essa,
podem ocorrer dois tipos de ciclos, ilustrados na Fig. 3.b, sendo que a soluo de
menor custo utilizada para evitar a ocorrncia de deadlock consiste em proibir a
realizao de um subconjunto das curvas (ou voltas) que uma mensagem poderia
realizar, evitando o surgimento de ciclos. Por exemplo, na Fig. 3.c, foram proibidas
todas as curvas do eixo vertical (Y) para o eixo horizontal (X). Com isso, qualquer
mensagem deve primeiro trafegar pelo eixo X para depois tomar o eixo Y, se
necessrio, no podendo mais ser encaminhada pelo eixo X.
(a)
(b)
(c)
2.3
Mecanismo
Controle de fluxo
Roteamento
Arbitragem
Chaveamento
Memorizao
Alternativas
Handshake, baseado em crditos e baseado em canais virtuais
Determinstico, parcialmente adaptativo e adaptativo
Distribuda ou centralizada
Por circuito e por pacotes do tipo wormhole
Na entrada (FIFO ou multi-via) e centralizada
De fato, algumas das alternativas listadas acima foram extradas de artigos que
apresentam apenas propostas de redes-em-chip, sendo que, em sua maioria, as
implementaes j realizadas baseiam-se nas solues de menor custo.
Roteador
Enlace
n+2 bits
0
data
bop
eop
n+2
val
ack
n+2
8
10
11
12
13
14
15
(a)
Enlace
SoCIN
e b
o o
p p
n bits
0 1
Cabealho
0 0
...
1 0
Terminador
(b)
Carga
til
(c)
Na Fig. 4.b, ilustrado o enlace da rede SoCIN, o qual possui dois canais
unidirecionais em oposio. Cada canal possui n sinais de dado, dois sinais de
enquadramento da mensagem (bop e eop) e dois sinais de controle de fluxo (val e
ack). O sinal bop (begin-of-packet) marca o incio da mensagem, enquanto que o eop
(end-of-packet) marca o seu final. O sinal val (valid) utilizado pelo emissor para
sinalizar a presena de um dado vlido no canal, enquanto que o sinal ack
(acknowledgement) utilizado pelo receptor para confirmar o recebimento do dado.
Os n sinais de dado e os sinais de enquadramento constituem o phit (n+2 bits).
3.1
Chaveamento e Roteamento
3.2
O roteador RASoC possui cinco portas de comunicao bidirecionais, cada uma com
dois canais unidirecionais em oposio compatveis com o enlace SoCIN (Fig. 5.a).
Existe uma porta reserva conexo de um ncleo rede (porta L Local) e quatro
portas para conexo com roteadores vizinhos: N (North), E (East), S (South) e
W (West). Contudo, em uma abordagem no convencional, essas portas podem ser
utilizadas para conectar mais de um ncleo a um mesmo roteador. Internamente,
existem dois tipos de mdulos que implementam a lgica dos canais de entrada (in) e
dos canais de sada (out). Assim, cada porta de comunicao possui um mdulo in e
um mdulo out (eg. Lin e Lout), como ilustra a Fig. 5.b. O mdulo in realiza o
controle de fluxo dos pacotes que chegam ao canal e inclui o buffer FIFO e o circuito
de roteamento associado ao canal. O mdulo out implementa o rbitro que escalona o
uso do canal de sada e realiza o controle de fluxo dos pacotes que saem pelo canal. O
chaveamento realizado por um crossbar distribudo implementado atravs de
multiplexadores implementados nos mdulos in e out.
L
(a)
Lin
Lin
Lout
Lout
Nin
Nin
Nout
Nout
Ein
Ein
Eout
Eout
Sin
Sin
Sout
Sout
Win
Win
Wout
Wout
(b)
4 As Redes-em-Chip na Literatura
A questo da comunicao em circuitos VLSI/ULSI e o uso de arquiteturas
chaveadas vm sendo discutidos na literatura a mais de uma dcada com diferentes
propostas. Enquanto alguns trabalhos propunham arquiteturas baseadas em redes
locais [6], outros sugeriam o uso de arquiteturas semelhantes quelas usadas em redes
de interconexo para computadores paralelos [7]. Ao que tudo indica, este ltimo
conceito o que tem vigorado no projeto da maioria das arquiteturas de rede de
interconexo chaveada utilizadas como infra-estrutura de comunicao intrachip
apresentadas na literatura nos ltimos anos (desde o ano 2000). Para situar o leitor
nesse contexto, a seguir, apresentada uma breve reviso a respeito do histrico de
publicaes sobre redes-em-chip na literatura.
No ano de 2000, foram apresentados os primeiros resultados experimentais a
respeito de duas redes-em-chip importantes e com caractersticas bem diferenciadas:
as redes SPIN (Scalable Programmable Integrated Network) [8] e aSOC (adaptative
SOC) [9]. A principal diferena entre essas redes que a primeira baseia-se na
execuo do roteamento em tempo de execuo, enquanto que, na segunda, o
roteamento determinado feito, em tempo de compilao. A rede SPIN mais genrica
e visa suportar tanto arquiteturas data flow como control flow mapeadas sobre o
modelo de comunicao de troca de mensagens atravs do uso de adaptadores de
comunicao (wrappers). J a rede aSOC visa especialmente as arquiteturas dataflow,
mas prev uma infraestrutura para suportar algum nvel de trfego dinmico.
Ainda em 2000, foi introduzido o termo Network-on-Chip em um artigo que
props o uso canais chaveados por roteadores para a comunicao baseada em
pacotes entre componentes dos chips da chamada era de 1 bilho de transistores
[10]. O grupo de autores desse trabalho tem conduzido um importante projeto
denominado NOCARC, o qual visa o desenvolvimento de uma plataforma
arquitetural baseada em uma rede-em-chip com topologia em grelha para a
interconexo de ncleos heterogneos.
A edio de 2001 da conferncia DAC (Design Automation Conference) dedicou
uma sesso ao tema On-Chip Communication Architectures, na qual foram
apresentados quatro trabalhos. Um deles, o de maior repercusso, foi de autoria de
William J. Dally, um dos pesquisadores que mais contribuiu para a evoluo das
redes de interconexo para computadores paralelos nos anos 80 e 90. Nesse artigo,
ele e Brian Towles propem a substituio de estruturas de interconexo global por
redes em-chip, descrevem uma arquitetura de rede-em-chip baseada em um toride
dobrado e discutem vrios aspectos a respeito da interconexo intrachip [11].
Em 2002, o nmero de trabalhos sobre redes-em-chip foi ainda maior, sendo que,
na conferncia DATE (Design Automation and Test on Europe), foi dedicada uma
sesso hot topic ao tema. O ano de 2002 tambm foi importante quanto s
publicaes em peridicos do IEEE. Na edio de janeiro da IEEE Computer, Luca
Benini e Givanni De Michelli publicaram um artigo intitulado Networks on Chips: A
New SoC Paradigm, no qual advogam em favor dessas redes discorrem sobre vrias
questes importantes [2]. J na edio de setembro e outubro da IEEE Micro [12],
foram publicados trs artigos nos quais foram apresentadas as redes Octagon, Eclipse.
Chain, algumas j introduzidas em conferncias realizadas em anos anteriores.
Rede
SoCIN
SPIN
Topologia
Grelha 2-D
HERMES Octagon
Chaveamento
Wormhole
Wormhole
Roteamento
Determinstico
Adaptativo
Arbitragem
Distribuda
Distribuda
Memorizao
Entrada
Entrada e
centralizada
Baseado em
crditos
[7][8]
Anel cordal
CLICH
Grelha 2-D
Wormhole
Circuito ou
Wormhole
Pacotes
Parcialmente Determinstico Determinstico
adaptativo
Centralizada Centralizada Distribuda
Entrada
Entrada
Controle de
Handshake
Handshake
fluxo
Referncias
[3][5]
[14]
[15]
[16]
principais
OBS: A rede aSOC no foi includa pois, devido ao fato de utilizar escalonamento em tempo
de compilao, ela no pode ser descrita claramente usando a sistemtica acima.
5 Redes-em-Chip na Internet
Esta seo apresenta apenas uma lista de links para alguns dos principais projetos e
sites com informaes a respeito de redes-em-chip.
Projeto SoCIN
http://inf.univali.br/~socin/
Projeto SPIN
http://www-asim.lip6.fr/~adrijean/
Projeto aSoC
http://vsp2.ecs.umass.edu/vspg/ASOC/
Projeto NOCARC
http://www.imit.kth.se/info/FOFU/NOC/
6 Consideraes Finais
Este texto apresentou uma introduo s redes-em-chip visando fornecer alguns
conceitos bsicos a respeito do tema e contextualizar o leitor no cenrio do
desenvolvimento dessas redes. Diversos aspectos mais avanados no foram
considerados devido s limitaes de espao e ao objetivo proposto de ser um texto
introdutrio. Deve-se destacar que existe uma literatura rica sobre o tema, sendo, em
sua maioria, constituda por artigos publicados em conferncias e jornais da IEEE, os
quais podem ser obtidos pela Internet. Ao leitor que est iniciando seus estudos sobre
esse tema, sugere-se, fortemente, que as primeiras leituras sejam feitas com base nos
artigos [2], [8], [10] e [11]. Aps, o leitor deve ficar livre para buscar as referncias
citadas nesses textos ou partir para referncias mais atuais.
Agradecimentos
Os estudos que serviram de base a esse texto foram desenvolvidos no decorrer do
doutoramento deste autor no PPGC-UFRGS, com bolsa de doutorado do Conselho
Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq). O mesmo rgo
fomentou a realizao de estgio no Laboratoire dInformatique Paris VI junto ao
Projeto SPIN, sob a superviso do Prof. Dr. Alain Greiner. Um agradecimento muito
especial dado ao Prof. Dr. Altamiro Amadeu Susin (PPGC-UFRGS), orientador da
tese, o qual vislumbrou e sempre acreditou no uso de redes chaveadas para
interconexo intrachip desde o incio de nossos estudos, em 1998.
Referncias
1. ITRS : International Technology Roadmap for Semiconductors. Disponvel por WWW em
http://public.itrs.net/ (15 de junho de 2003)
2. Benini, L., De Micheli, G. : Networks on Chips: A New SoC Paradigm. IEEE Computer,
v.35, n.1 (2002) 7078
3. Zeferino, C. A. : Redes-em-Chip: Arquiteturas e Modelos para Avaliao de rea e
Desempenho. (Tese de Doutorado) Porto Alegre : PPGC-UFRGS (2003)
4. Duato, J. et al. : Interconnection Networks: An Engineering Approach. Los Alamitos :
IEEE Computer Society Press (1997) 515p.
5. Zeferino, C. A., Susin, A. A. : SoCIN: A Parametric and Scalable Network-on-Chip. In:
Symposium on Integrated Circuits and Systems, 16, 2003, So Paulo. Los Alamitos : IEEE
Computer Society Press (2003)
6. Tewksbury, S. K., Uppuluri, M., Hornak, L. A. : Interconnections/Micro-Networks for
Integrated Microelectronics. In: IEEE Global Telecommunications Conference, Orlando,
1992. Proceedings... Los Alamitos, IEEE Computer Society Press (1992) 180186
7. Guerrier, P., Greiner, A. : A Scalable Architecure for System-on-Chip Interconnections. In:
Sophia-Antipolis Micro-Electronics Conference, 1999, France, Proceedings Sophia
Antipolis : [s.n.] (1999) 9093
8. Guerrier, P., Greiner, A. : A Generic Architecture for On-Chip Packet-Switched
Interconnections. In: Design Automation and Test in European Conference, 2000, Paris
Proceedings... Los Alamitos, IEEE Computer Society Press (2000) 250-256
9. Liang, J. et al. : aSOC: A Scalable, Single-Chip Communication Architecture. In:
International Conference on Parallel Architectures and Compilation Techniques, 2000,
Philadelphia Proceedings... Los Alamitos : IEEE Computer Society (2000)
10. Hemani, A. et al. : Network on chip: An architecture for billion transistor era. In:
Proceeding of the IEEE NorChip Conference (2000)
11. Dally, W. J., Towles, B. : Routing Packets, Not Wires: On-Chip Interconnection Networks.
In: Design Automation Conference, 38, LasVegas, 2001. Proceedings... Los Alamitos :
IEEE Computer Society Press (2002) 684-689
12. Lavagno, L. (ed.) : IEEE Micro. v. 22, n. 5 (2002)
13. Jantsch, A., Tenhunen, H. (eds.) : Networks on Chip. Dordrecht : Kluwer (2003)
14. Moraes, F. G. et al. : A Low Area Overhead Packet-switched Network on Chip:
Architecture and Prototyping In: International Conference on Very Large Scale Integration,
Darmstadt, 2003. Proceedings [S.l, s.n.] (2003)
15. Karim, A. N. F., Nguyen, A., Dey, R. R. S. : An Interconnect Architecture for Networking
Systems on Chips. IEEE Micro, v.22, n.5 (2002) 36-45
16. Kumar, S. et al. : A Network on Chip Architecture and Design Methodology. In: Int.
Symposium on Very Large Integration Scale, Pittsburg, 2002. Proceedings... Los Alamitos:
IEEE Computer Society (2002) 105-112