ejemplo de programa - apps4two.com fileejemplo de programa dirección 000100 contenido 000101 000110...

59
Ejemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001 0011100000000000 1010001000001100 0001111100000000 0000000100000000 1000000000001000 0111100000100000

Upload: others

Post on 20-Oct-2019

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejemplo de programa

Dirección

000100

Contenido

000101

000110

000111

001000

001001

001010

001011

001100

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 2: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Inicio de la ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

001011

001100

?

?

?

?

?

000100 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 3: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100

Page 4: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100

000100

Page 5: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100

000100

Page 6: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100 0010000000000000

000100

Page 7: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100 0010000000000000

000101

Page 8: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100 0010000000000000

0010000000000000

000101

Page 9: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC 001

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100 0010000000000000

000101

0010000000000000

Page 10: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC 001

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100 0010000000000000

000101

0010000000000000

Page 11: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución de instrucciones

RI001

R0 0000000000

Se carga en R0 el valor 0

001 0000000000000

Page 12: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución de instrucciones

RI010

R1 MP[00000001001]

Dirección Contenido

00000001001

Se carga en R1 el contenido de la posición de memoria00000001001

0000000000000101

010 0100000001001

Page 13: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución de instrucciones

RI

PC 0000000001000

Se modifica el PC con la dirección 0000000001000

de forma que la siguiente instrucción a ejecutar es la queencuentra en 0000000001000

se

100 0000000001000

Page 14: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100 0010000000000000

0010000000000000

000101

Page 15: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Fases de ejecución de una instrucción

PC

RI

!  Lectura de la instrucción (ciclo de fetch)"  MAR"  Lectura"  MBR"  PC

PC

MemoriaPC + 1 MAR MBR

"  RI MBR

!  Decodificación de la instrucción

!  Ejecución de la instrucción!  Volver a fetch

Memoria

Dirección Contenido

000100 0010000000000000

000100 0010000000000000

0010000000000000

000101

Page 16: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

?

?

?

?

?

000100 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 17: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

?

?

?

?

0010000000000000

000100 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 18: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC + 1

001100

?

?

?

?

0010000000000000

000101 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 19: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

?

?

?

?

000101

0010000000000000

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 20: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónR0

00101100000000000

001100

00000000000

?

?

?

0010000000000000

000101 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 21: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

00000000000

?

?

?

0010000000000000

000101 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 22: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

00000000000

?

?

?

0010100000000100

000101 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 23: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC +1

001100

00000000000

?

?

?

0010100000000100

000110 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 24: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

00000000000

?

?

?

000110

0010100000000100

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 25: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónR1

00101100000000100

001100

00000000000

00000000100

?

?

0010100000000100

000110 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 26: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

00000000000

00000000100

?

?

0010100000000100

000110 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 27: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

00000000000

00000000100

?

?

0011000000000001

000110 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 28: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC +1

001100

00000000000

00000000100

?

?

0011000000000001

000111 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 29: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

00000000000

00000000100

?

?

000111

0011000000000001

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 30: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónR2

00101100000000001

001100

00000000000

00000000100

00000000001

?

0011000000000001

000111 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 31: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

00000000000

00000000100

00000000001

?

0011000000000001

000111 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 32: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

00000000000

00000000100

00000000001

?

0011100000000000

000111 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 33: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC +1

001100

00000000000

00000000100

00000000001

?

0011100000000000

001000 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 34: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

00000000000

00000000100

00000000001

?

001000

0011100000000000

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 35: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónR3

00101100000000000

001100

00000000000

00000000100

00000000001

00000000000

0011100000000000

001000 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 36: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

00000000000

00000000100

00000000001

00000000000

0011100000000000

001000 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 37: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

00000000000

00000000100

00000000001

00000000000

1010001000001100

001000 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 38: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC +1

001100

00000000000

00000000100

00000000001

00000000000

1010001000001100

001001 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 39: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

00000000000

00000000100

00000000001

00000000000

001001

1010001000001100

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 40: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónSi el contenido del registro 001011

01 esigualal del registro 00 se salta a ejecutar la

instrucción almacenada en 000001100001100

00000000000

00000000100

00000000001

00000000000

001001

1010001000001100

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 41: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

00000000000

00000000100

00000000001

00000000000

1010001000001100

001001 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 42: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

00000000000

00000000100

00000000001

00000000000

0001111100000000

001001 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 43: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC + 1

001100

00000000000

00000000100

00000000001

00000000000

0001111100000000

001010 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 44: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

00000000000

00000000100

00000000001

00000000000

001010

0001111100000000

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 45: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónR3

001011R3 + R2

001100

00000000000

00000000100

00000000001

00000000001

0001111100000000

001010 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 46: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

00000000000

00000000100

00000000001

00000000001

0001111100000000

001010 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 47: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

00000000000

00000000100

00000000001

00000000001

0000000100000000

001010 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 48: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC +1

001100

00000000000

00000000100

00000000001

00000000001

0000000100000000

001011 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 49: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

00000000000

00000000100

00000000001

00000000001

001011

0000000100000000

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 50: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónR0

001011R0 + R2

001100

00000000001

00000000100

00000000001

00000000001

0000000100000000

001011 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 51: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Fetch001011

001100

00000000001

00000000100

00000000001

00000000001

0000000100000000

001011 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 52: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchLectura

001011de la Inst.

001100

00000000001

00000000100

00000000001

00000000001

1000000000001000

001011 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 53: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

FetchPC

001011PC +1

001100

00000000001

00000000100

00000000001

00000000001

1000000000001000

001100 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 54: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Decodificación001011

001100

00000000001

00000000100

00000000001

00000000001

001100

1000000000001000

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 55: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

EjecuciónSe salta a ejecutar la instrucciónalmacenada en la posición dememoria 0000000001000

001011

001100

00000000001

00000000100

00000000001

00000000001

1000000000001000

001100 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 56: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010

Ejecución001011

PC 0000000001000

001100

00000000001

00000000100

00000000001

00000000001

0001000

1000000000001000

0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 57: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Ejecución del programa

Dirección

000100

Contenido

PC

RI

00011011

000101

000110

000111

001000

001001

001010Continúa la ejecución

001011

001100

00000000001

00000000100

00000000001

00000000001

1000000000001000

0001000 0010000000000000

0010100000000100

0011000000000001

0011100000000000

1010001000001100

0001111100000000

0000000100000000

1000000000001000

0111100000100000

Page 58: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Algoritmo del programa anterior

i=0;s = 0;while{

(i < 4)

si

==

si

++

1;1;

}

El programa almacenael valor: 1 + 1 + 1 + 1

en la posición de memoria 00000100000

Page 59: Ejemplo de programa - apps4two.com fileEjemplo de programa Dirección 000100 Contenido 000101 000110 000111 001000 001001 001010 001011 001100 0010000000000000 0010100000000100 0011000000000001

Lenguaje ensamblador

lililili

R0,R1,R2,R3,

0410

bucle: beqaddadd

R0,R3,R0,

R1,R3,R0,

finR2R2

b buclefin: sw R3, 100000