Pipelining Introducción.

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Arquitectura de Computadores I
Diseño de la ruta de datos monociclo para la arquitectura MIPS
Camino de Datos y Control
Arquitectura de Computadores I
Arquitectura de Computadores I PIPELINING. Pipelining Un pipeline es una serie de etapas, en donde en cada etapa se realiza una porción de una tarea.
ARQUITECTURA DE COMPUTADORES - PIPELINING
Datapath para las instrucciones aritméticas y lógicas
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Arquitectura de Computadores
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
EMISION MULTIPLE DE INSTRUCCIONES
CLASE 11.
ISA (Instruction Set Architecture)
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 18 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Capítulo 5. El procesador: Camino de datos y control.
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
CLASE 13.
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
Diseño del procesador uniciclo
CLASE 14.
RENDIMIENTO DEL COMPUTADOR
Instruction fetch cycle (IF) IR
ARQUITECTURA DE COMPUTADORES
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
1 MEMORIAS Fundamentos de Informática Ingeniería Técnica Diseño Industrial.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
Memoria Cachés.
Organización de computadoras
Procesadores superescalares
Fundamentos de los Computadores Grado en Ingeniería Informática
Pipelining Peligros de control.
Pipeline: Peligros de datos
Unidad aritmético-lógica
El procesador Diseño del control.
Memoria Rendimiento del caché.
Superescalares Scheduling estático.
Pipelining Datapath y control.
Datapath para las instrucciones aritméticas y lógicas
Datapath para las instrucciones de brinco
Arquitecturas alternativas UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNICIONES ADMINISTRACION DE SERVIDORES.
Arquitectura de Computadoras 2012
Excepciones e interrupciones
Pipelining Peligros (hazards).
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Datapath para las instrucciones de carga y almacenamiento (load/store)
Arquitectura 2013 Explicación 4.
Creando un solo datapath
Organización del Computador
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
Scheduling dinámico: algoritmo de Tomasulo
Pipelining Peligros de control.
El procesador Datapath y control.
Ejercicio 5.6 sobre cachés
Pipelining Peligros de control.
1 MEMORIAS Fundamentos de Informática Ingeniería Técnica Diseño Industrial.
Transcripción de la presentación:

Pipelining Introducción

Definición Técnica de implementación. Consiste en ejecutar traslapadas varias instrucciones al mismo tiempo. Universidad de Sonora Arquitectura de Computadoras

Ejemplo Pasos para lavar y secar ropa: Poner una carga de ropa sucia en la lavadora. Al terminar, poner la ropa húmeda en la secadora. Al terminar, poner la ropa seca en una mesa y doblarla. Guardar la ropa doblada. Al terminar, poner la siguiente carga en la lavadora. Universidad de Sonora Arquitectura de Computadoras

Ejemplo Hay dos formas de lavar ropa: Hacer un paso a la vez (versión secuencial). Hacer varios pasos a la vez (versión con pipeline). Suponiendo que hay cuatro cargas de ropa y que cada paso tarda media hora (30 minutos). Universidad de Sonora Arquitectura de Computadoras

Versión secuencial Universidad de Sonora Arquitectura de Computadoras

Versión con pipeline Universidad de Sonora Arquitectura de Computadoras

Conclusión Para 1 carga de ropa: Para 4 cargas de ropa: Versión secuencial: 2 horas. Versión con pipeline: 2 horas. Speedup: 2 / 2 = 1.0. Para 4 cargas de ropa: Versión secuencial: 8 horas. Versión con pipeline: 3.5 horas. Speed-up: 8 / 3.5 = 2.29. Universidad de Sonora Arquitectura de Computadoras

Conclusión Para 20 cargas de ropa: Versión secuencial: 40 horas. Versión con pipeline: 11.5 horas. Speed-up: 40 / 11.5 = 3.48. El speed-up está limitado por el número de etapas del pipeline. El speed-up depende del factor de utilización del pipeline. Universidad de Sonora Arquitectura de Computadoras

Conclusión Para tener un pipeline se necesitan recursos para cada etapa. Universidad de Sonora Arquitectura de Computadoras

Pipelining en MIPS Las instrucciones de MIPS tienen 5 etapas: Obtener (fetch) una instrucción de la memoria. Leer los registros mientras se decodifica la instrucción. Ejecutar la operación o calcular una dirección. Accesar un operando en la memoria de datos. Escribir el resultado en un registro. Universidad de Sonora Arquitectura de Computadoras

Pipelining en MIPS IF (instruction fetch): obtiene la instrucción de la memoria. ID (instruction decoding): decodifica la instrucción y lee los operandos. EX (execute): ejecuta la instrucción, o si es lw/sw calcula la dirección de la memoria. MEM (memory access): lee/escribe la memoria. Es una no-op para instrucciones tipo-R. WB (write back): escribe el resultado en el registro. IF ID EX MEM WB Universidad de Sonora Arquitectura de Computadoras

Ejemplo El cuadro completo representa la memoria de instrucciones. El cuadro punteado representa el banco de registros. EX tiene el símbolo de la ALU. MEM está en blanco porque add no accesa la memoria de datos. Universidad de Sonora Arquitectura de Computadoras

Pipelining en MIPS Características de MIPS que ayudan a implementar cada etapa del pipeline en un ciclo: Las instrucciones tienen la misma longitud. Etapas IF e ID. Solo 3 formatos de instrucción. Etapa ID. Las instrucciones lw y sw son las únicas que accesan la memoria. Etapas EX y MEM. Los operandos están alineados en la memoria. Etapa MEM. Universidad de Sonora Arquitectura de Computadoras

Comparación Comparar la implementación MIPS de un ciclo contra la implementación de un pipeline. Versión de 8 instrucciones: carga palabra (lw), guarda palabra (sw), suma (add), resta (sub), and, or, set-on-less-than (slt) y branch-on-equal (beq). Versión de un ciclo: todas las instrucciones tardan un ciclo de reloj. Universidad de Sonora Arquitectura de Computadoras

Comparación Versión con pipeline: 200 ps por acceso a memoria. 200 ps por operación de la ALU. 100 ps por leer o escribir en el banco de registros. Universidad de Sonora Arquitectura de Computadoras

Comparación En la versión de un ciclo, la duración del ciclo de reloj se acopla a la instrucción mas lenta. El periodo de reloj es de 800 ps, aunque haya instrucciones que ocupen 500 ps. Se van a comparar una secuencia de 3 instrucciones lw. Universidad de Sonora Arquitectura de Computadoras

Versión de un ciclo Las 3 instrucciones tardan 800 x 3 = 2,400 ps. Universidad de Sonora Arquitectura de Computadoras

Versión pipeline Las 3 instrucciones tardan 1,400 ps. Universidad de Sonora Arquitectura de Computadoras

Conclusiones En la versión pipeline, la longitud del ciclo en cada etapa es la misma y se acopla a la etapa mas lenta. Cada etapa dura 200 ps. Speedup = 2400 / 1400 = 1.71. Universidad de Sonora Arquitectura de Computadoras

Speedup Si las etapas del pipeline están perfectamente balanceadas, el speedup máximo es: En teoría, el speedup máximo de un pipeline es aproximadamente igual al número de etapas. Un pipeline de 5 etapas es hasta 5 veces más rápido que la versión sin pipeline (secuencial). Universidad de Sonora Arquitectura de Computadoras

Speedup En teoría, si el periodo de reloj en la versión de un ciclo es de 800 ps, en una versión balanceada del pipeline el periodo debería ser de 800 / 5 = 160 ps. Pero, como las etapas no están balanceadas, el periodo de reloj es de 200 ps. En el ejemplo, el speedup está limitado a 4. Universidad de Sonora Arquitectura de Computadoras

Speedup En general, para pipelines balanceados o no balanceados, el speedup máximo es: En el ejemplo: Universidad de Sonora Arquitectura de Computadoras

Speedup En el ejemplo, con 3 instrucciones el speedup es de 1.71. La razón es que son solo 3 instrucciones. Si se ejecutan un millón de lw: El speedup depende de la utilización del pipeline. Universidad de Sonora Arquitectura de Computadoras

Conclusión El uso de un pipeline mejora el rendimiento incrementando el throughput sin decrementar el tiempo de ejecución de una instrucción individual. Universidad de Sonora Arquitectura de Computadoras