Arquitectura de Sistemas Paralelos 1
|
|
- Felisa Castillo Navarrete
- hace 6 años
- Vistas:
Transcripción
1 Arquitectura de Sistemas Paralelos 1 Tema 1 INTRODUCCIÓN A LA ARQUITECTURA DE COMPUTADORES Y ANÁLISIS DE PRESTACIONES Daniel Cascado Caballero Alejandro Linares Barranco Francisco Gómez Rodríguez Saturnino Vicente Díaz Dpto de Arquitectura y Tecnología de Computadores Universidad de Sevilla 1
2 Definición de Arquitectura (I) Según H&P hay 3 niveles independientes de Arquitectura: 1. Organización Alto nivel, memoria, buses, bloques de la CPU S.O. Software 2. Lenguaje Máquina o Ensamblador Repertorio de instrucciones visto por el programador. Frontera entre el Soft y el Hard Compilador 3. Implementación Diseño lógico detallado y tecnología de encapsulamiento, microelectrónica. 3
3 Definición de Arquitectura (II) Mucha gente piensa que la Arquitectura de computadores es igual al diseño de repertorio de instrucciones (L.M.) y el resto es implementación ERROR Las mayores o menores prestaciones del diseño de un L.M. dependerán de: un conocimiento exhaustivo del hardware, de la organización, y de una correcta implementación 4
4 Definición de Arquitectura (III) Ejemplos CISC (Computador de repertorio complejo de instrucciones) L.M. con instrucciones complejas (acercamos mucho el L.M. al lenguaje de alto nivel) Compiladores muy sencillos Hardware complejo Menos frecuencia de reloj RISC (Computador de repertorio reducido de instrucciones, posteriormente, instrucciones sencillas) L.M. con instrucciones muy simples Compiladores más complejos a priori pero más flexibles Hardware sencillo y rápido Mayor frecuencia de reloj 5
5 Términos de la Arquitectura de Computadores Entrada/Salida y almacenamiento Discos magnéticos, Cintas, CD, DVD, etc. RAID DRAM Memoria entrelazada, protocolos de bus Jerarquía de memoria VLSI Caché L2 Caché L1 Arq. conjunto de instrucciones Segmentación, dependencias, Superescalar, Reordenación, predicción, especulación, Vectorial Coherencia, ancho de banda, latencia Direccionamiento, Protección, Manejo de excepciones Segmentación y paralelismo a nivel de instrucciones 6
6 Evolución de la tecnología e influencia de la arquitectura (I) 7
7 Evolución de la tecnología e influencia de la arquitectura (II) Límites de la ley de Moore (2 postulados) 1: Densidad de datos x2 cada 18 meses. 2: Nº de transistores x2 cada año. Aumento en la escala de integración: Aumento de la densidad de transistores y de su velocidad Velocidad proporcional a la longitud de la puerta Retardos en la transmisión de la señal Incremento considerable de la resistencia Mantenimiento de la capacidad Retraso de las líneas proporcional al producto R*C Menor espacio recorrido por la señal en un ciclo No muy significativo para microarquitecturas actuales Dimensiones del circuito se reducen cuadráticamente Problema: Complicación del hardware para incrementar el IPC. (Ej. P4 usa 2 etapas para propagar la señal) Incremento en prestaciones: Pasar del 50%-60% anual al 12%-17% anual Cuidado con consumo y disipación de potencia + nº transistores => mayor consumo => problemas de refrigeración. Intel paso de los 135W del p4 a los 65W del core 2 duo. 8
8 Evolución de la tecnología e influencia de la arquitectura (III) Avance en el diseño de la arquitectura Han influido menos en el rendimiento Mejoras tecnológicas garantizan un gran incremento en prestaciones Las empresas invierten más en tecnología que en diseño de arquitecturas nuevas Es difícil innovar rápidamente en un campo con tanto negocio. El introducir un cambio en la arquitectura supone un riesgo Por ejemplo, la compatibilidad software es crucial para que una empresa sobreviva 9
9 Evolución de la tecnología e influencia de la arquitectura (IV) Existe realimentación entre Tecnología, Arquitectura y Software. Por ejemplo: En los 60 s, la memoria y la potencia era poca Se programaba en lenguaje máquina La programación era una tarea compleja, luego se intentan diseñar arquitecturas con L.M. complejo, similar a un lenguaje de alto nivel Hardware complejo Existieron intentos de hacer esto, pero fracasaron porque la naturaleza de los circuitos es digital y no algorítmica Posteriormente se desarrollan los compiladores abandono de la programación en código máquina Ya no tiene sentido un L.M. complejo, podemos construir nuestra arquitectura con instrucciones de L.M. muy sencillas Se simplifica el hardware, lo cual nos permite usar técnicas avanzadas para explotar el paralelismo Explosión del rendimiento 10
10 Interacción Tecnología-Mercado- Aplicaciones-Arquitectura Posibilidades Promueve Capacidades Prestaciones Tecnología Arquitectura Aplicaciones Posibilidades Selección Restricciones Posibilidades Demanda Restricciones Mercado Generación Fundamental Fuerte Visible 11
11 Introducción al paralelismo (I) Tradicionalmente, la computadora ha sido vista como una máquina secuencial La mayor parte de los lenguajes de programación requiere que el programador especifique algoritmos como secuencias de instrucciones Las CPU s ejecutan programas ejecutando instrucciones de código máquina en una secuencia, una a la vez Cada instrucción es ejecutada en una secuencia de operaciones (búsqueda de instrucción, búsqueda de operandos, ejecución de la operación y almacenamiento de resultados) 12
12 Introducción al paralelismo (II) Ejecución secuencial Instr. 1 Instr. 2 Instr. 3 Instr. 4 Encadenamiento de instrucciones de código máquina (segmentación, pipelining) Dividimos la ejecución de las intrucciones en P etapas, lo cual nos permite la ejecución en cadena Inst. 1 Inst. 2 Inst. 3 Inst. 4 P Instrucciones en el aire (P=4) 13
13 Introducción al paralelismo (III) Paralelismo a nivel de instrucciones (ILP) El procesador puede ejecutar varias instrucciones a la vez Se puede combinar (y de hecho se hace) con el encadenamiento Inst. 1 ALU Inst. 2 Inst. 3 Acc. mem Salto Ventana de V instrucciones (V=3) Inst. 4 Inst. 5 Inst. 6 Tendremos V*P instrucciones en el aire (P=4 = nº de etapas) Tendremos V*P instrucciones en el aire, donde P es el número de etapas en las que hemos dividido las instrucciones (P=4) 14
14 Introducción al paralelismo (IV) Multiprocesamiento. Ejecución paralela de distintos fragmentos de un mismo programa en distintos procesadores La posibilidad de paralelismo puede provenir de: Paralelismo disponible en instrucciones. Es hacer la misma operación sobre muchos datos (p.e. multiplicar 2 vectores). Típico en programas científicos (vectoriales) y de transacciones (p.e. bancos, comercios, comunicaciones, etc.) Paralelismo disponible en datos. Mucho más difícil y sutil, pero mucho más interesante porque afecta a todo tipo de programas Procesador 1 Procesador 2 Procesador 3 V P 15
15 Evaluación de prestaciones (I) Cómo medir el rendimiento de una máquina? Cómo comparar máquinas de naturaleza muy distinta y con un proceso para obtener el ejecutable tan diferente? Del análisis cuantitativo extraeremos que: Aunque parezca una obviedad lo de la máquina más rápida, no es tan fácil medirlo La adopción de una aprox. cuantitativa (en lugar de cualitativa) llevó a conclusiones sobre el funcionamiento (comportamiento del soft y el hard) que permite conocer como incrementar el rendimiento 16
16 Evaluación de prestaciones (II) Máq A Máq B Prog P1 1 2 Prog P2 2 1 Máq A Máq B Prog P Prog P2 2 1 Máq A Máq B Prog P Prog P2 2 1 Aritmét Geom. (0.2) 1/2 (0.2) 1/2 Media aritmética: iguales Pero si B considera que P1 se usa la mitad que P2: Peso(P1)=1/3, Peso(P2)=2/3 Viceversa: P2 peso doble. Media geométrica más robusta Pero favorece valores distantes (falla ante optimización de un único programa) Soluciones: Media aritm. con pesos realistas Media geom. vigilando que no haya valores dispares 17
17 Evaluación de prestaciones (III) Del análisis del código objeto (comportamientos no intuitivos): Ley de localidad de referencia (espacial y temporal) 10%/90% para código Para datos es peor Mejorar jerarquía de memoria Saltos tomados entre 60-70%, pero la mayoría de los saltos o se toman siempre o no se toman nunca. Luego hay que intentar descubrirlo lo antes posible, lo cual supondría una gran aceleración (BTB) El número de instrucciones que se pueden ejecutar en paralelo de un código generado por un compilador es de 2 ó 3 (para un código normal). Tendremos que intentar optimizar el código generado para aumentar el grado de paralelismo (hasta 40 ó 50 para otros estudios) (Planificación estática y dinámica) 18
18 Rendimiento, productividad y coste (I) Definiciones Productividad: Cantidad de tareas que pueden realizar en un segundo No lo utilizaremos casi nunca Duplicar el número de máquinas duplicar la productividad pero la tarea dura lo mismo Rendimiento: Tiempo que tarda en realizar una tarea Rendimient o t ejecución 1 1 programa El rendimiento no es fácil de aumentar 19
19 Rendimiento, productividad y coste (II) Pero nosotros para comparar dos máquinas, siempre hablaremos de aceleración. De forma que diremos la máquina x es n% más rápida que la máquina y, lo cual significa: Máq más lenta Ejemplo: t t ejecución, ejecución, y x 1 n 100, siendo n 0 t t ejecución, ejecución, y x ms ms ms ms 1 n 100 n 100 % 20
20 Aceleración parcial: Ley de Amdahl (I) Sirve para calcular la aceleración obtenida de la mejora de un determinado aspecto de la máquina o del software Ejemplo: Si consigo aumentar la velocidad de ejecución de un tipo de instrucciones (p.e. saltos) en el doble, no quiere decir que se acelere la ejecución del programa en el doble Si podemos extraer con exactitud la parte o porcentaje mejorado (F), se puede calcular fácilmente la aceleración total en función de F y de la Aceleración parcial 21
21 Aceleración parcial: Ley de Amdahl (II) t ejec. inicial 1-F F t ejec. inicial 1 (lo normalizam os) 0 F 1 1-F F A parcial t ejec. final 1- F A F parcial t ejec. final A total t t ejec. ejec. inicial final 1- F 1 A F parcial 22
22 Aceleración parcial: Ley de Amdahl (III) Ejemplo: Sup. que consigo paralelizar el 50% de un programa, de forma que se pueden ejecutar en 10 procesadores a la vez obteniendo una aceleración parcial de 10. Cuál sería la aceleración total? 10*0.5 = 5 : NO A total 1-0,5 1 0, ,55 1,81 81 % Podemos observar que no llega al doble la aceleración total obtenida y también que por muchos procesadores que añadamos la aceleración no pasará de 2 Si F 0,5; lim A p A 2 100% 23
23 Aceleración parcial: Ley de Amdahl (IV) Conclusión Hacer rápido el caso común Por ejemplo, en un programa: Hay que optimizar la parte del programa donde se pasa más tiempo (10%/90%) Optimizar el código inicial o el código de salida de errores es perder el tiempo Hay que atacar a los bucles de muchas iteraciones Un sólo ciclo ganado en un bucle de una matriz gráfica de una ventana supondrá 640 x 480 = ciclos (1 ciclo por pixel) 24
24 Componentes del tiempo de ejecución de un programa (I) CPU ciclos Ciclos de reloj de CPU por programa t ejecución CPU ciclos Periodo del ciclo de reloj CPU Frecuencia ciclos del reloj CPI Nº CPU ciclos Inst ruccio nes Núm de instr dinámico (que se ejecutan) t ejecución Nº Inst ruccio nes CPI Periodo del ciclo de reloj inst r. Programa ciclos inst r. segundos ciclos segundos Programa 25
25 Componentes del tiempo de ejecución de un programa (II) Periodo del ciclo de reloj (T) Depende de la tecnología hardware y de la implementación (en cada ciclo hay que hacer más cosas) CPI Depende de la implementación y del conjunto de instrucciones (RISC vs. CISC) Nº Instrucciones Depende del conjunto de instrucciones y de los compiladores Ej. (1990) VAX 8700 (CISC) t ejec = N * (6*CPI) * (1.5*T) = 9*N*CPI*T MIPS 2000 (RISC) t ejec = (2*N) * CPI * T = 2*N*CPI*T 26
26 Componentes del tiempo de ejecución de un programa (III) Las expresiones anteriores se pueden detallar más CPU CPI N i i ciclos n i 1 CPI i N i Duración media de la instrucció n i (en ciclos) Número de veces que la instrucció n i se ejecuta en el programa CPI programa n i 1 CPI N Nº inst. i i n i 1 CPI i Nº N i inst Nº N i inst Fracción que cada instrucció n aparece en el programa A t t ejec, ejec, Máq Máq 1 2 Nº Nº Instr Instr 1 2 CPI CPI 1 2 T T
27 Medidas de prestaciones (I) El tiempo de ejecución depende del programa Se buscó una medida independiente de programa MIP S t Nº ejecución inst CPI ( MHz Nos encontramos con los siguientes problemas: Los MIPS dependen de la longitud de las instrucciones varían entre programas en el mismo computador pueden variar inversamente al rendimiento Ejemplo: Procesador con coprocesador para ejecutar operaciones en punto flotante MIPS pico aún peor En definitiva es un camelo y sólo sirven para máquinas totalmente compatibles 1 T 10 6 f CPI ) 28
28 Medidas de prestaciones (II) Otra posible medida indep. de programa son los MFLOPS, cuya diferencia con los MIPS es que sólo consideramos las operaciones en punto flotante Nº inst. F.P. MFLOP S 6 t ejecución 10 Muy usado para máquinas de cálculo científico Elimina el problema de la variación inversa al rendimiento, pero existen problemas adicionales Es dependiente de los programas No todas las operaciones F.P. son iguales en duración (se definió MFLOPs normalizados) Los microprocesadores suelen tener varias unidades F.P., luego el orden de llegada de instrucciones influye en el T ejec. 29
29 Medidas de prestaciones (III) En resumen Una buena medida debe ser reproducible Debe estar claro para que cualquiera pueda repetir la prueba y obtener lo mismo Debemos de especificar Programa Compilador con sus optimizaciones Datos de entrada al programa Con esto, aunque la magnitud no sea perfecta, puede ser válida para estudiar un aspecto concreto 30
30 Programas para la evaluación de prestaciones (benchmarks) (I) Los benchmarks son programas modelo que sirven para evaluar el rendimiento de una arquitectura Tenemos 5 tipos de benchmarks (De mayor a menor precisión) Aplicaciones reales Procesadores de texto, compiladores, herramientas CAD, etc Problemas Dependen mucho de los datos de entrada Suelen ser complejos de usar Los S.O. sobre los que se prueban suelen ser incompatibles No son ni estándar, ni de libre distribución Aplicaciones modificadas Usamos aplicaciones reales modificadas o le añadimos scripts para que interactue con la aplicación Podemos centrarnos en aspectos concretos del sistema Por ejemplo, para evaluar las prestaciones de una CPU, podemos utilizar una aplicación a la cual le eliminamos la parte de I/O 31
31 Programas para la evaluación de prestaciones (benchmarks) (II) Núcleos (Kernels) Pequeños extractos de programas reales que intentan aislar prestaciones de determinados aspectos Estos núcleos sólo existen para la evaluación de prestaciones y no tiene utilidad para el usuario Ejemplos, Livermore Loops y Linpack Problemas Sólo trata algunos aspectos y se quedan antiguos No son reales Benchmarks de juguete Programas sencillos ( líneas), típicos de quien empieza a aprender un lenguaje Lo que menos importa es el resultado (que ya se conoce), ya que lo que nos importa son las prestaciones Ejemplos, Quicksort, criba de Eratóstenes (cálculo de nº primos) Benchmarks sintéticos Similares a los Kernels, intentan determinar la frecuencia media de operaciones y operandos de un gran conjunto de programas No son partes de programas y determinan el perfil medio de ejecución Dhrystone, carga entera, sin F.P. típica en proc. de texto, base de datos, etc. Whetstone: programas científicos. Tiene pocos búcles y llamadas dentro 32
32 Programas para la evaluación de prestaciones (benchmarks) (III) Ventajas de los Benchmarks de juguete Son estándar Fáciles de teclear y probar en cualquier máquina Tardan poco en ejecutarse Esto genera un problema son tan pequeños que un compilador puede optimizarlo con técnicas no aplicables a programas reales, incluso hay compiladores con opciones para optimizar benchmarks específicos (incluso hardware) Un compilador que optimiza puede eliminar el 25% del código (para algunos benchmarks de juguete) Bucles que sólo se ejecutan 1 vez, llamadas CALL, etc. En 1996 Intel dio datos de rendimiento del Pentium para un programa SPEC usando un compilador propio. Alguien no creyó en un valor tan bueno y revisó el binario: el compilador había producido código erróneo 33
33 Programas para la evaluación de prestaciones (benchmarks) (IV) SPEC (System Performance Evaluation Cooperative) Conjunto de programas para medir prestaciones Surge a finales de los 80 debido a la falta de estandarización de los programas reales Se ponen de acuerdo en usarlo la mayoría de fabricantes (Digital, Sun, MIPS, HP, etc) Se definen reglas de uso: compilador, opciones, entradas, etc. Se define rendimiento base (reglas estrictas) y optimizado Con esto se diluyen los inconvenientes de un programa específico La evolución de los SPEC (orientados a CPU) ha sido: Primera versión 1989: 10 programas produciendo un simple número Segunda versión 1992 SPECInt92 (6 programas enteros): gcc, compress, espresso, etc. SPECfp92 (14 programas F.P.): spice2g6, programas de astrofísica, partículas, procesamiento de señales, etc. Máquina de referencia: VAX-11/780 34
34 Programas para la evaluación de prestaciones (benchmarks) (V) Tercera versión 1995 SPECint95 (8 programas enteros) SPECfp95 (10 programas F.P.) Cuarta versión 2000, SPEC CPU2000 CINT2000 (11 programas enteros) CFP2000 (14 programas F.P.) Benchmark crack! Aprox. la mitad de los programas de una versión, se quitan en la siguiente Hoy: SPEC para gráficos, transacciones (I/O), servidores. Para PC bajo Windows: Winstone. Para sistemas empotrados tenemos EEMBC (EDN Embedded Microprocesssor Benchmark Consortium), con conjuntos diferentes para 5 tipos de industria Aquí interesa casi siempre el rendimiento/watio 35
Tema 1. Aspectos fundamentales en el diseño de computadores: Rendimiento, consumo y coste. Organización de Computadores I Rendimiento y Coste
Tema 1 Aspectos fundamentales en el diseño de computadores: Rendimiento, consumo y coste 1 Contenido Qué se entiende por arquitectura de computadores? Evolución del rendimiento de los computadores Tipos
Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones
Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012
Definición de Arquitectura
Definición de Arquitectura Arquitectura de los Computadores Personales Luis J. Saiz Adalid 1 Resumen Evolución del rendimiento de los computadores Concepto de arquitectura Tendencias Análisis de prestaciones
Arquitectura de Computadores II Clase #9
Arquitectura de Computadores II Clase #9 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Rendimiento Rendimiento (Performance) Ver a través de la niebla del
Tendencias y Evaluación
Tendencias y Evaluación Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Grupo ARCOS Departamento de
INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO BENCHMARK
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Medición del rendimiento
Medición del rendimiento Medición del rendimiento El rendimiento de la CPU es el tiempo de ejecución. Ecuación del rendimiento de la CPU Tiempo CPU = Ciclos de reloj para el programa x Periodo del reloj
Rendimiento de computadores
+ Prof. José María Foces Morán Dept. IESA Universidad de León Rendimiento de computadores Tiempo de ejecución Tiempo de CPU Rendimiento comparativo Ley de Amdahl Ley de Gustaffson + Computador síncrono
Rendimientos y costes
Rendimientos y costes Curso 2011-2012 Qué es el Rendimiento? El Rendimiento es un parámetro que indica el nivel de computación de la máquina y la velocidad a la que produce los resultados. El Rendimiento
Rendimiento John Hennessy David Patterson,
Rendimiento John Hennessy David Patterson, Arquitectura de Computadores Un enfoque cuantitativo 1a Edición, Capítulos 1 y 2 (3a y 4a Edición, Capítulo 1) Rendimiento Introducción Cómo comparar la performance
INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO MEDIDAS DE RENDIMIENTO
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Medición del Rendimiento de Computadores
Arquitectura 09/10 Medición l Rendimiento Motivación: Qué medidas tiempo se utilizan para evaluar el rendimiento? Cómo finimos el tiempo cpu y el rendimiento l procesador? Qué parámetros condicionan el
Práctica 1 - Rendimiento *
Práctica 1 - Rendimiento * Organización del Computador 1 Verano 2014 Subconjunto mínimo de ejercicios recomendado: 1 a 11 Ejercicio 1 Considere tres procesadores distintos P 1, P 2 y P 3 que ejecutan el
Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Medición de Performance. Organización del Computador 1 Verano 2016
Medición de Performance Organización del Computador 1 Verano 2016 Qué es el rendimiento? Cuál de estos aviones tiene mejor rendimiento? El que tiene mayor autonomía, o el más rápido? El más rápido o el
ARQUITECTURA DE VON NEUMANN Y HARVARD
ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados
Organización del Computador I. Introducción e Historia
Organización del Computador I Introducción e Historia Introducción Qué es una computadora? Stallings: Máquina digital electrónica programable para el tratamiento automático de la información, capaz de
Arquitectura de Computadores II Clase #11
Arquitectura de Computadores II Clase #11 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Rendimiento 1 Performance Medir, Reportar, y Sumarizar Tomar opciones
Métricas de Rendimiento
Métricas de Rendimiento DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 6. RENDIMIENTO DE SISTEMAS COMPUTACIONALES (1 SEMANA) 6.1 Definición de rendimiento en términos computacionales 6.2 Medición
Arquitectura de computadoras y rendimiento de sistemas
Arquitectura de computadoras y rendimiento de sistemas Arquitectura de Computadoras I Prof. Marcelo Tosini Prof. Elías Todorovich 207 Arqui-UNICEN Introducción Qué se entiende por arquitectura de un computador?
Estructura de Computadores Tema 1. Introducción a los computadores
Estructura de Computadores Tema 1. Introducción a los computadores Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido
TEMA 1: CONCEPTOS BÁSICOS DE PARALELISMO Y ANÁLISIS DE PRESTACIONES
TEMA 1: CONCEPTOS BÁSICOS DE PARALELISMO Y ANÁLISIS DE PRESTACIONES SISTEMAS PARALELOS Y DISTRIBUIDOS www.atc.us.es Dpto. de Arquitectura y Tecnología de Computadores. Universidad de Sevilla 1 Arquitectura:
Departamento de Automática
Departamento de Automática Tema 1 Introducción al paralelismo Prof. Dr. José Antonio de Frutos Redondo Dr. Raúl Durán Díaz Curso 2010-2011 Tema 1: Introducción Necesidad del paralelismo Rendimiento de
Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES
INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES Hoja 1 PRIMERA APROXIMACION AL CONCEPTO DE COMPUTADOR Computador: máquina que procesa la información para obtener unos resultados. La información a procesar
Definición de prestaciones
Definición de prestaciones En términos de velocidad. Diferentes puntos de vista: Tiempo de ejecución. Productividad (throughput) Medidas utilizadas En función de la duración del ciclo de reloj y del número
Preguntas claves (y sus respuestas)
1 Preguntas claves (y sus respuestas) Qué es un microprocesador? Es un Circuito Integrado Secuencial Síncrono Qué necesita para funcionar? Qué hace? Para qué? Una tensión continua estable (5V, 3.3V, 2.5V,
Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción
Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción
ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR
ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR Historia Bloques funcionales Dimensionamiento Estructura CPU Concepto de programa Interrupciones Buses Entrada / Salida Ejemplo de arquitectura:
Tema 1: PROCESADORES SEGMENTADOS
Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento de un computador. 1.4. Características
Módulo A. Introducción. Tema 1. Introducción a la estructura de computadores
Estructura de Computadores Módulo A. Introducción Tema 1. Introducción a la estructura de computadores 1. Introducción 2. Niveles de descripción de un computador Niveles de descripción. Conceptos de arquitectura
Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid
Tema 2: Conceptos básicos Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Introducción a la Informática Adquirir una visión global sobre la Informática y sus aplicaciones. Conocer
Estructura y Tecnología de Computadores. Tema 3. Introducción a la estructura de computadores
1 Estructura y Tecnología de Computadores Módulo B. Introducción a la estructura de computadores Tema 3. Introducción a la estructura de computadores José Manuel Mendías Cuadros Dpto.. Arquitectura de
Tema 1: PROCESADORES SEGMENTADOS
Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina
Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o
Unidad 4 - Procesamiento paralelo. D o c e n t e : E r n e s t o L e a l E q u i p o : J e s s i c a F i e r r o L u i s N a v e j a s Arquitectura de computadoras Introducción Cuestionario Conclusiones
2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA
2. DISEÑO DEL REPERTORIO DE INSTRUCCIONES MÁQUINA 2.1. Tipos de juegos de instrucciones 2.2. Compiladores, repertorio de instrucciones y rendimiento 2.3. Computadores de juego reducido de instrucciones:
Arquitectura de Computadores Problemas (hoja 4). Curso
Arquitectura de Computadores Problemas (hoja 4). Curso 2006-07 1. Sea un computador superescalar similar a la versión Tomasulo del DLX capaz de lanzar a ejecución dos instrucciones independientes por ciclo
TEMA 1: EJECUCIÓN PARALELA: FUNDAMENTOS(I)
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua
Notas de Teórico. Evaluación de Rendimiento
Departamento de Arquitectura Instituto de Computación Universidad de la República Montevideo - Uruguay Evaluación de Rendimiento Arquitectura de Computadoras (Versión 1.1-2014) Instituto de Computación
PANORAMA GENERAL DE LOS µc
PANORAMA GENERAL DE LOS µc Sistemas Digitales II Este tipo de dispositivos en la actualidad se encuentran en los supermercados, artículos electrodomésticos, instrumentos musicales, juguetes, equipo automotriz
Quinta tarea: Existen varias versiones del 80486:
Quinta tarea: Los primeros procesadores utilizados en los PC fueron los procesadores 8088 y 8086. Sus principales diferencias con el 80286 es que el segundo permite multitarea, tenía una velocidad de reloj
Cuestionario Unidad 4: Procesamiento paralelo 2012
SEP SNEST DGEST INSTITUTO TECNOLÓGICO DE CHIHUAHUA II INGENIERÍA EN SISTEMAS COMPUTACIONALES ARQUITECTURA DE COMPUTADORAS Ing. Ernesto Leal Procesamiento paralelo ELABORADO POR: Miguel Angel Chávez Reza
Tema V Generación de Código
Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones.
Microprocesadores. Informática Aplicada DSI-EIE FCEIA
Microprocesadores Informática Aplicada DSI-EIE FCEIA Arquitecturas Un concepto: Programa almacenado Dos modelos: Von Neumann (1945) Harvard 2 Microprocesador Es un circuito integrado que cumple las funciones
Ley de Amdahl Ley de Moore Prof. Gilberto Díaz
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Ley de Amdahl Ley de Moore Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
Facultad de Ciencias de la Computación. Medir, reportar, y analizar el rendimiento.
Benemérita Universidad AutónomA de Puebla Facultad de Ciencias de la Computación RENDIMIENTO Verano 2009 Juárez Rocha Carlos Moisés Lima Romero Carlos Daniel Méndez Romero Israel Reyes Aburto Marcos Ignacio
UNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS ARQUITECTURA DE COMPUTADORAS
Lección 2. El Rendimiento en las Computadoras
Lección 2 El Rendimiento en las Computadoras INDICE: LECCIÓN II 2.1- Introducción......2 2.2- Rendimiento en los computadores...2 2.3.- Comparación del rendimiento... 2.4- Unidades de medida del rendimiento
Arquitectura del Computador. Programación 1 er semestre 2013
Arquitectura del Computador Programación 1 er semestre 2013 Introducción Qué es una computadora? Stallings: Máquina digital electrónica programable para el tratamiento automático de la información, capaz
Tema: Microprocesadores
Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1
Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software
Tema 2: Lenguaje máquina La interfaz entre el hardware y el software 1 Índice Introducción. Formatos de Instrucción. Modos de Direccionamiento. Ortogonalidad y Regularidad. Frecuencia de Utilización de
Estructura de un Ordenador
Estructura de un Ordenador 1. Unidad Central de Proceso (CPU) 2. Memoria Principal 3. El Bus: La comunicación entre las distintas unidades 4. La unión de todos los elementos: la placa Base Estructura de
Objetivos Generales. Conocimientos Previos Recomendados. CONTENIDOS TEORICOS (Temporización)
Año académico: 2005-2006 Centro: Escuela Politécnica Superior Departamento: Arquitectura de Computadores y Electrónica Área: Arquitectura y Tecnología de Computadores Estudios: Ingeniero Técnico en Informática
EVOLUCIÓN DE LOS PROCESADORES
EVOLUCIÓN DE LOS PROCESADORES Lecturas recomendadas: * Tanembaum, A. Organización de computadoras. Cap. 1 * Stallings, W. Organización y arquitectura de computadores. Cap. 2 Arquitectura de una computadora
Granularidad y latencia
Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación
EL COMPUTADOR. 1. El Pasado. 2. El Presente. 3. Estructura Básica. 4. Rendimiento. 5. Disipación de Potencia
1. EL COMPUTADOR 1 EL COMPUTADOR 1. El Pasado 2. El Presente 3. Estructura Básica 4. Rendimiento 5. Disipación de Potencia 2 EL COMPUTADOR 1. El Pasado 3 El Pasado Los precursores Pascalina Ábaco Máquina
Unidad I: Organización del Computador. Ing. Marglorie Colina
Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar
Revisión de Conceptos. Estructura de un Computador von Neumann. Arquitectura de Computadores I Introducción
Revisión de Conceptos. Estructura de un Computador von Neumann Arquitectura de Computadores I Introducción Objetivo Análisis de la estructura y funcionamiento de los computadores: naturaleza y características
Pruebas aplicaciones base (application based) las ejecuta y las cronometra.
Que es un benchmark? (Comparador de rendimiento) Un benchmark es un conjunto de procedimientos (programas de computación) para evaluar el rendimiento de un ordenador. Hay cuatro categorías generales de
3. SEGMENTACIÓN DEL CAUCE
3. SEGMENTACIÓN DEL CAUCE 1 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 2. Etapas del MIPS64 3. Riesgos 4. Operaciones muticiclo 2 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 3 Conceptos básicos Ciclo
Organización del Computador I Verano. Rendimiento(3 de 3) Basado en el capítulo 1 del libro de Patterson y Hennessy
Organización del Computador I Verano Rendimiento(3 de 3) Basado en el capítulo 1 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Benchmarks Para evaluar un nuevo sistema computador,
TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 1
TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE INSTRUCCIONES (ILP) BASADO EN TÉCNICAS DINÁMICAS ÍNDICE 3.1. Técnicas de Planificación dinámica: Algoritmo del marcador, Implementación del Algoritmo de Tomasulo,
Modelos de Programación Paralela Prof. Gilberto Díaz
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Modelos de Programación Paralela Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
UNIVERSIDAD DE ORIENTE NÚCLEOS NUEVA ESPARTA-SUCRE COMISION DE CURRICULA PROGRAMA ANÁLÍTICO DE ASIGNATURA ORGANIZACIÓN Y ESTRUCTURA DEL COMPUTADOR
UNIVERSIDAD DE ORIENTE NÚCLEOS NUEVA ESPARTA-SUCRE COMISION DE CURRICULA PROGRAMA ANÁLÍTICO DE ASIGNATURA ORGANIZACIÓN Y ESTRUCTURA DEL COMPUTADOR ESCUELA Hotelería y Turismo-Nva. Esparta- Ciencias Sucre
Sistemas con Microprocesadores I
Sistemas con Microprocesadores I 1 Microcontroladores Introducción Harvard vs. von-neumann Clasificación del procesador Segmentado o Pipeline Ortogonal vs. No ortogonal 2 Microcontroladores PIC Siglas
1.1 Introducción del Curso. 1.2 Nociones Básicas
1.1 Introducción del Curso El curso tiene como objetivo el estudio de los fundamentos de la organización de un computador. Se centra en el estudio de la unidad central de procesos ( CPU) para a partir
1. Introducción a la Arquitectura de Computadoras
1. Introducción a la Arquitectura de Computadoras M. Farias-Elinos Contenido Definiciones Estructura de una computadora Evolución de las computadoras Generaciones de computadoras Evolución de la família
HISTORIA DEL PIPELINE. Juan Antonio Romano Largo. Arquitectura de Computadores.
HISTORIA DEL PIPELINE CRONOLOGÍA Introducción ppo. S. XX IBM 704 1955 IBM 7030 (proyecto Stretch) 1956-1961 CDC 6600 1964 VAX 8800 1987 RISC vs CISC (MIPS vs VAX 8700) 1989 R4000 (Supersegmentado) 1991
FUNDAMENTOS DE COMPUTADORES
FUNDAMENTOS DE COMPUTADORES CURSO ACADÉMICO: 2000 / 2001 TITULACIÓN: INGENIERO EN INFORMÁTICA CICLO: 1º CURSO: 1º CUATRIMESTRE: PRIMERO CARÁCTER: TRONCAL CRÉDITOS: 9 (6+3) PROFESOR: MANUEL E. ACACIO, JUAN
1. EL COMPUTADOR. Mg. Sergio La Cruz Orbe
1. EL COMPUTADOR Mg. Sergio La Cruz Orbe 1 EL COMPUTADOR 1. El Pasado 2. El Presente 3. Estructura Básica 4. Rendimiento 5. Disipación de Potencia 2 EL COMPUTADOR 1. El Pasado 3 El Pasado Los precursores
Los siguientes cambios en un sistema de cómputo, incrementan la productividad, decrementan el tiempo de respuesta, o ambas?
1.4 El papel del rendimiento Cuando se dice que una computadora es más rápida que otra, qué se quiere decir? El usuario de una computadora individual puede decir que ésta es más rápida cuando ejecuta un
1.2.-Analisis de los componentes
1.2.-Analisis de los componentes 1.2.1.-CPU La Unidad Central de Proceso (conocida por sus siglas en inglés, CPU). Es el lugar donde se realizan las operaciones de cálculo y control de los componentes
INFORMÁTICA APLICADA UNIDAD DIDÁCTICA 1. Tema 1 Sistemas informáticos
INFORMÁTICA APLICADA UNIDAD DIDÁCTICA 1 Tema 1 Sistemas informáticos Introducción Desde la antigüedad el hombre ha diseñado máquinas y mecanismos que le permitan realizar su trabajo más fácil y cómodamente,
Unidad I: Performance. Arquitectura de Computadoras Esteban Peláez Andrés Airabella Facundo Aguilera
Unidad I: Performance Arquitectura de Computadoras Esteban Peláez Andrés Airabella Facundo Aguilera Comprar una Computadora MAC PC Notebook 2010 Unidad I 2 Elegir mi Computadora Procesador Sistema Operativo
6. PROCESADORES SUPERESCALARES Y VLIW
6. PROCESADORES SUPERESCALARES Y VLIW 1 PROCESADORES SUPERESCALARES Y VLIW 1. Introducción 2. El modelo VLIW 3. El cauce superescalar 4. Superescalar con algoritmo de Tomasulo 2 PROCESADORES SUPERESCALARES
Instrucciones de máquina y tipos de software
(obsoletos) Instrucciones de máquina y tipos de software Software del sistema: Implementa sobre la máquina convencional («desnuda») una «máquina virtual»: la máquina operativa Software de aplicaciones:
MICROPROCESADOR. Ing. Raúl Rojas Reátegui
MICROPROCESADOR Ing. Raúl Rojas Reátegui OBJETIVOS Al termino de la sesión el estudiante será capaz de: Describir las principales características de un Microprocesador. Describir las principales características
Diseño de la jerarquía de memoria
Diseño de la jerarquía de memoria William Stallings, Organización y Arquitectura de Computadores Andrew S. Tanenbaum, Organización de Computadoras Linda Null y Julia Lobur, Computer Organization and Architecture
Organización de Procesadores
Organización de Procesadores Introducción Alejandro Furfaro Agosto de 2014 Alejandro Furfaro Organización de Procesadores Agosto de 2014 1 / 21 Temario 1 Tecnología de Integracion 2 Arquitectura de Computadores
GUÍA DE APRENDIZAJE ARQUITECTURA DE COMPUTADORES
GUÍA DE APRENDIZAJE ARQUITECTURA DE COMPUTADORES GRADO EN INGENIERIA DE COMPUTADORES Datos Descriptivos CENTRO RESPONSABLE: E.U. DE INFORMATICA OTROS CENTROS IMPLICADOS: CICLO: Grado sin atribuciones MÓDULO:
Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO. Obligatoria Programa elaborado por:
Programa Educativo: Licenciatura en Ciencias PROGRAMA DE ESTUDIO Computacionales Área de Formación : Sustantiva profesional Horas teóricas: 2 Horas prácticas: 3 Total de Horas: 5 Arquitectura de computadoras
Introducción a los procesadores ILP (Instruction-Level Parallel)
Introducción a los procesadores ILP (Instruction-Level Parallel) Herramientas básicas para conseguir paralelismo entre instrucciones: Encauzamiento (pipelining) Se usa en todo procesador ILP Utilizar varias
Arquitectura de Computadores (obligatoria)
Arquitectura de Computadores (obligatoria) Profesores responsables: Pau Micó Tormos (teoría y prácticas) Despacho: F4D1 Créditos: 6 (4.5 Teoría + 1.5 Prácticas) Semestre: 3A Número de grupos de aula: 1
Arquitectura del MIPS: Introducción
Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización
Aspectos avanzados de arquitectura de computadoras Multithreading. Facultad de Ingeniería - Universidad de la República Curso 2017
Aspectos avanzados de arquitectura de computadoras Multithreading Facultad de Ingeniería - Universidad de la República Curso 2017 Introducción En este capítulo se explorará la posibilidad de ejecutar múltiples
Tecnologías, Organización y Microarquitectura
Septiembre 2012 Tecnología de Integración Nanotecnología Tecnología de Integración Imágenes obtenidas con TEM (Transmission Electron Microscope) de una cepa del virus de la influenza, y de un transistor
INFORME MEMORIA CACHE Y MEMORIA VIRTUAL.
AIEP PROGRAMACIÓN COMPUTACIONAL FUNDAMENTOS DE PROGRAMACIÓN INFORME MEMORIA CACHE Y MEMORIA VIRTUAL. Por:Diego Menéndez Introducción. Ante la inmensa velocidad de los procesadores que a medida del tiempo
Explotación del paralelismo a nivel de instrucción
Explotación del paralelismo a nivel de instrucción Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato
Sistemas de Computadoras
Sistemas de Computadoras Índice Concepto de Computadora Estructura de la Computadora Funcionamiento de la Computadora Historia de las Computadoras Montando una Computadora Computadora Un sistema de cómputo
Diferentes Perspectivas de un Ordenador
Arquitectura de Ordenadores Programación en ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Diferentes Perspectivas de un Ordenador INT-1
Estructura de Computadores I
Estructura de Computadores I Profesores Patricia González Gómez (Coordinadora, Teoría) Despacho D 1.13 Extensión 1363 pglez@udc.es Margarita Amor López (Problemas, Prácticas) Despacho D 1.15 Extensión
1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.
1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento. Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos
TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN
CUESTIONES A TRATAR: Existe un tipo único tipo de memoria en un determinado computador? Todas las memorias de un computador tienen la misma función?. Qué es la memoria interna de un computador? Por qué
DEFINICIONES BÁSICAS. Información obtenida de: PRIETO ESPINOSA, Alberto Introducción a la Informática: Madrid: McGrawHill, D.
DEFINICIONES BÁSICAS. UNIDADES FUNCIONALES. Información obtenida de: PRIETO ESPINOSA, Alberto Introducción a la Informática: Madrid: McGrawHill, D.L 2001 INFORMACIÓN CODIFICADA Bit: Binary digit Byte:
Informática 4º ESO. J. Javier Esquiva Mira
Sistemas Operativos Informática 4º ESO J. Javier Esquiva Mira Qué es un S.O.? Programa o conjunto de programas y servicios. Administra y gestiona los recursos de una computadora y brinda los servicios
Arquitectura de Computadoras. Clase 9 Procesamiento paralelo
Arquitectura de Computadoras Clase 9 Procesamiento paralelo Introducción al procesamiento paralelo Sea cual sea el nivel de prestaciones, la demanda de máquinas de mayor rendimiento seguirá existiendo.
Arquitectura de Computadores II Clase #9
Arquitectura de Computadores II Clase #9 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Rendimiento Rendimiento (Performance) Ver a través de la niebla del
Clasificación de las Arquitecturas
Clasificación de las Arquitecturas MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Por la taxonomía de Flynn 1 Flynn Flujo de datos Simple Múltiple Flujo de datos Simple Múltiple SISD MISD
ASIGNATURA: Arquitectura de Computadores
ASIGNATURA: Arquitectura de Computadores I. T. Informática de Gestión Universidad de Alcalá Curso Académico 11/12 Curso 2º Cuatrimestre 1º GUÍA DOCENTE Nombre de la asignatura: Arquitectura de Computadores
Tecnologías y Arquitecturas
Tecnologías y Arquitecturas Parte II Andrés Djordjalian Seminario de Sistemas Embebidos 19 de mayo de 2011 Facultad de Ingeniería de la UBA 06:13 1 de 22 Temas de esta Clase Medición