Upload
lekhue
View
235
Download
1
Embed Size (px)
Citation preview
William StallingsOrganização de Computadores Digitais
Capítulo 15Controle microprogramado
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Controle Micro-programado:introdução
o Microprograma: conceito proposto por M. Wilkesem 1951
o Consistia de una Unidade de Controle simples (em contraposição à complexidade das implementações por hardware)
o Entretanto, necessitava de memórias (de controle) rápidas e baratas, o que impediu a adoção imediata
o Em 1964 existiam várias experimentos, mas a microprogramação era pouco utilizada
o Sistema 360 da IBM era microprogramado (exceto as máquinas de grande porte)o Anterior ao surgimento da memória ROM
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Controle Micro-programado:conceitos básicos
A implementação da Unidade de Controle a partir de elementos lógicos básicos não é simples.
A Unidade de Controle necessita incluir lógica de seqüenciamento para:
o executar as microoperações;o interpretar os códigos de operação;o tomar decisões baseadas na condição da ULA.
Além da dificuldade de implementar e testar tal UC, o projeto é pouco flexível, pois é difícil alterá-lo para incluir uma nova (micro)instrução.
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Controle Micro-programado:conceitos básicos
Considere o Ciclo de busca
Temporização Sinais de controle ativoso t1: MAR <- (PC) C2o t2: MBR <- (memory) C5, Cr
PC <- (PC) +1o t3: IR <- (MBR) C4
Temos microoperações à esquerda e sinais de controle àdireita.
As microoperações são escritas em linguagem de microprogramação.
Seqüência de microinstruções é um microprograma ou firmware
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Controle Micro-programado:conceitos básicos
O termo firmware reflete o fato de que um microprogramaé um meio termo entre software e hardware (firm: notsubject to change or revision):
o é mais fácil projetar um firmware do que um hardware;o mas é mais difícil escrever um programa de firmware do
que um de software.
Como implementar a Unidade de Controle utilizando microprogramação?
Utiliza-se de seqüências de microinstruções para controlar operações complexas.
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Implementação (1)
o Tudo que a unidade de controle faz é gerar um conjunto de sinais de controle.
o Cada sinal de controle estará on ou offo Nesta abordagem (e também na anterior) cada sinal
de controle é representado por um bit.o Cada microoperação necessita de uma palavra de
controle.o Cada instrução em código de máquina será executada
por uma seqüência de palavras de controle (firmware).o Incrementa-se um certo endereço para especificar a
próxima microinstrução.
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Funcionamento de uma unidade de controle microprogramada
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Memória de Controle
A memória de controle mostrada na figura anterior é uma descrição concisa da operação da unidade de controle.
Ela define a seqüência de microoperaçõesefetuadas durante cada ciclo (busca, busca indireta, execução e interrupção) e especifica a ordem na qual esses ciclos ocorrem.
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Implementação (2)
o Como são os grandes microprocessadores de hoje?o Têm muitas instruções e registradoreso Têm muitos pontos de controle para permitir um fluxo de dados adequado
o Características da memória de controle:o Contém um grande número de palavras, correspondendo ao número de microinstruções que precisam ser executadas
o As palavras devem ser largas o suficiente (muitos bits) para controlar adequadamente o fluxo de dados
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
O comprimento da palavra do Microprograma
o Baseado em 3 fatores:o no máximo número de micro-operações simultâneas que devem ser suportadas pelo sistema
o na maneira que a informação de controle é representada ou codificada
o na maneira que o endereço da próxima micro-instrução é especificada
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Tipos de microinstruções
o Cada microinstrução especifica uma única microoperação a ser realizadao (microprogramação vertical)
o Cada microinstrução especifica diversas microoperações que devem ser realizadas em paraleloo (microprogramação horizontal)
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Microprogramação vertical
o A largura da palavra é mais estreitao n sinais de controle são codificados por log2(n) bits
o Habilidade limitada para trabalhar com paralelismo
o Em certas condições, é necessário um decodificador externo da palavra de controlepara especificar as linhas de controle necessárias às microoperações
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Diagrama da microprogramação
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Microprogramação horizontal
o A largura da palavra é maioro Alto grau de operações paralelaso Pouca codificação da informação de controle
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Diagrama da microprogramação
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Solução de compromisso
o Divide os sinais de controle em grupos disjuntos
o Implementa cada grupo em campos separados da palavra da memória
o Suporta um razoável nível de paralelismo sem muita complexidade
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Organização da memória de controle
Funcionamento de uma unidade de controle microprogramada
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Unidade de controle
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Vantagens e desvantagens:firmware x hardwired
o Vantagens: Simplifica o projeto da unidade de controle, tornando-a:o mais baratao menos susceptível a erros
o Desvantagens: É mais lentao A microprogramação é a técnica predominante
para implementação de unidades de controle de máquinas CISC, devido à facilidade de projeto
o As máquinas RISC, com seu formato de instrução mais simples, tipicamente utilizam unidades de controle implementadas em hardware
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Tarefas executadas pelas unidades de controle microprogramadas
o Seqüenciamento das microinstruções: buscar a próxima microinstrução da memória de controle
o Execução das microinstruções: gerar os sinais de controle necessários para executar a microinstrução
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Aplicações da microprogramação
Desde o final dos anos 60, as aplicações da microprogramaçãotem crescido
Aplicações da microprogramação:o Implementação de computadores (unidade de controle)o Emulação: uso de microprograma em uma máquina para
executar programas originalmente escritos para outra máquinao Auxiliar usuários na migração de um computador antigo para outro mais novo
o Emular em 1983 com um IBM 370/S o IBM 1401, descontinuado em 1968)
o Suporte ao sistema operacional: substituindo com o microprograma parte do software, simplificando ou otimizando o SO
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Aplicações da microprogramação
Aplicações da microprogramação:o Implementação de dispositivos de propósito especial, que podem
ser incorporados em um computador hospedeiro:o e.g., uma placa de comunicação de dados em geral contém seu próprio microprocessador, mas um computador utilizado para um propósito especial pode ter o firmware alterado para que ele opere como uma placa de comunicação
o Suporte para linguagem de alto nível: várias funções e tipos de dados podem ser diretamente implementados em firmware, tornando mais eficiente o programa em código de máquina.
o Microdiagnóstico: permite o suporte para monitoração, detecção, isolamento e reparo de erros do sistema, e.g. no caso de um multiplicador especial falhar
o Adequação ao usuário: algumas máquinas têm a memória de controle implementada em RAM e não em ROM, possibilitando ao usuário escrever microprogramas.
OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto
Leitura recomendada
o Stallings capítulo 15