INTRODUCCIÓN.-
Se define a la arquitectura
segmentada como un primer mecanismo de paralelismo debido a que varias
instrucciones consecutivas se ejecutan al mismo tiempo casi en paralelo.
A pesar de que la segmentación pretende realizar
paralelismo este sigue siendo una máquina de ejecución con un único flujo de
instrucciones.
El primer paso hacia la paralelización de las
arquitecturas, se da con la aparición de los procesadores vectoriales. Los
procesadores vectoriales extienden el concepto de paralelismo por segmentación
al tratamiento de grandes cadenas de datos, y es continuado y mejorado con los
sistemas basados en múltiples procesadores, con memoria compartida o con
memoria local.
DESARROLLO.-
Procesamiento
en paralelo:
Es un
proceso empleado para acelerar el tiempo de ejecución de un programa
dividiéndolo en múltiples trozos que se ejecutarán al mismo tiempo, cada uno en
su propios procesadores.
Fig.1
Multiprocesador (memoria compartida)
Fuente:
El procesamiento paralelo. (2000) Murray
Fi.2
Multicomputador (memoria distribuida)
Fuente:
El procesamiento paralelo. (2000) Murray
Una de las posibles
arquitecturas para implementar la jerarquía de memoria en un esquema multiprocesador
es la que se conoce como Memoria Compartida sobre Bus Común. Cada unidad CPUMC avanzará
en su cómputo tanto como le sea posible prescindiendo de las demás. Una unidad
de control que no se muestra en la figura se encargará de la administración del
bus permitiendo a cada MC volcar información cuando así lo solicite, atendiendo
también los pedidos de acceso a memoria, mientras que un puerto especial de
cada MC estará leyendo el bus permanentemente.
Fig.3
Memoria compartida sobre bus común
Fuente:
El procesamiento paralelo. (2000) Murray
VENTAJAS Y DESVENTAJAS:
Existen
algunos factores que trabajan en contra de la eficiencia del paralelismo y pueden atenuar tanto la
ganancia de velocidad como la ampliabilidad.
Costes de inicio
En una
operación paralela compuesta por miles de proceso, el tiempo de inicio puede
llegar ser mucho mayor que le tiempo real de procesamiento, lo que influye
negativamente en la ganancia de velocidad.
Interferencia
Como lo
procesos que se ejecutan en un proceso paralelo acceden con frecuencia a
recursos compartidos, pueden sufrir un cierto retardo como consecuencia de la
interferencia de cada nuevo proceso en la competencia, este fenómeno afecta
tanto la ganancia de velocidad como la ampliabilidad.
Sesgo
Normalmente
es difícil dividir una tarea en partes exactamente iguales, entonces se dice
que la forma de distribución de los tamaños es sesgada.
El
procesamiento paralelo implica una serie de dificultades a nivel programación
de software, es difícil lograr una optimización en el aprovechamiento de los
recursos de todas las CPU con el que se esté trabajando sin que se formen
cuello de botella. En muchas de las ocasiones no es posible el trabajar con
equipos multiprocesadores dado el elevado costo que este representa, así que
solo se dedica a ciertas áreas de investigación especializada o proyectos
gubernamentales o empresariales.
El
procesamiento en paralelo ejecuta procesos en donde cada procesador se encarga
de uno u otro y aceleran de esta forma el cálculo.
PROCESAMIENTO SEGMENTADO
Los procesadores
segmentados sirven para mejorar el rendimiento sin necesidad de duplicar
excesivamente el hardware. Se usaron por primera vez en los años 60 para los
grandes sistemas (mainframes) de altas presentaciones, y fueron muy importantes
en los años 80 para el enfoqué RISC del diseño de computadores (la mayoria de
técnicas RISC se relacionan con el objetivo de conseguir una buena
segmentación).
Fig.
4 Tarea procesada de forma secuencial
Fuente:http://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Segment.pdf
Fig.5
Tarea ejecutada por un procesador segmentado
Fuente:http://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Segment.pdf
En la Actualidad la
segmentación se utiliza mucho actualmente para el desarrollo de juegos de
instrucciones del procesador. Actualmente, la tendencia es lograr
segmentaciones más profundas para obtener frecuencias de reloj muy altas. Es un
método muy eficaz para obtener un mayor rendimiento.
Detalle de la segmentación
de instrucciones.
El alto rendimiento y
la velocidad elevada de los modernos procesadores, se debe, principalmente a la
conjunción de tres técnicas:
· Arquitectura
Harvard (arquitectura que propicia el paralelismo).
· Procesador
tipo RISC.
· Segmentación.
En el caso del
procesador DLX podemos encontrar las siguientes etapas en una instrucción:
- · IF (Instruction Fetch): búsqueda· ID (Instruction Decode): decodificación· EX (Execution): ejecución de unidad aritmético lógica· MEM (Memory): memoria· WB (Writeback): escritura
Cada una de estas
etapas de la instrucción usa en exclusiva un hardware determinado del
procesador, de tal forma que la ejecución de cada una de las etapas en
principio no interfiere en la ejecución del resto.
En el caso de que el
procesador no pudiese ejecutar las instrucciones en etapas segmentadas, la
ejecución de la siguiente instrucción sólo se podría llevar a cabo tras la
finalización de la primera. En cambio en un procesador segmentado, salvo
excepciones de dependencias de datos o uso de unidades funcionales, la
siguiente instrucción podría iniciar su ejecución tras acabar la primera etapa
de la instrucción actual.
BIBLIOGRAFIA.-
Murray Leslie. (2000),
“El Procesamiento Paralelo, Enfoque
Cualitativo y Simulación” Universidad Nacional del Rosario., Argentina.
M. Morris Mano (1994), “Arquitectura
de computadoras” 3° Edición. Editorial: Phyllis Morgan.
http://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Segment.pdf
http://www.slideshare.net/jairoUNT/procesamiento-segmentado-copia
http://es.scribd.com/doc/80957133/Segmentado-y-distribuido
http://studies.ac.upc.edu/EUPVG/ARCO_I/tema2.pdf
No hay comentarios:
Publicar un comentario