You are on page 1of 48

SAP-1

CONTEDO DO CAPTULO 10 (SAP-1)

10.0

Introduo .......................................................................................... 03

10.1

Arquitetura ......................................................................................... 03

10.2

Contador de Programa,03
Entrada e REM,03
A RAM,04
Registrador de Instrues,04
Contador-Sequencializador,05
Acumulador,06
O Somador-subtrator,06
Registrador B,06
Registrador de Sada,06
Indicador visual em Binrio,07

Conjunto de instrues .................................................................... 07

LDA,07
ADD,07
SUB,08
OUT,08
HLT,09
Instrues de Referncia de memria,09
Mnemnicos,09
Os Microprocessadores 8080 e 8085,09

10.3

Programao do SAP-1.......................................................................11

10.4

Ciclo de busca(FETCH) ......................................................................14

10.5

10.6

Contador em Anel,14
Estado de Endereo,15
Estado de Incremento,15
Estado de Memria,16
Ciclo de Busca,16

Rotina LDA,17
Rotina ADD,17
Rotina SUB,20
Rotina OUT,20
HLT,21
Ciclo de mquina e Ciclo de Instruo,21

Ciclo de execuo...............................................................................17

O Microprograma do SAP-1................................................................22

10.7

Microinstrues,22
Macroinstrues,22

O Diagrama esquemtico do SAP-1..................................................23

Contador de Programa,24
REM,24
Multiplexador de 2-para-1,24
RAM 16X8,25

SAP-1

10.8

Registrador de Instrues ,25


Acumulador,25
Somador-subtrator,25
Registrador B e Registrador de sada,25
Eliminador de Trepidao de Iniciar(Clear-Start Debouncer),25
Eliminador de Trepidao de Etapa nica,26
Eliminador de Trepidao Manual-Automtico,26
Memrias Intermediarias de Relgio(Clock Buffers),26
Circuitos de Relgio e Fonte de Alimentao,31
Decodificador de Instruo,31
Contador em Anel,32
Matriz de Controle,34
Operao,34

Microprogramao..............................................................................35

Armazenamento do Microprograma,35
ROM de Endereos,35
Contador Pr-ajustave,35
ROM de Controle,37
Ciclo varivel de Mquina,38
Vantagens,38

Glossrio..........................................................................................................39
Exerccios de Fixao.....................................................................................40
Problemas........................................................................................................41

SAP-1
SAP-1
O computador SAP ( Simples Quanto - Possvel = Simple-As-Possible) foi projeta para voc, o
principiante. A principal finalidade do SAP consiste em introduzir todas as idias cruciais alm da
operao do computador sem sobrecarreg-lo com detalhes desnecessrios.Mas at mesmo um
simples computador como o SAP engloba muitos conceitos avanados. Para evitar bombardear voc
com excesso de informaes todas de uma vez, examinaremos trs diferentes geraes do
computador SAP.
SAP-1 o primeiro estgio na evoluo com vistas aos modernos computadores .Embora
primitivo, o SAP-1 um grande passo para um principiante.Assim, neste captulo, entregue-se ao
estudo com determinao; procure adquirir um perfeito conhecimento ou prtica do SAP-1, de sua
arquitetura, de sua programao e de seus circuitos. Depois voc estar prepara o para estudar o
SAP-2.
10.1 ARQUITETURA
A Fig.10-1 mostra a arquitetura ( estrutura ) do SAP-1, um computador organizado em
barramentos . Todas as sadas dos registradores para o barramento W so de trs estados; isto
possibilita a transferncia de dados ordenadamente. Todas as outras sadas dos registradores so
de dois estados; estas sadas comandam continuamente as caixas s quais elas esto conectadas.
O diagrama da Fig.10-1 enfatiza os registradores usados no SAP-1. Por esta razo, nenhuma
tentativa tem sido feita para guardar todos os circuitos de controle em um bloco chamado unidade de
controle, todos os circuitos de entrada-sada em um outro bloco chamado unidade de E/S (I/O) etc.
Muitos dos registradores da Fig.10-1 j so conhecidos desde os primeiros exemplos e
discusses. O que segue uma breve descrio de cada caixa; explicaes detalhadas vm mais
tarde.
Contador de Programa
O programa armazenado no comeo da memria com a primeira instruo no endereo binrio
0000, a segunda instruo no endereo 0001, a terceira no endereo 0010 etc. O contador de
programa, que parte da unidade de controle, conta de 0000 a 1111. Sua tarefa enviar memria
o endereo da instruo seguinte a ser buscada e executada. Ele faz isto como segue.
O contador de programa restabelecido (reset) a 0000 antes de cada processamento no
computador. Quando comea o processamento ou execuo no computador, o contador de
programa envia o endereo 0000 memria. O contador de programa ento incrementado para se
obter 0001. Depois da primeira instruo ser buscada e executada, o contador de programa envia o
endereo 0001 memria. Novamente o contador de programa incrementado. Depois da segunda
instruo ser buscada e executada, o contador de programa envia o endereo 0010 memria.
Desta maneira, o contador de programa est acompanhando o desenvolvimento da prxima
instruo a ser buscada e executada.
O contador de programa como algum que aponta um dedo em uma lista de instrues,dizendo
para fazer isto em primeiro lugar, fazer isto em segundo, fazer isto em terceiro etc. por isto que o
contador de programa s vezes chamado ponteiro (pointer); ele aponta ou indica um endereo na
memria onde algo importante est sendo armazenado.
Entrada e REM
Abaixo do contador de programa est o bloco entrada e REM.Ele inclui os registradores de
chaves de dados e de endereo discutidos na seco 9-4. Estes registradores de chaves, que so
parte da unidade de entrada, permitem-nos enviar 4 bits de endereo e 8 bits de dados RAM.
Conforme lembramos, as palavras de dados e de instruo so escritas na RAM antes de um
processamento no computador.
O registrador de endereos na memria (REM) parte da memria do SAP-1. Durante um
processamento no computador, o endereo no contador de programa retido no REM. Um bit mais
tarde, o REM aplica este endereo de 4 bits RAM, onde uma operao de leitura realizada.

SAP-1
A RAM
A RAM uma RAM TTL esttica de 16 x 8. Conforme discutido na seco 9-4, podemos
programar a RAM por meio dos registradores de chaves de dados e de endereos. Isto nos permite
armazenar um programa e os dados na memria antes de um processamento do computador.
Durante um processamento do computador, a RAM recebe endereos de 4 bits do REM e
executada uma operao de leitura. Desta maneira, a instruo ou palavra de dados armazenada na
RAM colocada no barramento W para uso em alguma outra parte do computador.
Registrador de Instrues
O registrador de instrues constitui parte da unidade de controle. Para buscar uma instruo da
memria o computador realiza uma operao de leitura da memria. Isto coloca o contedo do local
de memria endereado no barramento W. Ao mesmo tempo, o registrador de instrues
preparado para carregamento na prxima transio positiva de relgio.
O contedo do registrador de instrues dividido em dois nibbles (meios-bytes). O nibble
superior uma sada de dois estados que vai diretamente ao bloco rotulado "controlador-sequencializador". O nibble inferior uma sada de trs estados que lida no barramento W quando
necessrio.

SAP-1

Fig10-1 Arquitetura do SAP-1

Controlador Sequencializador
O bloco inferior esquerdo contm o controlador - sequencializador. Antes de cada processamento
no computador, um sinal CLR enviado ao contador de programa e um sinal CLR enviado ao
registrador de instrues. Isto restabelece o contador de programa em 0000 e elimina a ltima
instruo no registrador de instrues.
Um sinal CLK de relgio enviado a todos os registradores de memria intermediria; isto sincroniza
a operao do computador, assegurando que as coisas acontecem quando elas so passveis de

SAP-1
acontecer. Em outras palavras, todas as transferncias do registrador ocorrem na transio positiva
de um sinaI CLK comum. Observemos que um sinal

CLR tambm vai ao contador de programa.

Os 12 bits que vm para fora do controlador- sequencializador formam uma palavra que controla
o resto do computador (como um supervisor que diz aos outros o que fazer). Os 12 fios que
transportam a palavra de controle so chamados barramento de controle.
A palavra de controle tem o formato de

Esta palavra determina como os registradores reagiro prxima transio positiva de relgio
(CLK). Por exemplo, um Ep alto e um

baixo significam que o contedo do contador de programa

retido no REM na prxima transio positiva de relgio. Como outro exemplo, um baixo

e um

baixo
significam que a palavra da RAM endereada ser transferida para o acumulador na
prxima transio positiva de relgio. Mais tarde, examinaremos os diagramas de
temporizao para verificar exatamente quando e como ocorrem estas transferncias de dados.
Acumulador
O acumulador (A) um registrador de memria intermediria que armazena respostas
intermedirias durante um processamento no computador. Na Fig. 10-1 o acumulador tem duas
sadas. A sada de dois estados vai diretamente ao somador-subtrator. A sada de trs estados vai
ao barramento W. Portanto, a palavra do acumulador de 8 bits continuamente comanda o somadorsubtrator; a mesma palavra aparece no barramento W quando EA est alto.
O Somador-subtrator
SAP-1 usa um somador-subtrator de complemento de 2. Quando SU for baixo na Fig. 10.1, a
soma fora do somador-subtrator ser
S=A+B
Quando SU for alto, aparecer a diferena:
S = A + B'
O somador-subtrator assincrono (no-sincronizado); isto significa que seu contedo pode variar
logo que as palavras de entrada variem. Quando EU for alto, estes contedos aparecero no
barramento W.
Registrador B
O registrador B um outro registrador de memria intermediria. Ele usado em operaes
aritmticas. Um baixo LB e uma transio positiva de relgio carregam a palavra do barramento W
dentro do registrador B. A sada de dois estados do registrador B comanda o somador-subtrator,
fornecendo o nmero a ser adicionado ou subtrado do contedo do acumulador.
Registrador de Sada
O Exemplo 8-1 tratou do registrador de sada. No final de um processamento do computador, o
acumulador contm a resposta ao problema que est sendo resolvido. Neste ponto, necessitamos
transferir a resposta para o mundo exterior. Isto onde usado o registrador de sada. Quando EA

SAP-1
for alto e

L0 for baixo, a prxima transio positiva de relgio carregar a palavra do acumulador no

registrador de sada.
O registrador de sada muitas vezes chamado porta de sa(da porque os dados processados
podem sair do computador atravs deste registrador. Em microcomputadores as portas de sada so
conectadas aos circuitos de interface que comandam dispositivos perifricos como as impressoras,
os tubos de raios catdicos, as teleimpressoras etc. (Um circuito de interface prepara os dados para
comandar cada dispositivo.)
Indicador Visual em Binrio
O indicador visual em binrio uma fileira de oito diodos emissores de luz (LEDs). Em virtude
de cada LED conectar-se a um biestvel da porta de sada, o indicador visual em binrio mostra-nos
o contedo da porta de sada. Portanto, depois de termos transferido uma resposta do acumulador
para a porta de sada, podemos ver a resposta em forma binria.
Resumo
A unidade de controle do SAP-1 consiste no contador de programa, no registrador de instrues e
no controlador-sequencializador que produz a palavra de controle, os sinais de limpar(ou
restabelecer) e os sinais de relgio. A ULA do SAP-1 consiste em um acumulador, em um somadorsubtrator e em um registrador B. A memria do SAP-1 tem um REM e uma RAM de 16x8. A unidade
de E/S inclui as chaves de programao de entrada, a porta de sada e o indicador visual em binrio.
10-2 CONJUNTO DE INSTRUES
Um computador um amontoado intil de hardware at que algum o programe. Isto significa o
carregamento de instrues passo-a-passo na memria antes do incio de um processamento no
computador. Antes que possamos programar um computador, no entanto, devemos aprender seu
conjunto de instrues, as operaes bsicas que ele pode executar .Segue-se o conjunto de
instrues do SAP-1.
LDA
Conforme descrito no Captulo 9, as palavras na memria podem ser simbolizadas por R0, R1, R2
etc. Isto significa que R0 armazenada no endereo OH, R1 no endereo 1H, R2 no endereo 2H etc.
LDA significa "carregar o acumulador" (Load the Accumulator). Uma instruo LDA completa
inclui o endereo hexadecimal dos dados a serem carregados. LDA 8H, por exemplo,significa
"carregar o acumulador com o contedo do local 8H da memria". Portanto, dado
a execuo de LDA 8H resulta em

R8=11110000
A= 1111 0000

Similarmente, LDA AH significa "carregar o acumulador com o contedo do local AH da


memria", LDA FH significa "carregar o acumulador com o contedo do local FH da memria " etc.
ADD
ADD uma outra instruo do SAP-1. Uma instruo ADD completa inclui o endereo da palavra
a ser acrescentada. Por exemplo, ADD 9H significa "acrescentar o contedo do local 9H " da
memria ao contedo do acumulador"; a soma substitui o contedo original do acumulador.
Eis aqui um exemplo. Suponhamos que o decimal 2 esteja no acumulador e que o decimal , no
local 9H da memria. Ento

SAP-1

A= 00000010
R9 = 00000011
Durante a execuo de ADD 9H, acontece o seguinte. Primeiro, R9 carregada no registrador B
para a se obter
B= 00000011
e quase instantaneamente o somador-subtrator forma a soma de A e B.
SUM = 00000101
Segundo, esta soma carregada no acumulador para se obter
A= 00000101
A rotina precedente usada em todas as instrues ADD; a palavra RAM endereada vai ao
registrador B e a sada do somador-subtrator vai para o acumulador. Isto ocorre porque a execuo
de ADD 9H acrescenta R9 ao contedo do acumulador, a execuo de ADD FH acrescenta RF ao
contedo do acumulador etc.
SUB
SUB uma outra instruo do SAP-1. Uma instruo SUB completa inclui o endereo da palavra
a ser subtrada. Por exemplo, SUB CH significa "subtrair o contedo do local CH da memria do
contedo do acumulador"; a diferena para fora do somador-subtrator depois substituir o contedo
original do acumulador.
Como um exemplo concreto, admitamos que o decimal 7 esteja no acumulador e que o
decimal 3, no local CH da memria. Ento
A =00000111
Rc = 00000011
A execuo de SUB CH ocorre como segue. Primeiro, Rc carregada no registrador B para se
obter
B = 00000011
e quase que instantaneamente o somador-subtrator forma a diferena de A e B:
DIFF = 0000 0100
Segundo, esta diferena carregada dentro do acumulador e
A= 00000100
A rotina precedente aplica-se a todas as instrues SUB; a palavra RAM endereada vai ao
registrador B e a sada do somador-subtrator vai ao acumulador. Isto ocorre porque a execuo de
SUB CH subtrai Rc do contedo do acumulador, a execuo de SUB EH subtrai RE do acumulador
etc.
OUT
A instruo OUT diz ao computador SAP-1 para transferir o contedo do acumulador para a porta
de sada. Depois de OUT ter sido executada, podemos ver a resposta ao problema que est sendo
resolvido.

SAP-1
OUT completa por si prpria; isto , no temos que incluir um endereo quando usamos OUT
porque a instruo no envolve dados na memria.
HLT
HLT significa parar (halt). Esta instruo diz ao computador para parar o processamento de
dados. HLT assinala o fim de um programa, similar maneira com que um ponto assinala o fim de
uma frase ou sentena. Devemos usar uma instruo HLT no fim de cada programa do SAP-1; do
contrrio, obtemos refugos (trash) no computador (respostas sem significado causadas pelo
processamento descontrolado).
HLT completa por si prpria; no temos que incluir uma palavra de RAM ao usarmos HLT
porque esta instruo no envolve a memria.
Instrues de Referncia Memria
LDA, ADD e SUB so chamadas instrues de referncia memria porque elas usam
dados armazenados na memria. OUT e HLT, por outro lado, no so instrues de referncia
memria porque elas no envolvem dados armazenados na memria.
Mnemnicos
LDA, ADD, SUB, OUT e HLT so o conjunto de instrues do SAP-1. Instrues abreviadas
como estas so chamadas mnemnicos (auxlios memria). Mnemnicos so conhecidos no
trabalho dos computadores porque eles nos lembram da operao que ocorrer quando a instruo
for executada. A Tabela 10-1 resume o conjunto de instrues do SAP-1.
Os Microprocessadores 8080 e 8085
O primeiro microprocessador amplamente usado foi o 8080. Ele tem 72 instrues. O 8085 uma
verso ampliada do 8080 tendo essencialmente o mesmo conjunto de instrues.Para tornar o SAP
prtico, as instrues do SAP tero compatibilidade ascendente com o conjunto de instrues do
8080/8085. Em outras palavras, as instrues LDA, ADD, SUB, OUT e HLT so instrues do
8080/8085. Analogamente, as instrues do SAP-2 e do SAP-3 sero parte do conjunto de
instrues do 8080/8085. Conhecendo as instrues do SAP estaremos preparados para o 8080 e
para o 8085, dois microprocessadores amplamente usados. Uma vez que aprendemos o conjunto de
instrues do 8080/8085, podemos nos desviar para outros microprocessadores.
TABELA 10-1. CONJUNTO DE INSTRUES DO SAP-1
Mnemnicos
LDA
ADD
SUB
OUT
HLT

Operao
Carregue os dados da RAM no acumulador.
Some os dados da RAM com o acumulador.
Subtraia os dados da RAM do acumulador .
Carregue os dados do acumulador no registrador de sada.
Pare o processamento.

EXEMPLO 10-1
Eis aqui um programa do SAP-1 em forma de mnemnico:
Endereo Mnemnicos

SAP-1
Endereo
0H
1H
2H
3H
4H
5H

Mnemnicos
LDA 9H
ADD AH
ADD BH
SUB CH
OUT
HLT

Os dados na memria superior so


Endereo
6H
7H
8H
9H
AH
BH
CH
DH
EH
FH

Dados
FFH
FFH
FFH
01H
02H
03H
04H
FFH
FFH
FFH

O que faz cada instruo?


SOLUO
O programa est na memria inferior, localizado nos endereos OH a 5H. A primeira instruo
carrega o acumulador com o contedo do local 9H da memria, e assim o contedo do acumulador
toma-se
A= 01H
A segunda instruo soma o contedo do local AH da memria ao contedo do acumulador para
produzir um novo total do acumulador de
A = 01H + 02H = 03H
Similarmente, a terceira instruo soma o contedo do local BH da memria
A= 03H + 03H = 06H
A instruo SUB subtrai o contedo do local CH da memria para produzir
A= 06H -04H = 02H
A instruo OUT carrega o contedo do acumulador para a porta de sada; portanto, o indicador
visual em binrio mostra
0000 0010
A instruo HLT interrompe o processamento dos dados.

10

SAP-1
10.3 PROGRAMAO DO SAP-1
Para carregar palavras de dados e instrues na memria do SAP-1 temos que usar alguma
espcie de cdigo que o computador possa interpretar. A Tabela 10-2 mostra o cdigo usado no
SAP-1. O nmero 0000 significa LDA, 0001 significa ADD, 0010 significa SUB, 1110 significa OUT e
1111 significa HLT.Em virtude deste cdigo dizer ao computador que operao executar, ele
chamado cdigo de operao (op code).
Conforme tratado inicialmente-as chaves de dados e de endereos da Fig. 9-7 nos possibilitam
programar a memria do SAP-1. Pelo projeto, estas chaves produzem um 1 na posio para cima
(U) e um 0 na posio para baixo (D). Quando programando as chaves de dados com uma instruo,
o cdigo de operaes entra no nibble superior, e o operando (o resto da instruo) entra no nibble
inferior.
TABELA 10-2. CDIGO OP DO SAP-1
Mnemnicos
LDA
ADD
SUB
OUT
HALT

Cdigo op
0000
0001
0010
1110
1111

Por exemplo, suponhamos que queremos armazenar as seguintes instrues:


Endereo
0H
1H
2H

Instruo
LDA FH
ADD EH
HLT

Primeiro, convertemos cada instruo em binrio como segue:


LDA FH = 0000 1111
ADD EH = 00011110
H L T = 1111 XXXX
Na primeira instruo. 0000 o cdigo op de LDA e 1111 o equivalente binrio de FH. Na
segunda instruo, 0001 o cdigo op de ADD e 1110 o equivalente binrio de EH. Na terceira
instruo, 1111 o cdigo op de HLT e XXXX so sadas irrelevantes porque a HLT no uma
instruo de referncia da memria.
A seguir, montemos as chaves de dados e de endereos como segue:
Endereos
DDDD
DDDU
DDUD

Dados
DDDDUUUU
DDDUUUUD
UUUUXXXX

Depois de cada palavra de dados e de endereo ser ajustada, comprimimos o boto de


escrita.Uma vez que D armazena um binrio 0 e U armazena um binrio 1, os trs primeiros locais
da memria tm agora este contedo:
Endereos
0000
0001
00 10

Contedo
0000 1111
00011110
1111 XXXX

11

SAP-1
Um detalhe final. A linguagem de montagem (Assembly language) envolve o trabalho com
mnemnicos quando se escreve um programa. A linguagem de mquina envolve o trabalho com
cordes de 0s e 1s. Os seguintes exemplos assinalam a distino entre as duas linguagens.

EXEMPLO 1 0-2
Traduzir o programa do Exemplo 10-1 em linguagem de mquina do SAP-1.
SOLUO
Eis o programa do Exemplo 10-1:
Endereo
Instruo
0H
LDA 9H
1H
ADD AH
2H
ADD BH
3H
SUB CH
4H
OUT
5H
HLT
Este programa est em linguagem de montagem conforme ele se acha agora. Para obt-lo em
linguagem de mquina, ns o traduzimos em 0s e 1s conforme segue:
Endereo
Instruo
0000
00001001
0001
00011010
0010
00011011
0011
00101100
0100
1110 XXXX
0101
1111 XXXX
Agora o programa est em linguagem de mquina.
Qualquer programa como o precedente que esteja escrito em linguagem de mquina chamado
programa objeto. O programa original com mnemnicos chamado programa fonte. Em SAP-1, o
operador traduz o programa fonte em um programa objeto quando da programao das chaves de
dados e de endereos.
Um detalhe final. Os quatro MSBs de uma instruo em linguagem de mquina SAP-1
especificam a operao, e os quatro LSBs do o endereo. As vezes ns nos referimos aos MSBs
como o campo de instruo e aos LSBs como o campo de endereo. Simbolicamente,
Instruo = XXXX XXXX
Campo de instruo
Campo de endereo
EXEMPLO 10-3
Como devemos programar SAP-1 para resolver este problema de aritmtica?
16 + 29 + 24- 32
Os nmeros esto em forma decimal.
SOLUO

12

SAP-1
Uma das maneiras consiste em usar o programa do exemplo precedente, armazenando os dados
(6, 20, 4, 32) nos locais da memria 9H a CH. Com o Apndice 1, podemos converter os dados
decimais em hexadecimais para obter esta verso em linguagem de montagem:
Endereo
0H
1H
2H
3H
4H
5H
6H
7H
8H
9H
AH
BH
CH

Contedo
LDA 9H
ADD AH
ADD BH
SUB CH
OUT
HLT
XX
XX
XX
10H
14H
18H
20H

A verso em linguagem de mquina


Endereo
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100

Contedo
0000 1001
00011010
00011011
0010 1100
1110 XXXX
1111 XXXX
XXXX XXXX
XXXX XXXX
XXXX XXXX
0001 0000
0001 0100
0001 1000
0010 0000

Observemos que o programa armazenado frente dos dados. Em outras palavras, o programa
est na memria inferior e os dados na memria superior. Isto essencial em SAP-1 porque o
contador de programa aponta para o endereo 0000 para a primeira instruo, 0001 para a segunda
instruo e assim por diante.
EXEMPLO 10-4
Compactar o programa e os dados do exemplo precedente convertendo em abreviao
hexadecimal.
SOLUO

13

SAP-1
Endereo
0H
1H
2H
3H
4H
5H
6H
7H
8H
9H
AH
BH
CH

Contedo
09H
1AH
1BH
2CH
EXH
FXH
XXH
XXH
XXH
10H
14H
18H
20H

Esta verso do programa e dados ainda considerada linguagem de mquina.


A propsito, os dados negativos so carregados em forma de complemento de 2. Por exemplo,
-03H introduzido como FDH.
10-4 CICLO DE BUSCA (FETCH)
A unidade de controle constitui a chave para uma operao automtica do computador. A
unidade de controle gera as palavras de controle que buscam e executam cada instruo.
Enquanto cada instruo for buscada e executada, o computador passar por diferentes estados de
temporizao (estados T), perodos durante os quais mudam os contedos dos registradores.
Investiguemos mais alguma coisa a respeito destes estados T.
Contador em Anel
Inicialmente, analisamos o contador em anel do SAP-1 (ver Fig. 8-16 para o diagrama
esquemtico). A Fig. 10-2a simboliza o contador em anel, que tem uma sada
T = T6T5T4T3T2T1
No comeo de um processamento do computador, a palavra anel
T = 000001
Pulsos de relgio sucessivos produzem palavras de anel de
T = 000010
T = 000100
T = 001000
T = 010000
T = 100000
Ento, contador em anel se restabelece (reset) em 000001 e o ciclo se repete. Cada palavra de anel
representa um estado T.
A Fig. 10-2b mostra os pulsos de temporizao fora do contador em anel. O estado inicial T1
comea com uma transio negativa de relgio e termina com a prxima transio negativa de
relgio. Durante este estado T, o bit T1 fora do contador em anel est alto.
Durante o prximo estado, T2 est alto; o estado seguinte tem um T3 alto; depois um T4
alto e assim por diante. Conforme podemos ver, o contador em anel produz seis estados T: Cada
instruo buscada e executada durante estes seis estados T.
Observemos que uma transio CLK positiva ocorre a meio caminho em cada estado T. A
importncia disto ser ressaltada mais tarde.

14

SAP-1

Fig. 10-2 Contador em anel: (a)smbolo;(b) sinais de relgio e de temporizao.

Estado de Endereo
O estado T1 chamado estado de endereo porque o endereo no contador (PC) de programa
transferido para o registrador (REM) de endereos da memria durante este estado. A Fig. 10-3a
mostra as seces do computador que esto ativas durante este estado (as partes ativas esto
claras; as partes inativas esto escuras).
Durante O estado de endereo, EP e
esto ativos; todos os outros bits de controle esto
inativos. Isto significa que o controlador-sequencializador est enviando para fora uma palavra de
controle de

=0 1 0 1

11 1 0

0 0 1 1

durante este estado.


Estado de Incremento
A Fig. 10-3b mostra as partes ativas de SAP-1 durante o estado T2. Este estado chamado
estado de incremento porque o contador de programa incrementado. Durante o estado de
incremento, o controlador-sequencializador est produzindo uma palavra de controle de

15

SAP-1

= 1 0 1 1

1 1 1 0 0 0 1 1

Conforme vemos, o bit CP ativo.


Estado de Memria
O estado T3 chamado estado de memria porque a instruo de RAM endereada
transferida da memria para o registrador de instruo. A Fig. 10-3c mostra as partes ativas de SAP1 durante o estado de memria. Os nicos bits de controle ativos durante este estado so

LI , e a palavra fora do controlador-sequencializador

= 0 0 1 0

011 0

0 0 1 1

Fig. 10-3 Ciclo de busca:(a) estado T1;(b) estado T2 ;(c)estado T3.

Ciclo de Busca
Os estados de endereo, de incremento e de memria so chamados ciclo de busca do SAP-1.
Durante O estado de endereo, EP e LM esto ativos; isto significa que o contador de programa
monta o REM atravs do barramento W. Conforme mostrado inicialmente na Fig. 10-2b uma
transio positiva de relgio ocorre a meia distncia atravs do estado de endereo; isto carrega o
REM com o contedo do PC.
CP o nico bit de controle ativo durante o estado de incremento. Isto prepara o contador de
programa para contar transies positivas de relgio. A meia distncia atravs do estado de
incremento, uma transio positiva de relgio atinge o contador de programa e avana a contagem
de 1.
Durante o estado de memria,
e LI esto ativos. Portanto, a palavra de RAM endereada
prepara o registrador de instrues atravs do barramento W. A meia distncia atravs do estado de
memria, uma transio positiva de relgio carrega o registrador de instrues com a palavra de
RAM endereada.

16

SAP-1

10-5 CICLO DE EXECUO


Os trs estados seguintes ( T4 , T5 e T 6) constituem o ciclo de execuo do SAP-1 . As
transferncias do registrador durante o ciclo de execuo dependem da instruo particular que est
sendo executada. Por exemplo, LDA 9H requer transferncias de registrador diferentes das de ADD
BH. O que se segue so as rotinas de controle para as diferentes instrues do SAP-1.
Rotina LDA
Para um estudo concreto, admitamos que o registrador de instrues tenha sido carregado com
LD A 9H:
IR = 0000 1001
Durante o estado T4, o campo 0000 de instruo vai para o controlador-sequencializador, onde
ele decodificado; o campo 1001 de endereos carregado no REM. A Fig. 10-4a mostra as partes
ativas de SAP-1 durante o estado T4. Notemos que
controle so inativos.

E I e LM so ativos; todos os outros bits de

Durante o estado T5 CE e L A tomam-se altos. Isto significa que a palavra de dados


endereada a RAM ser carregada no acumulador na prxima transio positiva de relgio (ver Fig.
10-4b).
T6 um estado sem operao. Durante este terceiro estado de execuo, todos os registradores
esto inativos (Fig. 10-4c). Isto significa que o controlador-sequencializador est enviando para fora
uma palavra cujos bits so todos inativos. Nop (pronunciado noop) significa "sem operao" ou
inoperante". O estado T6 da rotina LDA um nop.
A Fig.10-5 mostra o diagrama de temporizao das rotinas LDA e de busca. Durante o estado T1,
EP e LM esto ativos; a transio positiva de relgio a meio caminho atravs deste estado transferir
o endereo no contador de programa para o REM. Durante o estado T2, CP est ativo e o contador
de programa incrementado na transio positiva de relgio. Durante o estado T3 , CE e LI esto
ativos; quando ocorre a transio positiva de relgio, a palavra da RAM endereada transferida
para o registrador de instrues. A execuo de LDA comea com o estado T4 , onde LM e E I
esto ativos; na transio positiva de relgio o campo de endereo no registrador de instrues
transferido para o REM. Durante o estado T5 , CE e L A esto ativos; isto significa que a palavra de
dados de RAM endereada transferida para o acumulador na transio positiva de relgio.
Conforme sabemos, o estado T6 da rotina LDA um nop.
Rotina ADD
Suponhamos que no fim do ciclo de busca o registrador de instrues contenha ADD BH:
IR = 0001 1011
Durante o estado T4 o campo de instrues vai para o controlador-sequencializador e o campo de
endereos para o REM (ver Fig.10-6a). Durante este estado

E I e LM esto ativos.

Os bits de controle CE e LB esto ativos durante o estado T5.Isto permite que a palavra de RAM
endereada prepare (sete) o registrador B (Fig. 10-6b). Usualmente, o carregamento ocorre a meio
caminho atravs do estado quando a transio positiva de relgio atinge a entrada CLK do
registrador B.

17

SAP-1

Fig. 10-4 Rotina LDA:(a) estado T4;(b) estado T5 ;(c)estado T6.

Fig. 10-5 Diagrama de temporizao de busca e LDA

Fig. 10-6 Rotinas ADD e SUB: (a)estado T4 ;(b) estado T5 ; (c) estado T6.

18

SAP-1

Durante o estado T6 ,EU e L A esto ativos; portanto, o somador-subtrator estabelece ou prepara o


acumulador (Fig. 10-6c). A meio caminho atravs deste estado, a transio positiva de relgio
carrega a soma no acumulador.
A propsito, o tempo de preparao e o tempo de retardo de propagao evitam a corrida do
acumulador durante este estado final de execuo. Quando ocorre a transio positiva de relgio na
Fig.10.6c, o contedo do acumulador se modifica, forando o contedo do Somador-subtrator a
mudar. Os novos contedos retomam entrada do acumulador, mas os novos contedos no
chegam l at dois retardos de propagao aps a transio positiva de relgio(um para o
acumulador e um para o somador-subtrator), A esse tempo demasiado tarde para preparar o
acumulador. Isto evita a corrida do acumulador ( carregamento mais de uma vez na mesma transio
de relgio).
A Fig.10-7 mostra o diagrama de temporizao para as rotinas de busca e ADD. A rotina de
busca a mesma que a anterior: o estado T1 carrega o endereo PC no REM; o estado T2
incrementa o contador de programa; o estado T3 envia a instruo endereada para o registrador de
instruo.

Fig. 10-7 Diagrama de temporizao de busca e ADD.

Durante o estado T4 , E I e

LM esto ativos; na prxima transio positiva de relgio, o campo de

endereos no registrador de instruo vai para o REM. Durante o estado T5. CE e LB esto ativos;
portanto, a palavra de RAM endereada carregada no registrador B a meio caminho atravs do
estado. Durante o estado T6,

EU e L A esto ativos; quando ocorre a transio positiva de relgio, a

soma fora do somador-subtrator armazenada no acumulador .

19

SAP-1
Rotina SUB
A rotina SUB similar rotina ADD. A Fig.10-6a e b mostra as partes ativas de SAP-1 durante
os estados T4 e T5. Durante o estado T6 , um SU alto mandado ao somador-subtrator da Fig.10-6c.
O diagrama de temporizao quase idntico Fig.10-7. Visualizamos SU baixo durante os estados
T1 a T5 e SU alto durante o estado T6.
Rotina OUT
Suponhamos que o registrador de instrues contenha a instruo OUT no fim de um cicIo de
busca. Ento
IR = 1110 XXXX
O campo de instruo vai ao controlador-sequencializador para decodificao. Ento o
controlador-sequencializador emite a palavra de controle necessria para carregar o contedo do
acumulador no registrador de sada.
A Fig. 10-8 mostra as seces ativas de SAP.1 durante a execuo de uma instruo OUT.Uma
vez que EA e

L0 esto ativos, a prxima transio positiva de relgio carrega o contedo do

acumulador no registrador de sada durante o estado T4 . Os estados T5 e T6 so nops.


A Fig.10.9 o diagrama de temporizao das rotinas OUT e de busca. Novamente, o cicIo de
busca o mesmo: estado de endereo, estado de incremento e estado de memria. Durante o
estado T4 , EA e

L0 esto ativos; isto transfere a palavra do acumulador para o registrador de sada

quando ocorre a transio positiva de relgio.

Fig. 10-8 Estado T4 da instruo.

Fig. 10-9 Diagrama de temporizao de busca e de ADD.

20

SAP-1

HLT
HLT no requer uma rotina de controle porque no h registradores envolvidos na execuo uma
instruo HLT .Quando o IR contiver.
IR = 1111 XXXX
o campo 1111 de instruo avisar ao controlador-sequencializador para interromper o
processamento dos dados. O controlador-sequencializador pra o computador desligando o
relgio(conjunto de circuitos estudado mais tarde).
Ciclo de Mquina e Ciclo de Instruo
SAP-1 tem seis estados T (trs de busca e trs de execuo). Estes seis estados so chamados
ciclo de mquina (ver Fig. 10-10a). necessrio um ciclo de mquina para buscar e executar cada
instruo. O relgio SAP-1 tem uma freqncia de 1 kHz, equivalente a um perodo de 1
ms.Portanto, so necessrios 6 ms para ocorrer um ciclo de mquina do SAP-1.
SAP-2 ligeira diferente porque algumas de suas instrues levam mais do que um ciclo de
mquina para buscar e executar. A Fig. 10-10b mostra a temporizao (formas-de-onda) para uma
instruo que requer dois ciclos de mquina. Os trs primeiros estados T constituem o ciclo de
busca; no entanto, o ciclo de execuo requer os prximos nove estados T. por isto que uma
instruo de dois ciclos de mquina mais complicada e necessita daqueles estados T extras para
completar a execuo.
O nmero de estados T necessrio para buscar e executar uma instruo chamado ciclo de
instruo. No SAP-1 o ciclo de instruo igual ao ciclo de mquina. Enquanto no SAP-2 e em
outros microcomputadores o ciclo de instruo pode ser igual a dois ou mais ciclos de mquina,
conforme mostrado na Fig. 10.10b.
Os ciclos de instruo para o 8080 e para o 8085 levam de um a cinco ciclos de
mquina(posteriormente, mais detalhes sobre isto).
EXEMPLO 10.5
O manual de programao do 8080/8085 diz que so necessrios treze estados T para buscar e
executar a instruo LDA.

(a)

(b)
Fig. 10-10(a) Ciclo de instruo do SAP-1;(b)ciclo de instruo com dois ciclos de mquina.

21

SAP-1

Se o relgio do sistema tiver uma freqncia de 2,5 MHz, quanto tempo corresponder a um ciclo
de instruo?
SOLUO
O perodo do relgio

T=

1
1
=
= 400ns
f 2,5MHz

Portanto, cada estado T dura 400 ns. Uma vez que so necessrios treze estados T para buscar
e executar a instruo LDA, o ciclo de instruo dura
13 x 400 ns = 5 200 ns = 5,2s
EXEMPLO 10-6
A Fig. 10-11 mostra os seis estados T do SAP-1. A transio positiva de relgio ocorre a meio
caminho em cada estado. Por que isto importante?
SOLUO
SAP-1 um computador organizado em barramentos (atualmente o tipo comum). Isto permite
que seus registradores se comuniquem atravs do barramento W. Mas o carregamento confivel de
um registrador ocorre apenas quando os tempos de preparao e de reteno (hold) forem
satisfeitos. A espera de um meio-ciclo antes do carregamento do registrador satisfaz o tempo de
preparao; a espera de um meio-ciclo aps o carregamento satisfaz o tempo de reteno. por isto
que a transio positiva de relgio projetada para bater nos registradores a meio ciclo.
em cada estado T(Fig. 10-11).
H uma outra razo para esperar meio-ciclo antes do carregamento de um registrador.Quando a
entrada HABILITA do registrador que emite tornar-se ativa, o contedo ser subitamente
descarregado no barramento W. Capacitncia espria e indutncia da fiao impedem que as linhas
do duto alcancem seus nveis de tenso corretos imediatamente. Em outras palavras obtemos
transitrios no barramento W e temos que esperar que eles desapaream para garantir dados vlidos
no instante do carregamento. O retardo de meio-ciclo antes da sincronizao pernecessitamos
sumarizar a execuo das instrues do SAP-1 em uma tabela chamada microprograma.
10-6 O MICROPROGRAMA DO SAP-1
Logo estaremos analisando o diagrama esquemtico do computador SAP-1, mas primeiro
necessitamos sumarizar a execuo das instrues do SAP-1 em uma tabela chamada
microprograma.
Microinstrues
O controlador-sequencializador emite palavras de controle, uma durante cada estado T ou ciclo
de relgio. Estas palavras so como ordens ou instrues que dizem ao restante do computador o
que fazer. Em virtude de produzir uma pequena etapa no processamento de dados, cada palavra de
controle chamada uma microinstruo. Quando olhamos o diagrama-bloco do SAP-1(Fig. 10-1 ),
podemos Visualizar uma corrente uniforme de microinstrues que flui do controladorsequencializador para os outros circuitos do SAP-1.
Macroinstrues
As instrues com que temos estado programando (LDA, ADD, SUB, ...) so s vezes chamadas
macroinstrues para distingui-las das microinstrues. Cada macroinstruo do SAP-1 formada

22

SAP-1
de trs microinstrues. Por exemplo, a macroinstruo LDA consiste nas microinstrues na Tabela
10-3. Para simplificar o aspecto destas microinstrues, podemos usar compactao hexadecimal
conforme mostrado na Tabela 10-4.
A Tabela 10-5 mostra o microprograma do SAP-1, uma listagem de cada macroinstruo e as
microinstrues necessrias para execut-las. Esta tabela resume as rotinas de execuo para as
instrues do SAP-1. Uma tabela semelhante pode ser usada com conjuntos de instrues mais
avanadas.

Fig. 10-11 Transies positivas de relgio ocorrem a meio caminho nos estados T.

10-7 O DIAGRAMA ESQUEMnco DO SAP-1


Nesta seco examinaremos o diagrama esquemtico completo do SAP-1. As Figs.10-12 a
10.15 mostram todos os circuitos integrados (pastilhas), fios e sinais. Consultaremos estas figuras
em toda a explicao seguinte. O Apndice 3 apresenta detalhes adicionais de algumas das
pastilhas (Cls) mais complicadas.
TABELA 10-3
Macr Estad
o
o
LDA
T4

C P E P LM CE

LI

EI

SU

EU

LB

L0

Ativo

LM , E I

T5

T6

TABELA 10-4
Macro
LDA

LA E A

Estado
T4

CON
1A3H

T5

2C3H

T6

3E3H

Ativo

LM , E I
CE , L A
Nada

23

CE L A
Nada

SAP-1
TABELA 10-5. MICROPROGRAMA DO SAP-1*
Macro
LDA

ADD

SUB

OUT

Estado
T4

CON
1A3H

Ativo

T5

2C3H

T6
T4

3E3H
1A3H

T5

2E1H

T6

3C7H

L A , EU

T4

1A3H

LM , E I

T5

2E1H

T6

3CFH

T4

3F2H

E A , L0

T5
T6

3E3H
3E3H

Nada
Nada

LM , E I
CE , L A
Nada

LM , E I
CE , LB

CE , LB
L A , SU , EU

*
Contador Programa
As pastilhas C1, C2 e C3. da Fig. 10-12 constituem o contador de programa. A pastilha C1,um
74LS107, um biestvel duplo J-K mestre-escravo, que produz os 2 bits de endereo superiores. A
pastilha C2, um outro 74LS107, produz os 2 bits de endereo inferiores. A pastilha C3 um
74LS126, uma chave qudrupla de trs estados normalmente aberta; ela d ao contador de
programa uma sada de trs estados.
No inicio de um processamento de computador, um CLR baixo restabelece o contador de
programa 0000. Durante o estado T1 , um E P alto coloca o endereo no barramento W.
Durante o estado T2 . um

C P alto aplicado ao contador de programa a meio caminho atravs deste

estado, a transio CLR negativa (equivalente transio CLK positiva) incrementa o contador de
programa.
O contador de programa inativo durante os estados T3 a T6 .
REM
A pastilha C4, um 74LS173, um registrador de memria intermediria (buffer) de 4 bits; ele se
como o REM. Observemos que os pinos 1 e 2 esto ligados terra; isto converte a sada de trs
estados em uma sada de dois estados. Em outras palavras, a sada do REM no est conectada ao
barramento W, e portanto no h necessidade de usar a sada de trs estados.
Multiplexador de 2-para-l
A pastilha C5 um 74LS157, um multiplexador de nibble de 2-para-1. O nibble da esquerda
(pinos 14,11 ,5, 2) vem do registrador (S1) de chaves de endereo. O nibble da direita(pinos 13, 0, 6,
3) vem do REM. A chave (S2) RUN-PROG seleciona o nibble para alcanar a sada de C5. Quando
S2 estiver na posio PROG; o nibble fora do registrador de chaves de endereo ser selecionado.
Por outro lado, quando S2 estiver na posio RUN, a sada do REM ser selecionada.

24

SAP-1
RAM de 16 x 8
As pastilhas C6 e C7 so 74189s. Cada pastilha uma RAM esttica de 16 x 4. Juntas, elas nos
do uma memria de leitura-escrita de 16 x 8. S3 o registrador (8 bits) da chave de dados e S4
a chave de leitura-escrita (uma chave com boto de calcar). Para programar a memria, S2 posta
na posio PROG; isto toma baixa a entrada CE (pino 2). As chaves de dados e de endereos so
depois ajustadas com as palavras de dados e de endereos corretas.Calcando-se
momentaneamente a chave de leitura-escrita, toma-se WE baixa (pino 3) e carrega-se a memria.
Depois do programa e dos dados estarem na memria, a chave (S2) RUN-PROG ser posta na
posio RUN em preparao ao processamento no computador .
Registrador de Instrues
As pastilhas C8 e C9 so 74LS173s. Cada pastilha um registrador de memria intermediria de
trs estados e de 4 bits. As duas pastilhas constituem o registrador de instrues. Ligando-se
terra os pinos 1 e 2 de C8, converte-se a sada de trs estados em uma sada de dois estados,
I7I6I5I4. Este nibble vai ao decodificador de instrues no controlador-seqiiencializador. O sinal
controla a sada de C9, o nibble inferior no registrador de instrues. Quando
nibble ser colocado no barramento W.

EI

E I for baixo, este

Acumulador
As pastilhas C10 e C11, 74LS173s, constituem o acumulador (Ver. Fig. 10-13). Os pinos 1 e 2
so ligados terra em ambas as pastilhas para produzir uma sada de dois estados no somadorsubtrator. As pastilhas C12 e C13 so 74LS126s; estas chaves de trs estados colocam o contedo
do acumulador no barramento W quando E A est alto.
Somador-subtrator
As pastilhas C14 e C15 so 74LS86s. Estas portas EXCLUSIVE-OR constituem um inversor
controlado. Quando SU baixo, o contedo do registrador B transmitido. Quando SU alto, o
complemento de 1 transmitido e um 1 acrescentado ao LSB para formar o complemento de 2.
As pastilhas C16 e C17 so 74LS83s. Estes somadores totais de 4 bits se combinam para
produzir uma soma ou diferena de 8 bits. As pastilhas C18 e C19, que so 74LS126s, convertem
esta resposta de 8 bits em uma sada de trs estados para comandar o barramento W.
Registrador B e Registrador de Sada
As pastilhas C20 e C21, que so 74LS173s, formam o registrador B. Ele contm os dados a
serem adicionados ou subtrados do acumulador. Ligando-se terra os pinos 1 e 2 de ambas as
pastilhas, produz-se uma sada de dois estados para o somador-subtrator.
As pastilhas C22 e C23 so 74LS173s e formam o registrador de sada. Ele comanda o indicador
visual binrio e nos permite ver os dados processados.
Eliminador de Trepidao de lniciar-Limpar"("Clear-Start Debouncer")
Na Fig. 10-14, o eliminador de trepidao de iniciar-Iimpar produz duas sadas: CLR para o
registrador de instrues e CLR para o contador de programa e para o contador em anel. CLR
tambm vai a C29, o biestvel de relgio-incio (clock-start flip-flop). S5 uma chave de boto de
comprimir. Quando comprimida (abaixada), ela vai para a posio CLEAR, gerando um alto CLR e

25

SAP-1
um baixo

CLR . Quando S5 liberada, ela retoma posio START, produzindo um CLR baixo e

um

CLR alto.
Observemos que metade de C24 usada no eliminador de trepidao de iniciar-limpar e a outra
metade no eliminador de trepidao de etapa nica. A pastilha C24 uma porta NAND qudrupIa de
2 entradas, do tipo 7400.
Eliminador de trepidao de Etapa nica
SAP-1 pode realizar processamento em qualquer um dos dois modos: manual ou automtico. No
modo manual, comprimimos e liberamos S6 para gerar um pulso de relgio. Quando S6 for
comprimida, CLK ser alto; quando estiver liberada, CLK ser baixo. Em outras palavras, o
eliminador de trepidao de etapa nica da Fig.10-14 gera os estados T um de cada vez conforme
comprimimos e liberamos o boto. Isto nos permite atravessar os diferentes estados T enquanto
reparamos defeitos ou fazemos depurao. (Depurao significa procurar erros em nosso programa.
Procuramos defeitos no hardware e depuramos o software).
Eliminador de trepidao Manual-automtico
A chave S7 uma chave de inverso monopolar (SPDT) que pode permanecer quer na posio
MANUAL quer na posio AUTO. Quando na MANUAL, o boto de um nico estgio est ativo.
Quando em AUTO, o computador realiza o processamento automaticamente. Duas das portas
NAND em C26 so usadas para eliminar trepidao na chave MANUAL-AUTO. As duas outras
portas C26 NAND constituem parte de uma estrutura NAND/NAND que orienta (ou guia) relgio de
etapa nica ou o relgio automtico para as sadas finais CLK e

CLR .

Memrias Intermedirias de Relgio ("Clock Buffers")


A sada do pino 11, C26, comanda as memrias intermedirias de relgio. Conforme vemos
Fig.10-14, dois inversores so usados para produzir a sada final CLK e um inversor para produzir a
sada CLR . Ao contrrio da maioria das outras pastilhas, C27 TTL padro em vez de um Schottky
de baixa potncia (ver SAP-1, Lista das Partes, Apndice 4). TTL padro usado porque ele pode
comandar 20 cargas TTL Schottky de baixa potncia, conforme indicado na TabeIa 4-5.
Se verificarmos as folhas de caractersticas de dados do 74LS107 e do 74LSl73 quanto s
correntes de entrada, seremos capazes de contar as seguintes cargas TTL Schottky (LS) de baixa
potncia nos sinais de relgio e de limpar (levar-a-0):
CLK = 19 LS cargas

CLR = 2 LS cargas
CLR = 1 LS cargas

CLR = 20 LS cargas
CLR fora de C27 (TTL padro) so adequados para comandar
as cargas TTL Schottky de baixa potncia. Alm disso, os sinais CLR e CLR fora de C24 (TTL
Isto significa que os sinais CLK e

padro) podem comandar suas cargas.

26

SAP-1

Fig. 10-12 Contador de programa, memria e registrador de instrues do SAP-1.

27

SAP-1

Fig. 10-12 (Continuao )

28

SAP-1

Fig. 10-13 Registradores A e B, somador-subtrator e circuitos de sada.

29

SAP-1

Fig. 10-13 (Continuao)

30

SAP-1
Circuitos de Relgio e Fonte de Alimentao
A pastilha C28 um temporizador 555. Este CI produz uma sada retangular de 2 kHz com um
ciclo de atividade de 75 por cento. Conforme estudado anteriormente, um biestvel (C29) de iniciar o
relgio divide o sinal em 1 kHz e ao mesmo tempo produz um ciclo de atividade de 50 por cento.
A fonte de alimentao consiste em um retificador em ponte de onda completa operando com um
filtro a capacitor de entrada. A tenso cc no capacitor de 1000 F de aproximadamente 20V . A
pastilha C30, um LM340T-5, um regulador de tenso que produz uma sada estvel de +5 V.
Decodificador de Instruo
A pastilha C31 , um inversor hexadecimal, produz complementos dos bits em cdigo op,I7I6I5I4
(ver Fig. 10-15). Depois as pastilhas C32, C33 e C34 decodificam o cdigo op, para produzir cinco
sinais de sada: LDA, ADD, SUB, OUT e

HLT . Lembremo-nos de que somente um destes sinais

est ativo de cada vez. ( HLT ativo quando baixo; todos os outros so ativos quando altos.)
Quando a instruo HLT estiver no registrador de instrues, os bits I7I6I5I4 sero 1111 e HLT
baixo. Este sinal retomar a C25 (relgio de etapa nica) e a C29 (relgio automtico ).O relgio pra
e o processamento no computador terminar, quer no modo MANUAL quer no AUTO.

Fig. 10-14 Circuitos da fonte de alimentao, de relgio e de limpar(zerar).

31

SAP-1
Contador em Anel
O contador em anel, s vezes chamado contador de estados, consiste em trs pastilhas, C36,
C37 e 38. Cada uma destas pastilhas um 74LS107, um biestvel duplo mestre-escravo JK. Este
contador ser restabelecido (levado-a-0) quando o boto (S5) de limpar-iniciar for comprimido. O
biestvel

Q0 invertido de modo que sua sada Q (pino 6, C38) comande a entrada j do


biestvel Q1 (pino 1, C38). Por causa disto, a sada T1 inicialmente alta.
O sinal CLK comanda uma entrada baixa ativa. Isto significa que a transio negativa do sinal
CLK inicia cada estado T. Meio-ciclo mais tarde, a transio positiva do sinal CLK produz o
carregamento do registrador, conforme descrito anteriormente.

32

SAP-1

Fig. 10-15 Decodificador de instrues, contador em anel e matriz de controle.

33

SAP-1
Matriz de Controle
Os sinais LDA, ADD, SUB e OUT do decodificador de instrues comandam a matriz de
controle, C39 a C48. Ao mesmo tempo, os sinais do contador em anel, T1 a T6 , esto
comandando a matriz (um circuito que recebe dois grupos de bits de diferentes fontes). A matriz
produz CON, uma microinstruo de 12 bits que diz ao restante do computador o que fazer .
Na Fig. 10-15, T1 toma-se alto, depois T2, depois T3 etc. Analisemos a matriz de controle e eis
o que encontraremos. Um T1 alto produz um

E P alto e um LM baixo (estado de endereos); um

T2 alto resulta num C P alto (estado de incremento); e um T3 alto produz um CE baixo e um LI


baixo (estado de memria). Os trs primeiros estados T, portanto, so sempre ciclo de busca no
SAP-1. Em notao compactada, as palavras CON para o ciclo de busca so
Estado
T1

CON
5E3H

T2

BE3H

T3

263H

Bits ativos

E P , LM
CP
CE , LI

Durante os estados de execuo, T4 a T6 tomam-se altos em sucesso. Ao mesmo tempo,


somente um dos sinais codificados (LDA at OUT) est alto. Por causa disto, a matriz
automaticamente guia os bits ativos para as linhas de controle da sada correta.
Por exemplo, quando LDA for alto, as nicas portas NAND de 2 entradas habilitadas sero a
primeira, a quarta, a stima e a dcima. Quando T4 estiver alto, ele ativar a primeira e a stima
porta, resultando em

LM baixo e E I baixo (carregam REM com o campo de endereo).Quando

T5 estiver alto, ele ativar as quarta e dcima porta NAND, produzindo um baixo

CE e um baixo

L A (carregam dados de RAM no acumulador). Quando T6 tomar-se alto, nenhum dos bits de
controle estaro ativos (nop).
Devemos analisar a ao da matriz de controle durante os estados de execuo das
possibilidades restantes: ADD alto, SUB alto e OUT alto. Depois concordaremos em que a matriz
de controle poder gerar as microinstrues ADD, SUB e OUT mostradas na Tabela 10-5
(microprograma do SAP-1).
Operao
Antes de cada processamento no computador, o operador introduz o programa e os dados na
memria do SAP-1. Com o programa na memria inferior e os dados na memria superior, o
operador comprime e libera o boto de limpar (zerar). Os sinais CLK e CLK comandam os
registradores e contadores. A microinstruo fora do controlador-se-quencializador determina o
que acontece em cada transio CLK positiva.
Cada ciclo de mquina do SAP-1 comea com um ciclo de busca. T1 o estado de endereo,
T2 o estado de incremento e T3 o estado de memria. No fim do ciclo de busca a instruo
armazenada no registrador de instrues. Depois do campo de instruo ter sido decodificado, a
matriz de controle automaticamente gerar a rotina de execuo correta. Ao trmino do ciclo de
execuo, o contador em anel se restabelecer ( zerado) e comear o prximo ciclo de mquina.
O processamento dos dados terminar quando uma instruo HLT for carregada no registrador
de instrues.

34

SAP-1
10.8 MlCROPROGRAMAO
A matriz de controle da Fig. 10-15 uma das maneiras de gerar as microinstrues
necessrias para cada ciclo de execuo. Com maiores conjuntos de instrues, a matriz de
controle torna-se muito complicada e requer centenas ou at mesmo milhares de portas. por isto
que o controle por fios fixos (hardwired control = portas da matriz soldadas juntas) forou os
projetistas a procurar um modo alternativo de produzir palavras de controle que executam o
processamento em um computador.
A microprogramao a alternativa. A idia bsica consiste em armazenar microinstrues
em uma ROM em vez de produzi-las com uma matriz de controle. Este processo simplifica o
problema da construo de um controlador-sequencializador.
Armazenamento do Microprograma .
Atribuindo-se endereos e incluindo-se a rotina de busca, podemos apresentar as
microinstrues do SAP-1 mostradas na tabela 10-6. Estas microinstrues podem ser
armazenadas em uma ROM de controle com a rotina de busca nos endereos 0H a 2H, a rotina
LDA nos endereos 3H a 5H, a rotina ADD em 6H a 8H, a rotina SUB em 9H e BH e a rotina OUT
em CH a EH.
Para ter acesso a qualquer rotina, precisamos fornecer os endereos corretos. Por exemplo,
para obter a rotina ADD, necessitamos fornecer os endereos 6H, 7H e 8H. Para se obter a rotina
OUT , fornecemos os endereos CH, DH e EH. Portanto, ter acesso a qualquer rotina requer trs
etapas:
1. Conhecimento do endereo de partida da rotina.
2. Escalonamento atravs dos endereos da rotina.
3. Aplicao dos endereos ROM de controle.
ROM de Endereos
Fig. 10-16 mostra como microprogramar o computador SAP-1. Ele tem uma ROM de endereo
, um contador pr-ajustvel e uma ROM de controle. A ROM de endereo contm os endereos de
partida de cada rotina na Tabela 10-6. Em outras palavras, a ROM de endereos contm os dados
listados na Tabela 10.7. Conforme mostrado, o endereo de partida da rotina LDA 0000 etc. O
endereo de partida da rotina ADD 0110 etc.
Quando os bits I7I6I5I4 do cdigo op comandam a ROM de endereo, o endereo de partida
gerado. Por exemplo, se a instruo ADD estiver sendo executada, I7I6I5I4 se 0001. Esta a
entrada para a ROM de endereo; a sada desta ROM 0110.
Contador Pr-ajustvel
Quando T3 for alto, a entrada de carga do contador pr-ajustvel ser alta e o contador
carregar o endereo de partida da ROM de endereos. Durante os outros estados T, o contador
contar.
Inicialmente, um sinal CLR alto proveniente do eliminador de trepidao de limpar-iniciar
diferenciado para se obter um estreito pico positivo. Isto restabelece (zera) o contador. Quando
comea o processamento no computador, a sada do contador 0000 durante o estado T1, 0001
durante o estado T2 e 00 10 durante o estado T3 . Cada ciclo de busca o mesmo, porque 0000,
0001 e 0010 saem do contador durante os estados T1, T2 e T3.

35

SAP-1

Fig. 10-16 Controle microprogramado do SAP-1.

TABELA 10-6. ROM DE CONTROLE DO SAP-1*


Endereo Contedos Rotina
0H
5E3H
Fetch
1H

BE3H

2H

263H

3H

1A3H

4H

2C3H

5H

3E3H

6H

1A3H

7H

2E1H

8H

3C7H

9H

1A3H

AH

2E1H

BH

3CFH

CH

3F2H

DH
EH
FH

3E3H
3E3H
X

Ativo

E P , LM
CP
CE , L A

LDA

LM , E I
CE , L A
Nada

ADD

LM , E I
CE , LB
L A , EU

SUB

LM , E I
CE , LB
L A , SU , EU

OUT

E A , L0
Nada
Nada
No usado

36

SAP-1
Endereo
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1100

Contedos
0011
0110
1001
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
XXXX
1100
XXXX

Rotina
LDA
ADD
SUB
Nada
Nada
Nada
Nada
Nada
Nada
Nada
Nada
Nada
Nada
Nada
OUT
Nada

O cdigo op no registrador de instrues controla o ciclo de execuo. Se uma instruo ADD


tiver sido buscada, os bits I7I6I5I4 sero 0001. Estes bits do cdigo op comandam a ROM de
endereos, produzindo uma sada de 0110 (Tabela 10-7). Este endereo de partida a entrada
para o contador pr-ajustvel. Quando T3 estiver alto, a prxima transio negativa de relgio
carregar 0110 no contador pr-ajustvel. O contador est agora ajustado (levado-a-1), e a
contagem pode resumir-se no endereo de partida da rotina ADD. A sada do contador 0110
durante o estado T4,0111 durante o estado T5 e 1000 durante o estado T6.
Quando comea o estado T1, a transio frontal do sinal T1 diferenciada para produzir um
estreito o pico positivo que restabelece o contador em 0000, o endereo de partida da rotina de
busca.Comea ento um novo ciclo de mquina.
ROM de Controle
A ROM de controle armazena as microinstrues do SAP-1. Durante o ciclo de busca, ela
recebe os endereos 0000, 0001 e 0010. Portanto, suas sadas so
5E3H
BE3H
263H
Estas microinstrues, listadas na Tabela 10-6, produzem o estado de endereos, o estado de
incremento o estado de memria.
Se uma instruo ADD estiver sendo executada, a ROM de controle receber endereos
0110,0111 e 1000 durante o ciclo de execuo. Suas sadas so
1A3H
2E1H
3C7H
Estas microinstrues executam a adio conforme discutido previamente.
Como um outro exemplo. suponhamos que a instruo OUT esteja sendo executada. Ento o
cdigo op 1110 e o endereo de partida 1100 (Tabela 10-7). Durante o ciclo de execuo, a
sada do contador 1100, 1101 e 1110. A sada da ROM de controle 3F2H,3E3H e 3E3H
(Tabela 10-6). Esta rotina transfere o contedo do acumulador para a porta de sada.

37

SAP-1
Ciclo Varivel de Mquina
A microinstruo 3E3H na Tabela 10-6 uma nop. Ela ocorre uma vez na rotina LDA e duas
vezes na rotina OUT .Estas nops so usadas em SAP-1 para se obter um ciclo fixo de mquina
para todas as instrues. Em outras palavras, cada ciclo de mquina dura exatamente seis
estados T, no importa qual a instruo. Em alguns computadores um ciclo de mquina fixo
constitui uma vantagem. Mas quando a velocidade for importante, as nops constituiro um
desperdcio de tempo e podero ser eliminadas.
Um modo de acelerar a operao do SAP-1 consiste em saltar qualquer estado T com uma
nop. Reprojetando-se o circuito da Fig. 10-16 podemos eliminar os estados nop. Isto abreviar o
ciclo de mquina da instruo LDA para cinco estados (T1, T2, T3, T4 e T5) .Tambm encurta-se o
ciclo de mquina da instruo OUT para quatro estados (T1, T2, T3, T4 e T5) .
A Fig. 10-17 mostra um modo de se obter um ciclo de mquina varivel. Com uma instruo
LDA, a ao a mesma que anteriormente durante os estados T1 a T5.Quando comea o estado
T6, a ROM de controle produz uma sada de 3E3H (a microinstruo nop). A porta NAND detecta
esta nop instantaneamente e produz um sinal NOP de sada baixa. NOP realimentado para o
contador em anel atravs de uma porta AND, conforme mostrado na Fig. 10-18.Isto restabelece o
contador em anel no estado T1, e comea um novo ciclo de mquina. Isto reduz o ciclo de mquina
da instruo LDA de seis estados para cinco.
Com a instruo OUT , ocorre a primeira nop no estado T5 .Neste caso, logo aps comear o
estado T5 , a ROM de controle produz uma sada de 3E3H, que detectada pela porta NAND.O
baixo sinal NOP ento restabelece o contador em anel para o estado T1. Desta maneira,
reduzimos o ciclo de mquina da instruo OUT de seis estados para quatro.
Ciclos variveis de mquina so comumente usados com microprocessadores. No 8085,por
exemplo, os ciclos de mquina duram de dois a seis estados T porque todos os estados nop
indesejveis so ignorados.
Vantagens
Uma vantagem da microprogramao a eliminao do decodificador de instrues e da
matriz de controle; ambos tomam-se muito complicados em maiores conjuntos de instrues.Em
outras palavras, muito mais fcil armazenar microinstrues em uma ROM do que montar um
decodificador de instrues e matriz de controle.
Alm disso, uma vez que montamos um decodificador de instrues e a matriz de controle, a
nica maneira pela qual podemos alterar o conjunto de instrues desconectando e montando
novamente. Isto no necessrio com o controle microprogramado; tudo o que temos a fazer
modificar a ROM de controle e a ROM de endereo de partida. Isto ser uma grande vantagem se
estivermos tentando melhorar o equipamento vendido inicialmente.

38

SAP-1

Fig. 10-17 Ciclo de mquina varivel.

Fig. 10-18

Resumo
Concluindo, a maioria dos computadores construdos atualmente usa controle
microprogramado em vez de controle por fios fixos. As tabelas e os circuitos de microprogramao
costumam ser mais complicados do que os do SAP-1, mas a idia a mesma. As microinstrues
so armazenadas numa ROM de controle e tem-se acesso a elas pela aplicao do endereo da
microinstruo desejada.
GLOSSRIO
Acumulador: O local onde esto acumuladas as respostas s operaes aritmticas e
lgicas.s vezes chamado registrador A.
Ciclo de busca (fetch): A primeira parte do ciclo de instruo. Durante o ciclo de busca, o
endereo mandado memria, o contador de programa incrementado e a instruo
transferida da memria para o registrador de instrues.
Ciclo de instrues: Todos os estados necessrios para buscar e executar uma instruo.
Ciclo de mquina: Todos os estados gerados pelo contador em anel.
Cdigo op: Cdigo de operao. Aquela parte da instruo que diz ao computador que
operao efetuar.
Conjunto de instrues: As instrues a que respondem um computador.
Contador de programas: Um registrador que conta em binrio. Seu contedo o endereo da
prxima instruo a ser buscada na memria.
Estado de endereos: O estado T1. Durante este estado, o endereo no contador de
programa transferido para o REM.
Estado de incremento: O estado T2. Durante este estado, o contador de programa
incrementado.
Estado da memria: O estado T3. Durante este estado, a instruo na memria transferida
para o registrador de instrues.

39

SAP-1
Instruo de consulta memria: Uma instruo que solicita uma segunda operao da
memria para se ter acesso aos dados.
LDA: Mnemnico para carregar o acumulador.
Linguagem de mquina: Os cordes de 0s e de 1s usados em um programa.
Linguagem de montagem: Os rnnemnicos usados na escrita de um programa.
Macroinstruo: Uma das instrues no conjunto de instrues.
Microinstruo: Uma palavra de controle fora do controlador-sequencializador. A menor etapa
no processamento de dados.
Nop: Sem operao. Um estado durante o qual nada acontece.
Programa fonte: Um programa escrito em mnemnicos.
Programa objeto: Um programa escrito em linguagem de mquina.
RAM: Memria de acesso aleatrio. Uma melhor nome memria de leitura-escrita. A RAM
armazena o programa e os dados necessrios a um processamento no computador.
Registrador B: Um registrador auxiliar que armazena os dados a serem adicionados ou
subtrados do acumulador.
Registrador de instrues: O registrador que recebe a instruo da memria.
Registrador de sada: O registrador que recebe dados processados do acumulador e
comanda o indicador visual de sada do SAP-1. Tambm chamado porta de sada.
REM: Registrador de endereos da memria. Este registrador recebe o endereo dos dados a
que se vai ter acesso na memria. O REM fornece este endereo memria.
EXERCCIOS DE FIXAO
Completar as lacunas. A resposta aparece no incio da prxima pergunta.
1. O contador de______________ que constitui parte da unidade de controle, conta de 0000
a 1111. Ele envia memria o ______________ da prxima instruo.
2. (programa, endereo) O REM, ou registrador de ______________ , retm o endereo do
contador de programas. Um bit mais tarde, o REM aplica este endereo
______________, onde efetuada uma operao de leitura.
3. (endereos da memria, RAM) O registrador de instrues constitui parte da unidade de
controle. O contedo do registrador de ______________ dividido em dois nibbles (meiosbytes). O nibble superior vai para o ___________.
4. (instruo, controlador-sequencializador) O controlador-seqiiencializador produz uma
palavra de 12 bits que controla o restante do computador. Os 12 fios que transportam esta
______________ so chamados ___________ .
5. (palavra de controle, barramento de controle) O um registrador de memria intermediria
que armazena somas ou diferenas. Sua sada de dois estados vai para o somadorsubtrator .O ______________ produzir a soma quando SU for baixo e a diferena
quando

SU for alto. O registrador de sada s vezes chamado ____________ .

6. (acumulador, somador-subtrator, porta de sada) O conjunto de ______________ do SAP1 LDA, ADD, SUB, OUT, e HLT; LDA, ADD e SUB so chamadas instrues de
______________ porque elas usam dados armazenados na memria.
7. (instrues, consulta memria) O 8080 foi o primeiro microprocessador amplamente
usado. O _________ uma verso ampliada do 8080 tendo essencialmente o mesmo
conjunto de instrues.
8. (8085) LDA, ADD, SUB, OUT e HLT so codificadas como cordes de 4 bits de 0s e
1s.Este cdigo chamado ______________. A linguagem ______________ usa
mnemnicos quando escrevendo um programa. A linguagem ______________ usa
cordes de 0s e 1s.
9. (cdigo op, de montagem, de mquina) SAP-1 tem ______________ estados T, perodos
durante os quais o contedo dos registradores se modificam. O contador em anel, ou
contador ______________ produz estes estados T. Estes seis estados T representam um
um ciclo de mquina. No SAP-1 o ciclo de instrues tem apenas um ciclo de mquina.

40

SAP-1
Nos microprocessadores como o 8080 e o 8085, o ciclo de ______________ pode ter de
um a cinco ciclos de mquina.
10. (seis, de estados, instruo) O controlador-sequencializador envia palavras de controle,
uma durante cada estado T ou ciclo de relgio. Cada palavra de controle chamada
LDA,
ADD,
SUB
______________.Instrues
como
etc.
so
chamadas
______________.Cada macroinstruo SAP-1 constituda de trs ______________ .
11. (microinstruo, macroinstrues, microinstrues) Com maiores conjuntos de instrues,
a matriz de controle torna-se muito complicada. Isto porque o controle por fios fixos est
sendo substitudo pela ______________.A idia bsica consiste em armazenar as
______________numa ROM de controle.
12. (microprogramao, microinstrues) SAP-1 usa um ciclo de mquina fixo em todas as
instrues. Em outras palavras, cada ciclo de mquina leva exatamente seis estados T. Os
microprocessadores como o 8085 tm ciclos de mquina variveis porque todos os
estados nop indesejveis so eliminados.
PROBLEMAS
10.1. Escrever um programa SAP-1 usando mnemnicos (semelhantes ao Exemplo 10.1) que
apresente o resultado de
5+4-6
Usar endereos DH, EH e FH para os dados.
10.2. Converter a linguagem de montagem do Probl. 10.1 em linguagem de mquina SAP1.Mostrar a resposta em forma binria e em forma hexadecimal.
10.3. Escrever um programa em linguagem de montagem que efetue esta operao:
8+4-3+5-2
Usar endereos BH a FH para os dados.
10.4. Converter o programa e os dados do Probl. 10.3 em linguagem de mquina. Expressar o
resultado tanto em forma binria quanto em forma hexadecimal.
10.5. A Fig. 10-19 mostra o diagrama de temporizao para a instruo ADD. Desenhar o
diagrama de temporizao para a instruo SUB.

Fig. 10-19

41

SAP-1

Fig. 10-20

42

SAP-1

Fig 10-20 (continuao)

43

SAP-1

Fig 10-21

44

SAP-1

Fig 10-21(Continuao)

45

SAP-1

Fig. 10-22

46

SAP-1

Fig 10-23

47

SAP-1
10-6. Suponhamos que um 8085 use uma frequncia de relgio de 3 MHz. A instruo ADD de
um 8085 leva quatro estados T para buscar e executar. Quanto tempo representa isto ?
10-7. Quais so as microinstrues SAP-1 para a rotina LDA? E para a sub-rotina SUB?
Expressar as respostas em forma binria e em hexadecimal.
10-8. Suponhamos que queremos transferir o contedo do acumulador para o registrador B.Isto
requer uma nova microinstruo. Qual esta microinstruo? Expressar sua resposta em forma
hexadecimal e em forma binria.
10.9. Observar a Fig. 10-20 e responder s seguintes perguntas:
a. Os contedos do contador de programas so modificados na transio negativa ou na
transio positiva do sinal CLK ? Neste instante, o sinal CLK est em sua transio
crescente ou decrescente?
b. Para incrementar o contador de programa, C P tem que ser baixo ou alto?
c.

Para limpar (levar-a-0) o contador de programa,

CLK tem que ser baixo ou alto?


d. Para colocar o contedo do contador de programa no barramento W, E P deve ser baixo ou
alto?
10-10. Consulte a Fig. 10-21:
a. Se L A for alto, o que acontecer ao contedo do acumulador na prxima transio
positiva de relgio?
b. Se A= 0010 1100 e B = 1100 1110,o que estar sobre o barramento W quando E A for
alto?
c. Se A= 0000 1111,B = 0000 0001 e SU = 1, o que estar sobre o barramento W quanto

EU for alto?
10-11. Responder s seguintes perguntas quanto Fig. 10-22:
a. Com S5 ,na posio CLEAR, a sada CLK baixa ou alta?
b. Com S6 na posio LOW, a sada baixa ou alta no pino 11, C24?
c.

Para ter um sinal de relgio no pino 3 de C29,

HLT deve ser baixo ou alto?

10-12. Com referncia Fig. 10-23, responder ao seguinte:


a. Se I7I6I5I4 = 1110, somente um dos pinos de sada em C35 est alto. Que pino este?
b. CLR torna-se alto. Qual o sinal de temporizao (T1 a T6) que se torna alto?
c. LDA e T5 esto altos. A tenso est baixa ou alta no pino 6, C45?
d. ADD e T4 esto altos. O sinal no pino 12, C45, baixo ou alto?

48

You might also like