Buscar

Processadores para Alto Desempenho

Prévia do material em texto

Processadores para 
computação de alto 
desempenho
Aleardo Manacero Jr.
DCCE/UNESP
Grupo de Sistemas Paralelos e Distribuídos
Introdução
Nesta aula apresentaremos características de 
processadores e como elas influenciam no 
desempenho de um sistema
Mostraremos também alguns processadores 
reais, de várias épocas
Começaremos falando da arquitetura do 
conjunto de instruções, ou ISA.
O debate CISC x RISC
O que é CISC e RISC?
São formas de estruturar as instruções do 
processador quanto aos padrões de 
codificação e execução
Antigamente….
Processadores RISC usam poucas instruções 
com formatos rígidos
Processadores CISC usam muitas instruções 
com formatos distintos
O debate CISC x RISC
RISC é mais eficiente, porém mais 
complexo e usa mais memória.

Mesmo sendo menos eficiente, a 
maioria das máquinas usavam 
processadores CISC (até começo dos 
anos 90)
Problemas da primeira geração RISC
A não adoção inicial de RISC se deu por:
Falta de sistemas operacionais e compiladores 
adaptados aos processadores RISC
Os executáveis eram muito grandes por terem 
muitas instruções
A pouca variedade de instruções de máquina 
exigia a construção de instruções de software
(R)evolução do RISC 
Aumento no número de transistores por 
chip
Pipelining é mais fácil se instruções têm 
mesmo tamanho
Surgimento de compiladores mais 
otimizados
Características de processadores RISC
Uso intensivo de pipelining
Todo o projeto RISC é voltado para facilitar o 
uso de pipelines
Instruções de mesmo tamanho
Essa característica é a que mais reforça o 
conceito de pipeline, uma vez que é possível 
uniformizar todo o processo de transferência 
de dados e instruções
Características de processadores RISC
Arquitetura LOAD/STORE
Todo acesso à memória ocorre apenas 
através de instruções LOAD ou STORE, não 
sendo possível outras operações nela
Endereçamento simples
Como apenas LOAD e STORE acessam a 
memória não são necessárias variações 
nesse formato. As outras instruções acessam 
apenas registradores
Características de processadores RISC
Ponto flutuante em pipelines
Como todas as instruções têm mesmo formato, 
incluindo as de ponto flutuante, é possível 
executá-las em pipelines
Tratamento de desvios
São necessários para evitar esvaziamentos 
frequentes do pipeline. Usa técnicas de 
predição, delay slot e execução condicional
A técnica de delay slot
Segunda geração RISC
Chegada dos processadores “SUPER”
Superescalares
Permitem a execução simultânea de várias 
instruções através de vias de execução 
paralelas
Superpipelines
Fazem a construção de estágios cada vez 
mais especializados, chegando a 31 estágios 
(geração Prescott do Pentium 4)
Outros caminhos
CISC e RISC não são as únicas soluções 
possíveis.
A família pentium, por exemplo, misturava os dois 
conceitos
Outra saída é o uso de processadores VLIW (very-
long instruction word)
Arquitetura VLIW
Modelo de processador
Arquitetura VLIW
Formato de instrução e execução
Modelos arquiteturais básicos
Modelos arquiteturais básicos
Modelo de arquitetura CISC
Modelo de arquitetura RISC
Arquitetura POWER (32 bits)
Antigo cenário sobre microprocessadores
Cenário atual sobre microprocessadores
E as GPUs?
Cenário atual sobre microprocessadores
Preocupação com consumo de energia
Design orientado pela aplicação, ou seja, 
menos clock e instruções por ciclo quando é 
preciso economizar energia
Em alguns casos usando ASICs
Para alto desempenho a preocupação é 
como refrigerar os processadores...
Lei de Moore
Continua aplicável
Não se resume a 
número de transistores 
ou velocidade da CPU
Na verdade é uma 
referência econômica 
sobre gerações de 
circuitos integrados
Pipelines
O uso de pipelines é uma das formas de se 
acelerar o processamento
Pipelines surgem em duas formas:
Pipeline aritméticos
Pipeline de instruções
Pipelines aritméticos
Envolvem a decomposição de operações 
aritméticas em etapas funcionais
São mais simples de implementar e não 
envolvem problemas de predição ou de 
esvaziamentos
Pipelines aritméticos
400 ns
Pipelines aritméticos
150 ns
Pipeline de instruções
Envolve as várias etapas 
de execução de uma 
instrução, como busca, 
decodificação, etc
É mais complicado pois 
essas etapas possuem 
comportamentos distintos 
para tipos distintos de 
instruções 
Pipeline de instruções
Pipeline de instruções
Antigamente...
Pipelines podiam ser classificados como 
sendo lineares ou não-lineares
Com o aumento na complexidade dos 
pipelines o conceito de linearidade (típico 
nos antigos pipelines RISC) foi abandonado
Mas ainda é útil no entendimento dos 
hazards de um pipeline
Pipelines lineares
Caracterizados como uma linha de produção 
serial típica
Mais simples de serem compreendidos
O fluxo dos dados/instruções pode ser feito 
de forma 
síncrona (latches e relógio único), ou 
assíncrona (sinais de requisição e 
reconhecimento)
Pipeline linear síncrono
Pipeline linear assíncrono
Pipeline não-linear
É um pipeline em que o fluxo pelos estágios 
pode sofrer grandes desvios ou até formar 
ciclos
Fundamental para CISC, pois instruções de 
formatos diferentes demandam caminhos de 
execução diferentes
Seu controle é tipicamente assíncrono
Exemplo pipeline não-linear assíncrono
Pipelines superescalares
São pipelines com uma grande quantidade 
de estágios e caminhos possíveis
São característicos dos processadores 
modernos
Permitem, em determinados estágios, a 
execução de vários caminhos (instruções) 
simultaneamente
Pipelines superescalares
Permitem o escalonamento de instruções 
fora de ordem (out-of-order execution), a 
partir do momento em que a instrução:
Tem dados disponíveis
Tem unidade operacional disponível
Não criará conflitos
Pipelines superescalares
Pipelines superescalares
Pipeline superescalar (threads)
Pipeline processadores MIPS
Arquitetura de 
alguns 
processadores
MIPS
64bits
Sandy Bridge
Observar o anel ligando as 
caches locais (nível 1)
Observar também os 
elementos especializados
Sandy Bridge
Haswell
Quarta geração da família i3,5,7
Do ponto de vista da Intel representou 
avanços mais significativos do que a 
geração anterior
Haswell
Haswell
Haswell
Coffee Lake (8a e 9a geração)
Coffee Lake
Coffee Lake
AMD Opteron
Processadores Opteron trabalham com 64 
bits, sendo suas principais características:
Endereços virtuais de 48 bits
Endereços físicos de 40 bits
Caches L1 e L2 separadas para cada núcleo
Cache L1 é composta por 64Kbytes para dados e 
64Kbytes para instruções
3 conexões para E-S (16 bits em cada direção) 
suportam conexões entre processadores
AMD Bulldozer (2011 a 2017)
AMD Bulldozer
AMD Ryzen
AMD Ryzen
Arquitetura Power8
Arquitetura Power8
Sparc M7 
Sparc M7 
Sparc M7 
Sistema de multiprocessadores (Power cells)
Processador Power (PPE) cuida do SO e 
controle das SPE
Processadores sinergísticos (SPE) fazem o 
processamento real, através de sua 
unidade de processamento (SPU) e de 
interface (MFC) 
Comunicação ocorre por 4 anéis de 16 
bytes de largura cada
Sistema de multiprocessadores (Power cells)
Diagrama interno de um SPE
Anéis da rede interna 
Placa vetorial Cray Y-MP
Arquitetura Cray XT4
Processadores de baixo consumo
Uma alternativa hoje é o uso de uma grande 
quantidade de processadores de baixo 
consumo de energia para fazer um 
paralelismo em larga escala
Nessa categoria aparecem processadores 
como o ATOM, Vortex e as GPU´s
ATOM (Intel)
ATOM (Intel)
Graphical Processing Units
O uso de GPUs como elementos de 
aceleração de processamento tem crescido
A idéia é usar GPUs como processadores das 
partes não sequenciais de um programa
A GPU Fermi, da Nvidia, apresenta até 512 
núcleos por chassi
A GPU Kepler, da Nvidia, chega a 2688 
núcleos, atingindo 1.31 Tflops
Graphical Processing Units
Arquitetura Tesla, com o lançamento da GPU 
V100 (Volta) possui5120 núcleos e 640 
tensores 
Atinge 7,8 Tflops em dupla precisão e 125 
Tflops para operações com tensores
Usada no Summit da IBM
Nvidia - Kepler
Nvidia - Kepler
Nvidia - Kepler
Nvidia - Kepler
Tesla
Kepler
Graphical Processing Units
Além da NVIDIA temos também GPUs da 
Intel, através da família Xeon Phi
Atinge desempenho de 1TFlops, através de 
60 núcleos executando até 240 threads
Arquitetura do Xeon Phi
Modos de execução 
Xeon Phi (Knights Landing)
Processadores ARM
São processadores de consumo de energia 
muito baixo, chegando a menos de 2 watts no 
processador e menos de 12 watts num 
sistema completo
Uso inicial em dispositivos móveis
Tem se tornado uma alternativa para uso 
como processador auxiliar
ARM processors – Cortex A9
Rex Neo processors (fake?)
Rex Neo processors
Rex Neo processors
TPUs
Uso de circuitos ASIC (application-specific 
integrated circuit) para resolver redes neurais
Deep Learning depende intensamente de 
redes neurais
Resultados bastante promissores
TPUs
Desempenho relativo a CPU
TPUs
Projeto da rede neural 
TPUs
Modelo estrutural 
de uma TPU 
TPUs
Diagrama de blocos da TPU 
TPUs
Multiplicação de 
matrizes com 
TPU
Quantum computing
Ainda longe de ser realidade, apesar de 
protótipos
Informação é representada por níveis 
energéticos de spin
Demanda uso de supercondutores 
(temperaturas próximas de 0 kelvin)
Quantum computing
Técnicas usam:
quantum logic-gates (Google, IBM e 
Intel) ou 
quantum annealing (DWave) 
Quantum computing
Quantum computing - Google
Quantum computing (Intel)
Chip neuromórfico (Intel)
Processadores para HPC
Tendência para uso de processadores 
“comuns”, em organização manycores e 
multicomputadores
Cuidados recentes (nem tanto) com economia 
de energia
Problemas de conectividade a serem 
resolvidos para sistemas exascale
Processadores para HPC
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	Slide 72
	Slide 73
	Slide 74
	Slide 75
	Slide 76
	Slide 77
	Slide 78
	Slide 79
	Slide 80
	Slide 81
	Slide 82
	Slide 83
	Slide 84
	Slide 85
	Slide 86
	Slide 87
	Slide 88
	Slide 89
	Slide 90
	Slide 91
	Slide 92
	Slide 93
	Slide 94
	Slide 95
	Slide 96
	Slide 97
	Slide 98
	Slide 99
	Slide 100
	Slide 101

Continue navegando