Registradores. Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores.

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

No. de bits. O primeiro IBM PC foi construído com o 8088 (versão de 8 bits do 8086).

EEL Microprocessadores

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

Arquitetura do 8086/8088

Organização de Computadores 1

Arquitetura e Organização de Computadores

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 3

Organização Funcional

OTermo Assembly significa montagem, ou seja, linguagem

Arquitetura de Microprocessadores

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

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

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

2º Estudo Dirigido CAP 3

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

Memória. Função: armazenamento de dados e instruções h FFFF FFFE h FFFF FFFF h byte.

7. A pilha e subrotinas

Unidade Central de Processamento 2. Registradores

A linguagem ASSEMBLY

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

CONJUNTO DE INSTRUÇÕES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

Arquitetura e Organização de Computadores

Sistemas de Microprocessadores I Lista de exercícios (questões de provas de semestre anteriores)

Aula 4 Conjunto de Instruções do Microprocessador 8085 Grupo Aritmético

Arquitetura e Organização de Computadores

Sistemas de Computação

Arquitetura e Organização de Computadores

Aula 10 Processadores de Propósito Geral

Símbolos e abreviaturas utilizadas na descrição das instruções

Capítulo 1 1. UNIDADE DE INTERFACE DE BARRAMENTO

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

Sistemas de Computação para Controle e Automação CIC132. Assembly. Assembly. Notas. Décima quarta aula: Introdução a programação Assembly

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Disciplina: Arquitetura de Computadores

Arquitetura de Computadores Conceitos Fundamentais. Graduação em Engenharia Elétrica - UFPR Prof. Carlos Marcelo Pedroso 2016

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

EEC2104 Microprocessadores

Microcontrolador Assembly UTFPR / DAELN Microcontroladores 1 Prof. Gabriel Kovalhuk

Linguagem de Montagem Assembly

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Universidade de São Paulo

SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Capítulo 6 Nível do Sistema Operacional

ASSEMBLER. Autor: Rodrigo Ferreira Markus Vinicius Home Page

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Organização de Computadores

Para facilitar o entendimento das rotinas escritas em assembly, apresentadas em aula, estudar as seguintes instruções da linguagem assembly:

MICROPROCESSADORES E MICROCONTROLADORES. PROVA 1 - Solução da Versão 1

Arquitetura e Organização de Computadores

Arquitetura de Microprocessadores

Apontamentos sobre o 8051 Prof. Eng Luiz Antonio Vargas Pinto Versão revista e ampliada em 01/07/2009 Revisada em 28/02/2006 Revisada em 18/11/2007

Endereçamento e Formato de Instruções

EEL770 - Sistemas Operacionais Notas de Aula

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

Departamento de Engenharia Elétrica. ELE Microprocessadores II. Prof. Carlos Antonio Alves Sala 59 Fone

José Augusto Fabri. Assembly Básico

SSC510 Arquitetura de Computadores 1ª AULA

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Introdução à Computação: Arquitetura von Neumann

Disciplina de Arquitetura de Computadores

Estrutura e Funcionamento da CPU. Adriano Maranhão

William Stallings Arquitetura e Organização de Computadores 8 a Edição

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Um Exemplo de Nível ISA: o IJVM. Pilhas. Pilhas. O Modelo de Memória da IJVM. Pilhas de Operandos. Nível ISA

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

Organização de Computadores Aula 05

Arquitetura de Computadores. Conjunto de Instruções

Instruções. Maicon A. Sartin

Organização e Arquitetura de Computadores I

Computadores e Programação (DCC/UFRJ)

Solução Lista de Exercícios Processadores

Execução detalhada de instruções

Processador. Processador

Execução detalhada de instruções

Estrutura Básica de um Computador

William Stallings Organização de computadores digitais. Capítulo 11 Estrutura e função da CPU

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

Sistemas Microprocessados

Jadsonlee da Silva Sá

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Fundamentos de Sistemas Operacionais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

Microcontrolador 8051

Organização de Computadores

Lógica Externa à CPU

Unidade 8: A Unidade de Controle e o Ciclo de Instruções Prof. Daniel Caetano

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Organização e Arquitetura de Computadores INTRODUÇÃO

Transcrição:

Os processadores possuem espaços específicos onde são guardados valores, os chamados registradores. Esses espaços são parecidos com variáveis de uma linguagem de programação de alto nível, onde se guarda um valor qualquer até que este seja modificado.

Os registradores estão no topo da hierarquia da memória e propiciam ao sistema o modo mais rápido de acessar dados. O termo geralmente é usado para designar apenas o grupo de registradores que podem ser utilizados diretamente para entradas ou saídas através de instruções definidas no conjunto de instruções do processador. O conjunto de instruções da arquitetura x86, por exemplo, define um conjunto de 8 registradores de 32 bits, mas uma CPU deste tipo possui mais registradores do que apenas estes.

Categorias de Registradores Os registradores são medidos pelo número de bits que podem conter. Atualmente as máquinas possuem registradores de 32 ou 64 bits. De acordo com o conteúdo, os registradores podem ser classificados em registradores de uso geral, de segmento, de ponteiro e de estado.

Registradores de uso geral (genéricos): Os registradores de uso geral, como o próprio nome diz, podem ser usados para quaisquer fins, porém para haver uma maior compreensão do código assembly, atribuimos certas funções a estes registradores.

AX Registrador acumulador Geralmente onde instruções devolvem resultado e também usado para o processador saber o número de uma suposta interrupção.

BX Registrador de Base É usado geralmente guardando endereços base (ou apontador) para endereços (offsets).

CX Registrador Contador Este registrador é usado como contador, geralmente em loops (iterações), onde se guarda um valor em CX e este é usado para saber quantas "voltas", ou técnicamente dizendo, quantas iterações irão ser executadas, ao fim de cada volta, diminuindo seu valor em 1.

DX Registrador de Dados Usado genéricamente para guardar dados de outras instruções. Por exemplo em sua parte baixa (ver adiante) é guardado o código ASCII do simbolo a ser exibido na tela.

Registradores de Destíno/Origem São usados geralmente com instruções onde blocos de memória ou dados são movidos copiados, etc.

SI Registrador de Índice Fonte É usado geralmente para apontar a origem de uma seqüencia de dados em certas instruções de manuseio bloco.

DI Registrador de Índice Destíno Usado para apontar o destíno de uma seqüencia de dados usado em certas instruções de manuseio bloco.

Registradores de Pilha (Stack) A pilha é realmente como uma pilha de pratos onde vai se colocando pratos (dados) e logo após retirando-os. Sempre seguindo a regra LIFO (Last in First Out - Ultimo a entrar, primeiro a sair). Sempre o último dado que é inserido na pilha, é o primeiro que se obterá ao requisitar o dado. Geralmente esses registradores só são mechidos por instruções específicas, nunca manualmente.

BP Registrador de Base Pointer Registrador Apontador de base Aponta o endereço base da pilha, ou seja o primeiro offset (local da memória) onde os dados começarão a ser empilhados.

SP Registrador Stack Pointer Registrador apontador da pilha Aponta, referencia o endereço onde foi colocado o último dado na pilha.

Registradores de Segmento São os registradores que apontam segmentos da memória onde são colocados instucões, dados, etc.

CS Code Segment Registrador de segmento de código. Aponta para o local da memória onde o código do programa começa.

DS Data Segment Registrador de segmento de dados. Aponta para o local da memória onde os dados (variáveis, etc) estão. É usado geralmente em instruções de manuseio de bloco.

ES Extra segment Registrador de segmento extra. É como um local a mais para se guardar dados, geralmente usado em algumas instruções de manuseio de bloco.

SS Stack Segment Registrador de segmento de pilha. É onde o processador coloca dados de retorno de uma função (como em linguagens de alto nível).

Instrução IP Instruction Pointer Registrador Apontador de Instrução. Este simples registrador aponta para a próxima instrução (local da memória da mesma). Modificando-o pode se causar sérios problemas no programa.

Flags Flags são registradores onde cada bit significa um estado do processador. São eles: C = Carry P = Parity A = Auxiliar Carry Z = Zero S = Signal T = Trap I = Interrupt Enable Flag D = Direction O = OverFlow

Carry Esse flag é setado sempre quando houver "vai um" depois de uma adição ou quando há BORROW depois de uma subtração. Pode ser usado também em uma operação de deslocamento de bits, quando o bit mais ao extremo for deslocado para fora do dado. O 1 1 11 C 1010 1111 + 1100 0010 -------------- 1111 0001 B 1 0-1 -- 1 B 1 1 1 1 0 1 1 0 1 1 0 1 - ------------ 0 1 1 1 0

Parity Depois de uma instruçäo aritimética ou lógica este bit informa se o resultado tem um número par de "1"s ou näo.

Auxiliar Carry: Igual ao carry, mas indica o "vai um" no meio de um dado (no caso de um byte, se houve "vai um" do bit 3 para o bit 4).

Zero Depois de uma operaçäo aritimética ou lógica, esse flag indica se o resultado é zero ou não.

Signal Depois de uma instrução aritimética ou lógica, este flag é uma cópia do bit de mais alta ordem do resultado, isto é, seu sinal.

Trap Quando setado (1) executa instruções passo-a-passo. Há diferenças de implementação deste flag em toda a família 80x86.

Interrupt Enable Flag Habilita/Desabilita o reconhecimento de interrupções mascaráveis pela CPU.

Direction Quando usa-se instruçöes de manipulação de blocos, há necessidade de especificar a direção que será usada, do inicio para o fim ou do fim para o inicio. Quando D=0 a direção é a do início para o fim. Quando D=1 a direçäo é contrária.

OverFlow: Depois de uma instrução aritimética ou lógica, este bit indica se houve mudança no bit mais significativo, ou seja, no sinal. Exemplo: se somarmos FFFFh + 0001h obteremos 00h. O bit mais significativo variou de 1 para 0 (o counteúdo inicial de um registrador era FFFFh e depois da soma foi para 0000h), indicando que o resultado saiu da faixa (overflow). FFFFh + 0001h = 10000h, porém um registrador tem 16 bits de tamanho e o resultado cabe em 17 bits. Neste exemplo, o bit de carry também será setado pois houve "vai um" do bit 15 para o inexistente bit 16.

Pilha e Fila Como só existem seis registradores para uso com a maioria das operações existe recursos chamados de Pilha e Fila, que são áreas de memória na qual pode-se salvar e recuperar valores. A pilha é uma área de memória parecida com uma pilha de pratos. O primeiro a ser empilhado é o último a ser retirado e o último o primeiro que pode ser retirado. Isto é chamado de Last On First Off (LOFO) ou Last In First Out (LIFO). A Fila é uma área de memória parecida com uma fila de supermercado ou banco. O primeiro a entrar é o primeiro a ser atendido e sair e assim sucessivamente. Isto é chamado de First In First Out (FIFO).