Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

SISTEMAS 
DIGITAIS
Diogo Braga da Costa Souza
Microprogramação
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 Reconhecer a estrutura da unidade de controle microprogramada.
 Identificar os conceitos de microprogramação.
 Descrever os passos das instruções na microprogramação.
Introdução
Máquinas de processamentos digitais são programadas por meio de 
instruções de hardware, ou seja, a programação determina as conexões 
dos componentes internos do dispositivo, como acontece nos disposi-
tivos lógicos programáveis (PLDs — Programmable Logic Devices). Já a 
microprogramação determina passos de execução de determinada tarefa 
sem que haja a necessidade do conhecimento total de todo o circuito de 
hardware utilizado pelo dispositivo que processa as instruções.
Neste capítulo, você vai conhecer a estrutura das unidades micropro-
gramadas e os conceitos de microprogramação.
Unidades de controle microprogramadas
As unidades de controle microprogramadas consistem em dispositivos pro-
gramados por meio de instruções que determinam a correta sequência de 
operação do controlador. Isso diminui a necessidade de um conhecimento 
muito amplo do hardware para a programação do dispositivo, como acontecia, 
por exemplo, em dispositivos lógicos programáveis. Essas unidades lógicas 
possuem o funcionamento geral conforme representado na Figura 1. Esses 
dispositivos são programados por instruções muito elementares chamadas 
microinstruções (TAUB, 1984).
C5_Microprogramacao.indd 1 14/06/2018 17:23:43
A IBM implementou a primeira unidade de controle microprogramada no 
computador IBM 360, em 1964. Nesse caso, era utilizada uma memória de 
controle rápido e barato.
Figura 1. Funcionamento geral de uma unidade de controle microprogramada.
Fonte: Adaptada de Rodrigues Neto (2009).
Como você pode ver na Figura 1, uma unidade de controle microprogra-
mada possui suas instruções armazenadas em um registrador que orienta a 
sequência correta de operação do controlador. Essas instruções são inseridas 
na unidade de controle e executadas de acordo com o ritmo determinado pelo 
dispositivo capaz de realizar a lógica sequencial. A memória do dispositivo 
Microprogramação2
C5_Microprogramacao.indd 2 14/06/2018 17:23:44
tem um papel essencial no funcionamento: nela são armazenadas todas as 
informações necessárias para que as operações não percam a sequência nem 
o sincronismo (TAUB, 1984).
Levando em consideração uma análise geral, as unidades de controle 
microprogramadas são formadas por:
  memória de controle sequência — armazena as instruções;
  sequenciador — garante a sequência de operação conforme o micro-
programa de instruções, além de ser o elemento que informa o local da 
próxima instrução a ser executada e guarda essa instrução no contador 
de programa;
  contador de programa — é o registrador que armazena a posição da 
próxima instrução a ser executada.
Observe a Figura 2, a seguir.
Figura 2. Estrutura de conexão entre a unidade de controle e a 
unidade lógica aritmética.
Fonte: Adaptada de Brito ([200-?]).
3Microprogramação
C5_Microprogramacao.indd 3 14/06/2018 17:23:44
Na Figura 2, você pode notar a interação da unidade de controle com o 
elemento de processamento ULA (Unidade Lógica e Aritmética). Os comandos 
a serem processados são enviados pela unidade de controle ao registrador, e 
os dados a serem aplicados às operações são acessados da memória auxiliar 
da ULA, conforme instrução de endereço dos dados enviada.
A ULA utiliza oito registradores para estabelecer o pleno funcionamento. 
Também utiliza dois barramentos que ligam os registradores a ela, como você 
pode ver na Figura 3 (TAUB, 1984).
Figura 3. Tráfego de informações na microarquitetura.
Fonte: Nível... [(201-?)].
A seguir, você pode ver o significado de cada uma das siglas da Figura 3.
  CP: Contador de Programa.
  AC: Acumulador, que recebe toda a resposta de operação.
  PP: Ponteiro de Pilha.
  RI: Registrador de Instrução.
Microprogramação4
C5_Microprogramacao.indd 4 14/06/2018 17:23:44
  RT: Registrador de armazenamento Temporário, utilizado para arma-
zenamento de dados temporários, como dados de decodificação de 
códigos de instruções.
  MASC: Máscara que possui a finalidade de extrair o operador de 
instrução.
  REM: Registrador de Endereço da Memória, que permite endereçar 
memória principal.
  RDM: Registrador de Dados da Memória, que armazena dados em 
transferências de e para a memória principal.
  Latches A e B: são os dois registradores que comunicam os outros oito 
à ULA, conectando-os por meio de dois barramentos A e B.
Atualmente existem linguagens de programação, denominadas de alto nível, em que 
instruções simples realizam diversas instruções de microprogramação, facilitando 
significativamente a elaboração de programas para aplicação em microcontroladores 
e processadores. Alguns tipos de linguagens de alto nível são: C/C++, Pascal, Java, 
entre outras.
Conceitos de microprogramação
Um microprograma é realizado por meio das operações de transferência 
entre os registradores. Nessa transferência, são enviadas as instruções que 
serão inseridas em uma unidade de controle para que ela realize a operação 
conforme solicitado. É utilizada uma representação simbólica das instruções 
a serem realizadas, sendo necessária a conversão dessa simbologia em um 
código binário para que o controlador “entenda” o código solicitado. A 
necessidade de uma simbologia de programação ocorre devido à difi culdade 
de programar um controlador por instruções binárias. A utilização do mi-
croprograma facilita a elaboração e a programação do elemento processador 
(STALLINGS, 2017).
Alguns termos são recorrentes na elaboração de microprogramas, como 
você pode ver a seguir.
5Microprogramação
C5_Microprogramacao.indd 5 14/06/2018 17:23:44
  Microinstrução — é a informação gravada na memória ROM do ele-
mento processador, que contém a micro-operação a ser executada pela 
unidade de controle.
  Micro-operação — é o sinal digital de informação da operação atual 
a ser realizada pelo elemento processador.
  Microprograma — é o conjunto de microinstruções para a realização 
do controle.
  Microrrotina — é o conjunto de microinstruções que realizam funções 
específicas no microprograma.
Para aprender mais sobre a arquitetura dos controladores e dos computadores, leia os 
capítulos 8 e 9 do livro Circuitos Digitais e Microprocessadores (TAUB, 1984).
Instruções de microprogramação
Considere as instruções de uma máquina de 16 instruções de 4 bits cada. As 
funções serão indicadas à ULA para que ela as execute em relação aos dados 
contidos em seus registradores de dados.
Instruções de transferência de dados: 
  LOAD X — carrega os dados no registrador;
  STOR X — carrega e armazena direto no registrador; 
  LOCO X — carrega o valor de uma constante no registrador.
Instruções aritméticas: 
  ADDD X — adiciona ao valor presente no registrador;
  SUBD X — subtrai do valor presente no registrador;
  ADDL X — adiciona o valor de uma memória ao valor presente no 
registrador;
  SUBL X — subtrai o valor de uma memória do valor presente no 
registrador.
Microprogramação6
C5_Microprogramacao.indd 6 14/06/2018 17:23:45
Instruções de desvio: 
  JUMP X — desvia para outro passo de operação que não seja o próximo;
  JZER X — desvia para outro passo de operação que não seja o próximo 
se a análise da variável for igual a zero;
  JNEG X — desvia para outro passo de operação que não seja o próximo 
se a análise da variável for negativa.
Instruções de procedimentos: 
  CALL X — chama procedimento para execução;
  RETN — retorna do procedimento para o próximo passo de operação.
Instruções de pilha: 
  PUSH — empilha;
  POP — desempilha.
Você pode observar os códigos binários referentes às operações na Figura 4.
Figura 4. Conjunto de instruções.
Fonte: Nível... [(201-?)].
7Microprogramação
C5_Microprogramacao.indd7 14/06/2018 17:23:45
Como exemplo de aplicação, considere a Figura 5. Ela contém um micro-
programa com as instruções de operação da ULA e seus devidos comentários. 
Utilizando as instruções, nota-se uma sequência de operação em que condições 
são estabelecidas para que a execução da próxima linha seja optada ou não, 
lembrando que a ULA é capaz de executar somente funções aritméticas simples 
e funções lógicas digitais (STALLINGS, 2017).
Figura 5. Exemplo de microprograma.
Fonte: Nível... [(201-?)].
Microprogramação8
C5_Microprogramacao.indd 8 14/06/2018 17:23:45
Para mais exemplos de linguagens aplicadas à programação de microcontroladores, 
leia Microcontroladores PIC18 com Linguagem C (ZANCO, 2013).
9Microprogramação
C5_Microprogramacao.indd 9 14/06/2018 17:23:47
BRITO, A. V. Estrutura de uma CPU. [200-?]. Disponível em: . Acesso em: 
13 jun. 2018.
NÍVEL de microprogramação. In: ARQUITETURA de computadores. [201-?]. Disponível 
em: . 
Acesso em: 12 jun. 2018.
RODRIGUES NETO, C. William Stallings organização de computadores digitais. 2009. 
Disponível em: . Acesso em: 12 jun. 2018.
STALLINGS, W. Arquitetura e organização de computadores. 10. ed. São Paulo: Pearson, 
2017.
TAUB, H. Circuitos digitais e microprocessadores. São Paulo: Makron Books do Brasil, 1984.
Leituras recomendadas
FLOYD, T. Sistemas digitais: fundamentos e aplicações. 9. ed. Porto Alegre: Bookman, 
2007. 
TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações. 11. ed. 
São Paulo: Pearson Prentice Hall, 2011.
TOKHEIM, R. Fundamentos de eletrônica digital: sistemas sequenciais. Porto Alegre: 
McGraw-Hill, 2013. v. 2.
VAHID, F. Sistemas digitais: projeto, otimização e hdls. Porto Alegre: Bookman, 2008.
ZANCO, W. S. Microcontroladores PIC18 com Linguagem C. São Paulo: Érica, 2013.

Mais conteúdos dessa disciplina