Buscar

UNIDADE 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 26 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 26 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 26 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

Microprogramação
APRESENTAÇÃO
Seja bem-vindo! 
Máquinas de processamento digital 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 dispositivos PLDs, vistos anteriormente. Já a microprogramação determina passos 
de execução de uma determinada tarefa, sem que haja a necessidade do conhecimento total de 
todo o circuito de hardware utilizado pelo dispositivo que processa as instruções.
Nesta Unidade de Aprendizagem você conhecerá a estrutura das unidades microprogramadas e 
será apresentado aos conceitos de microprogramação. Além disso, você irá estudar os passos das 
instruções na microprogramação.
Bons estudos.
Ao final desta Unidade de Aprendizagem, 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.•
DESAFIO
Você foi contratado para desenvolver um microprograma para o atendimento de uma aplicação 
em um processo de produção automobilística. No desenvolvimento dessa programação por 
microinstruções, foi necessária a utilização das seguintes instruções: 
- Armazenar diretamente o valor presente no acumulador em uma memória. 
- Desviar a sequência de execução da programação para outro ponto se a variável analisada 
possuir valor negativo. 
- Carregar um valor direto no acumulador, para que uma operação seja realizado com este. 
- Subtrair um determinado valor direto do valor armazenado no acumulador. 
- Retornar ao início do programa.
Responda: quais são as funções necessárias para desenvolver essa programação?
INFOGRÁFICO
Você sabe como se dá o funcionamento de uma unidade de controle? No Infográfico a seguir, 
você verá um esquema desse processo, além disso, verá também suas principais funções em 
relação ao processamento do componente.
CONTEÚDO DO LIVRO
Unidades de controle microprogramadas são dispositivos programados por meio de instruções 
que determinam a correta sequência de operação de um controlador, diminuindo assim a 
necessidade de um conhecimento muito amplo do hardware para a programação de um 
dispositivo. É importante destacar que 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.
Para compreender melhor este assunto, leia o capítulo Microprogramação, da obra Sistemas 
digitais. Neste texto, você será apresentado às unidades de controle de processamento de 
processadores, e lembre-se: são elas as responsáveis por instruir ao elemento processador qual a 
próxima instrução a ser realizada. Você também irá saber mais sobre as características e 
instruções de um microprograma, além de aprender sobre os conceitos de microprogramação.
Boa leitura.
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, 
entreoutras.
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.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: fundamentose 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
 
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:
 
DICA DO PROFESSOR
Microprogramas têm características bastante específicas, que os diferenciam de outros tipos de 
aplicações. Nesta Dica do Professor você verá as caracteristicas básicas de um microprograma, 
além de ser apresentado a algumas microinstruções de um determinado controlador. 
Confira.
Conteúdo interativo disponível na plataforma de ensino!
 
EXERCÍCIOS
1) Em relação às unidades de controle microprogramadas, é correto afirmar que:
A) são unidades de processamento do controlador que executam somente as operações 
lógicas.
B) são unidades de processamento do controlador que executam as operações lógicas e 
aritméticas.
C) são elas que determinam a unidade lógica aritmética, qual 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, 
consideradas também um tipo de memória volátil.
E) são unidades de processamento do controlador que executam somente as operações 
aritméticas.
2) Tratando-se dos registradores utilizados pela ULA para seu processamento, marque 
a opção correta.
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 próxima instrução a ser executada.
3) Levando em consideração as subfunções da unidade de controle microprogramada, 
temos a memória de controle, o sequenciador e o contador de programa, onde:
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 onde se encontra a instrução a ser executada.
B) a memória de controle indica a próxima instrução a ser executada, o sequenciador informa 
a posição onde 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 onde 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 onde 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 onde 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 relacionados em 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 conforme uma sequência e ritmo estabelecido.
C) A micro-operação é uma forma simbólica de representação de uma microinstrução.
D) Um microprograma consiste em um conjunto de microrrotinas.
E) Microrrotina consiste no conjunto de microinstruçõ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.
NA PRÁTICA
Os dispositivos microprogramáveis garantem uma flexibilidade de aplicação, porém 
atualmente os programas que determinam as instruções ao dispositivo de controle utilizam 
linguagens de alto nível, ou seja, o usuário utiliza uma linguagem de fácil interpretação e 
atuação. Para que isso seja possível, é necessária a utilização de compiladores de códigos que 
convertem as instruções de alto nível em microinstruções.
Conteúdo interativo disponível na plataforma de ensino!
SAIBA +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Unidade de controle
A seguir confira videoaula que traz uma apresentação em forma de trabalho das unidades de 
controle, sua função e suas subpartes.
Conteúdo interativo disponível na plataforma de ensino!
Arquitetura de computadores: classificação do conjunto de instruções
Você sabe o que é arquitetura de computadores? Confira a seguir vídeo que leva em 
consideração as especificidades do hardware em relação às instruções executadas.
Conteúdo interativo disponível na plataforma de ensino!
Microcontrolador
Assista a seguir a vídeo que aborda o microcontrolador, levando em consideração seu 
funcionamento. Este microcontrolador utiliza as instruções descritas no capítulo, mas sua 
programação comumente é feita por meio de programações de alto nível, o que torna necessária 
a utilização de compiladores, os quais convertem esta linguagem para as microinstruções do 
processador.
Conteúdo interativo disponível na plataforma de ensino!

Continue navegando