Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nível da Microarquitetura Capítulo 4 © 2007 by Pearson Education O caminho de dados (1) Caminho de dados usado como exemplo de microarquitetura neste capítulo. © 2007 by Pearson Education O caminho de dados (2) Combinações úteis de sinais da ULA e funções executadas. © 2007 by Pearson Education Temporização do caminho de dados Diagrama de temporização de um ciclo do caminho de dados. © 2007 by Pearson Education Operação da memória Mapeamento dos bits em MAR para o barramento de endereço. © 2007 by Pearson Education Microinstruções Formato da microinstrução para a Mic-1. © 2007 by Pearson Education Controle de microinstrução: a Mic-1 (1) Diagrama de blocos completo de nosso exemplo de microarquitetura, a MIC-1. © 2007 by Pearson Education Controle de microinstrução: a Mic-1 (2) Microinstrução com JAMZ ajustado para 1 tem duas sucessoras potenciais. © 2007 by Pearson Education Pilhas (1) 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. © 2007 by Pearson Education Pilhas (2) Utilização de uma pilha de operandos para efetuar um cálculo aritmético. © 2007 by Pearson Education Modelo de memória IJVM As várias partes da memória IJVM. © 2007 by Pearson Education O conjunto de instruções IJVM (1) 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. © 2007 by Pearson Education O conjunto de instruções IJVM (2) Memória antes de executar INVOKEVIRTUAL. Após executá-la. © 2007 by Pearson Education O conjunto de instruções IJVM (3) Memória antes de executar IRETURN. Após executá-la. © 2007 by Pearson Education Compilando Java para IJVM (1) Fragmento de código Java. Linguagem de montagem Java correspondente. Programa IJVM em hexadecimal. © 2007 by Pearson Education Pilha após cada instrução do slide anterior. Compilando Java para IJVM (2) © 2007 by Pearson Education Microinstruções e Notação Todas as operações permitidas. Qualquer uma das operações anteriores pode ser extendida somando ‘‘<< 8’’ a elas para deslocar o resultado para a esquerda por um byte. Por exemplo, uma operação comum é H = MBR << 8 © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (1) Microprograma para a Mic-1 © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (2) Microprograma para a Mic-1 © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (3) Microprograma para a Mic-1 © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (4) Microprograma para a Mic-1 © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (5) Microprograma para a Mic-1 © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (6) O formato da instrução BIPUSH. ILOAD com um índice de 1 byte. WIDE ILOAD com um índice de 2 bytes. © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (7) Seqüência inicial de microinstruções para ILOAD e WIDE ILOAD. Os endereços são exemplos. © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (8) A instrução IINC tem dois campos de operando diferentes. © 2007 by Pearson Education Implementação da IJVM usando a Mic-1 (9) Situação no início de várias microinstruções. a) Main1. b) goto1. c) goto2. d) goto3. e) goto4. © 2007 by Pearson Education Velocidade contra custo Reduzir o número de ciclos de relógio necessários para executar uma instrução. Simplificar a organização de modo que o ciclo de relógio possa ser mais curto. Sobrepor a execução de instruções. © 2007 by Pearson Education Incorporação do laço do interpretador ao microcódigo (1) Seqüência original do microprograma para executar POP. © 2007 by Pearson Education Seqüência de microprograma melhorada para executar POP. Incorporação do laço do interpretador ao microcódigo (2) © 2007 by Pearson Education Arquitetura de três barramentos (1) Código Mic-1 para executar ILOAD. © 2007 by Pearson Education Código de três barramentos para executar ILOAD. Arquitetura de três barramentos (2) © 2007 by Pearson Education Unidade de busca para a Mic-1. Arquitetura de três barramentos (3) © 2007 by Pearson Education Máquina de estado finito para implementar a IFU. Arquitetura de três barramentos (4) © 2007 by Pearson Education Caminho de dados para a Mic-2. Arquitetura de três barramentos (5) © 2007 by Pearson Education Projeto com paralelismo: a Mic-3 (1) Microprograma para a Mic-2 © 2007 by Pearson Education Projeto com paralelismo: a Mic-3 (2) Microprograma para a Mic-2 © 2007 by Pearson Education Projeto com paralelismo: a Mic-3 (3) Microprograma para a Mic-2 © 2007 by Pearson Education Projeto com paralelismo: a Mic-3 (4) Microprograma para a Mic-2 © 2007 by Pearson Education Arquitetura de três barramentos Caminho de dados de três barramentos usado na Mic-3. © 2007 by Pearson Education Implementação de SWAP (1) Código da Mic-2 para SWAP. © 2007 by Pearson Education Implementação de SWAP (2) Implementação de SWAP na Mic-3. © 2007 by Pearson Education Paralelismo Ilustração gráfica do funcionamento de paralelismo (pipeline). © 2007 by Pearson Education Paralelismo de sete estágios: a Mic-4 (1) Principais componentes da Mic-4. © 2007 by Pearson Education Paralelismo da Mic-4. Paralelismo de sete estágios: a Mic-4 (2) © 2007 by Pearson Education Memória Cache Sistema com três níveis de cache. © 2007 by Pearson Education Caches de mapeamento direto (a) Cache de mapeamento direto. (b) Endereço virtual de 32 bits. © 2007 by Pearson Education Caches associativas de conjunto Cache associativa de conjunto de 4 vias. © 2007 by Pearson Education Predição de desvio (a) Fragmento de programa. (b) Sua tradução para uma linguagem de montagem genérica. © 2007 by Pearson Education Previsão dinâmica de desvio (1) (a) Histórico de desvio de 1 bit. (b) Histórico de desvio de 2 bits. (c) Mapeamento entre endereço de instrução de desvio e endereço-alvo. © 2007 by Pearson Education Previsão dinâmica de desvio (2) Máquina de estado finito de 2 bits para previsão de desvio. © 2007 by Pearson Education Execução fora de ordem e renomeação de registradores (1) CPU superescalar com emissão em ordem e conclusão em ordem. © 2007 by Pearson Education Execução fora de ordem e renomeação de registradores (2) CPU superescalar com emissão em ordem e conclusão em ordem. © 2007 by Pearson Education Operação de uma CPU superescalar com emissão de instrução fora de ordem e conclusão de instrução fora de ordem. Execução fora de ordem e renomeação de registradores (2) © 2007 by Pearson Education Execução especulativa Fragmento de um programa. Gráfico de blocos básicos correspondente. © 2007 by Pearson Education Visão geral da microarquitetura NetBurst Diagrama de blocos do Pentium 4. © 2007 by Pearson Education O paralelismo da NetBurst Visão simplificada do caminho de dados do Pentium 4. © 2007 by Pearson Education Visão geral da microarquitetura UltraSPARC III Cu Diagrama de blocos da UltraSPARC III Cu. © 2007 by Pearson Education Paralelismo na UltraSPARC III Cu Representação simplificada do paralelismo da UltraSPARC III Cu. © 2007 by Pearson Education Microarquitetura da CPU 8051 Microarquitetura do 8051. © 2007 by Pearson Education
Compartilhar