Вы находитесь на странице: 1из 6

Tipos de operaciones:

El nmero de cdigos de operacin diferentes varia ampliamente de una maquina a otra. Sin embargo, en todas las maquinas podemos encontrar los mismos tipos generales de operaciones. Una clasificacin tpica y til es la siguiente:

Transferencias de datos. Las instrucciones que transfieren datos entre memoria y registros se denominan instrucciones de transferencia de datos. Para acceder a una palabra en memoria, la instruccin debe proporcionar la direccin de memoria. La instruccin de transferencia que mueve datos de memoria a algn registro se denomina carga (load). La instruccin complementaria, llamada almacenar (store), transfiere datos de un registro a memoria.

Ejemplo de operaciones de transferencia de datos del IMB S/390. La tabla muestra ejemplos de las transferencias de datos mas comunes del IBM S/360. Podemos ver como hay variantes para indicar la cantidad de datos a transferir (8,16,32 o 64 bits). En terminos de la accion del procesador, las operaciones de transferencias de datos son quizas las mas sencillas. Cuando tanto el origen como el destino son registros, el procesador simplemente hace que los datos se transfieran de un registro a otro, esta es una operacin interna del procesador.

Aritmticas. La mayora de las maquinas proporcionan las operaciones aritmticas bsicas de suma, resta, multiplicacin y divisin. Estas se tienen siempre para nmeros enteros con signo y, a menudo, para nmeros en coma flotante. Otras operaciones posibles son, por ejemplo, clculo del valor absoluto, cambiar el signo al operando o incrementar o decrementar el operando.

Entre otras operaciones posibles hay varias instrucciones para un solo operando; por ejemplo: Absolute: obtiene el valor absoluto del operando. Negate: cambia el signo del operando. Increment: incremente en 1 el operando. Decrement: decrementa en 1 el operando. Lgicas. La mayora de las maquinas tambin disponen de diversidad operaciones para manipular bits individuales dentro de una palabra o de otra unidad direccionable. Estn basadas en operaciones booleanas que son la NOT, AND, OR y XOR.

Adems de las operaciones lgicas de bit a bit, la mayora de las maquinas ofrecen diversas funciones de desplazamiento y rotacin. En un desplazamiento lgico, se desplazan a la derecha o a la izquierda los bits de la palabra. En un extremo el bit saliente al desplazar se pierde. En el otro extremo se introduce un 0. Los desplazamientos lgicos son tiles principalmente para aislar campos dentro de una palabra. Los ceros que se van introduciendo en la palabra desplazan la informacin no deseada que se va perdiendo por el otro extremo.

Desplazamiento a izquierda

Este operador binario realiza un desplazamiento de bits a la izquierda. El bit ms significativo (ms a la izquierda) se pierde, y se le asigna un 0 al menos significativo (el de la derecha). El operando derecho indica el nmero de desplazamientos que se realizarn.

La rotacion, preserva todos los bits con los que se esta operando. Un posible uso de la rotacion es ir volcando sucesivamente cada bit en la posicion mas a la izquierda, donde pueda ser identificado comprobando el bit de signo del dato.

Conversin: son aquellas que cambian el formato u operan sobre el formato de los datos. Un ejemplo es la conversin de decimal a binario. De entrada/salida. Las instrucciones de E/S se pueden hacer corresponder fcilmente con las rdenes de E/S que la CPU enva a un mdulo de E/S, a menudo hay una simple relacin de uno a uno.

De control del sistema. Estas instrucciones son, por lo general, instrucciones privilegiadas que pueden ejecutarse solo mientras el procesador est en un estado privilegiado concreto o est ejecutando un programa de una zona privilegiada especifica de memoria. Normalmente estas instrucciones estn reservadas para el sistema operativo. De control de flujo. En todos los tipos de operaciones discutidos hasta aqu, la siguiente instruccin a ejecutar es la inmediatamente posterior, en memoria, a la instruccin en curso. Sin embargo, una fraccin significativa de las instrucciones de cualquier programa tienen como misin cambiar la secuencia de ejecucin de instrucciones. La operacin que realiza la CPU es actualizar el contador de programa para que contenga la direccin de alguna de las instrucciones que hay en memoria. Las operaciones de control de flujo que se pueden encontrar en los repertorios de instrucciones son: Instrucciones de bifurcacion, tambien llamadas de salto". Tienen como uno de sus operandos la direccion de la siguiente instruccion a ejecutar.

Instrucciones de salto condicional. Se efecta la bifurcacin (se actualiza el contador de programa con la direccin especificada en el operando) solo si se cumple una condicin dada, en caso contrario se ejecuta la instruccin siguiente de la secuencia (se incrementa el contador de programa de la forma habitual). Instrucciones de llamada a subrutina. En cualquier punto del programa se puede invocar o llamar a la subrutina. Se ordena al computador que pase a ejecutar la subrutina y que retorne despues al punto en que tuvo lugar la llamada. El uso de subrutinas requiere por tanto dos instrucciones basicas: una instruccion de llamada, que produce una bifurcacion desde la posicion actual al comienzo de la subrutina, y una instruccion de retorno de la subrutina al lugar desde el que se llam.

La bifurcacin lgica se realiza mediante la comparacin de dos o ms objetos con una condicin denominada operador lgico. Los operadores lgicos del computador son cuatro:
o o o o

AND que toma en cuenta dos objetos en forma acumulativa afirmativa: AyB. OR que toma en cuenta dos objetos en forma alternativa afirmativa: AoB. XOR que toma en cuenta dos objetos en forma acumulativa negativa: A ni B . NOT que invierte el sentido positivo o negativo en cualquiera de los anteriores.

El proceso lgico que realiza el computador, compara dos cadenas (objetivas o aritmticas), que se constituyen en proposiciones; y determina si a su respecto se cumplen las condiciones definidas en el operador lgico, dando la respuesta de verdadero si se cumplen, y falso si no se cumplen. Por ejemplo:
o

Si la cadena A Y (AND) la cadena B son iguales (=) (o si son diferentes) a la cadena C. En este caso, cada una de las cadenas A y B deben ser iguales a C. Si ambas lo son, el resultado es verdad; si slo una, o ninguna lo es, el resultado es falso. Si la cadena A O (OR) la cadena B es igual (o diferente) a la cadena C. En este caso, bastar que una de las cadenas A o B sea igual a C para que el resultado sea verdad. Si la cadena A NI (XOR) la cadena B es igual (o diferente) a la cadena C. En este caso, bastar que una de las cadenas A o B sea igual a C para que el resultado sea falso.

Вам также может понравиться