48
Unidade Central De Processamento: Processador Instruções de Máquina

Instruções de Máquina. Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Embed Size (px)

Citation preview

Page 1: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Unidade Central De Processamento: Processador

Instruções de Máquina

Page 2: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Operação básica (primitiva) que o hardware é capaz de executar diretamente◦ Conjunto de bits que indica ao processador uma

operação que ele deve realizar

Instruções de Máquina – 01

Page 3: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

O projeto de um processador é centrado no conjunto de instruções de máquina que se deseje que ele execute

Quanto menor e mais simples o conjunto de instruções, mais rápido é o ciclo de tempo do processador

Instruções de Máquina – 02

Page 4: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Existem duas tecnologias de projeto de computadores:◦ Sistemas com conjunto de instruções complexo

(complex instruction set computers – CISC)◦ Sistemas com conjunto de instruções reduzido

(reduced instruction set computers – RISC)

Instruções de Máquina – 03

Page 5: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Um processador possui instruções capazes de realizar:◦ Operações matemáticas◦ Movimentação de dados (memória – UCP e vice-

versa)◦ Entrada e saída (leitura e escrita em dispositivo

de E/S)◦ Controle (desvio de seqüência de execução,

parar, etc...)

Instruções de Máquina – 04

Page 6: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Exemplos:◦ Intel 8080: 78 instruções◦ Intel 8088: 117 instruções◦ 80486: 286 instruções◦ Pentium II: 217 instruções

Instruções de Máquina – 05

Page 7: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Uma instrução é dividida basicamente em dois campos:

Formato de Instruções – 01

C. Op. OperandosCódigo de operação

ou opcode

Page 8: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦ Código de Operação: indica qual operação deverá ser realizada, por exemplo: Realizar uma operação lógica entre dois valores Parar a execução de um programa Testar uma condição: Se teste verdadeiro, então

desviar para outro endereço fora da seqüência

Formato de Instruções – 02

Page 9: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

O campo código de operação possui, nos processadores atuais, 1 byte de tamanho

Pode-se, então, ter 28 instruções diferentes

Formato de Instruções – 03

Page 10: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦ Operando: indica a localização do dado que será manipulado O campo operando pode estar subdividido em outros

campos no caso de mais de um operando, por exemplo: Em uma instrução cujo código de operação é uma soma,

são necessários três operandos Dois operandos para armazenar as parcelas Um operando para armazenar o total

Formato de Instruções – 04

Page 11: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Instrução de Soma:

Formato de Instruções – 05

C. Op. Operando 3Operando 2Operando 1

(operando 3) (operando 1) + (operando 2)

Page 12: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Outro formato para instrução de soma que produz o mesmo efeito:

Formato de Instruções – 06

C. Op. Operando 2Operando 1

(operando 1) (operando 1) + (operando 2)

(operando 2) (operando 1) + (operando 2)

Page 13: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Pode-se também usar o registrador acumulador para representar a mesma operação

Formato de Instruções – 07

C. Op. Operando

ACC ACC + (operando)

Page 14: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Iremos analisar as etapas realizadas pelo processador para a execução de uma instrução de máquina Ciclo de Instrução

Funcionamento do Processador – 01

Page 15: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Iremos considerar um computador hipotético com as seguintes características:◦ Palavra de 12 bits◦ Endereços de 8 bits (256 células de memória)◦ Células de 12 bits◦ ACC, RI e RDM com 12 bits de tamanho◦ CI e REM com 8 bits de tamanho

Funcionamento do Processador – 02

Page 16: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦ Instruções de um operando apenas C. Op. de 4 bits e operando de 8 bits Campo operando sempre indica o endereço de

memória do dado, exceto em instruções de desvio

Funcionamento do Processador – 03

C. OP. Operando

4 bits 8 bits

Instruções disponíveis: listadas na tabela a seguir

Page 17: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

C. Op.

Sigla Descrição

0 HLTParar execução do programa (HALT, em inglês)

1 LDA op ACC (op) (LOAD, em inglês)

2 STR op (op) ACC (STORE, em inglês)

3 ADD op ACC ACC + (op)

4 SUB op ACC ACC - (op)

5 JZ op Se ACC = 0, então CI op

6 JP op Se ACC > 0, então CI op

7 JN op Se ACC < 0, então CI op

8 JMP op CI op

Page 18: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

C. Op.

Sigla Descrição

9 GET opLer dado da porta de entrada e armazená-lo em Op

A PRT opColocar na porta referente à impressora o valor armazenado em (op)

Page 19: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

O ciclo de instrução pode ser mais detalhado conforme as especificações do processador listadas anteriormente

Funcionamento do Processador - 06

Page 20: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Buscar a próxima instrução

Início

Interpretar instrução(decodificar)

Buscar operandos

Executar instrução

Armazenar resultados

Fim

Page 21: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Buscar a próxima instrução

Incrementar O CI

Decodificação do C. Op.

Tem operando? Buscar e armazenar operando

Executar a operação

simnão

Subciclo de

busca

Subciclo de

Execução

Início

Armazenar resultados Fim

Page 22: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

A fase de busca de instrução é idêntica para qualquer instrução

A fase de decodificação e execução depende da instrução

Vamos analisar como exemplo a execução de duas instruções na seguinte seqüência:

Funcionamento do Processador – 09

LDA op e ADD op

Page 23: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Considere que a instrução LDA está armazenada na MP no endereço decimal 2 (216 ou 000000102)

Ciclo das Instruções LDA op e ADD op – 01

0001 10110100

C. Op. Operando

B416

1B4

Page 24: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Considere que a instrução ADD está armazenada na MP no endereço decimal 3 (316 ou 000000112)

Ciclo das Instruções LDA op e ADD op – 02

0011 10110101

C. Op. Operando

B516

3B5

Page 25: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Estado Inicial da Memória

1B43B5

1A707D

00010203

B4B5B6

FF

Page 26: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Valores dos registradores:◦ CI=02 (Endereço colocado pelo sistema

operacional para iniciar a execução do programa)◦ RI=31716 (última instrução executada)

◦ ACC=20B16 (valor obtido da execução anterior)◦ REM=B3 e RDM=7BC

Estado Inicial do Processador

Page 27: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

ULA 20B

UC DI

317

02 7BC

B3

ACC CI RDM

REMRI

1B43B5

1A707D

00010203

B4B5B6

FF

Barramento de controle

CPU MP

Page 28: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

A partir desta configuração, inicia-se o ciclo da instrução LDA◦ Busca da Instrução

A UC aciona a transferência do conteúdo de CI para REM (endereço de LDA) REM CI

O conteúdo de REM é colocado no barramento de endereços e a UC ativa a linha READ do barramento de controle

Ciclo de Instrução LDA op - 01

Page 29: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

A memória recebe o endereço e coloca o conteúdo da célula 02 no barramento de dados (1B4)

O conteúdo do barramento de dados chega no RDM◦RDM Mem

O conteúdo do RDM é enviado para o RI◦RI RDM

Ciclo de Instrução LDA op - 02

Page 30: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Enquanto está acontecendo a operação de leitura na memória, o CI está sendo incrementado

Como, no nosso exemplo, qualquer instrução ocupa uma célula de memória, o CI será incrementado de uma unidade (CI = 03) para apontar para a próxima instrução◦ CI CI + 1

Ciclo de Instrução LDA op - 03

Page 31: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

ULA 20B

UC D I

317 1B4

02 03 7BC 1B4

B3 02

ACC CI RDM

REMRI

1B43B5

1A707D

00010203

B4B5B6

FF

Barramento de controle

CPU MP

Valores dos registradores após o subciclo de busca da instrução 1B4

Page 32: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Decodificação de Instrução◦A UC emite um sinal para que o RI transfira

para o decodificador de instruções os 4 bits do C. Op. Decodificador 0001

◦O decodificador seleciona, através de uma lógica nele existente, a linha de saída correspondente para a UC que emitirá os sinais adequados e em uma determinada seqüência para a execução da instrução

Ciclo de Instrução LDA op - 05

Page 33: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦Como na instrução LDA não há operando a ser buscado, inicia-se então a execução da instrução

Ciclo de Instrução LDA op - 06

Page 34: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Execução de Instrução◦A execução da instrução LDA resume-se

em buscar na memória o conteúdo da célula B4

◦A UC comanda o RI para enviar os bits referentes ao endereço de memória para o REM

◦A UC ativa a linha READ do barramento de controle

Ciclo de Instrução LDA op - 07

Page 35: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦A memória recebe o endereço que chega pelo barramento de endereço, decodifica e envia o conteúdo da célula B4 para o barramento de dados

◦RDM recebe o conteúdo do barramento de dados RDM 1A7

◦A UC emite um sinal para o RDM enviar o seu conteúdo para o ACC ACC RDM

Ciclo de Instrução LDA op - 08

Page 36: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

ULA 20B 1A7

UC D I

317 1B4

02 03 1B4 1A7

02 B4

ACC CI RDM

REMRI

1B43B5

1A707D

00010203

B4B5B6

FF

Barramento de controle

CPU MP

Valores dos registradores após a execução da instrução 1B4

Page 37: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Considerando que ADD é a instrução seguinte a ser executada, o CI já contém o seu endereço

Inicia-se a busca da próxima instrução

Ciclo de Instrução ADD op - 01

Page 38: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Busca da Instrução◦A UC aciona a transferência do conteúdo

de CI para REM (03) REM CI

◦O conteúdo de REM é colocado no barramento de endereços e a UC ativa a linha READ do barramento de controle

◦A memória recebe o endereço e coloca o conteúdo da célula 03 no barramento de dados (3B5)

Ciclo de Instrução ADD op - 02

Page 39: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦O conteúdo do barramento de dados chega no RDM RDM Mem

◦O conteúdo do RDM é enviado para o RI RI RDM

◦Enquanto está acontecendo a operação de leitura na memória, o CI está sendo incrementado, passando a valer 4 CI CI + 1

Ciclo de Instrução ADD op - 03

Page 40: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

ULA 20B 1A7

UC D I

1B4 3B5

03 04 1A7 3B5

B4 03

ACC CI RDM

REMRI

1B43B5

1A707D

00010203

B4B5B6

FF

Barramento de controle

CPU MP

Valores dos registradores após o subciclo de busca da instrução 3B5

Page 41: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Decodificação de Instrução◦ A UC emite um sinal para que o RI transfira para o

decodificador de instruções os 4 bits do C. Op. Decodificador 0011

◦ O decodificador seleciona a linha de saída correspondente para a UC que emitirá os sinais adequados para a busca do operando

Ciclo de Instrução ADD op - 05

Page 42: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Busca de Operando◦O endereço do operando a ser buscado na

MP está do RI, no campo operando (B5)◦UC emite sinais para que o REM receba o

operando REM B5

◦REM coloca o seu conteúdo no barramento de endereços

◦A UC ativa a linha READ no barramento de controle

Ciclo de Instrução ADD op - 06

Page 43: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦A memória recebe o endereço e coloca o conteúdo da célula B5 no barramento de dados (07D)

◦O conteúdo do barramento de dados chega no RDM RDM Mem

Ciclo de Instrução ADD op - 07

Page 44: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

ULA 20B 1A7

UC D I

1B4 3B5

03 04 3B5 07D

03 B5

ACC CI RDM

REMRI

1B43B5

1A707D

00010203

B4B5B6

FF

Barramento de controle

CPU MP

Valores dos registradores após a busca do operando 07D

Page 45: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Execução de Instrução◦A ULA recebe o primeiro operando da

soma que está no acumulador ULA 1A7

◦O conteúdo do RDM (segunda parcela da soma) é colocado no ACC ACC RDM

◦A ULA recebe a segunda parcela da soma ULA ACC

Ciclo de Instrução ADD op - 09

Page 46: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

1A707D 1A7 07D

UC D I

1B4 3B5

03 04 3B5 07D

03 B5

ACC CI RDM

REMRI

1B43B5

1A707D

00010203

B4B5B6

FF

Barramento de controle

CPU MP

Page 47: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

◦ A UC comanda a ULA para realizar a adição dos dois valores 1A7 + 07D = 224

◦ O resultado da adição é colocado no ACC ACC 224

Ciclo de Instrução ADD op - 11

Page 48: Instruções de Máquina.  Operação básica (primitiva) que o hardware é capaz de executar diretamente ◦ Conjunto de bits que indica ao processador uma operação

Valores dos registradores após a execução da instrução 3B5

ULA 07D 224

UC D I

1B4 3B5

03 04 3B5 07D

03 B5

ACC CI RDM

REMRI

1B43B5

1A707D

00010203

B4B5B6

FF

Barramento de controle

CPU MP