Em 1966, M.J. O Flynn classificou as formas de arquitetura de computador paralela em quatro grupos, que se baseia no número de instruções e itens de dados e na simultaneidade em sequências de processamento (ou fluxos), dados e instruções. O núcleo de sistemas que implementam a computação paralela são: a unidade de controle; o elemento de processamento ou o processador; e a memória. Dependendo do tipo de arquitetura, um sistema pode usar um único ou múltiplo processadores e uma memória compartilhada ou distribuída.
Na computação paralela, um trabalho é dividido em partes e as peças são divididas em uma série de instruções. As instruções de cada parte são executadas em diferentes CPUs simultaneamente e as peças são executadas simultaneamente.[1]
Como funciona o MISD
Em MISD, existem vários elementos de processamento que têm sua própria unidade de controle e memória local, o que permite que cada processador lide com instruções de forma independente. Para acelerar o processo de solução de problemas, o problema é dividido em subproblemas e cada subproblema tem seu próprio conjunto de programas ou fluxos de instrução. Diferentes fluxos de instrução são alimentados à unidade de controle de cada processador e, por sua vez, as unidades de controle enviam os fluxos de instruções para os processadores. Cada processador opera, portanto. Na maioria dos casos, a saída de um processador se torna uma entrada do próximo processador, o que significa que os processadores estão executando diferentes programas ou resolvendo diferentes subproblemas do principal problema.
Fonte da imagem: Java T Point
Como o MISD difere de outras classes
Cada sistema de computador que se enquadra sob a classificação de Flynn lida com as instruções e fluxos de dados de maneira diferente. Aqui está uma visão geral das outras três classes do sistema de computador na taxonomia de Flynn. Com base nas descrições deles, você verá como cada um difere de Misd.
SISD (instrução única, dados únicos)
Como o nome indica, há apenas uma instrução e um fluxo de dados para o sistema de computador SSID. Este é um computador uniprocessador, que também é conhecido como computador seqüencial porque as instruções são processadas de maneira seqüencial. A memória primária armazena os dados e instruções enquanto a unidade de controle decodifica as instruções e depois envia as instruções para o processador. Esse tipo de arquitetura é encontrado principalmente em computadores convencionais, minicomputadores e estações de trabalho.
Fonte da imagem: Java T Point
Simd (instrução única, vários dados)
Ao contrário do SISD, este sistema de computador possui vários processadores. Os processadores estão executando uma única instrução sobre diferentes fluxos de dados. Há uma memória e uma unidade de controle que recupera os dados da memória e envia as mesmas instruções para todos os elementos de processamento. Embora os processadores recebam as mesmas instruções da unidade de controle, eles operam em diferentes itens de dados. Esse tipo de arquitetura geralmente é implementado em computadores ou aplicativos usados em computação científica, como a máquina de processamento vetorial da Cray, onde vários vetores e matrizes estão envolvidos.
Fonte da imagem: Java T Point
MIMD (instrução múltipla, dados múltiplos)
Neste modelo de computação paralela, vários processadores que têm sua própria unidade de controle, mas podem não necessariamente ter seu próprio módulo de memória. Cada processador executa um conjunto separado de instruções e fluxos de dados que tornam as máquinas MIMD capazes de lidar com qualquer tipo de aplicação. Existem duas categorias no MIMD com base no tipo de memória usada-MIMD de memória compartilhada e MIMD de memória distribuída.
MIMD de memória compartilhada - os processadores estão conectados a uma única memória. A comunicação entre os processadores é através da memória global; portanto, todos os processadores têm acesso a ele. Todas as transações e modificações de dados armazenadas na memória global são visíveis para todos os processadores.
MIMD de memória distribuída - Cada processador tem sua própria memória que armazena os dados. Os dados armazenados na memória local do processador não são visíveis para todos os processadores. Como a memória não é compartilhada, a comunicação entre os processadores passa pelo canal de comunicação entre processos (IPC).
Fonte da imagem: Java T Point
Onde é usado mald?
Embora as outras classes sejam usadas em sistemas de computador genéricos, o MISD é mais teórico e não é praticamente usado em muitas aplicações. Foi implementado em matrizes sistólicas, que é um sistema ideal para aplicações como inteligência artificial, processamento de imagens, reconhecimento de padrões e outras tarefas que imitam o processamento dos cérebros de animais. Nas matrizes sistólicas, o processador lê os dados de outro processador, executa uma operação e envia uma saída que será usada por outro processador. A estrutura geral das matrizes sistólicas reflete a da arquitetura MISD. No entanto, há um argumento sobre se o MISD é realmente a arquitetura por trás das matrizes sistólicas, pois os dados de entrada são normalmente um vetor e não um único valor de dados. Ainda assim, outros argumentariam que um vetor de entrada é considerado um único conjunto de dados que qualifica as matrizes sistólicas como máquinas MISD. Seja qual for o caso, as matrizes sistólicas permanecem como o exemplo clássico da arquitetura MISD.
O MISD também é conhecido como a arquitetura por trás dos sistemas de controle de vôo espaciais por causa de sua melhor escala e uso eficiente de recursos computacionais.
Geralmente, a arquitetura MISD raramente é usada e apenas algumas máquinas são construídas usando esta arquitetura. A maioria desses sistemas não está disponível comercialmente.
Conclusão
MISD é uma das quatro arquiteturas de computação paralela classificadas por M.J. Flynn, onde vários elementos de processamento processam diferentes conjuntos de fluxos de instruções de um único fluxo de dados. Cada processador possui sua própria unidade de controle e memória, e os elementos de processamento estão processando fluxos de instruções de forma independente. Entre as quatro classes, o MISD é o tipo menos usado de arquitetura, com apenas dois exemplos proeminentes de aplicações onde é usado - matrizes sistólicas e sistemas de controle de vôo espaciais de transporte espacial. Até hoje, muitas aplicações não usam MISD, mas é especialmente útil para aplicativos altamente especializados.
Fontes:
[1] Geeks para geeks. Arquitetura do computador | Taxonomia de Flynn. 6 de janeiro de 2020. https: // www.Geeksforgeeks.org/computador-arquitetura-flynns-taxonomia/. Acessado em 22 de março de 2022