Arquitectura Segmentada: Conceptos básicosb



Documentos relacionados
Pipeline (Segmentación)

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

Arquitectura de Computadores

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

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

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

Pipelining o Segmentación de Instrucciones

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

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

Procesadores segmentados. El DLX.

Pipelining. Introducción

MICROPROCESADOR. Multiciclo

Plataformas de soporte computacional: arquitecturas avanzadas,

Arquitectura de Computadores

Arquitectura de Computadores II Clase #5

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

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

Organizacion del Computador

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

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

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

Arquitecturas CISC y RISC

Pipeline o Segmentación Encausada

Organización de Computadoras. Turno Recursantes Clase 8

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

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

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

Tema 1: PROCESADORES SEGMENTADOS

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

Arquitectura de Computadores II Clase #16

Arquitectura basica de un computador

ARQUITECTURA DE COMPUTADORAS

Entorno de Ejecución del Procesador Intel Pentium

Métricas de Rendimiento

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

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

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

Estructura de Computadores

Capitulo V Administración de memoria

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

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

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

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

Dr.-Ing. Paola Vega Castillo

Procesador Segmentado

Examen de Arquitectura de Computadores

Señal de petición de Interrupción

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Introducción a la arquitectura de computadores

Primer Semestre Laboratorio de Electrónica Universidad de San Carlos de Guatemala. Electrónica 5. Aux. Marie Chantelle Cruz.


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

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

SISTEMAS DIGITALES III. Unidad I MEMORIAS

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Tema 2. Diseño del repertorio de instrucciones

Arquitectura de Computadores II Clase #6

Diseño de la ruta de datos multiciclo. Procesador Multiciclo. Diseño de la ruta de datos multiciclo. Diseño de la ruta de datos multiciclo

Arquitectura y Tecnología de Computadores (09/10) Procesadores Segmentados y Superescalares

Segmentación del ciclo de instrucción

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

1 ARQUITECTURA DEL ALPHA

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

Tema 4: Diseño de un microprocesador

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

CPU. Unidad central de procesamiento

UN SIMULADOR DE UNA MAQUINA COMPUTADORA COMO HERRAMIENTA PARA LA ENSEÑANZA DE LA ARQUITECTURA DE COMPUTADORAS

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

Capítulo 4 Gestión de memoria

Segmentación del ciclo de instrucción

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Arquitectura de Computadores

3.8 Construcción de una ALU básica

Unidad 1: Conceptos generales de Sistemas Operativos.

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

QUE ES ACCESS PESTAÑA INICIO VER: EN ESTA PESTAÑA SE ENCUENTRA

Para completarlo deberá tener en cuenta las siguientes

Programación estructurada (Interfaces Windows y Unix)

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

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

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

Introducción al enrutamiento y envío de paquetes

TEMA 4. Unidades Funcionales del Computador

PARTE II: Programación en ensamblador

La Unidad Procesadora.

... partes internas del computador!...

PRACTICA 2 Ejercicio 2

Tema 5. Segmentación: conceptos básicos

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

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

MICROPROCESADORES PARTES DE UN MICROPROCESADOR

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

Es un software de simulación que ejecuta programas en lenguaje de ensamblador para procesadores con arquitectura MIPS32.

TELECOMUNICACIONES Y REDES. Redes Computacionales II. Prof. Cristian Ahumada V.

GESTIÓN DE LA DOCUMENTACIÓN

Transcripción:

Arquitectura Segmentada: Conceptos básicosb Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 4 ARQUITECTURA SEGMENTADA (PIPELINING) (4 SEMANAS) 4.1 Conceptos básicos de la arquitectura segmentada Paralelismo a nivel de instrucciones Ventajas de la arquitectura segmentada Definición de riesgos estructurales, de datos, de control, atascos, riesgos de rama 4.2 Implementación de la arquitectura segmentada Flujo de datos segmentado Control segmentado Manejo de riesgos estructurales, de datos, de control, atascos, riesgos de rama 4.3 Manejo de excepciones e interrupciones en la arquitectura segmentada

Paralelismo Alto desempeño depende de dos factores: A nivel de programas, se define el paralelismo a nivel de instrucciones (ILP) Promedio de número de instrucciones en un programa que un procesador podría ejecutar simultáneamente Determinado por dependencias de datos y control A nivel de procesador, se define el paralelismo de máquina: Número de instrucciones que pueden ser leídas y ejecutadas simultáneamente Mejora del rendimiento por medio de: Arquitecturas encauzadas (segmentadas): traslape en ejecución de instrucciones Arquitecturas superescalares (emisión múltiple de instrucciones): varias rutas de datos independientes para procesamiento simultáneo de instrucciones Segmentación La segmentación (encauzamiento) depende de Paralelismo a nivel de instrucciones: dependencias de datos Paralelismo de máquina El rendimiento puede mejorarse con dos factores Rendimiento (Throughput) : número de instrucciones que se completan en un lapso de tiempo Tiempo de respuesta (Latency): tiempo requerido por una instrucción para pasar por todos los segmentos El concepto de segmentación es análogo al de una línea de producción Se divide la ejecución de instrucciones en etapas Cada etapa se conoce como segmento (pipe stage o pipe segment) Etapas de diferentes instrucciones pueden traslaparse La siguiente instrucción se inicia antes de que la instrucción actual se haya completado = paralelismo

Monociclo vs Encauzamiento Program execution Time order 200 400 600 800 1000 1200 1400 1600 1800 (in instructions) lw $1, 100($0) Instruction fetch ALU Data access lw $2, 200($0) 800 ps Instruction fetch ALU Data access lw $3, 300($0) 800 ps Instruction fetch Program execution Time order (in instructions) lw $1, 100($0) lw $2, 200($0) lw $3, 300($0) Instruction fetch 200 ps 200 400 600 800 1000 1200 1400 Instruction fetch 200 ps ALU Instruction fetch Data access ALU Data access ALU Data access 200 ps 200 ps 200 ps 200 ps 200 ps 800 ps Segmentación La segmentación no reduce el tiempo de respuesta para la instrucción (latency),sino mejora la cantidad de trabajo realizada en un lapso de tiempo (throughput) Tiempo de ejecución de instrucciones se reduce idealmente, como sigue: T entre instrucciones, segmentado = T entre instrucciones, no segmentado # Segmentos El ciclo de máquina se define como el tiempo necesario para avanzar un segmento

Etapas de Arquitectura Segmentada IF: Lectura de instrucción ID: Decodificación de instrucción/ciclo de búsqueda de registros Decodificar instrucción Leer registros de propósito general EX: Ejecución / ciclo de dirección efectiva Ejecución de operaciones de ALU MEM: Acceso a memoria / ciclo de finalización de rama Load, store y ramas WB: Ciclo de Retroescritura (write-back) Escribir resultados en registros Lectura de de instrucción Decodificación de de instrucción/ Búsqueda de de registros Ejecución/ Cálculo de de dirección efectiva Acceso Acceso a memoria/ Finalización de de rama rama Retroescritura Ejecución Paralela de Instrucciones IF ID EX MEM WB IF ID EX MEM WB IF : Instruction Fetch ID : Instruction Decode/ister Fetch EX : Execute/Address Calculation MEM : Memory Access WB : Write Back IF ID EX MEM WB IF ID EX MEM WB Segmentación de profundidad 5 IF ID EX MEM WB Ciclo de CPU actual

Etapas Básicas de la Segmentación Lectura de de instrucción (IF) (IF) Decodificación de de instrucción/ Búsqueda de de registros (ID) (ID) Decodificación de instrucción Transferencia de operandos del banco de registros a los registros de entrada de la ALU Pasos básicos de segmentación Ejecución/Cálculo de de dirección efectiva (EX) (EX) Contenido de registro de salida de ALU puede ser: El resultado de una operación aritmético-lógica en instrucciones registro-registro Una dirección efectiva de memoria, en instrucciones de referencia a memoria Dirección de salto/rama en instrucciones de transferencia de control

Pasos básicos de segmentación Acceso Acceso a memoria/ Finalización de de rama rama (MEM) (MEM) Retroescritura (WB) (WB) Acceso a memoria (MEM): Se escribe en la memoria el resultado de la operación o se revisa la condición de rama para decidir si se toma o no Retroescritura (WB): el resultado de la ejecución de una instrucción registroregistro o de carga se almacena en el banco de registros Segmentación n de Microarquitectura Monociclo

Modificaciones para Segmentación Inclusión de registros de encauzamiento para respaldo de ruta de datos y señales de control Correspondencia Microarquitectura-Segmentos

Correspondencia Microarquitectura-Segmentos Correspondencia Microarquitectura-Segmentos

Correspondencia Microarquitectura-Segmentos Correspondencia Microarquitectura-Segmentos

Modificación n para Retroescritura Ejemplo

Detalles de Modificaciones para Segmentación istros de Segmento Qué valores de la ruta de datos se respaldan en los registros de segmento? IF/ID: (64 bits) Corresponde al registro IR en la microarquitectura multiciclo Contiene la instrucción actual y la dirección de la siguiente instrucción ID/EX: (128 bits) Valores leídos de los registros Rs y Rd Dirección de la siguiente instrucción Valor inmediato extendido EX/MEM: (97 bits) Dirección de rama Resultado de ALU y bandera de cero Datos leídos de registro 2 MEM/WB: (64 bits) Datos leídos de memoria Resultado de ALU

Diseño o para Segmentación Aspectos de ISA que impactan la segmentación: Longitud de instrucción: fija facilita segmentación Pocos formatos de instrucción Campos fijos en formato de instrucción: decodificación simultánea de instrucción y registros Arquitectura: Arquitectura memoria-memoria requiere segmento de direccionamiento, acceso a memoria y ejecución arquitectura registro-registro disminuye profundidad de línea de segmentación Alineamiento de operandos en memoria No Idealidades en Arquitectura Segmentada El periodo de reloj está determinado por la etapa más lenta de la segmentación Idealmente cada segmento está activo en cada ciclo de reloj y debe poder ejecutarse cualquier combinación de operaciones No idealidades: Efectos de arranque y drenado Retardos de segmento desiguales Situaciones de transferencia de control que requieren drenado de segmentos Consideraciones de temporización: distribución de reloj y tiempos de setup y hold de los registros de segmento Atascos debido a riesgos de segmentación

Riesgos de Segmentación Riesgos de segmentación Fenómenos que impiden que la siguiente instrucción pueda ejecutarse en el siguiente ciclo de reloj Causan atascos en la segmentación 3 tipos: estructurales de datos de control Riesgo de datos: La segmentación cambia el orden de los accesos de escritura/lectura de los operandos Una instrucción podría necesitar un operando que es el resultado de una operación anterior que aún no se ha completado Riesgos de Segmentación Riesgo estructural: Combinación de instrucciones que no puede ejecutarse en paralelo debido a conflictos en el uso de recursos Un procesador tiene una unidad de hardware y dos instrucciones en la línea de segmentación que intentan utilizarla al mismo tiempo Riesgo de control: Debido a una rama, salto u otras instrucciones de control Una rama interrumpe el flujo secuencial de instrucciones, puesto que el PC debe actualizarse con la dirección de rama antes de continuar la ejecución del programa