Gracias por pasar por mi blog. Aquí les dejare información importante sobre la TAXONOMÍA DE COMPUTADORES.
INTRODUCCIÓN
El objetivo de este trabajo es presentar de una forma clara los tipos de sistemas que existen en la actualidad desde el punto de vista de distintos autores, así como cuáles son las ventajas e inconvenientes que cada uno.
- CLASIFICACIÓN DE FLYNN
Clasificación clásica de arquitectura de computadores que hace alusión a
sistemas con uno o varios procesadores. Flynn la publicó por primera vez en
1966 y por segunda vez en 1970.
Esta taxonomía se basa en el flujo que siguen los datos dentro de la máquina y de
las instrucciones sobre esos datos.
Se define como flujo de instrucciones al conjunto de instrucciones secuenciales
que son ejecutadas por un único procesador y como flujo de datos al flujo
secuencial de datos requeridos por el flujo de instrucciones.
Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías:
- SISD (SINGLE INSTRUCTION STREAM, SINGLE DATA STREAM)
Los sistemas de este tipo se caracterizan por tener un único flujo de
instrucciones sobre un único flujo de datos, es decir, se ejecuta una
instrucción detrás de otra. Este es el concepto de arquitectura serie de Von
Neumann donde, en cualquier momento, sólo se ejecuta una única instrucción.Un
ejemplo de estos sistemas son las máquinas secuenciales convencionales.
- SIMD (SINGLE INSTRUCTION STREAM, MULTIPLE DATA STREAM)
Estos sistemas tienen un único flujo de instrucciones que operan sobre
múltiples flujos de datos. Ejemplos de estos sistemas los tenemos en las
máquinas vectoriales con hardware escalar y vectorial.
El procesamiento es síncrono, la ejecución de las instrucciones sigue siendo
secuencial como en el caso anterior, 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, esta clasificación es el origen de la
máquina paralela.
El funcionamiento de este tipo de sistemas es el siguiente. La Unidad de
Control manda una misma instrucción a todas las unidades de proceso (ALUs). Las
unidades de proceso operan sobre datos diferentes pero con la misma instrucción
recibida.
Existen dos alternativas distintas que aparecen después de realizarse esta
clasificación:
ARQUITECTURA VECTORIAL CON SEGMENTACIÓN:
Una CPU única particionada en unidades funcionales independientes trabajando
sobre flujos de datos concretos.
- ARQUITECTURA MATRICIAL (MATRIZ DE PROCESADORES):
Varias ALUs idénticas a las que el procesador de instrucciones asigna una única
instrucción pero trabajando sobre diferentes partes del programa.
- SIMD CON CPU PARTICIONADA
En este tipo de sistemas, la CPU se diseña como un conjunto de unidades
funcionales independientes que ejecutan simultáneamente varias operaciones
aritmético/lógicas.
La CPU contiene un único procesador con instrucciones que procesa un único
flujo de estas liberando cada instante una. Debido a que las unidades
funcionales operan independientemente, es posible liberar nuevas instrucciones
antes de que finalice la ejecución de las instrucciones previas.
Ejemplos de este tipo de sistemas los encontramos en los computadores CRAY mono
procesador, CYBER 205, FUJITSU, HITACHE, NEC SUPERCOMPUTERS, IBM 390 VF, IBM
9000 VF, ALLIANT FX/1 Y CONVEX C-1.
- SIMD CON MULTIPLES ALUS
Estos sistemas trabajan en modo lock step, ejecutando o ignorando una misma
instrucción para todas las ALUs. Existe un único procesador que maneja el flujo
de instrucciones del programa y que transfiere todas las instrucciones a las
diferentes unidades aritmético/lógicas.
Cada ALU opera sobre un segmento diferente de datos del programa.
Ejemplo de funcionamiento del sistema con el siguiente bucle:
- DO 2000 I=1,N
- A(I) = B(I) + C(I)
- 2000 CONTINUE
El procesador asigna a cada ALU la operación de suma de B(I) con C(I) y siendo
el almacenamiento del resultado en A(I) pero pasando a cada ALU un valor
diferente de I.
En el caso de que haya menos ALUs que iteraciones del bucle, el procesador
ordenará la ejecución hasta que estén procesados todos los valores de I.
En el caso de que haya más ALUs que iteraciones, existirá un número de estas
que no estén operativas durante la ejecución de las instrucciones del bucle.
Una ALU inactiva o en OFF significa que:
- La ALU recibe instrucciones pero las ignora.
- La ALU ejecuta cálculos pero no almacena ningún resultado.
- MISD (MULTIPLE INSTRUCTION STREAM, SINGLE DATA STREAM)
Sistemas con múltiples instrucciones que operan sobre un único flujo de datos.
Este tipo de sistemas no ha tenido implementación hasta hace poco tiempo.
Los sistemas MISD se contemplan de dos maneras distintas:
Varias instrucciones operando simultáneamente sobre un único dato.
Varias instrucciones operando sobre un dato que se va convirtiendo en un
resultado que será la entrada para la siguiente etapa. Se trabaja de forma
segmentada, todas las unidades de proceso pueden trabajar de forma concurrente.
Ejemplos de estos tipos de sistemas son los arrays sistólicos o arrays de
procesadores. También podemos encontrar aplicaciones de redes neuronales en
máquinas masivamente paralelas.
- MIMD (Multiple Instruction stream, Multiple Data stream)
Sistemas con un flujo de múltiples instrucciones que operan sobre múltiples
datos. Estos sistemas empezaron a utilizarse a principios de los 80.
Son sistemas con memoria compartida que permiten ejecutar varios procesos
simultáneamente (sistema multiprocesador).
Cuando las unidades de proceso reciben datos de una memoria no compartida estos
sistemas reciben el nombre de MULTIPLE SISD (MSISD).
En arquitecturas con varias unidades de control (MISD Y MIMD), existe otro
nivel superior con una unidad de control que se encarga de controlar todas las
unidades de control del sistema.
Ejemplo de estos sistemas son las máquinas paralelas actuales.
CATEGORÍAS DE ORDENADORES PARALELOS
Clasificación moderna que hace alusión única y exclusivamente a los sistemas
que tienen más de un procesador (i.e máquinas paralelas).
Existen dos tipos de sistemas teniendo en cuenta su acoplamiento. Los sistemas
fuertemente acoplados son aquellos en los que los procesadores dependen unos de
otros. Los sistemas débilmente acoplados son aquellos en los que existe poca
interacción entre los diferentes procesadores que forman el sistema.
Atendiendo a esta y a otras características, la clasificación moderna divide a
los sistemas en dos tipos: Sistemas multiprocesador (fuertemente acoplados) y
sistemas multicomputador (débilmente acoplados).
- MULTIPROCESADORES
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.
Dependiendo de la forma en que los procesadores comparten la memoria, se
clasifican en sistemas multiprocesador UMA, NUMA y COMA.
- UMA (UNIFORM MEMORY ACCESS)
Sistema multiprocesador con acceso uniforme a memoria. La memoria física
esuniformemente compartida por todos los procesadores, esto quiere decir que
todos los procesadores tienen el mismo tiempo de acceso a todas las palabras de
la memoria. Cada procesador tiene su propia caché privada y también se
comparten los periféricos.
Los multiprocesadores son sistemasfuertemente acoplados (tightly-coupled), dado
el alto grado de compartición de los recursos (hardware o software) y el alto
nivel de interacción entre procesadores, lo que hace que un procesador dependa
de lo que hace otro.
El sistema de interconexión debe ser rápido y puede ser de uno de los
siguientes tipos:
- Bus común
- Red crossbar
- Red multietapa
este modelos se conveniente paraaplicaciones de propósito general y detiempo
compartido por varios usuarios.
Existen varias categorías de sistemas UMA.
- SISTEMA SIMÉTRICO
Cuando todos los procesadores tienen elmismo tiempo de acceso a todos los
componentes del sistema (incluidos los periféricos), reciben el nombre
desistemas multiprocesador simétrico.
Los procesadores tienen el mismo dominio (prioridad) sobre los periféricos y
cada procesador tienen la misma capacidad para procesar.
- SISTEMA ASIMÉTRICO
Los sistemas multiprocesador asimétrico, son sistemas con procesadores maestros
y procesadores esclavos, en donde sólo los primeros pueden ejecutar
aplicaciones y dónde en tiempo de acceso para diferentes procesadores no es el
mismo. Los procesadores esclavos (attached) ejecutan código usuario bajo la
supervisión del maestro, por lo tanto cuando una aplicación es ejecutada en un
procesador maestro dispondrá de una cierta prioridad.
- NUMA (Non Uniform Memory Access)
Un sistema multiprocesador NUMA es un sistema de memoria
compartida donde eltiempo de acceso varía según donde se encuentre localizado
el acceso.
El acceso a memoria, por tanto, no es uniforme para
diferentes procesadores. Existen memorias locales asociadas a cada procesador y
estos pueden acceder a datos de su memoria local de una manera más rápida que a
las memorias de otros procesadores, debido a que primero debe aceptarse dicho
acceso por el procesador del que depende el módulo de memoria local.
Todas las memorias locales conforman la memoria global
compartida y físicamente distribuida y accesible por todos los procesadores.
- CLUSTER JERÁRQUICO
Otro modelo NUMA que nace como la mezcla del modelo UMA
explicado anteriormente y el modelo NUMA anterior, es el cluster jerárquico en
el que se combinan las memorias locales y las globales obteniendo una cierta
escalabilidad del sistema.
Los procesadores aparecen distribuidos en clusters (1
sistema UMA o un 1 sistema NUMA). Estos clusters están conectados a la memoria
global compartida. El sistema en su totalidad es un sistema NUMA, ya que el
acceso a memoria es no uniforme por parte de los clusters.
La ventaja de estos sistemas con respecto a los sistemas
UMA, es que el acceso a memoria local es mucho más rápido.
- COMA (Cache Only Memory Access)
Los sistemas COMA son un caso especial de los sistemas NUMA.
Este tipo de sistemas no ha tenido mucha transcendencia, al igual que los
sistemas SIMD.
Las memorias distribuidas son memorias cachés, por este
motivo es un sistema muy restringido en cuanto a la capacidad de memoria
global. No hay jerarquía de memoria en cada módulo procesador. Todas las cachés
forman un mismo espacio global de direcciones. El acceso a las cachés remotas
se realiza a través de los directorios distribuidos de las cachés.
Dependiendo de la red de interconexión utilizada, se pueden
utilizar jerarquías en los directorios para ayudar a la localización de copias
de bloques de caché.
MULTICOMPUTADORES
Los sistemas multicomputadores se pueden ver como un
computador paralelo en el cual cada procesador tiene su propia memoria local.
En estos sistemas la memoria se encuentra distribuida y no compartida como en
los sistemas multiprocesador. Los computadores se comunican a través de paso de
mensajes, ya que éstos sólo tienen acceso directo a su memoria local y no al
las memorias del resto de procesadores.
El diagrama de bloques de un sistema multicomputador
coincide con el visto para los sistemas UMA, la diferencia viene dada porque la
red de interconexión no permite un acceso directo entre memorias, sino que la
comunicación se realiza por paso de mensajes.
La transferencia de los datos se realiza a través de la red
de interconexión que conecta un suconjunto de procesadores con otro
subconjunto. La transferencia de unos procesadores a otros se realiza por tanto
por múltiples transferencias entre procesadores conectados dependiendo del
establecimiento de dicha red.
Dado que la memoria está distribuida entre los diferentes
elementos de proceso, estos sistemas reciben el nombre de distribuidos.
Por otra parte, estos sistemas son débilmente acoplados, ya
que los módulos funcionan de forma casi independiente unos de otros.
FIN DEL BLOG.... ESPERO QUE TE HAYA SIDO DE MUCHA AYUDA
DEJEN SUS COMENTARIOS :3





excelente Tema :D ahi comenta en mi blog
ResponderEliminarGracias :3
EliminarSi claro, lo are en un tiempo libre que tenga xD
heh heh...me dio weva leer todo...
ResponderEliminarEs importante leer
Eliminary luego analizar para comprender muchas cosas sobre el tema,
jajajaja xD
buen tema
ResponderEliminarmuy interesante la info...
ResponderEliminarJajaja Calidad (y)
ResponderEliminarGracias por sus comentarios :3 se les aprecia xD
ResponderEliminarEso me motiva para realizar otro blog :3
o dejen sus comentarios de que quieren q hable y lo subo siempre esten al pendiente...