Instrucción De Maquina
Enviado por jonathan2_v • 1 de Febrero de 2013 • 3.609 Palabras (15 Páginas) • 807 Visitas
Instrucción de Maquina
Las instrucciones máquina o instrucciones del computador son las que determinan el funcionamiento de la CPU que las ejecuta. Son el Conjunto de dígitos binarios que indican a la CPU del ordenador la operación a realizar y la ubicación de los operandos.
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, las cuales se pueden clasificar en cuatro (04) grupos:
Instrucciones de transferencias de datos: Son aquellas de entrada o lectura y de salida o escritura. En el caso de las instrucciones de entrada o lectura, se lleva el dato de entrada o lectura desde la unidad de entrada a la memoria. Si por el contrario es una instrucción de salida o escritura, se lleva el dato de la memoria a la unidad de salida.
Instrucciones de tratamiento: Se trata de las instrucciones aritmético-lógicas y las de desplazamientos. Así como suma de datos, comparaciones...
Instrucciones de flujo de control o de bifurcación y salto: Las instrucciones de flujo de control son aquellas instrucciones que alteran el orden secuencial de la ejecución de un programa. También hay instrucciones que posibilitan la interrupción de la ejecución o saltar a ejecutar otro programa. Cuando termina cualquiera de estas instrucciones, el programa continúa ejecutándose desde el punto en el que se interrumpió.
Otras instrucciones: Por ejemplo, la detención del funcionamiento del computador a la espera de una acción del usuario.
El conjunto de dígitos que forma una instrucción se puede dividir en dos partes:
Código de Operación y Campo/s de Dirección: Instrucción Máquina
Código de Operación Campo de Dirección 1 Campo de Dirección 2 • • •
Definición de Código de Operación: Parte de la instrucción máquina (subconjunto de dígitos binarios) que codifican la operación.
Definición de Campo de Dirección: Subconjunto de dígitos de la instrucción que indican la ubicación de los operandos o dónde debe almacenarse el resultado.
Elementos de una instrucción de máquina
Cada instrucción debe contener la información que necesita el CPU para su ejecución.
Código de operación: Especifica la operación a realizar (suma, resta, E/S, etc.), la operación se indica mediante un código binario.
Referencia a operandos fuente: Establece dónde se encuentra el operando, la operación puede involucrar a uno o más operandos fuentes, es decir, operandos que son entradas para la instrucción.
Referencia al operando resultado: La operación puede producir un resultado, establece dónde almacenar el resultado.
Referencia a la siguiente instrucción: Le indica al CPU de donde va a captar la siguiente instrucción tras completarse la ejecución de la instrucción actual. La siguiente instrucción a captar esta en memoria principal. En la mayoría de los casos, la siguiente instrucción sigue inmediatamente a la instrucción en ejecución. En tales casos no hay referencia explícita a la siguiente instrucción. Cuando sea necesaria una referencia explícita, se debe suministrar la dirección de memoria.
Los operandos fuente y resultado pueden estar en tres lugares:
Memoria
Registro de la CPU
Dispositivo de E/S
Representaciones de Instrucción
Dentro de la computadora cada instrucción está representada mediante una secuencia de bits
La secuencia se divide en campos en correspondencia a los elementos que la componen.
Este esquema se conoce como formato de la instrucción.
Es difícil para el programador tratar con las representaciones binarias de las instrucciones de máquina. Por lo tanto, se usa una representación simbólica.
Los códigos de operación se representan por medio de abreviaturas, llamadas mnemónicos que indican la operación.
Los ejemplos más comunes son:
ADD adición (suma )
SUB sustracción (resta)
MOV movimiento de datos
AND, OR, XOR operaciones lógicas
El formato de las instrucciones es un conjunto de especificaciones que indican como debe ser interpretado el patrón de bits de una instrucción de máquina para lograr su ejecución dentro del computador. El formato de la instrucción nos indica cual es el código de operación y cuales los operandos que la instrucción especifica, tanto explícita como implícitamente.
Criterios para el diseño de los formatos de las instrucciones
En algunas máquinas todas las instrucciones tienen la misma longitud; en otras hay instrucciones con distintas longitudes. La longitud de las instrucciones puede ser menor, igual o mayor que el tamaño de la palabra. Exigir que todas las instrucciones posean la misma longitud hace más sencillo su decodificación pero puede desperdiciarse espacio.
En el momento que se diseña una nueva computadora se deben escoger los formatos de las instrucciones y para ello se deben tomar en cuenta varios factores.
Por un lado, si la nueva computadora llega a tener un éxito comercial, el conjunto de instrucciones podría sobrevivir 20 años o más. En este caso, la capacidad para añadir nuevas instrucciones y aprovechar otras oportunidades que surjan durante el tiempo de vida del diseño de ese computador tiene gran importancia.
Además, la eficiencia de un conjunto de instrucciones depende en gran medida de la tecnología con la que se va a implementar. Con el pasar del tiempo, esta tecnología puede cambiar enormemente y hacer que ciertas decisiones que se tomaron al momento del diseño, no parezcan luego que fueron las mejores.
Un criterio de diseño importante es el relativo al tamaño de las instrucciones. Un programa conformado por n instrucciones de 16 bits ocupa menos espacio de memoria que n instrucciones de 32 bits.
Si se minimiza mucho el tamaño de las instrucciones puede hacer que el proceso de decodificación y sobreposición de instrucciones sea más complicado.
Un motivo para disminuir el tamaño de las instrucciones es el ancho de banda de la memoria, es decir, el número de bits que la memoria puede suplir por segundo. La velocidad de los procesadores ha aumentado más rápidamente que la velocidad de las memorias, por lo tanto las memorias se transforman en cuellos de botellas en el sistema. El hecho de que las instrucciones sean más cortas implica un procesador más rápido.
Dado que los computadores modernos pueden ejecutar varias instrucciones en un ciclo de reloj,
...