¿Qué es un conjunto de instrucciones?

Cualquier CPU está diseñada desde cero para admitir un conjunto de instrucciones en particular. Un conjunto de instrucciones es un conjunto de operaciones codificadas que la CPU puede realizar. Estas operaciones pueden ser, por ejemplo, sumar dos números, saltar a una parte diferente del programa o comparar dos valores. Cada operación que puede realizar una computadora está representada únicamente por un código de operación.

códigos de operación

Al ejecutar un programa, la CPU usa un contador de programa para rastrear qué instrucción debe ejecutarse a continuación. Cuando se recupera una instrucción, el contador del programa se incrementa por la longitud de la instrucción para que apunte al inicio de la siguiente instrucción. Cada instrucción consta de un código de operación. Dependiendo de la instrucción, puede o no incluir operandos. Los operandos pueden ser un valor constante o un puntero a la ubicación de un valor en el registro de la CPU o en la RAM del sistema.

Una vez que se ha obtenido la instrucción completa, es necesario decodificarla. Este es el proceso en el que la CPU separa el código de operación y los operandos. El código de operación decodificado se usa para habilitar o deshabilitar rutas eléctricas específicas en la CPU que darán como resultado la operación correcta.

Una vez decodificada la instrucción, se ejecutará. El comportamiento exacto de la CPU dependerá de la operación. Una operación de suma sumará dos valores juntos. Una operación de salto calculará hacia dónde saltar en el programa. Una operación de comparación comparará dos valores. Una operación NOP permanecerá inactiva, ya que NOP significa Sin operación.

La mayoría de las instrucciones generarán el resultado de la operación. Esta salida puede ir a los registros del procesador y, si es necesario, a la RAM del sistema. Cada una de estas operaciones requiere un solo ciclo de reloj para completarse.

Códigos de operación ilegales

Cada arquitectura de CPU tiene su lista específica de códigos de operación publicada por el fabricante. Los valores de estos códigos de operación no son necesariamente los mismos entre plataformas, por lo que el software debe compilarse para diferentes arquitecturas. En algunos casos, el fabricante también incluye códigos de operación no documentados. Estos se conocen como "códigos de operación ilegales". Los códigos de operación ilegales, aunque no estén documentados, realizarán la misma función cada vez que se llamen. Sin embargo, como características no documentadas y no estándar, las actualizaciones de la arquitectura de la CPU pueden simplemente eliminarlas.

Algunos de los primeros juegos de computadora en Apple II se basaban en códigos de operación ilegales específicos. Luego sufrieron problemas de rendimiento y estabilidad en la revisión posterior de la CPU Apple IIc, ya que IIc eliminó los códigos de operación ilegales que requerían los juegos. Los códigos de operación ilegales también se utilizaron en los círculos de protección de derechos de autor como un método de seguridad a través de la oscuridad en su lucha contra los piratas que descifran su contenido. Algunos códigos de operación ilegales son simplemente herramientas de depuración y controladores de errores.

El conjunto de instrucciones x86 contiene una gran cantidad de códigos de operación ilegales no documentados. Curiosamente, algunos de estos se comparten entre las CPU de Intel y AMD, lo que indica que ambas empresas son conscientes públicamente de su propósito aunque no estén documentadas.

Compiladores y Ensambladores

La mayoría de los programas están escritos en lenguajes de alto nivel. Estos son relativamente fáciles de leer, a menudo usan palabras en inglés o abreviaturas para minimizar las curvas de aprendizaje. Para que una computadora ejecute estos programas, es necesario compilarlos. Un compilador es básicamente un traductor. Toma el código de alto nivel y lo convierte en código de computadora, las instrucciones que la CPU puede entender.

También es posible, en algunos lenguajes, ejecutar código no compilado a través de un programa previamente compilado que genera código de máquina sobre la marcha. Assembly es un lenguaje de programación de bajo nivel que utiliza abreviaturas para permitir a los desarrolladores una visibilidad directa y control sobre las operaciones realizadas. NOP es un ejemplo de taquigrafía de ensamblaje.

Conclusión

Un conjunto de instrucciones es una lista de funciones oficiales que puede ejecutar una arquitectura de CPU. Es una lista de operaciones que se pueden realizar. Estas operaciones están codificadas en la CPU y se llaman usando sus respectivos códigos de operación.

El software generalmente usa un compilador para traducir de un código de alto nivel legible por humanos al código de máquina que la CPU puede leer. A veces, una arquitectura de CPU puede tener códigos de operación no documentados, llamados códigos de operación ilegales. Los códigos de operación ilegales son técnicamente parte del conjunto de instrucciones. Sin embargo, es posible que no estén disponibles de manera confiable en futuras iteraciones de la plataforma. No olvides dejar tus pensamientos en los comentarios a continuación.



Cómo clonar un disco duro

Cómo clonar un disco duro

En la era digital moderna, donde los datos son un activo valioso, clonar un disco duro en Windows puede ser un proceso crucial para muchos. Esta guía completa

¿Cómo reparar el controlador WUDFRd que no se pudo cargar en Windows 10?

¿Cómo reparar el controlador WUDFRd que no se pudo cargar en Windows 10?

¿Se enfrenta al mensaje de error al iniciar su computadora que dice que el controlador WUDFRd no se pudo cargar en su computadora?

Cómo reparar el código de error 0x0003 de la experiencia NVIDIA GeForce

Cómo reparar el código de error 0x0003 de la experiencia NVIDIA GeForce

¿Tiene el código de error 0x0003 de la experiencia NVIDIA GeForce en su escritorio? En caso afirmativo, lea el blog para descubrir cómo solucionar este error de forma rápida y sencilla.

Cómo quitar una GPU de una PC con Windows en 2023

Cómo quitar una GPU de una PC con Windows en 2023

¿Necesitas quitar la GPU de tu PC? Únase a mí mientras explico cómo quitar una GPU de su PC en esta guía paso a paso.

Cómo instalar un SSD NVMe en una computadora de escritorio y una computadora portátil

Cómo instalar un SSD NVMe en una computadora de escritorio y una computadora portátil

¿Compró un nuevo SSD NVMe M.2 pero no sabe cómo instalarlo? Siga leyendo para aprender cómo instalar un SSD NVMe en una computadora portátil o de escritorio.

¿Qué es una bomba lógica?

¿Qué es una bomba lógica?

Una bomba lógica es un incidente de seguridad en el que un atacante establece una acción retrasada. Sigue leyendo para saber más.

¿Qué es Stuxnet?

¿Qué es Stuxnet?

Stuxnet era un gusano que se propagaba a sí mismo. Fue el primer uso de un arma cibernética y la primera instancia de malware.

¿Qué es un hacker ético?

¿Qué es un hacker ético?

Un hacker ético es un hacker que actúa dentro de los límites de la ley. Sigue leyendo para saber más sobre el tema.

¿Qué es el cifrado simétrico?

¿Qué es el cifrado simétrico?

Hay muchas partes diferentes de la criptografía. Sin embargo, si desea cifrar algunos datos, hay dos tipos de algoritmos que puede usar: simétrico

Cómo hacer una prueba de estrés de GPU en 2023: + 6 mejores herramientas

Cómo hacer una prueba de estrés de GPU en 2023: + 6 mejores herramientas

¿Quiere hacer una prueba de estrés de la GPU en su PC con Windows para garantizar un rendimiento confiable para los juegos de alta definición? ¡Lea esta guía de GPU de prueba de estrés ahora!