Estrutura do tema ISA do IA-32

Tamanho: px
Começar a partir da página:

Download "Estrutura do tema ISA do IA-32"

Transcrição

1 Análise do Instruction Set Architecture (2) Acesso a operandos no IA-32: sua localização e modos de acesso Estrutura do tema ISA do IA Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos e operações 3. Suporte a estruturas de controlo. Suporte à invocação/regresso de funções 5. Acesso e manipulação de dados estruturados 6. Análise comparativa: IA-32 (CISC) e MIPS (RISC) Localização de operandos no IA-32 valores de constantes (ou valores imediatos) incluídos na instrução, i.e., no Reg. Instrução (IR) variáveis escalares sempre que possível, em registos (inteiros/apont) / fp ; se não... na memória (inclui stack) variáveis estruturadas sempre na memória, em células contíguas Modos de acesso a operandos no IA-32 em instruções de transferência de informação instrução mais comum: movx, sendo x o tamanho (b, w, l) algumas instruções atualizam apontadores (por ex.: push, pop) em operações aritméticas/lógicas AJProença, Sistemas de Computação, UMinho, 2015/16 1 AJProença, Sistemas de Computação, UMinho, 2015/16 2 Análise de uma instrução de transferência de informação Análise da localização dos operandos na instrução movl Transferência simples movl Source,Dest move um valor de bytes ( long ) instrução mais comum em código IA-32 Tipos de operandos imediato: valor constante do tipo inteiro como a constante em C, mas com prefixo $ ex.: $0x00, $-533 codificado com 1, 2, ou bytes em registo: um de registos inteiros mas e estão reservados e outros poderão ser usados implicitamente em memória: bytes consecutivos de memória vários modos de especificar o endereço movl Fonte! Imm! Destino! movl $0x, movl $-17,() movl, movl,() movl (), Equivalente em C! temp = 0x; *p = -17; temp2 = temp1; *p = temp; temp = *p; não é possível no IA32 efetuar transferências memória-memória com uma só instrução AJProença, Sistemas de Computação, UMinho, 2015/16 3 AJProença, Sistemas de Computação, UMinho, 2015/16

2 Modos de endereçamento à memória no IA-32 (1) de endereçamento à memória no IA-32 (1) Indirecto (normal) (R) Mem[Reg[R]] conteúdo do registo R especifica o endereço de memória movl (), Deslocamento D(R) Mem[Reg[R]+D] conteúdo do registo R especifica início da região de memória deslocamento c te D especifica distância do início (em bytes) movl -(), void swap(int *, int *) { int t0 = *; int t1 = *; * = t1; * = t0; } swap: pushl movl, pushl movl (), movl (), movl (), movl (), movl,() movl,() movl -(), movl, popl ret Arranque! Corpo! Término! AJProença, Sistemas de Computação, UMinho, 2015/16 5 AJProença, Sistemas de Computação, UMinho, 2015/16 6 de endereçamento à memória no IA-32 (2) de endereçamento à memória no IA-32 (3) void swap(int *, int *) { int t0 = *; int t1 = *; * = t1; * = t0; }!Registo!Variável! t1 t0-0 Stack! Corpo movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx!! cada caixa representa células de mem Corpo 0x10 movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx - 0x10 0x10 0x11 0x11 AJProença, Sistemas de Computação, UMinho, 2015/16 7 AJProença, Sistemas de Computação, UMinho, 2015/16

3 de endereçamento à memória no IA-32 () de endereçamento à memória no IA-32 (5) Corpo 0x10 movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx - 0x10 0x10 0x11 0x11 Corpo 0x10 movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx - 0x10 0x10 0x11 0x11 AJProença, Sistemas de Computação, UMinho, 2015/16 9 AJProença, Sistemas de Computação, UMinho, 2015/16 10 de endereçamento à memória no IA-32 (6) de endereçamento à memória no IA-32 (7) Corpo 0x10 movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx - 0x10 0x10 0x11 0x11 Corpo 0x10 movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx - 0x10 0x10 0x11 0x11 AJProença, Sistemas de Computação, UMinho, 2015/16 11 AJProença, Sistemas de Computação, UMinho, 2015/16

4 de endereçamento à memória no IA-32 () de endereçamento à memória no IA-32 (9) Corpo 0x10 movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx - 0x10 0x10 0x11 0x11 Corpo 0x10 movl (), # ecx = movl (), # edx = movl (), # eax = * (t1) movl (), # ebx = * (t0) movl,() # * = eax movl,() # * = ebx - 0x10 0x10 0x11 0x11 AJProença, Sistemas de Computação, UMinho, 2015/16 13 AJProença, Sistemas de Computação, UMinho, 2015/16 1 Modos de endereçamento à memória no IA-32 (2) Exemplo de instrução do IA-32 apenas para cálculo do apontador para um operando (1) Indirecto (R) Mem[ Reg[R] ]... Deslocamento D(R) Mem[ Reg[R] + D ]... Indexado D(Rb,Ri,S) Mem[Reg[Rb]+S*Reg[Ri]+D] D: Deslocamento constante de 1, 2, ou bytes Rb: Registo base: quaisquer dos Reg Int Ri: Registo indexação: qualquer, exceto S: Scale: 1, 2,, ou Casos particulares: (Rb,Ri) Mem[ Reg[Rb] + Reg[Ri] ] D(Rb,Ri) Mem[ Reg[Rb] + Reg[Ri] + D ] (Rb,Ri,S) Mem[ Reg[Rb] + S*Reg[Ri] ] AJProença, Sistemas de Computação, UMinho, 2015/16 15 leal Src,Dest Src contém a eressão para cálculo do endereço Dest vai receber o resultado do cálculo da eressão nota: lea => load effective address Tipos de utilização desta instrução: cálculo de um endereço de memória (sem aceder à memória) Ex.: tradução de p = &x[i]; cálculo de eressões aritméticas do tipo a = x + k*y para k = 1, 2,, ou Exemplos... AJProença, Sistemas de Computação, UMinho, 2015/16 16

5 Exemplo de instrução do IA-32 apenas para cálculo do apontador para um operando (2) Instruções de transferência de informação no IA-32 leal Source, 0xf000 movx S,D DßS Move (byte, word, long-word) movsbl S,D DßSignExtend(S) Move Sign-Extended Byte movzbl S,D DßZeroExtend(S) Move Zero-Extended Byte Source Eressão -> 0x() 0xf x 0xf00 (,) 0xf xf100 (,,) 0xf000 + * 0xf00 0x0(,,2) 2*0xf x0 0x1e00 push S ß - ; Mem[] ß S Push pop D DßMem[]; ß+ Pop lea S,D Dß &S Load Effective Address D destino [Reg Mem] S fonte [Imm Reg Mem] D e S não podem ser ambos operandos em memória no IA-32 AJProença, Sistemas de Computação, UMinho, 2015/16 17 AJProença, Sistemas de Computação, UMinho, 2015/16 1 Operações aritméticas e lógicas no IA-32 inc D Dß D +1 Increment dec D Dß D 1 Decrement neg D Dß -D Negate not D Dß D Complement add S, D Dß D + S Add sub S, D Dß D S Subtract imul S, D Dß D * S 32 bit Multiply and S, D Dß D & S And or S, D Dß D S Or xor S, D Dß D ˆ S Exclusive-Or shl k, D Dß D << k Left Shift sar k, D Dß D >> k Arithmetic Right Shift shr k, D Dß D >> k Logical Right Shift AJProença, Sistemas de Computação, UMinho, 2015/16 19

Estrutura do tema ISA do IA-32

Estrutura do tema ISA do IA-32 Análise do Instruction Set Architecture (2) Acesso a operandos no IA-32: sua localização e modos de acesso Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos

Leia mais

Lic. Ciências da Computação

Lic. Ciências da Computação Arquitectura de Computadores Análise do Instruction Set Architecture (1) Lic. Ciências da Computação 1º ano 2007/08 A.J.Proença Tema Estrutura do tema ISA do IA32 1. Desenvolvimento de programas no IA32

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1. Componentes (físicos) a analisar: a unidade de processamento / o processador:

AJProenç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 mais

Lic. Eng.ª Informática

Lic. Eng.ª Informática Arquitectura de Computadores Análise do Instruction Set Architecture (1) Lic. Eng.ª Informática 1º ano 2009/10 A.J.Proença Tema ISA do IA-32 Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas

Leia mais

Estrutura do tema ISC

Estrutura do tema ISC Introdução aos Sistemas de Computação(4) 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. Execução

Leia mais

Estrutura de uma função ( / procedimento )

Estrutura de uma função ( / procedimento ) Análise do Instruction Set Architecture (4) Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos e operações 3. Suporte a estruturas de controlo 4. Suporte

Leia mais

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador.

A arquitectura IA32. A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número de registos visíveis Número de operandos Endereçamento

Leia mais

Estrutura do tema ISA do IA-32

Estrutura do tema ISA do IA-32 Análise do Instruction Set Architecture (5) x86-64: 64-bit extension to Intel 64: Intel implementation of x86-64 Estrutura do tema ISA do 1. Desenvolvimento de programas no em Linux 2. Acesso a operandos

Leia mais

Estruturas de controlo do C if-else statement

Estruturas de controlo do C if-else statement Análise do Instruction Set Architecture (3) Alteração do fluxo de execução de instruções Estrutura do tema ISA do IA-32 1. Desenvolvimento de programas no IA-32 em Linux 2. Acesso a operandos e operações

Leia mais

Introdução ao Assembly

Introdução ao Assembly Introdução ao Assembly Movimentação de Dados Operações Aritméticas e Lógicas Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Representação de Programas O compilador gera o código

Leia mais

Programando em Assembly

Programando em Assembly Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)

Leia mais

Programação ao nível da máquina. Operações lógicas e aritméticas

Programação ao nível da máquina. Operações lógicas e aritméticas Programação ao nível da máquina Operações lógicas e aritméticas Operações lógicas e aritméticas Operações: aritméticas: add, sub, inc, dec, cmp lógicas: and, or, xor, not Realizadas pela ALU (Arithmetic

Leia mais

Professor: Dr. Rogério Rodrigues de Vargas.

Professor: 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 mais

Conjunto de Instruções (ISA) I

Conjunto de Instruções (ISA) I Conjunto de Instruções (ISA) I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-16 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

Assembly IA32 Procedimentos

Assembly IA32 Procedimentos 1 Procedimentos Assembly IA32 Procedimentos Uma chamada a um procedimento implica a transferência de dados (na forma de parâmetros do procedimento e na forma de valores retornados pelo procedimento) e

Leia mais

Arquitetura de Um Processador I

Arquitetura de Um Processador I Arquitetura de Um Processador I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-08 José Costa (DEI/IST) Arquitetura de

Leia mais

Organização de Computadores

Organizaçã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 mais

Ordem de Bytes: Big Endian e Little Endian

Ordem de Bytes: Big Endian e Little Endian Ordem de Bytes: Big Endian e Little Endian Dependendo da máquina que se usa, tem de se considerar a ordem pela qual os números constituídos por múltiplos bytes estão armazenados. As ordem são duas: big

Leia mais

Neander - características

Neander - características NEANDER x RAMSES (Ou porque da necessidade de upgrade :-) Texto original: ftp://ftp.inf.ufrgs.br/pub/inf108/ramses-instrucoes.ppt Neander - características Largura de dados e endereços de 8 bits Dados

Leia mais

Assembly do IA-32 em ambiente Linux

Assembly do IA-32 em ambiente Linux MIEI: Sistemas de Computação 2015/16 Assembly do IA-32 em ambiente Linux Trabalho para Casa: TPC6 Alberto José Proença Objectivo A lista de exercícios propostos em TPC6 para resolução antes e durante a

Leia mais

Sistemas de Computação. Instruções de Linguagem de Máquina

Sistemas de Computação. Instruções de Linguagem de Máquina Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de

Leia mais

Assembly do IA-32 em ambiente Linux

Assembly do IA-32 em ambiente Linux Sistemas de Computação 2010/11 Assembly do IA-32 em ambiente Linux Trabalho para Casa: TPC5 Alberto José Proença Objectivo A lista de exercícios propostos em TPC5 para resolução antes e durante a próxima

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta / Paulo Lopes Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de

Leia mais

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo

Nível da Arquitetura do Conjunto de Instruções. Ronaldo de Freitas Zampolo Nível da Arquitetura do Conjunto de Instruções Ronaldo de Freitas Zampolo Tópicos Introdução Visão geral do nível ISA Tipos de dados Formatos de instruções Endereçamento Tipos de instruções Fluxo de controle

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção

O estudo da arquitectura de computadores efectua-se com recurso à Abstracção ARQUITECTURA DE COMPUTADORES O estudo da arquitectura de computadores efectua-se com recurso à Abstracção Podemos ver um computador de várias formas. Para um utilizador normalmente o computador é a aplicação

Leia mais

TEÓRICA. lb $t0, 1($t1)

TEÓRICA. lb $t0, 1($t1) T1: T2: T3: T4: T5: T6: T7: T: P: TEÓRICA As questões devem ser respondidas na própria folha do enunciado. As questões 1 a 4 são de escolha múltipla, e apenas uma das respostas está correcta, valendo 1

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

Leia mais

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados CPU CPU Unidade Central de Processamento Função: leitura, escrita e processamento de dados Constituída por: dispositivos que gerem a entrada (leitura) e saída (escrita) de dados; registos (memórias auxiliares)

Leia mais

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining Arquitecturas Alternativas Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining X86-64 Qual é o ISA que temos nas máquinas Intel actuais? O x86-64 que é uma extensão para

Leia mais

Instruções funcionamento em 16 bits. 8B bytes W Mod 000 r/m

Instruções funcionamento em 16 bits. 8B bytes W Mod 000 r/m Instruções funcionamento em 6 bits 0 a bytes Mov BYTE PTR [BX], 06h 00 0W Mod 000 r/m 0000 00 0 0 0 8A 07 06 3 bytes 00 8B 07 06 00 4 bytes 00 0W Mod 000 r/m 000 00 0000 0000 Mov WORD PTR [BX], 06h Instruções

Leia mais

AJProença, Sistemas de Computação, UMinho, 2017/18 1

AJProença, Sistemas de Computação, UMinho, 2017/18 1 Introdução aos Sistemas de Computação (3) 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 mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Geração do Código Objecto (10.7 e 10.8) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior

Leia mais

Intel x AT&T - recapitulação

Intel x AT&T - recapitulação ASSEMBLY aula 2 Intel x AT&T - recapitulação mov mov int mov mov mov mov add lea sub Intel Code eax,1 ebx,0ffh 80h ebx, eax eax,[ecx] eax,[ebx&plus;3] eax,[ebx+20h] eax,[ebx+ecx*2h] eax,[ebx+ecx] eax,[ebx+ecx*4h-20h]

Leia mais

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira

Data types. In C: char. short. int/long. double/long long AC 2017/2018. Pedro Serra / Sérgio Ferreira x86 Data types In C: char short int/long double/long long 2 O stack O stack cresce em direção a endereços de memória menores Instruções fundamentais: push, pop 0xFF90 0xA331 0xFF8E 0xFF8C 0xFF8A 0x4712

Leia mais

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007

Assembly Sintaxe do Assembly. Instruções que afectam Flags. Aplicações de Microprocessadores 2006/2007 Assembly 8051 Aplicações de Microprocessadores 2006/2007 Sintaxe do Assembly [Label] Op-code [Operando] [Comentário] tabela: movc a,@a+dptr ; vai à tabela buscar o seu correspondente ASCII 2 2 Instruções

Leia mais

Curso: LMCC Exame 1ª Chamada 14/Jun/06 Disciplina: Arquitectura de Computadores Duração: 2h30m

Curso: LMCC Exame 1ª Chamada 14/Jun/06 Disciplina: Arquitectura de Computadores Duração: 2h30m MCC Arquitectura de Computadores 2005/2006 Curso: LMCC Exame 1ª Chamada 14/Jun/06 Disciplina: Arquitectura de Computadores Duração: 2h30m Nota: Apresente sempre o raciocínio ou os cálculos que efectuar;

Leia mais

PARTE 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 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 mais

Estrutura do tema Avaliação de Desempenho (IA-32)

Estrutura do tema Avaliação de Desempenho (IA-32) Avaliação de Desempenho no IA-32 (4) Estrutura do tema Avaliação de Desempenho (IA-32) 1. A avaliação de sistemas de computação 2. Técnicas de otimização de código (IM) 3. Técnicas de otimização de hardware

Leia mais

Mestrado em Informática. Curso de Especialização em Informática. Optimização do desempenho (no CPU) com introdução de paralelismo

Mestrado em Informática. Curso de Especialização em Informática. Optimização do desempenho (no CPU) com introdução de paralelismo Arquitectura de Computadores Análise do desempenho em Sistemas de Computação: oportunidades para optimizar na arquitectura Mestrado em Informática & Curso de Especialização em Informática 2003/04 A.J.Proença

Leia mais

ARQUITETURA 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 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 mais

Nível Máquina Formatos de Instruções

Nível Máquina Formatos de Instruções Nível Máquina Formatos de Instruções IA32 e MIPS AC1 11ª aula Formatos de Instruções 1 Stored Program Concept As instruções são números, armazenados em memória, que são descodificados pela Unidade de Controlo

Leia mais

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade

EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade EXEMPLO DE ARQUITETURAS REAIS INTEL 8086 AULA 07 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização de Computadores

Leia mais

Execução detalhada de instruções

Execução detalhada de instruções MIEI Sistemas de Computação 2015/16 Execução detalhada de instruções TPC4 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 25 Conjunto de Instruções: Modos de Endereçamento e Formatos Rodrigo Hausen 11 de novembro de 2011 http://cuco.pro.br/ach2034 1/26 Apresentação 1. Bases Teóricas 2. Organização

Leia mais

ARQUITETURA 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 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 mais

ARQUITETURA 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 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 mais

Pilha de execução Volnys Borges Bernal Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP

Pilha de execução Volnys Borges Bernal Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP 2005-2015 Volnys Bernal 1 Pilha de execução Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos (PSI) Escola Politécnica da USP 2005-2015 Volnys Bernal 2 Agenda Os desafios da execução

Leia mais

Conjunto de Instruções (ISA) II

Conjunto de Instruções (ISA) II Conjunto de Instruções (ISA) II José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-10-18 José Costa (DEI/IST) Conjunto de Instruções

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 Arquitetura de Computadores SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Leia mais

Arquitetura de Computadores Trabalhos Práticos

Arquitetura de Computadores Trabalhos Práticos Arquitetura de Computadores Trabalhos Práticos Trabalhos Práticos 1. Bloco de memória em Verilog 2. Y86 1 instrução 5 ciclos 3. Y86 pipeline 4. Y86 dual core com cache 5. Trabalho no CUDA 3 pontos 7 pontos

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Sistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009.

Sistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009. Sistemas de Computação Oitava Aula Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/12 Seção 1 Endereçamento de Memória

Leia mais

Linguagem de Montagem e Assembly. André Luiz da Costa Carvalho

Linguagem 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 mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2) Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Fluxo de Controle Vimos até agora: beq, bne Uma nova instrução: slt $t0, $s1, $s2 if $s1 < $s2 then $t0 = 1 else $t0 = 0

Leia mais

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Datapath do MIPS MIPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas

Leia mais

Execução detalhada de instruções

Execução detalhada de instruções LEI Sistemas de Computação 2014/15 Execução detalhada de instruções TPC3 + Guião Teatral Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------

Leia mais

Programação ao nível da máquina

Programação ao nível da máquina Programação ao nível da máquina Ponto de vista do programador O nível Assembly Modelo de programação Assembler (processo de compilação da linguagem C) Que assembly para AC? Introdução ao assembly NASM

Leia mais

Linguagem de Montagem Assembly

Linguagem de Montagem Assembly Linguagem de Montagem Assembly Especificações O programa em Assembly Fica sobre a camada do Sistema Operacional Efetua chamadas ao Sistema Operacional O montador Chama-se Assembler Traduz a linguagem de

Leia mais

Arquitectura de Computadores Y86 Instruções

Arquitectura de Computadores Y86 Instruções Arquitectura de Computadores Y86 Instruções Créditos Randal E. Bryant http://csapp.cs.cmu.edu António Pina e Luís Paulo Santos DI/UM Arquitectura do Jogo de Instruções Linguagem de montagem Estado do processador

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor

Leia mais

CONJUNTO DE INSTRUÇÕES

CONJUNTO DE INSTRUÇÕES CONJUNTO DE INSTRUÇÕES Rn - Registrador R0 R7 do banco de registradores selecionado. direto - 8-bits de endereço da posição da RAM de dados Podem ser referentes tanto à RAM interna (0 7F) como ao espaço

Leia mais

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação Arquitetura de Computadores I Organização Básica do Computador Gabriel P. Silva Ementa Unidade 2: Organização Lógica e Funcional

Leia mais

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Programação de Microprocessadores. Programação de Microprocessadores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Programação de Microprocessadores Microprocessadores são Máquinas de Estado Seqüenciais Síncronas que operam mediante a execução de uma seqüência de códigos binários

Leia mais

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS -

Microprocessadores I ELE Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - Microprocessadores I ELE 1078 Conjunto de Instruções do Microprocessador 8085 Aula 9 - PILHA E SUBROTINAS - 9.1 - Grupos de Instruções As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Nível da Arquitetura do Conjunto das Instruções (Aula 11) Visão Geral do Nível ISA Antes de deixarmos o hardware (1) 8 2 Antes de deixarmos o hardware (2) 3 ISA (Instruction Set Architecture) Arquitetura

Leia mais

Fundamentos de Programação

Fundamentos 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 mais

Optimização do desempenho (no h/w)

Optimização do desempenho (no h/w) Avaliação de Desempenho no IA3 (3) Análise do desempenho em Sistemas de Computação: oportunidades para optimizar na arquitectura Estrutura do tema Avaliação de Desempenho (IA3). A avaliação de sistemas

Leia mais

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture

Leia mais

MIPS ISA (Instruction Set Architecture)

MIPS ISA (Instruction Set Architecture) MIPS ISA (Instruction Set Architecture) MIcroprocessor without Interlocking Pipeline Stages MIPS Processador RISC de 32 bits Referência dos Processadores RISC Mais de 100 Milhões de processadores vendidos

Leia mais

Arquitetura e Organização de Computadores

Arquitetura 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 mais

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin

Nível do Conjunto de Instruções Prof. Edson Pedro Ferlin 1 Definições Nível ISA (Instruction Set Architecture). Está posicionado entre o nível da microarquitetura e o nível do sistema operacional. É a interface entre o software e o hardware. Nesse nível está

Leia mais

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE

As 5 partes fundamentais. Linguagem de Programação Pinagem Características Elétricas Ambiente de Desenvolvimento Integrado - IDE SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Como conhecer/estudar um Microprocessador/Microcontrolador As 5 partes fundamentais Programação de Microprocessadores Prof: Evandro L. L. Rodrigues Arquitetura

Leia mais

Computadores e Programação (MAB-353) Primeira Prova -Prof. Paulo Aguiar (DCC/UFRJ) 19/05/ pontos

Computadores e Programação (MAB-353) Primeira Prova -Prof. Paulo Aguiar (DCC/UFRJ) 19/05/ pontos Computadores e Programação (MAB-353) Primeira Prova -Prof. Paulo Aguiar (DCC/UFRJ) 19/05/2015-100 pontos Nome: GABARITO (revisado) Questão 1 (20 pontos) Preencha os pontilhados do código C com variável

Leia mais

Arquitetura de Computadores. Ciclo de Busca e Execução

Arquitetura 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 mais

Arquitectura e Organização de Computadores

Arquitectura e Organização de Computadores Arquitectura e Organização de Computadores (micro-arquitectura) atributos visíveis ao programador: I.S.A. tamanho da palavra (bits) registos Componentes que realizam a arquitectura: organização do CPU

Leia mais

2. A influência do tamanho da palavra

2. 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 mais

Estrutura do tema ISC

Estrutura do tema ISC Introdução aos Sistemas de Computação (3) num computador (1) Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3. num computador 4. O

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Ministério da Educação e Ciência U.C. 2 Arquitectura de Computadores 26 de julho de 2013 INSTRUÇÕES O tempo de duração da prova de exame é de 2 horas, acrescida de 30 minutos de tolerância. O estudante

Leia mais

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

Arquitetura e Organização de Computadores

Arquitetura 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 mais

MICROPROCESSADORES 2º TESTE - A

MICROPROCESSADORES 2º TESTE - A MICROPROCESSADORES 2º TESTE - A Ano Lectivo: 2005/2006 Data: 8 de Maio de 2006 Ano Curricular: 1º Ano 2º Semestre Duração: 2h00 INFORMAÇÕES GERAIS 1. Identifique todas as folhas do enunciado com nome e

Leia mais

Organização ou MicroArquitectura

Organização ou MicroArquitectura Organização ou MicroArquitectura DataPath MIPS32 AC Micro-Arquitectura: DataPath do MIPS Datapath e Controlpath Datapath circuito percorrido pelas instruções, endereços e ados IP Inst. Mem. Register File

Leia mais

Família 8051 (introdução) 2011/1

Família 8051 (introdução) 2011/1 Família 8051 (introdução) 2011/1 Refresh Microprocessador vs. microcontrolador. Periféricos built-in. Single-chip computer 2 Objetivos Histórico Modelos da família original Principais características Diagrama

Leia mais

Arquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções

Arquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções Arquiteturas de Computadores Princípios e exemplos de conjuntos de instruções Características das aplicações Computação de desktop Ênfase em desempenho de programas com tipos de dados inteiros e ponto-flutuante

Leia mais

Universidade de São Paulo

Universidade 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

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃ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 mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Tópicos Avançados de Arquitectura de Computadores (15) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto

Leia mais

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO

LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO LISTA 02 CONJUNTO DE INSTRUÇÕES - GABARITO 1) Identifique na instrução em linguagem de máquina armazenada na memória, os elementos da instrução 2) Na figura acima, qual a quantidade de código de operações

Leia mais

Procedimentos Chamada de Funções e Parâmetros

Procedimentos Chamada de Funções e Parâmetros Procedimentos Chamada de Funções e Parâmetros Noemi Rodriguez Ana Lúcia de Moura http://www.inf.puc-rio.br/~inf1018 Memória Durante a execução de um programa, o SO precisa alocar memória principal para:

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Exemplos de Microprogramação (12.3); Família Intel x86 José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto

Leia mais

Infraestrutura de Hardware. Instruindo um Computador

Infraestrutura de Hardware. Instruindo um Computador Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath

Leia mais

Conjunto de Instruções. Alisson Brito

Conjunto 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 mais

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados Capítulo 2: Manipulação de Dados Ciência da Computação: Uma visão abrangente 11a Edition Autor J. Glenn Brookshear Editora Bookman Copyright 2012 Pearson Education, Inc. Capítulo 2: Manipulação de dados

Leia mais