Вы находитесь на странице: 1из 28

Computao de Alto Desempenho

Mdulo 1 Aula - 01 Maro 2002


Renato Silva Maro 2002

Contedo

Arquitetura de Computadores - Conceitos Bsiocs


Processadores Hierarquias de Memrias

Avaliao de Desempenho Otimizaes BLAS ATLAS

Renato Silva

Maro 2002

Arquitetura de Computadores

Mquina de von Neunnam Composta por :

CPU

CPU Bus Memria

Registradores Unidade aritimetica e lgica (ALU)

Memria Barramento (Bus)

Tudo em um computador acontece em um "tick" do processador. A frequncia do proc. Determina a velocidade do processador
Maro 2002

Renato Silva

Desenho Bsico - Single Instruction Stream Instrues so processadas sequencialmente Ex.: a = c+b

Recebe e decodifica a inst. Calcula os endereos Recebe os valores Operao executada Resultado escrito na memria

Obs. Existe um movimento de dados e instrues entre CPU e memria

Renato Silva

Maro 2002

Paralelismo em um Processador

Mltiplas ALU - podendo operar em paralelo


Soma : Multiplicao O compilador precisa reordenar as operaes Entretanto aumenta o movimeto de dados entre a CPU e Mem.

Renato Silva

Maro 2002

Pipelining

Cada uma responsvel por decodificar e executar uma instr. Linha de montagem, cada segmento responsvel por uma pequena tarefa A cada ciclo se produz um resultado quando o Pipeline est cheio....

Renato Silva

Maro 2002

Tipos de Pipelines

Pipelines de instrues Referncia de memria Operaes de ponto flutuante

Segmentao da ALU

Renato Silva

Maro 2002

Pipeline de Instruo
Intruo 1 2 3 4 Resultado 5

1 - Recebe e decodifica a inst. 2 - Calcula os endereos 3 - Recebe os valores 4 - Operao executada 5 - Resultado escrito na memria

Renato Silva

Maro 2002

necessrio manter o pipeline cheio e com um fluxo constante. Qualquer operao mais complicada (raiz quadrada) ou um acesso muito lento a memria pode causar uma reteno. If pode causar problemas.

As operaes so seriais O contedo pode ser descartado

If (A .lt. B) then C=B - A else C=A - B end if


Maro 2002

Renato Silva

Tipos de Processadores

CISC

Complex Instruction Set Computer Tamanho da instruo no constante Ex.: Pentium Pro (hibrido) Reduced Instruction Set Computer Tamanho da instruo constante O nmero de instrues menor Ex.: RS-6000Power2, UltraSparc,Alpha

RISC

Renato Silva

Maro 2002

CISC

R1 <- [addr(A) = 4 * R2] + 1 return

RISC

R3 <- 4 * R2 R3 <- addr(A) + R3 R5 <- [R3] R1 <- R5 + 1 return

Renato Silva

Maro 2002

Classificao dos Proc.

Super Escalar

As instrues (independentes) so feitas em paralelo, em pipelines separados Isso feito Desempenho :


Processador Compilador

Renato Silva

Maro 2002

SuperPipelined

Os Pipelines tm os seus estgios mais complicados subdivididos Ex.: 8 estgios pipeline de inst. MIPS R4000 14 do PPro

Long Instruction Word (LIW)


Super escalar Quem identifica a independncia o compilador For a de uso

Renato Silva

Maro 2002

Memria

O fluxo de dados da memria para o proc. a parte mais crtica do computador. As memrias so mais lentas e cada vez maiores Quanto mais rpidas mais caras so

Renato Silva

Maro 2002

Tipos de Memrias

Dynamic random access memory (DRAM) Static random access memory (SRAM) Random - vc pode acessar em qualquer ordem

Contra - Ex.: fitas magnticas

Renato Silva

Maro 2002

Dinmica

Os bits so armazenados em pequenos capacitores que perdem sua carga, e portanto precisam ser "recarregados" de tempos em tempos. Maior densidade melhor preo / desempenho Pode chegar a 50 ns

Renato Silva

Maro 2002

Esttica

no precisa ser "recarregada" Utilizada em caches mais rpida podendo chegar a 7ns

Renato Silva

Maro 2002

Tempo de acesso

Definio:

Tempo para acessar um dado na memria Tempo para a memria poder repetir um acesso 50 ns para acessar um dado 100 ns para poder pedir para acessar outro dado

Tempo do ciclo da memria

Ex.:

Renato Silva

Maro 2002

Comparao Proc. x Mem.

1980 PC XT 4.77 Mhz


Proc. 210 ns Mem. 200 ns Proc. 3 ns Men. 50 ns

199...(alto) Pentium II 300 Mhz


Renato Silva

Maro 2002

Hierarquia de memria

Razes econmicas

Fica caro utilizar s SRAM


to en m Au

do

Cu st o

Registradores Cache L1 Cache L2 RAM Disco

Di m in ui o

16k

512K - 256K 1G

da de da ci lo ve
75G

Renato Silva

Maro 2002

Razes econmicas

Fica caro utilizar s SRAM

Renato Silva

Maro 2002

Ex.: DEC ALPHA 21164


Registradores - 2 ns L1 - 4 ns L2 - 5 ns L3 - 30 ns RAM - 220 ns

Renato Silva

Maro 2002

Registradores

Operam na frequncia do Proc. Desempenho significa manter os "dados" o maior tempo possivel nos registradores

Evita o movimento entre caches e RAM

No pratico colocar mais registradores na CPU

Renato Silva

Maro 2002

Caches

Memria mais rpida SRAM


Cache Memria

Renato Silva

Maro 2002

L1 interno L2 pode ser interno tb. L2 externo no funciona a mesma velocidade que o processador L3 sempre externo Toda referncia a uma posio da memria, o dado copiado para o cache. necessrio manter a coerncia entre cache e memria Hit - quando uma referncia encontrado no cache

Valores considerados razoavis


L1 - 90% :L2 - 50% Ex.: L1 - 10ns (75%) L2 - 30ns(20%) RAM - 300ns (5%) Desempenho mdio:

0.75*10 + 0.20*30 + 0.05*300 = 28.5ns

Renato Silva

Maro 2002

Quando um dado no encontrado no cache necessrio "pegar" na memria. Como o cache limitado necessrio eliminar uma linha e substitu-la pela nova. (MISS) Reorganizar o algoritmo para utilizar o mximo possvel dos dados no cache.

Renato Silva

Maro 2002

Memria Virtual

A memria pode no ser suficiente para rodar um programa. Iluso de que o endereamento contnuo. Na verdade a memria dividida em pginas. Quando um dado requisitado calculado o seu endereo e a pgina (tabela de pginas) qual ele pertence: ai determinada a localizao fsica. O gerenciamento das pginas feito pela TBL

Translation Lookaside Buffer

"Cache para a possio das variaveis nas pginas"


Maro 2002

Renato Silva

Se o dado no exite na pg. necessrio carregar uma outra pgina (TBL miss) Se o programa for orientado para reutilizar o cache a TBL vai se comportar bem!!!! Quando um dado requisitado e no est no cache (cache miss), se o endereo no est na TBL (TBL miss), consulta-se a tabela de pginas. Se a pg. no estiver na memria necessria a escrita da pagina atual no disco e a leitura ou a criao de outra pgina.

chamado de paginao (Page Faults - swap) Isso um acidente!!!!!!!

Renato Silva

Maro 2002

Вам также может понравиться