Sei sulla pagina 1di 5

Instrucciones de control

Hay varias instrucciones para el control de la CPU, ya sea a ella sola, o en


conjuncin con otros procesadores:

NOP no operacin
HLT parada
WAIT espera
LOCK bloquea
ESC escape

Instrucciones de Interrupcin.
STI poner a 1 el indicador de interrupcin
CLI borrar el indicador de interrupcin
INT interrupcin
INTO interrupcin por capacidad excedida (desbordamiento)
IRET retorno de interrupcin
Las instrucciones de transferencia condicional del control del programa se
pueden clasificar en 3 grupos:
1. Instrucciones usadas para comparar dos enteros sin signo:
a. JA o JNBE. Salta si est arriba o salta si no est abajo o si no es igual (jump
if above o jump if not below or equal) El salto se efecta si la bandera ce CF =
0 o si la bandera de ZF = 0
b. JAE o JNB. Salta si est arriba o es igual o salta si no est abajo (jump if
above or equal o jump if not below) El salto se efecta si CF = 0.
c. JB o JNAE. Salta si est abajo o salta si no est arriba o si no es igual (jump
if below or equal o jump if not above or equal) El salto se efecta si CF=1.
d. JBE o JNA. Salta si est abajo o si es igual o salta si no est arriba (jump if
below or equa o jump if not above) El salto se efecta si CF = 1.
e. JE o JZ. Salta si es igual o salta si es cero (jump equal o jump if zero) El
salto se efecta si ZF = 1 (tambin se aplica a comparaciones de enteros con
signo)
f. JNE o JNZ. Salta si no es igual o salta si no es cero (jump if not equal o jump
if not zero) El salto se efecta si ZF = 0 (tambin se aplica a comparaciones de
enteros con signo)
2. Instrucciones usadas para comparar dos enteros con signo:
a. JG o JNLE. Salta si es ms grande o salta si no es menor o igual (jump if
greater o jump if not less or equal) El salto se efecta si ZF = 0 o OF = SF.
b. JGE o JNL. Salta si es ms grande o igual o salta si no es menor que (jump
if greater or equal o jump if not less) El salto se efecta si SF = OF.
c. JL o JNGE. Salta si es menor que o salta si no es mayor o igual (jump if less
o jump if not greater or equal) El salto se efecta si SF = OF.

d. JLE o JNG. Salta si es menor o igual o salta si no es ms grande (jump if


less or equal o jump if not greater) El salto se efecta si ZF = 1 o SF = OF.
3. Instrucciones usadas segn el estado de banderas:
a. JC Salta si hay acarreo (jump if carry) El salto se efecta si CF = 1.
b. JNC Salta si no hay acarreo (jump if not carry) El salto se efecta si CF = 0.
c. JNO Salta si no hay desbordamiento (jump if not overflow) El salto se efecta
si OF = 0.
d. JNP o JPO Salta si no hay paridad o salta si la paridad en non. El salto se
efecta si PF= 0.
e. JNS Salta si el signo est apagado (jump if not sign) El salto se efecta si SF
= 0.
f. JO Salta si hay desbordamiento (jump if overflow) El salto se efecta si OF =
g. JP o JPE Salta si hay paridad o salta si la paridad es par (jump if parity o
jump if parity even) El salto se efecta si PF = 1.
h. JS Salta si el signo est prendido (jump if sign set) El salto se efecta si SF =
1.
Las comparaciones con signo van de acuerdo con la interpretacin que usted le
quiera dar a los bytes o palabras de su programa. Por ejemplo, suponga que
tiene un byte cuyo valor es 11111111 en binario y que desea compararlo con
otro cuyo valor es 00000000. Es 11111111 mayor que 00000000? S y NO, eso
depende de la interpretacin que usted le quiera dar. Si trabaja con nmeros
enteros sin signo S LO SER, pues 255 es mayor que 0. Por el contrario, si
tiene signo entonces SER MENOR puesto que 1 es siempre menor que 0.
Lo anterior lleva a seleccionar las instrucciones de comparacin y de salto de
acuerdo con la interpretacin que se les d a los bytes o palabras; reflexione
sobre este punto.
Los saltos condicionales se encuentran limitados al rango de 128 a +127
bytes como mxima distancia, ya sea adelante o hacia atrs. Si desea efectuar
un salto a mayores distancias es necesario crear una condicin mixta entre
saltos condicionales y no condicionales.

ARQUITECTURA CISC
Los microprocesadores CISC tienen un conjunto de instrucciones que se
caracteriza por ser muy
amplio
y
permitir
operaciones
complejas
entre operandos situados
en la memoria o en los
registros internos.
Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que
en la actualidad la mayora de los sistemas CISC de alto rendimiento

implementan un sistema que convierte dichas instrucciones complejas en


varias instrucciones simples, llamadas generalmente microinstrucciones.
La microprogramacin es una caracterstica importante y esencial de casi todas
las arqutecturas CISC. La microprogramacin significa que cada instruccin de
mquina es interpretada por un microprograma localizado en una memoria en
el circuito integrado del procesador. Las instrucciones compuestas son
decodificadas internamente y ejecutadas con una serie de microinstrucciones
almacenadas en una ROM interna. Para esto se requieren de varios ciclos de
reloj, al menos uno por microinstruccin. Es as entonces como los chips CISC
utilizan comandos que incorporan una gran diversidad de pequeas
instrucciones para realizar una nica operacin.
Cuando el sistema operativo o una aplicacin requiere de una de estas
acciones, enva al procesador el nombre del comando para realizarla junto con
el resto de informacin complementaria que se necesite. Pero cada uno de
estos comandos de la ROM del CISC varan de tamao y, por lo tanto, el chip
debe en primer lugar verificar cuanto espacio requiere el comando para
ejecutarse y poder as reservrselo en la memoria interna. Adems, el
procesador debe determinar la forma correcta de cargar y almacenar el
comando, procesos ambos que ralentizan el rendimiento del sistema.
El procesador enva entonces el comando solicitado a una unidad que lo
descodifica en instrucciones ms pequeas que podrn ser ejecutadas por un
nanoprocesador, una especie de procesador dentro del procesador. Y al no ser
las instrucciones independientes, pues son instrucciones menores procedentes
de la descodificacin de una instruccin mayor, slo puede realizarse una
instruccin cada vez.
A travs de la compleja circuitera del chip, el nanoprocesador ejecuta cada una
de las instrucciones del comando. El desplazamiento por esta circuitera
tambin ralentiza el proceso. Para realizar una sola instruccin un chip CISC
requiere de cuatro a diez ciclos de reloj.
Entre las bondades de CISC destacan las siguientes:
Reduce la dificultad de crear compiladores.
Permite reducir el costo total del sistema.
Reduce los costos de creacin de sftware.
Mejora la compactacin de cdigo.
Facilita la depuracin de errores.
Ejemplo de microprocesadores basados en la tecnologa CISC:

Intel 8086, 8088, 80286, 80386, 80486.


Motorola 68000, 68010, 68020, 68030, 6840.

ARQUITECTURA RISC

La arquitectura RISC funciona de modo muy


diferente a la CISC, su objetivo no es
ahorrar esfuerzos externos por parte del
software con sus accesos a la RAM, sino
facilitar que las instrucciones sean
ejecutadas lo ms rpidamente posible. La
forma de conseguirlo es simplificando el tipo
de instrucciones que ejecuta el procesador.
As, las instrucciones ms breves y sencillas de un procesador RISC son
capaces de ejecutarse mucho ms aprisa que las instrucciones ms largas y
complejas de un chip CISC. Sin embargo, este diseo requiere de mucha ms
RAM y de una tecnologa de compilador ms avanzada.
La relativa sencillez de la arquitectura de los procesadores RISC conduce a
ciclos de diseo ms cortos cuando se desarrollan nuevas versiones, lo que
posibilita siempre la aplicacin de las ms recientes tecnologas de
semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer
una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que
los saltos de capacidad que se producen de generacin en generacin son
mucho mayores que en los CISC.
Los comandos que incorpora el chip RISC en su ROM constan de varias
instrucciones pequeas que realizan una sola tarea. Las aplicaciones son aqu
las encargadas de indicar al procesador qu combinacin de estas
instrucciones debe ejecutar para completar una operacin mayor.
Adems, los comandos de RISC son todos del mismo tamao y se cargan y
almacenan del mismo modo. Al ser estas instrucciones pequeas y sencillas,
no necesitan ser descodificadas en instrucciones menores como en el caso de
los chips CISC, pues ya constituyen en s unidades descodificadas. Por ello, el
procesador RISC no gasta tiempo verificando el tamao del comando, en
descodificarlo ni en averiguar cmo cargarlo y guardarlo.
El procesador RISC puede adems ejecutar hasta 10 comandos a la vez pues
el compilador del software es el que determina qu comandos son
independientes y por ello es posible ejecutar varios a la vez. Y al ser los
comandos del RISC ms sencillos, la circuitera por la que pasan tambin es
ms sencilla. Estos comandos pasan por menos transistores, de forma que se
ejecutan con ms rapidez. Para ejecutar una sola instruccin normalmente les
basta con un ciclo de reloj.
Entre las ventajas de RISC tenemos las siguientes:

La CPU trabaja mas rpido al utilizar menos ciclos de reloj para


ejecutar instrucciones.
Utiliza un sistema de direcciones no destructivas en RAM. Eso
significa que a diferencia de CISC, RISC conserva despus de
realizar sus operaciones en memoria los dos operandos y su
resultado, reduciendo la ejecucin de nuevas operaciones.
Cada instruccin puede ser ejecutada en un solo ciclo del CPU
Ejemplo de microprocesadores basados en la tecnologa CISC:

MIPS, Millions Instruction Per Second.

PA-RISC, Hewlett Packard.


SPARC, Scalable Processor Architecture, Sun Microsystems.
POWER PC, Apple, Motorola e IBM.
Bibliografa
http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm
http://www.cs.buap.mx/~mgonzalez/asm_mododir.pdf

Potrebbero piacerti anche