Introdução ao Processamento Vetorial

Slides:



Advertisements
Apresentações semelhantes
CPU: Controle e processamento
Advertisements

Arquitetura de Computadores
WebDesign Redes de Computadores Aula 05
WebDesign Redes de Computadores Aula 07
Arquitetura e organização de computadores.
Arquitetura de Computadores
Software Básico Silvio Fernandes
Arquitetura dos Microprocessadores 8086 e 8088
MIPS MULTICICLO Fluxo de Dados e Controle
MC542 Organização de Computadores Teoria e Prática
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Visão Geral do Trabalho
Arquiteturas Superescalares
Sistemas Operacionais
CISC e RISC.
SSC144 Arquitetura de Computadores Introdução
Aula 10 06/10/10 (Turma 1 e 2) Profa. Sarita
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Professor: Erivelto Tschoeke – UDESC/CEPLAN
REPRESENTAÇÃO DE INSTRUÇÕES
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Prof. Felipe Ferreira de Oliveira
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 6 (1) Reestruturação de Programas em Sistemas Vetoriais Tópicos: Técnicas de Otimização Notação.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 8 (1) Exploração de Paralelismo em Sistemas Vetoriais Tópicos: Vetorização Paralelização.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 29 (1) Comunicação Coletiva em MPI Tópicos: Operação de Broadcast Operações de Redução Exemplo:
Pipeline O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline. Todos os estágios devem estar prontos ao mesmo.
ESPAÇOS E SUBESPAÇOS VETORIAIS REAIS
Arquitetura de computadores
Sistemas Operacionais
Sistemas Operacionais I
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 5 (1) Análise de Dependência Tópicos: Restrições à Vetorização Detecção de Dependência Teste.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 26 (1) Troca de Mensagens Troca de Mensagens Tópicos: Características de Mensagens Implementação.
Campus de Caraguatatuba Licenciatura em Matemática Semestre de 2013
SISTEMAS OPERACIONAIS I
Unidade Central De Processamento: Processador
Sistemas Operacionais
Sistemas Operacionais
Unidade Central De Processamento: Processador
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 3 (1) Exemplos de Sistemas Vetoriais Tópicos: Sistemas Cray Sistemas NEC.
Eletrônica Digital II ELT013
Unidade de Controle.
8088 Assembly Software Básico Mitsuo Takaki.
Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer 6.
Como analisar um algoritmo
IMM Instalação e Manutenção de Microcomputadores Pedro Amaro –
Tudo sobre o Processador
Parte 3 Seção de Dados e Unidade de Controle
Curso: Sistemas de Informação Tópico 5
Bruno Iran Ferreira Maciel
1  1998 Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
Afonso Ferreira Miguel
Funcionamento interno do computador
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
A linguagem de Máquina – Instruções Básicas
ORDENAÇÃO EM TEMPO LINEAR
Projeto Lógico de Computadores Arquiteturas Avançadas
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 34 (1) Formas de Programação Paralela Tópicos: Compilação de Linguagens de Alto Nível Padrão.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 4 (1) Introdução à Programação de Processadores Vetoriais Tópicos: Conceitos Básicos Encadeamento.
GEOMETRIA ANALITICA VETORES.
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

Introdução ao Processamento Vetorial Tópicos: Conceito de pipelining Exemplo 1 : Pipeline de instruções Exemplo 2 : Pipeline de operações aritméticas Introdução a Sistemas Vetoriais Operações Vetoriais Registros Vetoriais e Escalares Opções de Projeto 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Conceito de Pipelining Pipelining: Operação num modo semelhante a uma linha de produção: Operação global pode ser dividida em estágios Cada estágio realiza uma operação mais simples Tempo de cada estágio pode ser curto Cada estágio recebe resultados do estágio anterior É possível realizar várias operações simultaneamente (cada uma em um estágio num dado momento) Estágios operam sincronamente Ciclo de operação é ditado pelo estágio mais lento 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Conceito de Pipelining (cont.) Exemplo: Operação original Op-1 Op-2 Op-3 Op-4 Op-1 Op-2 Op-3 Op-4 Op-1 Op-2 Op-3 Op-4 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Conceito de Pipelining (cont.) Execução sem pipelining: Execução com pipelining: 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Conceito de Pipelining (cont.) Observações: Tempo de uma operação é o mesmo, com ou sem pipelining Tempo de término da primeira operação é o mesmo, com ou sem pipelining Ganho começa a existir a partir da segunda operação Hipótese: todos os estágios têm a mesma duração 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Pipeline de Instruções Componentes da execução de uma instrução: IF: Instruction Fetch ID: Insruction Decode, register fetch EX: Execution MEM: Memory access WB: register Write Back IF ID EX MEM WB t 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Pipeline de Instruções (cont.) Objetivo: completar uma instrução por ciclo IF ID EX MEM WB (1) IF ID EX MEM WB (2) IF ID EX MEM WB (3) IF ID EX MEM T1 T2 T3 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Pipeline de Instruções (cont.) Problema 1: Atrasos no acesso à memória IF ID EX MEM WB (1) IF ID EX MEM WB (2) IF ID EX MEM WB 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Pipeline de Instruções (cont.) Problema 2: Dependências entre instruções (1  2) IF ID EX MEM WB (1) IF ID EX (2) IF ID EX 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Pipeline de Operações Aritméticas Componentes de uma operação de soma em ponto flutuante (mantissa&expoente): A: Comparar expoentes B: Deslocar mantissa relativa ao menor expoente C: Somar mantissas D: Normalizar resultado E: Verificar excessões (overflow, etc.) F: Arredondar resultado A B C D E F 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Pipeline de Operações Aritméticas (cont.) Ex: X+Y , X={x1,x2,...xN} , Y={y1,y2,...,yN} Execução sem pipeline: Tempo = 6 T . N Execução com pipeline: A B C D E F T x1+y1 2T x2+y2 x1+y1 3T x3+y3 x2+y2 x1+y1 4T x4+y4 x3+y3 x2+y2 x1+y1 5T x5+y5 x4+y4 x3+y3 x2+y2 x1+y1 6T x6+y6 x5+y5 x4+y4 x3+y3 x2+y2 x1+y1  1o result 7T x7+y7 x6+y6 x5+y5 x4+y4 x3+y3 x2+y2  2o result 8T x8+y8 x7+y7 x6+y6 x5+y5 x4+y4 x3+y3  3o result ... 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Introdução a Sistemas Vetoriais Sistemas Vetoriais: voltados para operações numéricas em vetores Vetor: coleção linear de valores Ex: X = { x1 , x2 , x3 , ... , xN } N  comprimento do vetor Operações Vetoriais: Realizadas elemento-a-elemento Mesma operação é repetida N vezes Caso típico para aplicação de pipelining ! 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Introdução a Sistemas Vetoriais (cont.) Características de Sistemas Vetoriais: Suporte de hardware para operações vetoriais Instrução vetorial para execução de várias operações similares sobre elementos distintos dos vetores Uso intensivo de pipelining Unidades funcionais especiais para execução das operações vetoriais Acesso à memória deve ser rápido e uniforme (mesmo tempo de acesso para todos os elementos de um vetor)  Tipicamente, não há caches nem memória virtual! 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Airam J. Preto , Celso L. Mendes Operações Vetoriais Exemplo: A = B + C A , B , C : vetores B A C Vetor de Saída Unidades Funcionais com Pipeline Vetores de Entrada 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Operações Vetoriais (cont.) Exemplo: A = s * B + C A , B , C : vetores s : escalar Código de alto-nível: real A(N), B(N), C(N), s do 10 i = 1 , N A(i) = s * B(i) + C(i) 10 continue 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Operações Vetoriais (cont.) Pseudo-código num processador convencional: carregar s para registro carregar limite do loop para registro carregar índice (inicialmente zero) Loop: incrementar índice comparar índice & limite se igual, desviar para Fim carregar B(i) para registro carregar C(i) para registro multiplicar s * B(i) somar [s * B(i) ] + C(i) salvar resultado na memória desviar para Loop Fim: terminar a execução 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Operações Vetoriais (cont.) Pseudo-código num processador vetorial: carregar s para registro escalar carregar limite do loop para registro de comprimento carregar B para registro vetorial carregar C para registro vetorial multiplicar s * B (multiplicação vetorial) somar s * B + C (adição vetorial) salvar resultado na memória (operação vetorial) Constatações: Número de instruções executadas é bem menor Número de operações aritméticas é o mesmo 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Registros Vetoriais e Escalares Registro Vetorial: Conjunto de K registros convencionais Valores típicos de K: 32, 64, 128 Ex: Cray-1  64 registros, 64 bits em cada registro Pode conter valores inteiros ou em ponto-flutuante Pode ser fonte ou destino de operações vetoriais Ex: VA  VB + VC implica VA (1)  VB (1) + VC (1) VA (2)  VB (2) + VC (2) VA (3)  VB (3) + VC (3) ... VA (K)  VB (K) + VC (K) 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Registros Vetoriais e Escalares Registro Escalar: Contém um único valor Pode haver registros separados para inteiros e para ponto-flutuante Pode ser fonte de operações vetoriais Ex: VA  S * VB implica VA (1)  S * VB (1) VA (2)  S * VB (2) VA (3)  S * VB (3) ... VA (K)  S * VB (K) 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes

Airam J. Preto , Celso L. Mendes Opções de Projeto Operandos de operações com unidades funcionais: registros vetoriais memória (não há registros vetoriais) Registros vetoriais: Quantidade e tamanho fixos Quantidade e tamanho reconfiguráveis Número de portas de leitura/escrita na memória Estrutura da memória (com ou sem interleaving) Operações especiais: Scatter, Gather, Redução 28-09-1998 INPE / CAP-315 Airam J. Preto , Celso L. Mendes