Está en la página 1de 7

Nombre: PACHECO CAMILO

Ciclo de instrucción

Un ciclo de instrucción (también llamado ciclo de fetch-and-execute o ciclo de

fetchdecode-execute en inglés) es el período que tarda la unidad central de proceso

(CPU) en ejecutar una instrucción de lenguaje máquina.

Comprende una secuencia de acciones determinada que debe llevar a cabo la CPU para

ejecutar cada instrucción en un programa. Cada instrucción del juego de instrucciones

de una CPU puede requerir diferente número de ciclos de instrucción para su ejecución.

Un ciclo de instrucción está formado por uno o más ciclos máquina.

Ciclo de Fetch-DecodeExecute

1.- Buscar la instrucción en la memoria principal

• Se vuelca el valor del contador de programa sobre el bus de direcciones.

• Entonces la CPU pasa la instrucción de la memoria principal a través del bus de datos

al Registro de Datos de Memoria (MDR).

• A continuación el valor del MDR es colocado en el Registro de Instrucción Actual

(CIR), un circuito que guarda la instrucción temporalmente de manera que pueda ser

decodificada y ejecutada.

2.- Decodificar la instrucción

• El decodificador de instrucción interpreta e implementa la instrucción.

• El registro de instrucción (IR) mantiene la instrucción en curso mientras el contador de

programa (PC, program counter) guarda la dirección de memoria de la siguiente

instrucción a ser ejecutada.

• Recogida de datos desde la memoria principal


Nombre: PACHECO CAMILO

• También se lee la dirección efectiva de la memoria principal si la instrucción tiene una

dirección indirecta, y se recogen los datos requeridos de la memoria principal para ser

procesados y colocados en los registros de datos.

3.- Ejecutar la instrucción

• A partir del registro de instrucción, los datos que forman la instrucción son

decodificados por la unidad de control.

• Ésta interpreta la información como una secuencia de señales de control que son

enviadas a las unidades funcionales relevantes de la CPU para realizar la operación

requerida por la instrucción.

4.- Almacenar o guardar resultados

• El resultado generado por la operación es almacenado en la memoria principal o

enviado a un dispositivo de salida dependiendo de la instrucción.

• Basándose en los resultados de la operación, el contador de programa se incrementa

para apuntar a la siguiente instrucción o se actualiza con una dirección diferente donde

la próxima instrucción será recogida.

Ciclo de búsqueda

• Los pasos 1 y 2 del ciclo de instrucción se conocen como ciclo de búsqueda (fetch).

Estos pasos son idénticos en todas las instrucciones.

• El ciclo de búsqueda procesa la instrucción a partir de la palabra de instrucción, que

contiene el código de operación y el operando.

Ciclo de ejecución.
Nombre: PACHECO CAMILO

Los pasos 3 y 4 del ciclo de instrucción se conocen como ciclo de ejecución. Estos

pasos cambiarán con cada tipo de instrucción.

• El primer paso del ciclo de ejecución es el proceso de memoria, en que los datos se

transfieren entre la CPU y el módulo de entrada/salida (I/O).

• A continuación se produce el proceso de datos, que usa operaciones matemáticas, así

como operaciones lógicas en referencia a los datos.

• Después tiene lugar el paso de alteraciones centrales, que son una secuencia de

operaciones, por ejemplo, una operación de salto. El último paso es una operación

combinada de todos los otros pasos.


Nombre: PACHECO CAMILO

La segmentación de instrucciones

Es una técnica que permite implementar el paralelismo a nivel de instrucción en un

único procesador. La segmentación intenta tener ocupadas con instrucciones todas las

partes del procesador dividiendo las instrucciones en una serie de pasos secuenciales

que efectuarán distintas unidades de la CPU, tratando en paralelo diferentes partes de las

instrucciones. Permite una mayor tasa de transferencia efectiva por parte de la CPU que

la que sería posible a una determinada frecuencia de reloj, pero puede aumentar la

latencia debido al trabajo adicional que supone el propio proceso de la segmentación.

Número de pasos

El número de pasos dependientes varían según la arquitectura de la máquina. Algunos

ejemplos:

Entre 1956 y 1961, el proyecto IBM stretch proponía los términos Fetch (Lectura),

Decode (Decodificación) y Execute (Ejecución) que se convirtieron en habituales.

La segmentación RISC clásica comprende:

Lectura de instrucción

Decodificación de instrucción y lectura de registro

Ejecución

Acceso a memoria

Escritura de vuelta en el registro

Las microcontroladoras Atmel AVR y PIC disponen cada una de segmentación de dos

etapas.
Nombre: PACHECO CAMILO

Muchos diseños incluyen segmentación de 7, 10 e incluso 20 etapas (como es el caso

del Pentium 4 de Intel).

Los núcleos "Prescott" y "Cedar Mill" de la microarquitectura NetBurst de Intel,

utilizados en las versiones más recientes del Pentium 4 y sus derivados Pentium D y

Xeon, tienen una segmentación de 31 etapas.

El "Xelerated X10q Network Processor" cuenta con una segmentación de más de 1000

etapas, si bien en este caso 200 de estas etapas representan CPU independientes con

instrucciones programadas de forma individual. Las etapas restantes se usan para

coordinar los accesos a la memoria y las unidades funcionales presentes en el chip.

Conforme la segmentación se hace más "profunda" (aumentando el número de pasos

dependientes), un paso determinado puede implementarse con circuitería más simple, lo

cual puede permitir que el reloj del procesador vaya más rápido. En inglés, las

segmentaciones de este tipo pueden llamarse superpipelines.

Se dice que un procesador está totalmente segmentado si puede leer una instrucción en

cada ciclo. Por tanto, si ciertas instrucciones o condiciones requieren un retardo que

impide la lectura de nuevas instrucciones, el procesador no está totalmente segmentado.

Conjunto de instrucciones: características y funciones.

Ante el diseño de un nuevo ordenador de propósito general hay que plantearse la

siguiente cuestión: ¿Qué tipos de instrucciones deben ser incluidos en su conjuntos de

instrucciones? Antes de responder a esta pregunta, analizaremos las características que

deben tener los juegos de instrucciones de las máquinas. Los conjuntos de instrucciones

de las máquinas deben tender a poseer una serie de propiedades, bastante ideales e

imprecisas, que pueden resumirse en las siguientes: El conjunto de instrucciones de un


Nombre: PACHECO CAMILO

computador debe ser completo en el sentido de que se pueda construir un programa para

evaluar una función computable usando una cantidad de memoria razonable y

empleando un tiempo moderado, es decir, el número de instrucciones de ese programa

no debe ser demasiado elevado. Los juegos de instrucciones también tienen que ser

eficientes, esto significa que las funciones más necesarias deben poder realizarse usando

pocas instrucciones. El conjunto de instrucciones de una máquina debe ser regular, es

decir debe ser simétrico (por ejemplo, si existe una instrucción de desplazamiento a la

izquierda, debe haber otra de desplazamiento a la derecha, etc.) y ortogonal, es decir,

deben poder combinarse, en la medida de lo posible, todos las operaciones con todos los

tipos de datos y modos de direccionamiento. En muchas ocasiones, también se le debe

exigir a un computador que su juego de instrucciones sea compatible con modelos

anteriores.

Tipos de instrucciones

Una máquina puede llegar a funcionar con un juego de instrucciones muy limitado

(recuérdese, por ejemplo, la máquina de Turing que sólo tiene 4 instrucciones, incluso

se han diseñado máquinas teóricas con menos instrucciones), esto simplificaría mucho

los circuitos de la máquina. Sin embargo, un conjunto de instrucciones demasiado

simplificado origina, como consecuencia, unos programas demasiado complejos e

ineficientes. Es necesario encontrar un compromiso entre la simplicidad del hardware y

del software. Un mínimo para llegar a ese compromiso se consigue con los tipos de

instrucciones siguientes: Instrucciones de transferencia de datos. Instrucciones

aritméticas. Instrucciones lógicas. Instrucciones de control del flujo del programa

(bifurcaciones, bucles, procedimientos, etc.) Instrucciones de entrada y salida. En los

apartados siguientes iremos viendo con detalle algunos de estos tipos de instrucciones.

Si bien es cierto que el conjunto de instrucciones debe de cumplir unos mínimos para
Nombre: PACHECO CAMILO

conseguir una mínima eficiencia en los programas, también se verá que ésta no se

aumenta indefinidamente al incrementar el número de instrucciones de la máquina.

Modos de direccionamiento y formatos

Son las diferentes maneras de especificar un operando dentro de una instrucción. Un

modo de direccionamiento especifica la forma de calcular la dirección de memoria

efectiva de un operando mediante el uso de la información contenida en registros dentro

de una instrucción de la máquina.

También podría gustarte