Você está na página 1de 18

3 SISTEMAS DIGITAIS PROGRAMÁVEIS

3.1 METODOLOGIA PARA PROJETO DE SISTEMAS DIGITAIS PROGRAMÁVEIS

1. Definição do conjunto de instruções.


2. Síntese do DATA PATH:
2.1 Extrair o grafo de transição de estados para o conjunto de instruções;
2.2 Definir uma arquitetura para o DATA PATH.
3. Síntese da UNIDADE DE CONTROLE:
3.1 Definir uma arquitetura para a UNIDADE DE CONTROLE;
3.2 Definir uma arquitetura para o controlador.

ARQUITETURA GERAL:
- Von Neumann
- Data Flow
- Outros

ARQUITETURA DE INSTRUÇÃO:
- CISC (Complex Instruction Set Computer)
- RISC (Reduced Instruction Set Computer)

SISTEMAS DIGITAIS 3 1
3 Sistemas Digitais Programáveis
3.2 UNIDADE CENTRAL DE PROCESSAMENTO (Central Processing Unit - CPU)

3.2.1 Estrutura Geral: Arquitetura nível RTL


Para a MEMÓRIA

CPU BARRAMENTO
D INSTRUÇÕES D DE
DADOS
CLOCK
D DADOS

v
C AC RS
RI DEC
O M
Ci N
* UNIDADE DATA
T Microinstrução Raux
Raux DE PATH
Variáveis de
controle de CONTROLE
entrada

S PC RE S/s COMP

Variáveis de Status Barramento


De E Co Variáveis de Controle
Endereços de Saída

* de outros SISTEMAS
Para a MEMÓRIA
Legenda:
RI – Registrador de Instrução
DEC – Decodificador
CONT – Controlador
Raux – Registrador Auxiliar
S – Somador
PC – Registrador Program Counter (Contador de Programa)
RE – Registrador de Endereços
AC – Registrador Acumulador
RS – Registrador de Saída
S/s – Somador/subtrator
COMP – Comparador

SISTEMAS DIGITAIS 3 2
3 Sistemas Digitais Programáveis
Nota: Variáveis de Controle de entrada
+
Variáveis de Controle de Saída

BARRAMENTO DE CONTROLE

3.3 CONCEITO GERAL DE MEMÓRIA


3.3.1 Memória apenas de LEITURA
Tipo ROM (Read Only Memory)

ENDEREÇOS
R Características:
BARRAMENTOS O - memória NÃO VOLÁTIL para
DADOS M armazenamento de PROGRAMAS.

CONTROLES

3.3.2 Memória de ESCRITA e LEITURA


Tipo RAM (Random Access Memory)

ENDEREÇOS
Características:
R - memória VOLÁTIL para
A armazenamento de DADOS.
BARRAMENTOS DADOS M

CONTROLES

SISTEMAS DIGITAIS 3 3
3 Sistemas Digitais Programáveis
3.4 REPRESENTAÇÃO DA ORGANIZAÇÃO DE UMA MEMÓRIA

XXXX YYYY

.
.
.
.
.
.
.

ENDEREÇOS DADOS

3.5 ARQUITETURA VON NEUMANN


3.5.1 Sequência de Operações

INÍCIO

ONDE OCORRE:
LEITURA  Memória e unidade de controle (UC)
DA
INSTRUÇÃO

DECODIFICAÇÃO
DA
 UC
INSTRUÇÃO

EXECUÇÃO
DA  UC e/ou DATA PATH
INSTRUÇÃO

DETERMINAÇÃO
DA PRÓXIMA  UC
INSTRUÇÃO A
SER LIDA

SISTEMAS DIGITAIS 3 4
3 Sistemas Digitais Programáveis
3.6 METODOLOGIA PARA PROJETO DE SISTEMAS DIGITAIS PROGRAMÁVEIS

3.6.1 Definição do Conjunto de Instruções

- Formato Geral da Instrução:

OP CODE ...

CÓDIGO DE OPERAÇÃO CAMPO DOS OPERANDOS


(ARGUMENTOS)
- Tipos de Instrução:
a. Transferência de dados
b. Aritméticas
c. Lógicas
d. Controle de programa
“ salto incondicional
“ salto condicional
“ chamada de sub-rotina

- Tipos de Endereçamento do Operando


a. Imediato
OP CODE DADO

Ex.: AC  5

b. Registrador
OP CODE R1 R2

Ex.: R1  R2

c. Direto
OP CODE ENDEREÇO DE
MEMÓRIA

Ex.: AC  [4]

d. Indireto
OP CODE R O campo de operando
especifica um registrador,
ou ou um endereço de
memória, que contém o
OP CODE ENDEREÇO DE endereço da posição de
MEMÓRIA memória onde está o valor
do operando.
Ex.: AC  [R]

SISTEMAS DIGITAIS 3 5
3 Sistemas Digitais Programáveis
e. Relativo
OP CODE ENDEREÇO
RELATIVO

Ex.: PC  PC +3

- Tamanho da Instrução:

a. Instruções de 1 palavra

HLT (HALT)

OP CODE
0000

Suspende a atividade da Unidade de Controle.

OUT (Saída)

OP CODE
0001

Transfere o conteúdo do ACUMULADOR para o REGISTRADOR DE SAÍDA.

b. Instruções de 2 palavras

LDI (Load Acumulator Immediate)

OP CODE
0010 X

Carrega imediatamente o ACUMULADOR com o DADO X.


Ex.: LDI X

ADD (Soma)

OP CODE
0011 X

Soma o conteúdo do ACUMULADOR com o DADO X, e armazena o resultado no


ACUMULADOR.
Ex.: ADD X ; AC AC + X

SISTEMAS DIGITAIS 3 6
3 Sistemas Digitais Programáveis
SUB (Subtract)

OP CODE
0100 X

Subtrai o DADO X do conteúdo do ACUMULADOR, e armazena o resultado no


ACUMULADOR.
Ex.: SUB X ; AC  AC – X

CPI (Compare Immediate)

OP CODE
0101 X

Compara o valor do ACUMULADOR com o DADO X:

Se AC – X = 0  FLAG = 1;
≠ 0  FLAG = 0
Ex.: CPI X

JZ (Jump if Zero)

OP CODE
0110 W

Desvia condicionalmente para o endereço relativo W:

= 1 ; PC  PC + W
Se FLAG
= 0 ; PC  PC + 1

Ex.: JZ W

c. Instruções de 3 palavras

STA (STorage Acumulator)

OP CODE END. DE MEMÓRIA


0111 Y Z

Armazena o conteúdo do ACUMULADOR na memória, cujo endereço absoluto está nas 2


palavras seguintes.
Ex.: STA YZ ; [YZ]  AC

Notas:
1 – 1 PALAVRA = 4 BITS;
2 – Quantidade de INSTRUÇÕES do exemplo = 8

SISTEMAS DIGITAIS 3 7
3 Sistemas Digitais Programáveis
3.7 SÍNTESE DO DATA PATH

3.7.1 GTE para o Conjunto de Instruções

a. Ciclo de Busca de Instrução – (Instruction Fetch)

INÍCIO

NADA

0 1
RESET 1

RE  PC 1

LÊ MEMÓRIA 2

RI  OP CODE
PC  PC + 1 3

SISTEMAS DIGITAIS 3 8
3 Sistemas Digitais Programáveis
b. Decodificação e Execução das Instruções
HTL, OUT, LDI e ADD

N
HLT

S N
OUT

2 S
LDI
N

RS  AC S N B
ADD

RE  PC S
1
RE  PC
LÊ MEMÓRIA
PC  PC + 1

LÊ MEMÓRIA
PC  PC + 1

AC  [M]

RA1  [M]
1

RA2  RA1 + AC

AC  RA2

SISTEMAS DIGITAIS 3 9
3 Sistemas Digitais Programáveis
c. Decodificação e Execução das Instruções
SUB e CPI

N
SUB

S N
CPI C
RE  PC S

RE  PC
LÊ MEMÓRIA
PC  PC + 1

LÊ MEMÓRIA
PC  PC + 1
RA1  [M]

RA1  [M]

RA2  AC – RA1

AC  RA1

AC  RA2

ATUALIZA
FLAG

SISTEMAS DIGITAIS 3 10
3 Sistemas Digitais Programáveis
d. Decodificação e Execução das Instruções
JZ e STA

N
JZ

S N
STA
ERRO
0 1
FLAG S

RE  PC 4
PC  PC + 1
RE  PC

LÊ MEMÓRIA 5
1 PC  PC + 1
LÊ MEMÓRIA
PC  PC + 1

RAL  [M] 6

RAL  [M]
RE  PC 7

PC  PC + RAL LÊ MEMÓRIA 8
PC  PC + 1

1 RAH  [M] 9

RE  RAH, RAL 10

RS  AC 11

Escreve na
Memória
12

SISTEMAS DIGITAIS 3 11
3 Sistemas Digitais Programáveis
3.8 ARQUITETURA PARA O DATA PATH
A partir do GTE do conjunto de instruções, extraem-se as UNIDADES FUNCIONAIS e os
REGISTRADORES necessários, com a respectiva lógica funcional de CONEXÕES.

DATA PATH (nível RTL) BARRAMENTOS


DE DADOS
(Bidirecional)
4

4 4

LAC ACUMULADOR LRA1 REGISTRADOR


AUXILIAR 1

4
4

SEL1 COMPARADOR
SOMADOR/SUBTRATOR
4 Ig
RESET
8 RF 4
LRF
LRA2
REGISTRADOR
ERA2 AUXILIAR 2 FLAG
3-state
LRS
REGISTRADOR
ERS DE SAÍDA

3-state

3.9 SÍNTESE DA UNIDADE DE CONTROLE


3.9.1 Arquitetura para a Unidade de Controle
Também a partir do GTE do conjunto de instruções, extraem-se os recursos necessários,
compostos por UNIDADES FUNCIONAIS, REGISTRADORES e CONTROLADOR, com suas
respectivas interligações.

SISTEMAS DIGITAIS 3 12
3 Sistemas Digitais Programáveis
UNIDADE DE CONTROLE (nível RTL)

BARRAMENTO DE ENDEREÇO

8
EM
MEMÓRIA
L/E
3-state BARRAMENTO DE DADOS
4
4
“0”
8 4

LRAL LRAH
SOMADOR REGISTRADOR REGISTRADOR
ERAL AUXILIAR L ERAH AUXILIAR H
8
3-state 3-state 4
RESET
D
CONTADOR 3-
LPC M
DE state
EPC U 4
PROGRAMA
X
CKC

3-State SEL2
LRI
8 REGISTRADOR
DE INSTRUÇÃO
4

4
8 4
RESET
LRE REGISTRADOR
CLK CONTROLADOR
DE
ENDEREÇO FLAG

BARRAMENTO DE ENDEREÇO
L S S L L E E L E L L E C L L L E E L L E
A E E R R R R R R R P P K R R R R R R / M
C L L A A A A S S F C C C E A A A A I E
1 2 1 2 1 2 L H L H

BARRAMENTO DE CONTROLE

SISTEMAS DIGITAIS 3 13
3 Sistemas Digitais Programáveis
RESUMO DOS RECURSOS NECESSÁRIOS:

DATA PATH UNIDADE DE CONTROLADOR


CONTROLE
UFs REGs UFs REGs 20 sinais de saída total

Somador/ AC Somador RI - 18 sinais para controle do


Subtrator DATA PATH e UNIDADE DE
RA1 Contador RAL
CONTROLE
Comparador de
RA2 RAH
Programa - 2 sinais para acesso de
RS RE LEITURA e ESCRITA à
Controlador
memória
RF

SISTEMAS DIGITAIS 3 14
3 Sistemas Digitais Programáveis
3.10 ARQUITETURA PARA O CONTROLADOR
3.10.1 Arquitetura de Contador em Anel

MEMÓRIA
4

LRI REGISTRADOR
DE
INSTRUÇÃO
CONTROLADOR

RESET
CONTADOR EM ANEL
4 (12 ESTADOS)
CLK

D ...
E
C HLT
O
D OUT
I LDI MATRIZ
F ADD DE
FLAG
I CONTROLE
SUB
C
A CPI (COMBINATÓRIA)
D JZ(0)
O JZ(1)
R STA
(ONE HOT)
ERRO
...
LAC SEL1 L/E EM

Nota:
JZ (0)  JZ c/ FLAG = 0
JZ (1)  JZ c/ FLAG = 1

SISTEMAS DIGITAIS 3 15
3 Sistemas Digitais Programáveis
MATRIZ DE CONTROLE

ESTADOS
1 2 ... 12

1 0 0 ... 0 010 ... 0 ... 000 ... 1


HLT LAC, SEL1, . . . EM 1 2 ... 12

OUT 13 14 ... 24

LDI 25 26 ... 36
IN ADD
ST
SUB
RU
ÇÕ CPI
ES JZ(0)
JZ(1) 85 86 96

STA 97 98 108

SAÍDAS DO CONTROLADOR

MICROINSTRUÇÕES

SISTEMAS DIGITAIS 3 16
3 Sistemas Digitais Programáveis
Implementação da MATRIZ DE CONTROLE
TEMPO (CLK)
.
. 000 ... 1
1 0 0 ... 0 010 ... 0 .

CEL1 CEL2 . CEL12

OUT= LAC, SEL1, ... , L/E, EM LAC, SEL1, ... , L/E, EM . LAC, SEL1, ... , L/E, EM
1 0 1 1 0 1 1 0 1 .

.
.
.

Temporização:

CLK ...
...

LAC
...
SEL 1º 2º ... 12º
ESTADO ESTADO ESTADO

SISTEMAS DIGITAIS 3 17
3 Sistemas Digitais Programáveis
3.11 ARQUITETURA MICROPROGRAMADA

MEMÓRIA
4

LRI REGISTRADOR
DE INSTRUÇÃO

4
MICROINSTRUÇÃO
QUANTIDADE DE ESTADOS
C C
O R
O
N E
N
T G
FLAG V K N W Z SAÍDAS DO
A I MICRO-
E CONTROLADOR
D S INSTRUÇÕES
R
O T
S ... ...
R R
O
A
R
CLK INIBE D
O
R

CLEAR CLK
CONTADOR
CLK

L L CLEAR
INIBE
CLK CLEAR
COMPARADOR LOAD
M.E.F. Busca
L/E de
EM Instruções
TÉRMINO
na
Memória

SISTEMAS DIGITAIS 3 18

Você também pode gostar