Documente Academic
Documente Profesional
Documente Cultură
1 Introduo
Uma unidade central de processamento, ou CPU, o
principal componente dos computadores digitais. a
parte do computador responsvel pela manipulao e
transformao dos dados ou informaes [4].
Desde o primeiro computador digital, at hoje,
utilizado no projeto do processador a topologia
denominada arquitetura de von Newmann. O que
diferencia a arquitetura dos atuais processadores so a
tecnologia de fabricao, velocidade de processamento,
complexidade do projeto, dentre outras [3].
Este artigo prope o projeto de uma CPU simples,
que contm as caractersticas bsicas de um processador
digital [2]. Tem como objetivo servir de exemplo para
ensino em curso de graduao em Cincia da
Computao na Universidade Federal de Lavras, em
especial para a disciplina de Arquitetura de
Computadores.
2 A unidade central de processamento
A CPU proposta neste artigo possui a seguinte estrutura
externa bsica, mostrada na Figura 1.
Os sinais de entrada e sada da CPU proposta
possuem as seguintes funes e caractersticas:
D7..D0 Barramento de dados externo (8 bits)
A7..A0 Barramento de endereo (8 bits)
/MEM sinal de habilitao da memria, ativa em
nvel zero
/IO sinal de habilitao da porta de entrada/sada,
ativa em nvel zero
D7..D0
D7..D0
MEMRIA
A7..A0
/CS /WR /RD
PORTA E/S
S7..S0
E7..E0
CPU
D7..D0
CLOCK
A7..A0
/MEM
/RESET
/IO
/WR
/RD
Figura 2: Um sistema de computador com memria e porta entrada/sada
A memria responsvel pelo armazenamento
das instrues (ou comandos do processador) e dos
dados. Uma memria, em geral, tem uma grande
capacidade de armazenamento. Cada informao
armazenada em uma posio da memria que
identificada por um endereo (conjunto de bits).
Atravs deste endereo, possvel recuperar a
informao armazenada na memria.
As portas de entra/sada so circuitos que
permitem a troca de informaes entre o computador
e o ambiente externo. As portas de entrada enviam
dados gerados por circuitos externos para a CPU, que
por sua vez pode armazen-los na memria. As
portas de sada permitem que a CPU transmita dados
para circuitos externos.
Para permitir a comunicao da CPU com os
circuitos auxiliares, a prpria CPU gera os sinais
responsveis pelo controle da memria e das portas
de E/S. Os sinais de controle da memria so:
3 Componentes da CPU
Para facilitar o projeto e estudo da CPU, ela
dividida
internamente
em
duas
unidades
fundamentais:
Unidade de dados
Unidade de controle
Estas unidades componentes funcionam em conjunto
e conectadas entre si. Elas podem ser visualizadas na
Figura 3, onde se observa a ligao entre elas.
A unidade de dados possui as seguintes funes:
Clculos aritmticos
Funes lgicas
Manipulao de dados
Recebimento de dados
Envio de dados
A unidade de controle possui as seguintes
funes:
Inicializao do sistema
CPU
Barramento
de dados
interno
CLK
Sinais de
controle
internos
Unidade
Unidade
de
de
dados
Controle
Status da
ULA (flags)
/RESET
Cdigo Op.
(binrio)
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
Barramento de
dados externo
controle
Barramento
de
externos
endereo
Sinais de
4
8
Resultado
8
2o operando
8
4
/ULA
operao
Figura 4: ULA
Resultado
Smbolo
No faz nada
Soma (1o op. + 2o op.)
Subtrai (1o op. 2o op.)
1o op. AND 2o op.
1o op. OR 2o op.
1o op. XOR 2o op.
Complementa 1o op.
1o op. + 1
1o op. - 1
Deslocamento 1o op. para
direita de 1 bit
Deslocamento 1o op. para
esquerda de 1 bit
Nega o 1o op.
NOP
ADD
SUB
AND
OR
XOR
NOT
INC
DEC
SHR
SHL
NEG
8 bits do resultado
Se a ULA estiver habilitada, ento nos 8 bits do
resultado estar o resultado da operao, entre o 1o e
2o operandos, selecionada pelos 4 bits do cdigo de
operao.
Os quatro sinais de flags identificam o status da
ULA de acordo com o resultado obtido pela
realizao de uma operao. O flag de zero ativado
(colocado em nvel lgico 1) se o resultado possue
todos os bits em zero. O flag de sinal ativado se o
resultado da ULA um nmero negativo em
complemento de dois (bit mais significativo do
resultado em 1). O flag de carry-out ativado se
ocorre um vai-um no ltimo bit do resultado. E
finalmente o flag de overflow ativado se o resultado
da operao realizada pela ULA no vlido.
CLK
Registrador
de Flags
/RF
FLAGS
CLK
ULA
A
C
U
M
U
L
A
D
O
R
A
8
MUX
B
/ULA
/LAC
MAC
operao
8
/CLR
BUFFER
TRI-STATE
8
8
Barramento de dados interno
8
CLK
BUFFER
TRI-STATE
A
8
DR
/BDI
BUFFER
TRI-STATE
MUX
B
MDR
/BAC
Barramento
de dados
externo
/BDE
/LDR
8
3.2
Unidade de controle
A
MUX
8
B
CLK
/LCP
/ICP
CONTADOR
DE
PROGRAMA
REGISTRADOR
DE ENDEREO
MRE
CLK
/LRE
/RESET
8
Barramento de dados interno
8
REGISTRADOR
DE
INSTRUES
UNIDADE DE
DADOS
/LRI
CLK
CLK
CONTROLE
12
FLAGS
Barramento de
dados externo
CIRCUITO DE
CONTROLE
/RESET
4
Barramento
de endereo
8
/MEM /IO /RD /WR
No faz nada
Soma: ACC=ACC+M(X)
Subtrao: ACC=ACC-M(X)
ACC=ACC and M(X)
ACC=ACC or M(X)
ACC=ACC xor M(X)
Complementa ACC: ACC=/ACC
ACC = ACC + 1
ACC = ACC - 1
ACC = ACC/2
ACC = ACC*2
ACC = -ACC
ACC = 0
ACC = M(X)
M(X) = ACC
Pula incondicionalmente para posio
X
A8
Pula para posio X se ACC = 0
B0
Pula para posio X se ACC positivo
ou zero
B8
Pula para posio X se ACC negativo
C0
Pula para posio X se houve vai-um
C8
Pula para posio X se houve
overflow
D0
L a porta de entrada e armazena no
ACC
D8
Escreve o contedo de ACC na porta
de sada
FF
Pra o processamento
X endereo de memria de 8 bits
Descrio
Smbolo
NOP
ADD X
SUB X
AND X
ORA X
XOR X
NOT
INC
DEC
SHR
SHL
NEG
CLR
LDA X
STA X
JMP X
JEZ X
JGE X
JLZ X
JMC X
JMO X
INP
OUT
HLT
M - memria
ACC Registrador acumulador
4 Funcionamento da CPU
4.1
incrementado
automaticamente
preparando para ler o prximo dado na memria.
4.2 Ciclo de execuo
Aps o ciclo de fetch, a instruo carregada
decodificada pelo circuito de controle que gera os
T0
...
...
...
...
...
...
...
...
Circuito de controle
T1
T2
Tn
Vm do registrador de
Instrues
8
Decodificador de
instrues
CLK
/RESET
N
O
P
A
D
D
S
U
B
...
H
L
T
T0
Vm do
registrador de
Flags
T1
T2
Contador
.
.
Deslocador
Circuito
Combinacional
Tn
5 Concluso
Neste artigo foi apresentado uma proposta de projeto
de um processador digital (CPU) simples. O projeto
utilizado na disciplina de Arquitetura de
Computadores por ser de fcil assimilao pelos
estudantes do curso, alm de providenciar um
aprendizado eficaz no estudo do funcionamento de
um processador. O projeto pode ser implementado
utilizando-se circuitos integrados comuns de fcil
aquisio, ou mesmo atravs de programao de
dispositivo FPGA. A proposta da CPU pode tambm
ser simulada em computador utilizando-se programas
simuladores de circuitos digitais.
6 Referncias bibliogrficas
...
Sinais de Controle
internos e externos