ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROCESO DE EJECUCIÓN DE UNA INSTRUCCIÓN


Enviado por   •  3 de Noviembre de 2020  •  Resúmenes  •  993 Palabras (4 Páginas)  •  344 Visitas

Página 1 de 4

PROCESO DE EJECUCIÓN DE

PROCESO DE EJECUCIÓN DE UNA INSTRUCCIÓN

UNA INSTRUCCIÓN

  • La ejecución de una instrucción de un programa por parte del microprocesador es un proceso complejo, en el cuál intervienen los siguientes componentes hardware:
  • CPU ó microprocesador:
  • UNIDAD DE CONTROL (UC).
  • UNIDAD ARITMÉTICO-LÓGICA. (ULA)
  • REGISTROS (TANTO DE LA CPU COMO DE LA ULA)
  • Memoria principal (RAM).
  • Buses internos. (Bus de datos, bus de direcciones y bus de control)

UNA INSTRUCCIÓN

  • El programa a ejecutar, se encuentra ya preparado en la memoria RAM, listo para ser ejecutado por el microprocesador. En la memoria RAM, se encuentran todas las instrucciones del programa, una detrás de otra, listas para ejecutarse en ese orden. Así mismo, también el la RAM, se encuentran almacenados los datos que van a intervenir en el programa.(Como se puede ver en la siguiente diapositiva).
  • La ejecución de la instrucción se divide en dos partes:
  • FASE DE BUSQUEDA.
  • FASE DE EJECUCIÓN.

UNA INSTRUCCIÓN

MEMORIA RAM

DIRECCION

DATO

DIRECCION

DATO

20

INSTRUCCION 1

29

04544533

21

INSTRUCCION 2

30

22

INSTRUCCION 3

31

PEPE

23

INSTRUCCION 4

32

55446554

24

INSTRUCCION 5

33

14323400

25

INSTRUCCION 6

34

26

INSTRUCCION 7

35

27

INSTRUCCION 8

36

28

INSTRUCCION 9

37

UNA INSTRUCCIÓN

• FASE DE BUSQUEDA:

En esta primera fase, se realizan las siguientes operaciones:

  • Obtención de la instrucción a ejecutar.
  • Decodificación de la instrucción.
  • Obtención de los operandos (datos) que intervienen en la instrucción.

UNA INSTRUCCIÓN

  • FASE DE EJECUCIÓN:
  • En esta segunda fase, se realizan las siguientes operaciones:
  • Ejecución de la instrucción.
  • Almacenamiento del resultado.

UNA INSTRUCCIÓN

  • A continuación vamos a ver los procesos de búsqueda y ejecución de la instrucción, asi como los registros que intervienen:
  • FASE DE BÚSQUEDA
  • CP (CONTADOR DE PROGRAMA)
  • Contiene la dirección de memoria en la cuál está la siguiente instrucción a ejecutar.

MEMORIA RAM

DIRECCION

DATO

DIRECCION

DATO

20

INSTRUCCION 1

29

04544533

21

INSTRUCCION 2

30

22

INSTRUCCION 3

31

PEPE

23

INSTRUCCION 4

32

55446554

24

INSTRUCCION 5

33

14323400

25

INSTRUCCION 6

34

26

INSTRUCCION 7

35

27

INSTRUCCION 8

36

28

INSTRUCCION 9

37

PROCESO DE EJECUCIÓN DE UNA INSTRUCCIÓN

[pic 1]

  • En el ejemplo de la memoria representada anteriormente, la primera instrucción a ejecutar, se encuentra en la dirección de memoria 20, por tanto, éste será el valor que tome el registro contador de programa (CP).
  • Entonces, a continuación, se pasa el contenido del registro CP (valor 20), al registro MAR.

UNA INSTRUCCIÓN

  • MAR (REGISTRO DE DIRECCIONES DE MEMORIA)
  • El registro MAR, está directamente comunicado con la memoria principal a través del bus de direcciones, y vamos a

leer la posición 20 de la memoria principal ( la posición 20, contiene la primera instrucción del programa). (operación de lectura en la memoria)

UNA INSTRUCCIÓN

[pic 2]

• A continuación, el valor leído en la memoria (instrucción 1), pasa al registro de datos e instrucciones MDR, a través del bus de datos.

UNA INSTRUCCIÓN

  • MDR (REGISTRO DE DATOS E INSTRUCCIONES)
  • El MDR, contiene el dato leído de la memoria, que en este caso es una instrucción del programa (instrucción 1). La instrucción, pasa a continuación al registro de instrucciones (RI)
  • RI (REGISTRO DE INSTRUCCIONES)
  • En el registro de instrucciones, se almacenan las instrucciones de los programas para ser decodificadas (a través del decodificador de instrucciones D (saber qué es lo que hacen).

[pic 3]

UNA INSTRUCCIÓN

  • Por tanto ahora lo que se hace, es averiguar, qué es lo que hace la instrucción de ese programa, por ejemplo vamos a suponer que esa instrucción indica la suma de dos números.
  • Ahora ya sabemos qué es lo que hay que hacer:

sumar dos números. (nos lo ha dicho el decodificador de instrucciones)

  • Por tanto, a continuación vamos a buscar los dos números que tenemos que sumar.

(búsqueda de operandos)

UNA INSTRUCCIÓN

  • En la instrucción, también viene indicado, dónde se encuentran los dos números a sumar, que normalmente se encontrarán guardados en algún lugar de la memoria principal (RAM).
  • Vamos a suponer que los dos números a sumar, según el ejemplo de nuestra memoria RAM, son los que se encuentran en las direcciones de memoria 29 y 33. (estas direcciones ya las sabemos porque vienen indicadas junto con la instrucción 1).
  • Entonces el próximo paso, es ir a buscar los dos números, y pasarlos a la ALU (unidad aritmético-lógica) del microprocesador, que es donde se realizan las operaciones aritméticas (sumas, restas, multiplicaciones, ….)

UNA INSTRUCCIÓN

[pic 4]

UNA INSTRUCCIÓN

  • Para buscar el primer número: introducimos la dirección de memoria donde se encuentra(29) en el MAR (Registro de direcciones). Indicamos a la memoria que queremos realizar una operación de lectura.
  • El contenido de la dirección 29 (el número buscado), se guardará en el MDR (Registro de datos). Este primer número lo pasamos a la ALU, a un registro temporal de la ALU.

[pic 5]

UNA INSTRUCCIÓN

  • A continuación vamos a buscar el segundo número. El segundo número está en la posición de memoria 33. Por tanto ponemos la dirección 33 en el MAR. Hacemos una operación de lectura en la memoria. Obtenemos el segundo número en el MDR.
  • Pasamos el segundo número a otro registro temporal de la ALU. • AQUÍ TERMINA LA FASE DE BÚSQUEDA

04544533[pic 6]

...

Descargar como (para miembros actualizados)  txt (6.9 Kb)   pdf (647.2 Kb)   docx (98.4 Kb)  
Leer 3 páginas más »
Disponible sólo en Clubensayos.com