Después de estudiar Java durante un tiempo, creo que todos han podido comprender la importancia de jvm, pero es posible que no sepas mucho sobre el sistema de instrucciones que contiene. Literalmente, es una herramienta para llamar instrucciones. Con respecto a la introducción de contenido específico, se la mostraremos a continuación y la compartiremos con usted sobre el registro jvm. Ingresemos juntos al estudio de hoy.
1. Descripción del sistema de instrucción
El sistema de instrucción JVM es muy similar a otros sistemas de instrucción por computadora. Al mismo tiempo, las instrucciones Java también incluyen dos partes: código de operación y operando. El código de operación es un número binario de 8 bits seguido de un operando cuya longitud se determina según sea necesario. El código de operación se utiliza para especificar la naturaleza de la operación de la instrucción (aquí lo explicamos en forma de símbolos ensambladores. Por ejemplo, iload significa cargar un número entero desde la memoria, anewarray significa asignar espacio para una nueva matriz e iand significa el). "Y" de dos números enteros. ret representa el control del proceso, devuelto por una llamada a un método. Cuando la longitud excede los 8 bits, el operando se divide en varios bytes para su almacenamiento. Para esta situación, la JVM adopta el método de codificación "bigendian", es decir, los bits altos se ubican en los bytes bajos. Esta situación es la misma que el método de codificación utilizado por Motorola y RISCCPU, pero diferente del método de codificación "littleendian" utilizado por Intel, es decir, los bits de orden inferior almacenan los bytes de orden inferior.
El sistema de comando Java está diseñado para implementar el lenguaje Java. Contiene instrucciones para llamar a métodos y monitorear sistemas de múltiples prioridades. La longitud de los códigos de operación de 8 bits en la JVM lleva a la JVM a un máximo de 256 instrucciones, y ahora se utilizan más de 160 instrucciones.
2. Registros de uso común
Todas las CPU contienen un conjunto de registros que contiene el estado del sistema y la información requerida por el procesador. Cuando una máquina virtual define más registros, se puede obtener más información de ellos sin acceder a la pila o a la memoria, lo que ayuda a mejorar la velocidad de ejecución. Sin embargo, si la cantidad de registros en la máquina virtual excede la cantidad de CPU reales, entonces se gastará una gran cantidad de tiempo del procesador simulando los registros con memoria convencional al implementar la máquina virtual, lo que en realidad reducirá la eficiencia de la máquina virtual. . Para ello, la JVM solo configura los 4 registros más utilizados. Ellos son:
(1) contador de programas de PC
(2) puntero superior de la pila del operando optop
(3) puntero del entorno de ejecución actual del marco
(4) vars apunta al puntero a la primera variable local en el entorno de ejecución actual
Todos los registros son de 32 bits. pc se utiliza para registrar la ejecución del programa. otop, frame y vars se utilizan para registrar punteros al área de la pila de Java.
Lo anterior es una introducción al sistema de instrucción JVM de Java. Este artículo se centra principalmente en los puntos de conocimiento teórico. Después del aprendizaje, puede guardar el documento para facilitar la revisión de conocimientos futuros.