Arquitetura de sistema e memória
Existem diferentes estilos de arquitetura de sistema e memória que precisam ser considerados ao projetar o programa ou sistema simultâneo. É muito necessário porque um estilo de sistema e memória pode ser adequado para uma tarefa, mas pode estar sujeito a erros para outra tarefa.
Arquiteturas de sistema de computador com suporte à simultaneidade
Michael Flynn em 1972 deu taxonomia para categorizar diferentes estilos de arquitetura de sistema de computador. Esta taxonomia define quatro estilos diferentes da seguinte maneira -
- Fluxo de instrução único, fluxo de dados único (SISD)
- Fluxo de instrução única, fluxo de dados múltiplos (SIMD)
- Fluxo de várias instruções, fluxo de dados único (MISD)
- Fluxo de instruções múltiplas, fluxo de dados múltiplos (MIMD).
Fluxo de instrução único, fluxo de dados único (SISD)
Como o nome sugere, esse tipo de sistema teria um fluxo de dados de entrada sequencial e uma única unidade de processamento para executar o fluxo de dados. Eles são como sistemas uniprocessadores com arquitetura de computação paralela. A seguir está a arquitetura do SISD -
Vantagens do SISD
As vantagens da arquitetura SISD são as seguintes -
- Requer menos energia.
- Não há problema de protocolo de comunicação complexo entre vários núcleos.
Desvantagens do SISD
As desvantagens da arquitetura SISD são as seguintes -
- A velocidade da arquitetura SISD é limitada, assim como os processadores de núcleo único.
- Não é adequado para aplicações maiores.
Fluxo de instrução única, fluxo de dados múltiplos (SIMD)
Como o nome sugere, esse tipo de sistema teria vários fluxos de dados de entrada e um número de unidades de processamento que podem atuar em uma única instrução a qualquer momento. Eles são como sistemas multiprocessadores com arquitetura de computação paralela. A seguir está a arquitetura do SIMD -
O melhor exemplo de SIMD são as placas gráficas. Esses cartões têm centenas de unidades de processamento individuais. Se falamos sobre a diferença computacional entre SISD e SIMD, então para a adição de matrizes[5, 15, 20] e [15, 25, 10],A arquitetura SISD teria que realizar três operações de adição diferentes. Por outro lado, com a arquitetura SIMD, podemos adicioná-los em uma única operação de adição.
Vantagens do SIMD
As vantagens da arquitetura SIMD são as seguintes -
A mesma operação em vários elementos pode ser realizada usando apenas uma instrução.
A taxa de transferência do sistema pode ser aumentada aumentando o número de núcleos do processador.
A velocidade de processamento é maior do que a arquitetura SISD.
Desvantagens do SIMD
As desvantagens da arquitetura SIMD são as seguintes -
- Existe uma comunicação complexa entre o número de núcleos do processador.
- O custo é maior do que a arquitetura SISD.
Fluxo de dados únicos de instrução múltipla (MISD)
Os sistemas com fluxo MISD têm várias unidades de processamento realizando diferentes operações, executando diferentes instruções no mesmo conjunto de dados. A seguir está a arquitetura do MISD -
Os representantes da arquitetura MISD ainda não existem comercialmente.
Fluxo de dados múltiplos de instrução múltipla (MIMD)
No sistema que usa arquitetura MIMD, cada processador em um sistema multiprocessador pode executar diferentes conjuntos de instruções independentemente no conjunto diferente de dados em paralelo. É o oposto da arquitetura SIMD, na qual uma única operação é executada em vários conjuntos de dados. A seguir está a arquitetura do MIMD -
Um multiprocessador normal usa a arquitetura MIMD. Essas arquiteturas são usadas basicamente em uma série de áreas de aplicação, como design / manufatura auxiliada por computador, simulação, modelagem, interruptores de comunicação, etc.
Arquiteturas de memória com suporte à simultaneidade
Ao trabalhar com os conceitos de simultaneidade e paralelismo, sempre há a necessidade de acelerar os programas. Uma solução encontrada pelos designers de computador é criar multicomputadores com memória compartilhada, ou seja, computadores com espaço de endereço físico único, que é acessado por todos os núcleos que um processador possui. Neste cenário, pode haver uma série de estilos diferentes de arquitetura, mas a seguir estão os três estilos de arquitetura importantes -
UMA (acesso uniforme à memória)
Neste modelo, todos os processadores compartilham a memória física uniformemente. Todos os processadores têm igual tempo de acesso a todas as palavras de memória. Cada processador pode ter uma memória cache privada. Os dispositivos periféricos seguem um conjunto de regras.
Quando todos os processadores têm acesso igual a todos os dispositivos periféricos, o sistema é chamado de symmetric multiprocessor. Quando apenas um ou alguns processadores podem acessar os dispositivos periféricos, o sistema é chamado deasymmetric multiprocessor.
Acesso não uniforme à memória (NUMA)
No modelo de multiprocessador NUMA, o tempo de acesso varia com a localização da palavra de memória. Aqui, a memória compartilhada é fisicamente distribuída entre todos os processadores, chamados de memórias locais. A coleção de todas as memórias locais forma um espaço de endereço global que pode ser acessado por todos os processadores.
Arquitetura de memória somente cache (COMA)
O modelo COMA é uma versão especializada do modelo NUMA. Aqui, todas as memórias principais distribuídas são convertidas em memórias cache.