1.
Flynn
La taxonomía de Flynn es una clasificación de arquitecturas de computadores propuesta por Michael J. Flynn en 1972.
Una instrucción | Múltiples instrucciones | |
---|---|---|
Un dato | SISD | MISD |
Múltiples datos | SIMD | MIMD |
Clasificaciones
Las cuatro clasificaciones definidas por Flynn se basan en el número de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura:
- Una instrucción, un dato (SISD)
- Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las máquinas con uni-procesador o monoprocesador tradicionales como el PC o los antiguosmainframe.
- Múltiples instrucciones, un dato (MISD)
- Poco común debido al hecho de que la efectividad de los múltiples flujos de instrucciones suele precisar de múltiples flujos de datos. Sin embargo, este tipo se usa en situaciones de paralelismo redundante, como por ejemplo en navegación aérea, donde se necesitan varios sistemas de respaldo en caso de que uno falle. También se han propuesto algunas arquitecturas teóricas que hacen uso de MISD, pero ninguna llegó a producirse en masa.
- Una instrucción, múltiples datos (SIMD)
- Un computador que explota varios flujos de datos dentro de un único flujo de instrucciones para realizar operaciones que pueden ser paralelizadas de manera natural. Por ejemplo, un procesador vectorial.
- Múltiples instrucciones, múltiples datos (MIMD)
- Varios procesadores autónomos que ejecutan simultáneamente instrucciones diferentes sobre datos diferentes. Lossistemas distribuidos suelen clasificarse como arquitecturas MIMD; bien sea explotando un único espacio compartido de memoria, o uno distribuido.
Diagrama de comparación de las clasificaciones
Esas cuatro arquitecturas son mostradas visualmente a continuación en donde cada "PU" (processing unit) es una unidad de procesamiento:SISD MISD SIMD MIMD Clasificaciones adicionales
También existe una extensión común a esta taxonomía que es:- Un programa, múltiples datos (SPMD) - múltiples procesadores autónomos que trabajan simultáneamente sobre el mismo conjunto de instrucciones (aunque en puntos independientes) sobre datos diferentes. También se le llama 'un proceso, múltiples datos'.
- Múltiples programas, múltiples datos (MPMD) - múltiples procesadores autónomos que trabajan simultáneamente sobre al menos dos programas independientes. Normalmente este sistema elige a un nodo para ser el host o administrador, que corre el programa y otorga los datos a todos los demás nodos que ejecutan un segundo programa. Esos demás nodos devuelven sus resultados directamente al administrador. Un ejemplo podría ser la consola de Sony PlayStation 3, que tiene la arquitectura de procesador SPU/PPU.
- 2. Existen dos tipos de multiproceso, el asimétrico y el simétrico. En el asimétrico hay un procesador (maestro) en el cual se ejecuta el sistema operativo y los demás (esclavos) donde se ejecutan las demás tareas. La ventaja de éste es que al aumentar más procesadores se tiene que hacer un cambio mínimo y fácil para el manejo de éstos y en general se eliminan muchos problemas de integridad de datos. La gran desventaja es que al haber sólo una copia del sistema operativo en un sólo procesador (maestro) cuando este procesador falla todo el sistema falla porque todos los recursos que son manejados por el sistema operativo no pueden ser accesados.En el simétrico se ejecuta el sistema operativo - o una gran parte de él - en cualquiera de los procesadores disponibles y todos ellos tienen acceso a los recursos a menos que cada recurso sea asignado a un procesador específico. Aunque es mas difícil de implementar tiene muchas más ventajas. Primero, este tipo de sistemas tienden a ser más eficientes porque las tareas tanto del sistema operativo como de los usuarios pueden ser distribuídas en forma balanceada a todos los procesadores. Debido a que las demandas del sistema operativo pueden ser repartidas a todos los procesadores, el tiempo de inactividad de un procesador mientras otro está sobretrabajando es mínimo. Segunda, si un procesador falla, es posible que sus tareas sean repartidas entre los demás y no es necesario que todo el sistema sea parado o que falle el sistema. Y finalmente, la portabilidad del sistema es mayor debido a que no sigue la arquitectura de mastrer/slave. NT implementa este modelo de multiproceso.
- 3. Hoy en día, los programas cada vez más grandes y complejos demandan mayor velocidad en el procesamiento de información, lo que implica la búsqueda de microprocesadores más rápidos y eficientes.Los avances y progresos en la tecnología de semiconductores han reducido las diferencias en las velocidades de procesamiento de los microprocesadores con las velocidades de las memorias, lo que ha repercutido en nuevas tecnologías en el desarrollo de microprocesadores. Hay quienes consideran que en breve los microprocesadores RISC sustituirán a los CISC, pero existe el hecho que los microprocesadores CISC tienen un mercado de software muy difundido.En la década de los sesentas, la microprogramación era la técnica más apropiada para la tecnología de memorias existentes. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones, dando surgimiento a la arquitectura CISC.Las arquitecturas CISC utilizadas desde hace 15 años han permitido desarrollar un gran número de productos de software. Sin embargo, simultáneamente aumentan las aplicaciones en las cuales la capacidad de procesamiento que se pueda obtener del sistema es más importante que la compatibilidad con el hardware y el software anteriores. Por ello, todos los productores de estaciones de trabajo de renombre, han pasado en pocos años, de los procesadores CISC a los RISC, lo cual se refleja en el fuerte incremento anual del número de procesadores RISC.Cada usuario debe decidirse a favor o en contra de determinada arquitectura de procesador en función de la aplicación concreta que quiera realizar. Nunca será decisiva únicamente la capacidad de procesamiento del microprocesador; se debe considerar por igual la capacidad real que puede alcanzar el sistema en su conjunto.Si bien el de aplicaciones de la arquitectura RISC crece con fuerza, esto no equivale al fin de la arquitectura CISC, que también seguirá perfeccionándose adoptando técnicas típicas de los procesadores RISC, a fin de encontrar nuevas rutas para el incremento de sus capacidades.Cuando en 1990 Apple lanza su primer Power Macintosh y anuncia que se pasa al RISC, muchos auguraron que la tecnología de instrucciones complejas tenía los días contados. Pero desde entonces han pasado 17 años y los fabricantes de procesadores CISC han seguido aumentando el rendimiento, y lo que es más importante, han conseguido mantener los precios de los chips muy bajos.Intel ha mantenido hasta ahora que la arquitectura CISC puede estar perfectamente a la altura de la RISC. Pero la progresiva asimilación de técnicas propias del RISC en sus chips parecen revelar un abandono progresivo de la arquitectura de instrucciones complejas por la de instrucciones más reducidas4.
Procesador multinúcleo
Un procesador multinúcleo es aquel que combina dos o más microprocesadores independientes en un solo paquete, a menudo un solo circuito integrado. Un dispositivo de doble núcleo contiene solamente dos microprocesadores independientes. En general, los microprocesadores multinúcleo permiten que un dispositivo computacional exhiba una cierta forma del paralelismo a nivel de thread(thread-level parallelism) (TLP) sin incluir múltiples microprocesadores en paquetes físicos separados. Esta forma de TLP se conoce a menudo comomultiprocesamiento a nivel de chip (chip-level multiprocessing) o CMP.
No hay comentarios:
Publicar un comentario