Programación en los procecesadores Intel® Multi Core.

Slides:



Advertisements
Presentaciones similares
Org. y Arquitectura del Computador
Advertisements

Documentos de Construcción y Detalles
Análisis Estructural Avanzado y Coordinación
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Los programas de Intel Educación son patrocinados por la Fundación Intel y la Corporación Intel. Derechos de autor © 2007, Corporación Intel. Todos los.
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Definición Objetivos Funciones de un S.O.
Los programas de Intel Educación son patrocinados por la Fundación Intel y la Corporación Intel. Derechos de autor © 2007, Corporación Intel. Todos los.
CI6060-V - Data Shortcut = archivos livianos [AutoCAD® Civil 3D] 1ra Parte: Concepto Jeremy Ramírez Hernández Ingeniero Aplicaciones SONDA® - Autodesk®
INSTITUTO TECNOLOGICO DE APIZACO Integrantes del equipo: José Luis Cocoletzi López Edgar Lozano Velázquez TEMA: Lenguaje Ensamblador.
CICLO DE EJECUCION DE UNA INSTRUCCION
Computación PROGRAMACIÓN.
Copyright © 2009 Intel Corporation.
Microprocesadores.
Ing. Esp. Ricardo Cujar. El computador: es una máquina que permite hacer tareas aritmético y lógicas de una manera fácil, consta de software y hardware.
INTRODUCCION A LOS ALGORITMOS (Conceptos previos)
11 Servidores basados en Arquitectura Intel Junio 2008 DataWarehouses de Alto Rendimiento.
EMISION MULTIPLE DE INSTRUCCIONES
Mejoras a las Máquinas Von Neumann
Composición Interna de un Procesador
iLogic - Automatización Inteligente para Diseño Mecánico e Industrial
Sistemas Distribuidos y Paralelos
ISA (Instruction Set Architecture)
Centralizados y Distribuidos
Unidad 2: Organización del CPU
INTEL CONFIDENTIAL Metodología de programación paralela Intel Software College.
EL MICROPROCESADOR.
INTEL CONFIDENTIAL Paralelizando para mejorar el rendimiento con Intel® Threading Building Blocks Sesión:
Procesamiento paralelo
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.
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
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.
Arquitectura de Computadoras
Universidad Tecnológica de la Selva Ing. Emmanuel Gordillo Espinoza.
LENGUAJE DE PROGRAMACIÓN
© 2011 Autodesk MA5584 – V No mas CV’s y curvas rebeldes… Tips que usted Debe Conocer Para Lograr Superficies Perfectas Martin Carcaño MFG Technical Specialist.
Fundamentos de Programación Resolución de Problemas con Computadoras y Herramientas de Programación.
Hilos En La Computación. (THREADS).
Organización de Computadoras
Programación con OpenMP* Intel Software College. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or.
Programming with POSIX* Threads Intel Software College.
Patrones de Programación Paralela Sesión:. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered.
Los programas de Intel Educación son patrocinados por la Fundación Intel y la Corporación Intel. Derechos de autor © 2007, Corporación Intel. Todos los.
Arquitectura de Von Neumann
Conceptos básicos de procesamiento en procecesadores Intel® Multi Core.
Compiladores Intel 9.x en el procesador Intel® Core Duo™ Windows version Intel Software College.
Programando con Hilos POSIX* Intel Software College.
Tema 7: UNIDAD CENTRAL DE PROCESOS (CPU) Cáceres Pari Ángel Raúl
Microprocesador.
Prof. Flor Narciso Departamento de Computación
Derechos de autor © 2008, Corporación Intel. Todos los derechos reservados. Intel e Intel  Educación son marcas comerciales o marcas registradas de la.
Hilos Capítulo 5 Silberschatz Galvin. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered.
Capítulo 8 Segmentación de Instrucciones.
Principio unidad 1.
E.A.P. “INGENIERÍA DE SISTEMAS” UNIVERSIDAD PERUANA UNION.
Introducción a VTune™ Analizador de rendimiento
Derechos de autor © 2008, Corporación Intel. Todos los derechos reservados. Intel e Intel  Educación son marcas comerciales o marcas registradas de la.
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Derechos de autor © 2008, Corporación Intel. Todos los derechos reservados. Intel e Intel  Educación son marcas comerciales o marcas registradas de la.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
Ingeniería en Computación Centro Universitario UAEM Valle de México Arquitectura de Computadoras Elaborado por: Dra. Maricela Quintana López.
Santiago Restrepo Rodríguez
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Trabajo practico: Microprocesadores Escuela: Rodolfo Walsh Rodolfo WalshRodolfo Walsh Materia: Tecnologia| Tecnologia Profesor: Gustavo Cucuzza Integrantes:
CAPITULO V Arquitectura de Von Neumann
Programa de educación de Intel Un caso de colaboración público - privado Programa de educación de Intel Un caso de colaboración público - privado Patricia.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Transcripción de la presentación:

Programación en los procecesadores Intel® Multi Core

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 2 ¿Qué son las instrucciones máquina? Conjunto de instrucciones La colección de instrucciones que entiende un CPU Lenguaje máquina Usualmente representado por códigos en ensamblador Se almacena en binario

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 3 Elementos de una instrucción Código de operación (Op code) Hacer esto Referencia al operando fuente A esto Referencia al operando resultante Poner la respuesta aquí MOV5, EAX

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 4 Ejecución de instrucciones Secuencial Pipelinening Superescalar Paralelo

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 5 Ejecucuión de una secuencia de instrucciones ADD EBX, EAX (EAX := EAX+EBX;) MOV EAX, ECX (ECX := EAX;) EAX=1 EBX=2 ECX=3 CPU 1 ECX=3 Flujo de instrucciones EAX=3

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 6 Ejecución de instrucciones (secuencial) Instrucción 1 Instrucción 2 Instrucción 3 Instrucción 4 Instrucción 5 Instrucción 6 Instrucción 7 Instrucción 8 Captación Decodificación Calcula operandos Capta operandos Ejecuta instrucción Escribe operandos

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 7 Ejecución de instrucciones (pipelinening) Instrucción 1 Instrucción 2 Instrucción 3 Instrucción 4 Instrucción 5 Instrucción 6 Instrucción 7 Instrucción 8 Captación Decodificación Calcula operandos Capta operandos Ejecuta instrucción Escribe operandos

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 8 Plataformas para computación en paralelo Diferentes arquitecturas SMP Hyper threading Multi core

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 9 Multi Core Vs Hyper Threading Estado del CPU Lógica de Interrupciones Unidades de Ejecución Cache Estado del CPU Lógica de Interrupciones Estado del CPU Lógica de Interrupciones Unidades de Ejecución Cache Unidades de Ejecución Cache Single Core Multiprocesador (SMP)

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 10 Multi Core Vs Hyper Threading Estado del CPU Lógica de Interrupciones Estado del CPU Lógica de Interrupciones Estado del CPU Lógica de Interrupciones Unidades de Ejecución Cache Estado del CPU Lógica de Interrupciones Unidades de Ejecución Cache Unidades de Ejecución Cache Tecnología Hyper Threading Multi Core

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 11 Multi Core Vs Hyper Threading Estado del CPU Lógica de Interrupciones Unidades de Ejecución Cache Estado del CPU Lógica de Interrupciones Unidades de Ejecución Estado del CPU Lógica de Interrupciones Unidades de Ejecución Cache Estado del CPU Lógica de Interrupciones Estado del CPU Lógica de Interrupciones Unidades de Ejecución Cache Estado del CPU Lógica de Interrupciones Multi Core con caché compartida Multi Core con tecnología Hyper Threading

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 12 ¿Para que sirve tener dos o más núcleo en un CPU? ¿Puedo ejecutar en paralelo instrucciones de una secuencia? Dependencias

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 13 Dependencias Puede extraer y decodificar la segunda instrucción en paralelo con la primera No puede ejecutar la segunda instrucción hasta que la primera haya finalizado ADD EBX, EAX (EAX := EAX+EBX;) MOV EAX, ECX (ECX := EAX;) EAX=1 EBX=2 ECX=3 EAX=1 EBX=2 ECX=3 CPU 1 CPU 2 EAX=3 ECX=1 Flujo de instrucciones

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 14 ¿Para que sirve tener dos o más núcleo en un CPU? Aumentar tasa de trabajos ¿Qué tipo de trabajos? Trabajos que hacen uso intensivo del CPU Trabajos que requieren E/S Trabajos mixtos

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 15 Trabajos que hacen uso intensivo del CPU Un trabajo en un nucleo 1 trabajo en 10 segundos Tasa = 1 / 10 = 0.1 Tiempo de retorno =10 segs 10 segundos En el CPU

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 16 Trabajos que hacen uso intensivo del CPU Dos trabajos en un nucleo 2 trabajos en 20 segundos Tasa = 2 / 20 = 0.1 Tiempo de retorno P0 =20 segs Tiempo de retorno P1 =20 segs 10 segundos En el CPU

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 17 Trabajos que hacen uso intensivo del CPU Con un CPU El tiempo de retorno aumenta La tasa de trabajos se mantiene

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 18 Trabajos que hacen uso intensivo del CPU Dos trabajos en un nucleo 2 trabajos en 20 segundos Tasa = 2 / 20 = 0.1 Tiempo de retorno P0 =15 segs Tiempo de retorno P1=19 segs El tiempo de retorno de los procesos puede variar PrioridadesPrioridades Politicas de platinificaciónPoliticas de platinificación La tasa de trabajos se mantiene igual 10 segundos En el CPU

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 19 Trabajos que hacen uso intensivo del CPU Un trabajo en dos nucleos 1 trabajo en 10 segundos Tasa = 1 / 10 = 0.1 Tiempo de retorno =10 segs No hay mejora en el tiempo de retorno ni la tasa de trabajos Nucleo 0 Nucleo 1 10 segundos

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 20 Trabajos que hacen uso intensivo del CPU Dos trabajos en dos núcleos 2 trabajos en 10 segundos Tasa = 2 / 10 = 0.2 Tiempo de retorno =10 segs La tasa de trabajos aumenta al doble El tiempo de retorno se mantiene igual que cuando ejecutamos un trabajo 10 segundos Nucleo 0 Nucleo 1

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 21 Multi core Encontramos mejora en la tasa de trabajos y tiempo de retorno cuando ejecutamos dos procesos concurrentes. Hasta ahora un solo proceso no es capaz de obtener beneficio de las arquitecturas MultiCore

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 22 Trabajos que hacen uso intensivo del CPU Un trabajo optimizado en dos nucleos 1 trabajo en 5 segundos Tasa = 1 / 5 = 0.2 Tiempo de retorno =5 segs 10 segundos Nucleo 0 Nucleo 1 5 segundos Hilo 0 Hilo 1

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 23 Definiendo los Hilos Un hilo es una secuencia de instrucciones relacionadas que se ejecuta de forma independiente a otras secuencias Todos los programas tienen al menos un hilo principal Inicializa el programa y comienza la ejecución de las instrucciones iniciales Puede crear otros hilos que ejecuten varias tareas o puede hacer todo el trabajo el solo

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 24 Dividiendo una aplicación en hilos Un proceso puede dividirse en múltiples hilos Mejor uso de los recursos de hardware Es necesario entender Diseño y estructura de la aplicación La interfase de programación con hilos El compilador y el ambiente de ejecución de la aplicación Las plataformas destino donde la aplicación se va a ejecutar

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 25 Estado del CPU Lógica de Interrupciones Cache Unidades de ejecución Hilos en plataformas single core Single Core Instrucción

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 26 Estado del CPU Lógica de Interrupciones Estado del CPU Lógica de Interrupciones Cache Unidades de ejecución Hilos en plataformas Hyper Threading Instrucción Tecnología Hyper Threading Ambas instrucciones requieren diferentes unidades funcionales Ambas instrucciones requieren una misma unidad funcional

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 27 Estado del CPU Lógica de Interrupciones Estado del CPU Lógica de Interrupciones Cache Unidades de ejecución Multi-hilos en plataformas multi core Instrucción Multi Core

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 28 Hilos en plataformas single core Concurrencia Dos o más hilos se ejecutan en el mismo procesador El tiempo del procesador se divide dando turnos a los dos hilos de manera que pueden avanzar

Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. *Other brands and names are the property of their respective owners. 29 Hilos en plataformas multi core Paralelismo Dos o más hilos se ejecutan simultáneamente en dos o más procesadores Cada hilo tiene el tiempo de un procesador

Gracias!