Está en la página 1de 8

Taxonoma de las arquitecturas 1 Introduccin Introduccin En este trabajo se explican en detalle las dos clasificaciones de computadores ms conocidas en la actualidad.

. La primera clasificacin, es la clasificacin clsica de Flynn en dnde se tienen en cuenta sistemas con uno o varios procesadores. La segunda clasificacin es una clasificacin moderna en la que slo tienen en cuenta los sistemas con ms de un procesador. 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 cules son las ventajas e inconvenientes que cada uno ostenta. Clasificacin de Flynn Clasificacin clsica de arquitectura de computadores que hace alusin a sistemas con uno o varios procesadores. Flynn la public por primera vez en 1966 y por segunda vez en 1970. Esta taxonoma se basa en el flujo que siguen los datos dentro de la mquina 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 categoras: 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 instruccin detrs de otra. Este es el concepto de arquitectura serie de Von Neumann donde, en cualquier momento, slo se ejecuta una nica instruccin. Un ejemplo de estos sistemas son las mquinas secuenciales convencionales. SIMD (Single Instruction stream, Multiple Data stream) Estos sistemas tienen un nico flujo de instrucciones que operan sobre mltiples flujos de datos. Ejemplos de estos sistemas los tenemos en las mquinas vectoriales con hardware escalar y vectorial. El procesamiento es sncrono, la ejecucin de las instrucciones sigue siendo secuencial como en el caso anterior, todos los elementos realizan una misma instruccin pero sobre una gran cantidad de datos. Por este motivo existir concurrencia de operacin, es decir, esta clasificacin es el origen de la mquina paralela. El funcionamiento de este tipo de sistemas es el siguiente. La Unidad de Control manda una misma instruccin a todas las unidades de proceso (ALUs). Las unidades de proceso operan sobre datos diferentes pero con la misma instruccin recibida.

Existen dos alternativas distintas que aparecen despus de realizarse esta clasificacin: Arquitectura Vectorial con segmentacin: Una CPU nica particionada en unidades funcionales independientes trabajando sobre flujos de datos concretos Arquitectura Matricial (matriz de procesadores): Varias ALUs idnticas a las que el procesador de instrucciones asigna una nica instruccin pero trabajando sobre diferentes partes del programa. SIMD CON CPU PARTICIONADA En este tipo de sistemas, la CPU se disea como un conjunto de unidades funcionales independientes que ejecutan simultneamente varias operaciones aritmtico/lgicas. 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 ejecucin de las instrucciones previas. Ejemplos de este tipo de sistemas los encontramos en los computadores CRAY monoprocesador, CYBER 205, FUJITSU, HITACHE, NEC SUPERCOMPUTERS, IBM 390 VF, IBM 9000 VF, ALLIANT FX/1 Y CONVEX C1. SIMD CON MULTIPLES ALUS Estos sistemas trabajan en modo lock step, ejecutando o ignorando una misma instruccin 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 aritmtico/lgicas. 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 operacin 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 ejecucin hasta que estn procesados todos los valores de I. En el caso de que haya ms ALUs que iteraciones, existir un nmero de estas que no estn operativas durante la ejecucin de las instrucciones del bucle. Una ALU inactiva o en OFF significa que: La ALU recibe instrucciones pero las ignora La ALU ejecuta clculos pero no almacena ningn resultado. 2

MISD (Multiple Instruction stream, Single Data stream) Sistemas con mltiples instrucciones que operan sobre un nico flujo de datos. Este tipo de sistemas no ha tenido implementacin hasta hace poco tiempo. Los sistemas MISD se contemplan de dos maneras distintas: Varias instrucciones operando simultneamente 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 sistlicos o arrays de procesadores. Tambin podemos encontrar aplicaciones de redes neuronales en mquinas masivamente paralelas. MIMD (Multiple Instruction stream, Multiple Data stream) Sistemas con un flujo de mltiples instrucciones que operan sobre mltiples datos. Estos sistemas empezaron a utilizarse a principios de los 80. Son sistemas con memoria compartida que permiten ejecutar varios procesos simultneamente (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 mquinas paralelas actuales. Categoras de Ordenadores Paralelos Clasificacin moderna que hace alusin nica y exclusivamente a los sistemas que tienen ms de un procesador (i.e mquinas 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 dbilmente acoplados son aquellos en los que existe poca interaccin entre los diferentes procesadores que forman el sistema. Atendiendo a esta y a otras caractersticas, la clasificacin moderna divide a los sistemas en dos tipos: Sistemas multiprocesador (fuertemente acoplados) y sistemas multicomputador (dbilmente 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 comunicacin se basan en el paso de mensajes desde el punto de vista del programador.

Dado que los multiprocesadores comparten diferentes mdulos de memoria, pudiendo acceder a un mismo mdulo varios procesadores, a los multiprocesadores tambin 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 fsica es uniformemente 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 tambin se comparten los perifricos. Los multiprocesadores son sistemas fuertemente acoplados (tightlycoupled), dado el alto grado de comparticin de los recursos (hardware o software) y el alto nivel de interaccin entre procesadores, lo que hace que un procesador dependa de lo que hace otro. El sistema de interconexin debe ser rpido y puede ser de uno de los siguientes tipos: Bus comn Red crossbar Red multietapa Este modelo es conveniente para aplicaciones de propsito general y de tiempo compartido por varios usuarios. Existen varias categoras de sistemas UMA. Sistema Simtrico Cuando todos los procesadores tienen el mismo tiempo de acceso a todos los componentes del sistema (incluidos los perifricos), reciben el nombre de sistemas multiprocesador simtrico. Los procesadores tienen el mismo dominio (prioridad) sobre los perifricos y cada procesador tienen la misma capacidad para procesar. Sistema Asimtrico Los sistemas multiprocesador asimtrico, son sistemas con procesadores maestros y procesadores esclavos, en donde slo los primeros pueden ejecutar aplicaciones y dnde en tiempo de acceso para diferentes procesadores no es el mismo. Los procesadores esclavos (attached) ejecutan cdigo usuario bajo la supervisin del maestro, por lo tanto cuando una aplicacin 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 el tiempo de acceso vara segn 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 ms rpida que a las memorias de otros procesadores, debido a que primero debe aceptarse dicho acceso por el 4

procesador del que depende el mdulo de memoria local. Todas las memorias locales conforman la memoria global compartida y fsicamente distribuida y accesible por todos los procesadores. Cluster Jerrquico Otro modelo NUMA que nace como la mezcla del modelo UMA explicado anteriormente y el modelo NUMA anterior, es el cluster jerrquico 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 estn 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 ms rpido. 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 cachs, por este motivo es un sistema muy restringido en cuanto a la capacidad de memoria global. No hay jerarqua de memoria en cada mdulo procesador. Todas las cachs forman un mismo espacio global de direcciones. El acceso a las cachs remotas se realiza a travs de los directorios distribuidos de las cachs. Dependiendo de la red de interconexin utilizada, se pueden utilizar jerarquas en los directorios para ayudar a la localizacin 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 travs de paso de mensajes, ya que stos slo 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 interconexin no permite un acceso directo entre memorias, sino que la comunicacin se realiza por paso de mensajes. La transferencia de los datos se realiza a travs de la red de interconexin que conecta un suconjunto de procesadores con otro subconjunto. La transferencia de unos procesadores a otros se realiza por tanto por mltiples 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 dbilmente acoplados, ya que los mdulos funcionan de forma casi independiente unos de otros.

3 1

También podría gustarte