Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados

  • View
    209

  • Download
    0

Embed Size (px)

DESCRIPTION

Tema 1: Procesadores segmentados.

Text of Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados

  • 1. TEMA IPROCESADORES SEGMENTADOS

2. Captulo 1. Procesadores segmentados1.1. Guin-esquema1.2. Introduccin1.3. Procesadores RISC frente a procesadores CISC1.4. Clasificacin de las arquitecturas paralelas1.5. Evaluacin y mejora del rendimiento de un computador1.6. Caractersticas de los procesadores segmentados1.7. Arquitectura segmentada genrica1.7.1. Repertorio de instrucciones de la ASG1.7.2. Implementacin de la segmentacin de instrucciones en la ASG1.8. Riesgos en la segmentacin1.8.1. Riesgos estructurales1.8.2. Riesgos por dependencias de datos1.8.2.1. La reorganizacin de cdigo1.8.2.2. El interbloqueo entre etapas1.8.2.3. El adelantamiento (caminos de bypass o forwarding)1.8.3. Riesgos de control1.9. Planificacin dinmica: Algoritmo de Tomasulo1.10. Resumen1.11. Referencias1.12. Preguntas de autoevaluacin1.13. Actividades 3. Un procesador segmentado es capaz de procesar varias instrucciones simultneamente, aunque cada una de ellas puede encontrarse en una etapa distinta de su procesamiento.Aprovecha el paralelismo intrnseco existente entre las instruccionesDos etapas del RISC I (1982),Las 10 etapas del Pentium III.Las 20 31 etapas del Pentium 4 (2000-2005) segn modelo.Hasta las 14 etapas de los procesadores basados en la micro arquitectura Intel Core (2006-2010). 4. CICS (COMPLEX INSTRUCTION SET COMPUTER)Inicialmente los procesadores fueron dotados de conjunto de instrucciones muy potentes, que realizaban gran cantidad de operaciones internasMemoria escasa:Programas con pocas instrucciones que hacan muchas operaciones en el micro cdigoUn gran numero de modos de direccionamientoDificultad para el paralelismosInstrucciones de distintos tamaos, distinto nmero de argumentosEstudios demostraban que el 80 % del tiempo ejecutaban un 20% de Instrucciones 5. Conjunto de instrucciones sencillas con formatos fijosHardware de control mas sencilloVentajasAumenta la velocidad de ejecucinReduce el tamao de la CPU, con menor consumo y ms fcil diseo al tener lgica de control ms simpleAumenta el nmero de registrosReduce los acceso a memoria cargando los datos en registrosPosibilita la segmentacin y el paralelismo 6. Clasificacion de Flynn (aos 60)Computadores SISD (SI, Single Instruction, SD, Single data)Computadores SIMD (SI, Single Instruction, MD, Multiple Data)Computadores MIMD (MI, Multiple Instruction MD, Multiple Data)Computadores MISD (MI, Multiple Instruction SD, Single data) 7. EJEMPLOUn SISD necesita 12 Intervalos. 8. Tarda 3 intervalos de tiempo Con SISD seran 12SIMD 9. Tarda 4 intervalos de tiempo 10. Paralelismo de DatosCuando una misma funcin, instruccin, se ejecuta repetidas veces en paralelo sobre datos diferentesParalelismo FuncionalCuando las funciones (iguales o distintas) se ejecutan en paralelo 11. GranularidadCantidad de trabajo asociado a cada tipo de tarea candidata a la paralelizacinNivel de instrucciones (ILP, Instruction Level Parallelism)En paralelo instrucciones.Granularidad finaNivel de BucleEn paralelo distintas iteraciones de un bucle o secuencias de instrucciones de programa.Granularidad fina-media.Nivel de funcinLos distintos procedimientos se ejecutan simultneamente.Granularidad media.Nivel de ProgramaProgramas ejecutados en paralelo.Granularidad gruesa. 12. VLIW: Very Long Instruction Word CPI: Nmero de Ciclos por Instruccin SPMD: Simple Program Multiple Data 13. Tiempo de Respuesta:Tiempo que tarda el computador en procesar una entradaProductividad (Throughput)Nmero de entradas por Unidad de tiempoFuncionalidadTipos de entradas diferentes que es capaz de procesarExpansibilidadPosibilidad de ampliar la capacidad de procesamiento aadiendo bloquesEscalabilidadPosibilidad de ampliar el sistema sin devaluar sus prestacionesEficaciaRelacin entre el rendimiento obtenido y el coste que ha supuesto conseguirlo (eficiencia = rendimiento/ coste). 14. La denominacin de estos parmetros y suimportancia depende del elemento que seestudia 15. (Ciclos por emisin)(Instrucciones por emisin) 16. Factor de mejora o gananciaP= factor de mejora F= fraccin de tiempo que no se aplica la mejora 17. Si una mquina pasa un 25% de su tiempo procesando instrucciones de coma flotante y se mejora la mquina haciendo que esas instrucciones se ejecuten en la mitad de tiempo, esto es p = 2, entonces la ganancia que se puede obtener esEs decir, la mquina mejorada solo es un 14% mejor.Por mucho que se mejore el recurso, la ganancia ser siempre limitada por 1/f 18. Se desea mejorar el rendimiento de un computador introduciendo un coprocesador matemtico que realice las operaciones aritmticas en la mitad de tiempo. Cul sera la ganancia en velocidad del sistema para la ejecucin de un programa si el 60% del mismo se dedicase a operaciones aritmticas? Si el programa tarda 12 segundos en ejecutarse sin la mejora, Cunto tardar con la mejora?Ganancia: p=2f= fraccin de tiempo sin mejora. Mejora el 60% del tiempo 1-0.6= 0.4 sin mejora 19. Procesamiento segmentado = fabricacin en cadenaAl nmero de etapas:Profundidad de segmentacinPara que el tiempo de latencia del procesador segmentado sea el mnimo posible, es necesario que el procesador est equilibradoQue todas las subtareas en que se haya dividido la tarea total tarden en procesarse el mismo tiempo.La relacin de precedencia de un conjunto de subtareas T1, . , T17 que componen cierta tarea T, especfica para cada subtarea Tj que no puede comenzarse hasta que hayan terminado ciertas subtareas Ti.Las relaciones de precedencia para todas las subtareas de T forman su grafo de precedencia.En el ejemplo de la Figura se ha supuesto que las tareas que se procesan en el cauce tienen un grafo de precedencia lineal.Esto significa que una subtarea Tj no puede comenzar hasta que todas las subtareas previas, es decir Ti, i < j , hayan finalizado. A los procesadores segmentados que solo pueden procesar tareas con grafo de precedencia de este tipo se les denomina de cauce lineal. 20. Existen dos caractersticas importantes de los repertorios de instrucciones que permiten clasificar las arquitecturas de propsito general:El nmero de operandos que pueden tener las instrucciones aritmtico- lgicas.El nmero de operandos que se pueden direccionar en memoria en las instrucciones aritmtico-lgicas.Las instrucciones aritmtico-lgicas de la ASG utilizan en total tres operandos y ninguno de ellos se referencia en memoria.A las mquinas en las que los operandos no se referencian en memoria se les denomina mquinas registro-registro o mquinas de carga/almacenamiento. 21. Descripcin de la ASG (propsitos educativos)32 registros de 32 bitsRegistros de coma flotante de 64 bitsMquina registro-registroLos operandos no hacen referencia a memoria (carga/almacenamiento) 22. EtapasIF (Instruction Fetch)Lectura de la instruccin de la cach de instruccionesID (Instruction Decoding)Decodificacin y lectura de los operandos del fichero de registrosEX (Execution)Ejecucin de las operaciones si se trata de una instruccin aritmtico-lgica y del clculo de la condicin y de la direccin de salto si se trata de una bifurcacin o salto condicional.MEM (Memory Access) Acceso a la cache de datosAcceso a la cach de datos para lecturas (cargas) o escrituras (almacenamientos).WB (Write-Back results)Escritura del resultado en el fichero de registros 23. Los cerrojos o buffers de contencinLa duracin de todas las etapas de la segmentacin es similarViene determinada por la duracin de la etapa ms lentaLos riesgos que se producen en la segmentacin y que introducen detenciones en el cauce.La segmentacin aumenta el nmero de instrucciones completadas por unidad de tiempo,Pero no reduce (incrementa) el tiempo de ejecucin de una instruccinEl tiempo total de ejecucin de la instruccin segmentada es ligeramente superior al de su equivalente no segmentada debido al tiempo que se consume en el control de la segmentacin. 24. RiesgoA la situacin que impide a una instruccin acceder a la ejecucin de sus etapas al depender de otra anterior.Riesgos estructuralesInsuficiencia de hardwareEl hardware que necesita est ocupadoRiesgos de dependencia de datosUna instruccin necesita los datos de otra anteriorRiesgos de controlLas instrucciones de control de flujo (saltos y bifurcaciones)No pueden leer la instruccin siguiente hasta que no se conoce su direccin, que se calcula en la instruccin de control de flujo 25. La ASG no se presenta este inconveniente porque se dispone de dos memorias cach, una para instrucciones (I- cach) y otra para datos (D-cach).Dos instrucciones necesitan el mismo recurso hardware 26. Mayor duracin de la etapa de ejecucin 27. Cambiar el orden de ejecucin de las instrucciones) 28. Cuando dos instrucciones comparten algn datoTipos de dependencias de datosRiesgo de tipo WAR (Write After Read Escritura tras lectura)Instruccin j trata de escribir en su destino antes que ste sea ledo por la instruccinRiesgo del tipo WAW (Write After Write)Instruccin j intenta escribir un operando antes de que ste sea escrito por la instruccin i.Riesgos de tipo RAW (Read After Write- Lectura Tras escritura) 29. SolucionesReorganizacin del cdigoInterbloqueo entre etapasAdelantamiento 30. Detencin de ciclos 31. Si no se pude reordenar el cdigo, sin alterar la lgica del programa 32. Introducir elementos hardware en el cauce para detectar la existencia de dependencias (no el compilador) 33. Uso de los elementos que en la tcnica de interbloqueo (hardware) permiten detectar la existencia de dependencias entre instrucciones.Esta informacin ahora se aprovecha para habilitar una serie de caminos (buses) que se aaden al cauce para permitir que los resultados de una etapa pasen como entradas a la etapa donde son necesarios en caso de dependencias RAW, al mismo tiempo que siguen su camino para almacenarse en el fichero de registros.Detecta si hace falta algn resultado que se ha de dejar en un registro para la siguiente instruccin.En caso afirmativo, lo guarda en el registro, pero se lo suministra direct