Sei sulla pagina 1di 30

REPERTORIO DE

INSTRUCCIONES

Que es un Repertorio de
Instrucciones?
Es la coleccion completa de instrucciones
que son comprendidas por un computador
(CPU)
Codigo Maquina
Binarios
Usualmente representados por codigos
assembler (codigo ensamblador)

Elementos de una Instruccion


Codigo de operacion (Op code)
Hacer esto

Fuente del operando de referencia


Para esto

Resultado del operando de referencia


Poner la respuesta aqui

Siguiente instruccion de referencia


Cuando tu tienes echo eso, hacer esto

Representacion de Instrucciones
En un codigo maquina cada instruccion
tiene un unico patron de bit.
Para el consumo humano una
representacion simbolica es usada
ejm. ADD, SUB, LOAD

Los operandos tambien pueden ser


representados de esta forma
ADD A,B

Tipos de Instrucciones
Procesamiento de datos
Almacenamiento de datos (memoria
principal)
Movimiento de datos (I/O)
Programa de control de flujo

Numero de Direcciones (a)


3 direcciones
Operand 1, Operand 2, Result
a = b + c;
No es comun
Necesita larguisimas palabras para mantener
todo

Numeros de Direciones (b)


2 direcciones
Una direccion doble como operando y
resultado
a=a+b
Reduce la distancia de las instrucciones
Requiere algunos trabajos extra
Almacenamiento temporal para mantener algunos
resultados

Numero de Direcciones (c)


1 direccion
Usualmente un registro (acumulador)
Comun en las primeras maquinas

Cuantas Direcciones?
Mas direcciones
Mas complejas instrucciones
Mas registros
Inter-register, operaciones mas rapidas

Menos instrucciones por programa

Menos direcciones
Menos complejas instrucciones
Mas instrucciones por programa
Mas rapida busqueda/ejecucion de instrucciones

Diseo de Decisiones (1)


Repertorio de operaciones
Cuantas operaciones?
Que pueden hacer ellos?
Cuan complejos son ellos?

Tipos de datos
Formato de instrucciones
Longitud del codigo de operacion
Numero de direcciones

Diseo de Decisiones(2)
Registros
Numero de registros de CPU disponible
Cuales operaciones pueden ser ejecutados y
en que registros?

Modos de direccionamiento

Tipos de operandos
Direcciones
Numeros
Enteros/Punto flotante

Caracteres
ASCII etc.

Datos logicos
Bits o flags

Tipo de Operacion

Transferencia de Datos
Aritmetica
Logica
Conversion
I/O
Sistemas de Control
Transferencia de Control

Transferencia de Datos
Especifico
Recurso
Destino
Cantidad de datos

Pueden ser diferentes instrucciones para


diferentes movimientos
O una instruccion y diferentes direcciones

Aritmetica

Suma, resta, multiplicacion, division


Signado de enteros
Punto flotante
Puede incluir
Incremento (a++)
Decremento (a--)
Negacion (-a)

Logica
AND, OR, NOT

Conversion
Ejm. Binario a Decimal

Entrada/Salida
Pueden ser instrucciones especificas
Pueden ser hechas usando instruciones
de movimientos de datos (mapeo de
memoria)
Pueden ser hechas por un controlador
separado (DMA)

Sistemas de Control
Instrucciones privilegiadas
CPU necesita tener un estado especifico
Para el uso del sistema de operacion

Transferencia de Control
Skip
ejm. Decrementar el registro y si es cero salta
DECFSZ f

Llamado de Subrutina
Llamado de interrupcion

Modos de direccionamiento

Inmediato
Directo
Indirecto
Registro
Registro Indirecto
Desplazamiento
Pila

Direccionamiento Inmediato
El operando es parte de una instruccion
Operando = area de direccion
ejm. ADD 5
Sumar 5 al contenido del acumulador
5 es el operando

Rapido
Rango limitado

Direccionamiento Directo
Los campos de direcciones contienen
direcciones de operandos
Ejm ADD A
Sumar el contenido del registro A al acumulador
Simple referencia de memoria para acceso de
datos

No existe calculos adicionales


Espacio de direcciones limityado

Diagrama de Direccionamiento
Directo
Instruction
Opcode

Address A

Memory

Operand

Direccionamiento Indirecto
Apuntando el Registro de memoria con el
contenido de una direccion
ejm. ADD (A)
Sumar el contenido del registro apuntado con
el contenido de Reg A y almacenado en el
acumulador

Diagrama de Direccionamiento
Indirecto
Instruction
Opcode

Address A

Memory
Pointer to operand

Operand

Direccionamiento de Registro (1)


El operando esta sujeto a un registro
denominado direccion archivada
Limitado numero de registros
Son necesitados muy pequeas campos
de direcciones
Instrucciones cortas
Busqueda de instrucciones rapidamente

Direccionamiento de Registro (2)

Sin accedo de memoria


Ejecucion muy rapida
Espacio de direccion muy limitada
Requiere de una programacion muy
buena de Assembler

Desplazamiento de Direcciones
EA = A + (R)
El campo de direccion mantiene 2 valores
A = valor base
R = registro que mantiene el desplazamiento
o viceversa

Direccionamiento de Pila
El operando esta encima de la pila
ejm
ADD saltar arriba 2 items desde la pila y
sumar

Potrebbero piacerti anche