Você está na página 1de 29

Organizao

de
Computadores

1
3.1
3.1


CPU:
CPU:
Unidade
Unidade
de
de
Processamento
Processamento
Central
Central
Prof. Luiz Gustavo A. Martins
Arquitetura de von

Newmann

Unidade de Processamento Central (CPU):


Unidade de Processamento Central (CPU):
Mem Mem ria ria
Principal Principal
Registradores Registradores
Unidade de Controle Unidade de Controle
Unidade Unidade
L L gica e gica e
Aritm Aritm tica tica
PC
Sistema Sistema
de E/S de E/S
Unidade de Processamento Unidade de Processamento
Central (CPU) Central (CPU)
Sistema de Interconexo (Barramento) Sistema de Interconexo (Barramento)
A CPU o
c
c

rebro
rebro do computador.
Funes:

Interpreta
Interpreta

o e execu
o e execu

o dos programas
o dos programas da
memria principal;

Controle dos demais componentes


Controle dos demais componentes.
Componentes:
Registradores
Unidade Lgica e Aritmtica (ULA)
Unidade de Controle (UC)
Unidade de Processamento Central (CPU)

Unidade de Controle
Unidade de Controle (UC)
dispara
dispara cada um das
etapas de execuo da instruo.

Registradores
Registradores
armazenam
armazenam temporariamente dados e
instrues.

Unidade L
Unidade L

gica e Aritm
gica e Aritm

tica
tica (ULA)
processa
processa os
dados e atualiza os registradores.
CPU:

Execuo de uma instruo
A ULA o
n
n

cleo
cleo da CPU.

Executa as opera
Executa as opera

es
es de processamento de dados.
Podem ser diferentes para clculos com inteiros e ponto flutuante.
Ativa bits especiais (
flags
flags) como resultado da operao.
Ex: operao nula (bit Z), operao negativa (bit N), overflow, etc.
Est conectada a um grupo de registradores pelo
barramento interno, formando o
caminho de dados
caminho de dados.
Pode-se utilizar um
conjunto de
conjunto de
ULAs
ULAs para a
execu
execu

o
o
paralela
paralela de instrues.
Unidade Lgica e Aritmtica (ULA)
Caminho de Dados
Pequenas unidades de
mem
mem

ria
ria com
alta velocidade
alta velocidade.
Mais r Mais r pido pido que as memrias principal e cache.
Utilizam o barramento interno barramento interno da CPU.
Armazenamento
tempor
tempor

rio
rio de dados, instrues e
endereos em utilizao pelo processador.
Possuem
diferentes fun
diferentes fun

es
es, mas tm
um uso bem
um uso bem
definido
definido dentro da arquitetura.
Possibilitam operaes de
leitura e escrita
leitura e escrita.
Alguns permitem acesso indireto no nvel ISA.
Registradores
Registradores de
uso geral
uso geral:
Utilizados para armazenar dados que sero
processados ou produzidos
processados ou produzidos
pela ULA
pela ULA.
Ex: AX-DX, AC, MQ.
Coletivamente so chamados
conjunto de
conjunto de
registradores de dados
registradores de dados (data register file).
Registradores de
controle
controle:
Utilizados
no controle
no controle das operaes pela CPU e
nas
trocas de informa
trocas de informa

es
es com a MP.
Ex: PC, IR, MAR, MBR.
Alguns desses so
invis
invis

veis
veis aos programadores.
Registradores: Classificao
CPU possui 14 registradores de 16 bits visveis.
4 registradores de uso geral:
AX (Acumulador): armazena operandos e resultados dos clculos
aritmticos e lgicos.
BX (Base): armazena endereos indiretos.
CX (Contador): conta iteraes de loops ou especifica o n de
caracteres de uma string.
DX (Dados): armazena overflow e endereo de E/S.
Podem ser usados como registradores de 8 bits:
Ex: AH e AL (byte alto e byte baixo de AX).
Registradores (Processador 8088/8086)
4 registradores de segmento:
CS (Segmento de Cdigo): contm o endereo da rea
com as instrues de mquina em execuo.
DS (Segmento de Dados): contm o endereo da rea
com os dados do programa.
Geralmente aponta para as variveis globais do programa.
SS (Segmento de Pilha): contm o endereo da rea
com a pilha. Que armazena informaes importantes
sobre o estado da mquina, variveis locais, endereos
de retorno e parmetros de subrotinas.
ES (Segmento Extra): utilizado para ganhar acesso a
alguma rea da memria quando no possvel usar os
outros registradores de segmento.
Ex: transferncias de bloco de dados.
Registradores (Processador 8088/8086)
5 registradores de offset:
PC (Program Counter) ou IP (Instruction Pointer): usado
em conjunto com o CS para apontar a prxima instruo.
SI (source index) e DI (destiny index): utilizados para
mover blocos de bytes de um lugar (SI) para outro (DI)
e como ponteiros para endereamento (junto com os
registradores CS, DS, SS e ES).
BP (Base Pointer): usado em conjunto com o SS para
apontar a base da pilha.
Similar ao registrador BX.
Usado para acessar parmetros e variveis locais.
SP (Stack Pointer): usado em conjunto com o SS para
apontar o topo da pilha.
Registradores (Processador 8088/8086)
1 registrador de estado do processador (PSW) :
Registrador especial composto por sinalizadores (flags) que ajudam
a determinar o estado atual do processador.
Coleo de valores de 1 bit.
Apenas 9 bits so utilizados.
4 mais utilizados: ZF - zero; CF - carry ("vai um) ou borrow (vem um);
SF - sinal; e OF - overflow ou underflow.
Registradores (Processador 8088/8086)
Organizao dos Registradores

Famlia Intel
80386 80386 Pentium II Pentium II
(32 bits) (32 bits)
8086 8086
(16 bits) (16 bits)

Gerencia os recursos
Gerencia os recursos disponveis
e o fluxo de dados
e o fluxo de dados
entre os componentes.

Controla a execu
Controla a execu

o
o das instrues pela CPU:
Busca Busca as instrues ISA na memria principal.
Decodifica Decodifica o o das instrues (gerao dos sinais de controle
correspondentes).
Seq Seq enciamento enciamento das operaes.
Disparo da execu execu o o (envio dos sinais de controle).
Representa uma das partes mais
dif
dif

ceis de ser
ceis de ser
projetada
projetada em um computador, devido complexidade
dos processadores.
Unidade de Controle (UC)
Viso

Estrutural

da

Unidade

de Controle
CPU
Memria
de
Controle
Registradores

e
Decodificadores
da

Unidade

de
Controle
Lgica

de
Sequenciamento
Unid.
Controle
ULA
Registra-
dores
Bus
Interno
Unidade

de Controle

Ciclo de
Ciclo de
Busca
Busca
-
-
Execu
Execu

o
o
(
(
fetch
fetch
-
-
execute
execute
):
):
1.

Busca a instruo (memria IR);
2.

Altera PC para indicar a prxima instruo;
3.

Decodifica a instruo atual;
4.

Determina o endereo e busca o operando na memria
(quando necessrio);
5.

Executa a operao (sinais de controle);
6.

Armazena os resultados;
7.

Repete passos anteriores.
Ciclo de Instruo
COMPORTAMENTO_CPU()
1. while CPU = ativa do
2.

MAR

PC
3.

MBR

MEMRIA[MAR]
4.

IR

MBR:OpCode
5.

PC

PC + incremento
6.

DECODIFICA INSTRUO
7. if IR = ADD then
8.

MAR

MBR:Endereo
9.

MBR

MEMRIA[MAR]
10.

ACC

ACC + MBR
11. else if IR = JUMP then
12.

PC

MBR:Endereo

CPU: Ciclo de Instruo


Ciclo de busca da instru Ciclo de busca da instru o o
( (fetch fetch) )
Ciclo de execu Ciclo de execu o da instru o da instru o o
( (execute execute) )
Ciclo de Instrues: Diagrama de Estado
Estados envolvem transferncia de valores transferncia de valores entre processador e memria ou E/S
Estados envolvem opera opera es internas es internas ao processador

Movimenta
Movimenta

o processador
o processador

mem
mem

ria:
ria:
Transferncia de dados entre CPU e memria principal.

Movimenta
Movimenta

o processador
o processador
-
-
E/S:
E/S:
Transferncia de dados entre CPU e mdulos de E/S.

Processamento de dados:
Processamento de dados:
Realiza alguma operao lgica ou aritmtica nos dados.

Opera
Opera

es de controle:
es de controle:
Alterao na seqncia de execuo de instrues.
Ex: desvios condicionais e no-condicionais (jump)

Qualquer combina
Qualquer combina

o das opera
o das opera

es acima.
es acima.
Categorizao das Operaes (Execute)
Mquina Hipottica (32 bits):
Formato da instru Formato da instru o: o:
Formato de um dado inteiro: Formato de um dado inteiro:
Registradores internos da CPU: Registradores internos da CPU:
PC (Program Counter): endereamento da prx. instruo
IR (Instruction Register): instruo a ser executada
AC (Accumulator): armazenamento temporrio
Lista parcial de Lista parcial de OpCode OpCode: :
0001 = transferncia memria AC (load)
0010 = transferncia AC memria (store)
0011 = transferncia E/S AC (load)
0101 = adio do contedo da memria em AC
0111 = transferncia AC E/S (store)
Exemplo de Execuo de um Programa
OpCode OpCode operando ou endere operando ou endere o o
S S magnitude magnitude
Exemplo de Execuo de um Programa
Vari Vari vel A vel A
Vari Vari vel B vel B
Instru Instru es es
OBS: OBS: computadores
com conj. de conj. de
instru instru es mais es mais
complexas complexas podem
demandar menos menos
opera opera es es.
Mecanismos pelos quais outros componentes podem
interromper a seq
interromper a seq

ncia normal
ncia normal do processamento.
Visa melhorar a eficincia do processamento.

Fontes de interrup
Fontes de interrup

es mais comuns:
es mais comuns:
Programa (Software): Programa (Software): gerada por alguma condio que ocorra
como resultado da execuo de uma instruo.
Ex: overflow, diviso por zero, instruo ilegal etc.
Timer: Timer: gerada pelo processamento interno do relgio (timer).
Usado em sistemas sistemas multi multi - -tarefa tarefa preemptivos preemptivos para executar
certas funes a intervalos regulares de tempo intervalos regulares de tempo.
E/S: E/S: gerada pelo mdulo de E/S para sinalizar a concluso de concluso de
uma opera uma opera o o ou a ocorrncia de uma situa situa o de erro o de erro.
Falha de Hardware: Falha de Hardware: gerada na ocorrncia de uma falha.
Ex: queda de energia, erro de paridade de memria
Interrupo
Controle do Fluxo do Programa
(a) Sem interrupo (b) Interrupo: espera curta (c) Interrupo: espera longa
E/S r E/S r pida pida E/S lenta E/S lenta
Acrescentado ao
ciclo de instru
ciclo de instru

o
o.
Processador verifica se h interrupo:
Indicado por um sinal de interrup sinal de interrup o o.
Se no h interrupo, busca a prxima instruo na
memria.
Se houver interrupo pendente:
Suspende a execuo do programa corrente.
Salva o contexto na pilha pilha.
Configura PC com o endereo de incio da rotina de rotina de
tratamento da interrup tratamento da interrup o o (interrupt handler routine).
Processa a interrupo.
Restaura o contexto.
Continua a execuo do programa interrompido.
Ciclo de Interrupo
Ciclo de Instrues com Interrupo

Desabilitar interrup
Desabilitar interrup

es
es
:
:
O processador
ignora futuras interrup
ignora futuras interrup

es
es enquanto
processa uma interrupo.
Interrupo so
manipuladas na seq
manipuladas na seq

ncia
ncia que elas
acontecem.

Definir prioridades
Definir prioridades
:
:
Interrupes de baixa prioridade so interrompidas por
interrupes de alta prioridade.
Quando a interrupo de mais alta prioridade foi
processada, o processador retorna a interrupo
anterior.
Mltiplas Interrupes
Mltiplas Interrupes: execuo seqencial
Mltiplas Interrupes: execuo aninhada
Utilizado para
atender as rela
atender as rela

es de tempo requeridas
es de tempo requeridas
nas operaes (
sincronismo
sincronismo).
Novas operaes bsicas so iniciadas em um
novo ciclo
novo ciclo
de
de
clock
clock.
A execuo de uma instruo consome um certo n de
ciclos de clock.
Varia de acordo com o n n de opera de opera es b es b sicas requeridas sicas requeridas e o e o
tempo de execu tempo de execu o de cada o de cada uma delas.
O tamanho do ciclo de clock um dos fatores que
determinam o
desempenho de um processador
desempenho de um processador.
< tamanho do ciclo < tempo de execuo > n de
instrues/seg.
Sinal de Clock (ciclo)

Você também pode gostar