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

Organizacin de Computadoras

2012

Clase 6

Tema de Clase

Ciclo de Instruccin

2012

Notas de Clase 6

Funcin de la computadora(1)
Ejecutar programas El programa est compuesto de instrucciones almacenadas en memoria La CPU procesa las instrucciones
Debe traerlas desde memoria una por vez Debe cumplir cada operacin ordenada

2012

Notas de Clase 6

Funcin de la computadora(2)
Podemos descomponer el procesamiento
de instrucciones en dos etapas:
Bsqueda: leer desde memoria.
Comn a todas las instrucciones.

Ejecucin: dependiendo de la instruccin puede implicar varias operaciones

2012

Notas de Clase 6

Funcin de la computadora(3)
El procesamiento requerido para una sola instruccin se llama ciclo de instruccin. Dos pasos:

ciclo de bsqueda y ciclo de ejecucin

La ejecucin del programa se interrumpe slo si la mquina se apaga, hay un error una instruccin que interrumpa a la computadora.
2012 Notas de Clase 6 5

Ciclos de bsqueda y ejecucin(1)


Inicio
Buscar la siguiente instruccin

Ciclo de bsqueda

Ejecutar la instruccin

Ciclo de ejecucin

Parar
2012 Notas de Clase 6 6

Ciclos de bsqueda y ejecucin(2)


Al principio de cada ciclo, la CPU busca una instruccin en memoria. En la CPU hay un registro, llamado contador de programa (PC), que tiene la direccin de la prxima instruccin a buscar. La CPU, despus de buscar cada instruccin, incrementa el valor contenido en PC; as podr buscar la siguiente instruccin en secuencia.
2012 Notas de Clase 6 7

Ciclos de bsqueda y ejecucin(3)


La instruccin buscada se carga dentro de un registro de la CPU, llamado registro de instruccin (IR). La instruccin est en la forma de un cdigo binario que especifica las acciones que tomar la CPU. La CPU interpreta cada instruccin y lleva a cabo las acciones requeridas.
2012 Notas de Clase 6 8

Ciclos de bsqueda y ejecucin(4)


En general las acciones caen en 4 tipos:
CPU Memoria
datos pueden transferirse entre memoria y CPU.

CPU E/S
datos pueden transferirse entre CPU y entrada/salida.

Procesamiento de datos
CPU efecta operaciones aritmticas lgicas en datos.

Control
alterar la secuencia de ejecucin de instrucciones.
2012 Notas de Clase 6 9

Ejemplo de bsqueda y ejecucin


IR
6 5 4 3 2 7 Secuen1

PC
PC=PC+1

MBR

2012

Notas de Clase 6

10

Ejemplo
El siguiente ejemplo muestra la ejecucin de un fragmento de programa que tiene tres instrucciones:
Cargar en el registro D el contenido de la posicin de memoria 94016 Sumar el contenido de la posicin de memoria 94116 al registro D y guardar el resultado en D Almacenar el valor del registro D en la posicin de memoria 94116

2012 Notas de Clase 6 11

Ejemplo (cont)
Consideremos que cada posicin de memoria almacena 16 bits. Los primeros 4 bits indican la operacin a realizar, los siguientes 12 bits indican una direccin de memoria.

2012

00012=1= cargar D desde la memoria 00102=2= almacenar D en memoria 01012=5= sumar D con un dato en memoria
Notas de Clase 6 12

Ejemplo: paso 1
El contador de programa (PC) contiene 30016 como la direccin de la primera instruccin. El contenido de esta direccin se carga en el registro de instruccin (IR). Este proceso implica usar MAR y MBR. Para simplificar por ahora los ignoramos.
2012 Notas de Clase 6 13

Ejemplo: paso 1
Memoria 300 301 302 940 941 Paso 1
2012 Notas de Clase 6 14

1940

Registros de la CPU

5941 2941

300
1 940

PC
D IR

0003 0002

Ejemplo: paso 2
Los primeros 4 bits en IR indican que el registro D se cargar con un dato proveniente de la direccin especificada en los restantes 12 bits de la instruccin. En este caso tal direccin es 94016.

2012

Notas de Clase 6

15

Ejemplo: paso 2
Memoria 300 301 302 940 941 Paso 2
2012 Notas de Clase 6 16

1940

Registros de la CPU

5941 2941

300 0003 1 940

PC
D IR

0003 0002

Ejemplo: paso 3
Se incrementa el contador de programa y se busca la siguiente instruccin en la direccin 30116.

2012

Notas de Clase 6

17

Ejemplo: paso 3
Memoria 300 301 302 940 941 Paso 3
2012 Notas de Clase 6 18

1940

Registros de la CPU

5941 2941

301 0003 5 941

PC
D IR

0003 0002

Ejemplo: paso 4
El 516 en IR indica que se debe sumar el contenido de una direccin de memoria especificada, en este caso la direccin es 94116, con el contenido del registro D y almacenar el resultado en el registro D.

2012

Notas de Clase 6

19

Ejemplo: paso 4
Memoria 300 301 302 940 941 Paso 4
2012 Notas de Clase 6 20

1940

Registros de la CPU

5941 2941

301 0003 0005 5 941


3+2=5

PC
D IR

0003 0002

Ejemplo: paso 5
Se incrementa el PC y se busca la siguiente instruccin en 30216

2012

Notas de Clase 6

21

Ejemplo: paso 5
Memoria 300 301 302 940 941 Paso 5
2012 Notas de Clase 6 22

1940

Registros de la CPU

5941 2941

302 0005 2 941

PC
D IR

0003 0002

Ejemplo: paso 6
El 216 en IR indica que el contenido del registro D se almacena en la direccin 94116, que est especificada en los bits restantes de la instruccin. En este ejemplo, se necesitan 3 ciclos de instruccin, cada uno con un ciclo de bsqueda y un ciclo de ejecucin.
2012 Notas de Clase 6 23

Ejemplo: paso 6
Memoria 300 301 302 940 941 Paso 6
2012 Notas de Clase 6 24

1940

Registros de la CPU

5941 2941

302 0005 2 941

PC
D IR

0003 0005

Ciclo de instruccin
Con este ejemplo podemos ahora tener
una visin ms detallada del ciclo de instruccin bsico. La figura siguiente est en forma de diagrama de estados. Para cualquier ciclo de instruccin dado, algunos estados pueden no estar y otros pueden repetirse.
Notas de Clase 6 25

2012

Diagrama de estados (1)


Acceso de CPU a memoria E/S
2 5 8

Operacin interna de la CPU


2012 Notas de Clase 6 26

Diagrama de estados (2)


1. clculo direccin instruccin: determina la direccin de la siguiente instruccin a ejecutarse 2. bsqueda instruccin: lee la instruccin de su posicin de memoria a la cpu. 3. decodificacin de la instruccin: analiza la instruccin para determinar el tipo de operacin a realizar y los operandos que se usarn.

2012

Notas de Clase 6

27

Diagrama de estados (3)


4. clculo direccin operando: si la operacin implica la referencia a un operando en la memoria e/s, entonces se determina la direccin. 5. bsqueda del operando: busca el operando en la memoria e/s. 6. operacin sobre los datos: ejecuta la instruccin. 7. clculo direccin resultado. 8. almacenamiento resultado.
2012 Notas de Clase 6 28

Diagrama de estados (4)


Los estados en la parte superior implican un intercambio entre la cpu y la memoria e/s. Los estados en la parte inferior implican slo operaciones internas en la cpu.

2012

Notas de Clase 6

29

Ejemplo: ADD
Supongamos la siguiente instruccin :

ADD referencia a registro, direccin de memoria


dir 2do operando ref 1er operando

Cdigo de operacin
2012 Notas de Clase 6 30

ADD: paso a paso (1)


Buscar la instruccin en memoria. Incrementar el PC. Decodificar la instruccin. Si es necesario, buscar una constante en una direccin de memoria. Si es necesario, incrementar PC para que apunte ms all de la constante.
2012 Notas de Clase 6 31

ADD: paso a paso (2)


Si es necesario calcular la direccin del operando. Buscar uno de los operandos, desde memoria registro. Buscar el otro operando desde registro. Realizar la Suma. Almacenar el resultado.
2012 Notas de Clase 6 32

Paso a paso (1)


En el primer paso, la CPU busca la instruccin en memoria. Para esto copia el valor del PC al MAR y de ah al bus de direcciones. La UC enva las seales necesarias para una operacin de lectura. Se pueden leer uno ms bytes. A travs del bus de datos al MBR y luego al IR.
2012 Notas de Clase 6 33

Paso a paso (2)


Despus de buscar la instruccin, la CPU debe incrementar el PC para apuntar a lo que sigue. Puede ser un dato, direccin la siguiente instruccin.

2012

Notas de Clase 6

34

Paso a paso (3)


El paso siguiente es decodificar la instruccin para saber que operacin hacer (suma, resta, etc.). En este momento la CPU no slo se entera de la operacin, sino tambin dnde se encuentran los datos sobre los cuales operar. La instruccin es auto-contenida, en ella todo est dicho.
2012 Notas de Clase 6 35

Paso a paso (4)


En el paso anterior la CPU determin si tiene que ir a buscar un operando a memoria, que ocupa una celda o ms (byte/s) y lo hace en este momento. Si existi el paso anterior la CPU debe incrementar el PC en el valor adecuado de celdas (1, 2 o mas).
2012 Notas de Clase 6 36

Paso a paso (5)


En este paso si es necesario, calcula la direccin del operando. Buscar los operandos. Sumar, restar Almacenar el resultado.

2012

Notas de Clase 6

37

Ejemplos adicionales
Simulacin de Instrucciones en MSX88 Ejecutar aplicacin MSX88.exe Almacenar en memoria:

e 2000 b8002081c000e0

Analizar la ejecucin ciclo de instruccin a ciclo de instruccin con <F6>

2012

Notas de Clase 6

38

mas informacin
Ciclo de instruccin: Captulo 3 apartado 3.2. Captulo 11 apartados 11.1. y 11.3.

Stallings, W., 5 Ed.

Lenguaje Assembly

Apunte 4 de ctedra
En Descargas de pgina web de ctedra
Notas de Clase 6 39

Simulador MSX88

2012

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