Buscar

Unid_IV_-..

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Componentes do computador
*
*
Conjuntos de instruções
*
Instruções e dados na memória
Instruções do programa A
Instruções do programa B
Dados temporários usados pelo 
programa B em execução
Dados do programa B em execução
*
*
Ciclo de uma instrução
Na maioria dos casos, a próxima instrução é a que segue imediatamente a instrução corrente. Nesses casos, a instrução não inclui uma referência explícita para a próxima instrução. 
Quando é necessário, a instrução deve fornecer um endereço de memória principal.
*
*
Estados de um ciclo de instrução
*
CPU
Dados
Endereço
Memória 
principal
RI
*
*
Estados de um ciclo de execução
CARACTERÍSTICAS DE INSTRUÇÕES DE MÁQUINA
A operação de uma CPU é determinada pelas instruções que ela executa, conhecidas como instruções de máquina. A coleção de diferentes instruções que a CPU é capaz de executar é conhecida como conjunto de instruções da CPU.
Elementos de Instruções de máquina
Cada instrução deve conter toda a informação necessária para que a CPU possa executá-la. A figura do slide seguinte mostra os passos envolvidos na execução de instruções, definindo os elementos de instruções de máquina:
• Código de operação: especifica a operação a ser efetuada (por exemplo, ADD, E/S). A operação é especificada por um código binário, conhecido como código de operação.
• Referência a operando fonte: a operação pode envolver um ou mais operandos fonte, ou seja, operandos que constituem dados de entrada para a operação.
• Referência a operando de destino: a operação pode produzir um resultado.
*
*
Representação de instruções
Internamente, cada instrução de um computador é representada como uma seqüência de bits. 
Uma instrução é dividida em campos, correspondentes aos elementos da instrução. Um exemplo simples de formato de instrução é mostrado na figura. 
Na maioria dos conjuntos de instruções, é usado mais de um formato de instrução. Durante a execução, uma instrução é lida em um registrador de instruções (IR) da CPU. A CPU deve ser capaz de extrair os dados dos vários campos da instrução e efetuar a operação requerida.
Formato de instrução simples
*
*
Tipos de operação
O número de códigos de operação distintos varia muito de máquina para máquina. Entretanto, o mesmo conjunto de classes de operações é encontrado em todas as máquinas. 
Uma classificação típica dessas operações é descrita a seguir:
• Operações de transferência de dados
• Operações aritméticas
• Operações lógicas
• Operações de conversão
• Operações de E/S
• Operações de controle de sistema
• Operações de transferência de controle
*
*
Modos de endereçamento
Direto
*
*
Modos de endereçamento
Pilha
*
*
Número de endereços contidos nas instruções
Utilização de endereços em instruções (exceto instruções de desvio) 
*
*
Número de endereços contidos nas instruções
É possível, ainda, usar um formato de instrução com zero endereço, para alguns tipos de instrução. Esse formato se aplica a uma organização de memória especial, denominada pilha.
 
Uma pilha consiste em um conjunto de posições de memória, que são manipuladas de maneira que cada leitura efetuada sobre a pilha recupere o último dado nela armazenado (topo da pilha), retirando-o da pilha. A área de memória reservada para a pilha inicia a partir de um endereço fixo na memória e, usualmente, pelo menos os dois elementos no topo da pilha são armazenados em registradores da CPU. Instruções de zero endereços referenciam os dois elementos no topo da pilha. 
*
Operação básica sobre uma pilha
*
Alocação da pilha na memória
*
*
Exemplo ilustrativo de execução um trecho de programa
A execução de uma instrução pode envolver uma combinação dessas ações.
Considere um exemplo simples, que utiliza uma máquina hipotética com os formatos de instrução do slide seguinte. 
0 processador possui apenas um registrador de armazenamento de dados, denominado acumulador (AC). 
Instruções e dados têm, ambos, tamanho de 16 bits. É conveniente, portanto, organizar a memória em palavras de 16 bits. 
O formato das instruções contém 4 bits para o código de operação, podendo existir, assim, 24 = 16 códigos de operação distintos e até 212 = 4.096 (4K) palavras de memória que podem ser endereçadas diretamente.
*
*
Máquina hipotética
*
*
Exemplo ilustrativo de execução de um trecho de programa
NOTAÇÃO EM HEXADECIMAL
*
*
Exemplo ilustrativo de execução de um trecho de programa
A figura do slide anterior ilustra a execução parcial de um programa, mostrando as partes da memória e os registradores relevantes.
O trecho de programa ilustrado acrescenta o conteúdo da palavra de memória de endereço 940 ao conteúdo da palavra de memória de endereço 941 e armazena o resultado nesse último endereço. 
São necessárias três instruções, que podem ser descritas em três ciclos de busca e de execução:
1. O conteúdo do PC é 300, o endereço da primeira instrução. Essa instrução é carregada dentro do registrador de instrução, IR. Note que esse processo envolve o uso do registrador de endereçamento à memória (MAR) e do registrador temporário de dados (MBR). Por simplicidade, esses registradores intermediários são ignorados.
2. Os quatro primeiros bits do IR indicam que um valor deve ser armazenado no registrador AC. Os 12 bits restantes especificam o endereço 940, de onde o valor deve ser obtido.
3. O PC é incrementado e a próxima instrução é buscada. 
4. O conteúdo de AC é somado com o conteúdo da posição de memória de endereço 941 e o resultado é armazenado em AC.
5. O PC é incrementado e a próxima instrução é buscada.
6. O conteúdo de AC é armazenado na posição de memória de endereço 941.
*
*
Exemplo ilustrativo de execução de um trecho de programa
Nesse exemplo, são necessários três ciclos de instruções, cada um com um ciclo de busca e um ciclo de execução, para somar os conteúdos dos endereços de memória 940 e 941. 
Em um computador com um conjunto de instruções mais complexo, um número menor de ciclos poderia ser necessário. 
Processadores modernos incluem instruções que contêm mais de um endereço. Desse modo, o ciclo de determinada instrução pode envolver mais de uma referência à memória. Uma instrução pode também especificar uma operação de E/S, em vez de uma referência à memória.
*
*
Representação de instruções
É difícil para o programador lidar com representações binárias de instruções de máquina. Por isso, tomou-se prática comum usar uma representação simbólica para instruções de máquina.
Os códigos de operação são representados por “abreviações”, chamadas mnemônicos, que indicam a operação a ser efetuada. 
Alguns exemplos comuns são:
 ADD Adição
 SUB Subtração
 MPY Multiplicação
 DIV Divisão
 LOAD Carregar dados da memória
 STOR Armazenar dados na memória
Os operandos são também representados de maneira simbólica. Por exemplo, a instrução
ADD R,Y pode significar adicionar o valor contido na posição Y com o conteúdo do registrador K. 
Nesse exemplo, Y é um endereço de uma posição de memória e R indica um registrador particular. Note que a operação é feita sobre o conteúdo da posição de memória, e não sobre seu endereço.
*
*
Tipos de operação
*
*
Tipos de operação
*
*
Tipos de operação
*
*
Tipos de operação
*
*
OBRIGADO PELA ATENÇÃO !

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando

Outros materiais