MMX - MULTI MEDIA (MATRIX MATH?) EXTENSIONS
|
|
- Adriana Bardini Garrau
- 6 Há anos
- Visualizações:
Transcrição
1 MMX - MULTI MEDIA (MATRIX MATH?) EXTENSIONS HISTÓRICO: MODELO SIMD - SINGLE INSTRUCTION MULTIPLE DATA MODEL SURGE O PENTIUM E A SEGUIR O PENTIUM MMX PENTIUM PRO - INAUGUROU FAMÍLIA P6 - NÃO SUPORTAVA INSTRUÇÕES MMX PENTIUM II, PENTIUM II XEON E CELERON - SUPORTAVAM INSTRUÇÕES MMX PENTIUM III E PENTIUM III XEON - SUPORTAVA SSE (128 bits FP) e MMX PENTIUM IV - SUPORTA SSE2 (128 bits FP e INT), SEE e MMX PENTIUM EXTREME EDITION- SUPORTA SSE3, SSE2, SSE e MMX PENTIUM CORE MICROARCHITECTURE - SUPORTA SSE4, SSE3, SSE2, SSE e MMX INTEL CORE i7 - SUPORTA SSE4.2/4.1 SSE4, SSSE3, SSE3, SSE2, SSE e MMX INTEL CORE 2ND GENERATION - SUPORTA ADICIONALMENTE AVX, AVX2 (256 bits) SSE = STREAMING SIMD EXTENSIONS AVX = ADVANCED VECTOR EXTENSIONS Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 1 O MODELO SIMD MODELO SIMD - SINGLE INSTRUCTION MULTIPLE DATA MODEL UMA ÚNICA INSTRUÇÃO OPERA SOBRE VÁRIOS OPERANDOS SIMULTÂNEAMENTE FILOSOFIA: OP, SRC SRC1 () 1 x 64 BITS OU 2 x 32 BITS OU 4 x 16 BITS OU 8 x 8 BITS SRC2 OP OP OP OP Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 2
2 O MODELO SIMD - EXEMPLO - PADDW INSTRUÇÃO PADDW - PACKED ADD WORDS (4 x 16 BITS) CADA SOMA É INDEPENDENTE DA OUTRA - NÃO HÁ CARRY OUT ENTRE SOMAS FILOSOFIA: OP, SRC SRC1 () 1 x 64 BITS OU 2 x 32 BITS OU 4 x 16 BITS OU 8 x 8 BITS SRC OP OP OP OP Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 3 NOVIDADES DA ARQUITETURA MMX COM A ARQUITETURA MMX FORAM INTRODUZIDOS: 8 NOVOS REGISTRADORES DE 64 BITS: MM0 A MM7 3 NOVOS TIPOS DE DADOS EMPACOTADOS (PACKED): A) 64 BITS EMPACOTADOS EM 8 BYTES B) 64 BITS EMPACOTADOS EM 4 WORDS B) 64 BITS EMPACOTADOS EM 2 DWORDS INTEIROS DE 64 BITS (QWORDS) 47 NOVAS INSTRUÇÕES QUE SUPORTAM OS NOVOS TIPOS DE DADOS EXTENSÕES DA INSTRUÇÃO CPUID PARA INDICAR SUPORTE A MMX Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 4
3 ARITMÉTICA COM E SEM SATURAÇÃO COM INSTRUÇÕES MMX HÁ TRÊS POSSIBILIDADES: A) WRAPAROUND ARITHMETIC: B) SIGNED SATURATION ARITHMETIC CONVENCIONAL, COMO NOS REGISTRADORES DE USO GERAL, PORÉM SEM SETAR OS FLAGS C) UNSIGNED SATURATION ARITHMETIC EXEMPLOS: C) UNSIGNED SATURATION FOR BYTES: 0xFE + 2 = 0xFF 0x02-3 = 0x00 B) SIGNED SATURATION FOR BYTES: 0x7E + 2 = 0x7F 0x82-3 = 0x80 Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 5 REGISTRADORES MMX 79 REGISTRADORES DA FPU: R7 R6 R5 R4 R3 R2 R1 R0 63 REGISTRADORES MMX: 0 MM7 MM6 MM5 MM4 MM3 MM2 MM1 MM0 Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 6
4 TIPOS DE INSTRUÇÕES SUPORTADAS EM MMX TRANSFERÊNCIA DE DADOS: MOVD, MOVQ ARITMÉTICAS: SOMA, SUBTRAÇÃO, MULTIPLICAÇÃO, MAC (NÃO HÁ DIVIS) COMPARAÇÃO: IGUAL, MAIOR -NÃO SETA FLAGS, SETA MÁSCARA NO. EMPACOTAMENTO: WORD TO BYTE - SATURADO COM E SEM SINAL, DWORD TO WORD - SATURADO COM SINAL DESEMPACOTA PARTE ALTA E BAIXA SEPARADAMENTE. LÓGICAS: PAND, PANDN, POR, PXOR. DESLOCAMENTO: LÓGICO E ARITMÉTICO (NÃO SUPORTA DIVISÕES). INICIALIZAÇÃO: EMMS - EMPTY MMX STATE Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 7 INSTRUÇÕES DE EMPACOTAMENTO O EMPACOTAMENTO REDUZ A LARGURA EM BITS DO OPERANDOS À METADE. CASO A NOVA LARGURA SEJA INSUFICIENTE OCORRERÁ SATURAÇÃO. A) EMPACOTAMENTO DE DWORDS PARA WORDS (SOMENTE SIGNED SATURATION): DW D SRC MM / M64 DW C DW B DW A W D W C W B W A B) EMPACOTAMENTO DE WORDS PARA BYTES (SIGNED OU UNSIGNED): W H SRC MM / M64 W G W F W E W D W C W B W A B H B G B F B E B D B C B B B A Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 8
5 INSTRUÇÕES DE DSEMPACOTAMENTO O DSEMPACOTAMENTO DUPLICA A LARGURA EM BITS DOS OPERANDOS. A METADE INFERIOR É PREENCHIDA COM O DESTINO E A SUPERIOR COM A ORIGEM. PREENCHENDO-SE A ORIGEM COM ZEROS PODE-SE ESTENDER BYTES PARA WORDS, WORDS PARA DWORDS E DWORDS PARA QWORDS EXEMPLO PUNPCKLWD, SRC: W H SRC MM / M64 W G W F W E W D W C W B W A WF WB WE WA A PARTE ALTA DA ORIGEM E DESTINO É DESCARTADA. PREENCHENDO-SE SRC COM ZEROS PODE-SE ESTENDER WA E WB PARA DWORDS Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 9 MULTIPLICAÇÃO EM MMX O RESULTADO DA MULTIPLICAÇÃO OCUPA O DOBRO DA LARGURA EM BITS DOS OPERANDOS EM MMX HÁ INSTRUÇÕES QUE PRESERVAM SOMENTE A PARTE ALTA OU SOMENTE A PARTE BAIXA DO RESULTADO DA MULTIPLICAÇÃO PMULHW, SRC - PRESERVA SOMENTE PARTE ALTA PMULLW, SRC - PRESERVA SOMENTE PARTE BAIXA EXEMPLO PMULHW, SRC: D C B A SRC H G F E HIGH( D x H ) HIGH( C x G ) HIGH( B x F ) HIGH( A x E ) Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 10
6 MULTIPLY AND ACCUMULATE (MAC) INSTRUÇÕES DE MULTIPLICAÇÃO E SOMA SÃO ÚTEIS EM PROCESSAMENTO DE SINAIS. COM MMX É POSSÍVEL MULTIPLICAR 4 WORDS ENTRE SI E ACUMULAR O RESULTADO EM DUAS DWORD NO DESTINO - INTRUÇÃO PMADDWD,SRC PMADDWD, SRC: D C B A SRC H G F E C x G + D x H A x E + B x F Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 11 COMPATIBILIDADE COM A FPU - INSTRUÇÃO EMMS COMO VIMOS, MMX E A FPU UTILIZAM OS MESMOS REGISTRADORES DE HARDWARE QUALQUER INSTRUÇÃO MMX (EXCETO EMMS) SETA TODOS OS TAGS DOS 8 REGISTRADORES DA FPU COMO VÁLIDOS (TODOS OS BITS = 00) SE, APÕS A EXECUÇÃO DE UMA INSTRUÇÃO MMX, UMA OUTRA ROTINA QUISER EXECUTAR UMA INSTRUÇÃO DA FPU E TENTAR CARREGAR UM VALOR PARA UM DOS REGISTRADORES, GERARÁ UMA EXCEÇÃO DE PILHA CHEIA. POR ESSE MOTIVO DEVE-SE EXECUTAR SEMPRE A INSTRUÇÃO EMMS AO TERMINAR O USO DA UNIDADE MMX. A INSTRUÇÃO EMMS SETA TODOS OS TAGS DA FPU COMO VAZIOS (TODOS OS BITS = 11). O SALVAMENTO E RESTAURAÇÃO DE CONTEXTO DA UNIDADE MMX É FEITO COM AS MESMAS INSTRUÇÕES UTILIZADAS PARA A FPU (POIS O HW É O MESMO) - FSAVE, FRSTOR, FSTENV E FLDENV. INSTRUÇÕES MMX NÃO GERAM EXCEÇÕES NUMÉRICAS. PODEM ENTRETANTO GERAR EXCEÇÕES DE ACESSO INVÁLIDO, ETC.. Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 12
7 EXEMPLO DE APLICAÇÃO - PROCESSAMENTO DE IMAGEM IMAGEM DA GAROTA DO TEMPO EM FRENTE AO MAPA GEOGRÁFICO TEMOS DUAS IMAGENS, CONSISTINDO DE UMA SÉRIE DE VETORES COM PIXELS CADA PIXELS É REPRESENTADO POR 16 BITS VETOR X - ARMAZENA A IMAGEM DA GAROTA EM FRENTE A UM FUNDO AZUL VETOR Y - ARMAZENA A IMAGEM DO MAPA GEOGRÁFICO. OBJETIVO: GERAR A IMAGEM COMPOSTA PELOS DOIS VETORES, SUBSTITUINDO TODOS OS PIXELS AZUIS DE X PELOS CORRESPONDENTES PIXELS DO MAPA Y. SOLUÇÃO SEM MMX: cmp x[i],blue ; pixel x[i] é azul? jne next_pixel ; não, vamos processar o próximo mov x[i],y[i] ; sim, substituímos x[i] por y[i] Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 13 EXEMPLO DE APLICAÇÃO - PROCESSAMENTO DE IMAGEM SOLUÇÃO COM MMX: PODEMOS PROCESSAR 4 PIXELS POR VEZ (64 BITS) A MATRIZ AGORA É INDEXADA DE 4 EM 4 PIXELS - PROCESSAMENTO 4 x MAIS RÁPIDO SOLUÇÃO COM MMX: (1) (2) (3) (4) (5) (6) movq mm0,x[i] ; carrega 4 pixels de uma vez pcmpeqw mm0,blue ; cte BLUE contém 4 pixels azuis movq mm1,mm0 ; cópia da máscara em mm1 também pandn mm0,x[i] ; zera os azuis pand mm1,y[i] ; carrega pixes correspondentes do mapa por mm0,mm1 ; imagem sobreposta em mm0 (7) movq z[i],mm0 ; salva pixels processados Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 14
8 COMPARAÇÕES EM MMX O RESULTADO DE COMPARAÇÕES COM INSTRUÇÕES MMX É EXPRESSO POR MEIO DE UMA MÁSCARA NO OPERANDO DE DESTINO. SE O RESULTADO DA COMPARAÇÃO FOR VERDADEIRO OS BITS CORRESPONDENTES NA MÁSCARA SERÃO SETADOS, CASO CONTRÁRIO SERÃO ZERADOS. EXEMPLO PCMPEQW MM0, BLUE: (REFERENTE AO PASSO (2) MM0 PIXEL 3 (AZUL) PIXEL 2 (NÃO AZUL) PIXEL 1 (AZUL) PIXEL 0 (NÃO AZUL) M64 BLUE BLUE BLUE BLUE MM0 FFFF h (TRUE) 0000 h (FALSE) FFFF h (TRUE) 0000 h (FALSE) Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 15 OPERAÇÕES LÓGICAS EM MMX - PANDN PANDN INVERTE OS BITS NO OPERANDO DE DESTINO E EXECUTA AND COM A ORIGEM O RESULTADO É COLOCADO NO OPERANDO DE DESTINO EXEMPLO PANDN MM0, X[ i ]: (REFERENTE AO PASSO (4) MM0 FFFF h (TRUE) 0000 h (FALSE) FFFF h (TRUE) 0000 h (FALSE) X[ i ] PIXEL 3 (AZUL) PIXEL 2 (NÃO AZUL) PIXEL 1 (AZUL) PIXEL 0 (NÃO AZUL) MM h PIXEL 2 (NÃO AZUL) 0000 h PIXEL 0 (NÃO AZUL) Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 16
9 OPERAÇÕES LÓGICAS EM MMX - PAND PAND EXECUTA AND COM A ORIGEM O RESULTADO É COLOCADO NO OPERANDO DE DESTINO EXEMPLO PANDN MM1, Y[ i ]: (REFERENTE AO PASSO (5) MM1 FFFF h (TRUE) 0000 h (FALSE) FFFF h (TRUE) 0000 h (FALSE) Y[ i ] MAPA PIXEL 3 MAPA PIXEL 2 MAPA PIXEL 1 MAPA PIXEL 0 MM1 MAPA PIXEL h MAPA PIXEL h Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 17 PRINCÍPIO BÁSICO DE UM FILTRO DIGITAL N = 100; j = 2:N-1; x = 0:2*pi/(N-1):2*pi; y = sin(x); r = zeros(1,size(x,2)); r(20) = 1; r(60) = -1; yr = y + r; yf(1) = yr(1)/3 + yr(2)/3; yf(j) = yr(j-1)/3 + yr(j)/3 + yr(j+1)/3; yf(n) = yr(n-1)/3 + yr(n)/3; rf(1) = 2*yr(1)/3 - yr(2)/3; rf(j) = -yr(j-1)/3 + 2*yr(j)/3 - yr(j+1)/3; rf(n) = 2*yr(N-1)/3 - yr(n)/3; Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 18
10 REPRESENTAÇÃO DE NRS. FRACIONÁRIOS COM INTEIROS SUPONHAMOS QUE DESEJAMOS DETERMINAR O PRODUTO: SEN(45 ) x = 0,7071 x 8192 UTILIZANDO APENAS INTEIROS DE 16 BITS SOLUÇÃO A): REPRESENTAMOS 0,7071 COMO (0,7071 x ) / = / E CALCULAMOS (8.192 x 7.071) / SOLUÇÃO B): REPRESENTAMOS 0,7071 COMO (0,7071 x )/ = / E CALCULAMOS (8.192 x ) / VANTAGEM: UTILIZA TODOS OS 16 BITS DE PRECISÃO DESVANTAGEM: NÃO PERMITE REPRESENTAÇÃO DE NÚMEROS COM SINAL SOLUÇÃO C): UTILIZAMOS NOTAÇÃO COMPLEMENTO DE 2 COM 15 BITS DE MANTISSA E 1 DE SINAL REPRESENTAMOS 0,7071 COMO (0,7071 x ) / = / E CALCULAMOS (8.192 x ) / A REPRESENTAÇÃO NO FORMATO DA SOLUÇÃO C) É GERALMENTE CONHECIDA COMO FORMATO Q15, ONDE O FATOR UTILIZADO É 32768, PERMITINDO REPRESENTAR NÚMEROS FRACIONÁRIOS 1, ENTRE / E / PORTANTO: ± SEN(45 ) Q15 = ± ( = ± PARTES DE ) Junho de 2014 Arq. e Org. de Comp. - Prof. Gortan - 9. Aula - MMX 19
Cronologia. Extensões SIMD. SIMD - Single Instruction Multiple Data. Dados multimédia. Extensões SIMD. MMX - Matrix Math extensions => SIMD.
Cronologia Intel Motorola IBM MIPS INMOS DEC HP AMD NS/Cyrix Outros 8080 PDP-11 Miguel Leitão v0.8-2000, v1.1-2002, v2.0-2006, V2.1-2010 1975 1980 1985 1990 1995 2000 8085 8086 8088 80286 80386 80486 Pentium
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI3441 Arquitetura de Sistemas Embarcados - Instruções de Desvio Loop - Ponto Flutuante - Multiplicação e Divisão - Pseudo-Instruções - Processadores ARM Escola Politécnica da Universidade de São Paulo
Leia maisArquitetura de Computadores
Arquitetura de Computadores 2018.1 Relembrando... Paralelismo Relembrando... Paralelismo Paralelismo em Instrução Relembrando... Paralelismo Paralelismo em Instrução Paralelismo em Aritmética Relembrando...
Leia maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções
Leia maisArquitetura de Computadores Aula 10 - Processadores
Arquitetura de Computadores Aula 10 - Processadores Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/21 TÓPICOS ORGANIZAÇÃO COMPONENTES BÁSICOS INSTRUÇÃO DE MÁQUINA CICLO DE INSTRUÇÃO
Leia maisArquitetura de Computadores I
Arquitetura de Computadores I Aritmética Computacional - Inteiros - Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário A unidade lógico-aritmética Representação de números inteiros
Leia mais2º Estudo Dirigido CAP 3
2º Estudo Dirigido CAP 3 1. Cite três exemplos de aspecto na definição e implementação de uma arquitetura que são influenciados pelas características do conjunto de instruções? R.: Operações lógicas e
Leia maisARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES CAPÍTULO III AULA I, II e III Abril 2014 Índice Aritmética para computadores Intro Adição e subtração Multiplicação Divisão Virgula Flutuante Virgula Flutuante - aritmética
Leia maisExtensões SIMD. J. Miguel Leitão
Extensões SIMD J. Miguel Leitão Índice Introdução 4 Pré-requisitos... 4 Sumário... 4 Arquitecturas SIMD - Single Instruction Multiple Data 5 Características dos Dados Multimédia 7 MMX 8 Registos MMX 8
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Representação de Números de Ponto Flutuante Aritmética
Leia mais1. Notação em Complemento de 2
1. Notação em Complemento de 2 A notação em complemento de 2 é a forma mais comumente utilizada para representar números com sinal em computadores. Nesta notação, se o bit mais significativo (o bit mais
Leia maisperiféricos: interfaces humano-computador (HCI) arquivo de informação comunicações
Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Operadores aritméticos. Operadores lógicos. Operadores binários. Aula 7 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de
Leia maisUniversidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel
Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel Processadores 8086 Registradores: 16 bits 1978 Data bus:
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores
Leia mais2. A influência do tamanho da palavra
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 etc.) e de controle, durante a execução de
Leia maisMicroprocessadores II - ELE 1084
Microprocessadores II - ELE 1084 CAPÍTULO III PROCESSADORES P5 3.1 Gerações de Processadores 3.1 Gerações de Processadores Quinta Geração (P5) Pentium (586) 32 bits; Instruções MMX; Concorrente K5 (AMD).
Leia mais1/50. Conceitos Básicos. Programa Básico
1/50 Conceitos Básicos Programa Básico 2/50 Operações básicas de entrada e saída #include main retorna um inteiro int main() { std::cout
Leia maisConjunto de Instruções. Alisson Brito
Conjunto de Instruções Alisson Brito 1 1 O que é o Conjunto de Instruções? Instruction Set Architecture (ISA) Interface entre Programas e CPU A coleção completa de instruções reconhecidas pela CPU Programas
Leia maisMÓDULO. Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação M 02
MÓDULO M 02 Conjunto de Instruções do 8086/88 Aritméticas, lógicas, deslocamento e rotação OBJETIVOS Compreender o significado dos bits de estado no registrador de flags do 8086/88; Conhecer as representações
Leia mais2. A influência do tamanho da palavra
PROCESSAMENTO 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 etc.) e de controle, durante
Leia maisOrganização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores
Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos
Leia maisWilliam Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU
William Stallings Organização de computadores digitais Capítulo 11 Estrutura e função da CPU Encruzilhada na arquitetura de computadores 2004/2005 Antiga opinião Nova visão a energia é de graça, os transistores
Leia maisPARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Como representar números em memória? Como representar números negativos e de ponto flutuante?
Leia maisMicroprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios
Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisDisciplina: Introdução à Engenharia da Computação
Colegiado de Engenharia de Computação Disciplina: Introdução à Engenharia da Computação Aula 07 (semestre 2011.2) Prof. Rosalvo Ferreira de Oliveira Neto, M.Sc. rosalvo.oliveira@univasf.edu.br 2 Representação
Leia maisHistórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral
Processador de uso geral 1. Introdução: Um sistema digital completo é constituído de uma unidade controle e o bloco operacional. Na figura a seguir alguns elementos externos necessários para completar
Leia maisCircuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos
UNIVERSIDADE FEDERAL DE SÃO JOÃO DEL REI Circuitos Lógicos Capítulo 9 Aritmérica Digital: Operações e Circuitos Prof. Erivelton Geraldo Nepomuceno http://www.ufsj.edu.br/nepomuceno nepomuceno@ufsj.edu.br
Leia maisAritmética dos Computadores
William Stallings Arquitetura e Organização de Computadores Capítulo 4 Aritmética dos Computadores Unidade Lógica e Aritmética Faz os cálculos lógicos e aritméticos. Tudo, num sistema computador, está
Leia maisProcessador. Processador
Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador
Leia maisOrganização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016
GBC06 Arq. e Org. de Computadores I 17/10/2016 Organização de Computadores μarquitetura Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior...
Leia maisPARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n
Leia maisDisciplina: Arquitetura de Computadores
Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na
Leia maisComputadores Vetoriais
Computadores Vetoriais Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas e Fluxos de Instrução e Dados (SISD) Single Instruction
Leia maisArquitetura de Computadores. Ciclo de Busca e Execução
Arquitetura de Computadores Ciclo de Busca e Execução Ciclo de Busca e Execução Início Buscar a próxima instrução Interpretar a instrução Executar a instrução Término Funções realizadas pela UCP Funções
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI3441 Arquitetura de Sistemas Embarcados - Ponto Flutuante Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio Seabra
Leia maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
Leia maisComputadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Leia maisAula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k
Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF)
Leia maisIntrodução à Organização de Computadores. Aula 8
SEL-0415 Introdução à Organização de Computadores Set de Instruções Modelos de Arquiteturas Aula 8 Prof. Dr. Marcelo Andrade da Costa Vieira INSTRUÇÕES n Padrão de código binário armazenado em um dispositivo
Leia maisProcessadores
Processadores Definição O processador é o Circuito Integrado mais importante do computador. Ele é considerado como o cérebro do computador e funciona como uma UCP Unidade Central de Processamento. Definição
Leia mais3. Unidade Central de Processamento
3. Unidade Central de Processamento Um microprocessador é um chip responsável por buscar e executar instruções e dados existentes na memória RAM. Vai de regra as instruções são bastante simples, como por
Leia maisRepresentações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k
Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material de Fernanda Passos
Leia maisProfessor: Dr. Rogério Rodrigues de Vargas.
UNIVERSIDADE ESTADUAL DE SANTA CRUZ DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Bacharelado em Ciência da Computação Software Básico Linguagem de Programação Assembly: Uma introdução no Linux/i386 (AT&T)
Leia maisAula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético
Microprocessadores I Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético 4.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da
Leia maisNotas de Aula Guilherme Sipahi Arquitetura de Computadores
Notas de Aula Guilherme Sipahi Arquitetura de Computadores Aritmética de Ponto Flutuante. 1. Da aritmética de Inteiros a aritmética de Pontos Flutuantes : Números inteiros deixam de representar uma parte
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Linguagem de Montagem e Linguagem de Máquina Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Conceitos básicos Linguagem/código
Leia maisBinários: Operações matemáticas
Soma Subtração Multiplicação Divisão Eng. da Computação Eng. de Controle e Automação Binários: awmascarenhas@gmail.com https://sites.google.com/site/awmascarenhas Conteúdo : 1 Adição 1.1 Regras básicas
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores
Leia maisAJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:
Introdução aos Sistemas de Computação (4) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. Execução de programas num computador 4.
Leia maisENGENHARIA DE SISTEMAS MICROPROCESSADOS
ENGENHARIA DE SISTEMAS MICROPROCESSADOS PROF. PIERRE VILAR DANTAS AULA 10 01/11/2017 TURMA: 0040- A HORÁRIO: 4N PIERREDANTASBLOG.WORDPRESS.COM 1/43 Objetivos da Aula Conhecer conceitos de processadores
Leia maisARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores
Leia maisGuilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva
Guilherme Martini Gustavo Schmid de Jesus Luís Armando Bianchin Márcio José Mello da Silva Formatos Representações Especiais Arredondamentos Operações Exceções rev. 2008 2 O padrão (ANSI /IEEE Std 754-1985,
Leia maisUCP: Construindo um Caminho de Dados (Parte I)
UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres
Leia maisArquitetura de Computadores. Conjunto de Instruções
Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas
Leia maisREPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin
REPRESENTAÇÃO DE DADOS Prof. Maicon A. Sartin mapsartin@gmail.com Representação de Dados Sumário Introdução a Representação de Dados Complemento a 1 Aritmética em C1 Complemento a 2 Aritmética em C2 Aritmética
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação
Leia maisMinistério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 2. Cibele Lemos Freire Viginoski
Aula 2 Cibele Lemos Freire Viginoski Registradores R0-R7: disponíveis para todas as instruções R8-R15: disponíveis para algumas instruções R13: SP (Stack Pointer) Pilha obrigatoriamente LIFO decrescente
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 O Computador A Memória Principal A Linguagem do Computador Os Dados e
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
Leia maisOrganização de Computadores Processadores. Professor: Francisco Ary
Organização de Computadores Processadores Professor: Francisco Ary Introdução O que vimos no último encontro: O que é um computador; Arquitetura Três partes principais: Processador; Memória; e Sistema
Leia maisMinistério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski
Aula 1 Cibele Lemos Freire Viginoski ARM (Advanced RISC Machine) Arquitetura de Processadores CISC Conjunto Complexo de Instruções Microinstruções RISC Conjunto de Instruções Reduzidas Instruções devem
Leia maisSistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)
Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores) 1 - Fazendo uma comparação entre a arquitetura proposta por Von Neumann e a arquitetura de um microcomputador
Leia maisInfraestrutura de Hardware. Implementação Multiciclo de um Processador Simples
Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e
Leia maisArquiteturas de Computadores
Arquiteturas de Computadores Computadores vetoriais Fontes dos slides: Livro Patterson e Hennessy, Quantitative Approach e site do curso EE 7722, GPU Microarchitecture do Prof. David Koppelman Graphical
Leia maisIntrodução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados
Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Disciplina de Programação de Computadores I Universidade Federal de Ouro
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 18ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Cache Método de Acesso: Associativo Localização de dados na memória
Leia maisLinguagem de Montagem e Assembly. André Luiz da Costa Carvalho
Linguagem de Montagem e Assembly André Luiz da Costa Carvalho Linguagem de Montagem Todo programa para ser executado precisar ser convertido de linguagem fonte (alto nível) para um programa equivalente
Leia maissumário 1 bases numéricas 1 2 sistemas de numeração em computação introdução representação de números... 3
sumário 1 bases numéricas 1 1.1 introdução... 2 1.2 representação de números... 3 1.3 transformação entre bases... 4 1.3.1 método polinomial...4 1.3.2 método de subtrações...5 1.3.3 método das divisões...6
Leia maisOrganização de Memórias
Intel 8051 O Intel 8051 é um microcontrolador de 8 bits que pertence a família MCS-51 da Intel e foi lançado em 1977. É tido como o microcontrolador mais popular do mundo, pois é muito versátil e possui
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 19ª Aula Arquiteturas Paralelas Arquiteturas SIMD Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Um único fluxo de dados, vários fluxos de intruções Tipos de arquiteturas
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 15ª Aula Evolução Arquitetura Intel Parte 2 Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Pentium - Modelos 2 Pentium - Arquiteturas Netburst P7 Sétima geração dos
Leia maisELETRÔNICA DIGITAL I
ELETRÔNICA DIGITAL I Parte 2 Aritmética Digital Professor Dr. Michael Klug 1 Sistema Decimal: Sistema Binário: Adição Binária carry 1 472 246 718 A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S=AB C=carry 2
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária
Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também
Leia maisLinguagem de Maquina II. Visão Geral
Linguagem de Maquina II Visão Geral Revisão A linguagem de máquina é composta de seqüências binárias (1's e 0's) São interpretadas como instruções pelo hardware A linguagem de montagem e a linguagem de
Leia maisPSI3441 Arquitetura de Sistemas Embarcados
PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio
Leia maisORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira
ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável
Leia maisMAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação
Representação de dados e sistemas de numeração MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação Todo o material
Leia maisRepresentação de Dados (inteiros com sinal)
Representação de Dados (inteiros com sinal) Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Representação de Inteiros Com n bits podemos representar 2 n valores Representação de Inteiros
Leia maisOrganização de Computadores
Organização de Computadores Aula 25 Conjunto de Instruções: Características e Funções Rodrigo Hausen 10 de novembro de 2011 http://cuco.pro.br/ach2034 1/92 Apresentação 1. Bases Teóricas 2. Organização
Leia maisIntrodução à Computação
Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Leia maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 CISC RISC MIPS Organização e Arquitetura de Computadores I Sumário Representação de instruções Slide 2 CISC O CISC (Complex Instruction
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes
Leia maisOrganização de Computadores I
Organização de Computadores I Aula 6 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte6.html Organização de Computadores I Aula 6 1/17 Tópicos Representação de números não-inteiros.
Leia maisFundamentos de Programação
Fundamentos de Programação ET42G Aula 5 Prof. Daniel Cavalcanti Jeronymo Tipos básicos de dados. Modificadores de tipos. Operadores aritméticos. Operadores lógicos. Operadores binários. Universidade Tecnológica
Leia maisEvolução dos Microprocessadores
A Hugo Gonçalves Victor Rodrigues Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa 2 de Janeiro de 2012 Outline A Evolução Computacional A 1 A Evolução Computacional Os Microprocessadores
Leia maisArquitetura de Computadores. Prof. João Bosco Jr.
Arquitetura de Computadores Prof. João Bosco Jr. Unidade II Aula 1 Nível ISA Posicionado entre a microarquitetura e o SO Define a arquitetura (Conjunto de Instruções) É a interface entre o Software e o
Leia maisOrganização e Arquitetura de Computadores INTRODUÇÃO
Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Leia maisSolução Lista de Exercícios Processadores
Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação
Leia maisTodo processador é constituído de circuitos capazes de realizar algumas operações primitivas:
Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo
Leia maisArquitetura de Computadores Unidade Central de Processamento CPU
Arquitetura de Computadores Unidade Central de Processamento CPU CPU Funções realizadas pelo processador: Função controle Responsável pela busca, interpretação e controle da execução das instruções, bem
Leia maisTrabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas
Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características
Leia maisUniversidade de São Paulo
Conjunto Instruções ARM Universidade de São Paulo Sistemas Embarcados Jorge Luiz e Silva ARM versões. ARM Linguagem Assembly. ARM modelo de programação. ARM organização de memória. ARM operação com dados.
Leia mais