
Todo processador é constituído de
circuitos capazes de realizar algumas
operações primitivas:
◦ Somar e subtrair
◦ Mover um dado de um local de
armazenamento para outro
◦ Transferir um dado para um dispositivo de
saída
◦ Etc...

A função do processador é executar
programas:
◦ Um programa executável é constituído de
um conjunto de instruções de máquina
seqüencialmente organizadas

Para que a execução de um programa
tenha início é necessário que:
◦ As instruções devem estar armazenadas
em células sucessivas, na MP ou MC
◦ O endereço da primeira instrução deve
estar armazenado no processador

A partir daí, o processador:
◦ Busca uma instrução (op. de leitura), uma
de cada vez, cujo endereço deve estar
armazenado em um registrador específico
◦ Interpreta a instrução
◦ Busca os dados (operandos) onde
estiverem armazenados, para trazê-los
até o processador
◦ Executa efetivamente a operação com os
dados buscados e guarda o resultado no
local definido na instrução
◦ Reinicia o processo buscando uma nova
instrução

Os passos descritos formam um ciclo
de instrução e ele é repetido até que
seja encontrada uma instrução de
parada ou até que ocorra algum erro
Início
Buscar a próxima
instrução
Interpretar instrução
(decodificar)
Executar instrução
Armazenar
resultados
Buscar operandos
Fim

As atividades do processador estão
divididas em duas categorias:
◦ Função de processamento
◦ Função de controle
 Busca, interpretação e controle da
execução das instruções
 Controle dos componentes do sistema

Para efeito didático, nosso
processador executará as instruções
sequencialmente
◦ Processo lento e pouco eficiente

Os processadores atuais utilizam a
técnica pipeline
◦ Execução de instruções em paralelo


Veremos o funcionamento do pipeline em um
módulo separado...
Apenas para contextualizar, considere a
seguinte situação:
◦ Processo de lavagem, secagem e armazenamento
de 4 trouxas de roupas sujas (A, B, C e D);
◦ As trouxas não podem ser misturadas
◦ As roupas de determinada trouxa devem ser
lavadas em uma máquina, secadas em outra,
dobradas, e por último armazenadas (4 passos)
◦ Cada passo consome 30 minutos
Lavagem de Roupas sem
Pipeline


Serão gastas 8 horas para lavar as 4 trouxas
O tempo gasto para lavar cada trouxa é de 2
horas


O que podemos fazer para otimizar o
desempenho da lavagem de roupas?
Será que podemos iniciar o processo de
lavagem da segunda trouxa assim que a
máquina for liberada pela lavagem da
primeira trouxa?
Lavagem de Roupas em
Pipeline


Com a sobreposição das 4 tarefas, as
trouxas ficarão prontas em 3 horas e
meia
O tempo decorrido entre o momento em
que um par de meias é colocado na
lavadora até o momento em que ele
estará seco, dobrado e guardado no
armário não diminui com a técnica de
pipeline
◦ O tempo gasto para lavar cada trouxa
continua sendo de 2 horas

O diagrama de blocos que veremos
ilustra os principais componentes de
um processador e sua organização
lógica
◦ Não se trata de uma organização física

Os componentes principais são:
◦ ULA (Unidade Lógica Aritmética)
◦ UC (Unidade Controle)
◦ Banco de Registradores

Registradores específicos

Registradores de propósito geral: 0 a
◦ RI - registrador de instrução: armazena
instrução corrente em execução
◦ CI (contador de instruções) ou PC
(Program Counter): armazena o endereço
da próxima instrução
◦ ACC: acumulador
◦ RDM: registrador de dados da memória
◦ REM: registrador de endereço da memória
R-1
Barramento
de dados
ACC
ULA
Registradores
0 a R-1
PC
RDM
REM
Barramento
de endereços
RI
Relógio
UC
Decodificador
de instruções
Barramento
de controle
Operações da ULA:

Operação XOR
Soma

Multiplicação

Subtração

Divisão

Operação AND






Operação OR

Deslocamento à direita
Deslocamento à esquerda
Incremento
Decremento

As operações podem utilizar:
◦ Dois operandos pois a ULA tem somente
duas entradas
◦ Um operando no caso do incremento ou
decremento

A saída da ULA está ligada diretamente aos
registradores, através do barramento
interno


A capacidade de processamento de uma
CPU (velocidade que ela executa uma
instrução) é determinado pelo tamanho da
palavra
O tamanho da palavra determina o tamanho
da ULA, do barramento interno e dos
registradores

Para comparar processadores em relação ao
tamanho da palavra, considere a seguinte
operação:
◦ 3A25 + 172C ; que corresponde a (A + B)
◦ Ambos números inteiros, sem sinal com 16 bits
de tamanho cada um
Processador com palavra de 8 bits
A operação de soma é
realizada em duas etapas
8 bits
CPU
MP
8 bits
3A
25 + 2C
3A + 17
25
Regs de 8 bits
17
2C
8 bits
Barramento de dados
A
B
Processador com palavra de 16 bits
A operação de soma dos mesmos números
é realizada em uma etapa
16 bits
CPU
MP
8 bits
3A
3A25 + 172C
25
Regs de 16 bits
17
2C
16 bits
Barramento de dados
A
B

O tamanho da palavra influencia
também no tamanho do barramento
de dados
◦ Para melhor desempenho, o BD deve ter
uma palavra de largura
◦ Se a largura do barramento for menor, por
exemplo, metade da palavra, seriam
necessários dois ciclos de tempo do
barramento

O tamanho da palavra influencia
também na organização da memória
◦ A memória está organizada em bytes mas
os dados que se movimentam entre
processador e memória devem estar
organizados em palavras
 Se isto não ocorrer, o processador ficará em
estado de espera (wait state) até que a palavra
completa seja transferida
 A transferência irá gastar mais de um ciclo de
memória


Dispositivo gerador de pulsos cuja duração é
chamada de ciclo
A quantidade de vezes que o pulso se repete
em um segundo define a freqüência
◦ A freqüência é usada para definir a velocidade do
processador
Durante um ciclo de clock ocorre a
realização de uma operação elementar
do ciclo de instrução
 Como uma operação elementar não se
realiza em um só passo, o ciclo de
clock é dividido em ciclos menores
(subciclos)
 Os passos de uma operação elementar
denominam-se microoperações

Processador: Relógio
Um clock t0 e seus 5 subclocks
Relógio
t0
Gerador de
tempo
t1
t2
t3
t4
t5
Unidade de
controle
Início
Buscar a próxima
instrução
Interpretar instrução
(decodificar)
Passo elementar que ocorre
em um ciclo de clock
Executar instrução
Armazenar
resultados
Buscar operandos
Fim
Colocar o endereço da
instrução a ser
buscada no REM
REM
(PC)
Incrementar o CI para
armazenar o endereço
da próxima instrução
PC
PC + N
subciclo
Microoperações
Para a busca
de uma instrução
Buscar a próxima
instrução
O reg. de instruções
recebe a instrução
buscada
RI
RDM
O RDM recebe a
instrução
RDM
Mem
REM
ULA
(PC)
Barramento
de dados
ACC
PC
Registradores
0 a R-1
1000
RDM
REM
1000
1000
RI
Relógio
UC
Decodificador
de instruções
Barramento
de controle
1000
Barramento
de endereços
CI
ULA
1004
CI + N
PC
ACC
Barramento
de dados
1000
1004
Registradores
0 a R-1
RDM
1000
REM
1000
Barramento
de endereços
RI
Relógio
UC
Decodificador
de instruções
Barramento
de controle
RDM
ULA
Mem
ACC
PC
Registradores
0 a R-1
1004
Barramento
de dados
RDM
A=B+C
REM
Barramento
de endereços
RI
Relógio
UC
Decodificador
de instruções
Barramento
de controle
RI
ULA
RDM
ACC
PC
Registradores
0 a R-1
1004
Barramento
de dados
RDM
A=B+C
REM
A=B+C
A = B + C RI
Relógio
UC
Decodificador
de instruções
Barramento
de controle
Barramento
de endereços
Download

10 – CPU