La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Mejoras a las Máquinas Von Neumann

Presentaciones similares


Presentación del tema: "Mejoras a las Máquinas Von Neumann"— Transcripción de la presentación:

1 Mejoras a las Máquinas Von Neumann
Multitasking, Pipelining, Procesadores Multi Núcleo, Hyper-Threading

2 Mejoras a las Máquinas Von Neumann - Multitasking
En el caso de una computadora con solamente un procesador, solo un proceso puede ser ejecutado a la vez, lo que significa que el proceso ejecuta de manera activa instrucciones de un único proceso en un momento dado. El Multitasking (procesamiento multitareas) resuelve este problema programando en el tiempo qué procesos serán ejecutados en un momento dado, y cuándo los procesos en espera tendrán su turno. El acto de reasignar el procesador a otro proceso se conoce como cambio de contexto (context switch). Ya que el cambio de contexto es lo suficientemente rápido y frecuente, se crea la “ilusión” de paralelismo, es decir, la percepción de que varios procesos son ejecutados concurrentemente o, lo que es lo mismo, en paralelo. Sin embargo, en realidad, multitasking no es paralelismo, sino la ejecución de varios procesos en un periodo en el cual el procesador ejecuta un solo proceso en un instante a la vez, alternando su atención a otros procesos rápidamente.

3 Mejoras a las Máquinas Von Neumann - Multitasking
Los sistemas operativos pueden adoptar una de varias estrategias para la programación en el tiempo de la asignación del procesador a los procesos. Estas estrategias normalmente se clasifican en las siguientes categorías: Sistemas multiprogramación (multiprogramming), en los que el proceso en ejecución sigue siendo procesado hasta que realiza una operación que requiere de la espera de la ocurrencia de un evento externo (la lectura de una cinta magnética, por ejemplo); el proceso es ejecutado por completo; o hasta que la computadora, en manera forzada, da por terminada la ejecución del proceso. Estos sistemas son diseñados para maximizar el uso del procesador. Sistemas de tiempo compartido (time sharing), en los que al proceso en ejecución se le requiere liberar al procesador, ya sea de manera voluntario o por medio de un evento externo, tal como una interrupción de hardware. Los sistemas de tiempo compartido son diseñados para permitir que varios programas sean ejecutados aparentemente de manera simultánea. Sistemas de tiempo real (real time), en los que algunos procesos se les garantiza el asignarles tiempo de procesador cuando un evento externo ocurra. Los sistemas de tiempo real son diseñados para controlar dispositivos mecánicos tales como robots industriales, los cuales requieren procesamiento en el momento requerido. Aún en computadoras con más de un procesador (llamadas máquinas multiprocesador) o con más de un núcleo (core) dentro de un procesador (llamadas máquinas multinúcleo o multicore), en las que más de un proceso puede ser ejecutado en un instante dado, es decir, paralelamente (un proceso por procesador o núcleo), el multitasking permite procesar muchos más procesos que procesadores o núcleos existentes.

4 Mejoras a las Máquinas Von Neumann - Pipelining
Pipelining (Segmentación) En computación, una tubería (pipeline) es un conjunto de elementos de procesamiento de datos conectados en serie, en la que la salida de una de los elementos es la entrada del siguiente. Los elementos de una tubería son frecuentemente ejecutados en paralelo con otros elementos de una tubería similar o en forma de fraccionamiento del tiempo. Los pipelines en una computadora incluyen: Pipelines (segmentación) de instrucciones, usada en procesadores para permitir la ejecución de múltiples instrucciones de manera traslapada con la misma circuitería. La circuitería que interviene en la ejecución de instrucciones es usualmente dividida en etapas; por ejemplo, las etapas fetch de instrucción (IF), decodificación de instrucción (ID), ejecución de la instrucción en la ALU (EX) y almacenamiento de los resultados (MEM), escribir resultados en registro (WB). Cada etapa procesa una instrucción a la vez.

5 Mejoras a las Máquinas Von Neumann - Pipelining
Pipelines (segmentación) de gráficas, utilizada en la mayoría de la unidades de procesamiento de gráficas (GPUs), las cuales consisten en múltiples unidades aritméticas, o procesadores completos, que implementan varias etapas de operaciones comunes de renderizados (proyección de perspectivas, recortamiento de ventanas, cálculos de color e iluminación, renderizado, etc.). Pipelines (segmentación) de software, en la que comandos pueden ser escritos para especificar que la salida de una operación sea automáticamente alimentada a la siguiente operación. La llamada de sistema pipe en UNIX es un claro ejemplo de este concepto. Ejemplo, workstation10> ls | grep home

6 Mejoras a las Máquinas Von Neumann – Procesadores Multinúcleo
Procesadores Multinúcleo (Multi core) Un procesador multinúcleo es aquel que combina dos o más microprocesadores independientes en un solo paquete, a menudo un solo circuito integrado o chip. La finalidad de un procesador multinúcleo es el permitir el multiprocesamiento de aplicaciones en varios procesadores (ejecución simultánea de varios procesos en varios procesadores). Estos procesadores se unen con un canal de alta velocidad y comparte la carga de trabajo general entre ellos. En caso de que uno falle, el otro se hace cargo. Un procesador de doble núcleo (dual core) contiene dos procesadores independientes. Un procesador de cuatro núcleo (quad core) contiene cuatro procesadores independientes.

7 Mejoras a las Máquinas Von Neumann – Procesadores Multinúcleo

8 Mejoras a las Máquinas Von Neumann – Hyper-Threading
Hyper-Threading (HT) Thread (Hilo) parte de un proceso que puede ser procesada independientemente de otras partes del proceso, lo que permite ejecutar varios threads o hilos de un mismo proceso o procesos diferentes a la vez (SMT – Simultaneous multithreading) si se cuenta con el soporte del sistema operativo y del hardware. Hyper-Threading (HT) es una tecnología de SMT de Intel para mejorar el paralelismo en la ejecución de procesos (computaciones), mediante el procesamiento de varias tareas o Threads a la vez en cada procesador o núcleo dentro de un procesador. HT trabaja mediante la duplicación de ciertas secciones del procesador, aquellas que almacenan el estado arquitectónico del procesamiento, pero sin duplicar los recursos de ejecución principales. Arquitecturalmente, un procesador con la tecnología HT consiste en dos procesadores lógicos o procesadores virtuales por núcleo, cada uno de los cuales tiene el soporte de su propia parte arquitectónica en el procesador. Cada procesador lógico puede ser individualmente detenido, interrumpido o instruido para ejecutar un thread específico, independientemente del otro procesador lógico en el chip. Esto permite la capacidad de ejecutar dos tareas o procesos a la vez en cada procesador físico o núcleo. A diferencia de un procesador de doble núcleo (dual core) tradicional, mismo que usa dos procesadores físicamente separados, los procesadores lógicos en un núcleo con HT comparten los recursos de ejecución. Estos recursos de ejecución pueden ser el hardware para la ejecución de instrucciones, memorias caché, la interfaz del bus del sistema y el firmware.

9 Mejoras a las Máquinas Von Neumann – Hyper-Threading

10 Mejoras a las Máquinas Von Neumann – Hyper-Threading


Descargar ppt "Mejoras a las Máquinas Von Neumann"

Presentaciones similares


Anuncios Google