Please enable JavaScript.
Coggle requires JavaScript to display documents.
DESEMPENHO COMPUTACIONAL - Coggle Diagram
DESEMPENHO COMPUTACIONAL
Elaboração de projeto visando o desempenho
Velocidade do microprocessador
Processador ocupado a maior parte do tempo
Pipeling
Previsão de desvio
Execução superescalar
Analise do fluxo de dados
Balanço do Desempenho
Necessidade de procurar equilibrio do desempenho
Interface processado -> Barramento principal -> RAM
Minimizar problema
Barramento de dados mais largos
Reduzir a frequencia de acesso a memória
Aumentar a largura de banda da interconexão CPU-DRAM
Interface da DRAM melhorada
Fluxo de dados pelos dispositivos E/S
Solução
Buffering
Barramento de interconexão de maior velocidade
Estruturas de barramentos mais elaboradas
Caching
Configuração de processador multiplo
Melhorias na organização e na arquitetura o chip
Tedencias em processadores
MICs
GPGPUs
Multicore
Aumentar a velocidade do processador
Aumentar veocidade de hardware do processador
Aumentar tamanho e velocidade dos caches
Mudar organização e arquitetura do computador
Problemas com a velocidade do Clock
Potência
Atraso de RC
Latência e Taxa de Transferencia
Linha Apple M
Apple M1
16 núcleos de processamento neural
Evolução
M1 Ultra
M1 Max
M1 Pro
16 bilhões de transistores
4 núcleos de CPU
Diversos outros controladores
8 Núcleos de GPU
Diversos outros controladores
Medidas básicas de desempenho do computador
Clock do Sistema
Controla o andamento das operações
Medida em Hz
Sinais podem mudar
Sinais da CPU levam tempo para se estabilizarem
Taxa de execução de instrução
CPI
CPIi x li/lc
MPIS
f/CPI × 10 elevado a 6
MFLOPS
num. de inst. de PF exec. em um programa/
Tempo de execução × 10 elevado a 6
Desempenho, Custo, Tamanho, Segurança, onfiabilidade e Consumo de energia
Lei de Amdahl
Fómula
Tempo para executar em um único processador/ Tempo para executar em N processadores
1/(1-f) + f/N
Limites
N -> infinto
Percentual do código serial = Speedup máximo
f -> 0
Não tem beneficio rodar em multiplos núcleos
f -> 1
Quanto mais núcleos mais rápido
Calcula o Speedup do programa usando multiplos processadores
Programação Paralela
Código dividido