Instruções Maicon A. Sartin
SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem
Introdução a Linguagem de Montagem Níveis de programação
Introdução a Linguagem de Montagem Comparação das linguagens
Introdução Um programa é uma sequência de instruções colocadas numa sequência de endereços A execução de um programa corresponde à execução sequencial de suas instruções A sequência das instruções é definida de forma dinâmica em tempo de execução Existência de instruções de controle de fluxo Formato das instruções Operação Operando1 Operando2... Formato geral [Rotulo:] Mnemonico[operandos] [; comentario] INICIO: LDA endereço
SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem
Formatos de Instruções As instruções estão diretamente relacionadas as quantidades de endereços (4, 3, 2, 1 e 0 ) Arquitetura com 4 endereços Instrução ADD R1 R2 R3 E1 Comentário Soma R1 com R2, Resultado em R3; Vai p/ E2 Arquitetura com 3 endereços Instrução ADD R1 R2 R3 Comentário Soma R1 com R2, Resultado em R3; incrementa PC Arquitetura com 2 endereços Instrução ADD R1 R2 Comentário Soma R1 com R2, Resultado em R1
Formatos de Instruções As instruções estão diretamente relacionadas as quantidades de endereços (4, 3, 2, 1 e 0 ) Arquitetura com 1 endereço Instrução ADD R1 Comentário Soma Acumulador com R1, Resultado no Acumulador Arquitetura sem endereços Instrução ADD Comentário Topo da pilha recebe R1+R2 (R1 e R2 são retirados da pilha)
SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem
Conjuntos de Instruções A coleção completa de instruções que são compreendidas pela UCP Instrução Conjunto de bits devidamente codificados que indica ao computador a sequência de microoperações para realizar Dependendo da arquitetura do processador as instruções de n endereços, tem-se n operandos Tipos de Instruções Instruções de transferência de dados Instruções de controle Instruções de manipulação de dados
Conjuntos de Instruções Classificação: Existem três grandes classes de instruções. Instruções de transferência de dados transferem informação de um local (registro, posição de memória, E/S) para outro, sem alterar a informação. Exemplo no P3: MOV R1, M[00A0h] Instruções de controle permitem alterar a sequência normal de instruções e definir qual a próxima instrução a ser executada De forma condicional ou incondicional Exemplo no P3 : JMP 00CCh
Conjuntos de Instruções Classificação: Existem três grandes classes de instruções. Instruções de manipulação de dados aplicam uma operação aritmética ou lógica ao operando ou operandos e guardam o resultado da mesma Executam as operações úteis num programa (ADD, SUB, MULT, AND, OR e XOR) Exemplo no MIPS : ADD R1,R2,R4
SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem
Execução de Instruções Basicamente um computador faz: Execução de seqüência de comandos Execução da linguagem máquina Funcionamento: repetir, infinitamente, sequência de 5 passos básicos: 1. Buscar instrução 2. Decodificar instrução 3. Busca de operandos 4. Executar instrução 5. Armazenar resultados
Execução de Instruções Etapas de execução de uma instrução Etapas Buscar instrução Decodificar Instrução Buscar Operandos Executar Instrução Armazenar Resultados Descrição Processador busca instrução na memória Determina qual é a instrução e o que precisa para executar Os dados necessários para execução da instrução são carregados (da memória ou de um registrador) A instrução é executada conforme o tipo de operação O resultado da operação é armazenado na memória ou num registrador. (retorna ao início)
Execução de Instruções Busca e Execução (determinada)
SUMÁRIO Introdução Instruções Formatos de instruções Conjuntos de instruções Execução de instruções Introdução a Linguagem de Montagem
Introdução a Linguagem de Montagem Unidade de controle Dispara cada um dos passos Registradores Armazenam temporariamente dados e instruções Unidade lógica e aritmética Manipula os dados e permite a atualização dos apontadores
Introdução a Linguagem de Montagem UCP tem a função de executar instruções Cada componente da UCP faz um passo na execução de instruções: Unidade de controle Busca instruções na memória principal e determina o tipo de cada instrução Unidade lógica e aritmética (ALU) Realiza um conjunto de operações necessárias à execução de instruções Registradores Realizam a transferência de dados entre os componentes da UCP
Introdução a Linguagem de Montagem A UCP lê as instruções e os dados da memória Executa as instruções e armazena os resultados na memória novamente Instruções do processador Registrador-memória Registrador-registrador
Referências WEBER, Raul F. Fundamentos de Arquitetura de Computadores. Bookman. 2008. FERNANDES, Edino M. L. Arquitetura e Organização de Computadores. Curso de Graduação de Ciência da Computação - UDESC. 2008. ADÁRIO, Alexandre M. S. Arquitetura de Computadores I. Curso de Graduação de Ciência da Computação - URI. SENGER, Luciano J. Organização e Arquitetura de Computadores. Curso de Graduação em Engenharia de Computação UEPG. 2006. MURDOCCA, Miles J.; HEURING Vincent P. Parte2:A Arquitetura do Conjunto de Instruções. Curso de Graduação UFRJ. 2008.