Você está na página 1de 33

Sistemas de Computação

(Laboratório)

Aula 6

Regiane Kawasaki
kawasaki@ufpa.br
CBCC – FC – ICEN – UFPA

Material elaborado por


Prof. Diovani Milhorim
UNIDADE CENTRAL DE PROCESSAMENTO - UCP

 A Unidade Central de Processamento - UCP


(Central Processing Unity - CPU) é a responsável
pelo processamento e execução dos programas
armazenados na MP.

 As funções da UCP são: executar as instruções e


controlar as operações no computador, instruídas
por um sistema operacional.
UCP - Componentes

 A UCP é composta de duas partes:


 UAL - Unidade Aritmética e Lógica - tem
por função a efetiva execução das
instruções.
UCP - Componentes

 UC - Unidade de Controle - tem por


funções a busca, interpretação e controle
de execução das instruções, e o controle
dos demais componentes do computador
UCP – Diagrama Funcional
UCP - Registradores
 Registradores Importantes da CPU:
 Unidade de Controle - UC:
Contador de Instruções - CI (Program Counter -
PC): armazena o endereço da próxima instrução a
ser executada - tem sempre o mesmo tamanho do
REM.
Registrador de Instrução - RI (Instruction Register -
IR): armazena a instrução a ser executada.
 Unidade Lógica e Aritmética – ULA:
Acumulador - ACC (Accumulator - ACC) - armazena
os dados (de entrada e resultados) para as
operações na ULA. 6
UCP - Registradores
 Outros registradores da CPU:
Registrador de Endereço de Memória - REM (Memory
Address Register - MAR): armazena o endereço que
será enviado via barramento de endereço.
Registrador de Dados da Memória – RDM (Memory
Buffer Register – MBR): armazena temporariamente a
informação que chega da/vai para memória.

7
UCP – Ciclo de Instrução

 Ciclo de Instrução:
Busca
Execução
Interrupção

8
UCP – Ciclo de Instrução

 Ciclo de busca de uma Instrução:


PC contém endereço da próxima instrução;
Endereço é movido para MAR;
Endereço é colocado no barramento de
endereço;
UC requisita leitura da memória;
Resultado é posto no barramento de dados,
copiado para MBR, depois para o IR;
PC é incrementado em 1.
9
UCP – Ciclo de Instrução
 Ciclo de busca de uma Instrução:

10
UCP – Ciclo de Instrução

 Ciclo de busca de Operando(s):


IR é examinado.
Se endereçamento for indireto, então ciclo
indireto é acionado:
Os N bits mais à direita do MBR são
transferidos para o MAR;
UC requisita leitura da memória;
Resultado é movido para MBR.

11
UCP - Fluxo de Dados (Diagrama
Indireto)

12
CONJUNTO DE INSTRUÇÕES

 Quando se projeta um hardware, define-se o


seu conjunto ("set") de instruções - o conjunto
de instruções elementares que o hardware é
capaz de executar.
 O projeto de um processador é centrado no seu
conjunto (“set") de instruções.

 ISA = Instruction Set Architeture.


CONJUNTO DE INSTRUÇÕES

Exemplos de ISAs
CONJUNTO DE INSTRUÇÕES...
 Funcionalmente, um processador precisa possuir
instruções para:
 Operações aritméticas: +, - , × , ÷ ...
 Lógicas: and, or, xor, ...
 Complemento
 Deslocamento
 Operações de movimentação de dados (memória <-->
UCP, reg <--> reg)
 Operações de entrada e saida (leitura e escrita em
dispositivos de E/S)
 Operações de controle (desvio de seqüência de execução,
parada)
ISA – Arquitetura de instruções

• Componentes do nível ISA

• Conjunto de instruções
• Conjunto de registradores
• Tipos de dados
• Modos de endereçamento de memória
• Esquemas de E/S
ISA – Arquitetura de instruções
Exemplo: IAS (Princeton Institute of Advanced
Studies) (década de 50)
ISA – Arquitetura de instruções

Exemplo: IAS

Os registradores AC e
MQ são utilizados em
todas as operações
aritméticas.
Ac registra os bits mais
significativos e MQ os
menos significativos.
ISA – Arquitetura de instruções

Exemplo: Conjunto de instruções do IAS


ISA – Arquitetura de instruções

Exemplo: Conjunto de instruções do IAS


ISA – Arquitetura de instruções

Exemplo: Conjunto de instruções do IAS


ISA – Arquitetura de instruções

Como o Computador IAS soma 2 números:


• Supondo os números armazenados em
memória nas posições (endereços) 100 e 101.
• O resultado da soma deve ser armazenado
em memória na posição 102.
ISA – Arquitetura de instruções

Como o Computador IAS soma 2 números:


ISA – Arquitetura de instruções

Programa armazenado em memória:


ISA – Arquitetura de instruções
Registradores do Computador IAS:
ISA – Arquitetura de instruções

Tipos de arquiteturas comuns


ISA – Arquitetura de instruções

Tipos de arquiteturas comuns


ISA – Arquitetura de instruções

Tipos de arquiteturas comuns:

Operação: c = a + b
Representação de instruções
 Exemplo:

O conjunto de instruções de alguns processadores, como


por exemplo o Intel 8080, não possui instruções para
multiplicação ou divisão; portanto, um programa em
linguagem de máquina, nestes processadores, não pode
fazer multiplicação ou divisão diretamente (somente
através de combinação de outras instruções).

Já um programa em linguagem de nível mais alto pode


implementar comandos de multiplicação (ou divisão) que
combinem uma série de instruções binárias do conjunto
de instruções para fazer uma multiplicação (ou divisão)
através de repetidas somas (subtrações) ou por
deslocamento de bits.
Representação de instruções

Exemplo: Conjunto de instruções (Máquina hipotética)


Representação de instruções
 Formatos de instrução:

 Há diversos formatos de instruções, com características


particulares, vantagens e desvantagens.
O conjunto de instruções de uma máquina pode ser
constituído por instruções de diversos formatos.
 Esta flexibilidade permite a escolha da instrução
adequada para aplicação em cada caso. 
Conjunto de instruções pode ser analisado sob alguns
aspectos, por exemplo:
 Quantidade de instruções
 Quantidade de operandos
 Modo de endereçamento
Representação de instruções
 Formato das instruções:
Representação de instruções
 Código de Operação ou OPCODE - identifica a
operação a ser realizada pelo processador. É o
campo da instrução cuja valor binário identifica (é o
código binário) da operação a ser realizada. Este
código é a entrada no decodificador de instruções
na unidade de controle.

 Cada instrução deverá ter um código único que a


identifique.

 Operando(s) - é o campo da instrução cujo valor


binário sinaliza a localização do dado (ou é o
próprio dado) que será manipulado (processado)
pela instrução durante a operação.

Você também pode gostar