Você está na página 1de 16

Live 3: Conjunto de Instruções

Características e Funções
Organização de Computadores
Matheus Carvalho Meira
ENGENHARIA DE COMPUTAÇÃO
4º Bimestre de 2019
Não visível ao usuário ou
programador
• Do ponto de vista do projetista, um conjunto de
Instruções de Máquina oferece os requisitos funcionais
para o processador: envolve implementar um
conjunto de instruções de máquina
Características das Instruções
de Máquina
• A operação do processador é determinada pelas
instruções que ele executa, instruções de máquina ou
instruções de computador. A coleção de diferentes
instruções: conjunto de instruções.
Instruções de Máquina ou
Instruções do Computador
• Elementos de uma instrução de máquina
– Código de Operação: especificada por um código binário,
conhecido como código de operação ou opcode;
– Referência ao operando fonte: entradas para operação;
– Referência ao operando de resultado: produzir resultado;
– Referência à próxima instrução: busca na próxima
instrução;
• Operando fonte e resultado podem estar:
– Memória principal ou virtual;
– Registradores do processador;
– Imediato: no campo de instrução executado;
– Dispositivos de E/S;
Ciclo de Instrução
Representação da Instrução
• Representada por uma sequencia de bits;

• Dividida em campos;
• Representação binária das instruções de máquina.
Para facilitar o entendimento adotamos
representação simbólica.
• Opcode são representados pelos mnemônicos:
– ADD Adição
– SUB Subtração
– MUL Multiplivação
– DIV Divisão
– LOAD Carrega Dados na memória
– STOR Armazena Dados na memória
Tipos de Instruções
• Considera uma linguagem de alto nível, Basic, Java ...

x=x+y
• Orienta o computador somar valor armazenado em Y
ao valor armazenado em X
• Como poderia ser feito com instruções de máquina?
• Considere X e Y correspondam as locais 513 e 514.
– Carregue um registrador com o conteúdo do local de memória 513
– Some o conteúdo do local de memória 514 ao registrador
– Armazene o conteúdo do registrador no local de memória 513
• Um única instrução Basic ou Java pode exigir três
instruções de máquina
Tipos de Instruções Incluídas
em um Computador
• Qualquer programa escrito em linguagem de alto
nível, para ser executado, precisa ser traduzido em
linguagem de máquina.
• Tipos de instruções:
– Processamento de Dados: Instruções aritméticas de lógicas;
– Armazenamento de Dados: movimentação de dados para
dentro ou fora do registrador e/ou locais de memória;
– Movimentações de Dados: instruções E/S;
– Controle: instruções de teste ou desvio.
Número de Endereços
• Formas tradicionais de descrever a arquitetura do
processador é em termos de números de endereços
contidos em cada instrução.
– Na maioria das arquiteturas, quase todas as instruções possuem um, dois ou
três endereços de operando, com o endereço da próxima instrução sendo
implícito.
Pilha
• Last-in-First-out – último a entrar primeiro a sair
• A pilha está em local conhecido, pelo menos dois
elementos do topo estão nos registradores do
processador
• Instruções com zero endereços referenciam os dois
elementos do topo da pilha.
Projeto do Conjunto de
Instruções
• Repertório de Operações: quantas e quais operações
oferecer, nível de complexidade
• Tipos de Dados: diversos tipos de dados sobre quais
operações são realizadas;
• Formato das instruções: tamanho em bits, número de
endereços, tamanho dos diversos campos, etc.
• Registradores: número de registradores do
processador que podem ser referenciados;
• Endereçamento: modo de especificação do endereço
do operando.
Tipos de Operandos

• As instruções de máquina operam sobre os dados. As


categoria de dados mais importantes são:
– Endereços
– Números
– Caracteres
– Dados Lógicos

*Endereços já comentado anteriormente


Números
• Toda linguagem de máquina incluem tipos de dados
numéricos
• Mesmo no processamento de dados não numéricos, existe a
necessidade de os números atuarem como contadores, tamanhos
de campos, etc.
• Três tipos de dados numéricos são comuns nos computadores:
– Inteiros binários ou ponto fixo binário
– Ponto flutuante binária
– Decimal
• Decimal Empacotado – armazenar e operar números decimais
– Representado em modo de 4 bits
8 = 1000 9 = 1001
– Para formar número, códigos de 4 bits são enfileirados múltiplos de 8 bits
246 = 0000 0010 0100 0110

– https://clevert.com.br/t/pt-br/base-convert
Caracteres
• Forma de dado comum, texto, strings ou caracteres
• Caracteres são representados por uma sequência de
bits (antigo exemplos, código Morse)
• Código internacional mais utilizado é International
Reference Alphabet (IRA), mais conhecido como
American Standard Code for Information Interchange
(ASCII).
– ASCII – cada caracteres é representado por um padrão
exclusivo de 7 bits; dessa maneira 128 caracteres podem ser
representados.
– O oitavo bit pode ser definido como 0 ou usado como bit de
paridade, para detectar erros.
– Outro usado em mainframes IBM Extended Binary Coded
Decimal Interchange Code (EBCDIC)
Dados Lógicos
• Cada palavra ou outra unidade endereçável é tratada
como uma única unidade de dados. É útil considerar
que uma unidade de n bits consista em n item de
dados de 1 bit, com cada item tendo valor 0 ou 1.
Quando os dados são vistos desta forma, são
considerados lógicos.
• Duas vantagens visão orientada a bits:
– Armazenar um Array de itens de dados booleanos ou binários em que cada
item pode assumir valores 1 (verdadeiro) ou 0 (falso). Com dados lógicos a
memória pode ser usada de modo mais eficiente.
– Manipular os bits de um item de dados. Ex. Operações de ponto flutuante,
deslocamento de bits significativos em algumas operações. Convertendo IRA
para decimal empacotado, extrair os bits mais a direita de cada byte.
Dúvidas
Gerais
univesp.br

Você também pode gostar