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
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.