Para competir com a prensa impressora recentemente inventada, um mosteiro medieval decidiu produzir em massa livros escritos em papel, reunindo um vasto nümero de escribas em uma grande sala. O superior do mosteiro então ditaria a primeira palavra do livro a ser produzido e todos os escribas a escreveriam. Em seguida, ele ditaria a segunda palavra e todos os escribas a escreveriam. Esse processo seria repetido até que o livro inteiro fosse lido e copiado. Com qual dos sistemas de processador paralelo discutidos na Seção 2.1.6 esse sistema é mais parecido?

Passo 1

O enunciado descreve um mosteiro onde um superior dita, palavra por palavra, o texto de um livro e um grande número de escribas, todos juntos, escrevem cada palavra dita em suas próprias cópias. O processo se repete até o livro inteiro estar copiado.
A pergunta é: com qual dos sistemas de processador paralelo discutidos na Seção 2.1.6 esse sistema se parece mais?
Informações relevantes extraídas do enunciado:
  • Há um único “controlador” que dita as palavras (uma fonte única de instruções).
  • Todos os escribas recebem a mesma instrução ao mesmo tempo (a mesma palavra ditada).
  • Cada escriba atua sobre sua própria cópia (dados diferentes/locais separados).
  • As ações são repetidas sincronizadamente até terminar o livro.

Passo 2

Primeiro, vamos entender claramente o que significa “sistema de processador paralelo” na prática — preciso te dar uma mini-aula sobre a classificação mais usada (a que provavelmente aparece na Seção 2.1.6): a classificação de Flynn. Ela organiza arquiteturas paralelas segundo se há uma ou várias fontes de instrução e se os dados são únicos ou múltiplos.
As quatro classes básicas da classificação de Flynn são (vou explicar cada uma com linguagem simples e exemplo curto):
  • SISD (Single Instruction, Single Data): uma única instrução é executada sobre um único conjunto de dados. Exemplo: um único escritor digitando um texto no seu computador.
  • SIMD (Single Instruction, Multiple Data): uma única instrução é emitida e aplicada simultaneamente a vários conjuntos de dados diferentes. Exemplo simples: o mesmo comando é enviado a várias unidades que processam vetores diferentes — como vários pintores recebendo a ordem “pinte um quadrado vermelho” e cada um pinta um quadrado em sua própria tela.
  • MISD (Multiple Instruction, Single Data): várias instruções operam sobre o mesmo fluxo de dados. É raro na prática; um exemplo teórico seria várias máquinas processando a mesma entrada em sequência de formas diferentes, mas não é um modelo comum.
  • MIMD (Multiple Instruction, Multiple Data): várias unidades executam instruções potencialmente diferentes independentemente, cada uma sobre seus próprios dados. Exemplo: várias pessoas trabalhando em tarefas diferentes ao mesmo tempo, cada uma com seu roteiro.

Passo 3

Agora vamos ligar esses conceitos ao cenário dos escribas. Vou identificar os elementos correspondentes:
  • O “superior que dita” é a fonte única de instrução — há uma única sequência de comandos (palavras ditas) que todos ouvem.
  • Cada escriba recebe a mesma instrução (a mesma palavra) no mesmo instante.
  • O “dado” de cada escriba é sua própria folha/cópia do livro — ou seja, cada escriba opera sobre dados distintos (suas cópias individuais).
    Portanto, temos: única instrução simultânea para muitos agentes, cada agente trabalhando sobre seus próprios dados.

Passo 4

Comparando com a definição da classificação de Flynn: a situação é exatamente a de Single Instruction, Multiple Data — SIMD. Em SIMD há um controlador que emite uma instrução (ou um fluxo de instruções) que é aplicada em paralelo por vários processadores/elementos, cada um trabalhando sobre seu próprio pedaço de dados. É a mesma ideia dos escribas: um ditador de instruções (o superior) e vários executores (os escribas) escrevendo suas próprias cópias.

Passo 5

Para solidificar: explico por que não é cada uma das outras categorias, uma a uma.
  • Não é SISD, porque SISD tem uma única unidade que lê uma instrução e opera sobre um único conjunto de dados — no enunciado há muitos escribas atuando em paralelo, então não é um único executor.
  • Não é MIMD, porque em MIMD cada processador pode estar executando instruções diferentes de forma independente. Aqui todos executam a mesma instrução ditada ao mesmo tempo, então não há instruções diferentes por processador.
  • Não é MISD, porque MISD seria várias instruções aplicadas sobre o mesmo dado. No enunciado as instruções são as mesmas e cada escriba tem seu próprio dado (sua cópia), então MISD não bate.
    Logo, SIMD é a correspondência direta.

Passo 6

Dica prática para prova (truque rápido para identificar SIMD em questões do tipo): pergunte-se dois pontos, em ordem:
  1. Existe uma única fonte de controle/instrução que é “broadcast” para todos? (sim → aponta para SISD ou SIMD)
  2. Cada unidade executora tem seus próprios dados distintos ou compartilham o mesmo dado? (dados distintos → SIMD; dado único → SISD ou MISD)
    No problema dos escribas, a resposta ao primeiro é “sim” (único superior dita) e ao segundo é “cada um com sua cópia”, portanto SIMD.

Passo 7

Resumo intuitivo e motivacional: pensa assim — o mosteiro é tipo um processador que “transmite” a próxima instrução para uma frota de cores; cada escriba é uma unidade de processamento que aplica a mesma instrução na sua própria folha. É exatamente o espírito SIMD. Consegue imaginar isso agora? Tá na mão — é só reconhecer “uma instrução, muitos dados”.

Resposta

SIMD (Single Instruction, Multiple Data)

Exercícios relacionados