Ciclo de Execução no Intel 8051

Instruções do Intel 8051 Mapa de Memória no Intel 8051 8051 Arquitetura Intel 8051
Este post faz parte da série Intel 8051

Olá, caro leitor! Este artigo é continuação da série Intel 8051 e tem como principal objetivo descrever o ciclo de execução de instruções.

O ciclo de Execução

O ciclo de execução, ilustrado na Figura 1, corresponde às etapas realizadas pela CPU para que uma instrução seja buscada na memória, decodificada e executada.

Procedimento de busca e execução de instruções
Figura 1: Procedimento de busca e execução de instruções [2].

De modo geral, esse ciclo de execução é dividido em ciclos de máquina, sendo que cada ciclo de máquina é executado em 12 ciclos de clock. Além disso, cada ciclo de máquina é representado por um conjunto de estados nomeados de S1 à S6. Isso é mostrado na Figura 2, para o caso de uma instrução de 1 byte executada em 1 ciclo de máquina.

Ciclo de Execução no Intel 8051: Instruções de 1 byte - 1 ciclo
Figura 2: Instruções de 1 byte – 1 ciclo [1].

Conforme a Figura 3, existem ainda instruções de bytes que são executadas em 1 ciclo de máquina.

Ciclo de Execução no Intel 8051: Instruções de 2 bytes - 1 ciclo
Figura 3: Instruções de 2 bytes – 1 ciclo [1].

Portanto, com clock de 12 MHz a CPU pode alcançar 1 MIPS (para instruções de 1 ciclo), isto é, um milhão de instruções por segundo. Outras instruções, como indicado na Figura 4, necessitam de dois ciclos de máquina para serem executadas.

Ciclo de Execução no Intel 8051: Instruções de 1 byte - 2 ciclos
Figura 4: Instruções de 1 byte – 2 ciclos [1].

Interface com Memória Externa

Durante o processo de execução, a CPU emite sinais para realizar as operações de leitura e escrita das memórias. Quando a memória externa (RAM e/ou ROM) é utilizada, um circuito latch deve ser adicionado para compartilhar o PORT 0 do microcontrolador. Isso se faz necessário pois a mesma porta que é utilizada para determinar o endereço acessado também serve para as operações do barramento de dados. Além disso, o pino EA é utilizado para indicar se a memória de programa será interna ou externa. Já os sinais PSEN, RD e WR são utilizados para as operações nas memórias externas e, nos dois casos, o sinal ALE (Address Latch Enable) é utilizado para habilitar o latch.

  • Conexões da memória de programa externa.
Ciclo de Execução no Intel 8051: Conexão do 8051 com a memória de programa externa
Figura 5: Conexão do 8051 com a memória de programa externa [1].
  • Conexões da memória de dados externa.
Ciclo de Execução no Intel 8051: Conexão do 8051 com a memória de dados externa
Figura 6: Conexão do 8051 com a memória de dados externa [1].

Os diagramas ilustrados nas figuras 7, 8 e 9 exibem o estado dos sinais de controle para os casos onde a memória externa é utilizada. Considerando a memória de programa externa, a CPU determina o endereço de 16 bits que será acessado. Esse endereço tem seu byte menos significativo colocado no PORT 0, e o mais significativo no PORT 2. Nesse momento a CPU ativa o sinal ALE, fazendo com que o circuito latch armazene esses 8 bits. Assim, a CPU desativa o ALE e memória continuará com o endereço selecionado. Por fim, o sinal PSEN é habilitado e, nesse momento, o conteúdo (instrução) do endereço selecionado é colocado no barramento de dados, isto é, no mesmo PORT 0.

Sinais de controle durante o acesso da memória de programa.
Figura 7: Sinais de controle durante o acesso da memória de programa.

O mesmo vale para memória de dados. A única diferença é que no processo de leitura o conteúdo do barramento de dados não é uma instrução. Cabe ressaltar que para a memória de dados o sinal RD especifica a operação de leitura.

Sinais de controle durante o acesso de leitura da memória de dados externa.
Figura 8: Sinais de controle durante o acesso de leitura da memória de dados externa.

Na operação de escrita, após a especificação do endereço a CPU determina o dado que será gravado na memória. Essa operação é realizada quando o sinal WR é ativado.

Sinais de controle durante o acesso de escrita da memória de dados externa.
Figura 9: Sinais de controle durante o acesso de escrita da memória de dados externa.

Características Gerais de Operação

Para o sistema ser inicializado corretamente o pino de reset (RST) deve ser mantido em nível lógico 1 por pelo menos 2 ciclos de máquina (24 ciclos de clock). Na Figura 10 é mostrado um circuito comumente utilizado para reiniciar o microcontrolador no momento em que a alimentação é dada. Por um instante de tempo (circuito RC) o reset é mantido em 1 até que o capacitor fique carregado.

Circuito Power On Reset.
Figura 10: Circuito Power On Reset.

Após o reset, a CPU inicia sua execução a partir do endereço 0000H. Além disso, o sistema é configurado da seguinte maneira:

  • O banco de registrador 0 é selecionado;
  • O Stack Pointer é inicializado na posição 07H;
  • Os ports são inicializados com todos os bits em 1;
  • O conteúdo da memória RAM não é alterado.

Referências

  • [1] MCS® 51 Microcontroller Family User’s Manual.
  • [2] STALLINGS, W. Arquitetura e organização de computadores. Pearson Prentice-Hall, 8ª ed, São Paulo. 2010.
  • Crédito da Imagem Destacada.

Intel 8051

Arquitetura Intel 8051 Mapa de Memória no Intel 8051
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
Souza
Souza
05/11/2016 06:04

Acompanhando já cedo.
Vamos em frente.

Home » Software » Firmware » Ciclo de Execução no Intel 8051

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: