23
William Stallings Organização de Computadores Digitais Capítulo 15 Controle microprogramado

William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

  • Upload
    lekhue

  • View
    235

  • Download
    1

Embed Size (px)

Citation preview

Page 1: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

William StallingsOrganização de Computadores Digitais

Capítulo 15Controle microprogramado

Page 2: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 3: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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.

Page 4: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 5: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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.

Page 6: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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.

Page 7: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto

Funcionamento de uma unidade de controle microprogramada

Page 8: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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.

Page 9: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 10: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 11: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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)

Page 12: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 13: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto

Diagrama da microprogramação

Page 14: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 15: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto

Diagrama da microprogramação

Page 16: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 17: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 18: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto

Unidade de controle

Page 19: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 20: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 21: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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

Page 22: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

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.

Page 23: William Stallings Organização de Computadores Digitais Controle... · OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto Controle Micro-programado:

OCD – Organização de Computadores Digitais - 2009 Prof. Camilo Rodrigues Neto

Leitura recomendada

o Stallings capítulo 15