Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 1

Documentos relacionados
TEMA 3. PLANIFICACIÓN (SCHEDULING) DE INSTRUCCIONES Arquitectura de Sistemas Paralelos 1. pág 2. direcc MEM

OBJETIVOS ALGUNAS CONSIDERACIONES SOBRE WINDLX

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713

6. PROCESADORES SUPERESCALARES Y VLIW

TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso

Procesadores superescalares. Introducción

Introducción PROCESADOR SUPERESCALAR. Paralelismo. Grado m: en cada ciclo se buscan/decodifican m instrucciones. supes

Dpto. Lenguajes y Ciencias de la Computación E.T.S.I. Telecomunicación. Laboratorio de Programación Uso del depurador en Dev-C++

1. Objetivo y evolución de los procesadores ILP.

Plataformas de soporte computacional: arquitecturas avanzadas,

Fundamentos de Ordenadores. Depurar programas usando Nemiver

Guía de uso del programa AVR-Studio

EL ENTORNO DEL EDITOR

Práctica ENS:Ensamblar y depurar

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Arquitectura de Computadores II Clase #16

Configuración preliminar de blender para usar el editor de video.

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Autor: Longinos Recuero Bustos

Bitbloq 2: Entorno de programación

Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

TEMA 4. ARQUITECTURA IA-64

COMPUTADORES SEGMENTADOS (DLX)

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

Simula3MS: simulador pedagógico de un procesador

Explotación del paralelismo a nivel de instrucción

Anexo. Control de errores

WinDLXV. Manual de usuario

Caso de Uso: Reubicacio n de bienes

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

CURSO DE EXCEL -INTERMEDIO

Personalizar el Escritorio del Windows 7

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

PARTE II: Programación en ensamblador

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

bla bla Documentos Guía del usuario

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

CICLOS DEL PROCESADOR

Al realizar este curso, el alumno adquirirá las siguientes habilidades y conocimientos:

Configuración del Ratón

Como crear horas extras manualmente

Práctica de laboratorio Uso de la Calculadora de Windows con direcciones de red

Excel 2013 Completo. Duración: Objetivos: Contenido: 80 horas

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Uso de Tecnologías de Información y Comunicación en la labor Docente El procesador de texto para producir material didáctico

PA JOSÉ MANUEL BURBANO CARVAJAL

Paralelismo en monoprocesadores. Procesadores VLIW

Seleccionamos el programa Excel. Nos aparece la pantalla del programa

PicController. Manual de usuario. Raquel Sánchez Díaz

MICROSOFT EXCEL 2013 (COMPLETO)

INFORMÁTICA Y COMUNICACIONES

Tema 2 Introducción a la Programación en C.

Microsoft Excel 2013 Completo

Manipulación de procesos

1

Construyendo Programas más Complejos

AREA. - Explicar la función del sistema operativo y utilizar las funciones primordiales para la organización de la información en Windows.

Operaciones básicas con hojas de cálculo

En la parte inferior de la pantalla se podrá ver el estado de la última copia y la fecha y hora actual.

APENDICE B Ensamblador IASM11/Simulador AVSIM11

Introducción a la arquitectura de computadores

IES LUIS BUÑUEL Seminario PowerPoint P01 Primera presentación Óscar Blasco Laín 1

Procesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr.

Planificación estática

Los valores obtenidos de speedup tienden a incrementarse hasta los ocho procesadores. al usar diez procesadores éste se mantiene igual o decrece. Esto

Repasar las herramientas básicas para crear y animar una presentación de PowerPoint. Utilizar y crear plantillas automatizando tareas repetitivas.

AUTOMATIZACIÓN DE TAREAS REPETITIVAS MEDIANTE GRABACIÓN DE MACROS

Guía del Curso Experto en Microsoft Excel 2016, VBA y Business Intelligence

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso Introducción a la segmentación de Instrucciones.

Conceptos de Arquitectura de Computadoras Curso 2015

Manual para el Dibujo de Flujograma mediante Microsoft Visio TECNOLOGÍAS DE LA ADMINISTRACIÓN PÚBLICA MATERIAL DE CÁTEDRA

MICROSOFT EXCEL 2010

Microsoft Excel 2007 completo

ING. JONATHAN QUIROGA TINOCO. Desarrollado por Ing. Jonathan Quiroga T.

bla bla Guard Guía del usuario

INTRODUCCIÓN USANDO EL SIMULADOR

Documento no controladon, sin valor

Memoria Virtual. Memoria Virtual

1. Computadores y programación

202 PROBLEMAS DE ARQUITECTURA DE COMPUTADORES

Arquitectura Segmentada: Conceptos básicosb

DISEÑO DE UN ANIMADOR DE ALGORITMOS DE BÚSQUEDA Y ORDENACIÓN ( ID2012/055 )

Sistemas. POSTREQUISITO: CATEGORÍA: Obligatorio SECCION: A HORAS POR SEMANA

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos

TEMARIO CURSO EXCEL 2010

BOLETÍN OFICIAL DEL ESTADO

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Ejercicio 1. Desarrollar una versión del juego Memoria.

Diagramas De Casos De Uso

GESTIÓN DE CALIFICACIONES

RESPUESTA A PREGUNTAS INFORMÁTICAS FRECUENTES.

Curso AVANZADO DE EXCEL 2013

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA. Búsquedas en Google

TEMA 3: El proceso de compilación, del código fuente al código máquina

Guía del Curso Certificación It en Microsoft Excel VBA para Excel: Macros and Graphics Expert

Transcripción:

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 5. PROCESADORES SUPERESCALARES: PLANIFICACIÓN DINÁMICA. OBJETIVOS. En esta práctica se trata de estudiar, por un lado, el aumento de prestaciones que se consigue con procesadores superescalares, y por otro, el coste hardware que se necesita para conseguir tal aumento, estudiando los grados de superescalaridad m=1, 4, 6. Se observarán diferentes casos en los que prácticamente se alcanza el límite del flujo de datos (data-flow limit), de manera que aumentando el número de recursos, no se aumentan las prestaciones. Se manejará un simulador visual desarrollado como un proyecto Fin de carrera dentro del Departamento de Arquitectura y Tecnología de Computadores de la Universidad de Sevilla: SUPERTOMASIM (SUPERescalar TOMasulo SIMulator). Éste simula un procesador didáctico superescalar y superencadenado de un modelo de RISC típico de 32 bits (llamado DLX), que dispone de scheduling dinámico (algoritmo de Tomasulo). Además son configurables tanto el grado de superescalaridad como los recursos del procesador (UF, CDB, RS, etc). PREPARACIÓN. Descripción del simulador SUPERTOMASIM. Este simulador admite cualquier código RISC (del DLX), con algunas restricciones que se explican en el apartado de preparación de la práctica. Como se ve en la siguiente figura, muestra el cronograma que se está ejecutando y el estado completo (RS, registros, memoria, etc.) del procesador simulado. Las etiquetas se llaman igual que las RS. Los registros y RS que esperan por una etiqueta (por existir una dependencia real RAW) muestran tal nombre en lugar del valor (por ejemplo en los registros R1, R2 y en las RS STORE01, STORE02 de la figura). Además permite configurar en el menú Ventanas->Configuración (cuadro de diálogo inferior derecho de la imagen): Duración de cada UF (Num Fases EXE) Número de RS (Num RS) Número de UF (Unid Fun) m = Grado de Superescalaridad (Grado Escalaridad) Grado de superencadenamiento de la fase IS (Num Fases IS) Número de CDB (Num CDB) Fase en la que se realiza la predicción de la BTB (Pred BTB en Fase) El cronograma y configuración se pueden salvar en ficheros aparte (el cronograma tiene cada fase separada por tabuladores para que se pueda copiar fácilmente por ejemplo en una hoja de Excel). Algunas consideraciones sobre la arquitectura que simula SUPERTOMASIM son: Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 1

En cuanto a emisión, siempre intenta emitir m (Grado de Superescalaridad) instrucciones. No simula la evolución de BTB, pero si predice saltos en función de un fichero llamado BTB.txt (se explicará en otra práctica) Toda los registros internos del algoritmo son visibles y du contenido es correcto, pero no se van a usar en esta asignatura (contenido de las R.S., de los registros, de las Registros temporales). Fichero de código para preparar. Trabajaremos primero con un bucle simple para ver el máximo IPC que se puede conseguir aumentando el grado de superescalaridad y los recursos de un procesador. CODIGO SPD_TOMASIM2.s.data arrayx:.float 1 2 3 4 5 6 7 8 9 10 11 12 fin:.byte 33 ;solo para marcar el fin del vector..text addi r1,r0, arrayx ;Puntero a Arrayx lf f11, 0(r1) ; carga el valor 1.0 en f11 addi r1, r1, 4 bucle: lf f5, 0(r1) ; carga elem del vector addf f5, f11, f5 sf -4(r1), f5 addi r1, r1, 4 slti r3, r1, fin bnez r3, bucle xor r3, r3, r3 ;instr inutil solo para que se vea bien que es la rama sig. al salto trap 0 ; es una interrupción software (simulada) para que termine la ejecución. Piense y resuelva las siguientes preguntas sobre el código dado: a) Qué hace? b) Cómo se podrían escribir en código de alto nivel? c) Es desenrollable directamente? REALIZACIÓN DE LA PRÁCTICA. Ejecutar el Simulador SUPERTOMASIM. El simulador es la primera parte de un proyecto de simulación de procesadores superescalares, y algunos detalles de la interfaz de usuario están aún incompletos, son poco amigables o no detectan ciertos errores de entrada. Por tanto, se van a dar los ficheros de ensamblador en el laboratorio para evitar que salgan ciertos errores. Otras consideraciones sobre la arquitectura que simula SUPERTOMASIM son: La ventana de instrucciones tiene m instrucciones (cuando hay un salto o un fallo de BTB se tiene que vaciar). El grado de IF es igual que el de IS (m IF = m IS ) Especula con las instrucciones sucesivas al salto, y las aborta tras la fase WB del salto si la predicción de un salto fue errónea (introduciendo el símbolo AB ), aunque no implementa hardware para la especulación (p ej, buffer de reordenación). Las instrucciones especulativas que serán abortadas por error de predicción muestran su cronograma y reservan RS, pero no modifican el estado del procesador (no escriben nunca ni en la memoria ni en los registros), y por lo tanto puede que no se ejecuten correctamente (esto no afectará al resultado del código ni al rendimiento IPC, ya que estas instrucciones se abortarán de cualquier forma). Cada bloqueo estructural se muestra repitiendo la fase que no puede avanzar. Por ejemplo: IF IF IF IS significa que han habido dos ciclos de bloqueo porque IS no pudo ejecutarse (según notación de clase: IF - - IS). Cuando ejecute código RISC DLX, debe tener en cuenta los siguientes pormenores: No use la ejecución completa (botón ): es muy lenta. Ejecute paso a paso o de 5 en 5 ciclos (teclas F7, F8). El número máximo de RS de cada tipo es 150. El número máximo de UF de cada tipo es 10. Podría interrumpirse la simulación si se superan estos límites (no se chequean estos rangos en la configuración). Para cambiar cualquier parámetro de la configuración (cuadro de diálogo de configuración: ventanas- >configuración) o para cambiar de código simulado, debe primero resetear el simulador con la opción: Archivo-> Limpiar. Se pierde evidentemente todo el cronograma anterior. La configuración se puede salvar en un fichero (con la opción GUARDAR) y luego recuperarla (opción CARGAR). Las estadísticas que muestra SUPERTOMASIM incluyen las instrucciones finales (NOP y trap) y por tanto, estas estadísticas no son las que se piden. Para la predicción de saltos debe existir un fichero de nombre btb.txt que contenga en cada línea la dirección de cada salto en hexadecimal (comenzando por 0X), el símbolo ; y las siglas T o NT. Se da preparado para esta práctica, siendo siempre la predicción TOMADO Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 2

Para DLX ESCALAR (grado superescalaridad=1) 1. Antes de cargar código, cargar la configuración del fichero configuracion1.xml (si estuviera deshabilitado la carga, resetear el simulador con la opción: Archivo-> Limpiar). Esta debe ser: máximo número de CDB (para evitar conflictos y posibles esperas por el CDB). Duración de UF de ADD-FP debe ser 7 ciclos. 10 RS de INT y 10 UF INT para evitar bloqueos por culpa de agotamiento de ellas. Tener en cuenta que en SUPERTOMASIM las UF no están segmentadas, por tanto para emular su segmentación, aumente el número de UF hasta tantas como su duración (hacer el parámetro Unid Func igual al Num Fases EXE). Se pide: a) Ahora cargue el código spd_tomasim2.s. Ejecute de 5 en 5 ciclos (tecla F8). Mueva Scroll del cronograma para poder ver los últimos ciclos. Cuál es la cadena crítica de ejecución (cadena de RAWs más larga) en una única iteración? b) Buscar el estacionario del bucle (Mueva Scroll del cronograma). Anotar cuantos ciclos pasan desde el primer IF del bucle hasta el WB más tardío. c) cuánto vale el CPIreal del bucle en el estacionario? Para DLX SUPERESCALAR (grados superescalaridad=3,4) 2. Resetear el simulador con la opción: Archivo-> Limpiar y utilizar la configuración del fichero configuracion2.xml, que es realista para un procesador de propósito general (GPP); así: Como puede ver, se han aumentado el número de RS de ADDF y Store (para que no haya bloqueos por estas dos instrucciones en el estacionario del bucle). d) Cambie el grado de superescalaridad a 3. Cargar el código. Ejecutar bastantes iteraciones Se consigue el máximo rendimiento posible para este caso m=3? e) Vuelva a poner el grado de superescalaridad a 4. Cargar el código. Cuál es el CPI de control para las dos primeras iteraciones y por qué no es nulo? f) Buscar el estacionario del bucle. Se espera un CPI ideal de 1/4, pero, cuál es el CPI real? g) Comprobar la ecuación: CPIreal = CPIideal + CPIdatos+ CPIcontrol. h) Medir los ciclos de penalidad de control para la última iteración. i) Medir el número de instrucciones abortadas por la penalidad de control de la última iteración. Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 3

DLX SUPERESCALAR (grado superescalaridad=6) 3. SUPERTOMASIM no dispone de una unidad de búsqueda de instrucciones inteligente (IFU; Instr. Fetch Unit). Para emularla, de manera que el CPI control sea cero (excepto en la última iteración del bucle), vamos a poner el grado de superescalaridad igual que el número de instrucciones del bucle. Resetee con: Archivo-> Limpiar y aumente el grado superescalaridad a 6 (usar opción Ventanas->Configuración) y aumentar el número de RS de ADDF y Store necesarios (recordar: número máximo de RS de cada tipo es 150) para que no haya bloqueos por estas dos instrucciones en el estacionario del bucle. Ahora tenemos un procesador que es muy agresivo, pero posible para un procesador de propósito general (GPP). j) Vuelva a cargar el código. Ya no hay bloqueos de control, pero el CPI real en el estacionario no será 1/6. Medirlo. k) Puede inferir cuáles son las causas que aumentan el CPI ahora (que finalmente implica un agotamiento de R.S.)? SI se aumentaran las R.S. se evitarían los bloqueos en el estacionario? l) Cuál es ahora la cadena crítica de ejecución (cadena de RAWs más larga) en el estacionario de muchas iteraciones? m) Comprobar la ecuación: CPIreal = CPIideal + CPIdatos+ CPIcontrol. Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 4

ALUMNO: SPD. 3º GIC. PRÁCTICA 5. TABLA RESULTADOS a) b) c) d) e) f) g) h) i) j) k) l) m) Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 5