Organização Estruturada de Computador 

Aula7

O Nível da Microarquitetura - Parte I 




Nesta aula abordaremos com mais detalhes o nível da arquitetura que tem como função implementar a camada ISA situada acima dele. . 

O texto abaixo é um resumo das seções 4.1 e 4.2  do capítulo 4 do livro: Organização Estruturada de Computadores de Andrew S. Tanenbaum, 4a Edição, 2001. As figuras do texto foram obtidas do material disponibilizado na internet pelo autor desse mesmo livro.

Importante: O resumo abaixo deve ser complementado, pelo aluno, com a leitura do texto original do livro.


Tópicos


Introdução

 
Up

Um Exemplo de Microarquitetura


    As seções que seguem descrevem como é essa microarquitetura e como ela é controlada pelas microinstruções que forma o microprograma da IJVM

 
Up

O caminho de dados



4-1
Fig 4.1 O caminho de dados da microarquitetura usada neste capítulo

    O caminho de dados contém:
A função a ser executada pela UAL é determinada pelas 6 linhas de controle
Fo F1 ENA ENB INVA INC Função
O 1 1 O O O A
O 1 O 1 O O B
O 1 1 O 1 O A' (A negado)
1 O 1 1 O O B' (B negado)
1 1 1 1 O O A+B
1 1 1 1 O 1 A+B+1
1 1 1 O O 1 A+1
1 1 O 1 O 1 B+1
1 1 1 1 1 1 B-A
1 1 O 1 1 O B-1
1 1 1 O 1 1 -A
O O 1 1 O O A AND B
O 1 1 1 O O A OR B
O 1 O O O O O
O 1 O O O 1 1
O 1 O O 1 0 -1


Fig. 4.2 Combinações úteis dos sinais de controle da UAL com as funções executadas por cada uma delas.

Observações:

Temporização do caminho de dados


Questão:
        Um registrador pode ser lido e escrito no mesmo ciclo de clock sem produzir lixo?

Resposta:
        A temporização exata do caminho de dados torna possível a leitura e a escrita de um registrador no mesmo período de clock. Como isto é feito está mostrado na Figura 4.3


4-3
Fig 4.3 Diagrama de tempo de um dos ciclos do caminho de dados.


  1. Os sinais de controle são ativados (dw - leia delta w)
  2. O barramento B é carregado a partir dos registradores (dx)
  3. A UAL e o deslocador operam (dy)
  4. O resultado da operação da UAL e do deslocador se propaga através do barramento C em direção aos registradores (dz)

Operação da Memória


4-4
Fig 4.4 Mapeamento dos bits do MAR nos bits do barramento de endereço

 
Up

Microinstruções

    Para controlar um caminho de dados, como o da figura 4.1, precisamos de um conjunto de sinais de controle que atuam sobre os componentes do nível da lógica digital.

    Os valores desses sinais de controle especificam as operações a serem executadas em um ciclo do caminho de dados.

    A figura 4.5 mostra um possível formato para agrupar os bits de controle da nossa arquitetura em 6 grupos, e 36 sinais, assim divididos:
4-5
Fig 4.5 Formato da microinstrução do Mic-1


 
Up

Controle Microprogramado: o Mic-1

    Para  decidir quais dos sinais de controle devem ser habilitados em cada ciclo faz-se necessário a inclusão de um sequenciador em nossa arquitetura.

    O sequenciador:
    A figura 4.6 mostra o diagrama de blocos detalhado da microarquitetura de nossa máquina-exemplo, que receberá o nome de Mic-1.

    O diagrama de blocos tem 2 partes: O caminho de dados, à esquerda e a seção de controle, à direita.

    A memória de controle:
    As microinstruções não são executadas sequencialmente, como as instruções da memória principal. Cada microinstrução especifica explicitamente sua sucessora.

    O endereço da próxima microinstrução é guardado no registrador MPC (Microprogram Counter)

    O registrador de dados da memória de controle é chamado MIR (MicroInstruction Register). Sua função é armazenar a microinstrução corrente cujos bits alimentam os sinais de controle que operam o caminho de dados.


4-6

Fig 4.6 Diagrama de blocos completo do Mic-1, a máquina cuja microarquitetura é utilizada em nosso exemplo.


Operação do esquema mostrado na figura 4.6
  1. No início de cada ciclo (na descida do clock da fig 4.3) o MIR é carregado com o conteúdo do endereço armazenado no MPC. O tempo de carga do MIR é dw (leia delta w)
  2. Os sinais do MIR se propagam pelo caminho de dados, causando, no tempo dx:
  3. A UAL e o deslocador operam os dados de entrada, durante o tempo dy:
  4. As saídas da UAL e do deslocador são propagadas, durante o tempo dz, e
  5.  Na transição positiva do sinal de clock, da figura 4.3.
  6. O valor de MPC é atualizado (veja detalhes abaixo) no tempo de nível alto do clock.
  7. Volta ao passo 1 e o ciclo se repete até que alguem desligue a máquina.
A atualização do MPC é feita por:
            F=(JAMZ AND Z) OR (JAMN AND N) OR NEXT_ADDRESS[8]
     Assim os dois únicos valores que o MPC pode assumir são:
  1. O valor do campo NEXT_ADDRESS
  2. O valor do campo NEXT_ADDRESS com o bit de mais alta ordem submetido à operação OR com o valor 1.
Observação: O valor do campo NEXT_ADDRESS não mudará se JAMZ= JAMN=0. A figura 4.7 ilustra essa operação quando o bit JAMZ está ligado (=1)

4-7
         
        Figura 4.7 Microinstrução com JAMZ configurado para dois sucessores potenciais



 
Up