pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2.6 Interfaces para conexão entre cores<br />
Com o aumento da <strong>de</strong>nsida<strong>de</strong> ocasionado pelos avanços na tecnologia <strong>de</strong> semicondutores, tornou-<br />
se possível a integração <strong>de</strong> numerosas funções em um único circuito integrado. Com isto, alguns<br />
periféricos que antes comunicavam-se com o processador através <strong>de</strong> barramentos externos, agora são<br />
integrados na mesma pastilha. Conseqüentemente, os projetistas passaram a ter que se preocupar com<br />
problemas tais como ter <strong>de</strong>senvolver barramentos intra-dispositivo que provejam comunicação entre<br />
os cores embutidos, e <strong>de</strong> cada core com o mundo externo.<br />
Em vista <strong>de</strong>ssa necessida<strong>de</strong> várias iniciativas surgiram. A maioria é voltada para ASICs, muito<br />
embora seus princípios possam ser aproveitados para o <strong>de</strong>senvolvimento <strong>de</strong> barramentos <strong>de</strong> comuni-<br />
cação para SoCs ou mesmo para FPGAs convencionais. A seguir, serão mostradas as principais idéias<br />
<strong>de</strong> dois <strong>de</strong>sses barramentos, que inspiram a proposta apresentada na Seção 5.6.<br />
2.6.1 CoreConnect<br />
CoreConnect é uma iniciativa da IBM para prover integração e reutilização <strong>de</strong> processadores e<br />
cores <strong>de</strong> aplicações específicas em um só dispositivo (SoC) [IBM99]. A arquitetura do barramento<br />
CoreConnect permite aos projetistas <strong>de</strong> hardware montar projetos <strong>de</strong> SoCs facilmente, <strong>de</strong>s<strong>de</strong> que o<br />
façam utilizando cores projetados com as especificações do barramento. Isto faz com que o tempo <strong>de</strong><br />
projeto e, conseqüentemente o time-to-market, do produto sejam bastante reduzidos.<br />
Conforme po<strong>de</strong> ser visto na Figura 2.15, essa arquitetura é composta por um barramento <strong>de</strong> pro-<br />
cessador local (PLB - Processor Local Bus), barramento periférico interno ao circuito integrado (OPB<br />
- On-chip Peripheral Bus), um circuito que une esses dois barramentos (bus bridge), e um barramento<br />
<strong>de</strong> controle <strong>de</strong> dispositivo (DCR - Device Control Register). Periféricos po<strong>de</strong>m ser conectados ao PLB<br />
com uma gran<strong>de</strong> largura <strong>de</strong> banda e baixa latência. Cores com freqüência mais baixa são conectados<br />
ao OPB, reduzindo o tráfego no PLB, o que aumenta o <strong>de</strong>sempenho geral do sistema. O princípio<br />
<strong>de</strong> funcionamento baseia-se em um árbitro, que <strong>de</strong>ci<strong>de</strong> qual core <strong>de</strong> sistema (System core) vai fazer<br />
acesso o barramento <strong>de</strong> cada vez.<br />
O PLB soluciona questões <strong>de</strong> alto <strong>de</strong>sempenho e baixa latência para cores integrados ao SoC.<br />
Ele é totalmente síncrono, e suporta a conexão <strong>de</strong> até 8 cores atuando como mestres e múltiplos<br />
cores escravos, cujo número vaira <strong>de</strong> acordo com a implementação do árbitro. Existem 3 diferentes<br />
versões <strong>de</strong> arquitetura, com 32, 64 ou 128 bits. Possui ainda barramentos <strong>de</strong> dados diferentes para<br />
leitura e escrita, o que torna possível transferências sobrepostas, a altas taxas. A especificação do<br />
PLB <strong>de</strong>screve uma arquitetura <strong>de</strong> sistema com <strong>de</strong>talhamento <strong>de</strong> sinais e transações.<br />
O OPB é um barramento <strong>de</strong> entrada e saída, criado para aliviar gargalos <strong>de</strong> <strong>de</strong>sempenho entre<br />
43