Você está na página 1de 25

Nível da Microarquitetura

Renato de Aquino Lopes


Nível da Microarquitetura
• Subconjunto de instruções da Máquina
Virtual Java.
• IJVM: contém apenas instruções inteiras.
• Lembrando que:
Nível da Arq. do Conj. Instru. (ISA)

Nível da Microarquitetura

Nível da Lógica Digital


Nível da Microarquitetura
• Nossa microarquitetura vai conter um
microprograma (em ROM) cuja função é buscar,
decodificar e executar as instruções IJVM.
• O modelo adotado no projeto da
microarquitetura será melhor entendido se
consideramos que estamos escrevendo um
programa em que cada instrução do nível ISA é
uma função a ser chamada pelo programa
principal.
Nível da Microarquitetura
• O microprograma tem um conjunto de
variáveis conhecida como estado do
computador e podem ser acessadas por
todas as funções.
• As instruções IJVM são pequenas e muito
simples de serem executadas.
Nível da Microarquitetura
• Caminho de Dados é a parte do
processador que contém a UAL e todas as
suas entradas e saídas.
• Os registradores do caminho de dados só
podem ser acessados no nível das
microinstruções.
MAR
F0Registradores
F1 ENA EN INVA Caminho de
INC Função
de Controle daB dados da
MDR SLL8 (Shift Left
Memória
Para/De 0 1– 1
Logical 0 Microarquitetura
0 0 A
Memória
PC
0 1 0 Lógico
Deslocamento 1 0 usada
0 B
Principal 0 1 1 Desloca 0 1a 0 ¬A
à Esquerda)
MBR 1 0da UAL
saída 1 1 1byte à0 0 ¬B
1 1 1
esquerda. 1 Controle
Sinais de 0 0 A+B
SPARC 1 1 Escrita do conteúdo do barramento
1 1 0 1 A+B+1
F0 SRA1 (Shift Right
C em um registrador
1 1 1–
Arithmetic 0 0 1 A+1
LV
F1 1 1 0
Deslocamento 1 do conteúdo
Habilitação 0 1do B + 1
registrador no barramento B
1 1 1
Aritmético 1
à Direita) 1 1 B-A
ENA CPP
1 1 a0
Desloca saída1da 1 0 B-1
ENB UAL
1 11bit para
1 a0direita 1 1 -A
TOS Conjunto de
INVA 0 0 1 1 0Registradores
0 A and B
Barramento C INC OPC
0 1 1 1 0de 320 Bits
A or B
0 Barramento
1 0 B0 0 0 0
H 0 1 0 0 0 1 1
A B 0 1 0 0 1 0 -1
6 N
Controle da UAL
UAL Z

2 Controle de Deslocamento
Deslocador
Temporização do Caminho de
Dados
• Unidade de tempo que o processador
utiliza para percorrer o caminho de dados.
• Este tempo pode ser melhor entendido se
considerarmos que cada unidade de
tempo pode ser subdividida em subciclos
implícitos com funções bem definidas.
Diagrama de Tempo de um ciclo do
Caminho de Dados
A saída do Os registradores são carregados
O ciclo do clock deslocador fica instantaneamente com o conteúdo do
começa aqui estável barramento C na transição positiva do
sinal de clock

Ciclo 1 Ciclo 2
Nesse momento o valor novo
armazenado no MPC é usado
Δw Δx Δy Δz para carregar o MIR com a
nova microinstrução

O MPC fica disponível durante esse tempo

Tempo de propagação
Estabelecimento da saída do deslocador
dos valores dos Carga de valores para os registradores
sinais que vão de H e no
alimentar o Barramento B Tempo para
caminho de dados operação da UAL
e do deslocador
Microinstruções
• Para controlar o caminho de dados
precisamos de 29 sinais, que podem ser
divididos em cinco grupos funcionais:
– 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;
Microinstruções
– 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.
Microinstruções
• Os valores desses 29 sinais de controle
especificam as operações a serem
executadas em um ciclo do caminho de
dados.
• Acrescentando-se os campos endereço e
desvio necessitamos então de 36 sinais
que podem ser assim divididos:
– Endereço: contém o endereço da próxima
microinstrução a ser potencialmente ativada;
Microinstruções
– Desvio: determina como a próxima
microinstrução será selecionada;
– UAL: especifica as funções da UAL e do
deslocador;
– Barramento C: seleciona qual ou quais
registradores serão carregados com o valor
que estiver no barramento C;
– Memória: especifica as funções da memória;
Microinstruções
– Barramento B: seleciona a entrada da
barramento B.
Formato da Microinstrução do MIC-1
Especifica as funções da Seleciona qual ou quais
Seleciona a entrada do
memóriabarramento B. O campo é registradores serão
Contém o endereço da próxima carregados com o valor
codificado conforme Determina como a próxima
Especifica as funções da que estiver no
microinstrução
descrevemos a ser
anteriormente potencialmente
microinstrução
UAL e será selecionada
de deslocador barramento C
ativada.

Bits 9 3 8 9 3 4
J J J S S F0 F1 E E I I H O T C LV S P M M W R F Barr
M A A L R N N N P O P P C D A R E E ame
N
NEXT_ADDRESS P M M L A A B V C C S P A R R I A T nto
C N Z 1 A R T D C B
8 C H
E

Barra
Endereço Desvio UAL Barramento C Memória mento
B
0 = MDR 3 = MBRU 6 = CPP
1 = PC 4 = SP 7 = TOS
2 = MBR 5 = LV 8 = OPC
9 a 15 Nenhum Registrador
Operação da Memória
• Nossa máquina pode se comunicar com a
memória de duas maneiras diferentes:
– Por intermédio de uma porta de memória de
32 bits, MAR (Memory Address Register).
– Por intermédio de outra porta de memória,
esta com 8 bits, MDR (Memory Data
Register).
Operação da Memória
• A combinação dos registradores
MAR/MDR é usada para ler/escrever
palavras de dados pertencentes ao nível
ISA.
• A combinação dos registradores PC/MBR
é usada para ler o programa executável
do nível ISA.
Controle da Microinstrução: a Mic1
• Como deve ser decidido qual dos sinais
de controle deve ser habilitados em cada
ciclo?
– Sequenciador: responsável por escalonar a
sequência de operações necessárias para a
execução de uma única instrução ISA
– O sequenciador produz dois tipos de
informações a cada ciclo
• O estado de cada sinal de controle no sistema
• O endereço da microinstrução que deve ser
executada em seguida
3
4
MAR Decodificador Memória só de Leitura
MDR 4-para-16 MPC: Registrador de
endereço
9
da memória de
PC MPC controle.
MIR: Armazena a
microinstrução corrente
MBR

SPARC
Memória de controle de
LV 512 x 36 para armazenar
o microprograma

CPP JMPC
MIR
TOS Addr J UAL C M B

OPC JAMN/JAMZ

Bit de mais 2
H
alta ordem
A
B N
Flip-flop de 1
bit

6
UAL Z
2
Deslocador
Conjuntos de Instruções IJVM

Você também pode gostar