Pp InstParalel
Esteban F. Corrales
Universidad de Costa Rica, Facultad de Ingeniería,
Escuela de Ciencias de la Computación e Informática, San Pedro, Costa Rica
esteban.corrales@ucr.ac.cr
y
Kenneth Cascante
Universidad de Costa Rica, Facultad de Ingeniería,
Escuela de Ciencias de la Computación e Informática, San Pedro, Costa Rica
kennethcr@gmail.com
Abstract
Instructionlevel parallelism is a technique that seeks that combination of instruction of low level running by a processor
can be ordered so at moment to be processed simultaneously do no affect the final result of a program, and rather
increase speed and maximize hardware capabilities. Instruction pipelines allow that for each clock cycle of processor
multiple instructions can be in different stages ofexecution.
Keywords: ILP, Pipeline, Scheduler, Parallelism, Instruction
Resumen
El paralelismo a nivel de instrucción consiste en un técnica que busca que la combinación de instrucciones de bajo nivel
que ejecuta un procesador puedan ser ordenadas de forma tal que al ser procesadas en simultáneo no afecten el resultado
final del programa, y más bien incrementen la velocidad y aprovechen al máximo lascapacidades del hardware. Un
pipeline (canalizador) de instrucciones es el que permite que por cada ciclo de reloj del procesador múltiples
instrucciones se encuentren en distintas fases de ejecución.
Palabras clave: ILP, Pipeline, Calendalizador, Paralelismo, Instrucción
1 Introducción
La evolución en la arquitectura de procesadores permitió que la ejecución de instrucciones en simultáneo pasarade ser
algo imaginario a algo real. En sus inicios los procesadores solo podían ejecutar una instrucción por ciclo de reloj. La
multitarea y la ejecución de procesos en paralelo, era el objetivo por lograr. Claro está que en esos momentos las
limitaciones de hardware eran muchas, y el tamaño la memoria de acceso aleatorio era una de las principales.
Con el avance en la arquitectura de lascomputadoras, la investigación y el diseño sofisticado de procesadores se
construye paso a paso la capacidad de multiprocesamiento y la ejecución de múltiples instrucciones por ciclo de reloj. El
ciclo de reloj consiste en la unidad de medida utilizada para medir la velocidad en la que un procesador ejecuta las
instrucciones básicas.
Con el arribo de máquinas con procesadores multinúcleo el tema delparalelismo ha tomado mayor relevancia; el manejo
de hilos de ejecución, métodos de sincronización y concurrencia consisten en temas fundamentales que no pueden ser
obviados en la creación de aplicaciones de alto nivel.
Existen diversos tipos de paralelismo, entre los que destacan el paralelismo a nivel de bit, paralelismo por datos,
paralelismo por control y el paralelismo a nivel de instrucción.
Elparalelismo a nivel de instrucción se utilizó por primera vez en las arquitecturas computacionales como un medio
para agilizar el código de máquina secuencial ordinario. La pregunta clave en su momento fue: ¿qué tan rápido puede
ejecutarse un programa en un procesador con paralelismo a nivel de instrucción?
Gracias a la investigación, se obtuvo la conclusión de que la respuesta dependía de 3premisas:
1. El paralelismo potencial en el programa.
2. El paralelismo disponible en el procesador.
3. Capacidad del programador de extraer el paralelismo del programa secuencial original.
4. Capacidad del programador para encontrar la mejor calendarización en paralelo, dadas las restricciones de
programación.
Si
las
instrucciones
de
un
programa
dependen
en
gran
parte
unas
de
otras,
entonces no hayhardware ni técnicas de paralelización que puedan hacer que el programa se ejecute con rapidez en
paralelo. Las técnicas empleadas buscan alta cohesión y bajo acoplamiento en cuanto a instrucciones se refiere.
Comprender los límites que la paralelización a nivel de instrucción puede tener ha dado paso a gran cantidad de
investigación, ya que existen múltiples razones que dificultan que la misma se...
Regístrate para leer el documento completo.