Provavelmente não há componente do qual mais se tenha falado nos últimos anos que o microprocessador: Mas, é provável que também não haja componente do qual menos se conheça, principalmente na prática. Por esse motivo, damos neste artigo, uma visão sobre a maneira pela qual o microprocessador pode ser utilizado na prática.

Nota: Este artigo é de uma revista Saber Eletrônica de março de 1978.

O microprocessador - por exemplo, o Signetics 2650 - pode ser utilizado como unidade central de processamento em um sistema microcomputador completo. Esclarecendo: um microprocessador (µP) não é nada mais, nada menos que um componente eletrônico. Ao seu redor, com auxílio de RAM's, (P) ROM's e circuitos de entrada e saída, pode ser construído um sistema com as propriedades de um minicomputador.

Tal sistema tem custo módico, dimensões reduzidas e recebe o nome de microcomputador (fig. 1). Como as entrada e saídas deste microprocessador são plenamente compatíveis com a família TTL, uma enorme variedade de circuitos lógicos pode ser a ele associada. Muitas memórias e circuitos auxiliares podem ser ligados ao µP sem adaptações especiais (interfaces), o que possibilita realmente o desenvolvimento em baixo custo.

O 2650 é um circuito NMOS; produzido por meio de dupla implantação jônica e integração numa única pastilha de silício de 5 x 7 mm, contendo cerca de 10000 componentes. Possui um conjunto de 75 instruções, opera com um canal de dados de 8 bits e possui capacidade de endereçamento de memória de 32 k (32728) bytes. Para seu uso basta uma tensão de alimentação de +5V é um "Clock" TTL monofásico, de 0 a 1,25 MHz.

 

Figura 1 - Com apenas 6 circuitos integrados pode-se construir um microcomputador completo. Qualquer saída do 2650 é compatível com TTL.
Figura 1 - Com apenas 6 circuitos integrados pode-se construir um microcomputador completo. Qualquer saída do 2650 é compatível com TTL. | Clique na imagem para ampliar |

 

 

Todas as vias de endereçamento são do tipo "tri-state" e podem ser combinadas com uma entrada TTL "standard" ou quatro entradas "Low power Schottky". Consome potência diminuta, ou seja, apenas 0,5 W. Seu encapsulamento possui 40 terminais.

A máxima frequência de "Clock." é de 1,25 MHz, correspondente a um período de 800 ris. Para cada ciclo de processador são necessários três períodos de "Clock" (2,4 µs) e uma instrução completa pode ocupar dois, três ou quatro ciclos. Portanto, o tempo necessário para uma instrução completa nunca será maior que 9,6 ps.

Como o µP contém circuitos estáticos a frequência de "Clock" pode ser deslocada para zero sem que algum registro interno seja influenciado. Nesse caso, o microprocessador pode realizar um programa passo-a-passo. Isso pode ser importante na fase de desenvolvimento, para a localização, por exemplo, de erros de programa.

Para um microcomputador baseado no 2650, em geral podem ser dispensados circuitos externos auxiliares, com exceção de um ROM ou RAM, um "Clock" e alguns circuitos de entrada e saída (fig. 1).

Todos os ROM's ou RAM's são ligados às vias de dados, de endereçamento e algumas linhas de controle.

Os três canais de comunicação principais são:

1 - O canal de dados para a transmissão de informações nos dois sentidos; compreende 8 linhas.

2 - O canal de endereçamento, compreende 15 linhas. 3 - O canal de controle para memória e os circuitos de entrada e saída, compreendendo 5 linhas. Além do canal de dados, bidirecional de 8 bits o µP 2650 contém também uma porta de entrada/ saída de um bit, para o processamento seriada de entrada ou saída. Instrução de entrada e saída são escritas no comprimento de 1 ou 2 bytes, cada um de 8 bits. São designadas como instruções de entrada/saída não-expandida ou expandidas.

Nas instruções não expandidas de entrada/- saída é recebido ou fornecido um byte de informação ao canal de dados. Sinais de controle cuidam para que seja estabelecida a comunicação do canal de dados com as entradas ou saídas, diferenciando entre instruções e informações. Uma instrução de entrada/saída expandida encerra, no segundo byte, um endereço que aparece no canal de endereçamento e, portanto, designa um canal de entrada/saída. Como o código de endereçamento conta com 8 bits podem ser atribuídos até 256 canais.

 

 

A MONTAGEM DE UM µC É SIMPLES

Antes que operamos com um sistema baseado no 2650 é importante examinar todos os terminais de controle e sinal do IP (fig. 2).

A linha SENSE (terminal 1) é uma entrada direta para um dos bits do registrador Palavra de Estado do Programa (PSW) do 2650. É um registrador de 16 bits, entre bits de estado e de programa. Esta linha pode servir como porta de entrada seriada de 1 bit. O bit pode ser recuperado ou testado por intermédio de uma instrução de programa.

 

 

Figura 2 - As ligações do microprocessador 2650. Duas linhas de endereçamento de memória têm dupla finalidade: redução do número de terminais e simplificação do controle.
Figura 2 - As ligações do microprocessador 2650. Duas linhas de endereçamento de memória têm dupla finalidade: redução do número de terminais e simplificação do controle. | Clique na imagem para ampliar |

 

 

Os terminais de 2 a 14 apresentam os 13 bits inferiores do canal de endereçamento e podem endereçar diretamente a memória de 8 bytes.

O sinal ADREN (abreviado de Address Enable) do terminal 15 possibilita o comando externo da linha de endereçamento tri-state. Quando o terminal 15 estiver em nível "alto", as linhas de endereçamento aparecerão como impedâncias altas.

A linha RESET (terminal 16) coloca os registradores internos num estado conhecido e sua atuação é assíncrona com o "clocks" do processador. Quando o "RESET" é desativado, o µP irá executar a instrução localizada na posição "0" de memória que deve conter a primeira instrução do programa.

É preciso manter o sinal de "RESET" alto durante pelo menos três períodos de clocks para garantir sua atuação.

O terminal 17 é a entrada INTREQ (Interrupt request) e está normalmente "alto". Levando-se a linha para nível "baixo", um circuito externo poderá alterar o fluxo do programa. Caso o processador reconheça um sinal de entrada INTREQ, acaba de executar a instrução em andamento, coloca uma ordem ZBSR (Zero Branch to Subroutine Relativo> no registrador de instruções, leve o bit Interrupt Inbibit ao PSW (Registrador de Palavra de estado do programa) e responde com sinal, INTACK (Interrupt acknowledge) e OPREQ (Operation request). Estes sinais realizam um "chandshake" com o periférico que tiver provocado a interrupção.

Os terminais 18 e 19, correspondentes às linhas ADR14-D/C e ADR13-E/NE desempenham dupla função e são comandados pela linha seguinte, do terminal 20 (linha M/IO).

Como o terminal 20 "ALTO" (estado M) os terminais 18 e 19 reagem como bits de ordem superior do endereço da memória. Com o terminal 20 "BAIXO", o terminal 18 é usado para distinguir entre dois tipos de instruções de entrada/saída de 1 byte. Na situação "baixa" o terminal 18 indica ter sido encaminhada na ordem "Read" ou "Write" ao circuito de entrada/saída. Na situação "alta" fornece uma ordem "Read" ou "Write" ao circuito de entrada/saída.

A saída do terminal 19 define que deve ser executada uma ação de entrada/saída de um ou outro de dois bytes. Em "baixo", a instrução é uma ação não expandida e em "alto" é uma ação expandida, de dois bytes.

O terminal 21 é a linha de referência zero do uP. A linha seguinte (terminal 22) é a saída de pulso de escrita (WRP), que fornece um pulso positivo no meio de qualquer operação de escrita desejada. Durante as operações de leitura a linha WRP se comporta como alta impedância. A linha WRP foi projetada para uso em combinação com o RAM 2606 para a transmissão de sinais de escrita sincronizados.

O terminal 23 define o estado (leitura ou escrita) da saída R/N ("alto" corresponde a escrita, "baixo", a leitura). O terminal 24, a linha de saída OPREQ ordena todas as ações externas. Estando OPREQ "alto", as linhas M/I0, R/VV, D/C e INTACK descrevem a tarefa externa que é executada. Na condição "baixa", a linha OPREQ indica que a tarefa externa foi executada.

A linha DBUSEN (data bus enable) terminal 25 possibilita o comando externo do canal de dados tri-state. Na condição "alta" o terminal 25 cuida que as ligações do canal de dados tenham alta impedância; na condição "baixa" o canal de dados trabalha como o processador ordenar. Os seguintes dito terminais, de 26 a 33, inclusive, formam o canal de dados bidirecional de 8 bits.

O terminal 23 responde ao sinal INTREQ, já escrito. No terminal 34, a linha INTACK, indica por uma saída "alta" que está sendo processado um "interrupt request".

O sinal de saída RUN/WAIT, do terminal 35 mostra o estado do processador. Quando o 2650 executa uma operação, a linha está "alta" (no estado "RUN"). Quando para, devido a uma indicação de pausa, a linha passa para o estado "baixo" (estado "WAIT").

O terminal 36 é a linha de entrada OPACK (operation acknowledge) que pode ser usada nos casos onde são usadas memórias ou circuitos de entrada/saída mais lentos que o processador. A medida que estes circuitos tiverem processado os dados e instruções, respondem com um sinal "baixo' no terminal 36. Enquanto o sinal OPACK estiver "alto-, o processador fornece os sinais de dados e instruções e espera.

Pode-se parar o processador temporariamente por meio da linha PAUSE (terminal 37). Se esta linha passar a condição "baixa", o 2650 termina a instrução em andamento e passa à condição WAIT. Ele irá prosseguir seu programa normal quando for retirado o sinal PAUSE. Um exemplo de utilização deste sinal é quando queremos trocar o papel da impressora no meio da execução de um programa.

A entrada de relógio do terminal 38 recebe pulsos positivos ("go"). Três períodos do relógio (clock) dão um ciclo do processador. Instruções diretas têm um comprimento de dois, três ou quatro ciclos do processador; o endereçamento indireto aumenta isto em mais dois ciclos do processador.

No terminal 39 deve ser ligada uma fonte de alimentação simples de 5V. O último terminal do 2650, de número 40, é a linha de saída FLAG. Esta saída indica a alteração de estado do bit FLAG no registrador PSW. O FLAG pode ser usado como porta de saída seriada de 1 bit.

 

 

Figura 3 - A arquitetura interna do microprocessador 2650
Figura 3 - A arquitetura interna do microprocessador 2650 | Clique na imagem para ampliar |

 

Como todas as entradas e saídas do 2650 são compatíveis com TTL, podem ser usados circuitos lógicos "standard", em todas as ligações externas necessárias.

 

 

CONEXÕES DIRETAS DO SISTEMA

Além das conexões com as linhas de dados e endereçamento existem cerca de seis linhas de sinal, formando a via de comando.

Durante uma operação de leitura, as linhas OPREQ e M/I0 tornam-se, por exemplo, "alto" e a linha READ/WRITE, "baixa".

Se for aplicada uma memória lenta em relação ao microprocessador, pode-se fazer esta memória fornecer o sinal OPACK. Este sinal avisa ao processador que os dados desejados estão disponíveis no canal de dados. Como já foi mencionado anteriormente, o processador espera por este sinal.

A linha OPACK é um sinal denominado "handshaking".

As linhas FLAG e SENSE são portas de entrada/saída que podem introduzir ou fornecer diretamente um bit de informação, sem necessidade de endereços ou sinais de decodificação ou sincronização externos. O circuito da figura 1 mostra como podem ser usadas estas duas linhas para reagirem a entrada de caracteres de uma porta TTY (teletipo). O FLAG pode ser usado como canal de saída-série como bit adicional de endereçamento para uma série expandida de endereçamento ou como saída de comutação ou gatilhamento para o comando de lógica externa.

A linha "SENSE" pode ser usada como canal de entrada-série, sinal de interrupção para um programa em andamento, ou entrada para sinalização sim/não de aparelhagem externa.

O 2650 possui capacidade total de memória de endereçamento de 32768 bytes, mas tem, na memória dos casos, uma série de instruções de endereçamento de 8192 bytes, pela aplicação dos 13 bits inferiores da palavra de endereçamento. A fim de possibilitar o acesso ao total de 32k bytes é usado um sistema de página para dividir a memória em 4 páginas de 8k bytes. Para tanto são aplicadas as linhas ADR13 e ADR14 para definir a página. A figura 4 mostra uma ligação completa entre o 2650 e dois RAM's tipo 2606, reunidos como memória R/W de 256 x 8. Para uma memória maior, podem ser interligadas as duas linhas de endereçamento seguintes com as entradas dos RAM's.

 

Figura 4 - O 2650 permite facilmente o acréscimo de memórias, através das vias de endereçamento e de dados.
Figura 4 - O 2650 permite facilmente o acréscimo de memórias, através das vias de endereçamento e de dados. | Clique na imagem para ampliar |

 

 

 

QUASE TODAS AS MEMÓRIAS PODEM SER APLICADAS

Circuitos de memória existentes são os RAM's estáticos 2601 (1k x 1) e 2606 (256 x 4), o ROM 2608 (1 k x 8) e os PROM's 82S115/123/129 (resp. 512 x 8, 32 x 8 e 256 x 4).

Os RAM's podem ser obtidos com tempos de acesso de 500 ns a ps e são encapsulados em invólucros DIP de 16 terminais. O ROM possui tempo de acesso de 650 ns e está contido num inverso DIP de 24 terminais. Os PROM's, fabricados pelo processo TTL Schottky, têm um tempo de acesso de 35 ns e são encapsulados em invólucro de 16 ou 24 terminais. Também podem ser usadas memórias de outros fabricantes, mas somente memórias com tempo de acesso inferior a 800 ns permitem que o 2650 opere com máxima velocidade.

Outros circuitos auxiliares são o isolador quádruplo de entrada/saída 8T26, a porta bidirecional de 8 bits 8T31 e os isoladores (buffers) inversores sêxtuplos 8T95, 96, 97 e 98.

Estes circuitos oferecem todas entradas PNP e conduzem correntes de apenas 200 pA, ao invés dos 1,6 mA normalmente válidos para TTL.

A Signetics possui uma linha completa de meios auxiliares, tanto para "hardware" como para "software", a fim de auxiliar o usuário no desenvolvimento de sistemas.

Eis um resumo destes:

2650 PC 1001 — "Prototype card" de microprocessador, com. um microcomputador completo numa placa impressa única. Nessa placa estão contidos, o uP 2650, uma memória de controle e uma de R/W (leitura/escrita) de 1 k byte, na porta de entrada/saída, num relógio e todos os isoladores e conexões.

2650 PC 1500 — Outro sistema completo de microcomputador numa placa impressa, com um RAM de 512 bytes. Na placa existe espaço disponível para que o usuário possa incluir circuitos, seja para expansão da memória, seja para interface. O sistema é disponível em forma de kit sob número KT9500, incluindo a placa impressa.

2650 PC 2000 — E um cartão de memória contendo 4 k bytes de RAM e que pode ser usado em conjunto com os sistemas citados.

2650 DS 2000 — Sistema de demonstração e experimentação onde podem ser acomodadas as placas acima citadas. O sistema compreende aparelhagem de alimentação, um RS232 e uma conexão para TTY, indicadores LED's para as linhas de endereçamento e dados e alguns comandos.

"Assemblers" — Escritos em linguagem FOR-TRAN IV em execuções para máquinas de 16 e 32 bits. O assembler é um programa de tradução que converte uma linguagem de programação facilmente compreensível em código de máquina. Além disso, o assembler fornece indicações de falhas e possibilita a produção de listas de programas fitas.

Simuladores — Este programa, escrito em Fortran IV, disponível para máquinas de 16 e 32 bits, permite uma completa simulação do 2650.

PLus — É uma linguagem de ordem superior. A linguagem permite formar várias instruções de máquina em uma única linha. O compilator PLus existe em versões para máquinas de 16 ou 32 bits.

Manual do usuário - Contém instrução completa para o microprocessador 2650 e o assembler. Aqueles que adquirem o manual podem assinar o serviço de informações de aplicação relativo ao 2650.

Uma informação completa do programa de microprocessadores e seus pertences está contida na brochura "2650 introductory brochure and short form catalogue".