Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Prof. Antônio Palmeira
UNIDADE II
Organização de 
Computadores
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);
 Entrada/Saída;
 Memória.
Memória
Unidade de
controle
Entrada Saída
Acumulador
Unidade lógica e
aritmética
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.
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.
Funções do Processador
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.
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.
Tipos de Registradores
Registradores de Entrada e Saída da ULA
A+B
A
B
A B
ULA
A+B
Registradores
Registrador de
entrada da ULA
Barramentos de
entrada da ULA
Registrador de
saída da ULA
Fonte: Livro-texto (adaptado)
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.
Resposta
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.
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.
Elementos de uma Instrução
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.
Localização dos Operandos (Endereçamento)
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
OPCODE
OPCODE
OPERANDO 1
OPERANDO 1
OPERANDO 1
OPERANDO 2
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.
Resposta
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.
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ção de Transferência de Dados
 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 Aritméticas
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çõesE/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.
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.
Ações do Processador para Diversos Tipos de Operaçã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.
Ciclo da Instrução
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.
Resposta
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.
 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.
Clock Interno
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)
 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.
RISC
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
Unidade de
busca de
instrução
Unidade de
decodificação
de instrução
Unidade de
busca de
operando
Unidade de
execução de
instrução
Unidade de
gravação
(a)
(b)
S1 S2 S3 S4 S5
Tempo
1 2 3 4 5 6 7 8 9
S1:
S2:
S3:
S4:
S5:
1
1
2
2
1
4 5 6 7 8 93
3
2
1
4
3
2
1
5
4
3
2
6
5
4
3
7 8
6 7
5
4
6
5
Fonte: Livro-texto (adaptado)
Arquiteturas Superescalares
 Manter na unidade de execução 
mais de uma ULA, uma unidade 
para LOAD, uma para STORE.
S1 S2 S3 S5
S4
ALU
ALU
LOAD
STORE
Ponto
flutuante
Unidade de
busca de
instrução
Unidade de
decodificação
de instrução
Unidade
de busca de
operando
Unidade de
gravação
Fonte: Livro-texto (adaptado)
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.
Fonte: Livro-texto (adaptado)
CPU CPU CPU CPU
Memória
Compartilhada
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
CPU CPU CPU CPU
Memória
Compartilhada
Barramento
Fonte: Livro-texto (adaptado)
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.
Resposta
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!

Mais conteúdos dessa disciplina