Anda di halaman 1dari 70

Los pasos a seguir para el procesamiento de las instrucciones son los siguientes: 1.

cada instruccin es leda ( una a la vez), desde la memoria, por el procesador y, 2. cada instruccin es ejecutada por el procesador. La repeticin de la lectura y ejecucin ( pasos 1 y 2 respectivamente), conforman la ejecucin de un programa. Dicha ejecucin puede detenerse si: la mquina se apaga, ocurre un error que no puede ser recuperado, o si, se encuentra una instruccin en el programa que detenga la computadora.

CICLO DE LAS INSTRUCIONES EN MICROPROCESADORES DE 8 BITS


Elaborado por: Ing. Jaime E. Velarde
jaime.velarde@epn.edu.ec

DIAGRAMA DE FLUJO DEL CICLO DE LAS INSTRUCIONES


RESET SI EL CONTENIDO DEL CONTADOR DEL PROGRAMA SALE POR EL BUS DE DIRECCIONES, PARA ACCEDER A UNA LOCALIDAD DE LA MEMORIA ES EL EL PRIMER BYTE DE LA INSTRUCCIN? NO

SE UBICA EN EL REGISTRO DE INSTRUCCIONES, PARA SER DECODIFICADO NO SE HAN TRANSFERIDO TODOS LOS BYTES DE LA INSTRUCCIN?

SE UBICA EN OTRO REGISTRO INTERNO DEL MICROPROCESADOR SI

EL CONTENIDO DEL CONTADOR DEL PROGRAMA SE INCREMENTA EN UNO

EL CONTENIDO DE LA LOCALIDAD DE LA MEMORIA ES TRANSFERIDO AL MICROPROCESADOR, MEDIANTE EL BUS DE DATOS

EJECUCIN DE LA INSTRUCCIN Incluye: el acceso a los OPERANDOS si es el caso

jaime.velarde@epn.edu.ec

SOLAMENTE EL MICROPROCESADOR, NO ES LA SOLUCIN A UN PROBLEMA


jaime.velarde@epn.edu.ec

EL RELOJ ACTA SOBRE LA UNIDAD DE CONTROL Y DEFINE LA VELOCIDAD DE EJECUCIN DE LAS INSTRUCCIONES

jaime.velarde@epn.edu.ec

RESET ES LA SEAL QUE INICIA LA EJECUCIN DE LOS PROGRAMAS


jaime.velarde@epn.edu.ec

LA MEMORIA CONTIENE AL PROGRAMA, LOS DATOS Y DONDE SE ALMACENA LOS RESULTADOS


jaime.velarde@epn.edu.ec

A TRAVS DEL BUS DE DIRECCIONES SE SELECCIONA UNA LOCALIDAD PARA LA TRANSFERENCIA

jaime.velarde@epn.edu.ec

MEDIATE EL BUS DE DATOS SE REALIZA LA TRANSFERENCIA CON LA LOCALIDAD SELECCIONADA


jaime.velarde@epn.edu.ec

AL ENCENDER LOS CIRCUITOS, SE ACTIVAN LAS SEALES DEL RELOJ Y DEL RESET
jaime.velarde@epn.edu.ec

10

CON LA ACTIVACIN DEL RESET SE INICIA LA EJECUCIN DEL PROGRAMA


jaime.velarde@epn.edu.ec

11

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

12

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

13

LECTURA DESDE LA MEMORIA: COMO ES EL PRIMER BYTE SE UBICA EN EL REGISTRO DE INSTRUCCIONES


jaime.velarde@epn.edu.ec

14

LA INSTRUCCIN DECODIFICADA TIENE UN BYTE Y ES: BORRAR EL ACUMULADOR Y PASA AL CICLO DE EJECUCIN, PONE AL 15 jaime.velarde@epn.edu.ec ACUMULADOR EN 00H

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

16

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

17

LECTURA DESDE LA MEMORIA: COMO ES EL PRIMER BYTE SE UBICA EN EL REGISTRO DE INSTRUCCIONES


jaime.velarde@epn.edu.ec

18

LA INSTRUCCIN DECODIFICADA TIENE DOS BYTES Y ES: SUMAR AL ACUMULADOR EL SIGUIENTE BYTE E INICIA OTRA LECTURA
jaime.velarde@epn.edu.ec

19

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

20

LECTURA DESDE LA MEMORIA: COMO ES EL SEGUNDO BYTE SE UBICA EN UN REGISTRO TEMPORAL


jaime.velarde@epn.edu.ec

21

SE HA LEIDO TODA LA INSTRUCCIN: PASA AL CICLO DE EJECUCIN, SUMA AL ACUMULADOR EL REGISTRO TEMPORAL Y jaime.velarde@epn.edu.ec ACTUALIZA LA BANDERA DEL CARRY

22

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

23

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

24

LECTURA DESDE LA MEMORIA: COMO ES EL PRIMER BYTE SE UBICA EN EL REGISTRO DE INSTRUCCIONES


jaime.velarde@epn.edu.ec

25

LA INSTRUCCIN DECODIFICADA TIENE DOS BYTES Y ES: SUMAR AL ACUMULADOR EL SIGUIENTE BYTE E INICIA OTRA LECTURA
jaime.velarde@epn.edu.ec

26

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

27

LECTURA DESDE LA MEMORIA: COMO ES EL SEGUNDO BYTE SE UBICA EN UN REGISTRO TEMPORAL


jaime.velarde@epn.edu.ec

28

SE HA LEIDO TODA LA INSTRUCCIN: PASA AL CICLO DE EJECUCIN, SUMA AL ACUMULADOR EL REGISTRO TEMPORAL Y jaime.velarde@epn.edu.ec ACTUALIZA LA BANDERA DEL CARRY

29

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

30

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

31

LECTURA DESDE LA MEMORIA: COMO ES EL PRIMER BYTE SE UBICA EN EL REGISTRO DE INSTRUCCIONES


jaime.velarde@epn.edu.ec

32

LA INSTRUCCIN DECODIFICADA TIENE TRES BYTES Y ES: ALMACENAR EN LA SIGUIENTE DIRECCIN EL ACUMULADOR E INICIA OTRA jaime.velarde@epn.edu.ec LECTURA

33

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

34

LECTURA DESDE LA MEMORIA: COMO ES EL SEGUNDO BYTE SE UBICA EN UN REGISTRO TEMPORAL


jaime.velarde@epn.edu.ec

35

AN NO SE HAN TRAIDO TODOS LOS BYTES DE LA INSTRUCCIN, SE INICIA OTRA LECTURA


jaime.velarde@epn.edu.ec

36

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

37

LECTURA DESDE LA MEMORIA: COMO ES EL TERCER BYTE SE UBICA EN OTRO REGISTRO TEMPORAL
jaime.velarde@epn.edu.ec

38

SE HA LEIDO TODA LA INSTRUCCIN: PASA AL CICLO DE EJECUCIN, SALE LA DIRECCIN QUE SE LEY POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

39

SALE EL CONTENIDO DEL ACUMULADOR POR EL BUS DE DATOS PARA ALMACENARCE EN LA LOCALIDAD SELECCIONADA, COMPLETANDO jaime.velarde@epn.edu.ec EL CICLO DE EJECUCIN

40

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

41

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

42

LECTURA DESDE LA MEMORIA: COMO ES EL PRIMER BYTE SE UBICA EN EL REGISTRO DE INSTRUCCIONES


jaime.velarde@epn.edu.ec

43

LA INSTRUCCIN DECODIFICADA TIENE DOS BYTES Y ES: ALMACENAR EN EL ACUMULADOR EL SIGUIENTE BYTE E INICIA OTRA LECTURA 44 jaime.velarde@epn.edu.ec

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

45

LECTURA DESDE LA MEMORIA: COMO ES EL SEGUNDO BYTE SE UBICA EN ESTE CASO EN EL ACUMULADOR, QUE CORRESPONDE AL CICLO 46 jaime.velarde@epn.edu.ec DE EJECUCIN

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

47

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

48

LECTURA DESDE LA MEMORIA: COMO ES EL PRIMER BYTE SE UBICA EN EL REGISTRO DE INSTRUCCIONES


jaime.velarde@epn.edu.ec

49

LA INSTRUCCIN DECODIFICADA TIENE UN BYTE Y ES: DESPLAZAR A LA IZQUIERDA JUNTO CON EL CARRY AL ACUMULADOR Y jaime.velarde@epn.edu.ec PASA AL CICLO DE EJECUCIN

50

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

51

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

52

LECTURA DESDE LA MEMORIA: COMO ES EL PRIMER BYTE SE UBICA EN EL REGISTRO DE INSTRUCCIONES


jaime.velarde@epn.edu.ec

53

LA INSTRUCCIN DECODIFICADA TIENE TRES BYTES Y ES: ALMACENAR EN LA SIGUIENTE DIRECCIN EL ACUMULADOR E INICIA OTRA jaime.velarde@epn.edu.ec LECTURA

54

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

55

LECTURA DESDE LA MEMORIA: COMO ES EL SEGUNDO BYTE SE UBICA EN UN REGISTRO TEMPORAL


jaime.velarde@epn.edu.ec

56

AN NO SE HAN TRAIDO TODOS LOS BYTES DE LA INSTRUCCIN, SE INICIA OTRA LECTURA


jaime.velarde@epn.edu.ec

57

INCREMENTO AUTOMTICO DEL CONTENIDO DEL CONTADOR DEL PROGRAMA


jaime.velarde@epn.edu.ec

58

LECTURA DESDE LA MEMORIA: COMO ES EL TERCER BYTE SE UBICA EN OTRO REGISTRO TEMPORAL
jaime.velarde@epn.edu.ec

59

SE HA LEIDO TODA LA INSTRUCCIN: PASA AL CICLO DE EJECUCIN, SALE LA DIRECCIN QUE SE LEY POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

60

SALE EL CONTENIDO DEL ACUMULADOR POR EL BUS DE DATOS PARA ALMACENARCE EN LA LOCALIDAD SELECCIONADA, COMPLETANDO jaime.velarde@epn.edu.ec EL CICLO DE EJECUCIN

61

INICIO DEL CICLO DE LA INSTRUCCIN: SALE EL CONTENIDO DEL CONTADOR DEL PROGRAMA POR EL BUS DE DIRECCIONES
jaime.velarde@epn.edu.ec

62

LOS MICROPROCESADORES PERMANECEN DENTRO DEL CICLO DE LAS INSTRUCCIONES MIENTRAS SE MANTENGA LA FUENTE DE ALIMENTACIN SALEN DE ESTA SECUENCIA, SOLO CUANDO SE ACTIVA LA SEAL DE RESET INICIAN EL CICLO DE LA PRIMERA INSTRUCCIN DEL PROGRAMA UNA VEZ QUE SE DESACTIVA LA SEAL DE RESET
jaime.velarde@epn.edu.ec

63

UNIDAD DE DECODIFICACION Se encarga de decodificar la

instruccin que se va a ejecutar. Es decir, saber qu instruccin es. Cuando el microprocesador lee de memoria una instruccin, el cdigo de esa instruccin le llega a esta unidad. Esta unidad se encarga de interpretar ese cdigo para averiguar el tipo de instruccin a realizar. Por ejemplo, instrucciones de suma, multiplicacin, almacenamiento de datos en memoria,etc. UNIDAD DE EJECUCION Una vez que la unidad de decodificacin sabe cul es el significado de la instruccin leda de memoria, se lo comunica a la unidad de ejecucin. Esta unidad ser la encargada de consumar la ejecucin y para ello activar las seales necesarias y en un orden determinado. Es decir, es la encargada de dar las rdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones.

UNIDAD ARITMETICO LOGICA (ALU) La ALU

(Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicacin, divisin y aquellas que trabajan con dgitos binarios (10 que se conoce como operaciones lgicas: ANO, NOR, NOT, NANO, OR, X-OR, etc). En suma, saber cmo funciona un microprocesador, implica conocer cmo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instruccin son:

UNIDAD DE CONTROL Es el centro nervioso del ordenador, ya que desde ella

se controlan y gobiernan todas las operaciones. Cmo funciones bsicas tiene: * tomar las instrucciones de memoria * decodificar o interpretar las instrucciones * ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes a la propia CPU) y de tipo externo (inherentes a los perifricos) Para realizar su funcin, la unidad de control consta de los siguientes elementos: * Contador de programa * Registro de instrucciones * Decodificador * Reloj * Secuenciador * .

Contador de programa. Contiene permanentemente la direccin de memoria

de la siguiente instruccin a ejecutar. Al iniciar la ejecucin de un programa toma la direccin de su primera instruccin. Incrementa su valor en uno, de forma automtica, cada vez que se concluye una instruccin, salvo si la instruccin que se est ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomar la direccin de la instruccin que se tenga que ejecutar a continuacin; esta direccin est en la propia instruccin en curso. .Registro de instruccin. Contiene la instruccin que se est ejecutando en cada momento. Esta instruccin llevar consigo el cdigo de operacin (un cdigo que indica qu tipo de operacin se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que acta la instruccin, por ejemplo los nmeros a sumar) o las direcciones de memoria de estos operandos. .Decodificador. Se encarga de extraer el cdigo de operacin de la instruccin en curso (que est en el registro de instruccin), lo analiza y emite las seales necesarias al resto de elementos para su ejecucin a travs del secuenciador . .Reloj. Proporciona una sucesin de impulsos elctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instruccin. .Secuenciador. En este dispositivo se generan rdenes muy elementales (micrordenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instruccin que est cargada en el registro de instruccin.

UNIDAD ARITMTICO-LGICA (ALU)

Esta unidad se encarga de realizar las operaciones elementales de tipo aritmtico (sumas, restas, productos, divisiones) y de tipo lgico (comparaciones). A travs de un bus interno se comunica con la unidad de control la cual le envia los datos y le indica la operacin a realizar . La ALU est formada a su vez por los siguientes elementos: * Circuito operacional * Registros de entrada (REN) * Registro acumulador * Registro de estado (flags) .Circuito operacional. Contiene los circuitos necesarios para la realizacin de las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de rdenes para seleccionar la clase de operacin que debe realizar en cada momento (suma, resta, etc). .Registros de entrada (REN). En ellos se almacenan los datos u operandos que intervienen en una instruccin antes de la realizacin de la operacin por parte del circuito operacional. Tambin se emplean para el almacenamiento de resultados intermedios o finales de las operaciones respectivas. .Registro acumulador. Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Est conectado con los registros de entrada para realimentacin en el caso de operaciones encadenadas. Asimismo tiene una conexin directa al bus de datos para el envo de los resultados a la memoria central o a la unidad de control. .Registro de estado (flags). Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la ltima operacin realizada y que habrn de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo.

Las instrucciones se clasifican segn su funcin en: *.Instrucciones de transferencia de datos. Estas instrucciones mueven

datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros internos del microprocesador, y viceversa. Tambin se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no slo un dato, sino un conjunto de hasta 64 K Bytes? con una sola instruccin. .Instrucciones de clculo. Son instrucciones destinadas a ejecutar ciertas operaciones aritmticas, como por ejemplo sumar, restar, multiplicar o dividir, o ciertas operaciones lgicas, como por ejemplo ANO, OR, as como desplazamiento y rotacin de bits. .Instrucciones de transferencia del control del programa. Permiten romper la secuencia lineal del programa y saltar a otro punto del mismo. Pueden equivaler a la instruccin GOTO que traen muchos lenguajes de programacin. .Instrucciones de control. Son instrucciones especiales o de control que actan sobre el propio microprocesador. Permiten acceder a diversas funciones, como por ejemplo activar o desactivar las interrupciones, pasar rdenes al coprocesador matemtico, detener la actividad del microprocesador hasta que se produzca una interrupcin, etc.

Prcticamente todas las instrucciones estn formadas

por dos elementos: * cdigo de operacin que indica el tipo de operacin se va a realizar * operandos, que son los datos sobre los que acta. Por ejemplo, una instruccin que sume dos nmeros est formado por: * cdigo de operacin que indique sumar * primer nmero a sumar * segundo nmero a sumar Existen instrucciones que slo tienen un operando o incluso que no tienen ninguno, estando formadas solamente por el cdigo de operacin.

Anda mungkin juga menyukai