Trabalho 2 - Arquitetura
Por: Kleber.Oliveira • 16/11/2017 • 1.068 Palavras (5 Páginas) • 434 Visualizações
...
stepping : 13
microcode : 0xa3
cpu MHz : 2167.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm
bogomips : 4336.00
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Pentium(R) Dual CPU T3400 @ 2.16GHz
stepping : 13
microcode : 0xa3
cpu MHz : 1667.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm
bogomips : 4336.00
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
Informação sobre a compilação
Todos os códigos foram executados diretamente no sistema operacional JUVENTINO, usando a função “time” para cronometrar o tempo e compilador “JUVENTINO”. Abaixo segue a imagem de um dos códigos sendo executados.
[pic 1]
Loop Interchange
Alguns programas tem alguns loops aninhados que acessam os dados na memória de forma não sequencial, simplesmente trocar o aninhamento desses loops podem fazer com que o código acessem os dados como estão armazenados na memória.
Associatividade 1- way,2-way e 3-way:
Grafico
Blocos de tamanho: 16bytes,32bytes e 64bytes
Grafico
Tamanho da cache: 4kB,8KB,64KB e 256 KB.
Grafico
Blocking
Essa técnica visa melhorar a localidade temporal para reduzir a taxa de faltas. Em vez de operar sobre linhas e colunas inteiras de arranjos, o algoritmo operam sobre submatrizes ou “blocos”.
Associatividade 1- way,2-way e 3-way:
Grafico
Blocos de tamanho: 16bytes,32bytes e 64bytes
Grafico
Tamanho da cache: 4kB,8KB,64KB e 256 KB.
Grafico
Loop Fusion
Combina loops independentes que possuem o mesmo controle de loop e sobreposição de variáveis.
Associatividade 1- way,2-way e 3-way:
Grafico
Blocos de tamanho: 16bytes,32bytes e 64bytes
Grafico
Tamanho da cache: 4kB,8KB,64KB e 256 KB.
Grafico
Conclusão
Além das notavel melhoria no tempo em que cada tecnica empregada para otimizar o codigo proporcionou tempos que considerer mais alguns aspectos e interpretações abstraídas pelo grupo a partir de análise do tempo.
Quanto aos testes envolvendo associatividade pode-se concluir que o tempo gasto foi aumentando a cada nível de associatividade maior isso acontece devido ao fato que a maior vantagem de aumentar o nível de associatividade é a consequente queda de taxas de falha pois a uma menor competição pela mesma posição na memória cache essa melhoria é mais significativa quanto menor for a capacidade da memória chache mas por outro lado uma desvantagem de se aumentar o nível de associatividade é um ligeiro aumento e no custo do tempo de acesso aos dados.
Quanto aos testes envolvendo o tamanho do bloco pode-se concluir que o tempo gasto foi aumentando
...