Title: Unidade Central de Processamento
1Unidade Central de Processamento
- Sistemas Digitais
- CIn-UFPE
2Como funciona um computador simples
IR Instruction Register PC Program
Counter MAR Memory Address
Register MBR Memory Bus Register
3 Como funciona um computador?
Busca a próxima instrução
Executa a instrução
4Executando um programa
5Exemplo - Simple statements
- Exemplo
- / Programa que repete uma seqüência de adições
de três sinais de entrada (abc) e mostra o
resultado (z abc) - Sigad CLRLD / Clear acumulador Y, Z e carrega
valor de A em X - ADD /ADD 1o. valor, guarda resultado e lë
novo valor - ADD /ADD 2o .valor, guarda resultado e lë
novo valor - ADD /ADD 3o .valor, guarda resultado
- DISP Sigad /mostra resultado e repete cálculo
em Z - Como construir uma unidade de controle que
implemente este programa? - Estado Estado/saída
- QA Sigad QB/CLRLD
- QB QC/ADD
- QC QD/ADD
- QD QE/ADD
- QE QA/DISP
saída
Y
Tx
entrada
Z
A
X
Tz
Ty
controle
clk
6Z abc
Clk
Y
saída
QA Sigad QB/CLRLD QB QC/ADD QC
QD/ADD QD QE/ADD QE QA/DISP
Ty
Z
entrada
X
Tz
Tx
controle
Clk
T 0 clear 1 load 2 hold
Clk
7memória
saída
cpu
memória
memória
Contador de programa
cpu
Inst dados
memória
Z a b c
X - Y- Z-
05 - -------
8Memória
0
15
sinal
magnitude
Opcode
9Executando um programa
Registradores da CPU
1 9 4 0
3 0 0
PC (endereço)
3 0 0
3 0 1
5 9 4 1
AC (operando)
2 9 4 1
3 0 2
1 9 4 0
IR (Instrução)
...
0 0 0 3
9 4 0
0 0 0 2
9 4 1
10Executando um programa
Registradores da CPU
1 9 4 0
3 0 0
PC
3 0 0
3 0 1
5 9 4 1
AC
0 0 0 3
2 9 4 1
3 0 2
1 9 4 0
IR
...
0 0 0 3
9 4 0
0 0 0 2
9 4 1
11Executando um programa
Registradores da CPU
1 9 4 0
3 0 1
PC
3 0 0
3 0 1
5 9 4 1
AC
0 0 0 3
2 9 4 1
3 0 2
5 9 4 1
IR
...
0 0 0 3
9 4 0
0 0 0 2
9 4 1
12Executando um programa
Registradores da CPU
1 9 4 0
3 0 1
PC
3 0 0
3 0 1
5 9 4 1
AC
0 0 0 5
2 9 4 1
3 0 2
5 9 4 1
IR
...
0 0 0 3
9 4 0
0 0 0 2
9 4 1
13Executando um programa
Registradores da CPU
1 9 4 0
3 0 2
PC
3 0 0
3 0 1
5 9 4 1
AC
0 0 0 5
2 9 4 1
3 0 2
2 9 4 1
IR
...
0 0 0 3
9 4 0
0 0 0 2
9 4 1
14Executando um programa
Registradores da CPU
1 9 4 0
3 0 2
PC
3 0 0
3 0 1
5 9 4 1
AC
0 0 0 5
2 9 4 1
3 0 2
2 9 4 1
IR
...
0 0 0 3
9 4 0
0 0 0 5
9 4 1
15Arquitetura do computador
Dispositivo de entrada e saída(E/S)
Memória
Processor
Memory
Input/Ouput
PC
IR
AC
Address Bus
MAR
Data Bus
MDR
ALU
PC Program counter IR Instruction register AC
Acumulador MAR Memory Address Register MDR
Memory Data Register ALU Arithmetic Logic
Unit
Control
Unit
16Arquitetura do computador
- PC - program counter indica a próxima instrução
a ser executada. - IR - Instruction register recebe a instrução a
ser decodificada pela CPU. - AC Acumulador (registrador auxiliar). Guarda
temporariamente valores sendo calculados. - MAR Registrador que indica a próxima posição de
memória a ser referenciada. Conectado ao
barramento de endereços. - MDR Registrador usado para receber ou
transmitir dados. Conectado ao barramento de
dados. - ALU (ULA) Unidade Lógica
17Instruções básicas
Formato da instrução do computador
18CPU - ?P1
- Conjunto de instruções básicas
- Exemplo de um programa no ?P1
- A BC
- A (acumulador), B e C são endereços de memória
Assembly Language MachineLanguageLOAD B 0211A
DD C 0012
19CPU - ?P1
- Fluxo de execução de instruções
20CPU - ?P1
- Fluxo de execução de instruções detalhada
21A BC A (acumulador), B e C são endereços de
memória
Assembly Language MachineLanguageLOAD B 021
1ADD C 0012
CPU - ?P1
02 11
00 12
00 03
00 04
PC
Opcode address
00 04
00 07
1. 2.
LOAD B
02 11
00 04
02 11
00 04
00 12
00 03
ADD C
01
01
12
11
01
12
12
11
01
00 12
00 03
02 11
00 04
Load address AClt- conteúdo do endereço de
memória
22(No Transcript)
23(No Transcript)
24(No Transcript)
25Figure 8.12 MIF file containg mP 1 Computer
Program.
26Figure 8.13 Simulation of the Simple mP 1
Computer Program.
27Projetos
- Calcular a média aritmética de três números
previamente colocados na memória da CPU e mostrar
o resultado no display. - Comparar elementos de um array (5 elementos),
colocando o maior deles numa variável "resultado
e no display. - Os resultados das operações devem ser enviados
para o display (dispositivo de saída do sistema)
Dispositivo de I/O
Saída
Entrada
4
reset
4
clk
CPU - mP 1
programa
28Arquitetura/plataforma de prototipação
CPU
Decodificador
Memória
Driver
Driver
Controle dos motores
Robô
Motor 2
Motor 1
Motor 1
Motor 2