13
O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens: Cray-1 Estudo do Cray-1 Teoria do Processamento Vetorial Aplicações atuais: ESC e Cell Visão Geral do Trabalho

O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Embed Size (px)

Citation preview

Page 1: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

O que é Arquitetura Vetorial?

Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc.

Origens: Cray-1

Estudo do Cray-1

Teoria do Processamento Vetorial

Aplicações atuais: ESC e Cell

Visão Geral do Trabalho

Page 2: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Histórico

Primórdios: WestingHouse ElectricCorporation – projeto Solomon

Predecessores: STAR – 100 (CDC) eASC (Texas Instruments)

Cray – 1 (Cray Research): primeiro a obter sucesso

Outras Companhias: Fujitsu, Hitashi, NEC

Tendência atual: processamento distribuído

Page 3: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Propriedades

Loops substituídos por instruções com vetores

Menos fetches de instruções

Programador + compilador deve garantir que cada resultado independa do resultado prévio

Possibilita altas freqüências de clock

Instruções vetoriais acessam a memória com padrão conhecido

Page 4: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Componentes

Memória principal Controlador de memória Registrador vetorial

Banco de memória de tamanho fixo para guardar um simples vetor

Tipicamente 8-32 registradores vetoriais, cada um com 1 to 8 Kbits

Tem ao menos 2 portas de leitura e uma de escrita Podem ser vistos como arranjos de elementos de 64b, 32b, 16b,

ou 8b Processador escalar

Totalmente pipelined, iniciam nova operação a cada clock Controlador vetorial Unidade aritmética pipeline

Page 5: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Formas de endereçamento

Denso Sequencial (stride = 1) Não sequencial mas regular(stride > 1) Submatriz

Esparso Vetor de bits (indica o elemento que participa de uma

operação) Vetor de índices (guardam o endereço do elemento no vetor)

Page 6: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Outros aspectos

Comprimento do vetor Resolvido por meio de Strip Mining Uso dos registradores MVL (maximum vector length) e do VL

(vector length)

Processamento horizontal Linha a linha de uma matriz Uma inicialização do pipeline por linha

Processamento vertical Conceito de somas parciais Melhora no tempo total devido a uma única inicialização do

pipeline

Page 7: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Instruções vetoriais

Código da operação Endereço de base Incremento de endereço (stride 1, 2, ... ) Off-set de endereço Tamanho do vetor

Instr. Operandos Operação ComentáriosVADD.VV V1,V2,V3 V1=V2+V3 vetor + vetorVADD.SV V1,R0,V2 V1=R0+V2 escalar + vetorVLD V1,R1 V1=M[R1..R1+63] load

com espaçamento igual a 1 VLDS V1,R1,R2 V1=M[R1..R1+63*R2] load com

espaçamento igual a R2 VLDX V1,R1,V2 V1=M[R1+V2(i),i=0..63] indexado

Page 8: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Encadeamento(chaining)

Considere o seguinte código:

MULTV V1, V2, V3

ADDV V4, V1, V5

Page 9: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

O CRAY-1

Arquitetura Vetorial e escalar Máquina RISC, 80 MHz de

freqüência, até 8 MB de memória

12 unidades funcionais operando em pipeline

Utilizava um minicomputador como terminal

Page 10: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Pipeline do CRAY-1

Page 11: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

Aplicações práticas

ESC (Earth Simulator Computer)

°Mais rápido de 02 a 04

°35,86 TeraFlops

°Construído pela NEC

°640 nós

°Cada nó: 8 processadoresvetoriais e 16GB mem.

°700TB Hd e 1,6PB fita

Page 12: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

PS3 – The Cell

Cell está sendo criado por IBM, Sony e Toshiba

Baseado em células

Cada uma com 1 CPU e 8 processadores vetoriais (APU)

Cada processador com 128K

Células ligadas à mem. central de 64MBpor um barramento de 1024bits.

Page 13: O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia Molecular, Física de Partículas, Processamento de Imagens, etc. Origens:

PS3 – The Cell