ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Multiprocesamiento


Enviado por   •  6 de Mayo de 2012  •  1.914 Palabras (8 Páginas)  •  488 Visitas

Página 1 de 8

Multiprocesamiento

El multiprocesamiento hace referencia al uso de múltiples procesos concurrentes en un sistema, a diferencia del monoprocesamiento que ejecuta un único proceso en un instante determinado. Para llevar a cabo el multiprocesamiento, se debe contar con un planificador de procesos el cual se encarga de enviar los procesos a unos de los procesadores habilitados del sistema.

Los sistemas multiprocesadores incorporan un fuerte acoplamiento al compartir la memoria y la capacidad de realizar interrupciones de entrada y salida. Es un sistema totalmente simétrico, es decir, que todos los procesadores son funcionalmente idénticos y de igual rango, y que cada uno de ellos puede comunicarse con todos los demás. No existe jerarquía, ni relación maestro-esclavo. Se destacan dos aspectos importantes:

• Simetría de memoria: La memoria es simétrica cuando todos los procesadores comparten el mismo espacio de memoria y el acceso a ese espacio por las mismas direcciones, es decir que posee la capacidad de que todos los procesadores puedan ejecutar una sola copia del sistema operativo. Cualquier proceso actual del sistema de software de aplicación se ejecutará en el mismo, independientemente del número de procesadores instalados en un sistema.

• E / S de la simetría: E / S es simétrica cuando todos los procesadores comparten el acceso al mismo subsistema I / O (incluidos los puertos de E / S y los controladores de interrupción) y un procesador puede recibir interrupciones desde cualquier fuente.

Con la memoria y la simetría de E / S, un sistema que cumpla con la especificación de multiprocesamiento puede lograr la escalabilidad de hardware, así como la estandarización de software de apoyo. Con base en este tipo de arquitectura escalable, los desarrolladores de sistemas pueden producir sistemas que abarcan una amplia gama de precios y rendimiento, y que todos los binarios puedan ejecutar en el mismo sistema.

Características de los sistemas simétricos de multiprocesamiento (SMP):

• Para mantener la coherencia de la memoria, debe existir algún protocolo de comunicación (o de acceso a memoria), y a veces es necesario permitir que un microprocesador bloquee (temporalmente) una dirección de memoria.

• Para mantener la coherencia de la caché, cuando un microprocesador accede a la de otro, no debe recibir datos incorrectos (desactualizados). Ante cualquier cambio, todos los otros procesadores deben recibirlo.

• Para permitir la predicción de escritura en memoria, algunas veces es importante que la memoria a modificar sea observada en el mismo orden en el que se programó.

• Para distribuir las interrupciones cuando hay varios procesadores trabajando, es útil tener un mecanismo de control centralizado que las reciba, y las distribuya entre los diferentes microprocesadores.

• Mejorar la performance explotando los multithread de las aplicaciones actuales.

Operaciones Atómicas

Estas operaciones son extremadamente necesarias en los SMP y se utilizan generalmente con estructuras compartidas (semáforos, descriptores de segmentos, páginas, etc.), cuando dos o más microprocesadores traten de modificar el mismo campo o flag. El procesador usa tres mecanismos para poder usarlas:

• Garantizar operaciones atómicas.

• Bloquear el bus (con la señal LOCK#, y el prefijo LOCK en la instrucción)

• Tener protocolos de coherencia de caché.

Algunas operaciones (lectura y escritura de un byte en memoria) brindan la garantía de realizarse de forma atómica (el microprocesador se asegura de terminarla antes de que otro tenga permitido acceder a esa posición). El bloqueo del bus se usa con operaciones de lectura/escritura en áreas de memoria compartida. Como algunas veces los bloques que se leen están dentro de una caché, no siempre se bloquea el bus al modificarlas; ahí es donde se necesitan protocolos de coherencia de caché.

Operaciones Atómicas Garantizadas

Sin embargo, existen operaciones que siempre se ejecutan atómicamente:

• R/W un byte.

• R/W un word alineado en 16 bits.

• R/W un doubleword alineado en 32 bits.

• R/W un quadword alineado a 34.

• Accesos de 16 bits a posiciones de memoria que no están en caché, que entran un bus de 32 bits.

• Accesos a memoria en cache desalineada de 16, 32 y 64, que entren en una linea de cache.

Bloqueo de Bus

La señal bloquea pedidos de otros procesadores. El software puede indicar cuándo usarla si antepone LOCK a la instrucción.

Puede ser:

• Lock automático:

o Instrucción XCHG que referencia a memoria (Exchange Register/Memory with Register – donde los operandos pueden ser dos registros de propósito general o un registro y una posición de memoria).

o Al cambiar el flan de ocupado en el descriptor de estado del segmento.

o Cuando se actualizan descriptores de segmento. Aquí el SO debería usar una operación bloqueante para cambiar los permisos de acceso, estipulando que el descriptor no es accesible; modificar los campos; y por último utilizar otra operación bloqueante para reestablecer los permisos.

o Al actualizar entradas de páginas.

o Cuando se reconocen las interrupciones.

Las operaciones bloqueantes son atómicas con respecto al resto y todos los eventos son visibles externamente. Sólo la instrucción fetch, y los accesos a tablas de página pueden ser de este tipo. Se pueden usar para sincronizar datos escritos por un procesador y leídos por otro.

Advanced Programmable Interrupt Controller (APIC):

Cumple principalmente dos funciones para el procesador:

• Recibe las interrupciones, de fuentes internas y externas (I/O APIC u otros controladores de interrupciones externos), y las envía al core para manejarlas.

• En los sistemas MP, envía y recibe IPIs a y desde otros procesadores lógicos conectados al bus del sistema. Los mensajes IPIs pueden ser utilizados para distribuir interrupciones entre los procesadores o para ejecutar funciones propias del

...

Descargar como (para miembros actualizados)  txt (12.7 Kb)  
Leer 7 páginas más »
Disponible sólo en Clubensayos.com