Arquitetura e Organização de Computadores: Guia Completo do MIC-1

Enviado por macbriene e classificado em Computação

Escrito em em português com um tamanho de 10,38 KB

Componentes Principais do MIC-1

Basicamente o caminho de dados de MIC-1 é constituído por três componentes principais. Quais são estes componentes e quais as funções de cada um?

UAL – Opera instruções de uma microinstrução (F0 e F1 para determinação de operação, ENA e ENB para habilitar individualmente suas entradas A e B, INVA para inverter a entrada de A, INC que força um vem-um para o bit menos significativo (incremento de 1).

Registradores – Executa as microinstruções.

Barramento – Transporta as microinstruções.

Memória de Controle e Limitações do MIC-1

Qual a função da memória de controle presente na unidade de controle do MIC-1? Quais as limitações do MIC-1 quando comparado ao MIC-2?

Controlar e guardar as microinstruções dentro da ULA. MPC (guardar) e MIR.

Limitações – MIC-2 contém unidade de busca de instrução (IFU), um sinal de habilitação a mais e todos os registradores tem saída para o barramento A.

Microinstruções e Subciclos de Clock

Referente ao MIC-1, responda:

  1. O que é uma microinstrução? Quantos bits tem uma microinstrução?

Conjunto de sinais de controle que atuam sobre os componentes da lógica digital, contém 36 bits.

  1. Quais as Funções dos bits de desvio JMPC, JAMZ, JAMN presentes em uma microinstrução?

Calcula a próxima microinstrução.

  1. Para que servem os subciclos nos quais o clock é dividido?

    (DELTAW) – Ativar sinais de controle

    (DELTAX) – Carrega o barramento B a partir dos registradores

    (DELTAY) – A UAL e o deslocador operam

    (DELTAZ ) – Resultado da operação e do deslocador de propaga através do barramento C em direção dos registradores.

Funções dos Registradores

  1. Descreva a função dos seguintes registradores PC, SP, MBR, MPC, MIR E TOS.

PC – indica a próxima instrução

SP – Indica o endereço do topo da pilha

MBR – Armazena o código de operação

MPC – Indica o próximo endereço

MIR – Indica qual o registrador

TOS - Guardar o valor do topo da pilha

Comunicação com a Memória

IDVM tem das formas de se comunicar com a memória

        Porta de 32 bits (palavra)

                MAR

                MDR

        Porta de 8 bits (Byte)

                PC

                MBR

Controle do Caminho de Dados

Addr – Contem endereço de uma pontecial microinstrução seguinte;

JAM – Determine como a próxima microinstrução é selecionada;

ULA – Funções da ULA e do deslocador;

C – Seleciona quais registradores são escritos a partir do barramento;

Mem – Funções de memória;

S – Seleciona a ponte do barramento B.

Projeto da Microarquitetura

  1. Descreva, resumidamente, de quais fatores depende o projeto do Nível da Microarquitetura.

O projeto do nível microarquitetura depende da arquitetura do conjunto das instruções a serem implementadas, bem como dos objetivos de custo e performance do computador que estiver sendo projetado.

Composição e Funcionalidades do MIC-1

Qual a composição básica e quais as funcionalidades dos elementos que forma o Mic-1

  1. Endereço, composto por 9 bits (NEXT_ADRESS). Desvio, composto por 9 bits (JMPC, JAMN, JAMZ). Os bits destes dois grupos são responsáveis pela seleção da próxima microinstrução. UAL, 8 bits (SLL8, SRA1, F0, F1, ENA, ENB, INVA, INC). Este grupo de bits faz a seleção das funções da UAL e do deslocador. Barramento C, com 9 bits (H, OPC, TOS, CPP, LV, SPARC, PC, MDR, MAR). Este grupo de bits permite que cada registrador, individualmente, possa armazenar o conteúdo da UAL, por intermédio do Barramento C. Memória de 3 bits, (WRITE, READ, FETCH). Este grupo controla as operações da memória. Barramento B de 4 bits, são responsáveis por alimentar o decodificador que determina o conteúdo do barramento B.

Leitura e Escrita de Registradores

Um registrador pode ser lido e escrito no mesmo ciclo do clock sem produzir lixo, por que?

  1. Sim. 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.

Subciclos do Caminho de Dados

Descreva o que ocorre durante cada subciclo em um ciclo do caminho de dados.

  1. ∆w - Os sinais de controle são ativados; ∆x - O barramento B e carregado a partir dos registradores; ∆y - A UAL e o deslocador operam; ∆z - O resultado da operação UAL e do deslocador se propaga através do barramento C em direção aos registradores.

Pares de Registradores

Cite todos os pares de registradores do MIC-1 para tratar dados, endereços e microinstruções. Diferencie-os.

  1. MAR / MDR - registradores para ler e escrever palavras de dados;
    PC / MBR – registradores leem instruções no programa executável.

Função da Microinstrução

Qual o objetivo de uma microinstrução? Descreva a função dos sinais que compõem uma palavra de controle (microinstrução)?

  1. O objetivo é controlar o caminho de dados com 29 sinais, sendo, 9 sinais para controlar a escrita de dados do barramento C nos registradores; 9 sinais para controlar a habilitação da saída dos registradores para o barramento B, para compor as entradas da UAL; 8 sinais para controlar as funções da UAL e do deslocador; 2 sinais para indicar leitura/escrita da memória por intermédio dos registradores MAR/MDR; 1 Sinal para indicar a busca na memória por intermédio dos registradores PC/MBR;

Artifício do MAR

O fato de o MAR trabalhar com palavras enquanto a memória física trabalha com bytes é suportado por um artifício muito interessante. Explique.

  1. Mapeamento dos bits MAR nos bits do barramento de endereço. Quando MAR = 1 vai aparecer o endereço 4, quando MAR = 2 vai aparecer o endereço 8 e assim por diante.

Divisão da Memória em IJVM

Como a arquitetura IJVM dividi a memória? Caracterize cada uma das partes.

  1. O Pool de Constantes não pode ser escrita pelos programas IJVM, além de conter constantes, strings e ponteiros para endereços de memória. O Quadro de Variáveis Locais, no início guarda valores dos parâmetros do procedimento chamado, e o registrador LV contém o endereço da primeira posição do quadro de variáveis locais. A Pilha de Operandos fica imediatamente acima do quadro de variáveis locais, e o registrador SP armazena o endereço do topo da pilha e muda de valor durante a execução do procedimento. A Área do Procedimento é a região de memória que armazena o programa, e o registrador PC aponta para o endereço da instrução que deve ser buscada em seguida.
  1. 011011

F0 F1 ENA ENB INVA INC

1 1 0 1 1 1

B+2

Controle do Barramento B e C

Na figura 2 o campo da microinstrução que controla o acesso ao barramento B está codificado em 4 bits. Mas o campo do barramento C é controlado por um mapa de bits (cada sinal de controle é representado por um bit da microinstrução). Explique por quê.

  1. O barramento C envia um sinal de 1 bit para cada registrador de forma paralela, enquanto o barramento B possui um decodificador que converte o código binário de 4bits em hexadecimal.

Campo JMPC e NEXT_ADRESS

Quando o campo JMPC de microinstrução é habilitado, o conteúdo do MBR passa pela função OR (caixa com um circulo) junto com o campo NEXT_ADDRESS para formar o endereço da próxima microinstrução. Existe alguma circunstancia na qual faz sentido o campo NEXT_ADRESS ser igual a 0x1ff e usar JMPC?

  1. Quando a JMPC for igual a 1, os 8 bits menos significativos da NEXT_ADRESS é zero. O bit de de mais alto ordem pode ser 0x000 ou 0x100.

Exemplo de Código IJVM

I= J+K

IF (1==3)

     I = 0

     K=0

else

     J = j -1

1 - ILOAD j
2 - ILOAD k

3 – IADD

4 – ISTORE i

5 – ILOAD i

6 – BIPUSH 3

7 – if _ ICMPEQ L1

8 – ILOAD j

9 – BIPUSH 1

10 – ISUB

11 – ISTORE j

12 – GOTO L2

13 – L1: BIPUSH 0

14 – ISTORE k

15 – BIPUSH 0

16 – ISTORE 1


i = j + k + 4

  1. 1 – ILOAD j                        1 – ILOAD k
    2 – ILOAD k                        2 – BIPUSH 4
    3 – IADD                          3 - IADD
    4 – BIPUSH 4                   4 – ILOAD j
    5 - IADD                         5 - IADD
    6 – ISTORE i                    6 – ISTORE i

ILOAD J

ILOAD K

ISUB

BIPUSH 6

ISUB

DUP

IADD

ISTORE I

  1. I = 2*(J-K-6)
  2. 1 – ILOAD j 5 instruções
    2 – ILOAD k 5 instruções
    3 – IADD 3 instruções
    4 – ISTORE i 6 instruções
    5 – ILOAD i 5 instruções
    200 mhz
    1 instrução = 1/1200 us
    = 0.0005 ns
    0.0005 + 2
    = 0 .105 = 105.10-1

Entradas relacionadas: