Fundamentos de la Segmentación de Instrucciones y Arquitectura DLX
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 3,61 KB
Segmentación 2A
Objetivos del Diseñador
El objetivo principal es equilibrar la duración de las etapas de la segmentación. Si las etapas están perfectamente equilibradas, entonces el tiempo por instrucción de la máquina segmentada, suponiendo condiciones ideales, es igual a:
Tiempo por instrucción en la máquina no segmentada / Número de etapas de la segmentación
- La segmentación consigue una reducción en el tiempo de ejecución medio por instrucción.
- Esta reducción se puede obtener decrementando la duración del ciclo de reloj de la máquina segmentada o disminuyendo el número de ciclos de reloj por instrucción, o haciendo ambas cosas.
- Normalmente, el mayor impacto está en el número de ciclos de reloj por instrucción, aunque el ciclo de reloj es, con frecuencia, más corto en una máquina segmentada (especialmente en supercomputadores segmentados).
- La segmentación es una técnica de implementación que explota el paralelismo entre las instrucciones de un flujo secuencial.
- Ventajas: De forma distinta a algunas técnicas de aumento de velocidad, no es visible al programador.
El Microprocesador DLX
DLX: Es un microprocesador RISC, básicamente un MIPS revisado y simplificado con una arquitectura simple de carga/descarga de 32 bits.
- RISC (Reduced Instruction Set Computer): Computadora con Conjunto de Instrucciones Reducidas.
- MIPS (Microprocessor without Interlocked Pipeline Stages): Se conoce así a toda una familia de micro-CPU de arquitectura RISC desarrollados por MIPS Technologies.
Segmentación 2B
DLX con cinco pasos básicos de ejecución
- IF - Búsqueda de la instrucción (Instruction Fetch).
- ID - Decodificación de la instrucción y búsqueda de registros.
- EX - Ejecución y cálculo de direcciones efectivas.
- MEM - Acceso a memoria.
- WB - Postescritura (Write Back).
Segmentación sencilla de DLX
En cada ciclo de reloj se busca otra instrucción y comienzan sus cinco pasos de ejecución. Si se comienza una instrucción en cada ciclo de reloj, el rendimiento será cinco veces el de una máquina sin segmentación.
- Podemos segmentar DLX buscando sencillamente una nueva instrucción en cada ciclo de reloj.
- Cada uno de los pasos anteriores se convierte en una etapa de la segmentación (un paso de la segmentación), dando como resultado el patrón de ejecución optimizado.
- Aunque cada instrucción necesita cinco ciclos de reloj, durante cada ciclo de reloj el hardware está ejecutando alguna parte de cinco instrucciones diferentes.
- La segmentación incrementa la productividad de instrucciones de la CPU (el número de instrucciones completadas por unidad de tiempo), pero no reduce el tiempo de ejecución de una instrucción individual.
- En efecto, habitualmente incrementa ligeramente el tiempo de ejecución de cada instrucción debido al gasto en el control de la segmentación.
- El incremento en la productividad de instrucciones significa que un programa corre más rápido y tiene menor tiempo total de ejecución, ¡aun cuando ninguna instrucción se ejecute con más rapidez!