Processadores vetoriais

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1037 palavras )
  • Download(s) : 0
  • Publicado : 6 de agosto de 2011
Ler documento completo
Amostra do texto
1.0 Arquitetura Processador Vetorial
Um processador vetorial normalmente consiste de:
-Memória principal
-Processador Escalar
-Controlador Vetorial
-Controlador de Memória e Gerador de Endereços Vetoriais
-Memória Local (Registradores)
-Unidade Aritmética Pipeline
[pic]

O Processador Escalar realiza as tarefas que devem ser feitas de modo seqüencial, como execução de trechosde código seqüenciais, testes de dependência de dados, gerenciamentos de E/S e memória, e controle de programa. Quando o processador escalar identifica uma instrução vetorial, esta é passada ao Controlador Vetorial. Este controla a execução das instruções, calculando os parâmetros de endereçamento dos operandos vetoriais e configurando a Unidade Aritmética Pipeline.
Os parâmetros deendereçamento são enviados ao Controlador de Memória e Gerador de Endereços que a partir destes parâmetros realiza os acessos à Memória Principal para a busca dos operandos. A Unidade Aritmética Pipeline executa as instruções vetoriais aplicando as funções aritméticas sobre vetores. A Memória Local tem como objetivo suprir as necessidades da Unidade Aritmética, servindo como meio de armazenamento intermediárioentre a Unidade Aritmética e a Memória Principal.
[pic]
2.0 Modos de Endereçamento
Existem basicamente dois modos de endereçamento vetorial:
-Denso / Regular
-Esparso
Modo Denso / Regular:
É o caso mais comum de armazenamento de dados em memória. Ocorre quando os dados estão em posições adjacentes na memória ou dispostos seguindo um padrão regular. Existem três tipos de acesso Denso ouRegular:
i)Seqüencial: dados estão dispostos de forma contígua na memória. Para um certo dado V(i) do vetor armazenado numa posição P de memória, o próximo dado V(i+1) se encontrará na posição P+1.
[pic]
Figura 2: Endereçamento Sequencial
ii)Não seqüencial mas regular: dados estão dispostos com um intervalo de N palavras entre eles na memória. Ocorre quando acessamos uma coluna de uma matrizarmazenada em memória por linha. Para um certo dado V(i) do vetor armazenado numa posição P de memória, o próximo dado V(i+1) se encontrará na posição P+N, onde N é o número de palavras que existem até o próximo dado.
[pic]
Figura 3: Endereçamento não sequencial mas regular
iii)Submatriz: quando existe uma matriz armazenada na memória por linha e é feito acesso a uma parte dessa matriz (submatriz).Para acessar uma submatriz m x n da matriz M x N, devem ser lidos os n dados a partir do primeiro elemento (primeira linha). Pulam-se N - n dados e lêem-se os n dados da próxima linha, até completar as m linhas.
Para minimizar o desperdício de memória e processamento causado por este tipo de vetor, são empregadas duas técnicas:
-vetores de bit
-vetores de índice
Vetores de bit têm afinalidade de determinar quais elementos do vetor devem participar de uma operação. Um vetor de bits possui o mesmo comprimento do vetor original, e portanto cada bit deste vetor irá estar associado a um elemento. Uma instrução que utiliza esta técnica terá um vetor de bits associado a ela. Deve-se observar que o uso da técnica de vetores de bits não reduz o tempo de execução da instrução, mesmo que algunsdos elementos não tenham sido operados. Em algumas máquinas, todos os elementos são operados, e o vetor de bits indica apenas quais resultados devem ser armazenados ao fim da operação. Esta técnica é chamada de Armazenamento Seletivo. Exemplo do uso de Armazenamento Seletivo:
[pic]

Para reduzir a quantidade de dados que é fornecida à Unidade Aritmética, usa-se a técnica de Compressão. Assim,todos os dados marcados no vetor de bits são postos lado-a-lado num vetor que será fornecido como entrada. Após a operação ser aplicada, utiliza-se a Descompressão, que nada mais é do que o processo inverso. Os dados do vetor resultante são postos nas posições marcadas no vetor de bits.
Vetores de índice guardam o endereço (ou deslocamento a partir de um registrador base), de onde está o...
tracking img