Está en la página 1de 3

TEMA 1.7.

DISEÑO DEL JUEGO DE INSTRUCCIONES


1. Introducción al juego de instrucciones.
Las instrucciones de una arquitectura son autocontenidas: incluyen toda la información necesaria
para la ejecución. Uno de los elementos más importantes de una instrucción es el conjunto de
operandos: estos pueden estar en la instrucción o pueden ser implícitos.

La localización de estos operandos y la forma de indicarlos dan lugar a diferentes arquitecturas de


juntos de instrucciones:

● Arquitecturas basadas en pila: los operandos son implícitos y se encuentran en la pila.

● Arquitecturas basadas en acumulador: uno de los operandos se encuentra de forma implícita en


un registro llamado acumulador.

● Arquitecturas basadas en registros de propósito general: los operandos se encuentran siempre de


forma explícita, ya sea en registros de propósito general o en memoria.

Dentro de las arquitecturas basadas en registros de propósito general encontramos tres tipos:

ARQUITECTURA VENTAJA DESVENTAJA


Registro-registro -La codificación de las -Se necesitan más
instrucciones es simple y instrucciones para hacer la
Sólo pueden acceder a la memoria de longitud fija. misma operación.
instrucciones de carga (load) y de
almacenamiento en memoria (store) -Utiliza un número similar
de ciclos de reloj para
ejecutar cada instrucción

Registro-memoria - No es necesario cargar -Los accesos a memoria son


los datos en registros más lentos.
Cualquier instrucción puede acceder a para poder operar con
la memoria con uno de sus ellos, lo que facilita la -El número de ciclos de reloj
operandos. programación. necesarios para ejecutar una
instrucción puede variar, lo
que dificulta el control.
Memoria-memoria Lo mismo que registro Lo mismo
memoria
Cualquier instrucción puede acceder a
la memoria con todos sus operandos.

Podemos representar el juego de instrucciones desde dos puntos de vista:

● Desde el punto de vista del computador: cada instrucción es una secuencia de bits que se divide
en campos: a esto le llamamos código/lenguaje máquina.

● Desde el punto de vista del programador: cada instrucción se representa mediante símbolos y
abreviaturas: a esto le llamamos código/lenguaje ensamblador.
2. Formato de las instrucciones
De forma general, las instrucciones cuentan con los siguientes elementos:

● Código de operación: especifica la operación que hace la instrucción.

● Operando fuente: para hacer la operación pueden ser necesarios uno o más operandos fuente
(uno o más operandos pueden ser implícitos).

● Operando destino: almacena el resultado de la operación realizada en la instrucción (puede estar


explícito o implícito). Uno de los operandos fuente se puede usar como operando destino.

● Dirección de la siguiente instrucción: especifica dónde está la siguiente instrucción a ejecutar.

Con respecto al tamaño de las instrucciones, existen dos alternativas:

● Instrucciones de tamaño fijo: todas las instrucciones ocupan el mismo número de bits. Esto
simplifica el diseño del procesador y la ejecución puede ser más rápida.

● Instrucciones de tamaño variable: el tamaño dependerá del número de bits necesario en cada
caso. Esto permite diseñar un conjunto más amplio de códigos de operaciones, permite un
direccionamiento más flexible, pero aumenta la complejidad del procesador.

Para codificar los operandos según los diferentes modos de direccionamiento, hay varios aspectos a
tener en cuenta:

● Número de operandos de la instrucción: cuántos operandos tienen las instrucciones y si son


siempre del mismo tamaño.

● Uso de registros o de memoria como operandos: cuántos accesos a registros y a memoria puede
haber en una instrucción.

● Número de registros del procesador.

● Rango de direcciones del computador: cuántos bits se necesitan para especificar una dirección,
que puede ser completa o parcial.
3. Operandos
Los operandos son los datos que usamos para ejecutar una instrucción. Según su ubicación dentro
de un ordenador, podemos clasificarlos en:

● Inmediato: el dato está representado en la propia instrucción (podríamos considerar que está en
un registro, el IR).

● Registro: el dato está directamente disponible en un registro dentro del procesador.

● Memoria: el procesador deberá iniciar un ciclo de lectura de la memoria.

El tipo de dato que utiliza una instrucción viene determinado por el código de operación de la
instrucción. Hay diferentes tipos de datos:

● Dirección: expresa una dirección de memoria.

● Número: expresa un valor numérico (números enteros, números en punto fijo o números en punto
flotante).

● Caracter: habitualmente en codificación ASCII.

● Datos lógicos

4. Tipos de instrucciones
Las arquitecturas registro-registro utilizan instrucciones LOAD, STORE y MOVE:

Las arquitecturas de tipo registro-memoria o memoria-memoria utilizan instrucciones MOV cuando


hay que hacer transferencias de datos con la memoria:

También podría gustarte