O primeiro microprocessador comercial foi produzido pela Intel e tinha barramento de 4 bits e clock de 740 kHz, era chamado de 4004. Mas o grande salto que popularizou o microprocessador foi quando a Intel criou o 8080, que já trabalhava com 8 bits. Este microprocessador foi base para muitos projetos na área de automação e telecomunicações. Isso tudo aconteceu na década de 1970.

Chamamos de barramento de um processador o caminho elétrico por onde circulam as informações (números) que são processados pelo microprocessador. O barramento é basicamente composto por ligações ou fios entre os componentes ou blocos do sistema. Um barramento de 8 bits tem 8 fios que transportam as informações básicas (bits) de um componente para o outro. A figura abaixo mostra um exemplo de barramento interligando os dados de uma memória ao microprocessador que faz a leitura dos dados desta memória.

f111

Outro tipo de barramento muito comum nos microprocessadores é o barramento de endereço, mas vamos falar mais dos barramentos quando falarmos das memórias.

Além dos barramentos, os microprocessadores são compostos por outros elementos que juntamente com os barramentos formam a base da maioria dos microprocessadores existentes. São eles a Unidade Lógica Aritmética e os registradores.

A Unidade Lógica Aritmética (ULA) é onde são realizadas as operações matemáticas e comparações, tipicamente entre 2 números.

Os registradores são pequenas memórias de uso rápido com espaço para apenas 1 número. Normalmente cada microprocessador possui alguns registradores para serem utilizados na execução das instruções.

Vamos ver agora um exemplo hipotético de execução de uma instrução de soma entre 2 números. Na figura abaixo os registradores A e B possuem os números que serão somados pela ULA do microprocessador. A resposta fica armazenada no registrador C (120+45= 165).

f112

De uma forma simplificada podemos imaginar o microprocessador lendo da memória os números e copiando para os registradores A e B, em seguida o resultado é copiado do registrador C para outra posição de memória. Assim é feito o processamento de uma instrução de soma.

Os tipos de memórias básicos são:

– Memória ROM (Read Only Memory) onde fica armazenado de forma permanente as instruções que o microprocessador realiza.

– Memória RAM (Random Access Memory) onde o microprocessador pode escrever e ler informações ou números que ele vai usando durante o processamento dos programas.

As memórias podem ser vistas como pequenas gavetas onde ficam armazenados os números que o microprocessador lê. Cada gaveta possui um endereço fixo que define a sua posição dentro da memória. Para poder acessar o valor guardado em cada gaveta, o microprocessador utiliza o barramento de endereço para selecionar qual gaveta ele deseja acessar, e o barramento de dados para ler o valor dentro da gaveta.

Se for uma memória do tipo RAM o microprocessador pode ler ou escrever o valor dentro de uma gaveta (posição). O microcontrolador pode mudar o sentido de fluxo de informação no barramento de dados (que lê ou escreve os valores nas posições de memória). Se for um procedimento de leitura o barramento de dados tem o sentido memória-> microprocessador. Se for um procedimento de escrita o barramento tem o sentido microprocessador-> memória. O barramento de endereço sempre tem o sentido microprocessador-> memória, para poder selecionar na memória o endereço que esta sendo acessado.

A figura abaixo mostra um esquema mais completo dos barramentos de dado e endereço do sistema.

f113

No processo de execução de um programa, o microprocessador realiza as seguintes tarefas:

  1. Lê o código gravado na memória ROM na posição de memória (endereço) zero, e interpreta o código em uma das possíveis instruções que ele é capaz de reconhecer. Cada tipo de microprocessador tem uma lista de instruções que ele reconhece.
  2. Executa a instrução.
  3. Incrementa o contador de endereços para poder ler a próxima instrução.

Para poder realizar estas tarefas básicas o microprocessador necessita de 2 componentes externos. O Gerador de clock e o Circuito de reset. Normalmente o microprocessador possui 2 pinos para receber estes sinais.

O gerador de clock gera um trem de pulsos, ou seja um sinal que muda alternadamente de 0 para 1 com frequência fixa e conhecida (figura abaixo):

f114

O sinal de clock sincroniza a execução das tarefas do microprocessador. Quanto mais rápida a frequência do clock, mais rápido o microprocessador executa as tarefas. Mas o clock deve respeitar a frequência máxima que o microprocessador pode trabalhar.

O circuito de reset gera um pulso no inicio da execução do programa, ou seja, no momento que o circuito é ligado. Este pulso informa o microprocessador que ele deve começar a ler as instruções no endereço zero da ROM. Ao receber o pulso de reset o microprocessador zera o seu contador interno de endereços e coloca valores conhecidos em todos os registradores internos.

Com estes blocos o microprocessador já é capaz de executar programas inteiros. Mas faltam alguns componentes muito importantes para que os resultados gerados na execução do programa possa ser utilizado. Estes componentes são chamados de periféricos.

Ao longo do curso iremos ver muitos tipos de periféricos. Nesta aula iremos falar rapidamente de apenas um deles, a interface paralela.

A interface paralela compõe as “portas” que comunicam o sistema microprocessado com o mundo exterior. Existem portas de entradas e portas de saídas. No início do curso iremos utilizar as postas de entradas para ligar botões ou teclas que irão passar comandos para o processador, e as portas de saídas para acender LEDS para indicar o resultado de um processamento.

Seu funcionamento é parecido com o funcionamento das memórias RAM e ROM. Vamos utilizar o barramento de dados e o barramento de endereços para escrever e ler endereços de entradas e saídas (I/O), conforme a figura abaixo.

f115

Cada porta normalmente tem 8 pinos ou pontos e pode ser programada para ser uma entrada ou saída. O bloco decodificador gera os sinais para escolher em qual porta o microprocessador ira fazer o processo de leitura ou escrita.

Os sinais que podemos usar para nos comunicarmos com o microprocessador através da interface paralela são digitais. Isso quer dizer que para cada pino ou ponto, temos apenas dois estados 0 ou 1. O estado zero é quando o pino está com tensão igual a zero e o estado 1 é quando o pino está com alguma tensão superior a um limite definido pelo fabricante da interface paralela. Estes dois estados são suficientes para que possamos fazer as primeiras experiências das próximas aulas. Podemos ligar um botão em uma entrada para definir o estado do pino de entrada, assim como podemos ligar um pino de saída em um LED fazendo ele acender ou apagar conforme o estado da saída.