Cuando se desea incrementar el desempeño más allá de lo que permite la técnica de segmentación del cauce (límite teórico de una instrucción por ciclo de reloj), se requiere utilizar más de un procesador para la ejecución del programa de aplicación.
El alto rendimiento y bajo coste de los microprocesadores inspiraron un renovado interés en los multiprocesadores en los años ochenta. Varios microprocesadores se pueden colocar sobre un bus común porque:
Son mucho más pequeños que los procesadores multichip,
Las caches pueden disminuir el tráfico del bus y los protocolos de coherencia pueden mantener caché y memoria consistente.
El tráfico por procesador y el ancho de banda del bus determinan el número de procesadores en dicho multiprocesador.
Un reloj del sistema reside en la tarjeta madre. Éste envía una señal a todos los componentes de la computadora en ritmo, como un metrónomo. Generalmente, este ritmo se genera como una onda cuadrada, como la siguiente:
Cada onda en esta señal mide un ciclo de reloj.
Si el reloj del sistema funciona a 100MHZ, esto significa que hay 100 millones de ciclos del reloj en un segundo.
Cada acción en la computadora se marca con un tiempo mediante estos ciclos del reloj y para realizarse, cada acción toma cierto número de ciclos del reloj.
Cuando se procesa una solicitud de la memoria, por ejemplo, el controlador de la memoria puede informar al procesador que los datos requeridos llegarán en seis ciclos de reloj. Es posible que el CPU y otros dispositivos funcionen más rápido o más lento que el reloj del sistema.
Por ejemplo, cuando un reloj del sistema de 100MHZ interactúa con un CPU de 400MHZ, cada dispositivo entiende que cada ciclo de reloj del sistema es igual a cuatro ciclos de reloj del CPU; éstos utilizan un factor de cuatro para sincronizar sus acciones. Tamaño de la palabra = Una palabra es la cantidad de datos que la CPU puede procesar en un ciclo de reloj.
Un procesador de 8 bits puede manejar 8 bits cada vez. Los procesadores pueden ser, hasta ahora, de 8-, 16-, 32-, o 64- bits.
Cuanto más grande sea el número = más rápida será la procesamiento
Las CPUs de multiprocesamiento se clasifican de la siguiente manera:
SISO – (Single Instruction, Single Operand ), computadoras independientes.
SIMO – (Single Instruction, Multiple Operand ), procesadores vectoriales.
MISO – (Multiple Instruction, Single Operand ), no implementado.
MIMO – (Multiple Instruction, Multiple Operand ) sistemas SMP, Clusters.
Son computadoras pensadas para aplicar un mismo algoritmo numérico a una serie de datos matriciales, en especial en la simulación de sistemas físicos complejos, tales como simuladores para predecir el clima, explosiones atómicas, reacciones químicas complejas, etc., donde los datos son representados como grandes números de datos en forma matricial sobre los que se deben de aplicar el mismo algoritmo numérico.
Supercomputadora Cray
En los sistemas SMP (Simetric Multiprocesesors), varios procesadores comparten la misma memoria principal y periféricos de I/O, normalmente conectados por un bus común.
Se conocen como simétricos, ya que ningún procesador toma el papel de maestro y los demás de esclavos, sino que todos tienen derechos similares en cuanto al acceso a la memoria y periféricos y ambos son administrados por el sistema operativo.