Sei sulla pagina 1di 25

CONJUNTOS DE INSTRUCCIONES

Introduccin
En este captulo estudiaremos los distintos tipos de
instrucciones de que constan los juegos de instrucciones de los
ordenadores. Tambin se estudiarn los principios y filosofa de
diseo de los ordenadores con conjunto reducido de
instrucciones
Caractersticas generales de los conjuntos de
instrucciones
Los conjuntos de instrucciones de las mquinas deben tender a poseer una serie de
propiedades, bastante ideales e imprecisas, que pueden resumirse en las siguientes:
El conjunto de instrucciones de un computador debe ser completo en el sentido de
que se pueda construir un programa para evaluar una funcin computable usando
una cantidad de memoria razonable y empleando un tiempo moderado, es decir, el
nmero de instrucciones de ese programa no debe ser demasiado elevado.
Los juegos de instrucciones tambin tienen que ser eficientes, esto significa que las
funciones ms necesarias deben poder realizarse usando pocas instrucciones.
El conjunto de instrucciones de una mquina debe ser regular, es decir debe ser
simtrico (por ejemplo, si existe una instruccin de desplazamiento a la izquierda,
debe haber otra de desplazamiento a la derecha, etc.) y ortogonal, es decir, deben
poder combinarse, en la medida de lo posible, todos las operaciones con todos los
tipos de datos y modos de direccionamiento.
En muchas ocasiones, tambin se le debe exigir a un computador que su juego de
instrucciones sea compatible con modelos anteriores.
Tipos de instrucciones:
Una mquina puede llegar a funcionar con un juego de instrucciones muy limitado (recurdese,
por ejemplo, la mquina de Turing que slo tiene 4 instrucciones, incluso se han diseado
mquinas tericas con menos instrucciones), esto simplificara mucho los circuitos de la
mquina. Un mnimo para llegar a ese compromiso se consigue con los tipos de instrucciones
siguientes:
Instrucciones de transferencia de datos.
Instrucciones aritmticas.
Instrucciones lgicas.
Instrucciones de control del flujo del programa (bifurcaciones, bucles, procedimientos, etc.)
Instrucciones de entrada y salida.
Tipos de operandos

Como las instrucciones mquina operan con datos
Las categoras ms importantes de datos son:
Nmeros
Caracteres
Datos Lgicos

Caracteres
Al igual que los nmeros los caracteres se
almacenan en los sistemas de cmputo en
datos binarios. Una de la representaciones
mas conocida es el ASCII

Datos Lgicos
A veces es til considerar una unidad de n
bits como n elementos o datos de 1 bit,
donde cada elemento tiene un valor 1 o 0.
Nmeros
Tenemos tres tipos de datos numricos:
Entero o punto fijo
La punto flotante
En decimal

Tipos de Operaciones
Los cdigos de operacin varan de una mquina a otra,
pero las operaciones son las mismas. Los tipos de
operaciones son:
Transferencia de datos
Aritmticas
Lgicas
Conversin
Entrada/Salida
Control del sistema
Control de flujo


Transferencia de datos


La instruccin de transferencia debe especificar varias cosas:
Posiciones de los operandos fuente y destino
Longitud de los datos a transferir
Modo de direccionamiento para cada operando

Aritmticas

Las operaciones aritmticas bsicas son: suma , resta,
multiplicacin y divisin; pero hay operaciones que requieren
un solo operando:
Absolute (Absoluto)
Negative (Negativo)
Increment (Incremento)
Decrement (Decremento)

Lgicas
Se basan en operaciones booleanas.
En este caso se aplican operando bsicos como, AND, OR, XOR,
EQUAL.
Adems se incluyen operaciones de desplazamiento y rotacin
tales como.
Desplazamiento lgico a la derecha
Desplazamiento lgico a la izquierda
Desplazamiento aritmtico a la derecha
Desplazamiento aritmtico a la izquierda
Rotacin a la derecha
Rotacin a la izquierda

Conversin
Instrucciones de conversin son aquellas que cambian el
formato u operan sobre el formato de los datos. Un ejemplo
comn es el de convertir un decimal a binario.

Entrada/Salida
Como ya los revisamos antes tenamos varios tipos de
entradas salidas: entrada/salida programada aisladas,
entradas/salidas programadas asignadas en memoria, DMA
y procesador de E/S.
Control del sistema
Llamadas instrucciones privilegiadas, que se ejecutan solo
cuando el procesador est en un estado privilegiado o est
ejecutando un programa en una zona privilegiada. Por lo
general las usan el sistema operativo.
Control de flujo

Algunas razones para el uso de funciones de control de flujo:

Para ejecutar instrucciones mas de una vez
Para la toma de decisiones
Ejecucin de programas largos
Operaciones de control de flujo:

Instrucciones de bifurcacin
Instrucciones de salto implcito
Instrucciones de llamada a procedimiento

LENGUAJE ENSAMBLADOR
ENSAMBLADOR
Es un lenguaje de programacin de bajo nivel para los computadores,
microprocesadores, microcontroladores y otros circuitos integrados
programables. Implementa una representacin simblica de los
cdigos de mquina binarios y otras constantes necesarias para
programar una arquitectura dada de CPU y constituye la
representacin ms directa del cdigo mquina especfico para cada
arquitectura legible por un programador
Alto nivel
Mediano nivel
Bajo nivel
Maquina
Cobol
Pascal
Basic
Java
C
BCPL
Ensamblador
001110011010100
Los lenguajes de bajo nivel son mas fciles de utilizar que los lenguajes mquina, pero,
al igual que ellos, dependen de la mquina en particular. El lenguaje de bajo nivel por
excelencia es el ensamblador.
Las instrucciones en lenguaje ensamblador son instrucciones conocidas como
nemotcnicos.
Por ejemplo, nemotcnicos tpicos de operaciones aritmticas son: en ingls, ADD, SUB,
DIV, etc.; en espaol, SUM, RES, DIV, etc. Una instruccin tpica de suma sera:
ADD M, N, P
Esta instruccin podra significar sumar el nmero contenido en la posicin de
memoria M al nmero almacenado en la posicin de memoria N y situar el resultado en
la posicin de memoria P.
Evidentemente es mucho ms sencillo recordar la instruccin anterior con un
nemotcnico que su equivalente en cdigo mquina.
0110 1001 1010 1011



Ventajas del lenguaje ensamblador.
Los lenguajes ensambladores presentan la ventaja frente a
los lenguajes mquina de su mayor facilidad de
codificacin y, en general, su velocidad de clculo.

La segunda razn es el control total de la PC que se tiene
con el uso del mismo.

El ensamblador permite una optimizacin ideal en los
programas tanto en su tamao como en su ejecucin.

Desventajas del lenguaje ensamblador.

Dependencia total de la mquina lo que impide la
transportabilidad de los programas. El lenguaje
ensamblador del PC es distinto del lenguaje ensamblador
del Apple Macintosh.

La formacin de los programadores es ms compleja que la
correspondiente a los programadores de alto nivel, ya que
no slo las tcnicas de programacin, sino tambin el
conocimiento del interior de la mquina.

Una forma es en funcin de las instrucciones que son capaces de ejecutar.
Microprocesadores con tecnologa CISC y RISC

CISC (Complex Instructions Set Computer): Interpreta y ejecuta un gran
numero de instrucciones, lo cual los hace lentos

RISC ( Reduced Instructios Set Computer): Interpreta y ejecuta solo
instrucciones reducidas, son mas rpidos que los CISC
Complex Instruction Set Computer (CISC)
En los inicios de la computacin, se codificaba en cdigo
ensamblador o maquina.

Para hacer rpida y fcil la programacin las computadoras
soportaban un gran numero de instrucciones. Estas instrucciones
podan hacer operaciones complejas, una sola instruccin poda leer
uno o mas operadores y hacer una o mas operaciones con esos
operadores.

Esto hacia la programacin fcil y con menos cdigo.
Otro factor favorable fue el costo de memoria, las memorias eran
costosas, por lo que los diseadores hacan juegos de instrucciones
densos

Reduced Instruction Set (RISC)
Es un tipo de microprocesador con las siguientes caractersticas fundamentales:
Instrucciones de tamao fijo y presentadas en un reducido nmero de formatos.
Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

Adems estos procesadores suelen disponer de muchos registros de propsito
general.
El objetivo de disear mquinas con esta arquitectura es posibilitar la segmentacin
y el paralelismo en la ejecucin de instrucciones y reducir los accesos a memoria.
Esta surge con los lenguejes de alto nivel
TIPOS DE ENSAMBLADORES
- Ensambladores Cruzados (Cross-Assembler).
- Ensambladores Residentes.
- Macroensambladores.
- Micro ensambladores.
- Ensambladores de una fase.

Aunque todos los ensambladores realizan bsicamente las mismas
tareas, podemos clasificarlos de acuerdo a caractersticas.
As podemos clasificarlos en:

Potrebbero piacerti anche