Вы находитесь на странице: 1из 10

Conjunto de instrucciones

Definición
Es una especificación que detalla las instrucciones que una unidad central de
procesamiento puede entender y ejecutar, o el conjunto de todos los
comandos implementados por un diseño particular de una CPU. El término
describe los aspectos del procesador generalmente visibles para un
programador, incluyendo los tipos de datos nativos, las instrucciones, los
registros, la arquitectura de memoria y las interrupciones, entre otros
aspectos.
Modelo de Von Neumann
• Las instrucciones y los datos están en la misma
memoria

• Las instrucciones son leídas de la memoria y


ejecutadas en la unidad de procesamiento, una
a una

• Las instrucciones son almacenadas en la misma


secuencia de ejecución

• La unidad de control es responsable del control


de la lectura y ejecución de las instrucciones
Características generales de los conjuntos de
instrucciones
• Debe ser completo, es decir se debe poder construir un programa para evaluar
una función computable usando una cantidad de memoria razonable
• Deben ser eficientes, las funciones más necesarias deben poder hacerse usando
pocas instrucciones
• El set de instrucciones debe ser regular, el conjunto debe ser simétrico
(Desplazamiento de izquierda a derecha, y de derecha a izquierda) Y ortogonal
(Posibilidad de combinarse todos los operandos con los tipos de datos y modos de
direccionamiento)
Operaciones disponibles en la mayoría de los
conjuntos
• Desplazamiento
A. Establecer un registro a un valor constante.
B. Mover datos desde una posición de memoria a un registro y viceversa. Esto se realiza para obtener datos para
operaciones matemáticas y su almacenamiento.
C. Leer y escribir datos desde dispositivos de hardware.

• Operaciones matemáticas
A. Sumar, restar, multiplicar o dividir dos registros y colocar el resultado en alguno de ellos.
B. Realizar operaciones bit a bit, teniendo el AND y el OR de cada bit en un par de registros, o el NOT de cada bit en un
registro.
C. Comparar dos valores que se encuentren en registros(por ejemplo, si son iguales o si uno es mayor que otro)
• Afectan al flujo del programa
A. Saltar a otra posición del programa y ejecutar instrucciones allí.
B. Saltar a otra posición si se cumple cierta condición.
C. Saltar a otra posición, pero salvando la posición actual para poder volver (realizar una llamada, por ejemplo call printf).
Implementación del conjunto de instrucciones

• Bloques de circuitos electrónicos (ej: Multiplexores, contadores, registros,


ALU)
• Hay también algunos nuevos diseños de CPU que compilan el conjunto de
instrucción a una RAM escribible o FLASH dentro de la CPU
• Se puede también emular en software por un intérprete Hoy, es práctica
para los vendedores de nuevos ISA o micro arquitecturas poner emuladores
del software a disposición de los desarrolladores de programas informáticos
antes de que la implementación del hardware esté lista.
Representación del set de instrucciones

• Con un formato binario el Hardware solo entiende bits

• Los Objetos físicos son bits, bytes, palabras

• Tamaño típico de la palabra: 4 u 8 bytes (32 o 64 bits)


Tamaño de las instrucciones

• Fijo: Cada instrucción ocupa el mismo numero de bytes

• Variable: Cada instrucción ocupa distintos números de bytes


Opciones de direccionamiento

• Implícito. El opcode implica la dirección de los operandos.


Ejemplo, en una máquina de pila add, La instrucción saca (Pop) dos valores de la pila, hace la
suma y deja (push) el resultado en la pila.

• Explícito
Las direcciones vienen en los operandos
Ejemplo de MIPS:
add $s0, $s1, $s2
Dos operandos fuentes: s1 y s2
Un operando destino s0
S0=s1+s2

Вам также может понравиться