GPGPU Avanzado. Sistemas Complejos en Máquinas Paralelas. Esteban E. Mocskos 5/6/2012

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "GPGPU Avanzado. Sistemas Complejos en Máquinas Paralelas. Esteban E. Mocskos (emocskos@dc.uba.ar) 5/6/2012"

Transcripción

1 Sistemas Complejos en Máquinas Paralelas GPGPU Avanzado Esteban E. Mocskos Facultad de Ciencias Exactas y Naturales, UBA CONICET 5/6/2012 E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

2 Objetivos: Mini-repaso de temas dados la semana pasado. Profundizar en la idea de paralelismo en base a la organización y arquitectura de las GPU s. Manejar los detalles acerca de las transferencias de memoria y el uso de la memoria de la placa. Ver las herramientas existentes para soporte de desarrollo. Encarar la resolución de un problema más complejo y real. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

3 Repaso de temas API s de CUDA 1 The data-parallel C++ Thrust. 2 The runtime API: se puede usar tanto desde C o C++. 3 The driver API: se puede usar tanto desde C o C++. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

4 Repaso de temas Tipos de funciones en CUDA host HostFunc() se ejecuta en el host y se llama desde el host: son las funciones normales y conocidas de C que hicimos hasta ahora en nuestra vida. global Kernelfunc() se ejecuta en el device y se llama desde el host: esta corresponde a la función que lanza la ejecución en la placa de video. device func() se ejecuta en el device y se llama desde el device: solo se puede llamar desde un kernel o desde otra función de este tipo. Deben ser funciones sencillas(no pueden ser recursivas). Se puede usar host y device con el mismo nombre, al compilar se crean dos distintas. Es útil para tener versión CPU y GPU de lo mismo para comparar o para elegir cuál usar en base a disponibilidad de la plataforma particular. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

5 Repaso de temas Arquitectura de una GPU E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

6 Repaso de temas Jerarquía de memoria de una GPU El device puede: R/W per-thread registers R/W per-thread local memory R/W per-block shared memory R/W per-grid global memory Read only per-grid constant memory Mientras que el host puede: Transfer data to/from per-grid global and constant memories E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

7 Repaso de temas Funciones útiles cudamalloc(): Reserva espacio en la memoria global del device. No se pueden usar los punteros de esta función directamente como punteros en C, hay que traer y llevar datos. cudafree() libera los recursos, recibe como parámetro el puntero que entregó cudamalloc. cudamemcpy(): transferencia de datos. Desde el host se puede acceder a memoria global y constante del device. La transferencia es asincrónica. 4 ciclos para pedir un dato de memoria, entre 400 y 600 para traerlo. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

8 Repaso de temas Paralelismo La llamada a un kernel va acompañada de execution configuration parameters que definen la organización de los hilos involucrados en la corrida. Cuidado con la cantidad máxima de threads por bloque, verificar con las propiedades de la placa. Se usan blockidx.x y blockidx.y para identificar en qué bloque se está. Cada thread tiene acceso a las variables threadidx.x, threadidx.y y threadidx.z, que representan unívocamente al hilo de sus hermanos. Cada thread en un bloque puede cooperar con los otros dentro del mismo bloque (sincronizar la ejecución, compartir datos a través de la shared memory). Dos threads en bloques distinos NO pueden cooperar. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

9 Detalles de ejecución Cuando un kernel se invoca, se ejecuta como una grid de threads. Una vez que un kernel se lanza, sus dimensiones NO pueden cambiar. La cantidad total de threads por bloque no puede ser mayor a 512, verificar mirando las propiedades de la placa. Dimensiones correctas para un bloque: (512, 1, 1) (8, 16, 2) (16, 16, 2) pero un bloque definido como (32,32,1) supera el límite. Normalmente, una grilla esta compuesta por cientos de miles de GPU threads en cada invocación a un kernel. La tarea principal es crear sufiente cantidad de threads para utilizar toda la maquinaria disponible en cada placa. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

10 Separando el trabajo La idea es pensar en una separación de trabajo en forma de azulejo(tile). A cada bloque de threads se le asigna un tile. De esta manera, se tiene el programa preparado para distintos tamaños de problema. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

11 Thread scheduling El scheduling de los threads es un concepto que está a nivel de implementación y depende de los detalles específicos del hardware, pero saber cómo lo hace ayuda al momento diseñar la aplicación. Los bloques se asignan a los SMs siempre y cuando haya recursos disponibles, con un máximo que es dependiente de la placa. Cuando un bloque de threads se asigna a un SM, se vuelve a partir de bloques de 32 threads denominado warp. Si la cantidad de threads no es múltiplo de 32 se agregan para completar. El tamaño de los warps es totalmente dependendiente de la implementación y no forma parte de la especificación de CUDA. El warp es la unidad de scheduling en los SMs. La idea es tener muchos warps disponibles para poder ponerlos a correr a medida que se pueda (hay un mecanismo de prioridades para elegir si hay varios listos para correr). Latency hiding: cuando un warp queda bloqueado ante una instrucción (por ejemplo un acceso a memoria), se cambia por otro que este listo. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

12 Sincronizando threads Está disponible la función syncthreads(): Sincroniza la ejecución de los threads dentro de un mismo bloque (i.e. actúa como un barrier). Todos los hilos del bloque quedan en espera hasta que todo el resto llega a ejecutarlo. Hay que ser cuidadoso con el if-then-else para evitar que se cuelgue todo (una rama tiene la llamada a la función y la otra no). No hay una llamada similar para coordinar entre bloques y es una decisión de diseño para simplificar la arquitectura. Permite tener transparent scalability: la capacidad de poder ejecutar (y hacer uso) la misma aplicación en hardware con diferentes capacidades y recursos. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

13 Manejo de memoria de la placa Jerarquía de memoria de una GPU El device puede: R/W per-thread registers R/W per-thread local memory R/W per-block shared memory R/W per-grid global memory Read only per-grid constant memory Mientras que el host puede: Transfer data to/from per-grid global and constant memories E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

14 Manejo de memoria de la placa Declaración de variables Variable Declaration Memory Scope Lifetime Variables (no arreglos) Register Thread Kernel Automatic array variables Local Thread Kernel device, shared, int SharedVar; Shared Block Kernel device, int GlobalVar; Global Grid Application device, constant, int ConstVar; Constant Grid Application La memoria constante soporta acceso a baja latencia y alto ancho de banda cuando todos los threads acceden simultáneamente a la misma posición. Los registros y la memoria compartida están dentro del chip. Se pueden acceder a muy alta velocidad y en forma altamente paralela. Los registros se reservan a cada thread; cada thread solo puede acceder a sus propios registros. El uso ideal es para variables privadas que se acceden frecuentemente. La memoria compartida se reserva a los bloques. Todos los threads en un bloque puede acceder a las variables declaradas en esta memoria. La memoria compartida es una manera eficiente para que los threads cooperen compartiendo datos de entradas y resultados intermedios. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

15 Manejo de memoria de la placa Memory coalescing La memoria global en una placa normalmente se implementa utilizando DRAMs (Dynamic Random Access Memories). La lectura de un 1 implica la descarga de un capacitor, es muy lento. Localidad espacial: las aplicaciones suelen acceder a los datos cercanos a uno pedido. En CUDA, se trata de aprovechar la localidad espacial para mejorar el acceso a la memoria global. Dado que todos los threads de un warp ejecutan la misma instrucción, se pueden unir las lecturas de memoria si son a posiciones consecutivas. Si se dan todas las condiciones necesarias, el hardware de la placa detecta la situación y combina todos los accesos (memory coalescence). Los coalesced access permiten operar a la memoria global cerca de su pico de funcionamiento. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

16 Algunos detalles adicionales Midiendo tiempos cudaevent t s t a r t, stop ; cudaeventcreate (& s t a r t ) ; cudaeventcreate (& stop ) ; / * S t a r t de t i m e r * / cudaeventrecord ( start, 0 ) ; / * Codigo que se quiere medir * / cudaeventrecord ( stop, 0 ) ; cudaeventsynchronize ( stop ) ; f l o a t elapsedtime ; cudaeventelapsedtime (&elapsedtime, s t a r t, stop ) ; p r i n t f ( elapsed time = %g msec\n, elapsedtime ) ; / * Despu es de usar l o s timers, hay que d e s t r u i r l o s. * / cudaeventdestroy ( s t a r t ) ; cudaeventdestroy ( stop ) ; E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

17 Algunos detalles adicionales Importante: 1 Get the data on the GPGPU and keep it there. 2 Give the GPGPU enough work to do. 3 Focus on data reuse within the GPGPU to avoid memory bandwidth limitations. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

18 Algunos detalles adicionales Ejercicio Dadas dos matrices A y B, hacer una función para calcular la suma y mostrar el resultado tanto en CPU como en GPU. Variar los valores de bloques y cantidad de hilos para mejorar la performance. Comparar el desempeño de las implementaciones en CPU y GPU. E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

19 Algunos detalles adicionales Bibliografía: CUDA by Example: An introduction to General-Purpose GPU Programming, Jason Sanders, Edward Kandrot, Nvidia, Programming Massivelly Parallel Processors: A Hands-on approach, David Kirk, Wen-mei W. Hwu, Morgan Kaufmann, CUDA Application Design And Development, Ron Farber, Morgan Kaufmann, Online tutorial by Sean Baxter (año 2011). E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/ / 19

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti, M. Pedemontey J.P. Silva Clases 4 Programación Contenido Modelo de programación Introducción Programación

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

PROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS

PROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS Grupo de Ing. Electrónica aplicada a Espacios INteligentes y TRAnsporte Área Audio-Visual PROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS Torrevieja (Alicante) Del 19 al 22 de Julio Álvaro

Más detalles

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU

Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti M. Pedemonte Práctico Programación con CUDA Práctica 0: Ejecución del ejemplo visto en teórico (suma de

Más detalles

Introducción HPC. Curso: Modelización y simulación matemática de sistemas. Esteban E. Mocskos (emocskos@dc.uba.ar) Escuela Complutense Latinoamericana

Introducción HPC. Curso: Modelización y simulación matemática de sistemas. Esteban E. Mocskos (emocskos@dc.uba.ar) Escuela Complutense Latinoamericana Curso: Modelización y simulación matemática de sistemas Metodología para su implementación computacional Introducción HPC Esteban E. Mocskos (emocskos@dc.uba.ar) Facultad de Ciencias Exactas y Naturales,

Más detalles

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

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013 FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS CNCA Abril 2013 6. COMPUTACIÓN DE ALTO RENDIMIENTO Ricardo Román DEFINICIÓN High Performance Computing - Computación de Alto Rendimiento Técnicas, investigación

Más detalles

Arquitecturas y programación de procesadores gráficos. Nicolás Guil Mata Dpto. de Arquitectura de Computadores Universidad de Málaga

Arquitecturas y programación de procesadores gráficos. Nicolás Guil Mata Dpto. de Arquitectura de Computadores Universidad de Málaga Arquitecturas y programación de procesadores gráficos Dpto. de Arquitectura de Computadores Universidad de Málaga Indice Arquitectura de las GPUs Arquitectura unificada Nvidia: GT200 Diagrama de bloques

Más detalles

Librería Thrust. Clase 4. http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases

Librería Thrust. Clase 4. http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Librería Thrust Clase 4 http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Hasta aquí... CUDA C/C++ Control de bajo nivel del mapeo al hardware Desarrollo de algoritmos de alta performance.

Más detalles

Introducción a Computación

Introducción a Computación Curso: Modelización y simulación matemática de sistemas Metodología para su implementación computacional Introducción a Computación Esteban E. Mocskos (emocskos@dc.uba.ar) Facultades de Ciencias Exactas

Más detalles

Computación en procesadores gráficos

Computación en procesadores gráficos Programación con CUDA José Antonio Martínez García Francisco M. Vázquez López Manuel Ujaldón Martínez Portada Ester Martín Garzón Universidad de Almería Arquitectura de las GPUs Contenidos Modelo de programación

Más detalles

CUDA Overview and Programming model

CUDA Overview and Programming model Departamento de Ciencias de la computación Universidad de Chile Modelado en 3D y sus Aplicaciones en Realidad Virtual CC68W CUDA Overview and Programming model Student: Juan Silva Professor: Dr. Wolfram

Más detalles

Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630)

Kepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630) Índice de contenidos [25 diapositivas] Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [3] 2. Los cores y su organización [7]

Más detalles

Memorias, opciones del compilador y otras yerbas. Clase 3

Memorias, opciones del compilador y otras yerbas. Clase 3 Memorias, opciones del compilador y otras yerbas Clase 3 Memorias en CUDA Grid CUDA ofrece distintas memorias con distintas características. Block (0, 0) Shared Memory Block (1, 0) Shared Memory registros

Más detalles

Tutorial CUDA Univ. de Santiago. 6 y 7 de Agosto, 2013

Tutorial CUDA Univ. de Santiago. 6 y 7 de Agosto, 2013 Tutorial CUDA Univ. de Santiago. 6 y 7 de Agosto, 2013 La suma por reducción Este código realiza la suma de un vector de N elementos mediante un operador binario de reducción, es decir, en log 2 (N) pasos.

Más detalles

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar

Arquitectura de aceleradores. Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Arquitectura de aceleradores Carlos Bederián IFEG CONICET GPGPU Computing Group FaMAF UNC bc@famaf.unc.edu.ar Contenidos Cómo llegamos hasta acá Qué hay ahora Qué hace Cómo lo uso Hacia dónde parece que

Más detalles

SUMA de Vectores: Hands-on

SUMA de Vectores: Hands-on SUMA de Vectores: Hands-on Clase X http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Algunas preguntas practicas (1) Que pasa si los vectores a sumar son muy grandes? (2) Como saber en que

Más detalles

Sistemas Operativos. Curso 2016 Procesos

Sistemas Operativos. Curso 2016 Procesos Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor

Más detalles

270068 - PAP - Programación y Arquitecturas Paralelas

270068 - PAP - Programación y Arquitecturas Paralelas Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 701 - AC - Departamento de Arquitectura de Computadores Curso: Titulación: 2014 GRADO EN INGENIERÍA INFORMÁTICA

Más detalles

Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción

Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción Programando con memoria unificada IX Curso de Verano de la UMA Programación de GPUs con CUDA Contenidos [15 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. Descripción [5] 2. Ejemplos [8] 3. Observaciones

Más detalles

Taller: Introducción a GPU's y Programación CUDA para HPC

Taller: Introducción a GPU's y Programación CUDA para HPC Taller: Introducción a GPU's y Programación CUDA para HPC Amilcar Meneses Viveros Departamento de Computación CINVESTAV-IPN / LUFAC Computación Julio 2011 CONTENIDO I.- INTRODUCCION A GPU's Y CUDA 1.1

Más detalles

Arquitecturas GPU v. 2013

Arquitecturas GPU v. 2013 v. 2013 Stream Processing Similar al concepto de SIMD. Data stream procesado por kernel functions (pipelined) (no control) (local memory, no cache OJO). Data-centric model: adecuado para DSP o GPU (image,

Más detalles

PLATAFORMA SAP HANA Diez preguntas principales al elegir una base de datos in-memory. Empiece aquí

PLATAFORMA SAP HANA Diez preguntas principales al elegir una base de datos in-memory. Empiece aquí PLATAFORMA Diez preguntas principales al elegir una base de datos Empiece aquí PLATAFORMA Diez preguntas principales al elegir una base de datos. Mis aplicaciones se aceleran sin intervención ni ajustes

Más detalles

Seminario II: Introducción a la Computación GPU

Seminario II: Introducción a la Computación GPU Seminario II: Introducción a la Computación GPU CONTENIDO Introducción Evolución CPUs-Evolución GPUs Evolución sistemas HPC Tecnologías GPGPU Problemática: Programación paralela en clústers heterogéneos

Más detalles

Procesadores Gráficos: OpenCL para programadores de CUDA

Procesadores Gráficos: OpenCL para programadores de CUDA Procesadores Gráficos: para programadores de CUDA Curso 2011/12 David Miraut david.miraut@urjc.es Universidad Rey Juan Carlos April 24, 2013 Indice Estándar Modelo de de El lenguaje programa de Inicialización

Más detalles

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes.

Introducción. Por último se presentarán las conclusiones y recomendaciones pertinentes. Introducción En el presente documento se explicarán las consideraciones realizadas para implementar la convolución bidimensional en la arquitectura CUDA. En general se discutirá la metodología seguida

Más detalles

GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS

GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS GPU IMPLEMENTATIONS OF SCHEDULING HEURISTICS FOR HETEROGENEOUS COMPUTING ENVIRONMENTS MAURO CANABÉ SERGIO NESMACHNOW Centro de Cálculo, Facultad de Ingeniería Universidad de la República, Uruguay GPU IMPLEMENTATIONS

Más detalles

Múltiples GPU (y otras chauchas)

Múltiples GPU (y otras chauchas) Múltiples GPU (y otras chauchas) Clase 16, 21/11/2013 http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Carlos Bederián bc@famaf.unc.edu.ar IFEG-CONICET, FaMAF-UNC Motivación No desperdiciar

Más detalles

CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS

CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS Leopoldo N. Gaxiola, Juan J. Tapia Centro de Investigación y Desarrollo de Tecnología Digital Instituto Politécnico Nacional Avenida

Más detalles

502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ

502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ 502 A I.S.C. JOSE BARDO MORENO MACHADO ENRIQUE EDUARDO MORAN PRADO EDILBERTO RASCON HERNANDEZ Dispositivo basado en circuitos que posibilitan el almacenamiento limitado de información y su posterior recuperación.

Más detalles

Ejemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas]

Ejemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas] Ejemplos de optimización para Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga Contenidos de la charla [18 diapositivas] 1. Balanceo dinámico de la carga.

Más detalles

Laboratorio de Herramientas Computacionales

Laboratorio de Herramientas Computacionales Laboratorio de Herramientas Computacionales Tema 1.1 Componentes físicos de la computadora UNIVERSIDAD MICHOACANA DE SAN NICOLÁS DE HIDALGO FACULTAD DE INGENIERIA ELECTRICA M.I. ROSALÍA MORA JUÁREZ Antecedentes

Más detalles

Organización de Computadoras. Turno Recursantes Clase 8

Organización de Computadoras. Turno Recursantes Clase 8 Organización de Computadoras Turno Recursantes Clase 8 Temas de Clase Subsistema de Memoria Organización de Memoria Principal Notas de clase 8 2 Memoria Velocidad del procesador: se duplica cada 18 meses

Más detalles

GPU-Ejemplo CUDA. Carlos García Sánchez

GPU-Ejemplo CUDA. Carlos García Sánchez Carlos García Sánchez 1 2 Contenidos Motivación GPU vs. CPU GPU vs. Vectoriales CUDA Sintaxis Ejemplo 2 3 Motivación Computación altas prestaciones: www.top500.org 1º: Titan (300mil AMD-Opteron + 19mil

Más detalles

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Bibliografía: William Stallings Organización y Arquitectura de computadores 5ta. Edition. Editorial Pearson Educación.- Objetivos:

Más detalles

Heterogénea y Jerárquica

Heterogénea y Jerárquica Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Computación Híbrida, Heterogénea y Jerárquica Contenidos 1 Sistemas 2 Paralelismo anidado 3 Programación híbrida

Más detalles

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

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso 2010-2011. Jerarquía de buses Tema 3. Buses 1. Introducción Jerarquía de buses Clasificación Fases de una transacción 2. Transferencia de datos 3. Temporización Bus síncrono Bus asíncrono Bus semisíncrono 4. Arbitraje del bus Centralizado

Más detalles

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

Más detalles

Solving Dense Linear Systems on Platforms with Multiple Hardware Accelerators

Solving Dense Linear Systems on Platforms with Multiple Hardware Accelerators Solving Dense Linear Systems on Platforms with Multiple Hardware Accelerators Maribel Castillo, Francisco D. Igual, Rafael Mayo, Gregorio Quintana-Ortí, Enrique S. Quintana-Ortí, Robert van de Geijn Grupo

Más detalles

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III DI PIETRO, Franco RODRIGUEZ, Matías VICARIO, Luciano Introducción En este papper se muestran

Más detalles

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?

Índice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? INTRODUCCIÓN A JAVA 20/02/2007 Introducción a JAVA 2 Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía

Más detalles

Arquitectura de Computadores II Clase #16

Arquitectura de Computadores II Clase #16 Arquitectura de Computadores II Clase #16 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Organización general Superescalar Varios pipelines. 2 operaciones enteras,

Más detalles

MEMORIAS DE SEMICONDUCTORES

MEMORIAS DE SEMICONDUCTORES MEMORIAS DE SEMICONDUCTORES Se ha visto anteriormente que un registro (latch o flip-flop) puede almacenar un bit. Para almacenar una gran cantidad de bits, se recurre al uso de memorias. Una memoria, en

Más detalles

Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala

Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala Intel Tera-Scale Computing Alumno: Roberto Rodriguez Alcala 1. Introducción Los procesadores con dos núcleos existen actualmente, y los procesadores de cuatro están insertándose en el mercado lentamente,

Más detalles

21. Jerarquía de Memoria. Conceptos básicos

21. Jerarquía de Memoria. Conceptos básicos Estructura y Tecnología de Computadores (ITIG) 21. Jerarquía de Memoria. Conceptos básicos Óscar David Robles Sánchez Luis Rincón Córcoles Programa 1.Bibliografía. 2.Introducción. 3.Concepto de localidad.

Más detalles

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas 1er.Cuatrimestre de 2006.

Universidad Nacional del Sur Departamento de Ciencias e Ingeniería de la Computación Análisis y Diseño de Sistemas 1er.Cuatrimestre de 2006. Análisis y Diseño de Sistemas Dpto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Clase 2 Calidades del producto y del proceso Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar]

Más detalles

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Módulo 5 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Conceptos Básicos Criterios de Planificación

Más detalles

SOMI XVIII Congreso de Instrumentación TECNOLOGIAS DE LA INFORMACION BSR18171

SOMI XVIII Congreso de Instrumentación TECNOLOGIAS DE LA INFORMACION BSR18171 SOFTWARE DE CAJERO AUTOMÁTICO UTILIZANDO PROGRAMACIÓN CONCURRENTE Y PARALELA Bárbara Emma Sánchez Rinza y María Lucero Aranda Ortiz. Benemérita Universidad Autónoma de Puebla edifico 135 14 sur y Av. San

Más detalles

Sistema operativo móvil desarrollado por Apple Inc. Lanzada en el 2007 bajo el nombre de Iphone OS.

Sistema operativo móvil desarrollado por Apple Inc. Lanzada en el 2007 bajo el nombre de Iphone OS. Sistema operativo móvil desarrollado por Apple Inc. Lanzada en el 2007 bajo el nombre de Iphone OS. Posee la mayor tasa de adopción de nuevas actualizaciones. Al 13 de julio, el 90% posee ios 7 a menos

Más detalles

Arquitectura de GPUs

Arquitectura de GPUs Arquitectura de GPUs Carlos Bederián, Nicolás Wolovick FaMAF, Universidad Nacional de Córdoba, Argentina 1 de Agosto de 2012 ECAR12@DC.UBA Revisión 3739, 2012-08-02 Introducción Organización GPU: cálculo

Más detalles

Permite compartir recursos en forma coordinada y controlada para resolver problemas en organizaciones multiinstitucionales

Permite compartir recursos en forma coordinada y controlada para resolver problemas en organizaciones multiinstitucionales The Anatomy of the Grid Enabling Scalable Virtual Organization Autores : Ian Foster, Carl Kesselman y Steven Tuecke. 2001 GRIDS y Organizaciones Virtuales Permite compartir recursos en forma coordinada

Más detalles

Universidad Complutense de Madrid FACULTAD DE INFORMÁTICA

Universidad Complutense de Madrid FACULTAD DE INFORMÁTICA Universidad Complutense de Madrid FACULTAD DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA SISTEMAS INFORMÁTICOS ALGORITMOS PARA GRAFOS Y PROGRAMACIÓN DE PROPÓSITO GENERAL EN CUDA Ezequiel Denegri Guillermo Frontera

Más detalles

Figura 1.4. Elementos que integran a la Tecnología de Información.

Figura 1.4. Elementos que integran a la Tecnología de Información. 1.5. Organización, estructura y arquitectura de computadoras La Gráfica siguiente muestra la descomposición de la tecnología de información en los elementos que la conforman: Figura 1.4. Elementos que

Más detalles

Catedrático: Alumna:

Catedrático: Alumna: Catedrático: Lic. Jorge Roberto Nery Gonzales Materia: informática Alumna: Sulma milagros Mondragón Sánchez Semestre: 5 grupo: «C» intel sigue apostando por la arquitectura Sandy Bridge y ha añadido recientemente

Más detalles

Utilización de la programación paralela en procesadores gráficos para el cálculo científico.

Utilización de la programación paralela en procesadores gráficos para el cálculo científico. Utilización de la programación paralela en procesadores gráficos para el cálculo científico. EMNO 2013 Rolando E. Rodríguez Fernández Medicina Computacional, Instituto de Nefrología. y Facultad de Física,

Más detalles

Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos.

Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos. Unidad I Conceptos Básicos de la Programación Orientada a Objetos 1.1 Paradigma de la Programación Orientada a Objetos Paradigma. Según el Diccionario de la Real Academia de la Lengua Española, paradigma

Más detalles

High Performance Computing y Big Data en AWS. +info: (http://gac.udc.es) HPC y Big Data en AWS 16 Abril, 2012 1 / 14

High Performance Computing y Big Data en AWS. +info: (http://gac.udc.es) HPC y Big Data en AWS 16 Abril, 2012 1 / 14 High Performance Computing y Big Data en AWS +info: (http://gac.udc.es) HPC y Big Data en AWS 16 Abril, 212 1 / 14 High Performance Computing High Performance Computing (HPC) Afonta grandes problemas empresariales,

Más detalles

Interfaces y Manejadores de Dispositivos

Interfaces y Manejadores de Dispositivos Informática Electrónica Unidad 6 Interfaces y Manejadores de Dispositivos Modalidad y Materiales Dos clases expositivas a cargo del docente responsable (jlsimon@fceia.unr.edu.ar) Una práctica cargo de

Más detalles

Descubriendo Kepler. 1. Presentación de la arquitectura. Agradecimientos. Indice de contenidos [46 diapositivas]

Descubriendo Kepler. 1. Presentación de la arquitectura. Agradecimientos. Indice de contenidos [46 diapositivas] Agradecimientos Descubriendo Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga A los ingenieros de Nvidia, por compartir ideas, material, diagramas, presentaciones,...

Más detalles

Hosting. Que es un hosting o alojamiento web

Hosting. Que es un hosting o alojamiento web Hosting Que es un hosting o alojamiento web El alojamiento web (en inglés web hosting) es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información, imágenes, vídeo,

Más detalles

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

Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Síntesis Lecturas Recomendadas. Arquitectura de Computadoras Arquitectura de Computadoras Contenidos 1 Introducción Computadora Arquitectura Partes de una arquitectura 2 Componentes Básicos CPU Jerarquía de Memoria 3 Concurrencia y Paralelismo Arquitecturas concurrentes

Más detalles

Sistemas Operativos Avanzados

Sistemas Operativos Avanzados Sistemas Operativos Avanzados Integrantes: Fernández Martínez Maribel Sánchez Benavidez Erendira Serna Rangel Iván En los 80 s incremento la demanda de capacidad de procesamiento, en respuesta se desarrollaron

Más detalles

Oferta de Trabajos en Grupo. Arquitectura y Tecnología de Computadores

Oferta de Trabajos en Grupo. Arquitectura y Tecnología de Computadores Oferta de Trabajos en Grupo Arquitectura y Tecnología de Computadores Bloque de Arquitecturas Paralelas Introducción a las Arquitecturas de Altas Prestaciones 1. Análisis del ranking TOP500 2. Benchmarking

Más detalles

Procesos, hilos y Recursos

Procesos, hilos y Recursos Sistemas Operativos Pontificia Universidad Javeriana Febrero de 2010 Process Manager Procesos Clasicos Procesos Modernos Process Manager Objetivo El manejador de procesos provee un espectro de servicios

Más detalles

Preguntas frecuentes para padres y familias sobre la Dispensa de Flexibilidad de la ESEA de Georgia

Preguntas frecuentes para padres y familias sobre la Dispensa de Flexibilidad de la ESEA de Georgia Preguntas frecuentes para padres y familias sobre la Dispensa de Flexibilidad de la ESEA de Georgia Nota: La Ley Que Ningún Niño se Quede Atrás (No Child Left Behind, NCLB) caducó en 2007 y, aunque muchas

Más detalles

Bloque IV. Prácticas de programación en CUDA. David Miraut Marcos García Ricardo Suárez

Bloque IV. Prácticas de programación en CUDA. David Miraut Marcos García Ricardo Suárez Bloque IV Prácticas de programación en CUDA David Miraut Marcos García Ricardo Suárez Control de flujo Situaciones no tratadas Claves con tamaños diferentes. Cada Wrap debería acceder a claves del mismo

Más detalles

270150 - TGA - Tarjetas Gráficas y Aceleradores

270150 - TGA - Tarjetas Gráficas y Aceleradores Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que imparte: 701 - AC - Departamento de Arquitectura de Computadores Curso: Titulación: 2014 GRADO EN INGENIERÍA INFORMÁTICA

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

Instituto Politécnico Nacional

Instituto Politécnico Nacional MARCO TEÓRICO] Junio de 2012 Instituto Politécnico Nacional Centro de Investigación en Computación Paralelización de un subconjunto de consultas SQL con unión natural utilizando una GPU TESIS QUE PARA

Más detalles

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Sistemas Operativos Concurrencia y Sincronización de

Más detalles

Técnicas de paralelización de código para robots basados en emociones

Técnicas de paralelización de código para robots basados en emociones 1 UNIVERSIDAD POLITECNICA DE VALENCIA G R A D O E N I N G E N I E R Í A I N F O R M Á T I C A Técnicas de paralelización de código para robots basados en emociones TRABAJO FINAL DE GRADO Autor: Francisco

Más detalles

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA I. INTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA 1.1. Informática Informática (Información Automática) es la ciencia y la técnica del tratamiento automatizado de la información mediante el uso de ordenadores.

Más detalles

Arquitectura de Computadores Paralelos

Arquitectura de Computadores Paralelos Arquitectura de Computadores Paralelos 2015/2016 Código: 43342 Créditos ECTS: 6 Titulación Tipo Curso Semestre 4314660 Ingeniería Informática / Computer Engineering OB 1 2 Contacto Nombre: Juan Carlos

Más detalles

Replicación independiente de la plataforma para transferencia de datos empresariales y migraciones no disruptivas

Replicación independiente de la plataforma para transferencia de datos empresariales y migraciones no disruptivas EMC Open Replicator for Symmetrix Replicación independiente de la plataforma para transferencia de datos empresariales y migraciones no disruptivas Aspectos fundamentales Alto rendimiento: utiliza el sólido

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

Tema 5. Memorias. Estructura de Computadores. Índice. Curso 2008-2009

Tema 5. Memorias. Estructura de Computadores. Índice. Curso 2008-2009 Tema 5. Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 23 Índice Definiciones Parámetros característicos Jerarquía de memoria Dispositivos de almacenamiento

Más detalles

PROGRAMA DE CURSO. Horas Docencia Horas de Trabajo Horas de Cátedra Docentes 6 10 1,5 1.5 7

PROGRAMA DE CURSO. Horas Docencia Horas de Trabajo Horas de Cátedra Docentes 6 10 1,5 1.5 7 PROGRAMA DE CURSO Código Nombre CC5320 Programación Consciente de la Arquitectura Nombre en Inglés Awareness of architecture in programming SCT Unidades Horas Docencia Horas de Trabajo Horas de Cátedra

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

SIMATIC S7-1200 Actualización del manual de sistema S7-1200, edición 04/2012 Información del producto

SIMATIC S7-1200 Actualización del manual de sistema S7-1200, edición 04/2012 Información del producto SIMATIC S7-1200 Actualización del manual de sistema S7-1200, edición 04/2012 Información del producto Pese a los esfuerzos realizados por garantizar la exactitud y claridad en la documentación del producto,

Más detalles

TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela

TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela 2 CONTENIDOS DE LA UNIDAD 4.4 Diseño de arquitecturas de memoria compartida y compartida-distribuida.

Más detalles

UNIVERSIDAD DE BURGOS Área de Tecnología Electrónica INTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA

UNIVERSIDAD DE BURGOS Área de Tecnología Electrónica INTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA UNIVERSIDAD DE BURGOS Área de Tecnología Electrónica INTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA César Represa Pérez José María Cámara Nebreda Pedro Luis Sánchez Ortega Introducción a la programación en CUDA

Más detalles

Procesos. Bibliografía. Threads y procesos. Definiciones

Procesos. Bibliografía. Threads y procesos. Definiciones Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.

Más detalles

servicios. El API es definido al nivel de código fuente y proporciona el nivel de

servicios. El API es definido al nivel de código fuente y proporciona el nivel de GLOSARIO API Application Program -ming- Interface Es la interfaz por la cual una aplicación accede al sistema operativo u a otros servicios. El API es definido al nivel de código fuente y proporciona el

Más detalles

Organizacion del Computador

Organizacion del Computador Universidad Nacional de Ingeniería Facultad de Ciencias Introducción a la Ciencia de la Computación Organizacion del Computador Prof: J. Solano 2011-I Objetivos Despues de estudiar este cap. el estudiante

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa 2007 Introducción a los Sistemas Operativos Qué es un Sistema Operativo? Un programa que hace de intermediario

Más detalles

Arquitectura de Computadores II Clase #6

Arquitectura de Computadores II Clase #6 Arquitectura de Computadores II Clase #6 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Recapitulando: donde estamos? Componentes clásicos de un computador Procesador

Más detalles

Segunda Parte: TECNOLOGÍA CUDA

Segunda Parte: TECNOLOGÍA CUDA Segunda Parte: (compute unified device architecture) 12 I. CUDA CUDA es una arquitectura de cálculo paralelo de NVIDIA que aprovecha la potencia de la GPU (unidad de procesamiento gráfico) para proporcionar

Más detalles

Se muestra la pantalla inicial de plataforma Cloud Computing cuando se accede por primera vez, visualizando el componente Horizon de OpenStack.

Se muestra la pantalla inicial de plataforma Cloud Computing cuando se accede por primera vez, visualizando el componente Horizon de OpenStack. Vista interfaz de acceso Se muestra la pantalla inicial de plataforma Cloud Computing cuando se accede por primera vez, visualizando el componente Horizon de OpenStack. El ingreso se realiza por medio

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

Computación Híbrida, Heterogénea y Jerárquica

Computación Híbrida, Heterogénea y Jerárquica Computación Híbrida, Heterogénea y Jerárquica http://www.ditec.um.es/ javiercm/curso psba/ Curso de Programación en el Supercomputador Ben-Arabí, febrero-marzo 2012 Organización aproximada de la sesión,

Más detalles

Tema 2. Procesos. 1. Concepto de proceso

Tema 2. Procesos. 1. Concepto de proceso Tema 2. Procesos 1. Concepto de proceso. 2. Principios de la Programación concurrente. 1. Concurrencia. Programación concurrente. 2. Áreas de comunicación entre procesos. 1. Exclusión mutua. 2. Sincronización.

Más detalles

INTRODUCCIÓN A LA COMPUTACIÓN PARALELA CON GPUS

INTRODUCCIÓN A LA COMPUTACIÓN PARALELA CON GPUS INTRODUCCIÓN A LA COMPUTACIÓN PARALELA CON GPUS Sergio Orts Escolano sorts@dtic.ua.es Vicente Morell Giménez vmorell@dccia.ua.es Universidad de Alicante Departamento de tecnología informática y computación

Más detalles

IMPLEMENTACIÓN DE CÓDIGO CFD PARALELO PARA FLUJO COMPRESIBLE

IMPLEMENTACIÓN DE CÓDIGO CFD PARALELO PARA FLUJO COMPRESIBLE IMPLEMENTACIÓN DE CÓDIGO CFD PARALELO PARA FLUJO COMPRESIBLE RESUMEN S. C. Chan Chang, G. Weht, M. Montes Departamento Mecánica Aeronáutica, Facultad de Ingeniería, Instituto Universitario Aeronáutico

Más detalles

Primeros pasos con CUDA. Clase 1

Primeros pasos con CUDA. Clase 1 Primeros pasos con CUDA Clase 1 Ejemplo: suma de vectores Comencemos con un ejemplo sencillo: suma de vectores. Sean A, B y C vectores de dimensión N, la suma se define como: C = A + B donde C i = A i

Más detalles

Paralelización del código Stampack v7.10. W.Castelló F. Flores

Paralelización del código Stampack v7.10. W.Castelló F. Flores Paralelización del código Stampack v7.10 W.Castelló F. Flores Publicación CIMNE Nº-362, Julio 2011 Paralelización del código Stampack v7.10 W. Castelló F. Flores Publicación CIMNE Nº-362, Julio 2011 Centro

Más detalles

Sin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras)

Sin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras) Introducción Memoria Ideal Rápida, grande y barata Sin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras) Las tecnologías principales de memoria son

Más detalles

Ejecutar el instalador y seleccionar los paquetes necesarios. En nuestro caso son los siguientes: Android SDK Tools (ya vendrá instalado) Android SDK

Ejecutar el instalador y seleccionar los paquetes necesarios. En nuestro caso son los siguientes: Android SDK Tools (ya vendrá instalado) Android SDK Processing es un entorno y un lenguaje de programación para aprender a codificar en el contexto de las artes visuales de forma rápida y sencilla, sin preocuparnos por el hardware que estamos utilizando.

Más detalles

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE

BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE BUS I2C: IMPLEMENTACIÓN PRÁCTICA CON MICROCONTROLADORES PIC MEMORIAS EEPROM SERIE Fernando Nuño García 1 Ventajas del BUS I2C Definido inicialmente a mediados de los 80 para trabajar a 100kbit/s y en 1995

Más detalles

Sistemas Operativos II Febrero 2009 Nombre:

Sistemas Operativos II Febrero 2009 Nombre: Sistemas Operativos II Febrero 2009 Nombre: ITIS Castellano Ejercicio 1 [1,5 puntos] El siguiente cronograma representa la ejecución de tres procesos en un sistema operativo durante 28 ticks. Inicialmente,

Más detalles

TEMA VII: DISEÑO SECUENCIAL PROGRAMABLE

TEMA VII: DISEÑO SECUENCIAL PROGRAMABLE TEMA VII: ISEÑO SECUENCIAL PROGRAMABLE e igual forma que podíamos disponer de dispositivos combinacionales programables para poder implementar funciones combinacionales en un solo integrado, en el dominio

Más detalles

Introducción a las Redes de Computadoras. Obligatorio 2 2011

Introducción a las Redes de Computadoras. Obligatorio 2 2011 Introducción a las Redes de Computadoras Obligatorio 2 2011 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente

Más detalles