Pipeline (Segmentación)



Documentos relacionados
Arquitectura Segmentada: Conceptos básicosb

UNIDAD 5: Mejora del rendimiento con la segmentación.

Arquitectura de Computadores

Pipelining o Segmentación de Instrucciones

Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.

Pipeline o Segmentación Encausada

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline:

Arquitectura de Computadores II Clase #5

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

Segmentación: Mejora del rendimiento. IEC UTM Moisés E. Ramírez G. Segmentación

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

UNIDAD 4: El procesador: Camino de los datos y Control.

Arquitectura de Computadores

Plataformas de soporte computacional: arquitecturas avanzadas,

Pipelining. Introducción

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

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

Procesadores segmentados. El DLX.

MICROPROCESADOR. Multiciclo

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Introducción a paralelismo a nivel de instrucción

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

Organizacion del Computador

Tema 1: PROCESADORES SEGMENTADOS

Entorno de Ejecución del Procesador Intel Pentium

La memoria principal. Los subsistemas de E/S. Los buses del sistema

Capitulo V Administración de memoria

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Arquitectura de Computadores

Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Síntesis Lecturas Recomendadas. Arquitectura de Computadoras

Arquitectura de Computadores II Clase #16

INTRODUCCIÓN. Definiciones ORDENADOR (RAE 1992): En esta asignatura computador y ordenador tiene el mismo significado

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

Introducción a Computación

Aspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

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

Diseño de materiales multimedia

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

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Organización de Computadoras. Turno Recursantes Clase 8

SUMA Y RESTA DE FRACCIONES

Tema 4: Diseño de un microprocesador

Tema 2. Diseño del repertorio de instrucciones

3.8 Construcción de una ALU básica

MANUAL DE USUARIO SIMDIA CQ TRASPATIO TECNICO

DataMAX pa r a PS3. Manual del Usuario V1.0

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Centro de Soporte [MANTENIMIENTO PREVENTIVO DE SOFTWARE]

CARGA MASIVA EMOV 7/1/2013

PROGRAMACIÓN ORIENTADA A OBJETOS

Guía de sesión de resolución de problemas AgentCubes.

1 El plan de contingencia. Seguimiento

Luego buscamos el bloque Administración y hacemos clic en Editar perfil.

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS

Guía para realizar trabajos universitarios

Modelos y Bases de Datos

Tutorial para ALUMNOS de la Plataforma Educativa MOODLE Campus Virtual

Tema 6. Introducción a la segmentación avanzada: Riesgos

Organización Básica de un Computador y Lenguaje de Máquina

Procesador Segmentado

Manual ServiGuard 5.2 Cámaras Axis 210, 211, 213 y Instalación de la cámara System Options - Network - TCP/IP

VII INTEGRALES TRIGONOMÉTRICAS

PRACTICA 2 Ejercicio 2

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy

Base de datos en Access

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj.

Configuración de la dirección IP del dispositivo de autenticación de Xerox Secure Access Unified ID System Libro blanco

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40)

Segmentación del Path de Datos

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

FRACCIONES. Una fracción tiene dos términos, numerador y denominador, separados por una raya horizontal.

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Tema 5. Segmentación: conceptos básicos

AUMENTA TUS SEGUIDORES EN

BITÁCORA PREGUNTAS FRECUENTES FORMULARIO REGISTRO

GUIA BASICA PARA ALUMNO PLATAFORMA ITEL

Guía de Usuario. Seguridad Internet. Triara.com SA de CV. Todos los derechos reservados

JHAN EVER ANDRADE CASTRO

Práctica 2 de Microsoft Access

Importador Universal - Operaciones

INDEX GUÍA INSTRUCTIVA PARA PASOS INICIALES DEL SITE BUILDER

Segmentación del ciclo de instrucción

Twido Twido Windows Executive Loader Wizard Ayuda en pantalla. spa Versión 3.2

Las Imágenes que son reconocidas por SolinixAR como los videos que se proyectan por dichas imágenes, son manipuladas a través de esta plataforma.

Lección 24: Lenguaje algebraico y sustituciones

502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ

Tema N 2.- Tiempo de respuesta de un PLC

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

SISTEMAS OPERATIVOS AVANZADOS

BALANCED SCORECARD. Creación de Tableros Tablero de Indicadores. Cartilla I

Señal de petición de Interrupción

El Producto. Qué es la Ingeniería de Software? Tecnología para construir software Un proceso Un conjunto de métodos Herramientas

ELO311 Estructuras de Computadores Digitales. Unidad Aritmética

Manual de usuario. Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras

Módulo: Ahorra espacio ÍNDICE 1. QUÉ ES WINRAR? 3

Transcripción:

Pipeline (Segmentación)

Segmentación (Pipeline) Es una técnica de implementación por medio de la cual se puede traslapar la ejecución de instrucciones. En la actualidad la segmentación es una de las tecnologías utilizadas para hacer procesadores más rápidos.

Segmentación una tecnología natural Ejemplo una lavandería Luis, Juan, Gabriela, Lucrecia cada uno tiene una carga de ropa para lavar, secar y doblar. Las lavadoras toman 30 minutos Las secadoras toman 30 minutos Doblarla toma 30 minutos Acomodarla toma 30 minutos

Lavandería secuencial La lavandería secuencial toma 8 horas en procesar cuatro cargas. Si lo realizamos con la tecnología segmentada Cuánto tardaría?

Lavandería segmentada Tardaría 3.5 horas en procesar las cuatro cargas.

Lecciones sobre segmentación La segmentación no ayuda en la realización de una única tarea, ayuda en la realización de una carga de trabajo. Se pueden realizar múltiples tareas simultáneamente utilizando diferentes recursos. La velocidad se incrementa si se aumentan el número de segmentos. La razón de segmentación está dada por el segmento más lento. El desbalance en el largo de los segmentos reduce la velocidad (speedup) El tiempo en llenar y vaciar los segmentos reduce la velocidad. Almacén para las dependencias.

Los 5 estados de las instrucciones MIPS Las instrucciones MIPS presentan cinco estados (cada estado toma un ciclo de reloj): IF: Búsqueda de instrucción Búsqueda de una instrucción de la memoria de instrucciones ID: Búsqueda de registros y decodificación de instrucciones EXE: Ejecución o cálculo de dirección MEM: Acceso a la memoria de datos. WB: Escribir datos en el archivo de registros.

SEGMENTACION La segmentación traslapa los pasos. Mejora el rendimiento ya que aumenta el procesamiento de instrucciones.

SEGMENTACIÓN Qué lo hace tan fácil? Todas las instrucciones son del mismo largo Pocos formatos de instrucciones Los operandos con memoria solo aparecen en las instrucciones de carga y almacene Qué lo hace difícil? Riesgos: Hay situaciones en la segmentación cuando la siguiente instrucción no se puede ejecutar en el próximo ciclo de reloj. Hay tres riesgos: Riesgos estructurales Riesgos de control Riesgos de datos

Riesgos estructurales El hardware no puede manejar la combinación de instrucciones que deben ejecutarse en el mismo ciclo. (suponiendo que se cuenta con una única memoria) Ejemplo: IF y MEM no pueden ejecutarse en el mismo ciclo ya que ambas necesitan accesar datos de la memoria.

RIESGOS ESTRUCTURALES SOLUCIÓN: Retardar la instrucción 4 hasta el ciclo 7.

RIESGOS DE CONTROL Los riesgos en el control ocurren porque el procesador no sabe lo suficiente. Cuando se producen saltos condicionales Saltos incondicionales SOLUCIÓN: Atascamiento (Stall): se puede retrazar la ejecución de la unidad de salto después de que se conozca la información. Predicción (predict): se puede predecir esta información en forma temprana. Retardar el salto.

Riesgos de control (utilizando Atascamiento) Asuma que se puede calcular la dirección de salto y actualizar el PC en el estado ID. Ejemplo:

Solución correcta Riesgos de control

Riesgos de control (utilizando predicción) Siempre se predice que el salto no se realizará Si la predicción es incorrecta, entonces se realiza el atascamiento

Riesgos de control (utilizando retardo en el salto) El ensamblador automáticamente reemplaza la instrucción por una instrucción que no afecte el salto. NOTA: MIPS utiliza la sección de salto retardada

Riesgos de datos Los riesgos de datos ocurren porque una instrucción depende del resultado de una instrucción previa en el segmento NOTA: las instrucciones add o sub no escriben el resultado hasta el estado WB. Ejemplo: Algunas veces se puede resolver (o reducir) atascamientos para los riesgos de datos utilizando la técnica adelantamiento (forwarding)

Riesgos de datos (forwarding) Forwarding: Como el resultado de la operación add ($s0) se obtiene despues del estado EX, se puede adelantar el resultado ($s0) al próximo EX para realizar la operación sub.

Riesgos de datos (forwarding) Forwarding: trabaja muy bien. Sin embargo no prevé atascamientos en los segmentos. Ejemplo: como la instrucción lw no carga el dato deseado en la memoria hasta el estado MEM, no se puede adelantar el resultado ($s0) hasta el estado MEM.

Ruta de datos segmentada En esta sección se mostrará la ruta de datos de un solo ciclo para modificarla en una ruta de datos segmentada

Idea básica de la ruta de datos Se puede dividir la ruta de datos de un solo ciclo en los siguientes cinco segmentos IF: Instruction fetch PC 4 Address 0 M u x 1 Add Instruction Instruction memory ID: Instruction decode/ register file read register 1 data 1 register 2 Registers data 2 Write register Write data 16 Sign extend 32 EX: Execute/ address calculation Shift left 2 0 M u x 1 Add Add result Zero ALU ALU result MEM: Memory access Address Write data Data memory data WB: Write back 1 M u x 0 Qué necesitamos para realizar esta separación? Registros

Ruta de datos segmentada Con el fin de almacenar información entre los estados, se necesitan de los registros (Nota: no son necesarios los registros entre WB e IF, ya que todas las instrucciones deben actualizar algunos datos en la memoria, registros o en el PC) PC 4 Address 0 M u x 1 Add Instruction memory IF/ID ID/EX EX/MEM MEM/WB Instruction register 1 data 1 register 2 Registers data 2 Write register Write data 16 Sign extend 32 Shift left 2 0 M u x 1 Add Add result Zero ALU ALU result Address Write data Data memory data 1 M u x 0

Hay un problema Dónde? El registro de escritura cambia después del estado final en la instrucción lw. Por lo tanto se necesita cambiar esta ruta de datos para conservar el número del registro destino en la instrucción de carga. PC 4 Address 0 M u x 1 Add Instruction memory IF/ID ID/EX EX/MEM MEM/WB Instruction register 1 data 1 register 2 Registers data 2 Write register Write data 16 Sign extend 32 Shift left 2 0 M u x 1 Add Add result Zero ALU ALU result Address Write data Data memory data 1 M u x 0

Ruta de datos corregida PC 4 Address 0 M u x 1 Add Instruction memory IF/ID ID/EX EX/MEM MEM/WB Instruction register 1 data 1 register 2 Registers data 2 Write register Write data 16 Sign extend 32 Shift left 2 0 M u x 1 Add Add result Zero ALU ALU result Address Data memory Write data data 1 M u x 0

Program execution order (in instructions) lw $10, 20($1) Representación gráfica de los segmentos sub $11, $2, $3 Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 IM Reg ALU DM Reg IM Reg ALU DM Reg Puede ayudar para responder preguntas como: Cuántos ciclos se necesitan para ejecutar este programa? Qué hace la ALU durante el ciclo 4? Utilice esta representación para ayudar a entender la ruta de los datos.