You are on page 1of 11

Republica Bolivariana de Venezuela Ministerio del Poder Popular para la Educacin Superior Instituto Universitario Politcnico Santiago Mario

Extensin Puerto Ordaz Escuela de Ingeniera de Sistemas

Profesor(a): Richard Rodrguez

Integrantes: Noel Prez C.I: V-21.124.293 Sergio Gil C.I: V-21.124.074

Ciudad Guayana, Octubre del 2012

Organizacin de la instruccin de maquina

Cada instruccin requiere la informacin que necesita el CPU para su ejecucin. El formato de las instrucciones es un conjunto de especificaciones que indican como debe ser interpretado el patrn de bits de una instruccin de mquina para lograr su ejecucin dentro del computador.

El formato de la instruccin nos indica cual es el cdigo de operacin y cuales los operandos que la instruccin especifica, tanto explcita como implcitamente.

Una instruccin est conformada por: Cdigo de Operacin, referencia a operandos fuente, referencia al operando resultado, referencia a la siguiente instruccin.

Cdigos de operacin (OpCode)

Es el primer campo de cada instruccin, esta indica la instruccin a realizar. Por ejemplo, ADD (sumar). Muchas instrucciones tienen un campo adicional que especifica el operando. Por ejemplo, las instrucciones que accesan a una variable local necesitan un campo para indicar cul variable. Los cdigos de operacin se clasifican en:

Transferencia de datos: El tipo de instruccin maquina ms bsico es la trasferencia de datos. La instruccin trasferencia de datos debe especificar varias cosas. En primer lugar, deben especificarse las posiciones de los operandos fuente y destino. Cada posicin podra ser de memoria, registro o la cabecera de la pila. En segundo lugar, debe indicarse la longitud de los datos a trasferir. En tercer lugar, como en todas las instrucciones con

operandos, debe especificarse el modo de direccionamiento para cada operando.

En la eleccin de las instrucciones de trasferencia de datos a incluir en un repertorio de instrucciones, es un ejemplo del tipo de compromiso a lo que debe llegar un diseador. Por ejemplo, la posicin en general

(memoria o registro) de un operando puede indicarse, bien en la especificacin del OpCode, bien en la del operando. Tambin hay diferentes instrucciones para trasferir entre registros, de registro a memoria y de memoria a registro En trminos de accin de la CPU, las operaciones de trasferencia son quizs las ms sencillas. Cuando, tanto del origen como el destino, son registros, la CPU simplemente hace que los datos se transfieran de un registro a otro: esta es una operacin interna de la CPU. Si uno o ambos operandos estn en memoria, la CPU debe realizar alguna o todas las siguientes tareas: o Calcular la direccin de memoria basndose en el modo de direccionamiento utilizado. o Si la direccin hace referencia a la memoria virtual, traducir de direccin virtual a real. o Determinar si el elemento direccionado est en la cache. o Si no, causar la orden al modulo de memoria.

Aritmticas: La mayora de las maquinas proporcionan las operaciones aritmticas bsicas, suma, resta, multiplicacin y divisin. Estas se tienen siempre para nmeros enteros con signo (como fija). A menudo, las proporcionan tambin para nmero en coma flotante y para decimales empaquetados.

Entre otras operaciones posibles hay varias instrucciones de un solo operando; por ejemplo: o Absolute: obtiene el valor absoluto del operando. o Negate: cambia el signo del operando. o Increment: incrementa en 1 el operando. o Decrement: decremento en 1 el operando La ejecucin de una instruccin aritmtica puede implicar operaciones de trasferencia de datos para ubicar los operandos como entradas a la ALU, y para almacenar la salida de la ALU.

Lgicas: La mayora de las maquinas tambin disponen de diversas operaciones para manipular los bits individuales dentro de una palabra o de otra unidad direccionable. Estn basadas en operaciones booleanas. En la tabla a continuacin se muestran algunas de las operaciones lgicas bsicas que pueden realizarse con datos booleanos o binarios. La operacin NOT invierte un bit. Las funciones lgicas ms comunes con dos operandos son la AND, la OR y la OR-Exclusive (XOR). La EQUAL (igual) es una comprobacin binaria bastante til. Las operaciones lgicas pueden aplicarse desde bit a bit hasta unidades lgicas de datos de n bits.

Conversin: Las instrucciones de conversin son aquellas que cambian el formato u operando sobre el formato de los datos. Un ejemplo es la conversin de decimal a binario.

Entrada/Salida: En la E/S programada, hay una estrecha correspondencia entre las instrucciones de E/S que el procesador capta de memoria y las ordenes de E/S que la CPU enva a un modulo de E/S al ejecutar las instrucciones. Es decir, las instrucciones se pueden hacer corresponder fcilmente con las rdenes de E/S y a menudo hay una simple relacin de

uno a uno. La forma de la instruccin depende de la manera de direccionar los dispositivos externos. Normalmente habr muchos dispositivos de E/S conectados al sistema a travs de los mdulos de E/S. cada dispositivo tiene asignado un identificador nico o direccin. Cundo el procesador enva una orden en E/S, la orden contiene la direccin del dispositivo deseado. As, cada modulo de E/S debe interpretar las lneas de direcciones para determinar si la orden es para l.

Control de sistema: Las instrucciones de control del sistema son, por lo general, instrucciones privilegiadas que pueden ejecutarse solo mientras el procesador esta en un estado privilegiado concreto o est ejecutando un programa de una zona privilegiada especfica de memoria. Normalmente estas instrucciones estn reservadas para que las use el sistema operativo. Algunos ejemplos de operaciones de control de sistema son los siguientes: Una instrucciones de control de sistema puede leer o alterar un registro de control. Otro ejemplo es una instruccin para leer o modificar una clave de proteccin de memoria, tal como se utilizaba en el sistema de memoria del s/370. Otro ejemplo podra ser acceder a bloques de control de procesos de un sistema con multiprogramacin.

Control de flujo: 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 tiene como misin cambiar la secuencia de ejecucin de instrucciones. Para estas instrucciones, la operacin que realiza el CPU es actualizar el contador de programa para que contenga la direccin de alguna de las instrucciones que hay en memoria.

Direccionamiento

Una

instruccin

consiste

en

un

cdigo

de

operacin

(opcode)

generalmente acompaado con informacin adicional como la direccin de los operandos, el destino de los resultados y la direccin de la siguiente. El tema general de especificar dnde estn los operandos (es decir, sus direcciones) se llama direccionamiento.

Considere una instruccin ADD que requiere la especificacin de tres operandos: Dos fuentes y un destino. De alguna manera, la instruccin ADD debe indicar dnde estn los operandos y dnde debe poner se el resultado. Si las direcciones de memoria tienen 32 bits, la especificacin de esta instruccin requiere direcciones de 32 bits adems del cdigo de operacin. Las direcciones ocupan muchos ms bits que el cdigo de operacin.

Modos de Direccionamiento

Cada instruccin debe contener la informacin que necesita el CPU para su ejecucin: Cdigo de operacin Referencia a operandos fuente (direccin) Referencia a operando resultado (direccin) Referencia a la siguiente instruccin.

Los operandos fuente y resultado pueden estar en la memoria principal, el registro del CPU o en un dispositivo de E/S.

El direccionamiento toma en cuenta dos cosas: 1. Cmo se especifica la direccin de un operando o referencia. 2. Cmo se organizan los bits de una instruccin para definir las direcciones de los operandos y la operacin que realiza dicha instruccin. Es por ello que se emplean diversas tcnicas de direccionamiento. Todas ellas

implican algn compromiso entre el rango de direcciones y/o flexibilidad de direccionamiento de una parte, y por otro lado, el numero de referencias a memoria y/o la complejidad del clculo de las direcciones. Las tcnicas de direccionamiento ms comunes son las siguientes: Inmediato: El operando est presente en la propia instruccin. Es decir el campo direccin en la instruccin contiene el operando. Este modo puede utilizarse para definir y usar constantes, o para fijar valores iniciales de variables.

Directo: El campo de direccin contiene la direccin efectiva (EA) del operando. Caractersticas: o La instruccin contiene la EA del operando o Un acceso adicional es requerido para obtener el operando o El rango de direcciones est limitado por el ancho del campo que contiene la direccin del operando. o La direccin es una constante a tiempo de ejecucin pero el operando en s puede variar en tiempo de ejecucin.

Indirecto: El modo directo presenta el problema de que la longitud del campo de direcciones es normalmente menor que la longitud de una palabra, limitando de esta manera el rango de direcciones. Una solucin es hacer que el campo de direcciones referencie la direccin de una palabra de memoria que contiene la direccin completa del operando.

Registro: Modo similar al directo. La nica diferencia es que el campo de direccin referencia un registro en lugar de una direccin de memoria principal.

Indirecto con registro: Similar al indirecto. La diferencia est en que en el indirecto el campo de direccin hace referencia a un posicin de memoria que contiene la direccin del operando y en el indirecto con registro el campo de direccin hace referencia a un registro que contiene la direccin efectiva del operando con desplazamiento.

Modo con desplazamiento: Este modo combina las posibilidades de los modos directo e indirecto con registro. Requiere que las instrucciones tengan dos campos de direccin donde al menos uno de ellos es explcito. El valor contenido en uno de los campos de direccin se utiliza directamente. El otro campo de direccin o referencia implcita definida por el cdigo de operacin se refiere a un registro cuyo contenido se suma al primer campo de direccin para generar la direccin efectiva del operando.

Pila: La pila es una matriz lineal de posiciones. A veces denominada lista de apilamiento o cola LIFO. La pila es un bloque de posiciones reservado en memoria. Los elementos se aaden en la cabecera de manera que, en cualquier instante, el bloque est parcialmente lleno. La pila tiene asociado un puntero (SP) que hace referencia a la cabecera o tope de la pila. Dicho puntero se usa como puntero de direccionamiento. Tanto la cabecera como el puntero pueden residir en registros de procesador. Este modo es una forma de direccionamiento implcito. Las instrucciones mquina no necesitan incluir referencia a memoria sino que operan implcitamente con la cabecera de la pila.

Sistemas de Barras internas para el procesamiento de datos Los elementos que aparecen en el escritorio dependen del contenido del disco de la computadora, los recursos a los cuales puede acceder y las preferencias del usuario, por esta razn, dos escritorios de Windows particulares pueden tener una apariencia distinta. La barra de tareas aparece en la parte inferior de escritorio de Windows; se utiliza para iniciar y controlar programas. Tambin se puede iniciar un programa haciendo clic en la barra de inicio rpido, una seccin especial a la izquierda de la barra de tareas, mediante el cual puede aadir iconos con el propsito de iniciar programas rpidamente. La barra de titulo identifica el contenido de la ventana y tambin contiene los botones minimizar, restablecer y cerrar, los cuales le permite ocultar la ventana, redimensionarla o cerrar la aplicacin. La barra de men proporciona listas de comandos y opciones para este programa en particular. Las barras de herramientas contienen botones que le permiten emitir comandos rpidamente.

Las barras de desplazamiento Le permiten ver partes del programa o archivo que no cabe dentro de la ventana. Una barra de estado despliega informacin relacionada a su posicin dentro del documento, el conteo de pginas y el estado de las teclas del teclado. Regla que muestra las posiciones del texto, tabuladores, mrgenes, sangras, y otros elementos de la pgina.

Los programas de hoja de calculo tambin despliegan una barra de formula especial con la cual puede crear o editar datos y formulas dentro de la hoja de trabajo.

La unidad de Control Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad de proceso y el bus de entrada/salida. Su funcin es buscar las instrucciones en la memoria principal, decodificarlas (interpretacin) y ejecutarlas, empleando para ello la unidad de proceso. Existen dos tipos de unidades de control, las cableadas, usadas generalmente en mquinas sencillas, y las microprogramadas, propias de mquinas ms complejas. En el primer caso, los componentes principales son el circuito de lgica secuencial, el de control de estado, el de lgica combinacional y el de emisin de reconocimiento de seales de control . En el segundo caso, la microprogramacin de la unidad de control se encuentra almacenada en una micromemoria, a la cual se accede de manera secuencial para posteriormente ir ejecutando cada una de las microinstrucciones. Estructura del computador: Unidad aritmtico-lgica (UAL o ALU por su nombre en ingls, Arithmetic Logic Unit): aqu se llevan a cabo las operaciones aritmticas y lgicas. Por otra parte esta la unidad de control, que fue histricamente definida como una parte distinta del modelo de referencia de 1946 de la Arquitectura de von Neumann. En diseos modernos de computadores, la unidad de control es

tpicamente una parte interna del CPU y fue conocida primeramente como arquitectura Eckert-Mauchly. Memoria: que almacena datos y programas. Dispositivos de entrada y salida: alimentan la memoria con datos e instrucciones y entregan los resultados del cmputo almacenados en memoria. Buses: proporcionan un medio para transportar los datos e instrucciones entre las distintos elementos. La ALU, la unidad de control y algunos dispositivos de almacenamiento ms rpidos y pequeos que la memoria principal (los registros), constituyen la unidad central de procesamiento (UCP o CPU por su nombre en ingls: Central Processing Unit), que hoy en da normalmente reside ntegramente en el procesador.