Você está na página 1de 26

Arquitetura e Organização de Computadores

Professor Dr. Jean Miler Scatena


Email: Jean.scatena@fatec.sp.gov.br
Processadores


Também conhecidos como CPU (Central Processing
Unit) – Unidade Central de Processamento

Dentro de um computador o processador é interligado
com os demais dispositivos através do Barramento.

O processadores são baseados na arquitetura de Von
Neumann.
Arquitetura de John Von Neumann
Organização dos Computadores


Essa arquitetura é composta por uma Unidade Lógica
Aritmética (ULA) e por um conjunto de barramento que
interliga diversos componentes.

A CPU é composta por:
– Unidade de controle
– Unidade Aritmética e lógica
– Conjunto de registradores que possuem tamanhos e
funções específicas
Organização dos Computadores


Dentro os registradores mais importantes temos:
– Contador de Programa (Program Counter – PC), cujo valor aponta
para a próxima instrução a ser buscada na memória para ser
executada no processador
– Registrador de Instrução (Instruction Register – IR), que armazena a
instrução que está sendo executada no momento.
– A maioria dos processadores tem vários outros registradores, alguns
de propósito geral e outros de propósito específico.
Organização dos Computadores
Unidade Lógica Aritmética (ULA)


A ULA realiza operações de soma e subtração, além de
operações simples sobre 2 entradas.

O resultado dessa operação é armazenada no registrador de
saída.

O registrador de saída coloca esse dado no registrador do
caminho de dados ou escreve na memória.
Unidade Lógica Aritmética (ULA)

A+B

A
B

A B

ULA

Registrador de Saída
Unidade Lógica Aritmética (ULA)


O ciclo do caminho de dados, ocorre quando:
– 2 operandos vem dos registradores e alimentam a ULA;
– Assim que os operandos entram na ULA, o processamento ocorre e o
resultado é armazenado;
– A velocidade do ciclo do caminho de dados determina a velocidade
do processador.
Execução de Instruções

Para executar a instrução, ela precisa ser dividida em uma série de
pequenos passos:
– Busca da próxima instrução na memória e armazenamento da instrução no registrador
de instruções (IR);
– Atualização do valor do program counter (PC), fazendo-o apontar para a instrução
seguinte;
– Determinação do tipo da instrução que está armazenada no registrador de instruções;
– Se a instrução precisar de uma palavra armazenada na memória, nesse passo deve ser
determinado onde essa palavra está armazenada;
– Busca da palavra, se necessário, e armazenamento em um dos registradores do
processador;
– Execução da Instrução;
– Retorno ao passo 1 para iniciar a execução da instrução seguinte;
Execução de Instruções

Essa seqüência de passos é conhecida como ciclo da busca-
decodificação-execução.

Esse ciclo de execução de instrução é baseado em instruções
diretamente executadas no hardware

Para o computador se tornar viável é necessária uma linguagem de fácil
programação.

Para que essa linguagem seja funcional deverá existir um Interpretador
que converte as instruções do programa em um conjunto de ações
relacionadas diretamente com o hardware

A relação entre o hardware e o interpretador de linguagem é chamado
de arquitetura, sendo que essa arquitetura define a compatibilidade
entre as máquinas.
Execução de Instruções

Devido a evolução dos computadores, com o passar do
tempo, eles passaram a ter um conjunto maior de
instruções.

As principais vantagens dos computadores interpretados
eram:
– A capacidade de corrigir no campo eventuais erros na implementação de
instruções;
– A oportunidade de incorporar novas instruções as máquinas existentes, a
um custo muito baixo;
– Projeto estruturado que permitia o desenvolvimento, o teste e a
documentação de instruções complexas de maneira muito eficiente;
RISC x CISC

Com o grande desenvolvimento dos computadores na década de 1970, o
projetistas fizeram experimentações com instruções muito complexas
que eram possibilitadas pelo interpretador.

Tentativa de preencher a “lacuna semântica” entre as máquinas e as
linguagens de programação de alto nível

Devido a briga acirrada entre os projetos com conjunto de instruções
mais simples e os projetos com conjunto de instruções complexas,
nasceu os termos RISC e CISC

RISC (Reduced Instruction Set Computer) – Computador com conjunto
de instruções reduzidas

CISC (Complex Instruction Set Computer) Computador com conjunto de
instruções Complexas
RISC x CISC

Por definição as máquinas RISC deveriam assumir o mercado

Por razões de investimentos e questões de mercado, as
máquinas CISC assumiram o mercado através da INTEL.

A partir do processador 486, a Intel integrou um núcleo RISC
que executa instruções mais simples com um núcleo CISC
para a execução de instruções mais complexas.
Princípios dos Projetos RISC

Com o passar do tempo, alguns recursos existentes nas
arquiteturas RISC foram sendo aceitas como um bom modo de
projetar computadores.

Esses conceitos são:
– Todas as instruções são executadas diretamente por hardware
– Maximize a taxa de execução de instruções
– Instruções devem ser fáceis de decodificar
– Somente Load e Store devem referenciar a memória
– Providencia bastantes registradores
Paralelismo

Com o intuito de melhorar a performance das máquinas, os
arquitetos voltam-se para o paralelismo (execução de 2 ou
mais instruções ao mesmo tempo)

Existem 2 formas de paralelismo:
– Nível de Instrução
– Nível de Processador
Paralelismo no Nível de Instruções

Nesse paralelismo é explorado a execução de diversas
instruções ao mesmo tempo

Execução em Pipeline (Estágios)
– Utiliza registradores chamados de buffer de pré-busca (Busca a
instrução na memória
– Divide o processamento das instruções em diversas partes
executadas em paralelo.
Paralelismo no Nível de Instruções

E1 E2 E3 E4 E5
Busca de Decodificação Busca de Execução da Unidade de
Instrução da Instrução Operando Instrução Escrita

Tempo 1 2 3 4 5 6 7 8

E1 1
E2
E3
E4
E5
Paralelismo no Nível de Instruções

E1 E2 E3 E4 E5
Busca de Decodificação Busca de Execução da Unidade de
Instrução da Instrução Operando Instrução Escrita

Tempo 1 2 3 4 5 6 7 8

E1 1 2
E2 1

E3
E4
E5
Paralelismo no Nível de Instruções

E1 E2 E3 E4 E5
Busca de Decodificação Busca de Execução da Unidade de
Instrução da Instrução Operando Instrução Escrita

Tempo 1 2 3 4 5 6 7 8

E1 1 2 3 4 5 6 7 8

E2 1 2 3 4 5 6 7

E3 1 2 3 4 5 6

E4 1 2 3 4 4

E5 1 2 3 4
Paralelismo no Nível de Instruções

Arquiteturas Superescalares
– São Arquiteturas que possuem 5 níveis no E4
(Execução da Instrução)
– Utilizado preferencialmente nas arquiteturas RISC
– Passou a ser utilizado na arquitetura INTEL a partir do
processador PENTIUM
Paralelismo no Nível de Instruções
E1 E2 E3 E4 E5

Decodificação Busca de Execução da Unidade de


da Instrução Operando Instrução Escrita
Busca de
Instrução
Decodificação Busca de Execução da Unidade de
da Instrução Operando Instrução Escrita

ULA

E1 E2 E3 ULA E5
Busca de Decodificação Busca de Unidade de
LOAD
Instrução da Instrução Operando Escrita

STORE

Ponto
Flutuante
Paralelismo no Nível de Processadores

Utiliza múltiplos núcleos para o processamento paralelo
das instruções.

As instruções paralelizadas não podem ter
interdependências
Histórico dos Processadores da INTEL
Histórico dos Processadores da INTEL
Processador RISC da NVIDIA

Você também pode gostar