sábado, 25 de octubre de 2014

Diseño de instrucciones


Diseño de instrucciones


CICLO DE EJECUCIÓN DE INSTRUCCIONES:


El ciclo de ejecución de instrucciones  consiste en la ejecución de todas las ordenes o funciones que recibe el CPU de parte de un programa ,se lleva a cabo mediante dos fases las cuales son:
·         Fase de búsqueda.
Consiste en localizar la instrucción a ejecutar dentro de la memoria y llevarla a la UC. Es decir  la fase de búsqueda se lleva a cabo la transferencia del contenido del programa al registro de direcciones, de ahí se pasa al registro de memoria, para transferir el dato leído al registro de instrucción




·         Fase de ejecución.
Es la realización de las acciones que lleva asociadas la instrucción ,esta fase es la de ejecución que  es en la que se realiza el conjunto de operaciones elementales de la ejecución en curso, así también la instrucción es cambiada a su lenguaje a máquina correspondiente, después se inicia la transferencia del campo de la instrucción en curso al registro, esto es similar a lo que se realiza en la fase de búsqueda solo que en esta fase se busca la información en la memoria el operando de la instrucción, para después iniciar un ciclo en el cual se lee la memoria y el operando almacenado en la dirección con la que cuenta, así mismo se transfiere el dato leído al registro intermedio del operador, para después realizar la suma de los operadores y almacenar el resultado. 




TIPOS DE INSTRUCCIONES

Los tipos de instrucción permitidos están definidos y determinados dentro de cada plataforma en el conjunto de instrucciones,que también determina los 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 entre ellas están :


ü  Transferencia de datos: mover, cargar, almacenar (permite transferir datos entre memoria y el registro).entre ellas están:

MOV =mover
LDS   = carga DS
LEA   = carga direcion efectiva .
LES= carga E/S
XCHG= intercambio
REG-MEM


ejemplo :
LEA Bx, array
MOV SI, O
MOV Ax,[Bx] [SI]

ü  Aritméticas para enteros: pueden implicar transferencia de datos antes y/o después. Realizan operaciones aritméticas de las que se encarga la ALU. sumar, restar, multiplicar, dividir, etc.entre ellas están:

ADD =suma
ADC = suma con acarreo
SUB  = resta
SBB =  resta con acarrerro 
CMP = compara
INC  = incrementa 
DEC = decrementa

ejemplo:
MOV ax ,  x
ADD ax , y
ADD ay ,24
SUB ax , z
MOV w , ax

ü  Operaciones lógicas: and, or, not, xor, etc(son usadas bits a bits).

ejemplo
OR AL  , Dato
AND AL , Dato
NOR AL , b'1010001'1


ü   Instrucciones de rotación y desplazamiento: desplazar hacia la izquierda/derecha, etc.
ü    Instrucciones de control de programa: saltar, saltar si menor, saltar y enlazar dirección, etc

Instrucciones de bucle o ciclo: esta permiten simplificar los decrementos, pruebas y salto en la parte del ciclo del programa entre ellas estan:

LOOP =ciclo
LOOPZ =ciclo mientras cero Cx#0
LOOPE =ciclo mientras igual Zf=1
JCXZ= salta si cx=0 (Cx es registro contador)
LOOPNE=ciclo mientras no igual
LOOPNZ=ciclo mientra no cero
ejemplo 
siguiente  inc SI
CMP AL ,arreglo
LOOPNE  siguiente
JNZ  no esta  

ü  Instrucciones de control de sistema: provocar excepción, llamar al sistema operativo, etc es decir son aquellas instrucciones que se ejecutan solo cuando el procesador esta en un estado de privilegio o ejecuta un programa que esta en la zona privilegiada de la memoria .



FORMATO DE INSTRUCCIÓN (diseño repertorio)


El formato determinará la longitud en bits de las instrucciones y los campos que codifican el valor de los factores citados. En general una instrucción se compone de los siguientes campos:
· Código de operación (CO)
· Operandos fuente (OP1, OP2,)
· Operando destino o Resultado (OPd)
· Instrucción siguiente (IS)

CO
OP1
OP2
..........
OPd
IS

El CO determina la operación que se realiza sobre OP1,OP2,... El resultado se deja en OPd. Lo normal es que el número de operando fuente de un repertorio no pase de 2. La dirección de la instrucción siguiente IS queda implícita en todas las instrucciones (se trata de la instrucción siguiente del programa) salvo en las instrucciones de ruptura condicional o incondicional de secuencia.


• El  REPERTORIO DE INSTRUCCIONES DEBE ESPECIFICAR::
ü  Formato de las instrucciones: tamaño fijo, variable o híbrido.
ü  Localización de operando y resultado, así como modos de direccionamiento de la memoria.
ü  Tipos de datos y tamaños: Enteros (complemento a 2 o BCD, de 8, 16, 32 y 64 bits) y números en coma flotante de 32 y 64 bits (IEEE 754).
ü  Operaciones soportadas: lógicas, aritméticas, etc.
ü  Mecanismos de bifurcación: instrucciones de salto, subrutinas, etc., que modifican el flujo normal de ejecución.

• PROPIEDADES DE LAS INSTRUCCIONES:
ü  Realizan una función única y sencilla.
ü  Emplean un número fijo de operando en una representación determinada.
ü   Su codificación binaria es bastante sistemática, o al menos es recomendable que lo sea (con objeto de facilitar su decodificación).
ü  Son auto contenidas, es decir, contienen toda la información necesaria para su ejecución:

EL CONTENIDO DE ESTE TEMA ES RECOPILACIÓN DE DISTINTAS FUENTES ENTRE ELLAS:: 



http://es.wikipedia.org/wiki/Instrucci%C3%B3n_inform%C3%A1tica

No hay comentarios :

Publicar un comentario