2. Paralelismo a nivel de instrucción:
El paralelismo 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 3 premisas:
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 hay hardware ni técnicas de paralizació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
paralizació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
dé la manera más adecuada, eficiente y
con alto desempeño.
3. Paralelismo a nivel de datos:
Paralelismo de datos es un paradigma de la programación concurrente que consiste en subdividir el conjunto de datos de entrada a
un programa, de manera que a cada procesador le corresponda un subconjunto de esos datos. Cada procesador efectuará la misma
secuencia de operaciones que los otros procesadores sobre su subconjunto de datos asignado. En resumen: se distribuyen los datos
y se replican las tareas.
Idealmente, esta ejecución simultánea de operaciones, resulta en una aceleración neta global del cómputo.
El paralelismo de datos es un paradigma suficientemente adecuado para operaciones sobre vectores y matrices, dado que muchas
de ellas consisten en aplicar la misma operación sobre cada uno de sus elementos.
Podemos observar el procedimiento que lleva acabo para una recolección de datos lleva la
siguiente secuencia para introducirlo es la siguiente:
Introducción: Aplicaciones científicas y multimedia.
Arquitecturas vectoriales segmentadas clásicas.
Extensiones multimedia y núcleos SIMD.
Técnicas de vectorización.
• Bucles paralelizadles
• Procesado condicional
• Precarga software
• Temporización
• Modelo del Tejado.
4. Esto da lugar a 4 tipos de computadoras, de las cuales solamente
dos son aplicables a las computadoras paralelas. En 1966
Michael Flynn propuso un mecanismo de clasificación de las
computadoras. El método de Flynn se basa en el número de
instrucciones y de la secuencia de datos que la computadora
utiliza para procesar información. Puede haber secuencias de
instrucciones sencillas o múltiples y secuencias de datos sencillas
o múltiples.
Michael Flynn: fue
el primero que dio a
conocer las
aplicables paralelas
en 1966.
Una instrucción, un dato (SISD):
En computación, SISD (del inglés Single Instrucción, Single Data, en
español: "una instrucción, un dato") es un término que se refiere a una
arquitectura computacional en la que un único procesador ejecuta un sólo
flujo de instrucciones, para operar sobre datos almacenados en una única
memoria. Se corresponde con la arquitectura de Von Neumann.
Según Michael J. Flynn, SISD puede tener características del procesamiento
concurrente. La carga de instrucciones y la ejecución segmentada de
instrucciones son ejemplos comunes encontrados en las computadoras
SISD más modernas.
5. Arquitecturas de memoria de computación paralela:
El paralelismo:
El paralelismo es una forma de computación basada en un principio aparentemente
simple:
” Dividir los problemas grandes en varios pequeños y solucionarlos
simultáneamente,”
Esto permite ejecutar más instrucciones en menos tiempo. Pero llevado a la práctica
es una cuestión altamente compleja en la que se encuentran investigando grupos
científicos de todo el mundo.
La computación paralela:
Es una técnica de programación en la que muchas instrucciones se ejecutan
simultáneamente. Se basa en el principio de que los problemas grandes se pueden
dividir en partes más pequeñas que pueden resolverse de forma concurrente (“en
paralelo”).
Existen varios tipos de computación paralela:
Paralelismo a nivel de bit, Paralelismo de datos, Paralelismo de tareas.
Durante muchos años, la computación paralela. se ha aplicado en la computación de
altas prestaciones, pero el interés en ella ha aumentado en los últimos años debido a
las restricciones físicas que impiden el escalado en frecuencia. La computación
paralela se ha convertido en el paradigma dominante en la arquitectura de
computadores, principalmente en los procesadores multinúcleo.
Un procesador paralelo masivo (MPP) es
un solo equipo con varios procesadores
conectados en red. Tienen muchas de las
características de los clúster.
utilizan hardware estándar para la
creación de rede Los MPPs también
tienden a ser más grandes que los
clústeres, con mucho más de 100
procesadores.
6. Gráfico de la Línea de Tiempo del Procesador Intel o AMD:
El mejor microprocesador en su tiempo ya
que hoy en día la tecnología ha avanzado
un 100% y lo que aún nos falta por crear
y/o comprender de los nuevos avances
tecnológicos y científicos.
ITEL:
1971: Intel 4004. Nota: Fue el primer microprocesador comercial.
Salió al mercado el 15 de noviembre de 1971.
AMD se fusiona con GLOBALFOUNDRIES, instalando una fábrica
de semiconductores de última generación en el estado de Nueva
York, completando así la visión de muchos años de AMD.