You are on page 1of 6

INTRODUCCIN AL PROCESAMIENTO PARALELO

GIAO. GRUPO DE INVESTIGACIN DE APRENDIZAJE ORGANIZACIONAL Autor: Omar Francisco Rodrguez A. Grupo GIAO

n la actualidad, en el mundo de la informtica y los computadores, es cada vez ms comn observar cmo se tiende a potenciar el tamao y complejidad del procesamiento. Tenemos entonces mquinas capaces de realizar clculos ms sofisticados y difciles, adems con capacidades de acople e interaccin con el mundo externo antes no vistos. Para lograr estos avances, por un lado se han mejorado aspectos fsicos, estructurales y funcionales, y por otro se han sofisticado los lenguajes de programacin que hacen posible programas con creciente utilizacin de recursos y beneficios de las nuevas computadoras. Mirando el primer aspecto de mejora, el procesador, que es el principal actuador de este ensamblaje, ha tenido cambios sustanciales como por ejemplo: Se ampli la capacidad del bus: esto conllev a ampliar el tamao de sus registros internos, y de su ALU.

Se ampli el conjunto de instrucciones de los procesadores, permitiendo encapsular funciones y economizar ciclos de reloj por operacin.

Se aument la frecuencia del reloj, lo que permite mayor velocidad de procesamiento.

Independientemente del tipo de mquina, ya sea procesador o microprocesador, CISC o RISC, por la competencia tecnolgica y el mercado, estas caractersticas de manera similar fueron mejoradas por los diferentes fabricantes. Sobre este aspecto cabe anotar que acorde al paso del tiempo, las funciones y caractersticas que en el pasado tenan mquinas consideradas como potentes y especiales, para uso solo empresarial o para precisos clculos cientficos, ahora estn incorporadas en las que se consideran de uso masivo. Adems, como algo importante, las distancias firmemente definidas entre mquinas para gran procesamiento y mquinas para PC's tienden a desaparecer. Tambin los costos relacionados tanto por valor en bruto como por la relacin entre el valor y las funciones que se

Se ampli la capacidad de manejo de memoria.

Se introdujeron funciones como segmentacin, memoria virtual y otras que no existan.

INTRODUCCIN AL PROCESAMIENTO PARALELO

adquieren en la compra1, han disminuido de manera notoria. Si comparamos lo que hoy hace un procesador frente a la capacidad de los primeros, los costos decrecieron y no con relacin lineal. Otro aspecto se observa en el software. Conceptos como multitarea, multiprocesamiento, etc., que eran exclusivos de sistemas corporativos y de redes, ya se tienen en la casa, o en la oficina sin costo adicional, es ms, el usuario tiene la opcin de activar funciones complejas si es su deseo o necesidad. Todo ya viene inmerso en el mismo programa.

familia por ser de gran difusin en los equipos comerciales comunes de una mquina para uso domstico y adems muchos laboratorios de informtica en universidades del pas tienen redes con Pc's, y hasta en centros de informtica en empresas o centros acadmicos. Se puede comparar el caso de la frecuencia del reloj. Se ha logrado aumentar haciendo posible que estas mquinas sobrepasen lmites de velocidad antes no previstos. Esta velocidad se observa o se anuncia en el reloj del sistema (y se presenta en Mhz), por lo que al adquirir un nuevo equipo, es lo primero que promociona el vendedor. Por ejemplo, tenemos

Ao 1971 1972 1974 1978 1979 1982 1982 1985 1989 1993 1995 1997 2001

Nombre 4004 8008 8080 8086 8088 80186 80286 80386 80486 Pentium Pentium pro Pentium II Itanium

Tamao del Longitud del Capacidad de Frecuencia registro bus de datos direccionamiento del reloj 4 bits 8 bits 8 bits 16 bits 16 bits 16 bits 16 bits 32 bits 32 bits 32 bits 64 bits 64 bits 64 bits 4 bits 8 bits 8 bits 16 bits 8 bits 16 bits 16 bits 32 bits 32 bits 32 bits 64 bits 64 bits 64 bits 640 bytes 16 Kbytes 64 Kbytes 1 Mbyte 1 Mbyte 1 Mbyte 16 Mbytes 4 Gbytes 4 Gbytes 4 Gbytes 64 Gbytes 64 Gbytes 16 Tbytes 108 Khz 108 Khz 2 Mhz mx 5-10 Mhz 5-8 Mhz 8-10 Mhz 6 y 12.5 Mhz 16-33 Mhz 25-50 Mhz 60-166 Mhz 150-200 Mhz 200-300 Mhz 700-800 Mhz

Tabla 1. Familia de procesadores Intel


Nota: K= kilo (2'). M= mega (220), G= giga (230), T=tera (2)

Un ejemplo representativo de estas mejoras relacionadas con el ao de comercializacin, puede verse resumido en la tabla 1 en la que se compara, para la familia Intel, diferentes microprocesadores. Se escogi esta
1

microprocesadores hoy de 2.53 Ghz o 2.53X109 Hertz (pentium 4). La disminucin de tiempo de procesamiento es un problema al que se le han dedicado esfuerzos y su anlisis es el tema principal de este escrito. El principal concepto que ilumina estos logros tecnolgicos es el poder disminuir tiempos de acceso y tiempos
INGENIERA PARA EL NUEVO MILENIO, Octubre de 2002

Para mayor amplitud del tema de costos puede consultarse a: Hennesey-Patterson. Arquitectura de computadores un enfoque cuantitativo. Me Graw Hill, pp 3-24.

OMAR FRANCISCO RODRGUEZ A

de procesamiento con base en la capacidad del propio procesador, es decir tener mquinas ms rpidas haciendo ms veloz el hardware. Desde la ptica de la Fsica, se pueden analizar algunas limitantes que podran condicionar el crecimiento de tales velocidades. Se sabe hasta hoy, que la velocidad mxima alcanzada es la velocidad de la luz en el vaco:

De otra forma este problema se soluciona trabajando no con una sola CPU de alta velocidad, sino por ejemplo usando varias ALU, o varias CPU ms lentas y baratas, en una composicin que se ha denominado mquina paralela.

CONCEPTO DE PARALELISMO
Flynn2 propuso una taxonoma que clasifica en tres categoras las mquinas paralelas: SISD: flujo nico instrucciones, flujo nico de datos.

O de otra manera:

(1)

de

(2)

SIMD: flujo nico de instrucciones, flujos mltiples de datos. MIMD: flujos mltiples de instrucciones, flujos mltiples de datos.

Para la propagacin en el Cobre, que es el componente ideal para fabricar los alambres de conexin elctrica entre circuitos tenemos: (3)

Entonces si queremos tener una computadora con tiempo de instruccin de 1 nseg, los datos debern tener un recorrido total mximo de 20 cm. Esto se ha logrado construyendo mquinas cada vez ms pequeas. Esta disminucin de tamao trae otra implicacin: a mayor velocidad (que es lo mismo que mayor frecuencia de trabajo), se produce mayor potencia y la conversin de sta es calor, por lo que se requiere mayor rea de disipacin o inclusive imponer condiciones especiales de refrigeracin como radiadores, ventiladores, o sustancias especiales.
GIAO.

Se considera el proceso de computacin bsicamente como la ejecucin de una secuencia de instrucciones sobre un conjunto de datos, por lo que es el tratamiento instruccin-dato lo que determina la arquitectura que se debe implementar. SISD: la mquina tradicional de Von Neumann, corresponde a este tipo de categora, ya que tena un programa ejecutado por una CPU con una memoria que contiene sus datos. Entonces, la primer instruccin se extrae de memoria, se ejecuta y luego se extrae la segunda instruccin y as se va desarrollando el proceso.

Esta taxonoma se public de manera completa por primera vez en: M. J. Flynn. "Some Computer Organizations and their effectiveness," IEEE Transactions on Computers, C-21(9):948-960, September 1972.

GRUPO DE INVESTIGACIN EN APRENDIZAJE ORGANIZACIONAL

INTRODUCCIN AL PROCESAMIENTO PARALELO

Este modelo se ve secuencial, pero se logra paralelismo cuando se extrae e inicializa la siguiente instruccin antes de terminar la ejecucin de la que est en curso. Esto se logra estableciendo unidades funcionales mltiples y especializadas, para que cada una realice una operacin sencilla a alta velocidad. Por ejemplo, un ALU que sume, otro que efecte la resta, otro para la multiplicacin, etc. Un ejemplo de este modelo se representa en la figura 1. Esta arquitectura conviene para operaciones de punto flotante, ya que son operaciones lentas y complejas pues en general, el tiempo para realizar una operacin es mayor que el que toma en extraer una instruccin. Para esta idea existe una variante que consiste en separar en partes la ejecucin de cada instruccin, como en una lnea de ensamble. Segn esto se tienen varias unidades de procesamiento, y durante el primer intervalo de tiempo se est en la primer unidad de procesamiento un tiempo despus, la primer instruccin pasa a la segunda unidad de procesamiento, y una nueva instruccin cae a la primer unidad. As de manera sucesiva. Este sistema se conoce como procesamiento entubado, o procesamiento en lnea (Pipeline). Se ilustrar el uso del procesamiento pipeline segn el manual tcnico del procesador pentium de Intel3:

Figura 1. Una CPU con cuatro unidades funcionales

THE PENTIUM PROCESSOR


The Pentium processor is an advanced superscalarprocessor. It is built around two general purpose integer pipelines and a pipelined floating-point unit. The Pentium processor can execute two integer instructions simultaneously. A software-transparent dynamic branchprediction mechanism minimizes pipeline stalls due to branches. Integer Pipelines The Pentium processor has two parallel integer pipelines as shown in Figure 2-1. The main pipe (U) has five stages: prefetch (PF), Decode stage 1 (D1), Decode stage 2 (D2), Execute (E), and Writeback (WB). The secondary pipe (V) is similar to the main one but has some limitations on the instructions it can execute. The limitations will be described in more detail in later sections. The Pentium processor can issue up to two instructions every cycle. During execution, the next two instructions are checked and, if possible, they are issued such that the first one executes in the U-pipe, and
INGENIERA PARA EL NUEVO MILENIO, Octubre de 2002

Se recomienda consultar el manual tcnico: Intel Architecture Optimization Manual Order Number 242816-003 ao l997

OMAR FRANCISCO RODRGUEZ A

the second in the V-pipe. If it is not possible to issue two instructions, then the next instruction is issued to the U-pipe and no instruction is issued to the V-pipe.

OVERVIEW OF PROCESSOR
ARCHITECTURE AND PIPELINES

SIMD: Esta mquina contrasta con la anterior que opera con mltiples conjuntos de datos. Una arquitectura que procesa con este sistema se conoce como mquina vectorial, se utiliza para hacer pronstico del tiempo. Opera como un procesador vectorial con un ALU vectorial. Se conoce otra alternativa de esta categora llamada el procesador de arreglos. Es un diseo desarrollado por la Universidad de Illinois en la computadora ILLIAC IV. Consiste en una malla de elementos procesadormemoria arreglados en forma matricial que reciben las instrucciones de una sola unidad de control. La ejecucin la efecta cada procesador con los datos que almacena su respectiva memoria. La principal virtud de esta arquitectura es que todas las unidades de ejecucin paralelas estn sincronizadas y todas responden a una nica instruccin.

Figura 2. Pentium processor integer pipeline.

When instructions execute in the two pipes, the functional behavior of the instructions is exactly the same as if they were executed sequentially. When a stall occurs successive instructions are not allowed to pass the stalled instruction in either pipe. In the Pentium processor's pipelines, theD2 stage, in which addresses of memory operands are calculated, can perform a multiway add, so there is not a one-clock index penalty as with the Intel486 processor pipeline. With the superscalar implementation, it is important to schedule the instruction stream to maximize the usage of the two integer pipelines.
GIAO.

MIMD: La caracterstica de esta categora es que diferentes procesadores manejan distintos programas pudiendo compartir la misma memoria. Este precisamente es el principio del Multiprocesador. Se usa en sistemas de reservaciones de pasajes areos. Se tienen mejoras a esta arquitectura pues se causa congestin cuando varios procesadores accesan una sola memoria. Se adiciona una especie de memoria local, adems de la compartida, que es exclusiva para cada procesador, y que almacena ciertos datos que no necesitan compartirse. Otra forma de aliviar la carga es implementar ms de un bus o usar una memoria que se ha denominado Memoria Cach.

GRUPO DE INVESTIGACIN EN APRENDIZAJE ORGANIZACIONAL

INTRODUCCIN AL PROCESAMIENTO PARALELO

La forma en que se comunican los procesadores, en el caso de compartir una memoria comn, esa travs de ella misma, entonces el tiempo de acceso a memoria principal es el mismo para cada procesador. Este sistema se conoce como Multiprocesador simtrico. Recientemente se desarroll la organizacin con acceso no uniforme a memoria.

OBSERVACIONES
Se ha presentado una breve introduccin al procesamiento paralelo, faltando por tratar las ms modernas arquitecturas y sus cada vez ms numerosos usos, a la vez que ampliar el presente documento. En otro artculo se tratarn estos temas y otros pertinentes al desarrollo de un sistema de arreglo con varios procesadores en conformacin MaestroEsclavo.

AUTOR
Omar Francisco Rodrguez A. Ingeniero Electrnico, docente de Ingeniera de Sistemas. Universidad del Magdalena

INGENIERA PARA EL NUEVO MILENIO, Octubre de 2002

You might also like