5-2 Unidad Central de Procesamiento - Flujo de Datos del Ciclo de Instrucción

1. Ciclo de instrucción

Ciclo de instrucción: el tiempo total requerido para que la CPU obtenga y ejecute una instrucción de la memoria principal.

Aquí: ciclo de búsqueda de instrucciones = búsqueda de instrucciones + decodificación de instrucciones

inserte la descripción de la imagen aquí
El ciclo de instrucción a menudo se representa por varios ciclos de máquina/ciclos de CPU. Un ciclo de máquina incluye varios ciclos de reloj/latidos/ciclos T/ciclos de reloj de CPU. El ciclo de reloj es la unidad más básica de operación de CPU.

Revisión: tiempo de ejecución de la CPU = número de ciclos de reloj × ciclo de reloj = CPI × número de instrucciones × ciclo de reloj

inserte la descripción de la imagen aquí
Puede verse que el número de ciclos de máquina en cada ciclo de instrucción puede ser diferente, y el número de latidos en cada ciclo de máquina también puede ser diferente. Tomemos un ejemplo

1. La instrucción vacía NOP
obtiene la instrucción y no opera. Es decir, ciclo de instrucción = ciclo de búsqueda (incluido el ciclo de búsqueda y la instrucción de análisis). Contiene 1 ciclo de máquina

2. La instrucción de suma
ciclo de instrucción ADD = ciclo de búsqueda de instrucción + ciclo de ejecución
contiene 2 ciclos de máquina, y el número de latidos contenidos en los dos ciclos de máquina puede ser diferente
(si es una instrucción de multiplicación, el ciclo de ejecución es más largo)

3. Instrucciones con direccionamiento indirecto
Ciclo de instrucción = ciclo de búsqueda de instrucción + ciclo entre direcciones + ciclo de ejecución
Contiene 3 ciclos de máquina, y el número de latidos contenidos en los tres ciclos de máquina puede ser diferente

(Figura: un direccionamiento indirecto)
inserte la descripción de la imagen aquí
4. Instrucciones con un ciclo de interrupción
Ciclo de instrucción = ciclo de búsqueda de instrucción + ciclo entre direcciones + ciclo de ejecución + ciclo de interrupción
Al final de cada instrucción, es necesario verificar que la interrupción
contenga 4 ciclos de máquina , cuatro ciclos de máquina El número de tiempos incluidos puede variar

Resumir

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

El disparador se puede usar para determinar qué ciclo está actualmente en

inserte la descripción de la imagen aquí

2. Flujo de datos

1. Ciclo de búsqueda de instrucciones

El contenido de la PC se extrae del código de instrucciones de la memoria principal y se almacena en el IR, al que se puede acceder mediante la obtención de instrucciones.

inserte la descripción de la imagen aquí
Dirección del flujo de datos:
①El contenido al que apunta la PC se transmite a MAR a través del bus de direcciones, es decir, (PC)→MAR
②CU envía una señal de control a la memoria principal a través del bus de control (como: señal de lectura)
③La memoria principal busca en el banco de memoria de acuerdo con la información de dirección registrada por MAR Emite los datos binarios correspondientes a la dirección y coloca los datos en MDR a través del bus de datos, es decir, M(MAR)→MDR ④Las instrucciones en MDR se colocan en IR a través
de el bus interno (donde MDR pertenece a la CPU), es decir, (MDR)→IR
⑤ Cada vez que se obtiene una instrucción, la CU envía una señal de control para formar la dirección de la siguiente instrucción y dejar que la PC la apunte, es decir, (PC)+"1"→PC

O
PC → MAR → bus de direcciones → memoria principal
CU envía señal de control → bus de control → memoria principal
memoria principal → bus de datos → MDR → IR
CU envía comando de lectura → contenido de PC más 1

2. Ciclo indirecto

La tarea del ciclo indirecto es buscar la dirección efectiva del operando, al que se puede acceder debido a la dirección efectiva.

Dirección del flujo de datos:
① Envíe el código de dirección Ad en la instrucción a MAR y envíelo al bus de direcciones, es decir, Ad(IR)→MAR→bus de direcciones
Nota: El IR aquí se puede cambiar a MDR, y los dos actualmente almacenar el mismo contenido
②CU pasa El bus de control envía una señal de control (como un comando de lectura) a la memoria principal, es decir, la CU envía una señal de control → bus de control → memoria principal ③ La memoria principal encuentra los datos binarios correspondientes
a la dirección en el banco de memoria de acuerdo con la información de dirección registrada por MAR, y pasa a través del bus de datos Coloque los datos en MDR, es decir, M(MAR)→MDR ④
Envíe la dirección efectiva al campo de código de dirección de la instrucción, es decir, (MDR)→Ad(IR)

inserte la descripción de la imagen aquí

3. Ciclo de ejecución

La tarea del ciclo de ejecución es generar un resultado de ejecución a través de la operación ALU de acuerdo con el código de operación y el operando de la palabra de instrucción en el IR. Se puede acceder debido a búsquedas de operandos

Las operaciones del ciclo de ejecución de diferentes instrucciones son diferentes y no hay una dirección de flujo de datos unificada

4. Ciclo de interrupción

Suspender la tarea actual para completar otras tareas, a las que se puede acceder debido a una falla de energía del programa de guardado

Para poder reanudar la tarea actual, se debe guardar el punto de interrupción. Generalmente, la pila se usa para guardar el punto de interrupción. Aquí, SP se usa para apuntar a la dirección de la unidad de almacenamiento en la parte superior de la pila. El espacio de direcciones de la pila se organiza de mayor a menor. Suponiendo que SP apunta a el elemento superior de la pila, cuando se inserta en la pila, SP-1, y luego almacena los datos.

Dirección del flujo de datos:
la PC agrega automáticamente "1" para señalar la siguiente instrucción que se ejecutará y se envía una interrupción en este momento. Para guardar el punto de interrupción, el valor de la PC debe insertarse en la memoria principal y luego girarse para que apunte al controlador de interrupciones
①CU controla SP-1, inserta la PC en la dirección señalada por el SP actual y necesita enviar la dirección a la que apunta el SP a MAR y al bus de direcciones, es decir (SP)-1→SP, (SP)→MAR
②CU envía una señal de control (comando de escritura) a la memoria principal a través del bus de control , es decir, la CU envía un comando de escritura→bus de control→memoria principal
③Escribe PC en la memoria principal, es decir (PC)→MDR→bus de datos→memoria principal
④CU cambia PC a la dirección de la primera instrucción del controlador de interrupciones , es decir, CU→PC

3. Plan de ejecución de instrucciones

Un ciclo de instrucción generalmente incluye varios períodos de tiempo (pasos de ejecución), cada paso completa una parte de la función de la instrucción y varios pasos ejecutados en secuencia completan la función completa de la instrucción.

Hay 3 opciones para organizar los pasos de ejecución de la instrucción:

1. Ciclo de instrucción único

Todos los comandos utilizan el mismo tiempo de ejecución. Las instrucciones se ejecutan en serie, es decir, la siguiente instrucción solo se puede iniciar después de que se complete la ejecución de la instrucción anterior. Para garantizar que cada instrucción se complete dentro de un ciclo de reloj fijo, se debe seleccionar el tiempo de ejecución de la instrucción más larga al diseñar el tiempo de ejecución, lo que hará que las instrucciones que podrían haberse completado en un tiempo más corto usen un ciclo más largo. para completar, reduciendo la velocidad de todo el sistema.

2. Múltiples ciclos de instrucción

Se seleccionan diferentes pasos de ejecución para diferentes tipos de instrucciones. Las instrucciones se ejecutan en serie, pero ya no se requiere que todas las instrucciones ocupen el mismo tiempo de ejecución, es decir, asignación bajo demanda. Sin embargo, se requiere un diseño de hardware más complejo y el costo es mayor.

3. Solución de tubería

Un esquema en el que las instrucciones se pueden ejecutar en paralelo. Este esquema permite que varias instrucciones se ejecuten al mismo tiempo tanto como sea posible iniciando una instrucción en cada ciclo de reloj, pero cada una se encuentra en un paso de ejecución diferente. El objetivo que persigue es esforzarse por completar el proceso de ejecución de una instrucción en cada ciclo de pulso de reloj.

  • Explicar el ciclo de reloj, el ciclo de instrucción, el ciclo de máquina y la relación entre ellos
    ①El tiempo total requerido por la CPU para buscar y ejecutar una instrucción se denomina ciclo de instrucción, y el ciclo de instrucción a menudo se compone de varios ciclos de máquina; ②El ciclo de máquina es una máquina controlada sincrónicamente Entre ellos, el tiempo requerido para ejecutar una operación relativamente completa en el ciclo de instrucción, como obtener instrucciones, obtener direcciones efectivas y ejecutar instrucciones. Por lo general, la longitud del ciclo de la máquina = ciclo de memoria principal. Un ciclo de máquina incluye varios ciclos de reloj; ③ ciclo de reloj se refiere al tiempo de ciclo del reloj principal de la computadora, que es la unidad más básica de operación de la CPU, correspondiente al tiempo requerido para completar una microoperación, generalmente ciclo de reloj = el recíproco de la frecuencia principal de la computadora.
  • ¿Cuántos ciclos de máquina tiene una instrucción de computadora?
    Una instrucción contiene hasta 4 ciclos de máquina. Por ejemplo, hay 1 instrucción vacía, 2 instrucciones de suma, 3 instrucciones con direccionamiento indirecto y 4 instrucciones con ciclos medios y cortos.
  • ¿Qué es un ciclo de instrucción? ¿Hay un valor fijo para el ciclo de instrucción? ¿Por qué?
    Un ciclo de instrucción es el tiempo requerido para obtener y ejecutar una instrucción. Dado que el tiempo requerido para ejecutar varias instrucciones en la computadora varía mucho, para mejorar la eficiencia operativa de la CPU, incluso en máquinas controladas sincrónicamente, la duración del ciclo de instrucción de diferentes instrucciones es inconsistente, es decir, el ciclo de instrucción es diferente para Instrucciones diferentes No es un valor fijo.

Supongo que te gusta

Origin blog.csdn.net/weixin_45825865/article/details/128748309
Recomendado
Clasificación