Está en la página 1de 11

Práctica 1_4

Repaso
Ejercicio propuesto y Solución
Ciclo de ejecución de una instrucción
Objetivo:

Reproducir “El ciclo de ejecución de una instrucción” que se ha tratado en el


apartado 1.2.4 de la Unidad 1, para ejecutar cuatro instrucciones sencillas seguidas,
empleando para ello el esquema básico proporcionado en la Unidad 1 de los distintos
componentes físicos del ordenador tratados en el apartado 1.2.

Realiza las 4 instrucciones que aparecen en la memoria.

Enunciado:
Copia y pega el esquema cuatro veces para cada instrucción y realiza sobre dicho
esquema del procesador la fase de búsqueda y la fase de ejecución. Después súbelo al
aula virtual en formato pdf.

Para realizar esta actividad, considerará los siguientes supuestos:

1. La máquina utilizará el sistema de codificación binario, para codificar tanto


direcciones como datos.

2. Tanto las instrucciones como los datos se codifican con 16 bits.

3. Las direcciones y el código de la operación a realizar se codificarán con 4


dígitos de la siguiente manera: en este ejemplo la suma se representará por el
código 1111, la resta por 1000, la multiplicación por el código 0111, y la
división por el código 0000.

4. El esquema inicial completo, de partida es:


Situación de partida: (Gráfico 1)

Reloj Secuenciador Contador programa Acumulador


0000 1000 1011 1010 1001
0000 0000 0000 0000 0000
0001 0000 1010 1010 1001

Decodificador 0010 1111 1000 1010 1000

0000 R. Estado Circuito


0011 1111 1000 1001 1001
0 operacional

…. ……
Microinstrucciones 1000 0000 0000 0000 0110
0000 0000 0000 0000
1001 0000 0000 0000 0010
Registro instrucción
Microinstrucciones

1010 0000 0000 0000 0100


0000 0000 0000 0000 0000 0000 0000 0000

1011 0000 0000 0000 1000


R. Operando 1 R. Operando 2

0000 0000 0000 0000 0000

Selector
Registro
0000
intercambio
Registro de memoria
dirección
de memoria

Bus del sistema


Comenzamos………..

Ciclo de instrucción número 1

1. Fase de Búsqueda

CP (0000)  RDM (0000)  Selector (0000)  SACAR MEMORIA (DIRECCION 0000, CONTENIDO 0010 1000 1010 1000 )  RIM (1000 1011 1010
1001)  RI (1000 1011 1010 1001)  Decodificador (1000) y CP (0001)

Las direcciones y el código de la operación a realizar se codificarán con 4 dígitos de la siguiente manera: en este ejemplo la suma se representará por el código
1111, la resta por 1000, la multiplicación por el código 0111, y la división por el código 0000.

2. Fase de Ejecución

 RI (1000 1011 1010 1001)  Decodificador (1011)  RDM (1011)  Selector (1011)  SACAR MEMORIA (DIRECCION 1011, CONTENIDO 0000
0000 0000 1000)  RIM (0000 0000 0000 1000)  R. entrada A (0000 0000 0000 1000)

 RI (1000 1011 1010 1001)  Decodificador (1010)  RDM (1010)  Selector (1010)  SACAR MEMORIA (DIRECCION 1010, CONTENIDO 0000
0000 0000 0100)  RIM (0000 0000 0000 0100)  R. entrada B (0000 0000 0000 0100)

 RI (1000 1011 1010 1001)  Decodificador (1001)  RDM (1001)  Selector (1001)  METER MEMORIA (DIRECCION 1001, CONTENIDO (0000
0000 0000 0100 )
OPERAMOS LA RESTA PARA GUARDARLO EN LA MEMORIA: AC (0000 0000 0000 0100)  RIM (0000 0000 0000 0100)  MEMORIA
Reloj Secuenciador Contador programa Acumulador
0000 1000 1011 1010 1001
0001 No lo especifico
0001 0000 1010 1010 1001

Decodificador 0010 1111 1000 1010 1000

No lo especifico R. Estado Circuito 0011 1111 1000 1001 1001


0 operacional

…. ……
Microinstrucciones 1000 0000 0000 0000 0110
1000 1011 1010 1001
1001 0000 0000 0000 0100
Registro instrucción
Microinstrucciones

1010 0000 0000 0000 0100


No lo especifico No lo especifico

1011 0000 0000 0000 1000


R. Operando 1 R. Operando 2

No lo especifico No lo especifico

Selector
Registro
No esp
intercambio
Registro de memoria
dirección
de memoria
Bus del sistema
Ciclo de instrucción número 2

Recuerda que la dirección 1001 ha cambiado el dato en el primer ciclo ejecutado

3. Fase de Búsqueda

CP (0001)  RDM (0001)  Selector (0001)  SACAR MEMORIA (DIRECCION 0001, CONTENIDO 0000 1010 1010 1001)  RIM 0000 1010 1010
1001)  RI (0000 1010 1010 1001)  Decodificador (0000) y CP (0010)

Las direcciones y el código de la operación a realizar se codificarán con 4 dígitos de la siguiente manera: en este ejemplo la suma se representará por el código
1111, la resta por 1000, la multiplicación por el código 0111, y la división por el código 0000.

4. Fase de Ejecución

 RI (1000 1010 1010 1001)  Decodificador (1010)  RDM (1010)  Selector (1010)  SACAR MEMORIA (DIRECCION 1010, CONTENIDO 0000
0000 0000 0100)  RIM (0000 0000 0000 0100)  R. entrada A (0000 0000 0000 0100)

 RI (1000 1010 1010 1001)  Decodificador (1010)  RDM (1010)  Selector (1010)  SACAR MEMORIA (DIRECCION 1010, CONTENIDO 0000
0000 0000 0100)  RIM (0000 0000 0000 0100)  R. entrada B (0000 0000 0000 0100)

 RI (1000 1010 1010 1001)  Decodificador (1001)  RDM (1001)  Selector (1001)  METER MEMORIA (DIRECCION 1001, CONTENIDO (0000
0000 0000 0001 )
OPERAMOS LA RESTA PARA GUARDARLO EN LA MEMORIA: AC (0000 0000 0000 0001)  RIM (0000 0000 0000 0001)  MEMORIA
Reloj Secuenciador Contador programa Acumulador
0000 1000 1011 1010 1001
0010 No lo especifico
0001 0000 1010 1010 1001

Decodificador 0010 1111 1000 1010 1000

No lo especifico R. Estado Circuito 0011 1111 1000 1001 1001


0 operacional

…. ……
Microinstrucciones 1000 0000 0000 0000 0110
1000 1011 1010 1001
1001 0000 0000 0000 0001
Registro instrucción
Microinstrucciones

1010 0000 0000 0000 0100


No lo especifico No lo especifico

1011 0000 0000 0000 1000


R. Operando 1 R. Operando 2

No lo especifico No lo especifico

Selector
Registro
No esp
intercambio
Registro de memoria
dirección
de memoria
Bus del sistema
Ciclo de instrucción número 3

Recuerda que la dirección 1001 ha cambiado el dato en el segundo ciclo ejecutado

5. Fase de Búsqueda

CP (0010)  RDM (0010)  Selector (0010)  SACAR MEMORIA (DIRECCION 0010, CONTENIDO 1111 1000 1010 1000)  RIM 1111 1000 1010
1000)  RI (1111 1000 1010 1000)  Decodificador (1111) y CP (0011)

Las direcciones y el código de la operación a realizar se codificarán con 4 dígitos de la siguiente manera: en este ejemplo la suma se representará por el código
1111, la resta por 1000, la multiplicación por el código 0111, y la división por el código 0000.

6. Fase de Ejecución

 RI (1111 1000 1010 1000)  Decodificador (1000)  RDM (1000)  Selector (1000)  SACAR MEMORIA (DIRECCION 1000, CONTENIDO 0000
0000 0000 0110)  RIM (0000 0000 0000 0110)  R. entrada A (0000 0000 0000 0110)

 RI (1111 1000 1010 1000)  Decodificador (1010)  RDM (1010)  Selector (1010)  SACAR MEMORIA (DIRECCION 1010, CONTENIDO 0000
0000 0000 0100)  RIM (0000 0000 0000 0100)  R. entrada B (0000 0000 0000 0100)

 RI (1111 1000 1010 1000)  Decodificador (1000)  RDM (1000)  Selector (1000)  METER MEMORIA (DIRECCION 1000, CONTENIDO (0000
0000 0000 1010 )
OPERAMOS LA RESTA PARA GUARDARLO EN LA MEMORIA: AC (0000 0000 0000 1010)  RIM (0000 0000 0000 1010)  MEMORIA
Reloj Secuenciador Contador programa Acumulador
0000 1000 1011 1010 1001
0011 No lo especifico
0001 0000 1010 1010 1001

Decodificador 0010 1111 1000 1010 1000

No lo especifico R. Estado Circuito 0011 1111 1000 1001 1001


0 operacional

…. ……
Microinstrucciones 1000 0000 0000 0000 1010
1000 1011 1010 1001
1001 0000 0000 0000 0001
Registro instrucción
Microinstrucciones

1010 0000 0000 0000 0100


No lo especifico No lo especifico

1011 0000 0000 0000 1000


R. Operando 1 R. Operando 2

No lo especifico No lo especifico

Selector
Registro
No esp
intercambio
Registro de memoria
dirección
de memoria
Bus del sistema
Ciclo de instrucción número 4

Recuerda que la dirección 1001 ha cambiado el dato en el segundo y tercer ciclo ejecutado

7. Fase de Búsqueda

CP (0011)  RDM (0011)  Selector (0011)  SACAR MEMORIA (DIRECCION 0011, CONTENIDO 1111 1000 1001 1001)  RIM (1111 1000 1001
1001)  RI (1111 1000 1001 1001)  Decodificador (1111) y CP (0100)

Las direcciones y el código de la operación a realizar se codificarán con 4 dígitos de la siguiente manera: en este ejemplo la suma se representará por el código
1111, la resta por 1000, la multiplicación por el código 0111, y la división por el código 0000.

8. Fase de Ejecución

 RI (1111 1000 1001 1001)  Decodificador (1000)  RDM (1000)  Selector (1000)  SACAR MEMORIA (DIRECCION 1000, CONTENIDO 0000
0000 0000 1010)  RIM (0000 0000 0000 1010)  R. entrada A (0000 0000 0000 1010)

 RI (1111 1000 1001 1001)  Decodificador (1001)  RDM (1001)  Selector (1001)  SACAR MEMORIA (DIRECCION 1001, CONTENIDO 0000
0000 0000 0001)  RIM (0000 0000 0000 0001)  R. entrada B (0000 0000 0000 0001)

 RI (1111 1000 1001 1001)  Decodificador (1001)  RDM (1001)  Selector (1001)  METER MEMORIA (DIRECCION 1001, CONTENIDO (0000
0000 0000 1011 )
OPERAMOS LA RESTA PARA GUARDARLO EN LA MEMORIA: AC (0000 0000 0000 1011)  RIM (0000 0000 0000 1011)  MEMORIA

Ahora seguiremos con el quinto ciclo, cuya instrucción está en la dirección 0100, de cual en este esquema no hay información.
El resultado final es que se muestra ahora en el esquema.
Reloj Secuenciador Contador programa Acumulador
0000 1000 1011 1010 1001
0100 0000 0000 0000 1011
0001 0000 1010 1010 1001

Decodificador 0010 1111 1000 1010 1000

1001 R. Estado Circuito 0011 1111 1000 1001 1001


0 operacional

…. ……
Microinstrucciones 1000 0000 0000 0000 1011
1111 1000 1001 1001
1001 0000 0000 0000 0001
Registro instrucción
Microinstrucciones

1010 0000 0000 0000 0100


0000 0000 0000 1010 0000 0000 0000 0001

1011 0000 0000 0000 1000


R. Operando 1 R. Operando 2

1001 0000 0000 0000 1011

Selector
Registro
1001
intercambio
Registro de memoria
dirección
de memoria
Bus del sistema

También podría gustarte