Depois de estudar Java por um período de tempo, acredito que todos foram capazes de entender a importância da JVM, mas talvez você não saiba muito sobre o sistema de instrução nela contido. Literalmente, é uma ferramenta para chamar instruções. Em relação a alguma introdução de conteúdo específico, mostraremos a seguir e compartilharemos com vocês sobre o registro jvm. Vamos entrar juntos no estudo de hoje.
1. Descrição do sistema de instrução
O sistema de instrução JVM é muito semelhante a outros sistemas de instrução de computador. Ao mesmo tempo, as instruções Java também incluem duas partes: opcode e operando. O opcode é um número binário de 8 bits seguido por um operando cujo comprimento é determinado conforme necessário. O código de operação é usado para especificar a natureza da operação da instrução (aqui explicamos na forma de símbolos de montagem. Por exemplo, iload significa carregar um número inteiro da memória, anewarray significa alocar espaço para um novo array e iand significa o). "AND" de dois inteiros, ret representa o controle do processo, retornado de uma chamada a um método. Quando o comprimento excede 8 bits, o operando é dividido em vários bytes para armazenamento. Para esta situação, a JVM adota o método de codificação "bigendiano", ou seja, os bits altos ficam localizados nos bytes baixos. Esta situação é igual ao método de codificação utilizado pela Motorola e RISCCPU, mas diferente do método de codificação "littleendian" utilizado pela Intel, ou seja, os bits de ordem inferior armazenam os bytes de ordem inferior.
O sistema de comando java é projetado para implementar a linguagem Java. Ele contém instruções para chamar métodos e monitorar sistemas multiprioritários. O comprimento dos opcodes de 8 bits na JVM leva a JVM a um máximo de 256 instruções, e agora mais de 160 instruções são usadas.
2. Registros comumente usados
Todas as CPUs contêm um conjunto de registros que contém o status do sistema e as informações exigidas pelo processador. Quando uma máquina virtual define mais registros, mais informações podem ser obtidas deles sem acessar a pilha ou a memória, o que ajuda a melhorar a velocidade de execução. No entanto, se o número de registros na máquina virtual exceder o número de CPUs reais, uma grande quantidade de tempo do processador será gasta simulando os registros com memória convencional ao implementar a máquina virtual, o que na verdade reduzirá a eficiência da máquina virtual . Para isso, a JVM configura apenas os 4 registros mais utilizados. Eles são:
(1) Contador de programa de PC
(2) ponteiro superior da pilha de operandos optop
(3) ponteiro do ambiente de execução atual do quadro
(4) vars aponta para o ponteiro para a primeira variável local no ambiente de execução atual
Todos os registradores são de 32 bits. pc é usado para registrar a execução do programa. optop, frame e vars são usados para registrar ponteiros para a área da pilha Java.
O texto acima é uma introdução ao sistema de instrução JVM de Java. Este artigo concentra-se principalmente em pontos de conhecimento teórico. Após o aprendizado, você pode salvar o documento para facilitar a revisão futura do conhecimento.