ARQUITECTURA DE MÁQUINAS COMPUTADORAS III

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

El modelo de Von Neumann
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Microprocesadores Componentes básicos..
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
1.3. PROGRAMACION PARALELA
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.
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
PROCESADORES SUPERESCALARES
Computación PROGRAMACIÓN.
Fecha: 11/09/13.  Todos los sistemas distribuidos constan de varias CPU, organizadas de diversas formas.  La forma de interconectarlas entre sí. 
Profesor: Ing. Matías Vallerga Ayudante: Lic. Cristian Kenny
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Tema: Componentes físicos de una computadora
EMISION MULTIPLE DE INSTRUCCIONES
Arquitectura de Conjunto de Instrucciones (ISA)
Mejoras a las Máquinas Von Neumann
CLASIFICACIÓN DE COMPUTADORAS
Unidad 3. Arquitecturas SIMD
Composición Interna de un Procesador
Arquitectura del Computador
CPU “Microprocesador de datos” Bus “ Transporte de los datos”
Centralizados y Distribuidos
Operación de Micros e Interfaces
CONCEPTOS FUNDAMENTALES FORMAS DE ALMACENAR INFORMACION UNIDAD BASE DE INFORMACION: BIT BYTE = 8 BITS UN KILOBYTE = 1024 BYTES UN MEGABYTE = 1024 KILOBYTES.
Procesamiento paralelo
Arquitectura de ordenadores.
Unidad 3. Arquitecturas SIMD
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Arquitectura de Máquinas Computadoras II
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Contenido Marco de referencia Arquitectura de computadoras paralelas
ARQUITECTURAS SIMD Clase Práctica No Vector Processor M-M 1. Estime el tiempo de ejecución de una suma vectorial en un Vector Processor M-M basado.
EL SISTEMA OPERATIVO.
TEMA 2: Organización de computadores
Organización de Computadoras
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Inst. Tec. de Morelia ISC BASES DE DATOS DISTRIBUIDAS VERANO DEL 2006 MC. Anastacio Antolino Hernández TAXONOMÍA DE FLYNN.
Arquitecturas Paralelas
¿Qué unidades conforman el procesador?
Arquitectura de Von Neumann
“Organización y Arquitectura de Computadores” William Stallings
Sistemas Operativos Avanzados
Universidad Politécnica de Tulancingo Catedrático Ing. Jorge Luis Neri Trejo Asignatura Ing. De Hardware III Tema Procesamiento Paralelo Presenta Verónica.
CLASIFICACION DE LAS COMPUTADORAS
Sánchez Manjarrez Silvana Ing. Daniel Domínguez C. México, D.F. a 13 de septiembre del 2006 Arquitectura de Computadoras Arquitecturas CISC Y RISC Campus.
Capítulo 4 CPU y la memoria.
Tendencias Generales Dotación física Software lógica Más pequeño
RENDIMIENTO DEL COMPUTADOR
del Diseño de Computadoras
ARQUICTECTURA DE SERVIDORES
Capítulo 8 Segmentación de Instrucciones.
TEMA II FUNDAMENTOS DEL DISENO DE COMPUTADORES
ARQUITECTURA ALTERNATIVA DE SERVIDORES SISTEMAS OPERTIVOS DE RED En un sistema operativo de red los usuarios saben que están conectados a la red y que.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
UNIDAD I INTRODUCCION A LOS S.O.
MICROPROCESADOR Es un tipo de circuito sumamente integrado que contiene todos los elementos de CPU y su funcionamiento. Esta compuesto por millones de.
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Arquitectura básica de la computadora
CAPITULO V Arquitectura de Von Neumann
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Transcripción de la presentación:

ARQUITECTURA DE MÁQUINAS COMPUTADORAS III UNI-FEC Unidad 1: PARALELISMO Y MEJORA DEL RENDIMIENTO Ing. José Díaz Chow U1.2

¿Qué hemos abordado? Evaluación de la computadora: ¿Para qué? ¿Cómo? Métricas de evaluación Técnicas de Evaluación Rendimiento Tiempo de ejecución Ley de Amdahl Benchmarks (medición)

Tipos de programas de prueba o benchmarks Programas reales: Usar la aplicación real para la que se requiere el computador. Núcleos (Kernels): Usa partes “clave” de programas demandantes. Orientados a cálculos intensivos. Benchmarks reducidos (Toys): 10-100 líneas de código que realizan pequeños algoritmos habituales. Fáciles pero muy limitados. Benchmarks sintéticos: Elaborados expresamente para evaluar rendimiento imitando el comportamiento de programas de verdad, pero sin tareas específicas.

1.2. Reducción del Tiempo de Ejecución ¡ Queremos mejorar el Rendimiento de la Computadora ! Rendimiento es el inverso del tiempo de ejecución: 𝑹= 𝟏 𝒕 Así que, si reduzco el tiempo de ejecución, incremento el rendimiento.

¿Cómo reducir el tiempo de ejecución? Factores que determinan t: 𝑡=𝝉 ∗𝐶𝑃𝐼 ∗𝑁 Reducir uno o más factores sin que incrementen otros permitiría reducir t: ¿ De qué depende 𝝉 ? ¿Cómo reducirlo? ¿ De qué depende el 𝐶𝑃𝐼? ¿Cómo reducirlo? ¿ De qué depende 𝑁 ? ¿Cómo reducirlo?

Reducción del período (t) El t de reloj debe ser lo suficientemente ancho para que se completen todas las microoperaciones de control del paso de control más tardado. Para reducir t es requerido, por tanto, que las operaciones de control sean más rápidas (para que no se tenga que incrementar el CPI). Depende del avance de la tecnología en los procesos de fabricación de sistemas digitales.

Reducción del número de Instrucciones (N) Depende de la arquitectura. Arquitecturas con instrucciones complejas permiten realizar operaciones con menos instrucciones que otras con instrucciones más simples: Operaciones integradas: CMP + Jx (2 inst.) vs BRx (1 inst.: Salta si se cumple la condición x) Múltiples modos: LOAD Rf, Rs(d) + ADD Rd, Rf, Rg (2 inst. Arq R3) vs ADD Rs(d), Rf (1 inst. Arq R2) Dependencia de instrucciones complejas con mProgramación tiende a t mayor. ¡No rinde buenos frutos!

Reducción de ciclos por instrucción (CPI) Depende de la arquitectura: ¡Cantidad de operaciones que se pueden realizar en un ciclo de reloj! Arquitecturas con instrucciones complejas obligan a altos CPIs Arquitecturas con instrucciones simples pueden reducir CPI. Meta a aspirar: CPI =1 Proyecto RISC lo demostró. ¡Mejor apuesta para el arquitecto!

Mejorando nuestra arquitectura X (R2) Reducir modos para simplificar la UC: Arquitectura R3: Transferencia de M R: LOAD, y RM: STORE. Usan modo Índice. Operaciones OP: Solo registros o inmediatos. Move R1, R2  Add R2, R1, R0; ¡R0 siempre vale 0! Bus común  Conexiones directas: más rápido. Uso de más registros en un Banco de Registros: 2 puertos de lectura y 1 de escritura simultáneos

1.3. Mejoras al sistema de memoria Despues del CPU, el sistema de memoria es el más usado. ¡Eliminar los WMFC! Mejorar el desempeño del sistema de Memoria.

Mejorando el desempeño de M ¿Cuáles son los factores de desempeño de la Memoria? Latencia: Tiempo de acceso, tiempo de ciclo. Depende de la tecnología de fabricación. Productividad: Velocidad de transferencia. Ancho del Bus Solapamiento: memorias entrelazadas. Disponibilidad: Detección y corrección de errores Capacidad: Memoria Virtual

Jerarquía de Memoria Diferentes tipos de memorias: Vt y C. Memorias más rápidas tienen limitado tamaño y alto precio. Uso de memorias intermedias. Principio de localidad de referencia.

1.4. Mejoras al sistema de E/S Sistema de Entrada - Salida Comunicación con el exterior Leer Programas y Datos Entregar resultados de procesamiento. Diferentes dispositivos de E/S Entrada Salida Memoria de largo plazo Diferentes tecnologías y velocidades Mejorar el desempeño del sistema de Entrada / Salida.

Mejorando el desempeño de E/S Diferentes dispositivos con diferentes métodos de transferencia de datos y velocidades ¿Cuáles son los factores de desempeño del sistema de E/S? Latencia: Tiempo de respuesta. Depende de la tecnología de fabricación. Productividad: Velocidad de transferencia. Frecuencia Ancho del Bus

Jerarquía de Buses Agrupa dispositivos con Vt similares. Equilibrio de ancho de banda entre dispositivos.

ADM y Procesadores de E/S Agiliza las transferencias de dispositivos de E/S a M y viceversa. Emplea un procesador auxiliar dedicado. Solapa la ejecución de instrucciones con las operaciones de E/S Diversos esquemas de acuerdo a las velocidades de los dispositivos

ADM y Procesadores de E/S

1.5. Introducción al Paralelismo ¿Y si aún con todas estas mejoras, no logramos el rendimiento deseado? Por Amdahl: CPU es el más apropiado de mejorar ¿Se puede? Si solo hago una tarea, con un amigo, ¡puedo hacer dos!

Requerimientos de mayor desempeño Concurrencia (datos compartidos). Capacidad de atención a múltiples usuarios y tareas. Procesamiento de datos de información de conocimiento  Inteligencia. Tecnología de producción de hardware  más poder a menor costo Ejecutor más rápido vs más ejecutores.

Procesamiento Paralelo Forma de procesamiento que explota ejecución de sucesos concurrentes. Simultaneidad Multiplicidad Solapamiento de ejecución de múltiples tareas. Multiplicidad de ejecutores en una o varias tareas.

Tipos de Paralelismo Temporal: El paralelismo que involucra solapamiento se denomina temporal porque permite la ejecución concurrente de sucesos sobre los mismos recursos en intervalos intercalados de tiempo. Espacial: El paralelismo que permite simultaneidad real sobre múltiples recursos al mismo tiempo se denomina paralelismo espacial.

Nivel de Paralelismo Grano Grueso Grano Fino Tarea Programa Instrucción Aritmético o de Bits

Técnicas de mejora y paralelismo  Multiprogramación y Tiempo compartido: técnica software (temporal): Sistema Operativo. Solapamiento de las operaciones CPU y E/S: DMA e IOPs. Espacial. Jerarquización y equilibrio de ancho de banda: Jerarquía de Memoria y de Buses: agilización y redundancia de datos. Espacial.

Técnicas de mejora y paralelismo Solapamiento de la ejecución: Ciclo de instrucción solapado. Adelanta etapas del ciclo. Pre-Fetch y Pipelining. Temporal. Multiplicidad de unidades ejecutoras: Sistemas superescalares. Espacial. Sistemas paralelos: Paralelismo de datos y de código: SIMD y MIMD. Espacial

1.6. Clasificación de arquitecturas paralelas Taxonomías Diferentes sistemas de clasificación. Más comunes: Flynn: Basado en cardinalidad (s,m) de flujo de instrucciones y datos. Feng: Basado en tipo de transferencia o procesamiento (s,p) y cantidad de bits involucrados (b,w). Händler: Modelo matemático basado en métricas. Categoría es tupla de valores

Taxonomía de Flynn Flynn (1966) propone un sistema de clasificación por flujos de instrucciones y datos: SISD >> SIMD >> MISD >> MIMD SISD (Simple flujo de instrucciones-simple flujo de datos): Arquitecturas secuenciales estándares Arquitectura Von Neumann.

Taxonomía de Flynn SIMD (Simple flujo de instrucciones-múltiples flujos de datos): Sistemas que ejecutan instrucciones sobre colecciones de datos a la vez: Cálculo vectorial y matricial.

Taxonomía de Flynn MISD ( Múltiples flujos de instrucciones-simple flujo de datos): Arquitecturas no viables en el paradigma actual. Arquitecturas de flujo de datos. No aplicación real.

Taxonomía de Flynn MIMD (Múltiples flujos de instrucciones-multiples flujos de datos): Sistemas con múltiples ejecutores con una o múltiples tareas: Multiprocesadores Multicomputadores

Extensión a la Taxonomía de Flynn Johnson (1988) propone extender o detallar la taxonomía de Flynn en el caso de los MIMD:

Taxonomía de Feng Tse-yun-Feng, sugiere el grado de paralelismo como criterio de clasificación: Máximo grado de paralelismo ( P ) = número máximo de dígitos binarios que pueden ser procesados en una unidad de tiempo Grado medio de paralelismo ( Pm ) y tasa de utilización ( g ) de un sistema en T ciclos: Donde Pi es el No. de bits que puede ser procesados en el i-esimo ciclo del procesador, para T ciclos. Tasa de utilización en T ciclos

Taxonomía de Feng Se puede clasificar a la computadoras de acuerdo a este criterio como: Palabra-serie y bit-serie (PSBS). m=n=1. Procesamiento totalmente serial. Palabra-paralelo y bit-serie (PPBS). m>1, n=1, procesamiento por sección de bits (procesa m palabras 1 bit cada vez). Palabra-serie y bit-paralelo (PSBP). n>1, m=1, procesamiento por sección de palabra (procesa una palabra de n bits a la vez), computadoras actuales. Palabra-paralelo y bit-paralelo (PPBP). n>1, m>1, procesamiento totalmente paralelo (se procesa una matriz de n*m bits a la vez), multiprocesadores y multicomputadoras (cluster´s).

Taxonomía de Feng

C = < K x K’, D x D’, W x W’ > donde: Taxonomía de Händler Wolfgang Händler: Esquema basado en encauzamiento del procesamiento en tres niveles “top-down”: UCP (Unidad Central de procesamiento) UAL (Unidad Aritmética Lógica) El circuito a nivel Bit (CNB) Un sistema computador (C )puede caracterizarse por una triada: C = < K x K’, D x D’, W x W’ > donde: K = Es el número procesadores K’ = Número de procesadores que puede encauzarse (pipelined) D = Es el número de ALU bajo el control de un CPU D’ = Número de ALU´s que pueden ser encauzadas (pipelined) W = Longitud de palabra de una UAL o un Elemento de Proceso (EP) W’ = El número de segmentos en pipeline en todas las ALU´s o EP´s

Taxonomía de Händler Por ejemplo para la Cray-1: Es un procesador de 64-bit no segmentado, superescalar Cuenta con12 unidades de proceso o ALUs, 8 de las cuales pueden trabajar en pipeline. Diferentes unidades funcionales tienen de 1 a 14 segmentos los cuales pueden trabajas en pipeline. Por tanto: CRAY-1 = < 1, 12 x 8, 64 x ( 1~14) >

Otras Taxonomías Otras clasificaciones que se pueden encontrar en la literatura son: Taxonomía de Shore´s (1973): Basada en la estructura y el número de unidades funcionales en la computadora. Se divide en 6 categorías o tipos de máquina: Máquina 1 … Máquina 6. Taxonomía estructural de Hockney y Jesshope´s. Se basa en la notación llamada “Estilo de Notación Estructural Algebraica (ASN)”, es muy compleja. C(Cray-1) = Iv12 [ 12Ep12 - 16M50 ] r; 12Ep = {3Fp64,9B} Existen otras nomenclatura que pretende ser más descriptiva y se basa en: multiplicidad del procesador, tamaño de grano, topología y control de multiplicidad.

Recomendaciones Recordar consultar el folleto de clase. U1: Paralelismo y mejora del rendimiento Recordar consultar el folleto de clase. Recordar consultar la bibliografía: Hwang Henesy - Patterson