22
Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Embed Size (px)

Citation preview

Page 1: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Organização e Arquitetura de Computadores I

Parte de ControleIvan Saraiva Silva

Milano Gadelha

Page 2: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Sumário

• Introdução

• Topologia da parte de controle

• Implementação da PC

• Exemplo de Implementação

• Controle do MIC

• Lógica de Seqüenciamento do MIC

Page 3: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Introdução

• A parte de controle define, ciclo-a-ciclo, a seqüência de operações elementares executadas pela Parte Operativa

• Uma operação elementar é definida pelo conjunto de sinais que controlam em um ciclo o uso dos recursos da Parte Operativa.

• Uma Unidade de Controle (Parte de Controle) pode ser projetada– Como uma memória de microprograma– Como uma máquina de estados finitos

Page 4: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Topologia da Parte de Controle

• A Parte de Controle pode ser vista como uma Máquina de Moore.– O estado atual define as computações a serem

executadas no ciclo atual.– A função próximo estado depende apenas do

Estado Atual

• Maquina Meale– Próximo estado é definido por:

• Resultados de Computações do estado atual• Entradas Primárias do sistema.

Page 5: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Topologia da Parte de Controle

Funçãode

Saída

PO

FunçãoPróximoEstado

tsetFFtpFPEtpPOtpFStoFFfrel 1

EstadoAtual

Page 6: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Implementações da PC

• Diagrama de transição de estados– Especifica estados existentes– Especifica as condições de transição entre o

estados– Esconde uma tabela de transição de estado que

mostra a implementação real

Page 7: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Implementações da PC

• Diagrama de transição de estados– O estado atual é representado em um círculo

• Cada estado pode ser rotulado da seguinte forma– Nome/Saída_produzida

– Mudanças de estado são indicadas por setas direcionais do estado atual para o próximo;

– Variáveis de entrada e saída, em cada transição estado são representadas ao lado da seta, separadas por barra

Page 8: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Exemplo de Implementação

• Reconhecedor de seqüências de uns– Uma entrada de um bit– Uma saída de um bit– A saída é “1” se:

– O bit de entrada atual é “1” e– Pelo menos os dois últimos bits da entrada

foram “1”.

1 1In Out

Page 9: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Exemplo de Implementação

A/0

/Iniciar

Iniciar

B/0

/Bit

C/0

Bit

E/1

Bit

/Bit

Bit

D/0/Bit

Bit

/Bit

Page 10: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Exemplo de Implementação

• Para desenvolvermos uma tabela de estado – Representar em coluna as 2n combinações da

variável “estado atual”– Representar em linha as 2m combinações das

variáveis de entrada– Na interseção linha/coluna representar,

separados por barra, o próximo estado e os valores de saída do estado aual

Page 11: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Exemplo de Implementação

/I /Bit

/I Bit

I /Bit

I Bit

C DA B

A/0

B/0 B/0

D/0

B/0

E/0

E

A/0

B/0 B/1

B/0 C/0 E/1

Page 12: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Exemplo de Implementação

/I /Bit

/I Bit

I /Bit

I Bit

C DA B

A/0

B/0 A/0

D/0

A/0

E/0

E

A/0

A/0 A/1

B/0 C/0 E/1

A/0 A/0A/0 A/1

A/0 A/0A/0 A/1

Page 13: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Exemplo de Implementação

A/0

/Iniciar

Iniciar

B/0/Bit C/0

Bit

E/1

Bit

/Bit

Bit

D/0/Bit

Bit

/Bit

/I

/I

/I/I

Page 14: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Controle do MIC

• A Unidade de controle do MIC não é baseada em máquinas de estado• O MIC utiliza um controle

microprogramado – Que significa um programa que interpreta as

instruções do MIC– O microprograma representa uma visão abstrata

da arquitetura

Page 15: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Microprograma

• Microprogramação envolve:– Memória de microprograma– Códigos de microprograma

• Microisntruções

– Sequenciamento de microinstruções• Corresponde a execução sequencial do microprograma

• Microinstrução– Palavra armazenada na memória de microprograma que

“gera” um conjunto de sinais de controle para cada microtarefa executada na arquitetura.

Page 16: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Controle do MIC

• Relembrando a interface PC-PO do MIC – AMUX: Controla a entrada do multiplexador– ALU: Define a operação da ULA– SH: Define se há deslocamento e a direção– MBR: Habilita escrita no MBR a partir do deslocador– MAR: Habilita escrita no MAR a partir do latch B – RD: Requisita leitura da memória– WR: Requisita escrita na memória– ENC: Controla armazenamento nos registradores– A, B e C : Endereços de leitura (A e B) e escrita (C)

nos registradores

Page 17: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Controle do MIC

MAR MBR

PC

AC

SP

IR

TIR 0 1 -1 A

AM

BM

B C FD EZ N

C

UL

A

16

RD WR

Page 18: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Controle do MIC

• A unidade de controle do MIC deve gerar, a cada ciclo, todos os sinais .

MIR

MicroMEM

Memóriade Controle

Registradorde Controle

SeqüenciadorRegistradorMPC

Lógica deCálculo do MPC

Page 19: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Controle do MIC

MEMORIA

AMUX

ALU

SH

MBR

MAR

RD

WR

ENC

ABC

MPC

“1”

+

COND

ADDR

Page 20: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Lógica de Seqüenciamento do MIC

• Depende do código na micro-instrução atual do campo COND

• COND = 0 – Próxima instrução estará em MPC+1

• COND = 1 – Próxima instrução estará em ADDR se N = 1, senão estará em MPC + 1

• COND = 2 – Próxima instrução estará em ADDR se Z = 1, senão estará em MPC + 1

• COND = 3 – Próxima instrução estará em ADDR

Page 21: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Exemplo de Microprograma

• Instrução LODD X– Significado: AC :=

(M(x)) – conteudo da posição de memória X.

– Código de operação da instrução LODD “0000”

1. mar := pc; rd;2. pc : pc + 1; rd;3. ir := mbr; if n goto 28;4. tir := lshift(ir + ir); if n

goto 19;5. tir := lshift(tir); if n goto

11;6. alu := tir; if n goto 9;7. mar := ir; rd;8. rd;9. ac := mbr; goto 1;

Page 22: Organização e Arquitetura de Computadores I Parte de Controle Ivan Saraiva Silva Milano Gadelha

Tarefas recomendadas

• Leitura do texto sobre sistemas seqüências que está na página do curso

• Leitura do material de apoio distribuído na sala de aula