SSC0513 Organização e Arquitetura de Computadores/Barramento Short
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(inserir imagem)
Estruturas de interconexão:
editar- Existem diferentes tipos de conexão
- Memória
- E/S
- CPU
Tipos de transferência:
editar- 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- 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- 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- 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(inserir imagens)
Estrutura do barramento:
editar- 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- 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- 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- 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- 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- Tipo:
- Dedicado
- Multiplexado
- Método de arbitração
- Centralizado
- Distribuído
- Temporização
- Síncrona
- Assícrona
Tipos de barramento:
editar- 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- Necessidade de uma arbitração para que não exista colisão
Centralizada
editar- 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- 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:
editarSíncrona:
editar- 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- 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:
editarTrês tarefas no barramento
editar- Arbitragem (A)
- Endereçamento (B)
- Transferência dos dados (C)
Três tarefas de Bloco de Dados
editar- Arbitragem
- Endereçamento
- Bloco de dados (leitura ou escrita) -> Permite altas taxas de transferência
“Read Modify Write” – RMW
editar- Arbitragem
- Endereçamento
- Leitura – Escrita <- Indivisível
“Read After Write” – RAW
editar- Arbitragem
- Endereçamento
- Escrita – Leitura <- Indivisível
-> Verificação da informação escrita
“Split Transfer”
editar- 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- 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- 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- Barramentos em hierarquia
- Processador / Memória (System Bus)
- E/S local (alta velocidade)
- E/S padrão (expansão)
Tabela comparativa:
editar(inserir imagem)