martes, 17 de abril de 2012


Microprocesador


El microprocesador (o simplemente procesador) es el circuito integradocentral y más complejo de un sistema informático; a modo de ilustración, se le suele asociar por analogía como el «cerebro» de un computador. Es un circuito integrado constituido por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador.
Es el encargado de ejecutar los programas; desde el sistema operativohasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicassimples, tales como sumarrestarmultiplicardividir, las lógicas binarias y accesos a memoria.
Esta unidad central de procesamiento está constituida, esencialmente, porregistros, una unidad de control, una unidad aritmético lógica (ALU) y unaunidad de cálculo en coma flotante(conocida antiguamente como «co-procesador matemático»).
El microprocesador está conectado, generalmente, mediante un zócalo específico a la placa base de la computadora. Normalmente, para su correcto y estable funcionamiento, se le adosa un sistema de refrigeración, que consta de un disipador de calor fabricado en algún material de alta conductividad térmica, como cobre o aluminio, y de uno o más ventiladores que fuerzan la expulsión del calor absorbido por el disipador; entre éste último y la cápsula del microprocesador suele colocarse pasta térmica para mejorar la conductividad térmica. 

Multiprocesador


Se denomina multiprocesador a un computador que cuenta con dos o más microprocesadores (CPUs).
Gracias a esto, el multiprocesador puede ejecutar simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes.
Los ordenadores multiprocesador presentan problemas de diseño que no se encuentran en ordenadores monoprocesador. Estos problemas derivan del hecho de que dos programas pueden ejecutarse simultáneamente y, potencialmente, pueden interferirse entre sí. Concretamente, en lo que se refiere a las lecturas y escrituras en memoria. Existen dos arquitecturas que resuelven estos problemas:
  • La arquitectura NUMA, donde cada procesador tiene acceso y control exclusivo a una parte de la memoria.
  • La arquitectura SMP, donde todos los procesadores comparten toda la memoria.
Esta última debe lidiar con el problema de la coherencia de caché. Cada microprocesador cuenta con su propia memoria cache local. De manera que cuando un microprocesador escribe en una dirección de memoria, lo hace únicamente sobre su copia local en caché. Si otro microprocesador tiene almacenada la misma dirección de memoria en su caché, resultará que trabaja con una copia obsoleta del dato almacenado.
Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseñado para ello. La mayoría de los sistemas operativos actuales poseen esta capacidad

Procesadores multi-núcleo


Los procesadores multi-núcleo son un procesador que contiene dentro de su empaque a varios núcleos o "cerebros". La mayoría de los procesadores son mono-núcleo, o sea tienen un solo cerebro. Mientras un procesador mono-núcleo tiene un solo cerebro para ejecutar procesos, un procesador multi-núcleo puede repartir los procesos entre sus varios cerebros para su posterior ejecución.
Es como cuando a una persona le dan muchos  por hacer, si otro lo ayuda entre los dos pueden dividirse el trabajo y terminar más rápido. Si los dos les toca hacer un solo trabajo, si este es divisible, entonces los dos lo también lo harán mas rápido. Pero si el trabajo no es divisible, entonces en ese caso uno solo lo haría.
Por eso las aplicaciones que sacan más provecho de estos procesadores multinúcleo son aquellas que pueden generar muchos hilos de ejecución (thread) como las aplicaciones de audio/videocálculo científico, juegos de gráficos en , etc.
Pero de todas maneras siempre hay aplicaciones que no se dividen en hilos de ejecución, que no aprovechan por completo estos procesadores. Pero estos procesadores pueden ejecutar varias de estas aplicaciones al mismo tiempo.
Solo cuando uno ejecute una sola aplicación que no sea paralelizable (no se pueda descomponer en hilos) es cuando no se aprovecha el potencial de procesamiento que tienen estos procesadores.
Multiprocesamiento o multiproceso
Es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso.
El multiproceso para tareas generales es, a menudo, bastante difícil de conseguir debido a que puede haber varios programas manejando datos internos (conocido como estado o contexto) a la vez. Los programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de técnicas de programación incluyendosemáforos y otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de forma exclusiva ciertos valores.




No hay comentarios:

Publicar un comentario