SSC0513 Organização e Arquitetura de Computadores/Barramento Short

Fonte: Wikiversidade
Página Inicial: Introdução: Modos de Endereçamento: Barramento Short: Entradas e Saídas: RISC: DMA: Pipeline: Memória: Superescala: Arquiteturas Paralelas:

Estrutura da máquina de von Neumann:[editar | editar código-fonte]

(inserir imagem)

Estruturas de interconexão:[editar | editar código-fonte]

  • Existem diferentes tipos de conexão
    • Memória
    • E/S
    • CPU

Tipos de transferência:[editar | editar código-fonte]

  • Memória para processador (load)
  • Processador para memória (store)
  • E/S para processador (inchar-teclado)
  • Processador para E/S (outchar - tela)
  • Transferência entre um dispositivo de E/S e a memória

Barramentos:[editar | editar código-fonte]

  • Conexão ideal: ponto a ponto
    • necessidade de interligação de diferentes partes de computadores onde a transferência de dados era necessário
    • principalmente CPU-MEMÓRIA-PERIFÉRICOS
    • ligação ponto-a-ponto(inserir imagem)
    • Desvantagem: caro e complicado
  • Barramento comum
    • Todos os dispositivos ligados ao mesmo barramento(inserir imagem)
    • Problemas
      • Maior número de dispositivos, maior o comprimento e maior o atraso na propagação dos sinais
      • Gargalo quando a quantidade de dados a ser transferida se aproxima da capacidade do barramento
      • Falta de paralelismo
    • Solução: Utilização de múltiplos barramentos (hierarquia)

Hierarquia de Barramentos:[editar | editar código-fonte]

  • Barramento da Memória (System Bus)
    • Conecta a memória ao processador
  • Barramento de E/S local (High-Speed Bus)
    • Barramento de alta velocidade utilizado para conectar processador e memória com dispositivos de E/S de desempenho crítico (placas de vídeo, dispositivos para armazenamento de dados, redes de alta velocidade, etc.)
  • Barramento de E/S padrão (Expansion Bus)
    • Barramento utilizado para conectar os dispositivos de E/S mais lentos (mouse, modem, placa de som, redes de baixa velocidade, etc.)

Tipos de barramentos de E/S:[editar | editar código-fonte]

  • Barramentos de E/S padrão:
    • ISA - Industry Standard Architecture
    • EISA - Extended Industry Standard Architecture
  • Barramentos de E/S locais:
    • VLB - VESA Local Bus
    • PCI - Peripheral Component Interconnect
    • AGP - Accelerated Graphics Port

Barramento de alto desempenho:[editar | editar código-fonte]

(inserir imagens)

Estrutura do barramento:[editar | editar código-fonte]

  • Um barramento de sistema contém de 50 a 100 linhas
  • Três grupos funcionais:
    • Linhas de dados
    • Linhas de endereço
    • Linhas de controle

(inserir imagem)

Barramento de dados:[editar | editar código-fonte]

  • Transmissão de dados
    • Neste nível, não existe diferença entre “dados” e “instruções”
  • O desempenho é definido pela sua largura (quantidade de bits que podem ser transmitidos ao mesmo tempo):
    • 8, 16, 32, ou 64 bits

Barramento de endereço:[editar | editar código-fonte]

  • Essas linhas identificam a origem e o destino dos dados transferidos pelo barramento de dados
    • Exemplo: leitura de uma palavra na memória
  • A largura do barramento de endereço determina a capacidade máxima da memória
  • Endereça também portos de E/S

Barramento de controle:[editar | editar código-fonte]

  • Controla o acesso as outras linhas
  • Transmite comando e sinais de temporização
    • Escrita/Leitura na memória
    • Escrita/Leitura em porta de E/S
    • ACK de transferência
    • Requisição / Concessão do barramento
    • Requisição / ACK de Interrupção
    • Relógio
    • Iniciação
    • ...

Conceitos gerais:[editar | editar código-fonte]

  • Mestres: ativam a transferência de informação no barramento
  • N° de Mestres: pode haver mais de um -> deve haver um esquema para relacionar qual usa o barramento
  • Uso do Barramento: somente 1 mestre pode ativar transferências no barramento em um dado instante
  • Escravos: recebem informação enviada pelo mestre. Pode haver n escravos ativos no sistema
  • Troca de informação (Transação): um ou mais escravos podem ser selecionados por um mestre:
    • Mestre endereça escravo
    • Escravos comparam o endereço do barramento com o próprio endereço
    • Quando o endereço coincide -> escravo se conecta ao barramento
    • Durante a conexão Mestre-Escravo(s) -> troca de informações <->
    • Ao final, o mestre quebra a conexão com os escravos
    • Mestre pode liberar o barramento ou iniciar outra transação.
  • Transações entre M-E
    • endereços
    • dados
    • controle (temporização, por exemplo)

Elementos de projeto de barramentos:[editar | editar código-fonte]

  • Tipo:
    • Dedicado
    • Multiplexado
  • Método de arbitração
    • Centralizado
    • Distribuído
  • Temporização
    • Síncrona
    • Assícrona

Tipos de barramento:[editar | editar código-fonte]

  • Dedicado:
    • Linhas separadas são utilizadas para transferência de dados e endereços
    • Exemplo: barramento de E/S
    • Vantagem: alta taxa de transferência
    • Desvantagem: maior custo e tamanho
  • Multiplexado:
    • As linhas são compartilhadas para a transmissão de dados, endereços e controle
    • Vantagem: poucas linhas
    • Desvantagens: unidades mais complexas e redução do desempenho

Método de arbitração:[editar | editar código-fonte]

  • Necessidade de uma arbitração para que não exista colisão

Centralizada[editar | editar código-fonte]

  • Dispositivo de hardware: controlador de barramento
  • Responsável por alocar tempo de utilização do barramento a cada módulo do sistema
  • Árbitro: controlador de barramento(inserir imagem)
  • Como funciona:
    • Mestre pede o uso do barramento
    • Árbitro reconhece (aloca o barramento) ou não, dependendo das regras de prioridade.
  • Prioridade:
    • Por exemplo: o barramento é sempre alocado ao mestre com mais alta prioridade
    • Pode causar problemas -> monopólio
  • Round-Robin:
    • O barramento é dado aos mestres de modo cíclico (cada vez um).
  • Prioridade Variante:
    • aumenta-se a prioridade de um mestre toda vez que o pedido é negado
    • retorna ao valor inicial quando é atendido.

Distribuição[editar | editar código-fonte]

  • Mais de um módulo pode controlar o barramento
    • compartilhar o barramento
  • A escolha do mestre é feita de maneira distribuída
  • No ciclo de arbitragem, cada mestre querendo usar o barramento coloca nas “linhas de arbitragem” o seu código
    • processo de comparação
  • Se um dado mestre possui a prioridade mais alta, o barramento será garantido a ele.

Método de arbitração:[editar | editar código-fonte]

Síncrona:[editar | editar código-fonte]

  • Ocorrência de eventos determinada por um relógio
  • O barramento deve iniciar uma transmissão no início de um ciclo de relógio

Assíncrona:[editar | editar código-fonte]

  • Validade dos sinais é obtida através de uma troca de sinais de controle entre Mestre e Escravo (handshake)
  • O ciclo do barramento será variável no tempo

Transferência de dados:[editar | editar código-fonte]

Três tarefas no barramento[editar | editar código-fonte]

  • Arbitragem (A)
  • Endereçamento (B)
  • Transferência dos dados (C)

Três tarefas de Bloco de Dados[editar | editar código-fonte]

  • Arbitragem
  • Endereçamento
  • Bloco de dados (leitura ou escrita) -> Permite altas taxas de transferência

“Read Modify Write” – RMW[editar | editar código-fonte]

  • Arbitragem
  • Endereçamento
  • Leitura – Escrita <- Indivisível

“Read After Write” – RAW[editar | editar código-fonte]

  • Arbitragem
  • Endereçamento
  • Escrita – Leitura <- Indivisível

-> Verificação da informação escrita

“Split Transfer”[editar | editar código-fonte]

  • Permite a divisão da transferência quando um dado não está disponível no momento
  • Exige mecanismos de controle para reativar uma transação bloqueada

(inserir imagem)

Método de arbitração:[editar | editar código-fonte]

  • Também chamado throughput – Mbytes/s
  • Refere-se a soma total de dados que pode ser, teoricamente, transferida em um barramento em uma dada unidade de tempo
  • Sobrecargas de comandos, endereçamentos, etc. impedem a maioria dos barramentos de atingir bandwidth nominal

Velocidade do Barramento:[editar | editar código-fonte]

  • Quantos bits de informação podem ser enviados em cada segundo - MHz
  • Maior parte dos barramentos transmitem 1 bit de dado por linha por ciclo de clock
  • Analogia – estrada com 4 faixas com carros a uma velocidade de 100Km/hora.
    • Largura do barramento – numero de faixas
    • Velocidade do barramento – velocidade dos carros
    • bandwidth do barramento – no. de faixas X velocidade
      • Reflete a soma de tráfego que a estrada pode suportar por hora

Barramentos de E/S:[editar | editar código-fonte]

  • Barramentos em hierarquia
    • Processador / Memória (System Bus)
    • E/S local (alta velocidade)
    • E/S padrão (expansão)

Tabela comparativa:[editar | editar código-fonte]

(inserir imagem)