You are on page 1of 31

BC-1503

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

UCP: UNIDADE CENTRAL DE PROCESSAMENTO

Interface com
Memria

UCP Didtico de 8 bits:


Estrutura Interna do Processador: Tpica von Neumann
ULA: Unidade Lgica Aritmtica

Mem. Data Reg


Mem. Addr. Reg.
Instruc. Reg.

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

UCP: CONTROLE E ACESSO MEMRIA


MAR: Memory Address

PC: Program Counter

Via de
Endereos

Via de Endereos Interna: 16 bits

MDR: Memory Data

IR: Instruction Reg.

Via de Dados

Via de dados Interna: 8 bits


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

EXECUO DE UMA INSTRUO


FETCH: LEITURA DE UMA INSTRUO DA MEMRIA

Processador Bus de endereo


16 bits

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

DIAGRAMA DE TEMPOS DO PROCESSADOR


CICLO DE INSTRUO
Ciclo de Mquina
Quadratura

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Clock: Oscilador
Q1
Q2
Q3
Q4
PC

PC

PC + 1

Fetch: leitura instruo


Executa instruo
Incrementa PC

Processamento e UCP

Arquitetura de Computadores

EXECUO DE UMA INSTRUO


CICLO 1: FETCH

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

EXECUO DE UMA INSTRUO


MICROPROGRAMA E SEQUENCIALIZAO
Exemplo de montagem do MPC

IR
Program Counter

MPC: MicroProgram Counter


Endereo
MPC
ROM

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

EXECUO DE UMA INSTRUO


EXEMPLOS DE COMANDOS PARA ULA

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.

Mem. Data Reg


Mem. Addr. Reg.
Instruc. Reg.
Program Counter

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

MPC formado por 10 bits (na nossa UCP didtica).


Vamos dividir o MPC em duas partes: uma parte fixa
formada pelos 8 primeiros bits, e uma parte varivel
com os dois bits menos significativos. Utilizando um
circuito contador de dois bits, e sincronizado pelo
relgio da UCP, temos um gerador de endereos do
MPC cujos dois bits menos significativos varia de 00
a 11.
Se a parte fixa de 8 bits for preenchida pelos valores
lidos do IR (Instruction Register), temos um endereo
de 10 bits que varre quatro posies sequenciais, de
IR-00 a IR-11.
Se para cada uma das quatro posies, atribuirmos
ao contedo do registrador os sinais necessrios para
a realizao das funes correspondentes aos quatro
passos Q1, Q2, Q3 e Q4, implementaremos o
mecanismo necessrio para a execuo do Ciclo de
Mquina da Instruo.

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

EXECUO DE UMA INSTRUO


CICLO 2: EXECUO DA INSTRUO:
0 0 - Q1
0 1 - Q2
1 0 - Q3
1 1 - Q4

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 DE UMA INSTRUO


CICLO 3: INCREMENTA O PROGRAM COUNTER (PC):
PC = PC + 1

Mem. Addr. Reg


Mem. Data Reg.
Instruc. Reg.

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

DIAGRAMA DE TEMPOS DO PROCESSADOR


CICLO DE INSTRUO
Ciclo de Mquina
Quadratura

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Clock: Oscilador
Q1
Q2
Q3
Q4
PC

PC

PC + 1

Fetch: leitura instruo


Executa instruo
Incrementa PC

Processamento e UCP

19

Arquitetura de Computadores

EXECUO DE UMA INSTRUO


RESUMO: EXECUO DA INSTRUO
Mem. Addr. Reg
Mem. Data Reg.
Instruc. Reg.

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

ACC ACC AND R1

2: Acumulador = Acumulador AND R1


Q1: R1 Barramento B
Q2: ULA: Operao AND
Q3: ULA: Reteno Barramento A
Q4: Barramento C Acumulador
3: PC = PC + 1
Q1: ULA: Bloqueia Barramento A
Q2: PC Barramento B
Q3: ULA: Incrementa Barramento B
Q4: Barramento C PC
20

Arquitetura de Computadores

Mapeamento
Mapeamento dos
dos
Endereos
Endereos

Processamento e UCP

21

Arquitetura de Computadores

ACESSO MEMRIA DE DADOS: CICLO DE INSTRUES


Processador

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 E ACESSO A OUTROS DISPOSITIVOS

UCP

MEMRIA
Velocidade
Largura (em bits)
Tipo de Sinal
BARRAMENTO ou VIA

DISCOS

Processamento e UCP

MONITOR

IMPRESSORA

23

Arquitetura de Computadores

ENDEREAMENTO DE DISPOSITIVOS E/S

EXEMPLO PARA DISPOSITIVOS MAPEADOS EM MEMRIA


rea Total de 64K Bytes: Divididos com Programas, Dados e Dispositivos E/S

0000 a FFFF Hexadecimal


= 64 K Bytes

FFFF
32K Bytes para Dados (RAM)
7FFF
3FFF
0000

Processamento e UCP

16K Bytes para Dispositivos E/S


16K Bytes para Programas (ROM)

24

Arquitetura de Computadores

ENDEREAMENTO DE DISPOSITIVOS E/S

EXEMPLO PARA REA DE MEMRIA DE 64K Bytes:


reas Separadas de 64K Bytes para Programas, Dados e Dispositivos E/S (uso dos sinais M/IO e P/D)

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

STACK-POINTER: PONTEIRO DE PILHA


PILHA

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

INSERIR NA PILHA: PUSH


Dado novo

PILHA

RETIRAR DA PILHA: POP


Dado lido

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.

1: FETCH da Instruo PUSH


Q1: PC Via de Endereos
Q2: Comando de Leitura
Q3: Memria Via de Dados
Q4: Via de Dados IR

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

SOFTWARE: TRATAMENTO DE INTERRUPES


Programa em execuo

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

You might also like