Arquitetura de Computadores: RISC, Superescalar, SMP e NUMA

Classificado em Computação

Escrito em em português com um tamanho de 17,42 KB

1 – Razões para conjuntos de instruções ricos

Desejo de simplificar os compiladores

  • Um compilador deve gerar uma sequência de instruções de máquina para cada comando em linguagem de alto nível.
  • Logo, se existirem várias instruções de máquina, a tarefa do compilador torna-se mais simples.

Desejo de aumentar o desempenho

  • A arquitetura CISC deve produzir programas menores e mais rápidos.
  • Programas menores têm duas vantagens:
  • Consome um menor espaço de memória (???).
  • Maior desempenho (será?).

2 – Características das implementações RISC

  • Uma instrução por ciclo.
  • Operação de registrador para registrador.
  • Modo de endereçamento simples.
  • Formatos de instruções simples.

3 – O que é a tecnologia VLSI?

VLSI é uma tecnologia de microeletrônica que integra uma grande quantidade (milhões) de dispositivos eletrônicos (transistores) em uma pastilha (chip).

4 – Por que inserir Noop no código?

Inserir instruções Noop (ou NOP) é frequentemente usado para resolver problemas de execução relacionados a desvios e a instruções com dependência de dados no pipeline de três estágios.

5 – O que é explorado pelo processador superescalar?

O processador superescalar explora o chamado paralelismo no nível de instruções, ou seja, o grau em que instruções podem ser executadas em paralelo.

6 – O que faz tipicamente o processador superescalar?

  • Explora o paralelismo no nível de instruções, permitindo que múltiplas instruções sejam executadas em paralelo.
  • Busca várias instruções de cada vez e tenta encontrar instruções próximas que sejam independentes e possam ser executadas simultaneamente.
  • Quando identifica dependências, pode executar e completar instruções em uma ordem diferente da ordem do código original.

7 – Diferença entre superpipeline e superescalar

Uma arquitetura superescalar permite que várias instruções sejam iniciadas simultaneamente e executadas de forma independente.

A arquitetura superpipeline subdivide cada estágio do pipeline em subestágios e multiplica o clock internamente. O superpipeline explora o fato de que muitos estágios de um pipeline exigem menos tempo que a metade de um ciclo de relógio.

8 – Cinco limitações da abordagem superescalar

  • Dependência de dados verdadeira (escrita → leitura).
  • Dependência de desvio.
  • Conflito de recurso.
  • Dependência de saída (escrita → escrita).
  • Antidependência (leitura → escrita).

9 – Taxonomia segundo o modelo de Flynn

  • Única instrução, único dado (SISD).
  • Única instrução, múltiplos dados (SIMD).
  • Múltiplas instruções, único dado (MISD).
  • Múltiplas instruções, múltiplos dados (MIMD).

11 – Desenho esquemático de uma organização SMP

8B7vOpgayC3WkAAAAASUVORK5CYII=

12 – Três características de uma organização SMP

  • Existem dois ou mais processadores similares.
  • Todos compartilham acesso aos dispositivos de E/S.
  • Todos podem desempenhar as mesmas funções.

13 – Quatro vantagens da arquitetura SMP

Desempenho: Muitos processos podem ser executados ao mesmo tempo sem queda significativa no desempenho, pois o sistema operacional delega as instruções a cada processador.

Disponibilidade: Uma falha em um processador não causa necessariamente a parada do sistema, pois todos podem desempenhar as mesmas funções.

Crescimento incremental: O usuário pode aumentar o desempenho do sistema adicionando novos processadores.

Escalabilidade: Fabricantes podem oferecer uma ampla faixa de produtos com desempenho e custos diferentes com base no número de processadores do sistema.

14 – O que é o problema de coerência de cache?

O problema da coerência de cache resume-se ao fato de que, em determinado momento, possam existir múltiplas cópias de um mesmo dado da memória principal em caches diferentes; esse dado pode ser alterado localmente sem que se propague a alteração para as outras cópias, gerando inconsistência de dados.

16 – Definição de cluster

Cluster é um grupo de computadores completos interconectados, trabalhando juntos com um recurso de computação unificada, criando a ilusão de constituírem uma única máquina.

17 – Duas vantagens da organização de cluster

  • Escalabilidade absoluta: É possível criar um cluster muito grande, cuja capacidade de computação ultrapassa muitas vezes a capacidade da maior máquina individual.
  • Escalabilidade incremental: Um cluster é configurado de maneira que seja possível adicionar novos nós, expandindo-o de forma incremental.

18 – Comparativo: UMA, NUMA e CC-NUMA

UMA

  • Todos os processadores têm acesso a todas as partes da memória principal via operações de carga e armazenamento.
  • O tempo de acesso do processador à memória é o mesmo para toda a região da memória.
  • O tempo de acesso é igual para todos os processadores.
  • A organização SMP é um sistema UMA.

NUMA

  • Todos os processadores têm acesso a todas as partes da memória principal via carga e armazenamento.
  • O tempo de acesso do processador à memória varia conforme a região da memória sendo acessada.
  • O tempo de acesso à memória é diferente para diferentes processadores.

CC-NUMA

  • É um sistema NUMA no qual é mantida a coerência de cache entre as memórias cache dos vários processadores.
  • Produtos comerciais de maior destaque são CC-NUMA, embora muitas vezes sejam referidos erroneamente na literatura comercial apenas como NUMA.

19 – Objetivo do sistema NUMA

O objetivo de um sistema NUMA é manter, de forma transparente, uma visão unificada de uma grande área de memória. Assim, permite vários nós multiprocessadores, cada um com seu próprio barramento, sem expor ao software a complexidade da distribuição de memória.

Entradas relacionadas: