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
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
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
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 .
ü 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://itcmmodelosdecomputadorasknd.blogspot.com/2009/12/el-ciclo-de-ejecucion-de-instrucciones.html
No hay comentarios :
Publicar un comentario