46
Universidade de São Paulo Dr. Jorge Luiz e Silva

Aula 5 de Arquitetura de Computadores

Embed Size (px)

DESCRIPTION

Prof. Jorge, ICMC-USP

Citation preview

Page 1: Aula 5 de Arquitetura de Computadores

Universidade de São PauloDr. Jorge Luiz e Silva

Page 2: Aula 5 de Arquitetura de Computadores

Sistemas de Interconexão

Sistemas Multiprocessadores

Sistemas Multicomputadores

Arquiteturas Multiprocessadores

Page 3: Aula 5 de Arquitetura de Computadores

• Também conhecidos como redes de interconexão, podem ser usado: para conexão interna entre processadores, módulos de memória, e I/O; ou para formar uma rede distribuída de nós em um sistema multicomputador.

•Os sistemas de interconexão, também chamados de redes, podem ser classificados em estáticos ou dinâmicos, para sistemas multicomputador e multiprocessador respectivamente.

Page 4: Aula 5 de Arquitetura de Computadores

•Redes Estáticas – formados por conexões ponto-a-ponto, que não mudam durante a execução de programas.– Em geral temos conexões fixas a um sistema central, ou múltiplos computadores (nós) em um sistema distribuído.

• Redes Dinâmicas– Podem ser dinamicamente configurada conforme demanda de comunicação durante execução de programas.– Barramentos, comutadores crossbar, redes multi-estágio, geralmente utilizados em memória compartilhada.

Page 5: Aula 5 de Arquitetura de Computadores

•Em geral uma rede é representada por um grafo com número finito de nós ligados por linhas (links, canais) direcionadas ou não.

• O número de links incidentes a um nó é chamado de grau do nó.

Page 6: Aula 5 de Arquitetura de Computadores

• Array Linear: – Rede unidimensional onde N nós são conectados por N-1 links em uma linha.– Mais simples tecnologia de conexão.– O sistema perde em eficiência quando N se torna grande.

• Anel– Um array linear formando um circulo.– Pode ser unidirecional ou bidirecional.– É um sistema simétrico de grau 2– Aumentando o grau para 3 ou 4 temos um Anel em forma de colar.– Extremo é uma rede completamente conectada.

Page 7: Aula 5 de Arquitetura de Computadores
Page 8: Aula 5 de Arquitetura de Computadores

• Árvore e Estrela– Árvore Binária com máximo grau 3– Árvore Binária FAT - capacidade de transmissão no canal aumenta das folhas para a raiz. É uma solução para o maior problema em uma árvore binária comum, onde o gargalo do sistema é justamente na raiz, onde o transito de mensagens passa a ser maior.

• Malhas– Muito utilizados em máquinas comerciais Illiac IV, MPP, DAP, CM-2 e Intel Paragon.– Alguns modelos misturam anel com malhas. (Illiacmesh, e Torus)

Page 9: Aula 5 de Arquitetura de Computadores
Page 10: Aula 5 de Arquitetura de Computadores
Page 11: Aula 5 de Arquitetura de Computadores

•Systolic Array– Em geral utilizado para implementar algoritmos pré-definidos como multiplicação de matrizes.– Como um exemplo podemos assumir um modelo onde os nós interiores tenham grau 6.– Muito utilizado em aplicações como sinal/imagem, podendo oferecer melhor resultados de performance.

• Hipercubos

Page 12: Aula 5 de Arquitetura de Computadores
Page 13: Aula 5 de Arquitetura de Computadores

•Barramento Digital:

– Conjunto de fios e conectores para transferência de dados entre processadores, módulos de memória, e dispositivos periféricos.– Usado somente para uma transmissão por vez por um elemento (Mestre) para um elemento (Escravo)– Para múltiplas requisições, um sistema de arbitragem deve decidir quem utilizará o barramento.– Também chamado de barramento por contenção

Page 14: Aula 5 de Arquitetura de Computadores
Page 15: Aula 5 de Arquitetura de Computadores

• Módulos Comutadores– Um comutador a×b tem uma entrada a e uma saída b.– Um comutador binário corresponde a 2×2 com a=b=2.– Podemos ter várias configurações para os comutadores.– Cada entrada pode ser conectado a uma ou mais saídas, mas não muitas entradas a uma única saída.– Se mapeamos apenas um-para-um, chamamos o módulo de n×n Crossbar. Ex: 2×2 crossbar podemos conectar direto ou cruzado.

Page 16: Aula 5 de Arquitetura de Computadores
Page 17: Aula 5 de Arquitetura de Computadores

• Redes Multi-estágio– Alguns comutadores a×b são utilizados em estágios diferentes.– Conexão inter-estágio são fixas– As conexões entre entrada e saída dos comutadores podem ser dinamicamente estabelecido.

• Rede Omega:– 16 × 16 comutador (2×2) com 4 estágios– diferentes combinações podem ser obtidas para a interconexão entre as entradas e saídas.

Page 18: Aula 5 de Arquitetura de Computadores
Page 19: Aula 5 de Arquitetura de Computadores
Page 20: Aula 5 de Arquitetura de Computadores

• Redes Crossbar

– Rede de um único estágio construído com comutadores unários em cada crosspoint.

– Cada crosspoint pode determinar uma conexão dedicada entre dois pares.

Page 21: Aula 5 de Arquitetura de Computadores
Page 22: Aula 5 de Arquitetura de Computadores

• Sistemas de Interconexão – Em geral processamento paralelo demandam sistemas de interconexão que permitam comunicação rápida entre processadores, memória compartilhada, e dispositivos periféricos. – Nesse sentido são muito utilizados: Barramentos, Comutadores Crossbar, e Redes Multi-estágio.– Em uma arquitetura genérica, pode-se combinar estruturas UMA, NUMA, e COMA.– Cada processador possui uma memória própria, ligado a um cache privado, e os processadores estão interligados a uma memória compartilhada.

Page 23: Aula 5 de Arquitetura de Computadores
Page 24: Aula 5 de Arquitetura de Computadores

• Mecanismos de Controle nas Interconexões– Síncrono ou Assíncrono. Nas redes síncronas, existe um relógio global que sincroniza todas as atividades da rede. Nas redes assíncronas, mecanismos como HandShaking são utilizados para a comunicação.

• Circuitos de Comutação ou Pacotes de Comutação

– Circuitos de Comutação são caminhos definidos entre dois elementos que permanecem ligados enquanto existir mensagens.– Pacotes de Comutação, as mensagens são divididas em pacotes que percorrem a rede da fonte ao destino sem um caminho pré-definido.

Page 25: Aula 5 de Arquitetura de Computadores

• Estratégia de controle– Centralizado ou Distribuído.

– Centralizado: controlador global recebe requisições de todos os dispositivos ligados à rede e permite acesso à rede a um ou mais dispositivos.

– Distribuído: requisições são manipuladas por dispositivos locais independentemente.

Page 26: Aula 5 de Arquitetura de Computadores

• Barramentos Hierárquicos– Consiste de barramentos conectando vários sistemas em um computador.– Cada barramentos possui um número de sinais, controles, e power.

Barramento Local:– Implementados em placas de circuito impresso.– Linhas de endereços, dados, e alguns dispositivos I/O

• Backplane:– Implementados em placas de circuito impresso, onde são colocados alguns conectores para conectar placas diferentes. (Ex: VME bus)

26

Page 27: Aula 5 de Arquitetura de Computadores

27

Page 28: Aula 5 de Arquitetura de Computadores

28

Page 29: Aula 5 de Arquitetura de Computadores

29

Page 30: Aula 5 de Arquitetura de Computadores

• Rede com único estágio com comutadores unários em cada crosspoint.

• Todo processador pode enviar requisições de memória independentemente e assincronamente o que implica em conflitos no acesso mas a cada vez um é atendido.

30

Page 31: Aula 5 de Arquitetura de Computadores

• Em um sistema n×m crossbar, para cada uma das n linhas de conexões, somente um dos elementos das colunas de m pode ser conectado por vez.• Cada crosspoint tem um hardware específico para essa conexão.• Além disso, cada crosspoint possui linhas de endereços, dados, e controle, similar a um pequeno barramento.• Se n e m são grandes, o hardware começa a ficar proibitivo. 31

Page 32: Aula 5 de Arquitetura de Computadores

32

Page 33: Aula 5 de Arquitetura de Computadores

• Crossbar para grandes sistemas é proibitivo

• Memórias Multiporto resolve o problema.

• Idéia é mover todos os crosspoint e funções de comutação associados a cada módulo de memória para um controlador de memória.

33

Page 34: Aula 5 de Arquitetura de Computadores

34

Page 35: Aula 5 de Arquitetura de Computadores

• Roteamento na Rede Omega– Roteamento é definido através do endereço destino

– Quando o bit de mais alta ordem no destino é 0, um comutador 2×2 conecta a entrada na saída superior. Se 1 o comutador conecta a entrada na saída inferior.

– Supondo uma conexão da entrada 001 com a saída 011. Envolverá os comutadores A, B e C conforme descrito na figura a seguir.

35

Page 36: Aula 5 de Arquitetura de Computadores

36

Page 37: Aula 5 de Arquitetura de Computadores

• Podemos destacar duas gerações: Passado e Presente, com uma nova geração emergente. •Mecanismos fixos de interconexão• Mecanismos de comunicação por troca de mensagens.• Primeira Geração: i80286, 512Kbytes de memória local em cada nó e 8 portos de I/º• Segunda Geração: i860, ou Processadores implementados em VLSI, com diferentes quantidades de nós.• Gerações Futuras: VLSI implementando nós com vários processadores, roteadores e memórias em um único Chip.

37

Page 38: Aula 5 de Arquitetura de Computadores

38

Page 39: Aula 5 de Arquitetura de Computadores

39

Page 40: Aula 5 de Arquitetura de Computadores

• Mensagem é uma unidade lógica de comunicação entre nós.• Mensagem podem ser divididas em pacotes de comprimento fixo, ou variável.• Pacote é uma unidade básica contendo endereço destino para roteamento.• Como pacotes podem alcançar o destino assincronamente, é necessário identificar cada pacote para permitir a remontagem das mensagens.

40

Page 41: Aula 5 de Arquitetura de Computadores

41

Page 42: Aula 5 de Arquitetura de Computadores

• Pacote é a unidade de informação no mecanismo armazena e reenvia.

• Cada nó possui um buffer para um pacote.

• Um pacote é transmitido de um nó fonte para um nó destino através de nós intermediários.

42

Page 43: Aula 5 de Arquitetura de Computadores

43

Page 44: Aula 5 de Arquitetura de Computadores

• Subdividimos pacotes em pequenos sub-pacotes chamados flits.• Todos os Flits em um mesmo pacote são transmitidos em ordem em um mecanismo pipeline de recepção de flits.• Somente o header flit sabe onde o pacote deve ir, e todos os flits de dados seguem esse header flit, o que significa um caminho pré-definido.• Uma simbologia seria um trem cujo header flit é a máquina e os outros flits são os vagões.

44

Page 45: Aula 5 de Arquitetura de Computadores

45

Page 46: Aula 5 de Arquitetura de Computadores

46