Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nível de Nível de MicroarquiteturaMicroarquitetura (Parte 2) Prof.Minoru CCF210-Arq.e Org.de Computadores I 2 4.1.2 Microinstruções4.1.2 Microinstruções ● Para controlar o caminho de dados precisamos de 29 sinais, divididos em 5 grupos: ● 9 sinais para escrita de dados do barramento C ● 9 sinais para habilitar registradores do barramento B para entrada da ALU ● 8 sinais para controlar as funções da ALU e deslocador ● 2 sinais (não mostrados) para indicar leitura/escrita na memória via MAR/MDR ● 1 sinal (não mostrado) para indicar busca na memória via PC/MBR Prof.Minoru CCF210-Arq.e Org.de Computadores I 3 ● Após algumas análises vemos que no barramento B só poderá ter um único registrador habilitado por vez ● Temos um total de 9 registradores apenas, se tivéssemos 8 registradores poderíamos utilizar um decodificador 3 x 8 para selecionar um dos registradores, mas como são 9 registradores teremos que usar um decodificador 4 x 16, mesmo que tenhamos 7 saídas do decodificador sem utilização ● Com isso termos que o caminho de dados poderá ser controlado com 9 + 8 + 4 + 2 + 1 = 24 sinais ● Necessitamos de 2 campos adicionais, o campo NEXT_ADDRESS e o campo JAM, totalizando então 36 sinais Prof.Minoru CCF210-Arq.e Org.de Computadores I 4 Formato da microinstrução para a Mic-1. ● Addr – Endereço da próxima microinstrução ● JAM – Determina como a próxima microinstrução é selecionanda ● ULA – funções da ULA e deslocador ● C – Seleciona qual ou quais registradores serão escritos ● Mem – Funções de memória ● B – Seleciona a fonte do barramento B; é codificado como mostrado Prof.Minoru CCF210-Arq.e Org.de Computadores I 5 4.1.3 Controle de microinstrução: a Mic-14.1.3 Controle de microinstrução: a Mic-1 Diagrama de blocos completo de nosso exemplo de microarquitetura, a MIC-1. Prof.Minoru CCF210-Arq.e Org.de Computadores I 6 Microinstrução com JAMZ ajustado para 1 tem duas sucessoras potenciais. Prof.Minoru CCF210-Arq.e Org.de Computadores I 7 4.2 Exemplo de ISA: IJVM4.2 Exemplo de ISA: IJVM Pilhas Uso de uma pilha para armazenar variáveis locais. a) Enquanto A está ativo. c) Após B chamar C. b) Após A chamar B. d) Após C e B retornarem e A chamar D. Prof.Minoru CCF210-Arq.e Org.de Computadores I 8 Utilização de uma pilha de operandos para efetuar um cálculo aritmético. Prof.Minoru CCF210-Arq.e Org.de Computadores I 9 4.2.2 Modelo de memória IJVM4.2.2 Modelo de memória IJVM ● As seguintes áreas de memória são definidas: 1.O conjunto de constantes: esta área não pode ser escrita por um programa IJVM e consiste em constantes, cadeias e ponteiros para outras áreas de memória. O registrador que controla esta área é o CPP que contém o endereço da primeira palavra do conjunto de constantes. 2.Quadro de variáveis locais: para cada invocação de um método é alocado uma área para armazenar variáveis durante o tempo de invocação, denominado quadro de variáveis locais. Não inclui pilha de operandos. O registrador que controla essa área é o LV. Prof.Minoru CCF210-Arq.e Org.de Computadores I 10 3.A pilha de operandos: é garantido que o quadro não exceda um determinado tamanho, calculado antecipadamente pelo compilador Java. O espaço da pilha de operandos é colocado diretamente acima do quadro de variáveis. O registrador que controla o topo da pilha é o SP. 4.Área de método: há uma região de memória que contém o programa. O registrador que controla essa área é o PC. Prof.Minoru CCF210-Arq.e Org.de Computadores I 11 As várias partes da memória IJVM. Prof.Minoru CCF210-Arq.e Org.de Computadores I 12 4.2.3 O conjunto de instruções IJVM4.2.3 O conjunto de instruções IJVM O conjunto de instruções IJVM. Os operandos byte, const, e varnum são 1 byte. Os operandos disp, index, e offset são 2 bytes. Prof.Minoru CCF210-Arq.e Org.de Computadores I 13 a) Memória antes de executar INVOKEVIRTUAL. b) Após executá-la. Prof.Minoru CCF210-Arq.e Org.de Computadores I 14 a) Memória antes de executar IRETURN. b) Após executá-la. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14
Compartilhar