410 likes | 629 Views
Unidad 2: Segmentación. Ejecución Segmentada de Instrucciones. Ejecución Secuencial. ASPA: Programador Programa Ejecución Inicia una nueva instrucción hasta que concluye la anterior. Ciclo de instrucción secuencial estricto. Rendimiento secuencial. Rendimiento limitado :
E N D
Unidad 2: Segmentación EjecuciónSegmentada de Instrucciones
EjecuciónSecuencial ASPA: Programador Programa Ejecución Iniciaunanuevainstrucción hasta queconcluye la anterior. Ciclo de instrucciónsecuencialestricto
Rendimientosecuencial • Rendimientolimitado: t = t * N * CPI • Período: depende de la tecnología • N de Instrucciones: no da buenosresultados • CPI: máximo = 1. • Puedeimplicart mayor.
Nuevo enfoque: Segmentación • Técnicaquepermiteagilizar la ejecución: • Ejecuciónsolapada de variasinstrucciones en el tiempo. • Paralelismo temporal. • Similar a unacadena de producción.
Principios de Segmentación • Se divide la tarea en subtareas: • T = {T1, T2, ...., Tk} • Orden de ejecución • Al finalizarlassubtareas tareaconcluida • Se divide el ejecutor (Procesador) en subejecutores o segmentos . • Cadasegmentoejecutaunasubtarea en el ordenestablecido. • Ejecución de múltiplestareasporetapas
Representaciones • Diagrama de Instrucciones • Muestra el solapamiento en el tiempo. Línea perpendicular muestra lo que se ejecuta en eseinstante. • DiagramaEspacio-Tiempo • Muestra el uso del cauceporlasinstrucciones en el tiempo: superíndice Instrucción, Subíndice etapa.
ProcesadorSegmentado • Segmentoslógicos o etapas con hardware exclusivo (llamaremos k al número de etapas). • Cadasegmentorealizaunaetapa del ciclo de instrucción. • Todosdebenproceder a la vez: • Necesariosincronizarlasetapas • Selección del período
Rendimiento del Segmentado Período de reloj
Rendimiento del Segmentado • Tiempo de ejecuciónsecuencial: t = t * N * CPI t1= t * N * k • ¡ No ocurreasí en el segmentado! • tk = ¿? • - Note que CPI = k, asíque, podemosreescribircomo: - Subíndice1 indicamonolítico, secuencial. • tk = k* t+ (N – 1) *t
Rendimiento del Segmentado • Ganancia: • Procesadorsegmentadorespecto a secuencialequivalente. • Gananciamáxima: • Límite de G cuando N ∞ • k [Aplicandoteorema de l’Hopital]
Rendimiento del Segmentado • Eficiencia • Medida de la utilización del cauce • = 1 = Area de Tramosutilizados: B * h = N * t* k Area Total de Tramos: B*h=(t * N + t * (N – 1)) * k = = k * t * ( k + N – 1)
Rendimiento del Segmentado • Productividad • Cantidad de tareasporunidad de tiempo. • Productividadmáxima: Cuando la eficienciaesmáxima • máx = f
Tipos de Segmentación • Definidapor la relación de orden de lassubtareas: • Relación de precedencia lineal : Segmentación lineal • Relación de precedencia no lineal: Segmentación no lineal
Tipos de Segmentados • Por Niveles de procesamiento (Händler): • Cauce de Instrucciones. • Ejemplo del DLX • Cauce Aritmético. • Ejemplo del sumador de PF • Encauzamiento de Procesadores. • Dependiendo de las configuraciones y estrategias de control: • Unifunción– Multifunción • Estático – Dinámico • Escalares – Vectoriales
Procesador DLX Modelodidácticoqueemplearemosparaayudarnos a entendermejorcómofunciona la Segmentación. Diseñadopor John Hennessy y David Patterson comoejemplo base en sulibro: “Arquitectura de Computadoras – Un enfoquecuantitativo” Basado en lasarquitecturas de diferentesprocesadoresreales con característicasexitosas en suimplementación.
Procesador DLX • Nombre: Proviene del promedio (en números romanos) de los números de modelo de los diferentes procesadores cuyas arquitecturas inspiraron su diseño. • Procesador RISC: • Arquitectura de 3 direcciones • Máquina LOAD-STORE o R-R • Arquitectura de 32 bits • 32 registros de 32 bits • Registro r0 es read-only y siempresu valor es 0.
Segmentando el DLX • ¿Cómopodemossegmentar el DLX para queejecuteinstruccionessolapadamente? • Definiretapas o segmentos del Procesador:
Dificultades de la segmentación • ¿ Basta con definirlasetapas ? • Requerimientos de la Segmentación … • Riesgospordependencias • Riesgospordependenciasestructurales. • Riesgospordependencias de datos. • Riesgospordependencias de control. • Otrasdificultades: Excepciones
Riesgospordependenciasestructurales • Se pueden dar en varios entornos del sistema: • Sistema de memoria: Variasetapasintentanacceder a la memoria a la vez. • Unidad de ejecución: Variasetapasintentanusar la ALU u otrosórganos de cálculo y los RPG a la vez. • Latches o registros de desacoplo entre etapas: Solo unaetapadebeescribir en el latch. A vecestambiénpodemosperderdatossi no tenemos latches quelleven los datos entre etapas.
Riesgospordependenciasestructurales • Sistema de Memoria: • Memorias principales no diseñadas para atender varias operaciones concurrentes. • Solo unaetapadebeacceder a la memoria. • Identificación de dependencias: • Revisar en la tabla de reserva si más de una etapa accede a memoria.
Tabla de Reserva • MEM y BUS acceden a memoria: MEM para leer instrucciones y MEM para leer o escribir datos.
Riesgospordependenciasestructurales • Sistema de Memoria >>Existen dependencias: Dos etapas(BUS y MEM) compitiendopor la memoria. • Solución: • Emplear Jerarquía de Memoria: Cachés tan rápidas como los registros (no espera). • Arquitectura Harvard: Sistema con dos caches, una para datos y la otra para instrucciones.
Riesgospordependenciasestructurales • Unidad de Ejecución: • Órganos de cálculo diseñados para realizar una sola operación a la vez. • Solo una etapa debe usarlos a la vez. • Registros de propósito general permitenmúltipleslecturasconcurrentessitienenmúltiples buses de acceso: Organización en Banco de Registros lo permite. • Registrossolo permitenunaescritura a la vez. • Identificación: • Revisar en la tabla de reservasivariasetapasusan la ALU y sialgunaetapa la quiereusarparamás de unaoperación a la vez.
Tabla de Reserva • BUS y ALU intentanusar la ALU a la vez: BUS para incrementar el PC y ALU para ejecutar las operaciones pero además para comparar A’ con 0
Riesgospordependenciasestructurales • Recursos de cálculo>> Existen dependencias: • ALU requerida por la etapa BUS (incremento del PC) y por etapa ALU (operación). • Instrucción BRx requiere comparar rf1 con 0 en la etapa ALU y realizar pc + d. • Registros de Propósito General: • RPG: Requeridas dos lecturas y una escritura simultáneamente. • Solución: • Sumador en BUS(incremento), ALU en ALU(operación) y Comparador en ALU. • Diseñar un BRcapazde dos lecturas y unaescritura.
Riesgospordependenciasestructurales • Latches o registros de retención: • Necesidad de retención de datos entre etapas para que la segmentación funcione. • Lectura al principio del período y escritura al final • Sólo una etapa puede escribir en un latch a la vez. • Datos sólo deben permanecer en latches durante un período porque de lo contrario, una instrucción posterior puede sobreescribirlo y se perdería. • Latches debenirllevando los datos de unaetapa a la otra, como los corredores de relevosllevanlasestafetas.
Riesgospordependenciasestructurales • Identificación de dependencias: • Sobreescrituras de datos: • Revisar cada instrucción en la tabla de reserva observando si alguna escribe en un registro un dato que luego no lee en la etapa siguiente. • Colisiones: • Revisar en la tabla de reserva si más de una etapa intenta escribir en un mismo registro.
Riesgospordependenciasestructurales • Identificación de dependencias: • Sobreescrituras de datos: • Revisar cada instrucción en la tabla de reserva observando si alguna escribe en un registro un dato que luego no lee en la etapa siguiente. • Colisiones: • Revisar en la tabla de reserva si más de una etapa intenta escribir en un mismo registro.
Tabla de Reserva • TODAS: ¡Se escribe en ir en BUS y no se lee luego, perdiendosu valor! • OP: escribe en buff en ALU y lo lee hasta en ESC • STORE: escribe en mdr en D/L y lo lee hasta en MEM
Riesgospordependenciasestructurales • Identificación de dependencias: • Sobreescrituras de datos: • Revisar cada instrucción en la tabla de reserva observando si alguna escribe en un registro un dato que luego no lee en la etapa siguiente. • Colisiones: • Revisar en la tabla de reserva si más de una etapa intenta escribir en un mismo registro.
Tabla de Reserva • D/L y MEM : intentanescribir en mdr • BUS y MEM: intentanescribir en pc
Riesgospordependenciasestructurales • Latches>> Existen dependencias: • Sobreescrituras: • Buff en OP; mdr en STORE; ir en TODAS • Colisiones. • D/L y MEM en mdr; BUS y MEM en pc • Solución: • Adicionar a mdr, un mdrin y mdrout: unoporfunción. • Buff eliminado, mar queda a la salida de la ALU. • PC no se replica, se multiplexacuandoBRx y se toma el salto • IR debereplicarse para no perderlasinstrucciones en el cauce