Você está na página 1de 33

Unidade Central de Processamento (CPU)

Processador

Bernardo Gonalves
Introduo ao Computador
2008/01
Componentes de um Computador (1)

 Computador Eletrnico Digital


 um sistema composto por:
 Memria Principal e Secundria
 Unidade Central de Processamento (CPU Central Processing
Unit) ou Processador
 Unidades de Entrada/Sada (I/O Input/Output Unit)
 Barramentos (vias de interligao)
Componentes de um Computador (2)

 Memria
 Funo: Armazenar dados e programas (conjunto de
instrues), permitindo o processamento automtico
dos dados.
 Tipos:
 Memria Principal (MP)
 Memria Secundria (MS)
 Para serem executados pela CPU, os programas devem
estar armazenados na MP.
Componentes de um Computador (3)

 Memria Principal (MP)


 Limitada (armazena somente alguns programas e dados).
 a memria de trabalho, nela so carregados todos os programas e dados
usados pela CPU no momento.
 Geralmente o seu contedo ser perdido uma vez que o computador seja
desligado.
 Ex.: RAM (Random Access Memory)
 Memria Secundria (MS)
 Grande capacidade de armazenamento
 Mais lentas do que a MP
 Geralmente no-volteis, permitindo guardar os dados permanentemente.
 Ex.: Discos rgidos (HD - Hard Disk), CDs, DVDs, disquetes, etc.
Componentes de um Computador (4)

 Unidade Central de Processamento Processador


 Funo: Executar os programas armazenados na MP, buscando
cada instruo, interpretando-a e em seguida a executando.
 Unidade de Controle (UC): busca instrues na MP e determina
o tipo de cada instruo.
 Unidade Lgica e Aritmtica (ULA): realiza um conjunto de
operaes necessrias execuo das instrues.
 Conjunto (Banco) de Registradores: pequena memria de alta
velocidade, usada para armazenar resultados temporrios e certas
informaes de controle.
Componentes de um Computador (5)

 Dispositivos de Entrada/Sada
 Funo: Servem para a comunicao do computador
com o meio externo.
 Transformam e transferem da representao interna dos
dados (sinais eletrnicos usados no computador) para a
representao externa usada por pessoas ou vice-versa.
 Ex.: impressoras, teclados, mouses, monitores, caixas
de som, etc.
Componentes de um Computador (6)
Componentes de um Computador (7)

 Barramentos (Bus)
 Funo: interconectar os demais elementos bsicos.

 Nesse modelo, possvel transferncia direta de dados entre os


dispositivos de E/S e a memria
 Transferncia feita por dispositivos especiais
 Controlador de DMA (Direct Memory Access) ou processador E/S
 Assumem momentaneamente o controle do barramento e isolam a
comunicao CPU com a memria e dispositivos E/S.
Componentes de um Computador (9)

 Tipos de barramentos:
 Barramento de Dados: responsvel pela transferncia de dados
e instruo entre os dispositivos.
 de trs estados entre a memria e a CPU e unidirecional com a
possibilidade de desconexo eltrica nos dispositivos E/S.
 Barramento de Endereos: conduz o endereo a ser selecionado
na memria ou dispositivos E/S.
 geralmente unidirecional entre a CPU (que define o endereo) e a
memria e os dispositivos E/S.
 Barramento de Controle: transfere os sinais de controle que
ativam ou desativam os dispositivos, que selecionam determinado
modo de operao ou sincronizam os circuitos.
 Formam a Arquitetura de Barramentos
Componentes de um Computador (10)
Unidade Central de Processamento - CPU (1)

 O processador o crebro do computador


 Funo: Executar os programas armazenados na memria principal,
buscando cada uma das instrues do programa, examinando-as, e
executando-as uma aps a outra.
 Gera sinais de controle, alm de reconhecer e responder sinais
externos (interrupes)
 A CPU responsvel pela superviso e controle de todo o
funcionamento da mquina e pela realizao das operaes lgicas e
aritmticas sobre os dados
 Clock (ou Relgio) a referncia de tempo necessria a CPU.
 Circuito eletrnico oscilador que gera uma forma de onda quadrada,
essencial para o seqenciamento das operaes eletrnicas realizadas pela
CPU.
 Est relacionado com a freqncia (taxa) de operao do processador.
Unidade Central de Processamento - CPU (2)

 Seo de Controle
 Unidade de Controle (UC): responsvel pela busca
das instrues na memria principal, sua decodificao
e execuo.
 Controla todos os componentes e dispositivos de um
computador, emitindo sinais eltricos (pulsos de
controle).
 A UC inicia ou termina a leitura de dados, controla o
armazenamento de palavras na memria, a execuo de
uma instruo, o incio de uma operao aritmtica, etc.
Unidade Central de Processamento - CPU (3)

 Seo de Controle
 Contador de Instruo (Program Counter PC):
quem armazena o endereo da (aponta para a)
prxima instruo a ser executada. Determina a
seqncia (fluxo) de execuo de um programa,
endereando instruo por instruo
 Registrador de Instrues (Instruction Register
RI): armazena (contm) a instruo que est sendo
executada.
Unidade Central de Processamento - CPU (4)

 Seo Lgica e Aritmtica


 Unidade de Lgica e Aritmtica (ULA): possui os
circuitos necessrios para executar operaes lgicas e
aritmticas.
 Exemplos: Somas, subtraes, determinao de sinal,
comparaes algbricas de nmeros, verificar se um nmero
maior ou menor que zero, etc.
 Possui tambm pelo menos um registrador encarregado
de armazenar nmeros a serem operados pela ULA ou
resultados de operaes. Esse registrador chamado de
Acumulador (ACC).
Ex. 1 (circuitos ULA): Comparadores

Existem tambm redes


de comparadores em
que a sada pode
assumir valores do
conjunto (G,E,S)
(Greater, Equal, Smaller)
Ex. 2 (circuitos ULA): Somadores
 No se pode imaginar um computador sem um somador
 Meio-Somador
 Adequado para somar os bits de mais baixa ordem de duas palavras
Unidade Central de Processamento - CPU (5)

 Conjunto (Banco) de Registradores


 Memria interna de pequena capacidade de
armazenamento, mas de alta velocidade, usada para
armazenar resultados temporrios e certas informaes
de controle
 Formada por:
 Registradores de uso geral: acessveis ao usurio no nvel
convencional de mquina
 Registradores de uso especfico: acessveis diretamente
apenas pela UC durante a execuo de um programa.
Unidade Central de Processamento - CPU (6)

CPU Genrica
Unidade Central de Processamento - CPU (7)

 Instrues
 So comandos atmicos fornecidos ao computador para que ele
execute uma tarefa especfica (soma, teste, desvio, etc)
 Uma srie dessas instrues constituem um programa.
 Cada processador tem um repertrio particular de instrues, cuja
rapidez de execuo um fator determinante na potncia de
computao (performance) da mquina
 Conforme proposto por Von Neumann, as instrues, tal qual os
dados, devem residir na MP, e dispostas sequencialmente.
 A seqncia de execuo pode ser alterada por Instrues de
Desvio
Unidade Central de Processamento - CPU (8)

 Formato das Instrues


Cdigo da Instruo Operando - Op
(OpCode) (Informao Complementar)

 OpCode: identifica a instruo a ser efetuada


 Op: identifica sobre o que (quem) a instruo manipular
 Existem instrues de 1, 2 ou 3 operandos
 O tamanho do OpCode indica o nmero mximo de instrues da
mquina.
 n bits => at 2n instrues
Unidade Central de Processamento - CPU (9)

 Palavras so as unidades de dados movidas entre a


memria e os registradores.
 Instrues Registrador-Memria
 Permitem que o contedo de palavras de memria seja
armazenado nos registradores (load) ou contedos de
registradores armazenados na memria (store)
 Referncias a uma palavra deve ser feita atravs de Endereos.
 Instrues Registrador-Registrador
 Tpico: busca dois operandos em registradores, coloca-os nas
entradas da ULA, realiza alguma operao sobre eles, e armazena o
resultado em um dos registradores
 Determina uma caminho de dados
Unidade Central de Processamento - CPU (10)

 Caminho de Dados
 Registradores
 ULA
 Controlado pela UC

 A velocidade do ciclo do
caminho de dados (Ciclo
de Instruo) determina,
em ltima anlise, a
velocidade do
processador.
Unidade Central de Processamento - CPU (11)

 Ciclo de Instruo
 Conjunto de aes (operaes) realizadas pela CPU para completar
a execuo de uma instruo
 Divide-se em Ciclo de Busca (Fetch Cycle) e Ciclo de
Execuo (Execution Cycle).

 Ciclo de busca
1. A UC l (busca) a instruo na memria e carrega (armazena) a
instruo em RI para ser decodificada e executada.
2. Atualizao do valor de PC (incremento), fazendo-o apontar para a
instruo seguinte
Unidade Central de Processamento - CPU (12)

 Ciclo de execuo
3. Determinao do tipo de instruo que est armazenada em RI
(decodificao)
4. Determinao de onde (endereo) uma palavra ser armazenada,
caso necessrio
5. Busca da palavra, se necessrio, e armazenamento em um dos
registradores do processador
6. Execuo da instruo
7. Retorno ao passo 1 para iniciar a execuo da instruo seguinte
Unidade Central de Processamento - CPU (13)
 Programa Interpretador
 Equivalncia em software do Ciclo de Instruo realizado em
hardware
 Emular um processador: interpretando instrues atravs de
software
 Pode ser feito, por exemplo, em C
Paralelismo (1)

 Maior gargalo para a velocidade de execuo de


instrues o acesso memria

 Execuo em Pipeline
 O processamento em pipeline divide a execuo de
instrues em vrias partes, cada uma das quais tratada
por um hardware dedicado exclusivamente a ela.
Paralelismo (2)

 Multiprocessadores
 composto de vrios processadores independentes que
compartilham uma mesma memria por um barramento
principal
 Podem ter tambm memrias locais
 Executam processamentos locais
 Liberam trfego do barramento principal
 necessrio gerenciar conflitos
Paralelismo (3)

(a) Multiprocessador sem memrias locais. (b) Multiprocessador com


memrias locais.
Desempenho de Computadores (1)
 Medindo o Desempenho
 Sistema Multiprogramado (sistema em que vrios usurios ou
programas compartilham a mesma CPU)
 Tempo de execuo de um programa pode ser descrito por:
 User CPU time: tempo de CPU gasto pelo usurio
 System CPU time: tempo de CPU gasto pelo sistema
 I/O (Input/Output) time: tempo gasto com entrada/sada

 Existem programas prprios para testar o desempenho de um


computador. Normalmente so chamados de benchmarks.
Desempenho de Computadores (2)
 Princpios Quantitativos para o Projeto de Computadores
 O principal princpio a ser seguido : Torne mais rpidas as tarefas mais
freqentes

 Lei de Amdahl
 A quantidade de melhoria de desempenho provida por um atributo da
arquitetura limitada pela quantidade de tempo que este atributo
utilizado.

 A lei de Amdahl define o speedup, que pode ser obtido por um atributo
particular de um sistema.

 Speedup = Tempo de execuo da tarefa inteira sem usar o novo atributo


Tempo de execuo da tarefa inteira usando o novo atributo quando possvel
Desempenho de Computadores (3)

 Desempenho da CPU
 O tempo de execuo T de um programa em uma determinada CPU, pode
ser expresso por:
T (segundos) = N (instruo) x C (ciclos/instruo) x S (segundos/ciclo)
 N o nmero total de instrues executadas
 C (ou clocks por instruo Clocks per Instruction (CPI)): a mdia do nmero
de ciclos por instruo
 S o nmero de segundos por ciclo

 Quanto menor o tempo, maior o desempenho.


 N, C e S so afetados primariamente: pela capacidade de otimizao do
compilador; pela arquitetura do processador e de seu conjunto de
instrues; e pela tecnologia empregada na implementao da mquina.
Desempenho de Computadores (11)
 Exerccio: Um projetista de compiladores est tentando decidir sobre
qual seqncia de instrues ele deve utilizar para implementar um
comando de uma linguagem de alto nvel. Ele dispe das seguintes
informaes:
 Existem duas seqncias de instrues possveis para implementar o
comando.
 Seqncia 1: duas instrues A, uma B e duas C;
 Seqncia 2: quatro A, uma B e uma C.
 Na mquina alvo, a instruo A tem o CPI de 1, B tem CPI de 2, e C de 3.

 1 - Que seqncia de cdigo executa mais instrues? 2 - Qual seqncia


executa mais rpido? 3 - Qual o CPI para cada seqncia?
 Respostas:
 1: seq1 = 2+1+2 = 5 instrues; seq2 = 4+1+1 = 6 instrues, logo, resposta =
seq2
 2: seq1 = 2x1 + 1x 2 + 2x3 = 10 ciclos; seq2 = 4x1 + 1x2 + 1x3 = 9 ciclos
 3: CPI(seq1) = 10 ciclos/5 instrues = 2 CPI; CPI(seq2) = 9 / 6 = 1.5 CPI
Referncias

 Andrew S. Tanenbaum, Organizao Estruturada de Computadores, 4


edio, Prentice-Hall do Brasil, 2001.
 John L. Hennessy and David A. Patterson, Arquitetura de Computadores:
Uma Abordagem Quantitativa. 3 edio. Editora Campus, 2003.
 Lcia Helena M. Pacheco, Viso Geral de Organizao Estruturada de
Computadores e Linguagem de Montagem. Universidade Federal de
Santa Catarina. Centro Tecnolgico, Departamento de Informtica e de
Estatstica.

Você também pode gostar