Escolar Documentos
Profissional Documentos
Cultura Documentos
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
rebro
rebro do computador.
Funes:
Interpreta
Interpreta
o e execu
o e execu
o dos programas
o dos programas da
memria principal;
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
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)