Buscar

Resumo sobre Chips de CPU e Barramentos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Resumo: chips de CPU e barramentos.
Amanda Klein1
1Instituto de Matemática e Computação - Universidade Federal de Itajubá (UNIFEI)
37500-903 – Itajubá – MG – Brasil
amandaklein@unifei.edu.br
1. Introdução
Em qualquer sistema de computador, um chip de CPU é formado por componentes
eletrônicos de baixa capacidade, em um circuito integrado, que gerencia o fluxo de dados
entre o processador, memória e periféricos. É normalmente encontrado na placa mãe.
Chips de CPU são normalmente projetados para trabalhar com uma famı́lia especı́fica de
microprocessadores. Por controlar as comunicações entre o processador e dispositivos
externos, o chip de CPU desempenha um papel crucial na determinação do desempenho
do sistema.
Já os barramentos, são conjuntos de comunicação que permitem a interligação
entre dispositivos, como a CPU, a memória e outros periféricos. São as linhas de trans-
missão que transmitem as informações entre o processador, memória e todos os demais
periféricos do computador. Estes, possuem tipos diferentes de comunicação que serão
abordados posteriormente.
O presente resumo tem como objetivo definir, categorizar e caracterizar os chips de
CPU e barramentos, além de destacar pontos importantes de seus componentes e funções,
partindo do livro ”Organização estruturada de computadores” de Tanenbaum & Austin
(2013).
2. Discussão
2.1. Chips de CPU
Atualmente, todas as CPUs são contidas em um único chip que interage com o resto do
sistema de forma bem definida. Cada chip de CPU tem um conjunto de pinos por meio dos
quais deve ocorrer toda suas comunicação com os dispositivos exteriores. Desse modo,
entendendo a função de todos esses pinos, é possı́vel aprender como a CPU interage com
a memória e os dispositivos E/S no nı́vel lógico digital.
De acordo com Tanenbaum & Austin (2013), os pinos de um chip de CPU podem
ser categorizados em em três tipos: de endereço, de dados e de controle. Esses pinos são
conectados à outros dispositivos por meio de um conjunto de fios paralelos, chamados
de barramentos. Dessa forma, para buscar uma instrução, a CPU coloca o endereço de
memória dessa instrução em seus pinos de endereço e a memória responde colocando a
palavra requisitada nos pinos de dados da CPU. Além disso, a CPU se comunica com a
memória e com dispositivos de E/S apresentando e aceitando sinais em seus pinos, não
sendo possı́vel nenhuma outra forma de comunicação.
Dois dos indicadores que determinam o desempenho de uma CPU são o número
de pinos de endereço e o número de pinos de dados, por exemplo, um chip com m pinos de
endereço pode endereçar até 2m localizações de memória e, de forma parecida, um chip
com n pinos de dados pode ler ou escrever uma palavra de n bits de uma única operação.
Assim, quanto mais pinos tem o chip, mais rápido e mais caro ele é.
Além dos pinos de endereço, cada CPU também contém pinos de controle, que
regulam o fluxo e a temporização de dados que vêm da CPU e vão para ela. Ademais,
todas as CPUs têm pinos para energia elétrica, para terra e para um sinal de clock, mas
outros pinos variam muito de um chip para o outro.
Conforme Tanenbaum & Austin (2013), os pinos de controle são divididos em:
controle de barramento, interrupções, arbitragem de barramento, sinalização de copro-
cessador, estado e diversos. A maioria dos pinos de controle do barramento são saı́das da
CPU para o barramento, a CPU usa esses pinos para controlar o resto do sistema e infor-
mar o que ela quer fazer. Já os pinos de interrupção, são entradas que vêm de dispositivos
de E/S para a CPU, quando uma operação de E/S estiver concluı́da, o chip controlador
de E/S ativa um sinal em um desses pinos para interromper a CPU e fazê-la prestar al-
gum serviço ao dispositivo de E/S. Os pinos de arbitragem de barramento são necessários
para disciplinar o tráfego no barramento de modo a impedir que dois dispositivos tentem
usá-lo ao mesmo tempo. Alguns chips de CPUs são projetados para funcionar com co-
processadores, como chips de ponto flutuante, mas às vezes também com chips gráficos
ou outros chips. Para facilitar a comunicação entre CPU e coprocessador, há pinos espe-
ciais dedicados a fazer e aceitar requisições e além desses, há pinos diversos em algumas
CPUs.
2.2. Barramentos de computador
Um barramento é um caminho elétrico comum entre vários dispositivos. Os barramentos
podem ser categorizados por sua função. Podem ser usados no interior da CPU para
transportar dados de e para a ULA ou serem externos à CPU, para conectá-la à memória
ou a dispositivos de E/S.
Os primeiros computadores pessoais tinham somente um barramento externo, ou
barramento do sistema, porém, hoje em dia os computadores pessoais em geral têm um
barramento de uso especial entre a CPU e a memória e (pelo menos) outro barramento
para os dispositivos de E/S. Há regras bem definidas sobre o modo de funcionamento
do barramento, às quais todos os dispositivos a ele ligados têm de obedecer que são
denominadas protocolo de barramento. Ainda assim, outros barramentos não possuem
especificações mecânicas, pois são projetados para serem usados dentro de um circuito
integrado.
Alguns dos mais conhecidos barramentos, no passado e atualmente, são: Om-
nibus (PDP-8), Unibus (PDP-11), Multibus (8086), barramento vME (equipamento para
laboratório de fı́sica), barramento do iBM PC (PC/xT), barramento iSA (PC/AT), barra-
mento EiSA (80386), Microchannel (PS/2), Nubus (Macintosh), barramento PCi (muitos
PCs), barramento SCSi (muitos PCs e estações de trabalho), Universal Serial Bus (PCs
modernos) e FireWire (equipamentos eletrônicos de consumo).
Além disso, alguns dispositivos ligados a um barramento são ativos e podem ini-
ciar transferências no barramento, enquanto que outros são passivos e devem esperar
requisições. Os ativos são denominados mestres; os passivos são denominados escravos.
Desse modo, quando a CPU ordena a um controlador que leia ou escreva um bloco, ela
está agindo como mestre e o controlador de disco, como escravo. Os sinais binários
emitidos por dispositivos de computador muitas vezes são fracos demais para energizar
um barramento, por isso, a maioria dos mestres de barramento está conectada a ele por
um chip denominado controlador de barramento, que é nada mais que um amplificador
digital.
A grande parte dos escravos está conectada ao barramento por um receptor de
barramento. Quando dispositivos podem agir como mestres e também como escravos, é
usado um chip combinado denominado transceptor de barramento. Essas interfaces de
barramento são com frequência dispositivos de três estados, chamado de coletor aberto.
Quando dois ou mais dispositivos em uma linha de coletor aberto ativam a linha ao mesmo
tempo, o resultado é o OR booleano de todos os sinais. Esse configuração costuma ser
denominada OR cabeado (wired-OR).
Assim como uma CPU, um barramento também tem linhas de endereço, de da-
dos e de controle, por exemplo, algumas CPUs têm três pinos que codificam se ela está
fazendo uma leitura de memória, uma escrita na memória, uma leitura de E/S, uma es-
crita de E/S ou alguma outra operação. Um barramento tı́pico poderia ter uma linha para
leitura de memória, uma segunda para escrita na memória, uma terceira para leitura de
E/S, uma quarta para escrita de E/S e assim por diante. De maneira semelhante, os prin-
cipais tópicos do projeto de barramento são largura, clock, arbitragem e operações.
2.3. Largura do barramento
Quanto mais linhas de endereço tiver um barramento, mais memória a CPU pode
endereçar diretamente. Se um barramento tiver n linhas de endereço, uma CPU pode
usá-las para endereçar 2n localizações de memórias diferentes. O que dificulta é que bar-
ramentos largos precisam de mais fios do que os estreitos, e também ocupam mais espaço
fı́sico (por exemplo, na placa-mãe), além de precisar de conectores maiores.Todos esses
fatores encarecem o barramento e, por isso, há um compromisso entre tamanho máximo
de memória e custo do sistema. Não é apenas o número de linhas de endereço que tende
a crescer com o tempo, mas também o número de linhas de dados, porém, por uma razão
diferente.
Há dois modos de aumentar a largura de banda de dados de um barramento: re-
duzir o tempo deste ou aumentar sua largura de dados. Acelerar o barramento é possı́vel,
mas difı́cil, porque os sinais trafegam em linhas diferentes com velocidades ligeiramente
diferentes, um problema conhecido como atraso diferencial do barramento. Quanto mais
rápido o barramento, mais sério se torna o atraso diferencial.Para contornar o problema de
barramentos muito largos, às vezes os projetistas optam por um barramento multiplexado.
Nesse projeto, em vez de as linhas de endereços e dados serem separadas, há, por exem-
plo, 32 linhas para endereços e dados juntos. No inı́cio de uma operação de barramento,
as linhas são usadas para o endereço. Mais tarde, são usadas para dados.
2.4. Clock do barramento
Barramentos podem ser divididos em duas categorias distintas, dependendo de seu clock.
Um barramento sı́ncrono tem uma linha comandada por um oscilador de cristal. O sinal
nessa linha consiste em uma onda quadrada com uma frequência em geral entre 5 e 133
MHz. Todas as atividades do barramento tomam um número inteiro desses ciclos denom-
inados ciclos de barramento. O outro tipo de barramento, o barramento assı́ncrono, não
tem um clock mestre. Ciclos de barramento podem ter qualquer largura requerida e não
são os mesmos entre todos os pares de dispositivos.
• Barramentos sı́ncronos: sinais de controle podem ser ativados baixos ou altos.
Cabe aos projetistas do barramento determinar o que é mais conveniente. Podemos
entendê-la como equivalente em hardware à decisão que o programador toma de
representar blocos de discos livres em um mapa de bits como 0s ou 1s.
• Barramentos assı́ncronos: tudo funciona como múltiplos do clock do barramento.
Ainda que CPU e memória possam concluir uma transferência em 3,1 ciclos, elas
terão de prolongar o ciclo até 4,0 porque ciclos fracionários são proibidos.
A razão é que é mais fácil construir um sistema sı́ncrono. A CPU apenas ativa
seus sinais e a memória apenas reage. Não há realimentação (causa e efeito), mas, se os
componentes foram escolhidos adequadamente, tudo funcionará sem dependência.
2.5. Arbitragem de Barramento
De acordo com Tanenbaum & Austin (2013), chips de E/S têm de se tornar mestres de
barramento para ler e escrever na memória e também para causar interrupções. De modo
semelhante, coprocessadores também podem precisar se tornar mestres de barramento.
Então, quando dois ou mais dispositivos querem se tornar mestre no mesmo barramento,
é preciso algum mecanismo de arbitragem de barramento para evitar o caos. Mecanismos
de arbitragem podem ser centralizados ou descentralizados.
2.5.1. Arbitragem centralizada
Na arbitragem centralizada, um único árbitro de barramento determina quem entra em
seguida. O barramento contém uma única linha de requisição OR cabeada que pode ser
afirmada por um ou mais dispositivos a qualquer tempo. Não há nenhum modo de o
árbitro dizer quantos dispositivos requisitaram o barramento. As únicas categorias que
ele pode distinguir são algumas requisições e nenhuma requisição.Quando o dispositivo
que está fisicamente mais próximo do árbitro vê a concessão, verifica para confirmar
se fez uma requisição. Caso positivo, toma o barramento. Se não fez uma requisição,
ele propaga a concessão até o próximo dispositivo na linha que se comporta da mesma
maneira, e assim por diante, até algum deles aceitar a concessão e tomar o barramento.
O arranjo anterior é denominado encadeamento em série (daisy chaining), que tem a
propriedade de designar prioridades aos dispositivos dependendo da distância entre eles e
o árbitro. O que estiver mais próximo vence.
Em sistemas em que a memória está no barramento principal, a CPU deve com-
petir pelo barramento com todos os dispositivos de E/S em praticamente todos os ciclos.
Uma solução comum para essa situação é dar à CPU a prioridade mais baixa, de modo que
ela obtenha o barramento apenas quando ninguém mais o quiser. Nesse caso, a ideia é que
a CPU sempre pode esperar, mas os dispositivos de E/S muitas vezes precisam adquirir
logo o barramento ou então perdem os dados que chegam.
2.5.2. Arbitragem descentralizada
Quando um dispositivo quer usar o barramento, ele afirma sua linha de requisição. Todos
os dispositivos monitoram todas as linhas de requisição, de modo que, ao final de cada
ciclo de barramento, cada dispositivo sabe se foi o requisitante de prioridade mais alta e,
portanto, se tem permissão de usar o barramento durante o próximo ciclo. Comparado à
arbitragem centralizada, o método descentralizado requer mais linhas de barramento, mas
evita o custo potencial do árbitro. Além disso, limita o número de dispositivos ao número
de linhas de requisição.
Outro tipo de arbitragem de barramento descentralizada usa apenas três linhas, não
importando quantos dispositivos estiverem presentes. A primeira é uma linha OR cabeada
para requisitar o barramento. A segunda é denominada busy e é ativada pelo mestre de
barramento corrente. A terceira linha é usada para arbitrar o barramento. Assim, esse
esquema é similar à arbitragem original por encadeamento em série, com a exceção de
não ter o árbitro. Por isso é mais barato, mais rápido e não está sujeito a falhas do árbitro.
2.6. Operações de Barramento
Além dos ciclos de barramentos supracitados, como ler e escrever, existem vários outros
tipos. Por exemplo, em um sistema multiprocessador com duas ou mais CPUs no mesmo
barramento, muitas vezes é necessário garantir que só uma CPU por vez use alguma es-
trutura de dados crı́tica na memória. Um modo tı́pico de organizar isso é ter uma variável
na memória que é 0 quando nenhuma CPU estiver usando a estrutura de dados e 1 quando
esta estiver em uso. Porém, duas CPUs podem ler a variável em ciclos de barramento
consecutivos, e para evitar isso sistemas multiprocessadores costumam ter um ciclo de
barramento especial ler-modificar-escrever que permite a qualquer CPU ler uma palavra
da memória, inspecionar e modificar essa palavra, e escrevê-la novamente na memória,
tudo sem liberar o barramento. Outro tipo importante de ciclo de barramento é o usado
para manipular interrupções. Quando ordena que um dispositivo de E/S faça algo, a CPU
espera uma interrupção quando o trabalho for concluı́do. A sinalização da interrupção
requer o barramento.
3. Conclusão
Por fim, é possı́vel concluir que Cada chip de CPU tem um conjunto de pinos por meio
dos quais deve ocorrer toda suas comunicação com os dispositivos exteriores. Estes pinos
podem ser dividos em pinos de endereço, de dados e de controle, sendo este último cate-
gorizado em controle de barramento, interrupção, arbitragem de barramento, sinalização
de coprocessador, estado e diversos. Assim, cada um deles possui funcões primordiais
dentro do chip, se comunicando com dispositivos por meio de barramentos.
Já os barramentos, são caminhos elétricos comuns entre dispositivos e podem ser
divididos de acordo com suas funções. Além disso, alguns dispositivos ligados a um
barramento são ativos e podem iniciar transferências no barramento, enquanto que outros
são passivos e devem esperar requisições, sendo estes, mestre e escravo, respectivamente.
Sobre sua arbitragem, ela pode ocorrer de forma centralizada ou descentralizada.
Dessa forma, foi possı́vel definir chips de CPU e barramentos e caracterizar seu
funcionamento e componentes, além de especificar seus tipos e exceções.
4. Referência Bibliográfica
Tanenbaum, A. S., Austin, T. (2013) Organização estruturada de computadores. 6a edição.
São Paulo: PearsonPrentice Hall (p.147-158).

Continue navegando