Buscar

13 - Microprogramação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS 
DIGITAIS 
Diogo Braga da 
Costa Souza 
C5_Microprogramacao.indd 12 14/06/2018 17:23:48
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).
U N I D A D E 3
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.
Figura4. Conjunto de instruções.
Fonte: Nível... [(201-?)].
7Microprogramação
C5_Microprogramacao.indd 7 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).
1. Em relação às unidades de 
controle microprogramadas, 
assinale a alternativa correta.
a) São unidades de processamento 
do controlador, sendo 
que executam somente 
as operações lógicas.
b) São unidades de processamento 
do controlador, sendo que 
executam as operações 
lógicas e aritméticas.
c) São elas que determinam a 
unidade lógica aritmética 
e a sequência de operação 
a ser executada, de acordo 
com a sequência do 
microprograma realizado.
d) São elas que armazenam todos 
os dados de processamento 
de forma dinâmica, sendo 
consideradas também um 
tipo de memória volátil.
e) São unidades de processamento 
do controlador, sendo 
que executam somente as 
operações aritméticas.
2. Assinale a alternativa correta a 
respeito dos registradores utilizados 
pela ULA para seu processamento.
a) O registrador AC recebe 
a resposta de todos os 
cálculos executados.
b) O registrador RI endereça 
a memória principal.
c) O registrador MASC extrai 
os dados de instrução 
para a leitura da ULA.
d) O registrador CP aponta a 
posição da pilha de memória.
e) No registrador REM, fica 
armazenada a informação 
da proxima instrução 
a ser executada.
3. Levando em consideração as 
subfunções da unidade de controle 
microprogramada, há a memória 
de controle, o sequenciador e o 
contador de programa. Assinale a 
alternativa correta a respeito deles.
a) A memória de controle indica 
a próxima instrução a ser 
executada, o sequenciador 
armazena os dados das 
instruções do microprograma 
descarregado e o contador 
de programa informa a 
posição em que se encontra 
a instrução a ser executada.
9Microprogramação
C5_Microprogramacao.indd 9 14/06/2018 17:23:47
b) A memória de controle indica 
a próxima instrução a ser 
executada, o sequenciador 
informa a posição em que 
se encontra a instrução a 
ser executada e o contador 
de programa armazena os 
dados das instruções do 
microprograma descarregado.
c) A memória de controle informa 
a posição em que se encontra 
a instrução a ser executada, o 
sequenciador indica a próxima 
instrução a ser executada e o 
contador de programa armazena 
os dados das instruções do 
microprograma descarregado.
d) A memória de controle armazena 
os dados das instruções do 
microprograma descarregado, o 
sequenciador indica a próxima 
instrução a ser executada e o 
contador de programa informa 
a posição em que se encontra 
a instrução a ser executada.
e) A memória de controle armazena 
os dados das instruções do 
microprograma descarregado, o 
sequenciador informa a posição 
em que se encontra a instrução 
a ser executada e o contador 
de programa indica a próxima 
instrução a ser executada.
4. Em relação aos conceitos da 
microprogramação, marque 
a alternativa correta.
a) Microinstrução consiste em um 
conjunto de micro-operações 
que realizam uma função 
específica de processamento.
b) Micro-operação consiste 
em uma microinstrução 
decodificada em um sinal digital 
de forma a ser executada.
c) A micro-operação é uma forma 
sinmbólica de representação 
de uma microinstrução.
d) Um microprograma consiste em 
um conjunto de microrrotinas. 
e) Microrrotina consiste no 
conjunto de microinstuções, 
não executando funções 
específicas no processador.
5. Para a implementação de uma soma 
consecutiva em um microprograma, 
se deve utilizar a função:
a) ADDD
b) LOCO
c) RETN
d) CALL
e) SUBD
Microprogramação10
C5_Microprogramacao.indd 10 14/06/2018 17:23:48
BRITO, A. V. Estrutura de uma CPU. [200-?]. Disponível em: <http://producao.virtual.
ufpb.br/books/edusantana/old-arq/livro/livro.chunked/index.html>. Acesso em: 
13 jun. 2018.
NÍVEL de microprogramação. In: ARQUITETURA de computadores. [201-?]. Disponível 
em: <https://www.dca.ufrn.br/~pablo/FTP/arq_de_comp/apostilha/capitulo5.pdf>. 
Acesso em: 12 jun. 2018.
RODRIGUES NETO, C. William Stallings organização de computadores digitais. 2009. 
Disponível em: <http://www.each.usp.br/camiloneto/ocd/2009ocd_cp_15%20Con-
trole%20microprogramado.pdf>. 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.
11Microprogramação
C5_Microprogramacao.indd 11 14/06/2018 17:23:48
http://producao.virtual/
http://ufpb.br/books/edusantana/old-arq/livro/livro.chunked/index.html
https://www.dca.ufrn.br/~pablo/FTP/arq_de_comp/apostilha/capitulo5.pdf
http://www.each.usp.br/camiloneto/ocd/2009ocd_cp_15%20Con-
 
Encerra aqui o trecho do livro disponibilizado para 
esta Unidade de Aprendizagem. Na Biblioteca Virtual 
da Instituição, você encontra a obra na íntegra.
Conteúdo:

Outros materiais