domingo, 4 de octubre de 2015

Taxonomía de Flynn


La taxonomía de Flynn es una clasificación de arquitecturas de computadores propuesta por Michael J. Flynn en 1972.

Clasificaciones[editar]

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. Algunos autores consideran que las arquitecturas vectoriales supersegmentadas o vectorial escalar forman parte de este modelo ya que en un momento dado se pueden estar manipulando un dato (el vector) por varias instrucciones, no obstante no existe consenso al respecto.
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.svgMISD.svg
SIMD.svgMIMD.svg



Arquitectura de von Neumann


La arquitectura Von Neumann, también conocida como modelo de Von Neumann o arquitectura Princeton, es una arquitectura de computadoras basada en la descrita en 1945 por el matemático y físico John von Neumann y otros, en el primer borrador de un informe sobre el EDVAC.1 Este describe una arquitectura de diseño para un computador digital electrónico con partes que constan de una unidad de procesamiento que contiene una unidad aritmético lógica y registros del procesador, unaunidad de control que contiene un registro de instrucciones y uncontador de programa, una memoria para almacenar tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y salida.1 2 El significado ha evolucionado hasta ser cualquier computador de programa almacenado en el cual no pueden ocurrir una extracción de instrucción y una operación de datos al mismo tiempo, ya que comparten un bus en común. Esto se conoce como el cuello de botella Von Neumann y muchas veces limita el rendimiento del sistema.3
El diseño de una arquitectura Von Neumann es más simple que laarquitectura Harvard más moderna, que también es un sistema de programa almacenado, pero tiene un conjunto dedicado de direcciones y buses de datos para leer datos desde memoria y escribir datos en la misma, y otro conjunto de direcciones y buses de datos para ir a buscar instrucciones

Un computador digital de programa almacenado es una que mantiene sus instrucciones de programa, así como sus datos, enmemoria de acceso aleatorio (RAM) de lectura-escritura. Las computadoras de programa almacenado representaron un avance sobre los ordenadores controlados por programas de la década de 1940, como la Colossus y la ENIAC, que fueron programadas por ajustando interruptores e insertando parches, conduciendo datos de la ruta y para controlar las señales entre las distintas unidades funcionales. En la gran mayoría de las computadoras modernas, se utiliza la misma memoria tanto para datos como para instrucciones de programa, y la distinción entre Von Neumann vs. Harvard se aplica a la arquitectura de memoriacaché, pero no a la memoria principal.