Você está na página 1de 24

Arquitetura de computadores e microprocessadores:

projeto de um microprocessador simples de 4 bits

1 - Introduo ............................................................................................................................................ 2
2 Arquitetura do P1 ............................................................................................................................. 3
2.1 Registrador contador de programa. ............................................................................................. 4
2.2 - Entrada e REM ............................................................................................................................. 5
2.3 - RAM............................................................................................................................................... 5
2.4 - Registrador de Instrues .............................................................................................................. 5
2.5 - Controlador-Seqencializador ....................................................................................................... 6
2.6 Acumulador A e Registrador B .................................................................................................... 6
2.7 - Somador-subtrator ......................................................................................................................... 7
2.8 - Registrador de Sada e Indicador visual binrio .......................................................................... 7
3 Conjunto de instrues do P1 ........................................................................................................... 7
3.1 Instruo LDA .............................................................................................................................. 8
3.2 Instruo ADD .............................................................................................................................. 8
3.3 Instruo SUB ............................................................................................................................... 8
3.4 Instruo OUT .............................................................................................................................. 9
3.5 Instruo HLT .............................................................................................................................. 9
4 Estrutura de programa e programao do P1 .................................................................................. 9
5 Organizao lgica do P1 e seus ciclos de mquina ........................................................................12
5.1 Ciclo de busca ..............................................................................................................................14
5.1.1 Estado T1: estado de endereo .............................................................................................14
5.1.2 Estado T2: estado de incremento .........................................................................................14
5.1.3 Estado T3: estado de memria .............................................................................................15
5.2 Ciclo de execuo .........................................................................................................................15
5.2.1 Ciclo de execuo de LDA ....................................................................................................15
5.2.2 Ciclo de execuo de ADD ...................................................................................................16
5.2.3 Ciclo de execuo de SUB ....................................................................................................18
5.2.4 Ciclo de execuo de OUT....................................................................................................18
5.2.5 Ciclo de execuo de HLT ....................................................................................................19
6 Hardware do P1 ................................................................................................................................19
Anexo A - Lista de componentes para montagem do P1......................................................................24

Prof. Dr. Alan Petrnio Pinheiro (www.alan.eng.br)

Verso deste documento: 1.0


Patos de Minas, outubro de 2014
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

1 - Introduo

Este documento tem como propsito bsico a descrio e projeto de uma arquitetura de
processador simples de 4 bits que ser denominado neste texto como P1. Embora seja um
processador sem grandes aplicaes prticas dada sua grande simplicidade, o interesse primrio
exemplificar de forma concreta os principais componentes funcionais de um processador e sistema de
computao bsico de modo a traduzir em prtica importantes conceitos aprendidos em disciplinas
tericas. Apesar de sua aparente simplicidade, o leitor que se interessar na montagem do projeto
perceber que esta tarefa no to simples quanto se mostra em uma primeira impresso.
O P1 apresenta muitos dos conceitos revolucionrios introduzidos por John Von Neumann
principalmente no que diz respeito ao princpio de programa armazenado em memria, regio de
instrues e dados, troca de informao entre a CPU e memria e ciclo de busca e execuo de
instrues na memria atravs de uma unidade de controle. Estes mesmo conceitos norteiam a
informtica contempornea sendo um de seus pilares. Alm disto, apresenta outros conceitos

Figura 1 Estrutura fundamental de um sistema de computao

interessantes que dizem respeito multiplexao de barramento, pilha de dados e decodificao de


instrues. Principalmente, ensina a perfeita juno e interface entre software e hardware na medida
em que estes dois elementos so necessrios para o projeto. Adicionalmente, seu projeto carrega uma
srie de importantes conceitos que so objetos de estudos em inmeras disciplinas tais como, por
exemplo, arquitetura e organizao de computadores, sistemas digitais, microprocessadores etc.
Neste contexto, este documento no tem a pretenso de reintroduzir estes conceitos e sim
apenas descrever um modelo simples de microprocessador em que o leitor pode se familiarizar com os
fundamentos de um sistema de computao que so aplicveis nos dias de hoje at aos processadores
mais sofisticados. Ao final, o leitor poder constatar que mesmo simples e limitado em termos
prticos, seu projeto j acumula inmeros itens que tornam sua implementao prtica (leia-se
montagem) relativamente desafiadora mostrando o quo complexo a prtica desta rea da
tecnologia e sua organizao1. Para se ter uma ideia, sero necessrios mais de 40 chips para a
implementao do P1 que s possui 5 instrues bsicas!

1
Neste ponto importante que o leitor conhea a diferena entre arquitetura versus organizao de computadores.

2
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

Para um aprofundamento terico e prtico dos itens avaliados aqui, recomenda-se a leitura de
material bibliogrfico especfico da rea [1-5]. As prximas sees definem a arquitetura do
processador e suas unidades funcionais. Feito isto, outras subsees so destinadas a organizao e
implementao prtica do P1 utilizando chips discretos2.

2 Arquitetura do P1

Um sistema de computao deve obrigatoriamente apresentar (i) um processador (algumas


vezes chamado de unidade central de processamento - CPU), (ii) uma memria onde so
armazenadas instrues e dados alm de (iii) um conjunto de unidades de entrada e sada por onde
entram e saem dados processados pelo sistema. A Figura 1 ilustra estes elementos essenciais a todos
os sistemas de computao.
Neste sentido, o processador tem a tarefa de ler e executar as instrues armazenadas na
memria. Para que tal tarefa possa ser executada, este elemento apresenta um conjunto de unidades
internas que so fazem parte fundamental de todos os processadores, desde verses mais simples at
verses mais sofisticadas. Estas unidades so conhecidas como: (i) unidade de controle, (ii) unidade

Figura 2 Estrutura do P1. Note que no mesmo integrado uma memria de programa (aqui denominada de RAM)
que tem 16 elementos endereveis sendo cada um deles composto por 8 bits.

2
Embora a implementao deste usando tecnologia FPGA possa parecer interessante e bem mais simples, os autores recomendam sua
implementao utilizando componentes discretos para que o leitor tenha um melhor conhecimento de cada elemento que compem o
projeto.

3
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

lgica e aritmtica (ULA), (iii) memria3 e (iv) unidade de entrada e sada (E/S). Estes elementos
so mostrados na Figura 2. Note que nesta figura, a memria principal (rotulada como RAM) foi
incorporada ao processador.
No sistema descrito na Figura 2, cada unidade tem uma funo especfica e muito bem
definida. Para isto, todos os elementos devem trabalhar de forma sincronizada. A unidade
controlador-sequencializador define este sincronismo atravs de um barramento de controle (este no
ilustrado na Figura 2) composto por doze variveis       

   . Estes sinais
controlam o funcionamento dos chips e o sincronismo entre as unidades que fazem parte da Figura 2.
Alm disto, existe um sinal de clock que ajuda no sincronismo dos circuitos integrados do projeto e
de alguns eventos. No caso do P1, o clock de 1 kHz4. Contudo, antes de chegar organizao e
hardware necessrios para implementar este microprocessador, as prximas subsees dedicam-se a
descrever o comportamento funcional de cada uma das unidades ilustradas na Figura 2. So
igualmente descritas as instrues que este microprocessador capaz de executar assim como deve ser
feita sua programao.

2.1 Registrador contador de programa.


Tambm conhecido como program counter (PC) ou ponteiro de instruo, esta unidade um
contador/registrador sncrono simples. Sua funo indicar qual a prxima instruo na memria a
ser executada pelo processador. Por isto, ele armazena um endereo de memria (diz-se que ele
aponta para a memria RAM). Como o P1 possui 16 endereos onde so armazenados dados e
instrues, necessrio que este contador possa contar de 0 a 15 (por isto dever ser um contador de 4
bits). Note que no esquema da Figura 2 ele envia 4 bits ao barramento w (que um barramento de 8
bits) que so justamente os bits de endereo da memria RAM. Quando o P1 ligado, o contador
deve necessariamente ser reiniciado para que ele comece a buscar instrues a partir do endereo
0x05. Deste modo, convenciona-se que o primeiro endereo de memria possua uma instruo e no
um dado. Esta mesma conveno quase sempre adotada em sistemas de computao modernos. No
caso do P1, a segunda instruo armazenada no endereo 0x1, a terceira instruo no endereo 0x2
e assim por diante. Deste modo, o contador de programa conta de 0x0 a 0xF (de 0000 a 1111 em
binrio).
Como mencionado, a tarefa do PC enviar memria o endereo da instruo seguinte a ser
buscada e executada. Deste modo, quando o processamento (ou execuo) comea, o PC envia o
endereo 0x0 memria atravs do barramento w. Como o barramento compartilhado6 por outros
elementos, neste instante nenhum outro componente do microprocessador pode ter acesso ao
barramento tendo somente o PC o direito de enviar dados ao barramento (como ser visto, o
controlador-sequencializador garante esta arbitrao). Depois que envia o endereo 0x0, o PC
incrementado para 0x1. Nos prximos pulsos de clock, o P1 dedica-se a executar a instruo contida
no endereo 0x0 apontado pelo PC memria RAM. Executada esta instruo, o ciclo se repente
com o PC enviando o endereo 0x1 memria e novamente sendo incrementado para 0x2. Desta

3
Ao contrrio do que acontece aqui, os elementos de memria de um processador moderno so registradores, banco de memrias
transistorizadas e em alguns casos memria cache. A memria de programa externa ao processador e no faz parte deste. Contudo, neste
documento consideraremos a memria de programa como interna ao mesmo j que ela essencial para seu funcionamento.
4
Este valor pode variar com a tecnologia de famlia de circuitos integrados e fortemente dependente da montagem. Recomenda-se que
montagem didtica e testes utilize um clock de 1 Hz ou menos.
5
Os caracteres 0x indicam que o nmero hexadecimal. Assim, por exemplo, 0xA o valor A em hexadecimal ou 10 em decimal.
6
Trata-se de um barramento multiplexado por onde passam dados, instrues e endereos em diferentes perodos de tempo.

4
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

maneira, o contador de programa est acompanhando o desenvolvimento da prxima instruo a ser


buscada e executada.

2.2 - Entrada e REM


Outro elemento do P1 o bloco denominado de Entrada e REM. Este tem funo dupla.
O termo entrada diz respeito a um conjunto de chaves (4 chaves pra indicar endereo e outras 8
chaves pra indicar dados) que permitem a programao da memria RAM. Naturalmente que antes
da execuo das instrues, necessrio que o P1 contenha em sua memria os dados e instrues a
serem executados. Neste caso, esta unidade de entrada funciona como uma E/S para a memria
RAM (que faz parte de outro bloco do modelo da Figura 2). Enquanto a RAM programada por este
conjunto de chaves, o processador fica parado sem nenhuma atividade at que a RAM tenha sido
toda programada e liberada para execuo.
Seu segundo elemento, ou funo, abriga um registrador de endereo de memria (REM)
onde sua entrada ligada ao PC e sua sada ligada memria RAM. Sua finalidade manter
constante durante um perodo de tempo o valor de endereo apontado pelo PC. Enquanto a REM
retm o valor de endereo da RAM, o PC pode ser incrementado. Mais tarde, o endereo de memria
retido na REM aplicado RAM onde uma operao de leitura realizada.

2.3 - RAM
Como mencionado na seo anterior, podemos programar a memria RAM (memria de
acesso aleatrio; random access memory) por meio das chaves e do REM. 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 processador.

2.4 - Registrador de Instrues


Para buscar uma instruo da memria, o computador realiza uma operao de leitura da
RAM. Isto coloca o contedo do local de memria apontado por REM no barramento w. Em outros
termos, os 8 bits armazenados na RAM no endereo indicado por REM so enviados ao barramento
w. Ser visto mais frente com maiores detalhes que os 8 bits armazenados, quatro deles7 indicam
uma instruo e os outros 4 indicam um endereo. Estes 8 bits no barramento so armazenados no
registrador de instrues (instruction register - IR) que posteriormente dirige divide estes bits em
dois nibbles (um de instruo e outro de endereo). O nibble de instruo posteriormente enviado
ao controlador-sequencializador e o nibble de endereo posteriormente devolvido ao barramento w.
Vale destacar que todos os dispositivos que tem a capacidade de enviar dados ao barramento w
devem ter uma sada three-state para evitar que dois ou mais dispositivos diferentes enviem ao
mesmo tempo valores para o mesmo barramento w.

7
Vale recordar que quatro bits equivalem a 1 nibble assim como 8 bits equivalem a 1 byte.

5
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

2.5 - Controlador-Seqencializador
Um dos blocos mais importantes, se no o mais, o controlador-seqeencializador. Sua funo
bsica gerar todos os sinais de controle vistos na Figura 2 de tal forma a indicar quais unidades
devem estar ativas em um determinado instante de tempo e o que devem fazer segundo estes sinais
de controle.
Antes de cada processamento, um sinal complementar ao sinal CLR (clear) enviado ao PC e
ao IR. Isto restabelece o contador de programa em 0x0 e elimina a ltima instruo no IR para evitar
lixo de memria. Um sinal CLK (clock) enviado a todos os registradores de memria intermediria.
Isto sincroniza a operao do computador, assegurando que as coisas aconteam quando elas so
passveis de acontecer. importante destacar que todas as transferncias de registradores ocorrem na
transio positiva (i.e., pulso de subida) de um sinal CLK comum a todos os circuitos do sistema.
Observemos que um sinal complementar ao sinal CLK tambm chega ao PC.
Os 12 bits de controle que so gerados pelo controlador-sequencializador controlam o resto do
sistema (como um supervisor que diz aos outros o que fazer). Deste modo, a palavra de controle ser
organizada aqui como

 =       

  

Esta palavra de controle determina como os registradores reagiro prxima transio


positiva de clock (CLK). Por exemplo, um  = 1 e um  = 0 (ver sinais da Figura 2) indicam que
o contedo do PC retido no REM na prxima transio positiva de clock. Como outro exemplo, um
 = 0 e um baixo 
= 0 indica que a palavra da RAM endereada por REM ser transferida para o
acumulador A via barramento w na prxima transio positiva de clock. Mais tarde, examinaremos
os diagramas de temporizao para verificar exatamente quando e como ocorrem estas transferncias
de dados.

2.6 Acumulador A e registrador B


O acumulador A, ou simplesmente acumulador, um registrador de 8 bits que armazena
respostas intermedirias durante um processamento geralmente relacionado a uma soma ou subtrao
(por isto ele faz parte da ULA). Na Figura 2 ele tem duas sadas. Uma delas realimenta o somador-
subtrator. Com isto, o valor armazenado pelo acumulador um dos operandos (o outro operando est
no registrador B) e o resultado da operao guardado no prprio acumulador que passa a
armazenar o resultado da operao. Por isto ele recebe este nome de acumulador j que acumula o
resultado da soma/subtrao entre dois nmeros.
A segunda sada do acumulador conduz o dado que est armazenado neste acumulador at o
barramento w (isto acontece quando E = 0). Como ela est ligada a um barramento multiplexado,
ela deve ser uma sada three-state. Esta segunda sada possibilita que o resultado da soma/subtrao
armazenada no acumulador possa ser enviado a outro componente ligado ao barramento.
O registrador B outro registrador de memria vinculado ULA. Ele usado em operaes
aritmticas. Um L = 0 e uma transio positiva de clock carregam a palavra do barramento w para
a memria do registrador B. A sada do registrador B fornece um dos operandos do somador-
subtrator.

6
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

2.7 - Somador-subtrator
O P1 usa um somador-subtrator de complemento de dois8. Quando SU=0, o resultado uma
soma em sua forma normal (sem complemento de 2). Caso contrrio (quando SU=1), o valor
guardado no registrador B enviado ao sumador-subtrator na sua forma de complemento de 2 para
que seja executada a subtrao de B (valor armazenado no registrador de B) no valor de A. O
somador-subtrator assncrono; isto significa que seu contedo pode variar logo que suas entradas
(contedo do acumulador e registrador B) mudarem. Contudo, as entradas mudam s quando o
controlador-sequencializador produz uma palavra de controle que tem influncia sobre estes
registradores. Quando o sinal de controle E = 1, o contedo da soma presente na sada do somador-
subtrator enviada ao barramento w (ver Figura 2). Logo, esta sada deve ser three-state.

2.8 - Registrador de Sada e Indicador visual binrio


No final de um processamento do computador, o acumulador contm a resposta ao problema
que est sendo resolvido. Neste ponto, necessita-se transferir a resposta para o mundo exterior. Isto
feito usando o registrador de sada. Quando E =1 e L =0, na prxima transio positiva de clock a
sada do acumulador ligada ao barramento w e a entrada do registrador de sada ser ligado ao
mesmo barramento carregando assim o valor contido no acumulador. Ele ir armazenar o resultado
da sada e por isto algumas vezes ele tambm chamado de porta de sada, pois os dados processados
devero sair do processador por ele. Em microprocessadores ou microcontroladores, estas portas de
sada so conectadas a circuitos de interface que comandam dispositivos perifricos como os rels,
motores, displays etc. Por questes de simplicidade, neste projeto quem assumir este papel de
circuito de interface externa um conjunto de 8 LEDs (chamados na Figura 2 como indicador
visual binrio) que iro indicar o valor em binrio armazenado no registrador de sada.

3 Conjunto de instrues do P1

Um computador um amontoado intil de hardware at que seja programado. Ser o


programa que dar a funcionabilidade ao hardware. Este programa um conjunto sequencial de
instrues, dados e endereos que indicam ao prprio microprocessador como produzir sinais de
controle para que ele possa fazer as operaes desejadas nos dados presentes na memria. Neste
sentido, existe uma associao muito ntima entre hardware e software. Logo, para cada tipo de
hardware permitido um conjunto diferente de instrues que tambm podem possuir formatos
diferentes. Graas relativa padronizao das instrues acordadas entre grandes fabricantes de
microprocessadores, possvel que um programa feito para um microprocessador possa ser executado
por outro como o caso de computadores pessoais (desktops, notebooks, tablets, celulares, etc).
Antes que possamos programar um computador, devemos aprender seu conjunto de
instrues, as operaes bsicas que ele pode executar e como a estrutura bsica de um programa.
Obviamente que neste ponto importante destacar que este um tipo de programao9
extremamente elementar j que a nvel direto de hardware. Antes de entender a estrutura de um
programa, ser descrito o que cada uma das 5 instrues do P1 capaz de fazer.

8
Lembre que o complemento de dois equivalente a uma mudana de sinal do decimal
9
Tambm conhecida como programao de baixo nvel justamente por envolver tratar de forma direta com as instrues do hardware.

7
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

3.1 Instruo LDA


A instruo LDA significa "carregar o Acumulador" (Load the Accumulator). Uma instruo
LDA completa inclui o endereo hexadecimal dos dados a serem carregados. Por exemplo, uma
instruo
LDA 8

significa "carregar no acumulador o contedo (dado) que est armazenado no local 0x8 da memria
RAM". Convenciona-se que endereos de memria sempre sero representados na base hexadecimal.

3.2 Instruo ADD


A instruo ADD faz uma soma entre dois valores. Uma instruo ADD completa inclui o
endereo da palavra a ser somada. Por exemplo, a instruo

ADD 9

significa "acrescentar ao contedo j contido no acumulador o valor armazenado no local 0x9 da


memria RAM". O resultado desta soma armazenada no acumulador. Assim, a soma substitui o
contedo original do acumulador.
A ttulo de exemplo, suponhamos que o decimal 2 esteja no acumulador e que o decimal 3, no
local 0x9 da memria. Ento,
Acumulador = 0000 0010
0x9 = 0000 00 11

Durante a execuo de ADD 9, acontece uma srie de passos. Primeiro, o valor armazenado
em 0x9 carregado no registrador B. Como o somador-subtrator assncrono, esta soma feita quase
que instantaneamente (s que no armazenada em nenhum registrador). Depois, o controlador-
sequencializador produz uma palavra de controle que pega a sada do somador-subtrator e armazena
no acumulador obtendo:
Acumulador = 0000 0101

Sendo assim, esta instruo carrega a palavra endereada na RAM para o registrador B e a sada do
somador-subtrator armazenada no acumulador.

3.3 Instruo SUB


A instruo SUB faz a subtrao entre dois nmeros. Esta instruo inclui o endereo da
palavra a ser subtrada. Por exemplo,
SUB C

significa "subtrair o contedo do local 0xC da memria do contedo do acumulador". A diferena


armazenada no prprio acumulador. Como exemplo, admita que o decimal 7 esteja no acumulador e
que o decimal 3 esteja no local 0xC da memria. Ento,

Acumulador = 0000 0111

8
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

0xC = 0000 0011

A execuo de SUB C comea quando o valor armazenado em 0xC carregado no registrador


B. Quase que instantaneamente, o somador-subtrator soma o valor do acumulador e do registrador B
gerando o valor 0000 0100 (equivalente a quatro em decimal). Na sequencia, este valor de diferena
gerado pelo somador-subtrator enviado ao acumulador.

3.4 Instruo OUT


A instruo OUT diz ao microprocessador para transferir o contedo do acumulador para a
porta de sada. Depois de OUT ter sido executada, podemos ver a resposta ao problema que estava
sendo resolvido nos LEDs que esto ligados sada da porta de sada. Vale destacar que a
instruo OUT no necessita incluir um endereo pois no envolve dados na memria. Como existe
uma nica porta de sada, pra esta que os dados so direcionados. Contudo, se houvessem duas ou
mais portas de sada (registradores de sada), esta instruo necessitaria de um endereo para
especificar em qual destas sadas o dado deveria ser enviado.

3.5 Instruo 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. Devemos usar uma instruo HLT no fim de cada programa do microprocessador. Do
contrrio, este continuar lendo valores da memria.
HLT completa por si prpria e no necessita incluir um endereo de RAM porque esta
instruo no envolve a memria. Deste modo, as instrues LDA, ADD e SUB so chamadas
instrues de referncia memria porque elas usam dados armazenados na memria. J as
instrues OUT e HLT, por outro lado, no so instrues de referncia memria porque elas no
envolvem dados armazenados na memria.

4 Estrutura de programa e programao do P1

Uma combinao sequencial das cinco possveis instrues do P1 formam um programa.


Para facilitar a programao, estas instrues so abreviadas por nomes ou rtulos (os mesmos
usados anteriormente, ou seja: LDA, ADD, SUB, OUT e HLT) que so chamados de mnemnicos
(auxlios memria). Mnemnicos so conhecidos porque eles nos lembram da operao que ocorrer
quando a instruo for executada. A Tabela1 resume o conjunto de instrues do P1.

Tabela 1 Conjunto de instrues do P1


Mnemnico Significado
LDA 0x? Carregue os dados da RAM no acumulador.
ADD 0x? Dome os dados da RAM com o acumulador.
SUB 0x? Subtraia os dados da RAM do acumulador.
OUT Carregue os dados do acumulador no registrador de sada
HLT Pare o processamento.

Sendo assim, uma lista de instrues ordenadas formam um programa. Para exemplificar,
considere que os 16 endereos de memria RAM tenham o seguinte contedo:
9
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

Tabela 2 Exemplo de um contedo armazenado na memria RAM produzindo um programa


Endereo Mnemnico
0x0 LDA 9
0x1 ADD A
0x2 ADD B
0x3 SUB C
0x4 OUT
0x5 HLT
0x6 FF
0x7 FF
0x8 FF
0x9 01
0xA 02
0xB 03
0xC 04
0xD FF
0xE FF
0xF FF

Antes de entendermos o programa como um todo, destaca-se que no endereo 0x5 temos uma
instruo HLT indicando o fim do programa. Assim, o programa est na parte baixa da memria
entre os endereos 0x0 a 0x5. Quando o processador chegar instruo HLT, ele saber que os
prximos endereos de memria no contm instrues e sim dados! A regio de endereos
compreendida entre o intervalo 0x6 a 0xF chamada regio de dados ou pilha e est na dita regio
alta de memria.
A primeira instruo do programa (endereo 0x0) carrega o acumulador com o contedo do
local 0x9 da memria. Deste modo, Acumulador = 01. A segunda instruo soma o contedo do local 0xA
da memria ao contedo do acumulador para produzir um novo valor que armazenado no prprio
acumulador (Acumulador = 01 + 02 = 03). Similarmente, a terceira instruo soma o contedo do local
0xB da memria (Acumulador = 03 + 03 = 06). A instruo SUB subtrai o contedo do local 0xC da
memria para produzir Acumulador = 06 - 04 = 02. A instruo OUT carrega o contedo do acumulador
para a porta de sada e o visual em binrio mostra a sequencia de bits 0000 0010. A instruo HLT
interrompe o processamento dos dados e o processador pra de buscar e executar instrues
hibernando.
Apesar de usarmos mnemnico na Tabela 2 para ilustrar um exemplo de programa, sabe-
seque a memria RAM capaz de guardar somente valores binrios. Assim, cada instruo tem um
correspondente binrio. A Tabela 3 ilustra esta correspondncia entre os mnemnicos das instrues e
seus correspondentes cdigos binrios10.

10
Estes cdigos binrios foram originalmente chamados de opcode. Um programador redige seu programa usando
mnemnicos pois so mais fceis de decorar e o compilador converte estes mnemnicos em cdigos binrios similares aos
vistos na Tabela 3 (imagine um programador tendo que decorar todos os cdigos binrios).

10
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

Tabela 3 Cdigo das instrues do ` P1


Mnemnico Cdigo
LDA 0000
ADD 0001
SUB 0010
OUT 1110
HLT 1111

Conforme mencionado inicialmente, chaves de dados e de endereos nos possibilitam


programar a memria do P1. Este considera que os quatro bits de mais alta ordem de cada elemento
da RAM indicam a instruo e os quatro demais o operando. Por exemplo, suponhamos que
queremos armazenar as seguintes instrues:

Endereo Mnemnico
0x0 LDA F
0x1 ADD E
0x2 HLT

No caso do programa da tabela anterior, que emprega mnemnico para descrever a sequncia
de cdigos desejada, dizemos que o programa esta no formato de linguagem de mquina ou linguagem
Assembly. Contudo, s o programador o entende j que o microprocessador capaz de manipular
somente bits!
Para inserir o programa anterior na memria atravs das chaves, convertemos seu contedo
no correspondente binrio. A tabela seguinte mostra o contedo que deve ser armazenado na
memria. Os bits nomeados por X no tem relevncia pois no mudam o resultado do programa j
que esto associados instrues que no necessitam de endereo como operandos.

Endereo Mnemnico
0x0 0000 1111
0x1 0001 1110
0x2 1111 XXXX

Tomando como exemplo o contedo do endereo 0x0, temos a relao:

0000 1111
Campo de instruo Campo de endereo

Exemplo: programar o P1 para executar a sequncia de operaes 16 + 20 + 24 32 e colocar o


resultado na sada visual binria.
Soluo: Na tabela seguinte exibida uma possvel soluo em trs diferentes formatos de
representao. O caractere x indica irrelevncia.

11
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

Em linguagem assembly Em linguagem de mquina Em liguagem de mquina hexa.


Endereo Contedo Endereo Contedo Endereo Contedo
0x0 LDA 9 0x0 0000 1001 0x0 09
0x1 ADD A 0x1 0001 1010 0x1 1A
0x2 ADD B 0x2 0001 1011 0x2 1B
0x3 SUB C 0x3 0010 1100 0x3 2C
0x4 OUT 0x4 1110 xxxx 0x4 EX
0x5 HLT 0x5 1111 xxxx 0x5 FX
0x6 xx 0x6 xxxx xxxx 0x6 XX
0x7 xx 0x7 xxxx xxxx 0x7 XX
0x8 xx 0x8 xxxx xxxx 0x8 XX
0x9 10 0x9 0001 0000 0x9 10
0xA 14 0xA 0001 0100 0xA 14
0xB 18 0xB 0001 1000 0xB 18
0xC 20 0xC 0010 0000 0xC 20
0xD xx 0xD xxxx xxxx 0xD XX
0xE xx 0xE xxxx xxxx 0xE XX
0xF xx 0xF xxxx xxxx 0xF XX

5 Organizao lgica do P1 e seus ciclos de mquina

Como descrito nas sees anteriores, em uma nica instruo so executadas um conjunto de
tarefas. Por exemplo, a instruo ADD 9 tem que (i) ser lida da memria, (ii) codificada, (iii) ler o
dado armazenado no endereo 0x9, (iv) carreg-lo no acumulador e (v) executar a soma. Logo, uma
nica instruo demanda uma sria de aes que pode variar de instruo para instruo.
Obviamente que estas aes necessitam serem executadas em diferentes instantes de tempo. Assim,
uma nica instruo pode utilizar mais do que um clico de clock. No caso do P1, so fornecidos seis
ciclos de clock para que ele execute qualquer instruo. Logo, nestes seis ciclos ele pode executar seis
diferentes aes que no conjunto representam a funo de uma nica instruo. Contudo, nem todas
instrues necessitam desta totalidade de ciclos11. Mesmo assim, pra facilitar o projeto do
microprocessador, so fornecidos seis ciclos.
Sabe-se que o processo de execuo de um programa acontece atravs da busca e execuo de
instrues. No caso do P1, onde so designados seis pulsos de clock para cada instruo, trs deles
so utilizados para a busca e carregamento da instruo (fetch) para os registradores do

Figura 3 Temporizao dos ciclos do `P1

11
Ao contrrio do que acontece aqui, em alguns processadores modernos a quantidade de pulsos de clock necessrios para
cada instruo varia. Nos casos de processadores RISC, cada instruo geralmente gasta um nico pulso de clock para
executar uma instruo.

12
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

microprocessador. Os outros trs ciclos restantes so usados para a execuo da instruo


armazenada no(s) registrador(es). A este conjunto de seis ciclos d-se o nome de ciclo de instruo ou
ciclo de mquina (ver Figura 3). Note que cada ciclo de clock rotulado pela letra T para designar
um estado. As prximas subsees descrevem as aes tomadas pelo microprocessador em cada um
destes seis diferentes estados T considerando as cinco instrues do P1. Destaca-se que o P1 foi
originalmente projetado para trabalhar com uma frequncia de 1 kHz, equivalente a um perodo de 1
ms. Portanto, so necessrios 6 ms para ocorrer um ciclo de mquina ou a execuo completa de uma
instruo.

Figura 4 Elemento responsvel por gerar os seis estados que fazem parte do ciclo de mquina do microprocessador.

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
T que compem o ciclo de mquina. Para indicar as outras unidades que compem o P1 qual dos
seis estados o corrente, o microprocessador usa um contador em anel conforme ilustra a Figura 4.
importante notar que este contador em anel altera os estados somente na borda de descida do clock
enquanto que os demais componentes de hardware do microprocessador mudam seus estados na
borda de subida.
O contador em anel tem uma sada na forma T=T6T5T4T3T2T1. No comeo de um
processamento do sistema, a palavra do anel T1=000001. Pulsos de clock sucessivos produzem
palavras de anel de T2=000010, T3=000100, T4=001000, T5=010000, T6=100000. Ento, o contador

Figura 5 - Sinal de clock e temporizao T gerados pelo contador em anel.

13
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

(a) (b) (c)


Figura 6 Os blocos pintados na cor branca indicam os elementos ativos e os de cor cinza esto desativados inativos em
um determinado estado T. (a) Estado T1, (b) estado T2 e (c) estado T3.

em anel se restabelece (reset) em 000001 e o ciclo se repete. Cada palavra de anel representa um
estado T.
A Figura 5 mostra os pulsos de temporizao fora do contador em anel. O estado inicial T1
comea com uma transio negativa de clock e termina com a prxima transio negativa de clock.
Durante este estado T, o nico bit em alto o T1. 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.
Novamente, observemos que uma transio CLK positiva ocorre a meio caminho em cada estado T.
A importncia disto ser ressaltada mais tarde.

5.1 Ciclo de busca


O ciclo de busca envolve os trs primeiros ciclos de clock do ciclo de mquina conforme ilustra
Figura 3. Independente de qual instruo ser executada, o clico de busca (ou os trs estados T)
sempre igual para todas as instrues. Por isto, definiremos o comportamento do microcontrolador
nestes trs diferentes estgios de temporizao.

5.1.1 Estado T1: estado de endereo


O estado T1 chamado estado de endereo porque o endereo no PC transferido para o
registrador REM durante este estado. O diagrama de blocos da Figura 6a mostra as unidades do
microprocessador que esto ativas durante este estado. Durante o estado de endereo, EP e LM devem
estar ativos. Todos os outros bits de controle esto inativos. Isto significa que durante este estado o
controlador-sequencializador est produzindo a palavra de controle:

 =       

   = 0101 1110 0011

5.1.2 Estado T2: estado de incremento


A Figura 6b ilustra as partes ativas do diagrama de blocos do esto de incremento. Nele, o bit
CP ativo. Este estado chamado estado de incremento porque o contador de programa

14
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

incrementado. Durante o estado de incremento, o controlador-sequencializador produz uma palavra


de controle igual a:

 =       

   = 1011 1110 0011

5.1.3 Estado T3: estado de memria


O estado T3 ilustrado na Figura 6c mostra as sees do microprocessador que esto ativas
durante este estado. O estado T3 chamado estado de memria porque a instruo de RAM
endereada transferida da memria para o IR. Os nicos bits de controle ativos durante este estado
so CE e L1 e a palavra produzida pelo controlador-sequencializador :

 =       

   = 0010 0110 0011

5.2 Ciclo de execuo


Os trs estados seguintes (T4, T5 e T6) dos diagramas dos sinais de clock e temporizao do
contador em anel constituem o ciclo de execuo do microprocessador. As transferncias do
registrador durante o ciclo de execuo dependem da instruo particular que est sendo executada.
Por exemplo, LDA 9 requer transferncias de registrador diferentes das de ADD B. O que se segue
so as rotinas de controle para as diferentes instrues do P1.

5.2.1 Ciclo de execuo de LDA


Para um estudo concreto, admitamos que o registrador de instrues tenha sido carregado
com LDA 9. Assim,
RI = 0000 1001

Durante o estado T4, o campo 0000 de instruo vai para o controlador-sequencializador onde
decodificado. O campo 1001 de endereos carregado no REM. A Figura 7a mostra as partes ativas
do P1 durante o estado T4. Note que EI e LM so ativos enquanto que todos os outros bits de
controle so inativos.
Durante o estado T5, CE e LA tornam-se altos. Isto significa que a palavra de dados
endereada na RAM ser carregada no acumulador na prxima transio positiva de clock. Ver
Figura 7b.

(a) (b) (c)


Figura 7 Diagrama de blocos das unidades ativas (blocos em branco) e inativas (blocos em cinza) durante diferentes
estados T para o ciclo de execuo da instruo LDA. (a) Estado T4. (b) Estado T5. (c) Estado T6.

15
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

No caso da instruo LDA, T6 um estado sem operao. Durante este terceiro estado de
execuo, todos os registradores esto inativos (ver Figura 7c). Isto significa que o controlador-
sequencializador est produzindo uma palavra cujos bits so todos inativos. Este estado de
hibernao algumas vezes denominado de nop (no operation). Assim, o estado T6 da rotina
LDA um nop. Isto acontece porque foi dado uma valor constate de seis ciclos de clock para todas
instrues do microprocessador ainda que nem todas precisassem destes ciclos. Como j mencionado,
em processadores mais sofisticados isto no acontece porque a quantidade de ciclos gasta por cada
instruo varivel a fim de se evitar estes nops.
A Figura 8 tambm exibe o diagrama de temporizao das rotinas LDA desde o ciclo de
busca (que comum a todas rotinas) at o de execuo. Todos estes sinais so gerados pelo
controlador-sequencializador.

Figura 8 Diagrama de temporizao da rotina LDA desde seus ciclo de busca (T1 a T3) at seu ciclo de execuo (T4 a
T6).

Resumindo todo o processo da instruo LDA, durante o estado T1, EP e LM esto ativos. A
transio positiva de clock 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 clock. Durante o estado T3, CE e LI esto ativos. Quando ocorre a transio
positiva de clock, a palavra da RAM endereada transferi para o registrador de instrues. A
execuo de LDA comea com o estado T4, onde LM e EI esto ativos. Na transio positiva de clock,
o campo de endereo no registrador de instrues transferido para o REM. Durante o estado T5, os
sinais de controle CE e LA esto ativos. Isto significa que o contedo da RAM endereada
transferido para o acumulador na transio positiva de clock. O estado T6 da rotina LDA um nop.

5.2.2 Ciclo de execuo de ADD


Suponhamos que no fim do ciclo de busca o registrador de instrues contenha ADD B. Logo,

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 Figura 9a). Durante este estado, EI e LM esto ativos.

16
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

No estado T5, os bits de controle CE e LB esto ativos. Isto permite que os dados na RAM
endereada sejam transferidos para o registrador B (Figura 9b). Usualmente, o carregamento ocorre a
meio caminho atravs do estado quando a transio positiva de clock atinge a entrada CLK do
registrador B.

(a) (b) (c)


Figura 9 Diagrama de blocos das unidades ativas (blocos em branco) e inativas (blocos em cinza) durante diferentes
estados T para o ciclo de execuo da instruo ADD e SUB. (a) Estado T4. (b) Estado T5. (c) Estado T6.

Durante o estado T6, EU e LA esto ativos. Portanto, o somador-subtrator estabelece ou


prepara o acumulador (Figura 9c). A meio caminho atravs deste estado, a transio positiva de
clock 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 clock (ver Figura 9c), o contedo do acumulador se modifica, forando o
contedo do somador-subtrator a mudar. Os novos contedos retornam entrada do acumulador,
mas os novos contedos no chegam l at dois retardos de propagao aps a transio positiva de
clock (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 clock).

Figura 10 Diagrama de temporizao da rotina ADD desde seus ciclo de busca (T1 a T3) at seu ciclo de execuo (T4 a
T6).

17
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

Na Figura 10 mostrado o diagrama de temporizao para as rotinas de busca e execuo de


ADD. A rotina de busca a mesma que a anterior: (i) o estado T1 carrega o endereo PC no REM;
(ii) o estado T2 incrementa o contador de programa e (iii) o estado T3 envia a instruo endereada
para o registrador de instruo.
Durante o estado T4, EI e LM esto ativos. Na prxima transio positiva de clock, o campo
de endereos no IR vai para o REM. Durante o estado T5, CE e LB esto ativos e por isto os dados na
RAM endereada so carregados no registrador B a meio caminho atravs do estado. Durante o
estado T6, EU e LA esto ativos. Quando ocorre a transio positiva de clock, a soma fora do
somador-subtrator armazenada no acumulador.

5.2.3 Ciclo de execuo de SUB


A rotina SUB similar rotina ADD e os acontecimentos ocorridos nos estados T1 a T5 so
idnticos. Contudo, para a rotina SUB no estado T6 necessrio que o sinal SU seja ativado para o
somador-subtrator diferenciar a soma da subtrao atravs da complementao de dois de um dos
operandos.

5.2.4 Ciclo de execuo de OUT


Suponhamos que o registrador de instrues contenha a instruo OUT no fim de um ciclo de
busca. Logo,
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 Figura 11 mostra as sees ativas do P1 durante a execuo de uma instruo OUT. Uma
vez que EA e LO esto ativos, a prxima transio positiva de clock carrega o contedo do
acumulador no registrador de sada durante o estado T4. Os estados T5 e T6 so nops.

Figura 11 Diagrama de blocos das unidades ativas (blocos em branco) e inativas (blocos em cinza) durante o estado T4 da
instruo OUT. Os estados T5 e T6 so nop.

18
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

A Figura 12 mostra o diagrama de temporizao da rotina OUT. Durante o estado T4, EA e


LO esto ativos. Isto transfere a palavra do acumulador para o registrador de sada quando ocorre a
transio positiva de clock.

Figura 12 Diagrama de temporizao da rotina OUT desde seus ciclo de busca (T1 a T3) at seu ciclo de execuo (T4).

5.2.5 Ciclo de execuo de HLT


O HLT no requer uma rotina de controle porque no h registradores envolvidos na
execuo de 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 clock.

6 Hardware do P1

A implementao em hardware do P1 envolve uma srie de componentes eletrnicos. O


esquema eltrico completo do circuito mostrado nas prximas pginas. No Anexo A mostrada
uma lista dos componentes empregados para montagem do mesmo.
Circuito de limpar/reiniciar os registradores:

Circuito para gerar sinais de clock:

19
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

Os circuitos exibidos at aqui so responsveis por gerar alguns sinais de controle que
alimentam o microcontrolador. Os diagramas das prximas pginas contm os circuitos essenciais do
microcontrolador.

20
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

21
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

22
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

23
FACULDADE DE ENGENHARIA ELTRICA - UNIVERSIDADE FEDERAL DE UBERLNDIA
Projeto didtico do microprocessador P1 Prof. Alan Petrnio Pinheiro - www.alan.eng.br

7 Referncias

[1] John Hennessy, David Patterson. Computer architecture: a quantitative approach. Elsevier, 5 edio, 2011

[2] Willian Stallings. Arquitetura e organizao de computadores. Pearson, 8 edio, 2010.

[3] David Patterson, John L. Hennessy. Computer organization and design. MK, 4 edio, 2011.

[4] Daniel Page. A practical introduction to computer architecture. Springer, 2009.

[5] Carls Hamacher, Zvonko Vranesic, Safwat Zaky, Naraig Nanjikian. Computer organization and embedded
systems. Mc Graw Hill, 6 edio, 2012

Anexo A - Lista de componentes para montagem do P1

N Item Descrio Qtd Observao Rtulo no esquema


1 CI 74107 Dois J-K flip-flop com clear 2 C1 e C2
Quatro buffers com sada three-state e borda de C3, C12, C13, C18, C19
2 CI 74126 5
subida
Quatro flip-flops D com sadas three-state C4, C8, C9, C10, C11, C20,
3 CI 74173 9
(registrador) C21, C22, C23
4 CI 74157 Quarto multiplexadores 2x1 (no-inversor) 1 C5
Todas portas com
Memria RAM 16x4(64-bits) com sada three- C6 e C7
5 CI 74189 2 encapsulamento
state
DIP e da mesma
6 CI 7486 Quatro portas XOR 2 C14 e C15
famlia lgica
7 CI 7483 Somador completo de 4 bits 2 C16 e C17
(prefervel famlia
C24, C25, C26, C39, C40,
8 CI 7400 Quarto NAND de duas entradas 9 LS)
C41, C42, C43, C46
9 CI 7404 Seis portas inversoras 5 C27, C31, C35, C47, C48
10 CI LM555 Vibrador astvel (gerador de clock) 1 C28
Dois flip-flops JK de borda de descida com C29, C36, C37, C38
11 CI 74LS78 4
presente, clock comun e clear comun.
12 CI 7420 Duas portas NAND de 4 entradas cada 5 C32, C33, C34, C44, C45
13 1K ohms Resistencia de 1/8w 8 Para LEDs
14 36 k ohms Resistencia de 1/8w 1 Para gerador clock
15 18 k ohms Resistencia de 1/8w 1 Para gerador clock
16 0.01 F Capacitor eletroltico 2 Para gerador clock
17 LED 8 Sada binria
18 Chave DIP com 4 vias 1 Prefervel de 180 S1
Prefervel modelo S2 S4, S5, S6, S7
19 Chave boto Com trava, 1 polo e 2 terminais. 5 que se encaixe em
protoboard
20 Chave DIP com 8 vias 1 Prefervel de 180 S3
Trimpot 20k
21 multivoltas linear 1
ohms

24

Você também pode gostar