Documentos de Académico
Documentos de Profesional
Documentos de Cultura
instrucciones
Características y funciones
Set de instrucciones
●
La colección completa de instrucciones
que son entendidas por una CPU
●
Código máquina
●
Binario
●
Generalmente representado por código
ensamblador
Elementos de una instrucción
●
Código de operación (opcode)
●
Referencia a operandos fuente u origen
●
Referencia al operando de destino o
resultado
●
Referencia a la siguiente instrucción
¿Dónde están los operandos?
●
Memoria principal o virtual
●
Registro del procesador
●
Inmediato
●
Dispositivo E/S
Ciclo de instrucción
Ciclo de instrucción
Representación de las
instrucciones
●
En código máquina cada instrucción tiene
un único patrón de bits
●
Es usada una representación simbólica
(mnemonics)
●
Los operandos también son
representados con símbolos
Formato de instrucción simple
Tipos de instrucciones
●
Procesamiento de datos
●
Almacenamiento de datos
●
Movimiento de datos
●
Control del flujo del programa
Tipos de operandos
●
Direcciones
●
Números (enteros o de punto flotante)
●
Caracteres (ASCII, UTF, etc)
●
Datos lógicos (bits o flags)
Tipos de operaciones
●
Transferencia de datos
– Move (transfer): Transfiere una palabra o un bloque desde un
origen a un destino
– Store: Transfiere una palabra desde el procesador a memoria
– Load (fetch): Transfiere una palabra desde memoria al
procesador
– Exchange: Intercambiar los contenidos del origen y el destino
– Clear (reset): Transfiere una palabra de ceros al destino
– Set: Transfiere una palabra de unos al destino
– Push: Transfiere una palabra desde un origen a la cabecera de
la pila
– Pop: Transfiere una palabra desde la cabecera de la pila a un
destino
Tipos de operaciones
●
Aritméticas
– Add: Calcula la suma de dos operandos
– Substract: Calcula la diferencia de dos operandos
– Multiply: Calcula el producto de dos operandos
– Divide: Calcula el cociente de dos operandos
– Absolute: Sustituye el operando por su valor absoluto
– Negate: Cambia el signo del operando
– Increment: Suma 1 al operando
– Decrement: Resta 1 del operando
Tipos de operaciones
●
Lógicas
– AND: Realiza la operación lógica Y
– OR: Realiza la operación lógica O
– NOT: Realiza el complemento bit a bit del operando
– Exclusive-OR: Realiza la operación lógica O-Exclusiva
– Test: Comprueba la condición especificada; fija los indicadores (flags) en
función del resultado
– Compare: Realiza la comparación lógica o aritmética de dos o mas
operandos; fija los indicadores (flags) en función del resultado
– Set control variables: Instrucciones que fijan controles para protección,
gestión de interrupciones, control del temporizador, etc.
– Shift: Desplaza el operando a la izquierda o derecha, introduciendo
valores constantes por el otro extremo
– Rotate: Desplaza el operando a la izquierda o derecha de forma cíclica
Tipos de operaciones
●
Transferencia de control
– Jump (branch): Ruptura incondicional de flujo; carga el registro
de instrucción con la dirección especificada
– Jump Conditional: Comprueba la condición especificada;
dependiendo de la condición, o carga el registro de instrucción
con la dirección indicada o sigue con la próxima instrucción
– Jump to Subroutine: Guarda información del control del
programa en una posición conocida (pila) y salta a la dirección
indicada
– Return: Restituye la información del control del programa por
los de la posición conocida (pila).
– Execute: Capta el operando de la dirección indicada y lo
ejecuta como una instrucción
Tipos de operaciones
●
Transferencia de control
– Skip: Omite la ejecución de la siguiente instrucción
– Skip Conditional: Omite o no la ejecución de la
siguiente instrucción dependiendo de la condición
indicada
– Halt: Detiene la ejecución del programa
– Wait: Detiene la ejecución del programa; comprueba
de forma repetitiva la condición especificada; reanuda
la ejecución cuando se satisface la condición
– No operation: No se ejecuta operación alguna, pero la
ejecución del programa continua
Tipos de operaciones
●
Entrada/Salida
– Input: Transfiere datos desde un puerto o
dispositivo de E/S al destino (memoria principal
o registro del procesador)
– Output: Transfiere datos desde el origen
especificado a un puerto o dispositivo de E/S
– Start I/O: Transfiere instrucciones al procesador
de E/S para inicial operaciones de E/S
– Test I/O: Transfiere información de estado desde
el sistema de E/S al destino especificado
Tipos de operaciones
●
Conversión
– Translate: Traducción de los valores de una
sección de memoria, basada en una tabla de
correspondencia
– Convert: Convierte el contenido de una
palabra de un format a otro