Você está na página 1de 31

Organização e Arquitetura de

Computadores I

Barramentos

Ivan Saraiva Silva


Leonardo Casillo
Sumário

• Modelo de Von Neumann • Barramentos simples


• O que é um barramento • Arbitragem
• Barramentos • Starvation
• Comparação entre • Temporização
barramentos • Barramentos síncronos
• Barramento de Dados • Barramentos assíncronos
• Barramento de Endereços • NoCs
• Barramento de controle • Interface padrão - OCP
Modelo de Von Neumann
Controle de
Execução
Controle
Execução de
Operações

Aritmética
Memória I/O

Comunicação, Instruções
Interconexão e Dados
O que é um barramento?

• Um caminho de comunicação entre duas ou


mais unidades
• Compartilhado – um usuário por vez
• A comunicação é do tipo um para todos -
broadcast
• Barramentos são agrupamentos de canais da
largura de um bit
• Ex. Um barramento de 32 bits e constituído de 32
canais de um bit
Barramentos

• Há vários tipos de sistemas de interconexão


• Barramentos simples ou múltiplos são o tipo mais
comum
• Ex. Barramentos de Controle/Endereço/Dados (PC)
• Ex. Unibus (DEC-PDP)
• Ex. PCI - Peripheral Component Interconnect
• ISA – Industry Standard Architecture
• EISA – Extended ISA
• Seu desempenho é limitado com o número de
unidades conectadas
Barramento Simples

Controle

Aritmética
Memória I/O
Múltiplos Barramentos

Processador Memória

Ponte

I/0 I/0 I/0 I/0


Comparação entre barramentos

PC bus 1981 8 bits 4,77 MHz 1 MB

ISA 1984 16 bits 8,33 MHz 16 MB

MCA 1987 32 bits 10 MHz 16 MB

EISA 1988 32 bits 8,33 MHz 4 GB

VLB 1992 32/64 bits 50 MHz 4 GB

PCI 1992 32/64 bits 33 MHz 4 GB

AGP 1996 32/64 bits 66 MHz 4 GB


Barramento de Dados

• No nível do barramento não há diferença entre


dados e instruções
• A largura do barramento é um fator importante
para o desempenho
• 8, 16, 32, 64 bits
Barramento de Endereços

• Identifica a fonte ou o destino dos dados


(barramento de dados)
• Ex. CPU lê uma instrução (dado) de uma posição
específica da memória (fonte do dado)
• A largura deste barramento determina a
capacidade máxima da memória do sistema
• Ex. O 8080 tem um barramento de endereços de 16
bits resultando em um espaço de endereçamento de
64K
Barramento de Controle

• Transporta a todas as unidades do sistema


sinais de controle temporização (relógio)
• Sinais de leitura e escrita
• Requisição de interrupções
• Sinal do relógio
• Outros sinais diversos
• Ex. Seleção de chips
Barramentos
Problemas com Barramentos
Simples

• Muitas unidades no barramento implica em:


• Queda de desempenho
• O controle do uso compartilhado do barramento reduz o
desempenho quando muitas unidades concorrem
• Distribuição do relógio
• As “longas” distâncias a serem percorridas pelo sinal de
relógio produz atrasos de propagação
• A maioria dos sistemas usa múltiplos
barramentos para resolver estes problemas
• Tendência atual NoCs (Network on Chip)
ISA Tradicional - com cache
Barramento de Alto
Desempenho
Tipos de Barramentos

• Dedicado
• Separa linhas de dados e endereços
• Multiplexado
• Compartilha linhas de dados e endereços
• Usa linhas de endereço válido ou dado válido
• Vantagem – Poucas linhas, espaço, custo
• Desvantagem
• Controle mais complexo
• Redução do desempenho
Arbitragem de barramento

• O Uso compartilhado do barramento proíbe que


mais de uma unidade use o barramento
• Mestre do barramento
• Ex. CPU e controlador de DMA
• O mestre do barramento em um dado instante é
o único dispositivo que pode iniciar uma
transferência
• Arbitragem pode ser centralizada ou distribuída
Arbitragem Centralizada

• Um único dispositivo hardware controlando todo


o acesso ao barramento
• Controlador de barramento
• Arbitro
• Pode ser implementado junto com o
processador ou pode ser uma unidade separada
Arbitragem Distribuída

• Cada unidade contribui com a definição de


quem é o mestre do barramento
• A lógica de controle é implementada em todos
as unidades
Problema de Starvation

• Se o algoritmo de arbitragem não é bom o


suficiente pode acontecer de uma unidade
requisitando uso do barramento nunca ser
atendida
• STARVATION
• Ex.Round Robin
• Para K unidades conectadas ao barramento
• Varre todas as unidades procurando requisições
• Inicia nova varredura a partir da última atendida
Temporização

• Coordenação dos eventos que ocorrem no


barramento – Protocolo do Barramento
• Barramentos Síncronos
• Eventos determinados pelo relógio do barramento
• Os ciclos do relógio sincronizam os eventos do
barramento
• A sincronização normalmente acontecem nas
transições do relógio ( 1 para 0 ou 0 para 1)
• Tempos críticos são definidos em função das
transições do relógio
Diagrama de tempo - Síncrono

• TAD – Atraso máximo da saída do endereço


• TML – Endereço estável antes de MREQ
• TM – Atraso máximo de MREQ da borda de decida de T1
• TRL – Atraso máximo de RD da borda de decida de T1
• TDS – Estabilização do dado antes da borda de descida
• TMH - Atraso de MREQ da borda de decida de T3
• TRH – Atraso de MREQ da borda de decida de T3
• TDH – Conservação do endereço após RD
Diagrama de tempo - Síncrono

Relógio
TAD
Endereço Endereço
TM TMH
Mreq
TML
TRH
Read
TRL TDS TDH
Dados Dado
Diagrama de tempo -
Assíncrono

Endereço Endereço

MREQ

READ

MSYN

Dados Dado

SSYN
Síncrono ou Assíncrono

• Síncronos
• Simples devido aos intervalos discretos
• Só trabalha com múltiplo inteiros de ciclos
• Não tira vantagens de novas tecnologias
• Assíncronos
• Tira vantagens de novas tecnologias
• Mais complexos, difícil implementação
• A maioria dos sistemas são síncronos
NoC – Network on Chip
Chave de uma NoC
Constituição de uma Noc

• Buferização => Responsável por armazenar temporariamente


os pacotes que chegam a chave.

• Chaveamento e Arbitragem=> Responsável por conectar


as saídas dos buffers as portas de saída da chave.

• Roteamento=> Responsável por determinar as portas de


saída pelas quais os pacotes devem ser enviados.

• Controle de Fluxo=> Responsável por regular o fluxo de


dados entre as chaves de uma malha.
Interconexão padrão - OCP

• Define uma interface ponto-a-ponto entre


entidades (cores)
• Uma entidade atua como mestre e a segunda
como escravo
• Mestre: Apresenta requisições. É a entidade de
controle
• Escravo: Responde as requisições
• Entidades podem atuar como mestre e escravo.
Unidades OCP

Mestre Mestre Escravo Escravo

Escravo Escravo Mestre Mestre


Interface Interface Interface

Barramento
Leituras recomendadas

• Livro Stallings – Capítulo 3


• Livro Tannenbaum – Capítulo 3 – seção 3.4
• Na Interner
• AMBA BUS
• CoreConnect: The On-Chip Bus System
• PI-BUS

Você também pode gostar