Professional Documents
Culture Documents
Arquitetura de Computadores
Processamento e
UCP
Guiou Kobayashi
guiou.kobayashi@ufabc.edu.br
2o Quadrimestre, 2014
Arquitetura de Computadores
CONTEDO PROGRAMTICO:
- Histria e Evoluo dos Computadores e Sistemas
- Estrutura de Computadores Digitais
- Lgica Digital Binria
- Processamento
- Instrues e linguagem de mquina
- Microprocessadores modernos: pipeline, super escalar, RISC
- Memrias cache e gerenciamento de memrias
- Arquitetura de computadores pessoais
- Arquitetura de Computadores Paralelos
- Sistemas Computacionais: desempenho e confiabilidade
Processamento e UCP
Arquitetura de Computadores
PROCESSAMENTO
PROCESSAMENTO
Processamento e UCP
Arquitetura de Computadores
Interface com
Memria
MPC
Endereo ROM
Program Counter
Controle Mem
R2 - Dados
R1 - Dados
Controle Dados
Acumulador
A
Microprograma
ROM
1K x 36 bit
(exemplo)
B
C, Z
ULA
Operaes
ULA
Shift Register
Controle Shift
C
Processamento e UCP
Arquitetura de Computadores
Via de
Endereos
Via de Dados
PROGRAMAS
Bloco de
Memria
WR
RD
P/D
Microprocessador
Processamento e UCP
Arquitetura de Computadores
Execuo
Execuo da
da Instruo
Instruo
Processamento e UCP
Arquitetura de Computadores
Memria
16 bits
Program Counter
Endereo
8 bits
Instruction Reg.
Instruo
0010 =
C1
0011 =
C2
0012 =
C3
0013 =
C4
0014 =
C5
Comando
Leitura
Processador: 8 bits dados e instrues 8 bits
Memria: 16 bits de endereo e 8 bits de dados: 64K x 8 = 512K bits
Processamento e UCP
Arquitetura de Computadores
Q1
Q2
Q3
Q4
Q1
Q2
Q3
Q4
Q1
Q2
Q3
Q4
Clock: Oscilador
Q1
Q2
Q3
Q4
PC
PC
PC + 1
Processamento e UCP
Arquitetura de Computadores
Processador
Memria
16 bits
Program Counter
Endereo
Q1
8 bits
Dados
Instruction Reg.
Q4
Q3
0010 =
C1
0011 =
C2
0012 =
C3
0013 =
C4
0014 =
C5
Comando
Leitura
Q2
Q1: Processador transfere PC para a Via de Endereos
Q2: Comando de Leitura: Memria decodifica o endereo
Q3: Memria transfere o contedo da posio do endereo para Via de Dados
Q4: Processador transfere Bus Dados para IR (registrador de instrues)
Processamento e UCP
Arquitetura de Computadores
IR
Program Counter
IR
8 bits
8 bits
Controle Mem
MPC
R1
Controle Dados
Microprograma
ROM
1.024 x 36 bit
(exemplo)
10 bits
0 0 - Q1
0 1 - Q2
1 0 - Q3
1 1 - Q4
Endereo: 10 bits
C, Z
ULA
Shift Register
Processamento e UCP
Operaes
ULA
Controle Shift
Sada:
36 bits
Sinais de
Controle
ROM
1.024 x 36 bit
10
Arquitetura de Computadores
Processamento e UCP
11
Arquitetura de Computadores
MICROPROGRAMA - 1
Memria tipo ROM (Read Only Memory), extremamente rpida, com 10 bits de endereo, ou
seja 210 ou 1.024 registros.
Endereo da memria: registrador especial da UCP, chamado de MPC (Micro Program
Counter).
Tamanho do registro: 36 bits.
10 bits
MPC
Endereo: 10 bits
Sada:
36 bits
ROM
1.024 x 36 bit
35
...
...1 0
...
...
Um registro de 36 bits
Processamento e UCP
12
Arquitetura de Computadores
MICROPROGRAMA - 2
Tamanho do registro: cada bit do registro dever
corresponder a um sinal de controle necessrio para a
operao da UCP. O seu estado desejado estar
gravado na memria ROM.
Controle Mem
R2 - Dados
MPC
R1 - Dados
Controle Dados
Endereo: 10 bits
Controle Acum
Acumulador
A
ULA
Operaes
ULA
Shift Register
F0
F1
ENA
ENB
INVA
INC
Sada:
36 bits
Sinais de
Controle
ROM
1.024 x 36 bit
Controle Shift
C
Processamento e UCP
13
Arquitetura de Computadores
MICROPROGRAMA 3
8 bits
IR
10 bits
MPC
0 0 - Q1
0 1 - Q2
1 0 - Q3
1 1 - Q4
Endereo: 10 bits
Sada:
36 bits
Sinais de
Controle
Processamento e UCP
ROM
1.024 x 36 bit
14
Arquitetura de Computadores
MICROPROGRAMA 4
RD Acc
IR: fixa
MPC:
endereos
var.
Q1
10101010
0 0
Q2
10101010
0 1
Q3
10101010
1 0
Q4
10101010
1 1
WR Acc
ENA
Contedo dos
registradores
F1
F0
ENB
INVA
INC
RD R1
WR R1
Exemplo:
Acumulador = Acumulador AND R1
Execuo:
Q1: R1 Barramento B
Q2: ULA: Operao AND
Q3: ULA: Reteno Barramento A
Q4: Barramento C Acumulador
Processamento e UCP
15
Arquitetura de Computadores
RESUMO
IR
Program Counter
MICROPROGRAMA 5
MPC: MicroProgram Counter
Endereo
MPC
ROM
Controle Mem
R1
Controle Dados
Microprograma
ROM
1.024 x 36 bit
(exemplo)
Ciclo de Mquina
Q1
Q2
Q3
Q4
Clock
C, Z
00 Q1
ULA
Shift Register
Operaes
ULA
Controle Shift
01 Q2
10 Q3
11 Q4
Processamento e UCP
16
Arquitetura de Computadores
MPC
B
R1
RD R1
Acumulador
A
WR AC
ULA
Operaes
ULA
Shift Register
C
Processamento e UCP
Exemplo:
Acumulador = Acumulador AND R1
Execuo:
Q1: R1 Barramento B
Q2: ULA: Operao AND
Q3: ULA: Reteno Barramento A
Q4: Barramento C Acumulador
Microprograma
ROM
1.024 x 36 bit
(exemplo)
Ciclo de Mquina
Q1
Q2
Q3
Q4
RD R1
OP: AND
OP: HOLD A
WR AC
17
Arquitetura de Computadores
Execuo:
Q1: ULA: Bloqueia Barramento A
Q2: PC Barramento B
Q3: ULA: Incrementa Barramento B
Q4: Barramento C PC
MPC
Program Counter
RD PC
WR PC
R2
R1
Acumulador
A
Ciclo de Mquina
Microprograma
ROM
1.024 x 36 bit
(exemplo)
Q1
Q2
Q3
Q4
OP: HOLD A
ULA
Operaes
ULA
Shift Register
RD PC
OP: INC B
WR PC
C
Processamento e UCP
18
Arquitetura de Computadores
Q1
Q2
Q3
Q4
Q1
Q2
Q3
Q4
Q1
Q2
Q3
Q4
Clock: Oscilador
Q1
Q2
Q3
Q4
PC
PC
PC + 1
Processamento e UCP
19
Arquitetura de Computadores
Um ciclo de Instruo =
Trs ciclos de mquina
MPC
Program Counter
1: FETCH
Q1: PC Via de Endereos
Q2: Comando de Leitura
Q3: Memria Via de Dados
Q4: Via de Dados IR
Controle Mem
R2 - Dados
R1 - Dados
Controle Dados
Acumulador
A
Microprograma
ROM
1.024 x 36 bit
(exemplo)
B
C, Z
ULA
Operaes
ULA
Shift Register
C
Processamento e UCP
Controle Shift
Arquitetura de Computadores
Mapeamento
Mapeamento dos
dos
Endereos
Endereos
Processamento e UCP
21
Arquitetura de Computadores
Memria
16 bits
MAR: Memory
Address Reg.
Endereo
Q1
Q4 8 bits
Dados
MDR: Memory
Data Reg.
Q2
0AF0 =
D1
0AF1 =
D2
0AF2 =
D3
0AF3 =
D4
0AF4 =
D5
Comando
Leitura
ou Escrita
LEITURA DA MEMRIA
Q1: MAR Via de Endereos
Q2: Comando de Leitura: Memria decodifica
Q3: Memria Via de Dados
Q4: Via de Dados MDR
Processamento e UCP
Q3
ESCRITA NA MEMRIA
Q1: MAR Via de Endereos
MDR Via de Dados
Q2: Comando de Escrita: Memria decodifica
Q3: Via de Dados Memria
Q4: Estabilizao Memria
22
Arquitetura de Computadores
UCP
MEMRIA
Velocidade
Largura (em bits)
Tipo de Sinal
BARRAMENTO ou VIA
DISCOS
Processamento e UCP
MONITOR
IMPRESSORA
23
Arquitetura de Computadores
FFFF
32K Bytes para Dados (RAM)
7FFF
3FFF
0000
Processamento e UCP
24
Arquitetura de Computadores
FFFF
FFFF
64K Bytes
Dados
(RAM)
0000
UCP
FFFF
64K Bytes
Dispositivos
E/S
64K Bytes
Programas
(ROM)
0000
0000
P/D: Programa ou Dados
M/IO: Memria ou Dispositivos E/S
P/D
M/IO
Processamento e UCP
25
Arquitetura de Computadores
Pilhas
Pilhas ee Stack
Stack Pointer
Pointer
Processamento e UCP
26
Arquitetura de Computadores
Tamanho
da Pilha
entrada
Pilha:
Estrutura de Dados do tipo FILO
(First In Last Out)
sada
Stack Pointer: contm o endereo da memria (ponteiro) onde est localizado o ltimo
dado escrito (inserido) na pilha.
Exemplo: Se o ltimo dado da pilha estiver gravado no endereo 0AF4 (em hexadecimal), o
ponteiro ir conter o valor 0AF4.
PILHA
PILHA
PILHA
Stack Pointer
(0AF4)
Stack Pointer + 1
(0AF5)
Stack Pointer -1
(0AF3)
Incrementa SP antes
Processamento e UCP
Decrementa SP depois
27
Arquitetura de Computadores
INSTRUO INSERO NA PILHA: PUSH ACC
Quatro ciclos de mquina
Mem. Addr. Reg
Mem. Data Reg.
Instruc. Reg.
MPC
Program Counter
Stack Pointer
Controle Mem
R2 - Dados
R1 - Dados
Controle Dados
Acumulador
A
B
C, Z
ULA
Operaes
ULA
Shift Register
C
Processamento e UCP
Controle Shift
Microprograma
ROM
1.024 x 36 bit
(exemplo)
2: SP = SP + 1
Q1: ULA: Bloqueia Barramento A
Q2: SP Barramento B
Q3: ULA: Incrementa Barramento B
Q4: Barramento C SP
3: ESCRITA NA MEMRIA
Q1: SP Via de Endereos
ACC Via de Dados
Q2: Comando de Escrita
Q3: Via de Dados Memria
Q4: Estabilizao Memria
4: PC = PC + 1
Q1: ULA: Bloqueia Barramento A
Q2: PC Barramento B
Q3: ULA: Incrementa Barramento B
Q4: Barramento C PC
28
Arquitetura de Computadores
Interrupo
Interrupo
Processamento e UCP
29
Arquitetura de Computadores
INTERRUPES
SOLICITAO DE INTERRUPO
- Enviados pelos dispositivos que
necessitam de um atendimento
imediato pelo processador
Interrupes so identificados
individualmente
- Possuem prioridades diferenciadas
Controlador
de Interrupes
INT
INTA
INT
INTA
WR
RD
CS
WR
RD
CS
IRQ 0
IRQ 1
IRQ 2
IRQ 3
IRQ 4
IRQ 5
IRQ 6
IRQ 7
RELGIO
TECLADO
MOUSE
DISCO
Dados: D0~D7
Endereo: A0 ~ A2
UCP
Processamento e UCP
30
Arquitetura de Computadores
PILHA
Program Counter
Stack Pointer + 1
Program Counter
PC + 1
INTERRUPO X
Rotina de
Tratamento X
Rotina de
Tratamento Y
Tratamento da Interrupo:
1. Identifica a origem da Interrupo
2. Salva o Program Counter (PC) na pilha
3. Carrega o PC com o endereo da rotina de
tratamento correspondente Interrupo
4. Executa a rotina de tratamento
5. Retorna ao ponto antes da Interrupo:
(retira o valor do PC da pilha e restaura)
Processamento e UCP
31