A maior rede de estudos do Brasil

Grátis
16 pág.
13 - Microprogramação

Pré-visualização | Página 1 de 2

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.
Figura

Crie agora seu perfil grátis para visualizar sem restrições.