130 likes | 361 Views
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: Cray-1 Estudo do Cray-1 Teoria do Processamento Vetorial Aplicações atuais: ESC e Cell. Histórico.
E N D
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: Cray-1 Estudo do Cray-1 Teoria do Processamento Vetorial Aplicações atuais: ESC e Cell
Histórico Primórdios: WestingHouse Electric Corporation – projeto Solomon Predecessores: STAR – 100 (CDC) e ASC (Texas Instruments) Cray – 1 (Cray Research): primeiro a obter sucesso Outras Companhias: Fujitsu, Hitashi, NEC Tendência atual: processamento distribuído
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
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
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)
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
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. OperandosOperaçãoComentários VADD.VVV1,V2,V3 V1=V2+V3 vetor + vetor VADD.SVV1,R0,V2 V1=R0+V2 escalar + vetor VLD 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
Encadeamento(chaining) Considere o seguinte código: MULTV V1, V2, V3 ADDV V4, V1, V5
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
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 processadores vetoriais e 16GB mem. °700TB Hd e 1,6PB fita
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 64MB por um barramento de 1024bits.