Ciclos de Captacion y Ejecucion

Click here to load reader

download Ciclos de Captacion y Ejecucion

of 35

Transcript of Ciclos de Captacion y Ejecucion

EJECUCIN DE INSTRUCCIONES

Ing. Brbara BriceoCiclos de Bsqueda y Ejecucin

Asignatura Arquitectura de Computadores I1EJECUCIN DE INSTRUCCIONESLa funcin bsica que realiza un computador es la ejecucin de un programa. Un programa consiste en un conjunto de instrucciones y datos almacenados en la unidad de memoria. La CPU es la encargada de ejecutar las instrucciones especificadas en el programa.

EJECUCIN DE INSTRUCCIONES(2)La secuencia de operaciones realizadas en la ejecucin de una instruccin constituye lo que se denomina ciclo de instruccin. Lo ms cmodo es considerar que el procesamiento del ciclo de instruccin consta de dos fases:

a) Fase de Bsqueda

b) Fase de Ejecucin

EJECUCIN DE INSTRUCCIONES(3)La culminacin de cada una de estas fases necesita de uno a seis ciclos de reloj.

Fase de Bsqueda: (1) Transferir el contenido del Contador de Programa (CP) al registro de Direcciones (RD).1.2.3.4.Pasar a registro de Memoria (RM) el dato almacenado en la direccin de memoria indicada por RD.Transferir el dato ledo desde el RM al registro de instruccin (RI). Incrementar el valor del Contador de Programa para apuntar a la instruccin siguiente.

Esquema bsico de un computador didcticoPARTES DEL COMPUTADOR

Fase de Bsqueda: (2)

Registro deDireccionesRegistro de InstruccionesRegistro de MemoriaRegistro Contador de Programa5Decodificacin ...Fase de Ejecucin: (3)comprende el conjunto de operaciones elementales especficas de la instruccin en curso. 5.Decodificacin de la Instruccin. Por ejemplo la Instruccin ADD.(la instruccin es cambiada por su cdigo mquina correspondiente)6.

Transferencia del campo CD de la instruccin en curso ( este campo contiene la direccin de memoria en la que se encuentra el operando, y que se encuentra en el registro RI desde que finaliz la fase de bsqueda), al registro RD. Se inicia, por tanto, un proceso similar al de la fase de bsqueda, pero en esta ocasin para buscar en memoria el operando de la instruccin....fase de ejecucin:7.Lanzar un ciclo de lectura de memoria que ponga en RM el operando almacenado en la direccin indicada por RD. 8.Transferencia del dato ledo desde el RM al registro intermedio ,Ro2, del Operador. Paralelamente se puede transferir el otro operando desde el acumulador, AC, (contenido en l un instante anterior), al registro intermedio Ro1. Realizar la operacin de SUMA (ADD) y almacenar el resultado en el AC.9.modos de direccionamiento.Consiste en determinar la forma en la que se va ha leer o escribir un dato. Modos de direccionamiento INMEDIATO; el dato est en la propia instruccin ( ejemplo: SUMA 7, 3), en el ejemplo los dos son datos, el resultado es 10. DIRECTO; en la instruccin est contenida la direccin de memoria donde se encuentra el dato (ejemplo: SUMA 7, 01) , 7 es un dato, 01 es una direccin de memoria donde se encuentra el dato. En la direccin de memoria 01 est contenido el dato, 3; el resultado es: [7 + (01=3)] = 10.

Nota: no se pueden mezclar dos datos con direccionamiento directo, es decir: directo-directo. modos de direccionamiento.RELATIVO A REGISTRO; aclarar primero que existen varios tipos de registros.

Registro de instruccinRIRegistro de memoriaRMRegistro de direccionesRDContador de programaCP

(Ejemplo: SUMA 3+CP, 1), en este caso el direccionamiento es relativo a registro Contador de Programa.

4 CP; 3+4=(direccin de memoria) 07. Si 1 en la instruccin es dato el resultado es: 4+1= 5.Como hemos observado, la direccin en la que se encuentra el dato se tiene que calcular. La direccin del puntero + el desplazamiento indicado en la propia instruccinNos lleva al dato.modos de direccionamiento.INDEXADO o direccionamiento a Registro Base. Un registro ndice contiene una direccin de referencia que acta como puntero: se emplea para recorrer estructuras de datos tipo vector o tabla. Su valor se modificacon frecuencia.

INDIRECTO; la instruccin contiene una direccin de memoria que llevaa otra direccin de memoria en la que se encuentra el dato.

(ejemplo: 04, 3), en 04 se encuentra 06 y en 06 est el dato: 2. El resultadoes 2+3= 5.Elementos principales de la Unidad de ControlEl CP es un registro que contiene la direccin de la siguiente instruccin que hay que ejecutar.El RI es un registro que contiene la instruccin que se est ejecutando en cada momento.El decodificador se encarga de examinar el cdigo de operacin de la instruccin que se encuentra en el registro de instruccin para determinar que es lo que hay que hacer.El secuenciador ordena que se realicen las operaciones necesarias para ejecutar la instruccin cuyo cdigo de operacin ha examinado el decodificador.

formatos de instruccintienen varios formatos.

Cdigo de OperacinOperando 1dato Mtodo de direccionamientoCampo de registroTipo de registroDesplazamiento, direccin o datoEjemplo:Relativo a R. baseR.I.

(registro de instruccin)Operando 2Un programa suele estar dividido en dos partes o zonas; una zona para cdigo y otra para datos. Como ya hemos estudiado, una instruccin puede contener el dato propiamente dicho o una direccin de memoria que nos lleve al dato.Instr. [ etiqueta: ] Cod. Op. [ operandos ] [ ; comentario ]Ejemplo: GUARDAR: SUMA 7,3 ; esto es una sumaPara poder trabajar con una CPU determinada, lo primero que debemos conocer es la longitud de palabra de sus registros.Una CPU de 32 bits dispone de los siguientes registros:Datos; D0, ..........................., D7.Direcciones; A0, ........................., A6.Los anteriores son registros de acceso a memoria.

Otros registros son:CP contador de programa, SR registro de estado, SP puntero de pila, .................

formatos de palabra.

(+)(-)0102030405Byte ms significativoByte menos significativo8 bitsbyte (B)palabra (W)palabra larga (L)Si trabajamos con registros de 16 bits y deseamos mover datos con una longitudde palabra de 32 bits, tendremos que recurrir a posiciones de memoria contiguas:Cdigo de Operacin:Cdigo de Operacin:CD. OP. | para formato de 32 bits: L | Sintaxis: [Cd. Op.].[L]| para formato de 16 bits: W | | para formato de 8 bits: B | Ejemplo: instruccin que permite realizar una suma: ADD.W D0, D1modificadores: algunos modificadores empleados en instrucciones son:% binario$ hexadecimal# direccionamiento inmediatoEjemplo: MOVE.B #10, D1

Representacin de la informacinEn la representacin conceptual de una memoria se tiende a emplear notacin hexadecimal, que es ms fcil de leer y simplifica muchsimo la representacin de la informacin. A pesar de todo, esta forma de escribir las rdenes de un computador resulta tambin algo engorroso para el programador, por lo que se emplean cdigos nemotcnicos que ayudan a comprender el significado de cada combinacin hexadecimal.

El lenguaje mquina est ntimamente ligado a la construccin interna del computador. Los programas escritos en lenguaje mquina slo son transportables a otras mquinas de idnticas caractersticas.

ejemplo de representacin de la informacinrepresentacin de la informacinrepresentacin de la informacinLa representacin en hexadecimal se hace con agrupaciones de 4-bits. Los nmeros en hexadecimal se escriben con el sufijo H (mayscula o minscula) para indicar el sistema de numeracin.

Ej: 6E8.58H011011101000. 01011000 6 E 8 5 8A29.C4H101000101001. 11000100 A 2 9 C 4Esta representacin slo sera vlida para registros de 4-bits.

Hay que tener presente que en un sistema basado en microprocesador es habitual registros de 8, 16 y 32 bits.Por ejemplo: si el registro A de 8-bits contiene la siguiente secuencia, 1011 0011, se escribira as; B3H.O una direccin de 16-bits sera como sigue: 0000 0100 0001 1101, en hexadecimal 041DH.Ejemplos con nemotcnicos:Instruccin MOVE.L D0, D1

Tipo de instruccin: transferencia entre registros.Carga el contenido del registro D0 en el registro D1. Ambos son de 32 bits por lo que supone el intercambio entre ellos de una palabra larga.

Cdigo:BinarioHexadecimalNemotcnico Descripcin00100010000000002200MOVE.L D0, D1 (D0) (D1)

Instruccin NOPTipo de instruccin: miscelnea.Su misin es no realizar ninguna operacin. Su nico efecto es provocar un pequeo retardo temporal ya que obliga a mantener funcionando el bucle de ejecucin de instrucciones.Cdigo:BinarioHexadecimalNemotcnicoDescripcin01001110011100014E71NOPNo operacin

Para buscar la instruccin que se debe ejecutar a continuacin, la unidad de control mantiene actualizado un registro de propsito especial o dedicado, el Contador de Programa, CP. El contador de programa es un registro de operacin que siempre mantiene la direccin de la prxima instruccin a ejecutar.Cuando el procesador es inicializado la unidad de control coloca el contador de programa a cero.La direccin contenida en el contador de programa se coloca en el bus de direcciones. Para ello, la unidad de control transfiere el contenido del CP al registro de direccin, RD.

el Contador de ProgramaInterconexin con los buses y la memoria.El dato se transfiere al procesador a travs del bus de datos y el registro de instruccin, RI.

Interconexin con los buses: arquitectura de bus interno.

La primera palabra de una instruccin es el cdigo de operacin para dicha instruccin. El cdigo de operacin indica a la unidad de control las operaciones requeridas para ejecutar la instruccin.Todos estos son registros internos, ubicados en el interior de la propia CPU.Durante una operacin normal, el procesador busca secuencialmente y ejecuta una instruccin tras otra, hasta que se procesa una instruccin (HALT) de paro. La bsqueda y ejecucin de una instruccin constituye el ciclo de instruccin, que representa a su vez una o ms operaciones de acceso a memoria o a dispositivos de E/S. Cada acceso a memoria requiere un ciclo mquina.Ciclo mquina.Hay, por ejemplo, siete tipos diferentes de ciclo mquina en el 8085.

bsqueda de Cod. Op.lectura de MEMORIAescritura a MEMORIAlectura de E/Sescritura a E/Srespuesta a interrupcinbus inactivo.

Representacin del ciclo mquina.El repertorio de instrucciones Todo computador posee un repertorio de instrucciones que es capaz de ejecutar, constituyendo este, lo que se conoce como lenguaje mquina del computador.Estas instrucciones se encuentran codificadas de acuerdo a un formato especfico del computador, y constituyen una opcin ms del diseo del mismo.En general, el algoritmo de solucin de cualquier problema consiste en varios pasos que deben realizarse en una secuencia especfica. Para implantar tal algoritmo en un computador, estos pasos se descomponen en pasos ms pequeos, cada uno de los cuales representa una instruccin del computador. La secuencia de instrucciones resultante es un programa en lenguaje mquina, que representa al algoritmo en cuestin.Cada instruccin mquina del computador se ejecuta realizando una secuencia de operaciones elementales ms rudimentarias. A su vez, cada operacin elemental requiere la activacin de un conjunto de seales de control por parte del secuenciador de la Unidad de Control. La activacin de dichas seales se efecta a golpe de reloj.

Unidad de controlLa misin fundamental de esta unidad se centra en recoger las instrucciones que componen un programa, interpretarlas y controlar su ejecucin.Dado que las instrucciones se encuentran almacenadas en la unidad de memoria, deber encargarse en primer lugar de recibirlas en el orden establecido. En segundo lugar, deber identificar de qu instruccin se trata en cada caso. Por ltimo, tendr que generar la secuencia adecuada de rdenes para el resto de elementos que constituyen el computador, de manera que cada instruccin se ejecute correctamente.