O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia...
Transcript of O que é Arquitetura Vetorial? Utilizações: Simulações, Cálculos Científicos, Biologia...
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
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
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. 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
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
Pipeline do CRAY-1
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
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.
PS3 – The Cell