Você está na página 1de 38

http://sites.google.

com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

2015.1

PARTE 6

Ref: Livro do Stalllings 8. Edio pag 461 - 510

Prof. Misael Morais


moraiscg@uol.com.br

http://sites.google.com/site/moraiscg

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

UC

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Componentes bsicos da rea de


controle
Unidade de controle (UC);
Decodificador de instrues;
Registrador de instrues (RI);
Contador de instrues (program counter PC)
Relgio ou clock ;
Registrador de endereos da memria (REM)
Registrador de dados da memria (RDM).

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Unidade de Controle
Funes: busca, interpretao e controle de execuo das

instrues, e o controle dos demais componentes do


computador.

Envia ordens de clculo para a ULA, que indica os valores a

processar, e os coloca nos registradores para esse efeito.

A UC gera sinais paras transferncia de dados para as outras

partes que constituem o computador, como a memria, os


sistemas de E/S, etc..

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Unidade de Controle - UC
Cdigo da instruo

CLOCK Lgica de controle

Lgica de controle

Bits de Controle
Utiliza bits para controle do fluxo de informao entre componentes da
mquina
Ex. transferncia entre registradores (de B para A), deslocamento de bits

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Operao da Unidade de Controle


Tcnicas de implementao da Controle de Controle

Controle programado diretamente no hardware

(hardwired control)

Controle por microprogramao

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Unidade de Controle hardwired


Principais componentes
Esquema da UC
com prprogramao em
hardwired

IR registrador de
instruo
Cdigo da instruo

Circuitos
decodificadores

...
T0
Clock

Gerador
de sinais

...

Sinais da instruo decodificada

Circuitos
eletrnicos
combinacionais

..
.

Tn-1

...
Sinais de controle (internos e externos)

Flags

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Problemas com projetos hardwired


Lgica complexa na implementao

Dificuldade de projeto e testes

Projeto sem flexibilidade

Dificuldade para acrescentar novas instrues

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Unidade de Controle - microprogramada


Passos na
execuo de
um programa

Execuo de Programa

Ciclo de instruo 1

Busca

OP

OP

OP

Ciclo de instruo 2

Execuo

Indireto

OP

OP

Ciclo de instruo n

Interrupo

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de busca- (envolve 4 registradores)


Registrador de endereo de memria (MAR)
Conectado ao barramento de endereos
Especifica o endereo que ser lido ou escrito

Registrador de armazenamento temporrio de dados (MBR)


Conectado ao barramento de dados
Segura o dado que ser escrito ou lido

Contador de programa (PC)


Segura o endereo da prxima instruo a ser buscada

Registrador de instruo (IR)


Segura a ltima instruo buscada

10

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Seqncia de busca
Endereo da prxima instruo contido no PC
O contedo do MAR colocado no barramento de endereo
A unidade de controle envia o comando de leitura no

barramento de controle
O resultado da memria aparece no barramento de dados
Os sinais (dado) do barramento de dados copiado no MBR
O PC incrementado de 1
O dado (cdigo da instruo) movido do MBR para o IR
O MBR agora fica livre

11

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Seqncia de busca - simbolicamente


t 1:

MAR <- (PC)

t 2:

MBR <- (memria)


PC <- (PC) +1
Agrupamento

t 3:

IR <- (MBR)
(tx = unidades de tempo sucessivas)

ou
t 1:

MAR <- (PC)

t 2:

MBR <- (memria)

t 3:

PC <- (PC) +1
IR <- (MBR)

Agrupamento

12

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Regras para agrupamento de


microoperaes
Seqncia apropriada de eventos
MAR <- (PC) deve preceder MBR <- (memria)

Devem ser evitados conflitos


No se deve ler e escrever num mesmo registrador durante a

mesma unidade de tempo


MBR <- (memory) & IR <- (MBR) no devem ser na mesma

unidade de tempo

Tambm: PC <- (PC) +1 envolve adio


Uso da ALU
Pode envolver microoperaes adicionais

13

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

14

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Microoperaes
Na execuo de um programa existe:

Ciclo de busca/execuo
Cada ciclo composto de um nmero de passos

Revise o conceito de pipeline

Cada passo composto de subpassos (subciclo)


Cada subpasso chamado de microoperao

15

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de endereamento indireto


MAR <- (IRendereo) - campo de endereo da instruo de IR
MBR <- (memria)
IRendereo <- (MBRendereo)

MBR contem o endereo


IR est agora igual ao que ele teria se fosse usado

endereamento direto

16

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de interrupo
t1:

MBR <- (PC)

t2:

MAR <- endereo de salvamento

PC <- endereo da rotina de interrupo

t3:

memria <- (MBR)

Isso o mnimo
Pode ser necessrio microoperaes para obter o

endereo onde o PC deve ser salvo

17

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de execuo da SOMA (ADD)


O ciclo de instruo diferente para cada instruo
Ex.: ADD R1,X soma o contedo da locao X ao registrador R1 e

armazena o resultado em R1

t1:

MAR <- (IRendereo)

t2:

MBR <- (memria)

t3:

R1 <- R1 + (MBR)

Nota:
No h sobreposio de microoperaes.

18

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de execuo de INCREMENTA E


PULA SE ZERO (ISZ)
ISZ X incrementa o dado e pula se zero
t1:

MAR <- (IRendereo)

t2:

MBR <- (memria)

t3:

MBR <- (MBR) + 1

t4:

memria <- (MBR)


if (MBR) == 0 then PC <- (PC) + 1

Nota:
Microoperaes feitas durante t4

19

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de instruo PULA E SALVA


ENDEREO (BSA)
BSA X Pula (branch) e salva endereo X (chamada de subrotina)
Endereo da instruo que segue a instruo BSA salvo na

posio de memria X e o programa continua na posio X+1.

Seqncia de microoperaes:
t1:MAR <- (IRendereo)

MBR <- (PC)


t2:PC <- (IRendereo)

memria <- (MBR)


t3:PC <- (PC) + 1

20

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ciclo de instruo
Cada fase decomposta em seqncia de microoperaes elementares.
Ex., ciclos de busca, indireto e de interrupo.
Ciclo de execuo:
Uma seqncia de microoperaes para cada opcode.

Precisa unir seqncia -> Existncia de registrador ICC.


Cdigo de ciclo de instruo (ICC) designa em qual parte do ciclo o

processador se encontra:

00: Busca.

01: Indireto.

10: Execuo.

11: Interrupo.

21

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Fluxograma do ciclo de instruo


com microoperaes

22

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Requisitos funcionais da UC
Elementos bsicos do processador
ALU, registradores. Barramentos, UC

Descrever microoperaes que o processador deve

executar

Determinar funes que a UC deve realizar para causar

a execuo das microoperaes

23

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Tipos de microoperaes
Transferncia de dados entre registradores

Transferncia de dados de um registrador para uma interface

externa

Transferncia de uma interface externa para um registrador

Execuo de operao lgica ou aritmtica, usando

registradores como entrada e sada.

24

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Tarefas bsicas da UC
Seqenciamento
A UC dirige o processador na execuo de uma srie de

microoperaes, na seqncia apropriada.

Execuo
A UC faz com que cada microoperao seja executada.

Tudo isto feito por meio de Sinais de Controle.

25

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Diagrama de blocos da UC

26

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Sinais de Controle Entradas (1)


Relgio (Clock)
a forma pela qual a unidade de controle marca o tempo

Registrador de instruo
Cdigo de operao (Opcode) determina quais

microoperaes so executadas
Determina quais microinstrues so realizadas

27

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Sinais de Controle Entradas (2)


Cdigos de condio (Flags)
Determina o estado da CPU, depois a ltima instruo
Contm resultados de operaes previamente executadas.

Sinais de controle de barramento de controle


Interrupo
Reconhecimento de interrupo

28

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Sinais de Controle Sadas


Sinais de controle internos ao processador
Causam e controlam o fluxo interno de dados
Ativam funes especficas da ULA

Sinais de controle para o barramento de controle


Sinais de controle para memria
Sinais de controle para dispositivos de E/S

29

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Sinais de controle sada


Dentro da CPU:
Causam movimentao de dados.
Ativam funes especficas.

Via barramento de controle:


Para memria.
Para mdulos de E/S.

30

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Exemplo de sequncia de sinal de


controle Busca
MAR < (PC):
Unidade de controle ativa sinal para abrir portas entre

PC e MAR.

MBR < (memria):


Abre portas entre MAR e barramento de endereo.
Sinal de controle de leitura de memria.
Abre portas entre barramento de dados e MBR.

31

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Exemplo de Sinais de Controle - UC


Barramento de Sistema

C5

C12

C11

M
B
R

C10
C3

C1
C8

PC

C4

C7

M
A
R

C2

Relgio

C9

IR
C6

C0

AC

C13
Unidade
de
Controle

Sinais de
controle

ULA

Cdigo de condio

CW
CR

Sinais de
controle

32

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Organizao Interna
Normalmente, um nico barramento interno.
Portas controlam movimento de dados para dentro e fora

do barramento.
Sinais de controle comandam transferncia de dados de e

para barramento externo do sistema.


Registradores temporrios necessrios para a operao

apropriada da ALU.

33

http://sites.google.com/site/moraiscg

Microoperaes

Busca

Indireto

Prof. Misael Morais (moraiscg@uol.com.br)

Temporizao

Sinais

t1: MAR

(PC)

C2

t2: MBR

Memria

C5, CR

PC

(PC) + 1

t3: IR

(MBR)

C4

t1: MAR

(IR(Endereo))

C8

t2: MBR

Memria

C5, CR

t3: IR(Endereo)

Interrupo

(MBR)

t1: MBR

(PC)

t2: MAR

Endereo de salvamento

PC

C4
C1

Endereo da rotina

t3: Memria

(MBR)

C12, CW

34

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

CPU com barramento interno

35

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Ex.: Adicionar um valor da memria


para AC (registrador)
t1:

MAR <- (IRendereo)

t2:

MBR <- (Memria)

t3:

Y <- (MBR)

t4:

Z <- (AC) + (Y)

t5:

AC <- (Z)

36

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Exemplo
(Problema 15.3 do Stalling)

Suponha

que

os

atraso

de

propagao

pelo

barramento e pela ALU na figura anterior seja sejam 20


e 100 ns, respectivamente. O tempo necessrio para
um registrador copiar dados do barramento 10 ns.
Qual o tempo que deve ser permitido para:
a) Transferir dados de um registrador para outro ?
b) Incrementar o contador de programa ?

37

http://sites.google.com/site/moraiscg

Prof. Misael Morais (moraiscg@uol.com.br)

Soluo
a)

tempo necessrio = Tempo de propagao + tempo de cpia


=

20ns

= 30 ns

b)

Incrementar o PC envolve 2 passos:


(1) Z (PC) + 1
(2) PC (Z)
O primeiro passo: 20 + 100 +10 =130 ns
O segundo passo = 30 ns.
Tempo total = 160 ns.

10ns

38