Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Arquitetura Vetorial

No description
by

Alexandre Colauto

on 25 October 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Arquitetura Vetorial

Introdução
Porquê do processamento vetorial?
Estrutura básica.
Principais problemas.
Porquê do processamento vetorial?
Uma simples instrução de vetor realiza um grande trabalho, é como executar um loop completo.
O resultado de cada cálculo em um vetor é indepente dos resultados de outros cálculo no mesmo vetor, assim o hardware nao precisa ficar checando conflitos dentro de um vetor de instrução.
Instruções que acessam a memória tem um padrão de acesso conhecido, ou seja pode-se ter varios bancos de dados.
Pelo fato de um loop inteiro ser substituído por uma única instrução de vetor, cujo comportamento é pré-determinado, controlar os perigos que normalmente surgem dos loop são inexistentes.
Estrutura básica
Existem dois tipos principais de arquitetura para processamento vetorial,o orientado á memoria e o orientado á registradores.
Componentes
Registradores vetoriais
Arquitetura Vetorial
Orientado á memória
Arquitetura mais arcaica, as primeiras maquinas virtuais,CDC star-100 (1973) e a TI ASC (1971), possuiam essa arquitetura.
Todas as operações são feitas na memoria, tornando o processo lento.
Orientado á registradores.
Mais utilizado atualmente
Todas as operaçõesI(exceto load e store), são feitas em registradores, tornando o processo mais rápido.
Orientado á memória
vs
Orientado á registradores
Exemplo de codigo:
for (i=0; i<N; i++)
{
C[i] = A[i] + B[i];
D[i] = A[i] - B[i];
}

Orientado á memoria:
Orientado á registrador
LV V1, A
LV V2, B
ADDV V3, V1, V2
SV V3, C
SUBV V4, V1, V2
SV V4, D


ADDV C, A, B
SUBV D, A, B

Estrutura Básica
Unidades aritimeticas
Registradores load-store
Registradores escalares
São onde são armazenados os vetores. Cada registrador vetor deve ter pelo menos duas portas de leitura e uma porta de escrita
São totalmente
pipelined
iniciando uma nova operação a cada ciclo de clock.
Os vetores de load e store são totalmente pipeline, de modo que as palavras podem ser movidos entre os registradores vetoriais e de memória com uma largura de banda de uma palavra por ciclo de clock, depois de uma latência inicial
Registradores escalares também pode fornecer dados como entrada para as unidades funcionais do vetor. mas sua função pricipal é fornecer endereços de memória para passar para o vetor unitário load-store.
Problemas
Quando um vetor é maior que o registrador, o compilador deve quebrar a operação em uma sequencia de operações de
tamanho menor
ou igual
a dos
registradores
Em multiplação de vetores
a varredura não é feita
linearmente, sendo necessário dar um stride, ou seja um pulo
entre as
posições
do vetor
Existencia de desvios condicionais em loop, onde um vetor de máscara deve ser utilzado para indicar em qual elemento deve ser realizada a operação, ex:

for (i=1; i<80; i++)
if (a[i] < 0)
a[i] = a[i] + b[i];
Exemplo de uma instrução load
Processo escalar
Processo vetorial
Memoria entrelaçada
A associação é feita de maneira cíclica. Ex End0, Ban0; End1, Ban1...EndN, Ban0; EndN+1, Ban1.
Assim diversos bancos podem ser ativados ao mesmo tempo.
Uma máscara vetorial será
um vetor booleano
que informa quando
o valor de
a[i] deve ser atualizado.
Arquitetura vetorial possui um uso específico, sendo excelente em algoritimos que necessitam de um mesmo cálculo repetidamente e sem a necessidade de dependencia de cálculos anteriores, Ex: previsao do tempo,e geração de gráfico de consoles(como foi no nintendo 64, play station 2 e play sation 3)
Full transcript