1 / 40

Unidad 2: Segmentación

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 :

aderyn
Download Presentation

Unidad 2: Segmentación

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unidad 2: Segmentación EjecuciónSegmentada de Instrucciones

  2. EjecuciónSecuencial ASPA: Programador Programa  Ejecución Iniciaunanuevainstrucción hasta queconcluye la anterior. Ciclo de instrucciónsecuencialestricto

  3. 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.

  4. Nuevo enfoque: Segmentación • Técnicaquepermiteagilizar la ejecución: • Ejecuciónsolapada de variasinstrucciones en el tiempo. • Paralelismo temporal. • Similar a unacadena de producción.

  5. 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

  6. Ejecuciónsecuencial de Instrucciones

  7. Ejecuciónsolapada de instrucciones

  8. 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.

  9. 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

  10. Rendimiento del Segmentado Período de reloj

  11. 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

  12. Rendimiento del Segmentado • Ganancia: • Procesadorsegmentadorespecto a secuencialequivalente. • Gananciamáxima: • Límite de G cuando N  ∞ • k [Aplicandoteorema de l’Hopital]

  13. 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)

  14. Rendimiento del Segmentado • Productividad • Cantidad de tareasporunidad de tiempo. • Productividadmáxima: Cuando la eficienciaesmáxima • máx = f

  15. 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

  16. 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

  17. 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.

  18. 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.

  19. Comparación RISC vs CISC

  20. Repertorio del DLX

  21. PrimeraaproximaciónOrganización DLX

  22. Segmentando el DLX • ¿Cómopodemossegmentar el DLX para queejecuteinstruccionessolapadamente? • Definiretapas o segmentos del Procesador:

  23. Tabla de Reserva

  24. Dificultades de la segmentación • ¿ Basta con definirlasetapas ? • Requerimientos de la Segmentación … • Riesgospordependencias • Riesgospordependenciasestructurales. • Riesgospordependencias de datos. • Riesgospordependencias de control. • Otrasdificultades: Excepciones

  25. 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.

  26. 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.

  27. Tabla de Reserva • MEM y BUS acceden a memoria: MEM para leer instrucciones y MEM para leer o escribir datos.

  28. 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.

  29. 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.

  30. 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

  31. 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.

  32. 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.

  33. 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.

  34. 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.

  35. 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

  36. 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.

  37. Tabla de Reserva • D/L y MEM : intentanescribir en mdr • BUS y MEM: intentanescribir en pc

  38. 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

  39. Tabla de Reserva con dependenciasresueltas

  40. Estructura DLX sin dependenciasestructurales

More Related