Vous êtes sur la page 1sur 15

FACULDADE SATC

PROFESSOR:RODERVAL MARCELINO

MICROPROCESSADOR
GENÉRICO
1 Considerações iniciais

Na área tecnológica é grande o fascínio por trabalhar com temas que


imediatamente produzam, ou em curto prazo possam produzir, resultados diretamente
ligados ao aumento de produtividade e/ou diminuição de custos. Evidentemente, esses
trabalhos são incentivados por órgãos ligados à indústria, que devido à dinâmica do
mercado, precisa oferecer respostas rápidas às suas necessidades. Infelizmente, essas
respostas nem sempre se traduzem em um bem comum. Atualmente estamos
presenciando uma verdadeira ressaca tecnológica, onde a automação, principalmente a
robótica, tem provocado uma grande diminuição nos quadros de mão-de-obra.
As transformações que estamos presenciando são, sem dúvida, alimentadas pelos
computadores, que para a grande maioria das pessoas são traduzidos pelos PCs e
mainframes. Muitas dessas pessoas não sabem, mas um grande número de circuitos
integrados (pequenos processadores, chamados de microcontroladores), embutidos em
diversos equipamentos, exercem um papel importante no dia a dia delas. Despertar ao
som de um CD Player programável, tomar café da manhã preparado por um microondas
digital, e ir ao trabalho de carro, cuja injeção de combustível é microcontrolada, são
apenas alguns exemplos. Paradoxalmente, para muitas dessas pessoas, “os
computadores são apenas máquinas feitas para complicar as coisas”.
Os circuitos microcontrolados estão presentes também no dia a dia de pessoas de
classes economicamente inferiores. Operários registram seu horário de entrada e saída
no trabalho através de relógio-ponto microcontrolado e vão ao trabalho em transporte
coletivo, cujo sistema de registro de passageiros é automatizado.
Esses pequenos exemplos evidenciam o grande potencial dos sistemas embarcados na
implementação de novos produtos ou na melhoria de produtos existentes. Entende-se
por sistema dedicado a utilização de algum tipo de CPU exclusiva para o controle ou
gerenciamento de um sistema, de forma que essa CPU fique transparente para quem
utiliza o sistema por ela controlado. Os sistemas embarcados também são conhecidos
com sistemas embarcados ou embutidos, pois são sistemas de computação
especializados, que fazem parte de uma máquina ou sistema mais amplo. Geralmente, é
um sistema microprocessado com os programas armazenados em ROM.

2. Os sistemas embarcados e suas aplicações

O mercado para sistemas embarcados continua em franca expansão, ampliando


seu alcance principalmente em aplicações residenciais, industriais, automotivas e de
telecomunicações. Segundo dados da National Semiconductor, uma residência típica
americana possui 35 produtos baseados em sistemas embarcados. A estimativa é de que
até o início do próximo milênio, aproximadamente 250 produtos residenciais sejam
comandados por esse tipo de dispositivo.
Num passado recente, o alto custo dos dispositivos eletrônicos limitou o uso dos
sistemas embarcados apenas aos produtos domésticos considerados de alta tecnologia
(tv, vídeo e som). Porém, com a constante queda nos preços dos chips, os sistemas
embarcados passaram a ser utilizados em produtos menos sofisticados do ponto de vista
da tecnologia, como máquinas de lavar, microondas, fogões e refrigeradores. Assim, a
introdução de um simples microcontrolador nestes produtos cria uma diferenciação e
permite a inclusão de melhorias de segurança e de funcionalidade. Alguns mercados
chegaram a ponto de tornar obrigatório o uso de microcontroladores em determinados
tipos de equipamentos, impondo um pré-requisito tecnológico.
Basicamente, os sistemas embarcados são freqüentemente utilizados para
controlar equipamentos das mais variadas áreas: eletrodomésticos, equipamentos
automotivos, controle ambiental, indústria bélica e aeroespacial, instrumentação,
controle de processos, automação industrial e muitas outras. A complexidade dos
sistemas embarcados varia de acordo com a aplicação. Há sistemas embarcados bem
simples usados para implementar pequenos sistemas (uma calculadora, por exemplo),
como também há sistemas embarcados mais complexos usados para implementar
sistemas maiores (sistema de comando por voz, por exemplo).
Na robótica é comum encontrar vários subsistemas embarcados trabalhando em
conjunto. Cada sub-sistema dedicado é responsável por uma parte do sistema e, através
de um sistema de comunicação, se comunica com uma unidade central, de maior porte,
repassando informações coletadas e recebendo novos parâmetros de controle.
Uma aplicação em especial, os sistemas coletores de dados, evidencia as
principais vantagens do uso de sistemas embarcados: dimensões físicas reduzidas, baixo
consumo e flexibilidade. Sem essas características seria muito difícil realizar a coleta
automatizada de dados no chão de fábrica e o monitoramento e armazenagem de dados
climatológicos em um balão, só para citar alguns exemplos.
Muitos produtos que temos disponíveis hoje em dia, simplesmente não
existiriam, ou não teriam as mesmas funcionalidades sem, por exemplo, um
microcontrolador. É o caso, por exemplo, de vários instrumentos biomédicos,
instrumentos de navegação por satélites, detetores de radar, equipamentos de áudio e
vídeo, eletrodomésticos, dentre outros.
Entretanto, o alcance dos sistemas embarcados vai além de oferecer algumas
facilidades. Uma aplicação crucial, onde os sistemas embarcados são utilizados, é na
redução de consumo de recursos naturais. Existem sistemas de aquecimento modernos
que captam a luz solar e, de acordo com a demanda dos usuários, controlam a
temperatura de forma a minimizar perdas. Um outro exemplo, de maior impacto, é o uso
de sistemas embarcados na redução do consumo de energia em motores elétricos, que
são responsáveis pelo consumo de, aproximadamente, 50% de toda eletricidade
produzida no planeta. Portanto, o alcance dessa tecnologia tem influência muito mais
importante em nossas vidas, do que se possa imaginar.
O universo de aplicações dos sistemas embarcados, como já mencionado, está
em grande expansão, sendo que a maior parcela dessas aplicações é em produtos com
maior capacidade de autonomia e de flexibilidade de utilização e de atualização. Como
a complexidade desses sistemas cresce vertiginosamente e o mercado exige atualização
constante, o software tem sido fundamental para oferecer as respostas às necessidades
desse mercado. Tanto é, que o software para sistemas embarcados representa uma fatia
considerável do mercado de software americano. Segundo estudiosos do mercado, a
proliferação dos sistemas embarcados, juntamente com o advento da Microsoft, são os
responsáveis pela retomada do crescimento da indústria de software naquele país.
3. O Que é um microprocessador?

O microprocessador (MPU) é um microcircuito de grande escala de integração,


programável e capaz de desenvolver uma série de funções complexas especificadas
mediante um programa.
As funções de um microprocessador são aquelas de elaboração que consiste na
manipulação dos dados e no cálculo, e outra de controle, mediante a qual é determinada
a maneira com a qual os dados são elaborados.

Elaboração
Funções de um
microprocessado
r
Controle

Mas temos que entender que o microprocessador sozinho não pode fazer nada,
este deve ter sempre como suporte, periféricos de memória necessários para memorizar
as instruções de um programa e os dados que precisa elaborar, e circuitos para transferir
os dados.
Portanto o MPU é o coração de muitos produtos, mas não é um produto
completo e funcional.

Microcontrolador versus microprocessador


Um microcontrolador é um microprocessador que possui de forma geral CPU,
memória e E/S além de recursos adicionais e aplicações específicas. Embora os
microprocessadores mais recentes integrem também funções mais avançadas, tais como
memória cache ainda encontramos algumas diferença importantes tais como:
Os microcontroladores dispõe sempre de E/S (digital e/ou analógica), que não
existe nos microprocessadores.
Com relação as memória os microcontroladores são mais completos
principalmente quanto a memória não voláteis(não perdem a informação na falta de
energia).
Os microprocessadores são normalmente empregado em aplicações que requerem
maior poder de processamento, como por exemplo a CPU de um computador.
O ponto forte dos microcontroladores é a flexibilidade para atender aplicações
mais variadas possíveis, sem contar o preço que é muito mais em conta.

4. Tipos de sistemas embarcados

Inicialmente os sistemas de controle foram construídos, exclusivamente, por


componentes lógicos discretos e, portanto, apresentavam grandes dimensões físicas.
Posteriormente, os microprocessadores foram usados para implementar esses sistemas,
o que permitiu grande redução no número de componentes utilizados. Até hoje é
comum encontrarmos sistemas à base do Zilog Z80, Intel 8088, Motorola 6809 e outros.
Com a continuação do processo de miniaturização, todos os componentes
necessários para um controlador foram integrados num único chip. Daí surgiu o termo
microcontrolador, que é o componente base para a construção de sistemas embarcados.
Um sistema dedicado pode incorporar todas, ou quase todas, as partes necessárias para
implementar um controlador. Ressalta-se que um mesmo tipo de microcontrolador pode
ser utilizado para implementar diferentes tipos de sistemas de controle, variando-se
basicamente o software de programação.
Em contra-partida a essa linha, existem os dispositivos de lógica programável,
que representam uma tendência da eletrônica mundial para um grande nível de
integração de sistemas. A integração torna possível a constituição de sistemas
embarcados altamente complexos, sem o uso, quase que exclusivo, de
microprocessadores. Hoje, o projetista pode trabalhar basicamente com blocos que são
representações abstratas de um dado circuito os quais ele interliga constituindo seu
sistema.
Assim, há diferentes tipos de sistemas embarcados atualmente no mercado, e
dependendo dos componentes contidos neleS, é possível classificá-los nas seguintes
categorias: a) Embedded Microcontrollers (sistemas auto-contidos); b) Microntroladores
com memória externa; c) Processadores Digital de Sinais; e d) Dispositivos de Lógica
Programável.

5. Embedded Microcontrollers (auto-contido)

Usualmente, esse tipo de sistema dedicado, também conhecido como auto-


contido, incorpora uma CPU, memória RAM, algum tipo de memória ROM, porta
serial, portas paralelas de entrada/saída, contadores e temporizadores, e um controlador
de interrupções. Além disso, eles possuem um amplo conjunto de instruções para
manipular bits, realizar acesso direto aos pinos de entrada/saída, e um rápido e eficiente
sistemas de processamento de interrupções. Com isso, e aliada à drástica redução do
número de componentes envolvidos e a uma maior simplicidade de projeto, esses
sistemas se tornaram um grande atrativo para implementar sistemas de controle a um
custo relativamente baixo.

6. Microntroladores com memória externa

Os microntroladores com memória externa são microncontroladores, usualmente


com barramento de dados de 16 ou 32 bits, que não agregam no mesmo encapsulamento
tanto a memória de programa quanto a memória de dados, requeridas para a aplicação.
O exemplo clássico deste tipo de microcontrolador é o Intel 80188. Ele foi
desenvolvido a partir do Intel 8088 (usado na arquitetura de microcomputadores IBM-
PC), com a integração (no mesmo chip da CPU) de circuitos adicionais usados em
sistemas embarcados (controladores de DMA e de interrupção). O propósito do 80188
foi disponibilizar um pacote integrado contendo todos os circuitos necessários para o
engenheiro de desenvolvimento simplificar a criação de uma aplicação 8088.
O principal foco dos sistemas com memória externa está ligado aos requisitos de
memória RAM. Ao invés de necessitarem de muitos pinos e/s, esse tipo de sistema
trabalha com faixa de memória RAM na ordem de mega bytes. A aplicação típica são os
controladores de disco rígido, que guardam e distribuem grandes quantidades de dados.
7. As unidades internas dos microprocessadores

Um microprocessador internamente é constituído por uma unidade aritmética


lógica (ULA), um bus de dados entre os diferentes componentes e um conjunto de

B
U REGISTROS
S

D
UNIDADE
ULA E
DE
CONTROLE
D
A
D
O ROM
S

A figura representa o diagrama de blocos de um microprocessador, mostrando


de maneira evidente seus componentes principais.
A análise completa dos valores elementares representados será tratada a seguir.

8.As unidades internas dos componentes

Os registradores são células de memória interna no microprocessador. As


instruções e os dados podem ser salvos nestas células até que o bus não esteja pronto
para transferi-los. Os registradores e os buses têm quase sempre a mesma amplitude
máxima.
O bus de dados interno é constituído por dois circuitos mediante os quais é
possível transferir os dados entre a ULA e os valores dos registradores.
A Unidade Aritmética Lógica (ULA) é o dispositivo que executa os cálculos
sobre os diferentes dados (adição, subtração, operações lógicas, comparação,
incremento, decremento).
Além destes componentes, existe uma memória somente de leitura ROM (Read
Only Memory) interna abrangendo os códigos de todas as instruções que a MPU pode
efetuar, e uma Unidade de Controle que controla esta ROM e a elaboração dos dados.

9.Um sistema microprocessado

Já vimos que o Microprocessador não é um produto completo, na realidade este


tem necessidade de outros circuitos externos para efetuar algumas elaborações.
O conjunto destes circuitos mais a MPU é chamado de microcomputador.
Um microcomputador é constituído por um bus de dados externo (que permite a
troca de informações entre a MPU e os circuitos), um bus de endereços por dispositivos
de I/O (teclado, display), por blocos de memória de única leitura (ROM) e outros de
escrita e leitura (RAM) além de um alimentador.

B
U ROM
S
B
U D
S E
MPU RAM
D D
IR A
D
O I/O
S

10.Os buses de conexão

É necessário que entre todos os componentes internos de um sistema haja a


possibilidade de comunicação, para isto, estão presentes em cada microcomputador um
ou mais canais de conexão entre os diferentes componentes, chamados Bus.
Os buses presentes são dois: o bus de dados e o bus de endereços. Como indicam
as mesmas denominações, o primeiro é utilizado somente para transferir os dados, e o
segundo para transferir os endereços dos dados na memória.
A amplitude dos buses no primeiro caso é igual à amplitude máxima da
informação que se transfere num componente a outro, e no caso dos endereços depende
do número máximo de células contidas na memória que se pode utilizar.
Já que o bus é um só e deve ser utilizado por todos, é necessário que cada
usuário esteja conectado somente quando transferir ou receber informações; para
realizar isto estão presentes uns circuitos especiais que ativam a conexão quando o
dispositivo requer a comunicação e, vice-versa, lhe desativa quando a transmissão
termina.

11.Diagrama de blocos do microprocessador

Vamos verificar a sua estrutura interna; na figura aparece o diagrama de blocos


do microprocessador que estudaremos nesta e nas páginas seguintes. É importante
observar que esta MPU foi criada para ser somente um exemplo e, portanto não está
disponível no mercado.
Observando o diagrama geral, podemos reconhecer três dispositivos lógicos
fundamentais:
• A ULA;
• Os diferentes REGISTRADORES;
• A LÓGICA DE CONTROLE.

Reconhece-se facilmente o sistema que permite a transmissão dos dados de um a


outro destes sistemas: o bus de dados interno do microprocessador.
O objetivo desta lição é justamente a análise da função de cada um destes
dispositivos.

DIAGRAMA DE BLOCOS DO MICROPROCESSADOR

12. A ULA(Unidade de Lógica e Aritmética)

Começaremos o estudo dos dispositivos internos fundamentais da MPU na ULA,


(Unidade Aritmética Lógica); esta contém a lógica da elaboração de dados do
Microprocessador.
Na figura observe como a ULA está conectada no resto da MPU.
Podemos observar que está equipada com portas de entrada e uma porta de
saída; ambas as portas de entrada estão equipadas com um registrador temporário que
mantém memorizado o dado na entrada à disposição da ULA.
Nas páginas seguintes veremos melhor os motivos da presença dos registradores
temporários.
As duas portas de entrada da ULA permitem adquirir uns dados no bus interno
do microprocessador ou num registrador especial, chamado acumulador.
A única porta de saída permite enviar uma palavra de dados ao acumulador; já
neste ponto é evidente certa interação entre ULA e acumulador.
A ULA executa suas elaborações sobre uma ou duas palavras de dados, segundo
o tipo de operação que precisa executar. E segundo o caso utiliza uma só, ou ambas as
portas de entrada.
Por exemplo, trata-se de complementar um dado, ou seja, de forçar a “1” os
zeros e a “0” os uns de uma palavra de dados, a ULA é usada somente na porta de
entrada conectada com o acumulador. Se quiser executar a soma de duas palavras, a
ULA utiliza ambas as entradas.
O tipo e a quantidade de funções que a ULA pode desenvolver variam de um
microprocessador a outro; de todos os modos existe um conjunto de operações de base
que todas as ULA’s no comércio sabem executar:

- Adição - Complemento
- Subtração - Deslocamento para direita
- AND - Deslocamento para esquerda
- OR - Incremento
- XOR - Decremento

É importante lembrar que cada instrução que modifica os dados deve usar a
ULA.

13. Os registradores do microprocessador

Os registradores são uma parte predominante no diagrama de blocos de qualquer


microprocessador: estes constituem uma função lógica fundamental.
Os registradores são umas memórias internas na MPU capazes de memorizar
uma palavra de dados; existem uns registradores dedicados a umas funções específicas,
e outros de uso geral disponíveis para todos os usos que o programador pode pensar.
O número como também o uso dos registradores num microprocessador depende
da arquitetura de mesmo; no entanto, existem seis registradores de base que
praticamente tem em todas as MPU’s.
Os seis registradores de base são:
• O acumulador;
• O registrador de instruções;
• O contador de programa;
• O registrador de endereços de memória;
• O registrador de estado;
• O registrador para dados temporários.

O ACUMULADOR

Observar entre a figura as interconexões entre o acumulador e os outros


dispositivos da MPU.
O acumulador é o registrador principal do microprocessador para a manipulação
dos dados; na realidade todas as operações aritméticas ou lógicas que combinam duas
palavras de dados prevêem que uma destas esteja presente no acumulador.
Por exemplo, vejamos como a MPU executa a soma de duas palavras chamadas
A e B:
• A palavra A coloca no acumulador;
• A ULA executa a soma do conteúdo do acumulador com a palavra B (o
conteúdo de uma célula de memória);
• O resultado da operação é colocado no acumulador.

Observe que o conteúdo do acumulador inicial está perdido.


Outro tipo de operação muito usada pelo acumulador é a transferência de dados
controlada pelo programa; na realidade uma instrução de deslocamento de um dado
prevê que este dado seja lido antes pela fonte no acumulador, e sucessivamente
transferida por este ao destino.
O microprocessador também permite executar operações diretamente sobre o
acumulador; por exemplo, existem as instruções que executam o reset do acumulador,
ou o deslocamento à direita e à esquerda do seu conteúdo, ou então o complemento
deste último.
O acumulador é o mais versátil entre todos os registradores do
microprocessador.
O acumulador pode receber como também transmitir dados através do bus
interno da MPU.
Como já falamos anteriormente no percurso entre a saída do acumulador e a
ULA há um buffer constituído por um registrador temporário; a função deste registrador
será explicada no final desta lição.
O acumulador trabalha com o mesmo tamanho de palavra da palavra de dados
usada pelo microprocessador, ou seja, uma MPU de 8 bits terá um acumulador de 8 bits.
No entanto, existem uns microprocessadores equipados com dois acumuladores,
mas seu emprego é limitado pela necessidade de distinguir as instruções segundo que
usem um ou outro.

O CONTADOR DE PROGRAMA (PC)

O contador de programa é um dos registradores mais importantes do


microprocessador. Um programa é uma série de instruções escritas na memória da
MPU; pois este registrador mantém um indício de qual instrução estamos usando e qual
será a seguinte.
O contador de programa deve ter um tamanho suficiente para direcionar
qualquer parte de memória que posso conter uma instrução.
Antes de iniciar a execução de um programa, é necessário colocar no contador
de programa o endereço da memória onde está a primeira instrução do programa.
Durante a execução, o incremento deste registrador é executado
automaticamente pelo microprocessador.
É muito importante observar e lembrar que enquanto se executa uma instrução o
ponteiro de programa indica a instrução seguinte, e não aquela presente.

O REGISTRADOR DE ENDEREÇOS DE MEMÓRIA (MA)

Toda vez que o microprocessador endereça a memória, o registrador de


endereços de memória contém um número (endereço) que identifica a locação que
interessa a MPU.
A saída deste registrador chama-se bus de endereços de memória, e serve para
indicar uma célula de memória, ou então, uma porta de entrada/saída.
O registrador de endereços de memória é utilizado em cada transferência de
dados ou instruções na memória.
Como para o contador de programa, o registrador de endereços de memória
dever ter um tamanho suficiente para direcionar qualquer célula da memória:
geralmente uma MPU de 8 bits adota um registrador de endereços de memória de 16
bits, que pode estar constituído por dois registradores separados, equipados com duas
diferentes conexões com o bus de dados interno do microprocessador.

O REGISTRADOR DE INSTRUÇÕES

O registrador de instruções representa um típico exemplo de registrador


dedicado a desenvolver uma única função; na realidade este contém a instrução que o
microprocessador esta executando.
Como podemos observar no diagrama geral, o registrador de instruções pode
somente receber dados no bus de dados interno, e não pode transmiti-los.
A importância deste registrador é que sua saída dirige o dispositivo de
decodificação das instruções e a lógica de controle da MPU.
Na realidade, enquanto o decodificador de instruções desenvolve seu dever, este
não lê a instrução diretamente da memória, ou então encontra uma cópia da mesma no
registrador de instruções.
O tamanho deste registrador pode variar de um MPU a outra, mas geralmente
esta equivale ao tamanho da palavra de dados desta última: algumas vezes, o registrador
de instruções reduz somente a 3 ou 4 bits.

O REGISTRADOR DE ESTADO

O registrador que pode estabelecer a diferença entre uma simples calculadora e


um elaborador autêntico é o registrador de estado.
O registrador de estado é usado para memorizar os resultados de determinados
testes executados durante o programa.
Na realidade, as operações da ULA e certas operações sobre os registradores
deslocam os bits deste registrador.
Por exemplo, existe o bit de TRANSPORTE que é colocado a “1” quando gera
um transporte numa operação da ULA; ou então, o bit de ZERO que indica que o
acumulador foi colocado a zero com a última operação, se assumir o valor “1”, ainda
existe o bit NEGATIVO que se desloca a “1” quando sobra um número de outro menor.
O registrador de estado é modificado diretamente pela ULA, o seu conteúdo
pode ser transferido através do bus de dados interno.
Na página seguinte, veremos melhor como é possível que o microprocessador
tome decisões baseadas nos valores assumidos pelos diferentes bits do registrador de
estado.

O REGISTRADOR DE ESTADO

Como introduzido na página anterior, existe umas instruções que permitem ao


microprocessador tomar decisões baseadas no valor dos bits do registrador de estado.
Na realidade, enquanto se executa um programa, se coloca no contador de
programa certo endereço, sucessivamente será executado a lista de instruções que inicia
a aquele endereço, ou seja, se executa um salto.
Então, se este salto só é executado quando há certa condição sobre os bits de
estado, verificamos que o microprocessador executa um salto condicionado, ou seja, só
é executado quando se verifica a condição escolhida.
Pode ser que agora entendamos melhor o que queríamos dizer nas páginas
anteriores, dizendo que o registrador de estado determina a diferença entre uma
calculadora e um elaborador: a capacidade de escolher entre mais possibilidades
alternativas.
O tamanho do registrador de estado depende de uma MPU a outra, segundo os
bits utilizados de todos os modos, aqueles não utilizados são forçados permanentemente
a um “1” lógico.

OS REGISTRADORES PARA OS DADOS TEMPORÁRIOS DA ULA

Observem os registradores para os dados temporários da ULA.


Chamaremos latch acumulador o buffer que está no percurso entre acumulador e
entrada da ULA.
Cada um dos registradores para dados temporários tem bastantes bits para
memorizar uma palavra de dados.
A necessidade do registrador temporário vem do fato de que a ULA não dispõe
de memória própria, pela qual quando retira uns dados no bus interno da MPU, dever ter
um dispositivo que memoriza o dado e o tenha disponível na entrada da mesma ULA.
Diferente do outro registrador temporário, o latch acumulador pode derivar do
bus interno da MPU, ou então, da saída do acumulador.
Agora, se a ULA executar uma operação usando o dado contido no acumulador,
e colocar seu resultado novamente no acumulador, pode ocorrer que a entrada e a saída
da ULA estejam conectadas contemporaneamente no mesmo ponto.

OS REGISTRADORES DE USO GERAL DO MICROPROCESSADOR

Além dos seis registradores fundamentais vistos na lição anterior, presentes em


todos os microprocessadores, algumas MPU têm outros para uso geral de programação;
estes são chamados de registradores de uso geral.
O modelo de microprocessador usado nestas lições esta equipado com três
registradores de uso geral, chamados B, C e D. Para muitas operações os registradores
B, C e D são três registradores idênticos de 8 bits: a seleção a ser usada para uma certa
operação depende simplesmente do registrador livre mais conveniente.
Observe que normalmente as operações com os registradores B, C e D influem
os bits do registrador de estado.
Por conseguinte podemos usar os três como contadores: se lhes indicar um valor
inicial e logo passar a decrementa-lo, controlando o bit zero do registrador de estado;
quando este estiver deslocado a “1”, o registrador contador chegara à zero.
Isto pode ser útil no uso de um ciclo controlado.
DIAGRAMA DE BLOCOS DO MICROPROCESSADOR

REGISTRADORES BC

Como já falamos na lição anterior, os três registradores de uso geral B, C e D


são três registradores idênticos de 8 bits.
Mas os registradores B e C têm uma particularidade: juntos podem ser usados
como um registrador único de 16 bits, chamado registradores BC.

Reg. B Reg. C Par de reg. BC

8 bits 8 bits 16 bits

Nosso modelo de microprocessador usa justamente o par de registradores BC


para direcionar (identificar) uma célula particular da memória: a MPU coloca o
endereço da locação interessada no registrador BC, que por ser de 16 bits pode conter
endereço da memória (lembre que o registrador de endereços de memória é de 16 bits).
Deste modo, se for necessário incrementar uma endereço de memória, pode
fazer diretamente no registrador BC, ou seja, podem executar operações sobre os dados
de 16 bits.

14. A lógica de controle do microprocessador

Outra função lógica fundamental do microprocessador é sua lógica de controle.


A lógica nesta parte do microprocessador permite a todas as outras partes
trabalhar juntas na correta seqüência temporária.
A lógica de controle retira as instruções do registrador de instruções (observe o
que se deve fazer com os dados), e fornece os comandos necessários para executar a
operação requerida.
Normalmente, a lógica de controle tem a arquitetura muito parecida a um
microprocessador: se diz também que a lógica de controle e um microprocessador
dentro do microprocessador.
Pois deve enviar a seus comandos em todas as partes da MPU, a lógica de
controle esta equipada com linhas de comunicação com todos os dispositivos internos
do microprocessador.

A LÓGICA DE CONTROLE COMO TEMPORIZADOR

Já vimos que muitos sinais saem da lógica de controle; mas também uma linha
de entrada, a mais importante das quais é sem dúvida aquela que existe a lógica de
controle, o sinal de clock do microprocessador.
Este sinal é a base de toda a temporizarão interna da MPU.
A lógica de controle elabora o sinal de clock recebido, e deste obtém um sinal
multiface. No diagrama abaixo, vemos os dois sinais S1 e S2 obtidos pela mesma onda
quadrada:

CK

S1

S2
Observe que mediante o sinal de clock inicial pode temporizar dois dispositivos
diferentes, um com o sinal S1 e o outro com S2.
O microprocessador pode obter seu sinal de clock num oscilador externo, ou
então num oscilador próprio interno.
De todos os modos, quase sempre o sinal está controlado por cristal.

OUTRAS FUNÇÕES DA LÓGICA DE CONTROLE

Além das funções que vimos ate agora, a lógica de controle desenvolve algumas
mais, entre as quais mencionamos o controle da seqüência de inicializacao do
microprocessador e o gerenciamento dos interruptores.
Antes de começar a trabalhar, o microprocessador deve ser inicializado, ou seja,
deve ser preparado: se carregam nos registradores uns valores iniciais que servem para a
MPU partir.
Muito mais importante é a outra função mencionada, ou seja, o gerenciamento
dos interruptores. Um interruptor é a petição explicita que um dispositivo externo
(memória, unidade de entrada/saída) envia a lógica de controle para poder usar o bus de
dados interno da mesma MPU.
A cada instante chegam mais interruptores na lógica de controle, e esta tem o
dever de terminá-los de maneira mais oportuna, e seguindo hierarquias de prioridade
prefixadas. Esta função faz parte da mais complexa função de temporizarão do uso do
bus de dados interno.

15. O bus de dados interno do microprocessador

Todos os dispositivos internos no microprocessador que transmitem ou recebem


dados, fazem através de um único sistema de transmissão que como já tivemos a
oportunidade de ver, é o bus interno da MPU.
Lembrando que os sinais de controle, embora sejam os gestores das
comunicações sobre o bus, nas são considerados parte do mesmo bus.
Também vimos que para permitir o uso por parte de um número tão elevado de
usuários de um único meio de transmissão, é necessário a presença de um dispositivo de
controle que receba os pedidos de conexão no bus e entregue estas autorizações segundo
temporizarão exata.