Classificação de Flynn

Classificação de Flynn

Instrução única

Instrução múltipla

Dados individuais
SISD MISD

Dados múltiplos
SIMD MIMD

A classificação de Flynn (também chamada de taxonomia de Flynn ) é uma subdivisão das arquiteturas de computador , publicada em 1966 por Michael J. Flynn . As arquiteturas são subdivididas de acordo com o número de fluxos de instrução e fluxos de dados disponíveis . As abreviações de quatro letras usadas SISD, SIMD, MISD e MIMD foram derivadas das letras iniciais das descrições em inglês, por exemplo SISD significa " S ingle I nstruction, S ingle D ata".

SISD (instrução única, dados únicos)

Os computadores SISD são computadores com processador de núcleo único tradicionais que processam suas tarefas sequencialmente. Os computadores SISD são z. B. Computadores pessoais (PCs) ou estações de trabalho, que são construídos de acordo com a arquitetura de Von Neumann ou Harvard . No primeiro, a mesma conexão de memória é usada para comandos e dados, no segundo, eles são separados.

SIMD (instrução única, dados múltiplos)

Representação esquemática da arquitetura SIMD

Os computadores SIMD, também conhecidos como processadores de matriz ou processadores de vetor , são usados ​​para a execução rápida de operações aritméticas semelhantes em vários fluxos de dados de entrada disponíveis ou que chegam simultaneamente.

Os processadores com capacidade SIMD são, por exemplo, bem adequados para processar dados de imagem, som e vídeo, porque nessas áreas os dados a serem processados ​​podem geralmente ser paralelizados em alto grau; assim como z. B. em um corte de vídeo, as operações para muitos pixels individuais são idênticas. Teoricamente, seria ótimo executar um único comando que pudesse ser aplicado a todos os pontos. Além disso, as operações exigidas no setor de multimídia e comunicação muitas vezes não são operações simples e individuais, mas sim cadeias de comandos mais extensas. O esmaecimento de uma imagem na frente de um fundo é, por exemplo, um processo complexo que consiste na formação de máscara usando XOR , preparação do fundo usando AND e NOT , e a sobreposição das imagens parciais usando OR . Esse requisito é atendido com o fornecimento de comandos novos e complexos. Z tão unido. B. o comando MMX PANDN uma inversão e operação AND da forma x = y AND (NOT x ).

Muitas arquiteturas de processador modernas (como PowerPC e x86 ) agora contêm extensões SIMD, ou seja, conjuntos de instruções adicionais especiais que processam vários conjuntos de dados semelhantes ao mesmo tempo com uma chamada de comando.

No entanto, uma distinção deve ser feita entre os comandos que executam apenas operações aritméticas semelhantes e outros que se estendem para a área de funcionalidade DSP (por exemplo, AltiVec é muito mais poderoso do que 3DNow neste aspecto ).

Com os processadores de hoje, várias unidades de dados de instrução única são o estado da arte:

desenvolvedor Arquitetura do processador Unidade SIMD
ARM Ltd. ARM 32/64 NÉON
IBM Power / PowerPC AltiVec / VSX
Intel x86 / AMD 64 3DNow / SSE / AVX

Veja também:

MISD (instrução múltipla, dados únicos)

Uma arquitetura de mainframes ou supercomputadores . A atribuição de sistemas a esta classe é difícil e, portanto, controversa. Muitos são de opinião que tais sistemas não deveriam realmente existir. No entanto, os sistemas tolerantes a falhas que realizam cálculos redundantes podem ser classificados nesta classe. Um exemplo desse sistema processador é um computador de xadrez .

Uma implementação é o macro pipelining , no qual várias unidades de computação são conectadas em série. Outro são os fluxos de dados redundantes para detecção e correção de erros.

MIMD (instrução múltipla, dados múltiplos)

Uma arquitetura de mainframes ou supercomputadores . Os computadores MIMD realizam simultaneamente várias operações em diferentes tipos de fluxos de dados de entrada, com as tarefas sendo distribuídas aos recursos disponíveis, geralmente por um ou mais processadores no grupo de processadores, mesmo durante o tempo de execução . Cada processador tem acesso aos dados de outros processadores.

É feita uma distinção entre sistemas estreitamente acoplados e sistemas fracamente acoplados. Os sistemas fortemente acoplados são sistemas multiprocessadores , enquanto os sistemas fracamente acoplados são sistemas multicomputadores.

Os sistemas multiprocessadores compartilham a memória disponível e, portanto, são um sistema de memória compartilhada. Esses sistemas de memória compartilhada podem ser subdivididos em UMA (acesso uniforme à memória), NUMA (acesso não uniforme à memória) e COMA (acesso apenas à memória cache).

No MIMD, tenta-se controlar o problema resolvendo subproblemas. Por sua vez, surge o problema de que diferentes subfaixas do problema devem ser sincronizadas umas com as outras.

Um exemplo neste caso seria o comando make do UNIX . Vários códigos de programa associados podem ser traduzidos para a linguagem de máquina ao mesmo tempo, usando vários processadores.

Veja também:

Veja também

  • MSIMD , uma arquitetura que se move entre as classes SIMD e MIMD

Evidência individual

  1. M. Flynn: Algumas Organizações de Computador e Sua Eficácia , IEEE Trans. Comput., Volume C-21, pp. 948-960, 1972.
  2. Ralph Duncan: A Survey of Parallel Computer Architectures , IEEE Computer. Fevereiro de 1990, pp. 5-16.
  3. Sigrid Körbler: Computação Paralela - Arquiteturas de Sistema e Métodos de Programação , página 12.