William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 3 Visão de Nível Superior das Funções e Interconexões do Computador Parte 3 Barramentos
Conectando Todas as unidades devem estar conectadas Tipos diferentes de conexões para tipos diferentes de unidades Memória Entrada/Saída CPU
Módulos de Computador
Conexão da Memória Recebe e envia dados Recebe endereços (de localidades) Recebe sinais de controle Leitura Escrita Temporização
Conexão de Entrada/Saída Similar à conexão com a memória do ponto de vista do computador Saída Recebe dados do computador Envia dados ao periférico Entrada Recebe dados do periférico Envia dados ao computador
Conexão de Entrada/Saída Recebe sinais de controle do computador Envia sinais de controle a periféricos Por exemplo: girar o disco Recebe endereços do computador Por exemplo: número da porta para identificar o periférico Envia sinais de interrupção (controle)
Conexão de CPU Lê instrução e dados Escreve dados (após processar) Envia sinais de controle a outras unidades Recebe (e age em) interrupções
Barramentos Há uma quantidade de possíveis sistemas de interconexão Estruturas de barramentos simples e múltiplas são as mais comuns Por exemplo: barramento de controle/endereço/dados (PC) Por exemplo: Unibus (DEC PDP)
O Que é um Barramento? Um caminho de comunicação conectando dois ou mais dispositivos Geralmente difusão (broadcast) Geralmente agrupado Um número de canais em um barramento Por exemplo: barramento de dados de 32 bits são 32 canais separados cada um com 1 bit As linhas de alimentação elétrica podem não ser exibidas
Barramento de Dados Carrega dados Lembre-se de que não há diferença entre dados e instruções neste nível O comprimento é um fator determinante de desempenho 8, 16, 32, 64 bits
Barramento de Endereços Identifica a fonte ou destino dos dados Por exemplo: a CPU precisa ler uma instrução (dados) de uma dada locação na memória O comprimento do barramento determina a capacidade máxima do sistema Por exemplo: o 8080 tem barramento de dados de 16 bits resulta em um espaço de endereçamento de 64 Kbytes
Barramento de Controle Informação de controle e temporização Sinal de leitura/escrita de memória Pedido de interrupção Sinais do relógio (clock)
Esquema de Interconexão de Barramento
Grande e amarelo? Com o quê se parecem os barramentos? Linhas paralelas em placas de circuitos Cabos flexíveis Conectores em placas-mãe Por exemplo: PCI Conjuntos de fios
Disposição Física de Arquitetura de Barramento
Problemas com o Barramento Simples Muitos dispositivos em um barramento único leva a: Atrasos de propagação Caminhos de dados longos significam que o uso de uma coordenação de barramento pode adversamente afetar o desempenho Se as transferências de dados agregadas chegarem perto da capacidade do barramento Muitos sistemas utilizam múltiplos barramentos para evitar estes problemas
Tradicional (ISA) (com cache)
Barramento de Alto Desempenho
Tipos de Barramentos Dedicados Linhas separadas de dados e endereços Multiplexado Linhas compartilhadas Linha de controle de endereço válido ou dados válidos Vantagem menos linhas Desvantagens Controle mais complexo Desempenho final
Arbitração de Barramento Mais que um módulo controlando o barramento Por exemplo: controlador de CPU e DMA Somente um módulo pode controlar o barramento por vez A arbitração pode ser centralizada ou distribuída
Arbitração Centralizada ou Distribuída Centralizada Único dispositivo de hardware controlando o acesso ao barramento Controlador de barramento Árbitro Pode ser parte da CPU ou separado dela Distribuída Cada módulo pode pedir pelo barramento Lógica de controle em todos os módulos
Temporização Coordenação de eventos do barramento Síncrona Os eventos são determinados por sinais do relógio Barramento de controle inclui uma linha de relógio Um único 1-0 é um ciclo de barramento Todos os dispositivos podem ler a linha de relógio Geralmente sincroniza em uma borda condutiva Geralmente um único ciclo por um evento
Diagrama de Temporização Síncrona
Temporização Assíncrona Diagrama de Leitura
Temporização Assíncrona Diagrama de Escrita
Barramento PCI Peripheral Component Interconnection - PCI A Intel disponibilizou ao domínio público 32 ou 64 bits 50 linhas
Linhas de Barramento PCI (Necessárias) Linhas de sistemas Incluindo relógio e reiniciação Endereços & Dados 32 linhas de tempo multiplexadas para endereços/dados Linhas de interrupção & validação Controle de interface Arbitração Não compartilhada Conexão direta ao árbitro do barramento PCI Linhas de erro
Linhas de Barramento PCI (Opcionais) Linhas de interrupção Não compartilhadas Suporte à cache Estensão de barramento de 64 bits 32 linhas adicionais Multiplexadas no tempo 2 linhas para habilitar dispositivos para concordarem em usar transferência de 64 bits JTAG/Varredura de Limite Para procedimentos de teste
Comandos PCI Transação entre o iniciador (mestre) e o alvo O mestre pede pelo barramento Determina o tipo de transação Por exemplo, leitura/escrita de E/S Fase de endereçamento Uma ou mais fases de dados
Diagrama de Temporização de Leitura PCI
Árbitro de Barramento PCI
Arbitração de Barramento PCI
Leitura Adicional Stallings, capítulo 3: 3.3. Estrutura de interconexão 3.4. Interconexão de barramento 3.5. PCI www.pcguide.com/ref/mbsys/buses/