Vous êtes sur la page 1sur 47

UNIDADE II

Organização de
Computadores

Prof. Antônio Palmeira


Conteúdo da Unidade II

 Entender a organização do computador;

 Conhecer com mais detalhes e clareza a função do processador;

 Conhecer as instruções de máquina de um processador;

 Abordar questões voltadas ao paralelismo.


Organização do Computador

 Processador (formado pela Unidade Lógica e Aritmética, Unidade de


Controle e Registradores);
Memória
 Entrada/Saída;

 Memória. Unidade lógica e


Unidade de aritmética
controle Acumulador

Entrada Saída
Fonte: Livro-texto
Processador

 É o cérebro do computador;

 Também conhecido como CPU (Central Processing Unit);

 Utiliza a linguagem de máquina (binário 0 e 1);

 É responsável por executar programas que ficam carregados na memória principal.


Funções do Processador

Busca de instrução na memória:


 O processador lê uma instrução da memória (registrador, cache,
memória principal).

Interpretação da instrução:
 A instrução é decodificada para determinar qual ação é requerida.

Busca de dados:
 A execução de uma instrução pode requerer a leitura de
dados da memória ou módulo de E/S.
Funções do Processador

Processamento de dados:
 A execução de uma instrução pode requerer efetuar alguma operação aritmética
ou lógica com os dados.

Escrita de dados:
 Os resultados de uma execução podem requerer gravar dados para memória ou
um módulo de E/S.
Componentes do Processador

Unidade de Controle:
 Busca informações na memória principal.

Unidade Lógica e Aritmética:


 Realiza os cálculos e a comparação entre os valores.

Registradores:
 Compõem uma memória de alta velocidade (interna à
CPU), utilizada para armazenar resultados temporários e
para o controle do fluxo de informações.
Hierarquia das Memórias e os Registradores

 Registrador é o elemento superior no nível de hierarquia de memória.

Fonte: Livro-texto
Organização dos Registradores

Os registradores no processador desempenham dois papéis:

Registradores visíveis ao usuário:


 Possibilitam que o programador de linguagem de máquina minimize as
referências à memória.

Registradores de controle e estado:


 Usados pela unidade de controle para controlar a operação do processador.
Tipos de Registradores

Contador de Programa:
 Indica a próxima instrução a ser executada.

Registrador de Instrução:
 Contém a instrução que está sendo executada.

Registrador de Dados:
 É utilizado para armazenar dados.

Registrador de Endereço:
 Recebe o endereço de um determinado objeto.
Registradores de Entrada e Saída da ULA

A+B

A Registradores
B
Registrador de
entrada da ULA
Fonte: Livro-texto (adaptado) A B Barramentos de
entrada da ULA

ULA

Registrador de
A+B saída da ULA
Interatividade

O registrador que indica a próxima instrução a ser executada é conhecido como:

a) Contador de Programa.
b) Registrador de Instrução.
c) Registrador de Dados.
d) Registrador de Endereço.
e) Registrador de Barramento.
Instruções de Máquina

 São os pontos centrais na arquitetura de um processador;

 São conjuntos de instruções que determinam a operação do processador;

 Influenciam as operações realizadas pela unidade lógica e aritmética e pelos


registradores.
Tipos Gerais de Instrução

Instruções aritméticas e lógicas:


 Realizam operações aritméticas sobre números inteiros (adição e subtração) e
operações lógicas bit-a-bit (AND, OR).

Instruções de movimentação de dados:


 Transferem dados entre registradores ou entre registradores e a memória principal.

Instruções de transferência de controle:


 Transferem a execução para uma determinada instrução
dentro do código do programa.
Instruções para Operações Especializadas

Várias arquiteturas de processadores oferecem outras categorias de instrução,


voltadas para operações especializadas:

 Instruções de ponto flutuante;

 Instruções decimais;

 Instrução de manipulação de bits;

 Instrução de manipulação de strings.


Elementos de uma Instrução

Código da Operação (Opcode):


 Especifica a operação a ser realizada.

Referência ao operando fonte:


 Operandos que são entradas para a operação.

Referência ao operando destino:


 Operandos que expressam o resultado.

Referência à próxima instrução:


 Informa onde se deve buscar a nova instrução.
Localização dos Operandos (Endereçamento)

Memória principal ou virtual:


 Descoberta a partir do endereço de memória designado na instrução.

Registrador do processador:
 Descoberto a partir da referência ao registrador designado na instrução.

Imediato:
 O valor do operando está descrito no campo da instrução.

Dispositivo de E/S:
 Instrução que especifica o módulo e o dispositivo de E/S.
Formato de uma Instrução

 A instrução é representada por uma sequência de bits (números binários 0 e 1);

 A instrução é dividida em campos, correspondentes aos elementos


constituintes da instrução;

 É prática comum a utilização de representações simbólicas das instruções.


Tipos de Formatos de Instruções

OPCODE

OPCODE OPERANDO 1

OPCODE OPERANDO 1 OPERANDO 2

OPCODE OPERANDO 1 OPERANDO 2 OPERANDO 3


Opcode

São representados por abreviações, chamadas de mnemônicos, que


indicam a operação.
 ADD: adiciona;
 SUB: subtrai;
 MUL: multiplica;
 DIV: divide;
 LOAD: carrega dados da memória;
 STOR: armazena dados na memória.
Exemplo de uma Instrução

Exemplo: ADD R, X

Opcode: ADD
Endereços dos Operandos: R e X
 Esta instrução pode significar somar o valor contido no local de dados X com o
conteúdo do registrador R.
 Nesta instrução, a operação é executada sobre o conteúdo de um local e
não sobre o endereço.
Arquitetura das Instruções

Arquitetura memória-memória:
 Usa três operandos e todos podem estar na memória.

Arquitetura registrador-memória:
 Usa dois operandos, sendo que apenas um deles pode residir na memória.

Arquitetura registrador-registrador:
 Usa três operandos, todos em registradores.
Interatividade

Qual dos itens abaixo se trata de um tipo geral de instrução aplicado a


qualquer processador?

a) Instruções de ponto flutuante.


b) Instruções de movimentação de dados.
c) Instruções decimais.
d) Instrução de manipulação de bits.
e) Instrução de manipulação de strings.
Tipos de Operandos

Os principais tipos de operandos são:

 Endereços;

 Números;

 Caracteres;

 Dados Lógicos.
Tipos de Operações (Opcodes)

Os tipos mais gerais de opcodes são:

 Transferência de dados;
 Aritmética;
 Lógica;
 Conversão;
 E/S;
 Transferência de controle.
Operação de Transferência de Dados

Para que essa instrução aconteça, é necessário:


 Local dos operandos de origem e destino;
 Extensão dos dados a serem transferidos;
 Modo de endereçamento para cada operando.

Exemplos:
 MOVE – transfere a palavra da origem para o destino;
 SET – transfere 1s para o destino.
Operações Aritméticas

 Envolvem operações aritméticas da CPU como adição, subtração,


multiplicação e divisão.

Outros exemplos:
 ABSOLUTE – apanha o valor absoluto do operando;
 NEGATE – inverte o sinal do operando;
 INCREMENT – soma 1 ao operando;
 DECREMENT – subtrai 1 do operando.
Operações Lógicas

 Operações utilizadas na manipulação de bits (números binários 0 e 1).

Exemplos:
 OR – operação “OU”;
 AND – operação “E”;
 XOR – operação “OU” exclusivo;
 NOT – inversão de bit.
Outras Operações

 Operações de Conversão:
Ex: Conversão Decimal/Binário.

 Operações E/S:
Ex: Input (Leitura) e Output (Escrita).

 Operações de Transferência de Controle:


Ex: Jump (Desvio) e Halt (Término).
Ações do Processador para Diversos Tipos de Operação

Transferência de dados:
 Transferência de dados de um local para outro;
 Determinação do endereço da memória;
 Verificação de cache;
 Início da leitura e escrita.
Aritmética:
 Pode envolver transferência de dados;
 Realiza funções na ULA;
 Define códigos de condição.
Ações do Processador para Diversos Tipos de Operação

Conversão:
 Semelhante à aritmética e lógica, podendo envolver lógica especial
para as conversões.
Transferência de Controle:
 Atualização de contador de programa;
 Para chamada e retorno de sub-rotina.
E/S:
 Determina E/S mapeada na memória.
Lógica:
 O mesmo que aritmética.
Ciclo da Instrução

 Trazer a próxima instrução da memória até o registrador;

 Alterar o contador de programa para indicar a próxima instrução;

 Determinar o tipo da instrução;

 Se a instrução necessitar de uma palavra da memória, determinar onde essa


palavra está;
Ciclo da Instrução

 Trazer a palavra para dentro de um registrador da CPU, se necessário;

 Executar a instrução;

 Se as interrupções estão habilitadas e ocorrer alguma, salva-se o estado do


processo, atende-se a interrupção e depois retorna-se ao passo final;

 Voltar à etapa 1 para iniciar a execução da instrução seguinte.


Interatividade

Qual dentre as operações relacionadas emite comandos para um módulo de entrada


e não requer uma ação da unidade lógica?

a) Transferência de dados.
b) Aritmética.
c) Lógica.
d) Conversão.
e) E/S.
Clock Interno

 Também conhecido como clock do processador;


 São sinais elétricos através de um cristal de quartzo que realiza a sincronização
entre as instruções a serem processadas;
 As oscilações são mensuradas em hertz (Hz), unidade padrão de medidas de
frequência, que indica o número de ciclos que ocorre em certo tempo, no
caso, segundos.

Ex: processador de 500 MHz lida com 500 milhões de operações por ciclo de clock.
RISC versus CISC

 No final da década de 1970, existia uma deficiência entre o que as máquinas


podiam fazer e o que as linguagens de alto nível exigiam.

RISC (Reduced Instruction Set Computer)


X
CISC (Complex Instruction Set Computer)
RISC

 Conjunto de instruções reduzidas e menos complexas;


 Execução da instrução em um ciclo de clock;
 Alto uso de pipeline;
 Poucas instruções e modos de endereçamento;
 Instruções executadas pelo hardware;
 Processador precisa de um grande número de registradores.
CISC

 Conjunto de instruções complexas;


 Qualquer instrução pode referenciar a memória;
 Facilidade de programar processador;
 Instruções com vários formatos;
 Instruções de tamanho variável de acordo com o modo de endereçamento;
 Instruções que requerem muitos ciclos de clock.
Paralelismo no Nível de Instrução

Maximização da performance do computador:


 Aumento da taxa de execuções de instruções por segundo;
 Fazer com que o processador realize atividades em paralelo (paralelismo).

Paralelismo ou Pipeline é a técnica de dividir a execução da instrução em várias


partes, e cada uma será manipulada por uma parte específica do processador.
Modelo de Pipeline

S1 S2 S3 S4 S5

Unidade de Unidade de Unidade de Unidade de Unidade de


busca de decodificação busca de execução de gravação
instrução de instrução operando instrução

(a)
S1: 1 2 3 4 5 6 7 8 9

S2: 1 2 3 4 5 6 7 8
Fonte: Livro-texto (adaptado)
S3: 1 2 3 4 5 6 7
S4: 1 2 3 4 5 6
S5: 1 2 3 4 5

1 2 3 4 5 6 7 8 9
Tempo
(b)
Arquiteturas Superescalares

 Manter na unidade de execução S4


mais de uma ULA, uma unidade ALU
para LOAD, uma para STORE.

ALU
S1 S2 S3 S5
Unidade de Unidade de Unidade Unidade de
busca de decodificação de busca de LOAD
gravação
de instrução operando
instrução
Fonte: Livro-texto (adaptado)

STORE

Ponto
flutuante
Paralelismo no Nível do Processador

 Paralelismo no nível de instrução é insuficiente, devido à dependência das


instruções;

 No paralelismo no nível de instrução, a dissipação de calor é cada vez maior em


relação às execuções;

 Consiste em projetar computadores com várias CPUs.


Multiprocessadores

 Multiprocessadores: composto de vários processadores independentes


compartilhando a mesma memória.

Memória
Compartilhada

CPU CPU CPU CPU

Fonte: Livro-texto (adaptado)


Barramento
Multicomputadores

 Multicomputadores: cada CPU tem a sua memória local que só é acessada por
aquele processador, no entanto, pode haver uma quantidade de memória
compartilhada entre as CPUs. Memórias
locais

Memória
Fonte: Livro-texto (adaptado) Compartilhada

CPU CPU CPU CPU

Barramento
Resumo da Unidade

 Compreendemos a organização do computador;

 Conhecemos com mais detalhes e clareza a função do processador;

 Conhecemos as instruções de máquina de um processador;

 Abordamos questões voltadas ao paralelismo.


Interatividade

Qual dos itens abaixo não diz respeito ao Conjunto de Instruções Complexas
(CISC)?

a) Qualquer instrução pode referenciar a memória.


b) Facilidade de programar processador.
c) As instruções possuem formato único.
d) Instruções de tamanho variável de acordo com o modo de endereçamento.
e) Instruções que requerem muitos ciclos de clock.
ATÉ A PRÓXIMA!

Vous aimerez peut-être aussi