Modos de endereçamento Considere uma linguagem Assembly fictícia na qual o primeiro operando será sempre o registrador destino. Vamos analisar o endereçamento.

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Aula 4 – Sumário Linguagem assembly do MAC-1 A pilha
Sistemas Embarcados Microcontroladores PIC
Arquitetura dos Microprocessadores 8086 e 8088
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Professor: Erivelto Tschoeke – UDESC/CEPLAN
O MICROPROCESSADOR INTEL 8080
Autor: Fernando de Mesentier Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
Funcionamento básico de um computador
Linguagem de Montagem.
Representação de Instruções
(Ou porque da necessidade de upgrade :-)
Prática de Programação Assembly 8086
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda Modos de Endereçamento.
Arquitetura de Computadores
8088 Assembly Software Básico Mitsuo Takaki.
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
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
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
O Stack e Subrotinas Permitem reusar o código Escreva e depure o código uma vez, use-o quantas vezes for preciso Uma Subrotina deve ser chamada Uma Subrotina.
Modos de Endereçamento da família MC8051
Funções Financeiras Parte 2. TAXA INTERNA DE RETORNO (TIR)  A Taxa Interna de Retorno (TIR) é outra medida de investimento, porém, diferentemente do.
EA869 Interrupção Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
1 Circuitos Sequenciais: Registradores Disciplina: Circuitos Digitais Aula 20 Lucas Santos Pereira.
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
UNIVERSIDADE FEDERAL DE MINAS GERAIS Pilhas e Filas Cristiano Arbex Valle Vinicius Fernandes dos Santos
Somadores e Multiplicadores
Guia de Referência para Fornecedores Visão Fornecedor.
Philippe Barbosa Silva Disciplina: Prática Científica.
EA869 Subrotinas Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
EA869 Modos de Endereçamento Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
Projeto Integrado 7º. Semestre π7π Objetivo geral do PI7 Construção de um mecanismo paralelo com acionamento por motor CC, com controle realizado.
Professor: Gerson Leiria Nunes.  Análise dos sistemas discretos  Sistemas recursivos.
1 Bibliografia 1. WIRTH, Niklaus. Algoritmos e estruturas de dados. 2. TENEMBAUM, Aaron. Estruturas de Dados usando C. 3. MORAES, Celso. Estruturas de.
C suporta algumas Constantes de caráteres especiais de barra invertida (backslash) que são usados em funções de saída. Constantes de caráteres especiais.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :19 1 Respostas: 1. O que é um Sistema Gerenciador de Banco de Dados.
1.5 - Efeito Substituição e Efeito Renda
Prontuário do Paciente Prontuário O prontuário é um documento elaborado pelo profissional e é uma ferramenta fundamental para seu trabalho. Nele constam,
TRABALHO AVALIATIVO ALUNO: FRANCISCO HELIÉSUS DE MEDEIROS MATÉRIA: ORGANIZAÇÃO DE COMPUTADORES.
Lógica de Programação Curso Técnico em Informática – Escola Olímpio Professor Marcelo Josué Telles
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
MOVIMENTO RETILÍNEO Prof. Bruno Farias
3. SELEÇÃO DE PRESTADOR DE SERVIÇOS LOGÍSTICOS 3
SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS PROF. HORACIO RIBEIRO Sistemas operacionais.
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
Fundamentos de ENGENHARIA GENÉTICA.
Estruturas Lineares de Dados Revisão Wolley W. Silva.
IV JUNIC IV SEMINÁRIO DE PESQUISA 2009 Programa Institucional de Bolsa de Iniciação Científica –PMUC Acadêmico Natalia Paris Rodrigues Comunicação Social.
“Armazenar dados e programas que serão utilizados pelo processador (CPU – Unidade Central de Processamento) ”
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
 Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer  Localidade Temporal  Um item referenciado.
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Listas.
Revisão de Conceitos Thiago Medeiros Barros. Algoritmos Qualquer problema de computação pode ser resolvido executando uma série de ações em uma ordem.
UNIVERSIDADE FEDERAL DE MINAS GERAIS Listas Lineares Cristiano Arbex Valle Vinicius Fernandes dos Santos
Arquitetura ARM Registradores e Endereçamento.
MOVIMENTO EM DUAS E TRÊS DIMENSÕES
EA869 Montadores Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato.
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Fatores de Avaliação Know-how : É a soma total de quaisquer habilidades, conhecimentos e experiências requeridas por um cargo, de maneira a propiciar um.
24 DE SETEMBRO DE 2016 A história precisa continuar Por dois anos, permaneceu Paulo na sua própria casa, que alugara, onde recebia todos que o procuravam,
RISC vs. CISC Introdução
Transcrição da apresentação:

Modos de endereçamento Considere uma linguagem Assembly fictícia na qual o primeiro operando será sempre o registrador destino. Vamos analisar o endereçamento do segundo operando. MOV R2, 1 R2 ← ‘1’ Onde está o dado? (EE?) EE = (PC) ENDEREÇAMENTO IMEDIATO Neste tipo de endereçamento, o operando, uma constante ou literal, é especificado diretamente no campo de endereço-base da instrução. Assim, o operando faz parte da instrução. O endereço efetivo é o conteúdo do próprio registrador PC. # Na própria instrução Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = (PC) IMED. DADO

ENDEREÇAMENTO ABSOLUTO DIRETO O endereço efetivo é o endereço referenciado no campo de endereço do operando. MOV R2, 1 R2 ← (1) Onde está o dado? (EE?) EE = posição de memória 1 Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = end AD end Modos de endereçamento

ENDEREÇAMENTO ABSOLUTO INDIRETO O endereço efetivo está contido na posição de memória cujo endereço é referenciado no campo do operando. ( ) MOV R2, 1 R2 ← ((1)) Onde está o dado? (EE?) EE = (posição de memória 1) Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = (end) AID end Modos de endereçamento

ENDEREÇAMENTO POR REGISTRADOR DIRETO O endereço efetivo é o próprio registrador referenciado no campo de endereço da instrução; o registrador contém o próprio operando. R MOV R2, 1 R2 ← (R1) Onde está o dado? (EE?) EE = Registrador R1 Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = Registrador i ERD Regis. i Modos de endereçamento

ENDEREÇAMENTO POR REGISTRADOR INDIRETO O endereço efetivo está contido no registrador referenciado no campo de endereço do operando. R MOV R2, 1 R2 ← ((R1)) Onde está o dado? (EE?) EE = (Registrador R1) Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = (Registrador i) ERID Regis. i ( ) Modos de endereçamento

MOV R2, +8(PC) ENDEREÇAMENTO RELATIVO O endereço efetivo é calculado pela adição do conteúdo do registrador PC com um deslocamento contido no campo de endereço da instrução. R2 ← ((PC) + 8) Onde está o dado? (EE?) EE = (PC) + 8 Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = (PC) + desloc. ER desloc Modos de endereçamento

MOV (R2)+, R3 ENDEREÇAMENTO AUTO-INCREMENTO O endereço efetivo é incrementado durante o ciclo de acesso. No auto-incremento, após calculado o endereço efetivo, seu conteúdo é incrementado. (R2) ← (R3) R2 ← (R2) + 1 Onde está o dado? (EE?) EE = (Registrador R2) Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = (Regist. i)EAI Regist. i Modos de endereçamento

MOV -(R2), R3 ENDEREÇAMENTO AUTO-DECREMENTO Antes de se determinar o endereço efetivo, o conteúdo do registrador é decrementado. R2 ← (R2) – 1 (R2) ← (R3) Onde está o dado? (EE?) EE = (Registrador R2) - 1 Exemplo: C.O.... INSTRUÇÃO MODO END-bEE = (Regist. i) - 1 EAD Regist. i Modos de endereçamento

MOV R2, RIX(100) ENDEREÇAMENTO INDEXADO DIRETO No modo indexado direto o conteúdo do registrador RIX é somado ao endereço-base para determinação do endereço efetivo. R2 ← (100 + (RIX)) Onde está o dado? (EE?) EE = (RIX) Exemplo: C.O.... INSTRUÇÃO MODO END-b EE = desloc + end EID End Considere que nosso processador possua um Registrador Indexador (RIX), cuja função é definir um deslocamento para o endereço-base da instrução. RIX desloc Modos de endereçamento

MOV R2, RIX(100) ENDEREÇAMENTO INDEXADO INDIRETO PRÉ-INDEXADO: o deslocamento contido no registrador indexador é somado ao endereço base antes da busca do endereço indireto. R2 ← ((100 + (RIX))) Onde está o dado? (EE?) EE = (100 + (RIX)) Exemplo: C.O.... INSTRUÇÃO MODO END-b EE = (desloc + end) EIIDPRE End Considere que nosso processador possua um Registrador Indexador (RIX), cuja função é definir um deslocamento para o endereço-base da instrução. RIX desloc ( ) Modos de endereçamento

MOV R2, RIX((100)) ENDEREÇAMENTO INDEXADO INDIRETO PÓS-INDEXADO: o deslocamento contido no registrador indexador é somado ao conteúdo da posição de memória dada pelo endereço-base (indireto). R2 ← ((100) + (RIX)) Onde está o dado? (EE?) EE = (100) + (RIX) Exemplo: C.O.... INSTRUÇÃO MODO END-b EE = desloc + (end) EIIDPOS End Considere que nosso processador possua um Registrador Indexador (RIX), cuja função é definir um deslocamento para o endereço-base da instrução. RIX desloc Modos de endereçamento

MOV R2, 8(RB) ENDEREÇAMENTO BASEADO O endereço efetivo é calculado com a adição do conteúdo de um Registrador de Base (RB) a um deslocamento contido no campo de endereço da instrução. O deslocamento é interpretado como um número com sinal, permitindo um deslocamento, positivo ou negativo, em relação à posição dada pelo conteúdo do registrador RB. R2 ← ((RB) + 8) Onde está o dado? (EE?) EE = (RB) + 8 Exemplo: C.O.... INSTRUÇÃO MODO END-b EE = end-b + desloc EB desloc RB End-b Agora, além do RIX, nosso processador possui um Registrador de Base (RB), de forma que o endereço-base estará contido nele. Modos de endereçamento

MOV R2, RIX(RB) ENDEREÇAMENTO BASEADO E INDEXADO O endereço efetivo é calculado com a adição do conteúdo de um Registrador de Base (RB) com o conteúdo do Registrador Indexador (RIX). Este é o modo de endereçamento mais versátil de todos. Qualquer um dos exemplos de utilização apresentados pode ser implementado com este modo de endereçamento. R2 ← ((RIX) + (RB)) Onde está o dado? (EE?) EE = (RIX) + (RB) Exemplo: C.O.... INSTRUÇÃO MODO END-b EE = (RIX) + (RB) EBI RIX RB Agora, além do RIX, nosso processador possui um Registrador de Base (RB), de forma que o endereço-base estará contido nele. Modos de endereçamento

NEG ENDEREÇAMENTO INERENTE OU IMPLICITO O próprio código de operação identifica o endereço dos dados a serem manipulados. O endereço do operando não é especificado na instrução, é implícito. Acc ← (Acc) Onde está o dado? (EE?) EE = Acc Exemplo: Modos de endereçamento

ENDEREÇAMENTO POR PILHA Neste caso, o apontador de pilha SP indica o endereço efetivo do dado. Retirando dados da pilha: POP R1 SP ← (SP) – 1 R1 ← ((SP)) EE = (SP) - 1 Inserindo dados na pilha: PUSH R1 (SP) ← (R1) SP ← (SP) + 1 EE = (SP) Este tipo de endereçamento é muito utilizado para salvar o conteúdo de registradores e posições de memória que posteriormente serão recarregados em suas posições originais. Uso típico: subrotinas. Modos de endereçamento

Conclusões Ao escrever ou ler uma instrução Assembly, precisamos conhecer onde estão os dados que estamos manipulando. Processadores CISC possuem muitos modos de endereçamento já que não há restrição no acesso à memória. A instrução nos fornece o endereço-base, ou seja, um conteúdo que irá nos auxiliar a descobrir qual é o endereço efetivo do dado. Além disso, ela nos fornece os “rótulos” que determinarão onde estão os dados. Há diversos modos de combinar o endereço-base com os rótulos a fim de se acessar os dados. Cada forma define um modo de endereçamento. Por sua vez, os processadores RISC possuem poucos modos de endereçamento já que o acesso a memória se dá apenas por instruções especiais. Tal fato facilita a programação. Por fim, um último modo de endereçamento comumente utilizado nos processadores é o endereçamento paginado. Tal forma será detalhadamente estudada na disciplina de EA876, no contexto de sistemas operacionais.