Prévia do material em texto
EC01008 – Arquitetura e organização de computadores Interconexão entre componentes de um computador Ronaldo de Freitas Zampolo FCT-ITEC-UFPA 2024-2 Agenda EC01008 AOC 2 / 19 Interconexão Estruturas de interconexão Interconexão por barramento Interconexão ponto a ponto PCI Express Estruturas de interconexão Estruturas de interconexão EC01008 AOC 4 / 19 Interconexão • Computador: conjunto de módulos. • Estrutura de interconexão: comunicação entre módulos • Entradas e saı́das tı́picas: • Memória • Entradas e saı́das tı́picas: • Dispositivos de E/S • Processador Interconexão por barramento Interconexão por barramento EC01008 AOC 6 / 19 Interconexão • Barramento: caminho de comunicação que conecta dois ou mais dispositivos. • O barramento é compartilhado: • Sinais transmitidos por um dispositivo ficam disponı́veis para todos os outros dispositivos conectados ao barramento. • Somente um dispositivo pode transmitir por vez. • O barramento é composto, em geral, de múltiplos caminhos de comunicação ou linhas: • Em cada linha são transmitidos sinais representando 0 ou 1. • Transmissão de bits: em série (uma linha) ou em paralelo (múltiplas linhas). • Tipos de linhas: • Dados: o conjunto forma o barramento de dados. • Endereços: o conjunto forma o barramento de endereços. • Controle: o conjunto forma o barramento de controle. Barramento de controle EC01008 AOC 7 / 19 Interconexão Linhas tı́picas de controle: • Escrita em memória • Leitura em memória • Escrita em porta de E/S • Leitura em porta de E/S • Reconhecimento (ACK) de transferência • Requisição de barramento • Concessão de barramento • Requisição de interrupção • Reconhecimento de interrupção • Clock • Reset Ilustração de um barramento EC01008 AOC 8 / 19 Interconexão Interconexão ponto a ponto Interconexão ponto a ponto EC01008 AOC 10 / 19 Interconexão • Aumento de frequência em barramentos: • Sincronização e arbitração cada vez mais difı́cil. • Processadores multicore: • Problemas com latência, taxa de bits e escalabilidade em barramentos compartilhados • QuickPath Interconnect (QPI, Intel 2008): • Conexões diretas múltiplas • Arquitetura de protocolo em camadas: parecido com TCP/IP • Transferência de dados em pacotes Configuração multicore usando QPI EC01008 AOC 11 / 19 Interconexão Arquitetura QPI EC01008 AOC 12 / 19 Interconexão Camadas da arquitetura QPI: • Fı́sica: circuitos e conexões, Phit (physical unit, 20 bits). • Ligação: transmissão confiável e controle de fluxo, Flit (flow control unit, 80 bits). • Roteamento: estrutura de redirecionamento de pacotes (número inteiro de Flits). • Protocolo: conjunto de regras para a troca de pacotes. PCI Express PCI Express EC01008 AOC 14 / 19 Interconexão • Peripheral Component Interconnect • Barramento de grande largura de banda • Melhor desempenho para subsistemas de E/S de alta velocidade • Adaptadores gráficos de vı́deo • Controladoras de interface de rede • Controladores de disco • PCIe: nova versão da especificação PCI para atender às demandas de maior taxa de dados • Esquema de interconexão ponto a ponto • Capacidade de suportar maiores taxas de dados • Trabalha com streams de dados dependentes de tempo • Tratamento de dados por prioridade Arquitetura fı́sica EC01008 AOC 15 / 19 Interconexão Exemplo de arquitetura fı́sica Arquitetura lógica EC01008 AOC 16 / 19 Interconexão Camadas da arquitetura de protocolo PCIe Camada fı́sica EC01008 AOC 17 / 19 Interconexão • Conexões reais e circuitos • Número de vias bidirecionais em uma porta: 1, 4, 6, 16, ou 32 • Exemplo: porta PCIe de 4 vias (distribuição multivia) • Em cada via fı́sica, os dados são bufferizados e processados em 16 bytes (128 bits) e depois codificados em uma palavra de código de 130 bits • Sincronização baseada no sinal recebido (transições do sinal recebido) • Problema: longas sequências binárias sem variação pode levar à perda de sincronização. • Solução: cifragem: técnica de mapeamento para que os dados apareçam de Camada de ligação de dados EC01008 AOC 18 / 19 Interconexão • Data link layer • Transmissão de confiável • Controle de fluxo • Trabalha com pacotes (data link layer packets, DLLP) Camada de transação EC01008 AOC 19 / 19 Interconexão • Pacote da camada de transação (transaction layer packets, TLP) • Implementa mecanismos de transferênciade dados de armazenamento de carga • Gerencia o controle de fluxo de TLPs entre dois componentes de um link Agenda Estruturas de interconexão Estruturas de interconexão Interconexão por barramento Interconexão por barramento Barramento de controle Ilustração de um barramento Interconexão ponto a ponto Interconexão ponto a ponto Configuração multicore usando QPI Arquitetura QPI PCI Express PCI Express Arquitetura física Arquitetura lógica Camada física Camada de ligação de dados Camada de transação