Diferencia entre revisiones de «Instrucción (informática)»

Contenido eliminado Contenido añadido
Página reemplazada por «axlakshfñalkhsfkdjñ»
Etiquetas: Reemplazo posible problema comienzo de línea con minúsculas Eliminación de categorías Edición visual
SeroBOT (discusión · contribs.)
m Revertidos los cambios de 190.146.100.166 (disc.) a la última edición de SeroBOT
Etiqueta: Reversión
Línea 1:
{{referencias|t=20110613|informática}}
axlakshfñalkhsfkdjñ
Se denomina '''instrucción''' en [[informática]] al conjunto de datos insertados en una secuencia estructurada o específica que el [[Microprocesador|procesador]] interpreta y ejecuta.
 
Los tipos de instrucción permitidos están definidos y determinados dentro de cada [[plataforma (informática)|plataforma]] en el '''[[conjunto de instrucciones]]''' (en inglés ISA, ''instruction set architecture''), que también determina los [[Registro (hardware)|registros]] de origen y destino de la [[CPU]], y en ocasiones un dato inmediato (aquellos que son especificados explícitamente en la instrucción).
 
Estas instrucciones del computador son las que determinan el funcionamiento de la [[CPU]] que las ejecuta. La CPU puede realizar una diversidad de funciones, que son el reflejo de la variedad de las instrucciones definidas para dicha CPU. El [[programador]] tiene un [[repertorio de instrucciones]] como medio para controlar la CPU.
 
== Campos ==
Normalmente una instrucción se divide en dos campos:
 
* '''[[Opcode|Código de operación]]''': Designa la operación que va a ser realizada. En [[lenguaje ensamblador]], se asigna a su valor numérico un [[mnemónico]]. Por ejemplo, en el [[MIPS]] tenemos una instrucción con el código de operación 0224x en lenguaje ensamblador es la operación <code>add</code>.
* '''Datos de la operación''': Dependiendo del tipo de instrucción, este campo puede estar dividido en otros o ser único, incluso no existir. En él se suelen indicar los registros y datos con los que trabajar.
 
El tamaño (longitud en [[bits]]) de la instrucción depende de cada arquitectura, pudiendo variar de 4 hasta 128 bits.
 
La instrucción debe almacenarse temporalmente (en el [[registro de instrucción]], '''RI''') para que la CPU analice su contenido y extraiga los datos que la forman. A este paso se le llama [[Decodificador|decodificación]].
 
== Tipos ==
* '''Instrucciones de transferencia de datos''': en este tipo de instrucciones, se transfieren datos desde una localización a otra. Los pasos que se siguen para realizarlo son:
 
# Determinación de las direcciones de origen y destino de memoria.
# Realización de la transformación de [[memoria virtual]] a memoria real.
# Comprobación de la [[Caché (informática)|caché]].
# Inicio del proceso de lectura/escritura en la memoria.
 
* '''Instrucciones aritméticas''': pueden implicar transferencia de datos antes y/o después. Realizan operaciones aritméticas de las que se encarga la ALU. Se pueden clasificar en de 1 operando (valor absoluto, negación) y 2 operandos (suma, resta).
* '''Instrucciones lógicas''': al igual que las aritméticas, la ALU se encarga de realizar estas operaciones, que en este caso son de tipo lógico.
* '''Instrucciones de conversión''': similares a las aritméticas y lógicas. Pueden implicar lógica especial para realizar la conversión.
* '''Instrucciones de transferencia de control''': actualizan el [[contador de programa]] ('''PC'''). Administran las llamadas/retornos a las [[subrutinas]], el paso de [[Ciencias de la computación|parámetros]] y el [[enlazado]].
* '''Instrucciones de E/S''' (entrada/salida): administran los comandos de entrada/salida. Si hay un [[mapa de memoria]] de entrada/salida, determina la dirección de este mapa.
 
== Repertorio ==
Las instrucciones de un [[lenguaje (programación)|lenguaje de programación]] se pueden clasificar en 4 grupos:
 
* '''Instrucciones de transferencias de datos''': Son aquellas de entrada o lectura y de salida o escritura. En el caso de las instrucciones de entrada o lectura, se lleva el dato de entrada o lectura desde la unidad de entrada a la memoria. Si por el contrario es una instrucción de salida o escritura, se lleva el dato de la memoria a la unidad de salida.
* '''Instrucciones de tratamiento''': Se trata de las instrucciones aritmético-lógicas y las de desplazamientos. Así como suma de datos o comparaciones.
* '''Instrucciones de flujo de control o de bifurcación y salto''': Las instrucciones de flujo de control son aquellas instrucciones que alteran el orden secuencial de la ejecución de un programa. También hay instrucciones que posibilitan la interrupción de la ejecución o saltar a ejecutar otro programa. Cuando termina cualquiera de estas instrucciones, el programa continúa ejecutándose desde el punto en el que se interrumpió.
* '''Otras instrucciones''': Por ejemplo, la detención del funcionamiento del [[Computadora electrónica|computador]] a la espera de una acción del usuario.
 
== Véase también ==
* [[Lenguaje de máquina]].
* [[Comando (informática)|Comando]].
 
{{Control de autoridades}}
[[Categoría:Programación]]
[[Categoría:Unidad central de procesamiento]]