SISD
Cuyas siglas
significa Single Instruction, Single Data.
Se refiere a las computadoras convencionales de Von Neuman.
En esta categoría SISD se encuentran la gran mayoría de las computadoras
existentes.
Características
- Son equipos con
un solo procesador, que trabaja sobre un solo dato a la vez.
- A estos equipos
se les llama también computadoras secuenciales.
- Flujo único de
instrucciones.
- Flujo único de
datos.
- Corresponde al
modelo estructural básico, con un procesador de instrucciones y un procesador
de datos.
- Tiene una única
vía de acceso a la memoria principal.
- Este es el
modelo tradicional de computación secuencial donde una unidad de procesamiento
recibe una sola secuencia de instrucciones que operan en una secuencia de datos.

- Un procesador
capaz de realizar acciones secuencialmente, controladas por un programa el cual
se encuentra almacenado en una memoria conectada al procesador.
- Este hardware
esta diseñado para dar soporte al procesamiento secuencial clásico, basado en
el intercambio de datos entre memoria y registros del procesador, y la
realización de operaciones aritméticas en ellos.
- Algunas
máquinas secuenciales “modernas” no corresponden estrictamente al modelo
SISD.
- A partir de la
introducción de los procesadores RISC se comenzó a utilizar varios conceptos de
las arquitecturas paralelas, como pipelining, ejecución paralela de
instrucciones no dependientes, prefetching de los datos, etc., para lograr un
incremento en la cantidad de operaciones por ciclo de instrucción.
SIMD
Cuyas siglas
significa Single Instruction, Multiple Data.
Se lo conoce como un arreglo de procesadores.
A diferencia de SISD, en este caso se tienen múltiples procesadores que
sincronizadamente ejecutan la misma secuencia de instrucciones, pero en
diferentes datos. El tipo de memoria que estos sistemas utilizan es
distribuida.
Características
• Estos sistemas tienen un único flujo de instrucciones que operan sobre
múltiples flujos de datos. Como por ejemplo:
- Máquinas vectoriales con hardware escalar.
- Maquinas vectoriales con hardware vectorial.
• El procesamiento es sincrónico
• La ejecución de las instrucciones sigue siendo secuencial, es decir que todos
los elementos realizan una misma instrucción pero sobre una gran cantidad de
datos. Por este motivo existirá concurrencia de operación, es decir es el
origen de la máquina paralela.
• Diferentes elementos de información son asignados a cada procesador.
• Utiliza memoria distribuida.
• Tiene una sola unidad de control y y múltiples unidades funcionales. La
unidad de control se encarga de enviar la misma instrucción a todas las
unidades funcionales.
Cada unidad funcional trabaja sobre datos diferentes. Estos equipos son de
propósito específico, es decir, son apropiados para ciertas aplicaciones
particulares, como por ejemplo el procesamiento de imágenes.
MISD
Varias unidades
funcionales ejecutan diferentes operaciones sobre el mismo conjunto de datos.
• Las
arquitecturas de tipo pipeline pertenecen a esta clasificación aunque no
puramente, ya que pueden modificar los datos sobre los que operan.
•Modelo de
múltiple instrucción, un solo dato (MISD, del inglés Multiple Instruction
Single Data).
•Modelo teórico
de una maquina que realiza un número de operaciones diferentes con el mismo dato.
• También
pertenecen los computadoras tolerantes a fallos que utilizan ejecución
redundante para detectar y enmascarar errores.
• No existen
otras implementaciones específicas.
• Los modelos
MIMD y SIMD son más apropiados para la aplicación del paralelismo tanto a nivel
de datos como de control.
MIMD
Cuyas siglas
significa Multiple Instruction, Multiple Data.
Es un sistema con un flujo de múltiples instrucciones que operan sobre
múltiples datos.
Estos sistemas empezaron a utilizarse a principios de los 80.
Se las conoce como múltiples computadoras y multiprocesadores. Se puede decir
que MIMD es un súper conjunto de SIMD.
Características
- Son sistemas
con memoria compartida que permite ejecutar varios procesos simultáneamente
(sistema multiprocesador)
- La diferencia
con estos sistemas es que MIMD es asíncrono.
- No tiene un
reloj central.
- Cuando las
unidades de proceso reciben datos de una memoria no compartida estos sistemas
reciben el nombre de Múltiple SISD (MSISD).
- Los
procesadores pueden ejecutar la misma o instrucción o diferentes instrucciones
y tener sus propios datos
- Diferentes elementos
de información se asignan a diferentes procesadores
- Pueden tener
memoria distribuida o compartida.
- Cada procesador
MIMD corre casi independientemente de los otros.
- Pueden ser
utilizadas en aplicaciones con información en paralelo o con tareas en paralelo.
- Cada procesador
tiene su propia unidad de control y su propia unidad funcional.
Los sistemas
MIMD se clasifican en:
- Sistemas de
Memoria Compartida.
- Sistemas de
Memoria Distribuida.
- Sistemas de
Memoria Compartida Distribuida.
Sistemas de Memoria Compartida.
En este tipo de sistemas cada procesador tiene acceso a toda la memoria, es
decir hay un espacio de direccionamiento compartido.
Las computadoras MIMD con memoria compartida son sistemas conocidos como de
multiprocesamiento simétrico (SMP) donde múltiples procesadores comparten un
mismo sistema operativo y memoria.
Ejemplos son:
SGI/Cray Power Challenge, SGI/Cray C90, SGI/Onyx, ENCORE, MULTIMAX, SEQUENT y
BALANCE, entre otras.
Multiprocesador
Un
multiprocesador puede verse como un computador paralelo compuesto por varios
procesadores interconectados que comparten un mismo sistema de memoria.
Los sistemas multiprocesadores son arquitecturas MIMD con memoria compartida.
Tienen un único espacio de direcciones para todos los procesadores y los
mecanismos de comunicación se basan en el paso de mensajes desde el punto de
vista del programador.
Dado que los multiprocesadores comparten diferentes módulos de memoria,
pudiendo acceder a un mismo módulo varios procesadores, a los multiprocesadores
también se les llama sistemas de memoria compartida.
Arquitectura
del procesador AMD Opteron Quad Core
Las características
principales a nivel de arquitectura de estos procesadores son: 4 núcleos
independientes (con frecuencia variable e independiente en cada núcleo). Cache
L1 + L2 (512 KB) independientes en cada núcleo. Cache L3 de 6 MB compartida
entre los 4 núcleos. Controladora de memoria DDR2 independiente del bus
principal para un acceso más rápido a la memoria principal. Sistema Hyper
Transport que sustituye a los buses antiguos y permite la conexión de hasta 3
dispositivos con un mayor ancho de banda (hasta 8GB/s). Se puede observar que,
aunque la memoria cache de nivel 1 y 2 son independientes en cada procesador,
la memoria cache de nivel 3 ya aparece como compartida, como una manera de
reducir la latencia de la memoria compartida principal.
Procesador
Vectorial
El cálculo de
cada resultado es independiente de los cálculos de los resultados anteriores,
permitiendo un gran nivel de segmentación sin generar ningún riesgo por
dependencia de datos. Los riesgos por dependencias de datos los ha resuelto el
compilador o el programador que ha decidido que sea una operación vectorial.
Una simple
instrucción vectorial especifica una gran cantidad de trabajo (equivalente a
ejecutar un bucle completo). El requerimiento de anchura de banda de las
instrucciones es reducido y el cuello de botella de Flynn se reduce
considerablemente.
Las
instrucciones vectoriales que acceden a memoria tienen un patrón de acceso
conocido. Si los elementos del vector son todos adyacentes, extraer el vector
de un conjunto de bancos de memoria entrelazados funciona muy bien. Además se
obtiene un alto rendimiento en la jerarquía de memoria.
Como se
sustituye un bucle completo por una instrucción vectorial cuyo comportamiento
está predeterminado, los riesgos de control que normalmente podían surgir del salto
del bucle son inexistentes.
Por todas las
razones anteriores, las operaciones vectoriales pueden hacerse más rápidas que
una secuencia de operaciones escalares sobre el mismo número de elementos de
datos.
Hay dos tipos
principales de arquitecturas vectoriales:
- Máquina
vectorial con registros: Responden al modelo de ejecución registro– registro
(excepto en las operaciones de carga y almacenamiento) c Son el equivalente
vectorial de una arquitectura escalar de carga / almacenamiento. Son las que han
tenido mayor éxito, por necesitar menor ancho de banda que las de memoria –
memoria. De este tipo son: las máquinas de Cray Research (CRAY-1, CRAY-2, X-MP
e Y-MP), los supercomputadoras japoneses (NEC SX/2, Fujitsu VP200 y el Hitachi
S820) y los minisupercomputadoras (Convex C-1 y C-2).
- Máquina
vectorial memoria – memoria: Responden
al modelo de ejecución memoria – memoria. Las primeras máquinas vectoriales
fueron de este tipo (las máquinas de CDC). No han tenido éxito (Demasiado gasto
de tiempo en el arranque).
Arreglo
Sistolico
Un arreglo
sistólico es un conjunto de procesadores dispuestos de una manera regular (por
lo general rectangular) donde los datos fluyen sincrónicamente a través del
arreglo entre sus vecinos.
Cada procesador
toma en cada paso toma datos de sus vecinos (por lo general Norte y Oeste), los
procesa y se los entrega a sus procesadores vecinos (por lo general Sur y
Este).
Ejemplos: procesamiento digital de señales,
procesamiento digital de
imágenes,
multiplicación de
matrices,
evaluación de polinomios
etc.
Rápidos en
estas operaciones, sin embargo están limitados a estas aplicaciones, para otras
operaciones no son prácticos.
Multicomputadoras
La característica más importante de estos
sistemas es que tienen la memoria distribuida. Esta arquitectura también es
conocida como arquitectura basada en el paso de mensajes, ya que los procesos
deben realizar comunicaciones (mensajes) a través de la red de interconexión
para poder compartir datos. Estas máquinas, por consiguiente, no están
limitadas por el ancho de banda de memoria, sino más bien por el de la red de
interconexión.
Son sistemas
grandes, en comparación con un sistema CMP, pero que no suelen tener un número
muy elevado de CPU debido al coste económico que supondría mantener una red de
interconexión de altas prestaciones. En general, son sistemas difícilmente
escalables. Las características principales de los sistemas MPP son:
- Hardware
específico para el desarrollo de algun proceso concreto.
- La red de
interconexión que incorporan es propietaria, especialmente diseñada, con muy
baja latencia y un ancho de banda elevado.
- Suelen venir
con software propietario y librerías para gestionar la comunicación.
- Tienen una capacidad de almacenamiento de
entrada/salida elevada, ya que se suelen utilizar para trabajar con grandes
volúmenes de datos que se han de procesar y almacenar.
- Tienen mecanismos de tolerancia de fallos
del hardware.
Fuentes consultadas:
- Multiprocesadores y multicomputadores. Disponible en: https://www.exabyteinformatica.com/uoc/Informatica/Arquitecturas_de_computadores_avanzadas/Arquitecturas_de_computadores_avanzadas_(Modulo_2).pdf
- Computadores vectoriales. Disponible en: http://www.uhu.es/josem.bravo/AeIC/Tema4.pdf
- Sistemas multiprocesadores. Disponible en: http://m0640064.blogspot.mx/2009/07/sistemas-multiprocesadores-un.html
- Computacion de alta performance. Disponible en: http://www.fing.edu.uy/inco/cursos/hpc/material/clases/Clase2-2010.pdf
- SISD, SIMD, MIMD. Disponible en: http://arqordenadores.wiki-site.com/index.php/SISD,_SIMD,_MIMD