Conjunto de Instrues Multimdia para Processadores de Propsito

  • Slides: 25
Download presentation
Conjunto de Instruções Multimídia para Processadores de Propósito Geral MO 401 – Trabalho 2

Conjunto de Instruções Multimídia para Processadores de Propósito Geral MO 401 – Trabalho 2 Fábio Augusto Menocci Cappabianco RA: 991724

Índice n n n Aplicações Tipos de Processadores Motivação Instruções Principais Extensões Instruções Multimídia

Índice n n n Aplicações Tipos de Processadores Motivação Instruções Principais Extensões Instruções Multimídia

Aplicações Multimídia

Aplicações Multimídia

Tipos de processadores multimídia n Digital Signal Processor (DSP). n Processadores de propósito geral.

Tipos de processadores multimídia n Digital Signal Processor (DSP). n Processadores de propósito geral. n Processadores embarcados e de propósito específico.

Motivação para Conjunto de Instruções em Microprocessadores n Aumento da demanda de aplicações multimídia.

Motivação para Conjunto de Instruções em Microprocessadores n Aumento da demanda de aplicações multimídia. n Economia de hardware externo. n Praticidade.

Conjunto de Instruções Multimídia n Dados de 8 e 16 bits. n Processamento paralelo

Conjunto de Instruções Multimídia n Dados de 8 e 16 bits. n Processamento paralelo SIMD. n Grande fluxo de dados.

Principais Extensões Multimídia n n n n MAX-1(1994), MAX-2 (1995) da HP. VIS(1995) da

Principais Extensões Multimídia n n n n MAX-1(1994), MAX-2 (1995) da HP. VIS(1995) da Sun. MDMX(1996), MIPS-64(1996), MIPS-3 D(1999) da MIPS. MMX(1997), SSE(1999), SSE 2(2000), SSE 3(2004) da Intel. MVI(1997) DEC. Extended MMX(1997) da Cyrix. 3 DNow!(1998), Enhanced 3 DNow!(1999), 3 DNow! Professional(2000) da AMD. Alti. Vec(1999) Motorola.

MAX-1, MAX-2, MVI n Banco de registrador de inteiros. n Poucas instruções 9, 8

MAX-1, MAX-2, MVI n Banco de registrador de inteiros. n Poucas instruções 9, 8 e 13. n Mais específicos, para áudio, 3 D e vídeo

Conjunto de Instruções VIS n n n 121 instruções. Primeiro a tratar aplicações gráficas

Conjunto de Instruções VIS n n n 121 instruções. Primeiro a tratar aplicações gráficas sem hardware adicional. Foco em 3 D e MPEG. Banco de registradores de ponto flutuante. Utilizado no Ultra. SPARC – I, II e III.

Conjunto de Instruções MDMX n 29 instruções. n Não implementado. n Banco de registradores

Conjunto de Instruções MDMX n 29 instruções. n Não implementado. n Banco de registradores de ponto flutuante. n Uso de acumulador.

Conjuntos de Instruções MIPS 64, MIPS 3 D n Complementares a MXMD de 74

Conjuntos de Instruções MIPS 64, MIPS 3 D n Complementares a MXMD de 74 e 23 instruções. n Primeiro a tratar dados multimídia de ponto flutuante. n Foco em geometria 3 D. n Banco de registradores de ponto flutuante.

Conjunto de Instruções MMX n 57 instruções. n O mais popular até SSE. n

Conjunto de Instruções MMX n 57 instruções. n O mais popular até SSE. n Implementado no Pentium P 55. n Banco de registradores de ponto flutuante.

Conjunto de Instruções Extended MMX n 12 instruções. n A partir da licença MMX

Conjunto de Instruções Extended MMX n 12 instruções. n A partir da licença MMX da Intel. n Expansão das instruções para evitar destruir dados de registradores. n Banco de registradores de ponto flutuante.

Conjunto de Instruções 3 DNow! n n n 21 instruções. A partir da licença

Conjunto de Instruções 3 DNow! n n n 21 instruções. A partir da licença MMX da Intel. Expandido para tratar dados multimídia de ponto flutuante. Utilizado no K 6. Banco de registradores de ponto flutuante.

Conjunto de Instruções SSE n n n 70 instruções. Mudança em arquitetura de novos

Conjunto de Instruções SSE n n n 70 instruções. Mudança em arquitetura de novos registradores. Mudança em SO. Expandido para tratar dados multimídia de ponto flutuante. Adotado no Pentium III.

Conjunto de Instruções Alti. Vec n 162 instruções. n Primeiro com arquitetura de 128

Conjunto de Instruções Alti. Vec n 162 instruções. n Primeiro com arquitetura de 128 bits para multimídia. n Instruções de quatro operandos. n Adotado no MPC 7400 da estação Apple G 4.

Conjuntos de Instruções Enhanced 3 DNow! e 3 DNow Professional n Complementares a 3

Conjuntos de Instruções Enhanced 3 DNow! e 3 DNow Professional n Complementares a 3 DNow! de 24 e 70 instruções. n Suporte a instruções SSE. n Banco de registradores separado. n Implementados nos processadores Athlon e Athlon MP.

Conjuntos de Instruções SSE 2, SSE 3 n Complementares a SSE com 74 e

Conjuntos de Instruções SSE 2, SSE 3 n Complementares a SSE com 74 e 13 novas instruções. n Implementados nos processadores Pentium 4 e Pentium 4 Prescott. n Adição de tratamento de ponto flutuante de dupla precisão e sincronismo de threads.

Instruções Multimídia n n n Inteiras. Ponto flutuante. Polimorfas. Comparação e Controle de Fluxo.

Instruções Multimídia n n n Inteiras. Ponto flutuante. Polimorfas. Comparação e Controle de Fluxo. Memória

Instruções sobre Inteiros n n n n Conversão de tipos(pack, unpack). Saturação e resto.

Instruções sobre Inteiros n n n n Conversão de tipos(pack, unpack). Saturação e resto. Adição e subtração. Soma das diferenças absolutas. Shifts. Multiplicações. Comunicação de dados(merge, align, insert, shuffle).

Resultado de Multiplicações n Redução q n Par/Impar q n n Elementos pares ou

Resultado de Multiplicações n Redução q n Par/Impar q n n Elementos pares ou impares. Truncado q n Soma dos elementos particionados. Bits perdidos. Registrador mais “largo”. Primitivas q Divisão em sub-instruções.

Instruções sobre Ponto flutuante n Aritmética n Divisão e inverso aproximados. n Exceções tratadas

Instruções sobre Ponto flutuante n Aritmética n Divisão e inverso aproximados. n Exceções tratadas por: q q Resultado da operação, Registradores de status/controle.

Instruções Polimorfas n Independente do particionamento. n Lógicas(AND, OR, NAND, . . . )

Instruções Polimorfas n Independente do particionamento. n Lógicas(AND, OR, NAND, . . . ) n Não necessárias para conjuntos de instrução que utilizam banco de registradores inteiro.

Comparação e Controle de Fluxo n Comparação: =, <=, >, . . . n

Comparação e Controle de Fluxo n Comparação: =, <=, >, . . . n Controle de fluxo: difícil de gerar exceção. n Soluções: q q Elementos máscara – não cria dependência. Vetor de bits – um bit para cada elemento.

Instruções de Acesso à Memória n Load/Store n Não há operandos indicando endereços de

Instruções de Acesso à Memória n Load/Store n Não há operandos indicando endereços de memória. n Pontuais, seqüenciais e em intervalos.