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:
- 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.
- Quais as Funções dos bits de desvio JMPC, JAMZ, JAMN presentes em uma microinstrução?
Calcula a próxima microinstrução.
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
- 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
- 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
- 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?
- 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.
- ∆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.
- 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)?
- 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.
- 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.
- 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.
- 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ê.
- 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?
- 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 – 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
- I = 2*(J-K-6)
- 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