Microprocesador
Uno de los actuales microprocesadores de 64 bits y doble núcleo, un AMD Athlon 64 X2 3600. El microprocesador es un circuito integrado que contiene todos los elementos necesarios para conformar una "unidad central de procesamiento" UCP, también es conocido como CPU (por sus siglas en inglés: Central Process Unit). En la actualidad este componente electrónico está compuesto por millones de transistores, integrados en una misma placa de silicio.
Empaquetado Los microprocesadores generalmente aparecen a la venta empaquetados para proteger el elemento de silicio (el microprocesador en sí) de la interferencia eléctrica y del daño por exposición al medio ambiente. Este empaquetado suele tener forma de paralelogramo o de prisma e incluye superficies o postes conductores para permitir el paso de alimentación eléctrica y de señales eléctricas desde y hacia el microprocesador. Este empaquetado comúnmente se instala sobre un elemento llamado zócalo (en inglés, socket) que sirve a la vez de anclaje e interfaz de comunicación entre el microprocesador y el resto del ordenador (por ejemplo, comunicando con el chipset). En algunas arquitecturas el microprocesador puede soldarse directamente a la placa madre (motherboard). También existen arquitecturas donde se adoptó el formato de cartucho, sin embargo éste formato es más bien raro en la actualidad, prefiriendo la industria disponer de microprocesadores como módulos independientes conectables (y también desconectables) en un zócalo especial.
Disipación de calor En las arquitecturas modernas la disipación de calor es un problema mayor, debido a la alta frecuencia de operación y a la miniaturización extrema de los microprocesadores recientes, y por eso es común que, en ordenadores como los compatibles con la IBM PC, las motherboards dispongan de un zócalo especial para alojar el microprocesador y un sistema de enfriamiento, que
comúnmente consiste en un disipador de aluminio con un ventilador adosado (conocido como microcooler). Sin esta protección, los microprocesadores podrían sobrecalentarse al punto de estropearse permanentemente. Los microprocesadores actuales, en su gran mayoría, incluyen mecanismos automáticos que miden la temperatura y eventualmente apagan el procesador en caso de detectar sobrecalentamiento (también pueden incluir alarmas sonoras previas). Esto sirve para protegerlo de fallos, como por ejemplo, que el ventilador se averíe o atasque. Equipos modernos también suelen incluir sensores en el microcooler (ventilador) que chequean continuamente su velocidad (rpm) y en caso de que esta baje peligrosamente el equipo se apaga automáticamente.
Funcionamiento Desde el punto de vista lógico y funcional, el microprocesador está compuesto básicamente por: varios registros; una Unidad de control, una Unidad aritmético-lógica; y dependiendo del procesador, puede contener una unidad en coma flotante. El microprocesador ejecuta instrucciones almacenadas como números binarios organizados secuencialmente en la memoria principal. La ejecución de las instrucciones se puede realizar en varias fases: • • • • • •
PreFetch, Pre lectura de la instrucción desde la memoria principal, Fetch, envío de la instrucción al decodificador, Decodificación de la instrucción, es decir, determinar qué instrucción es y por tanto qué se debe hacer, Lectura de operandos (si los hay), Ejecución,(Lanzamiento de las Máquinas de estado que llevan a cabo el procesamiento). Escritura de los resultados en la memoria principal o en los registros.
Cada una de estas fases se realiza en uno o varios ciclos de CPU, dependiendo de la estructura del procesador, y concretamente de su grado de segmentación. La duración de estos ciclos viene determinada por la frecuencia de reloj, y nunca podrá ser inferior al tiempo requerido para realizar la tarea individual (realizada en un solo ciclo) de mayor coste temporal. El microprocesador se conecta a un oscilador, normalmente un cristal de cuarzo capaz de generar pulsos a un ritmo constante, de modo que genera varios ciclos (o pulsos) en un segundo. Este reloj, en la actualidad, genera miles de MHz.
Velocidad y ancho de banda Actualmente se habla de frecuencias de reloj del orden de los Gigahercios (GHz.), o de Megahercios (MHz.). Lo que supone miles de millones o millones, respectivamente, de ciclos por segundo. El indicador de la frecuencia de un microprocesador es una buena referencia de la velocidad de proceso del mismo, pero no el único. La cantidad de instrucciones necesarias para llevar a
cabo una tarea concreta, así como el ancho de banda o la cantidad de instrucciones ejecutadas por ciclo IPC, son los otros dos factores que determinan la velocidad de la CPU. La cantidad de instrucciones necesarias para realizar una tarea depende directamente del juego de instrucciones disponible, mientras que el índice IPC depende de varios factores, como el grado de supersegmentación y la cantidad de unidades de proceso o "pipelines" disponibles, entre otros.
Bus de datos El microprocesador lee y escribe datos en la memoria principal y en los dispositivos de entrada/salida. Estas transferencias se realizan a través de un conjunto de conductores que forman el bus de datos. El número de conductores suele ser potencia de 2. Hay buses de 4, 8, 16, 32, 64, ... conductores. Los modelos de la familia x86, a partir del 80386, trabajan con bus de datos de 32 bits, y a partir del Pentium con bus de 64 bits. Pero los microprocesadores de las tarjetas gráficas, que tienen un mayor volumen de procesamiento por segundo, se ven obligados a aumentar este tamaño, y así tenemos hoy en día microprocesadores gráficos que trabajan con datos de 128 ó 256 bits. Estos dos tipos de microprocesadores no son comparables, ya que ni su juego de instrucciones ni su tamaño de datos son parecidos y por tanto el rendimiento de ambos no es comparable en el mismo ámbito. La arquitectura x86 se ha ido ampliando a lo largo del tiempo a través de conjuntos de operaciones especializadas denominadas "extensiones", las cuales han permitido mejoras en el procesamiento de tipos de información específica. Este es el caso de las extensiones MMX y SSE de Intel, y sus contrapartes, las extensiones 3DNow! de AMD. A partir de 2003, el procesamiento de 64 bits fue incorporado en los procesadores de arquitectura x86 a través de la extensión AMD64 y posteriormente con la extensión EM64T en los procesadores [AMD] e [Intel] respectivamente.
Puertos de entrada y salida El microprocesador tiene puertos de entrada/salida en el mismo circuito integrado. El chipset es un conjunto de circuitos integrados que se encarga de realizar las funciones de transmisión de la información entre el microprocesador, la memoria, el sistema gráfico y demás periféricos. El conjunto de circuitos integrados auxiliares necesarios por un sistema para realizar una tarea suele ser conocido como chipset, cuya traducción literal del inglés significa conjunto de circuitos integrados. Se designa circuito integrado auxiliar al circuito integrado que es periférico a un sistema pero necesario para el funcionamiento del mismo. La mayoría de los sistemas necesitan más de un circuito integrado auxiliar; sin embargo, el término chipset se suele emplear en la actualidad cuando se habla sobre las placas base de los IBM PCs. El chipset esta conformado por dos partes:
•
El NorthBridge o puente norte se usa como puente de enlace entre el microprocesador y la memoria. Controla las funciones de acceso hacia y entre el microprocesador, la memoria RAM, el puerto gráfico AGP o PCI Express, y las comunicaciones con el puente sur. Al principio tenía también el control de PCI, pero esa funcionalidad ha pasado al puente sur.
•
El SouthBridge o puente sur controla los dispositivos asociados como son la controladora de discos IDE, puertos USB, Firewire, SATA, RAID, ranuras PCI, ranura AMR, ranura CNR, puertos infrarrojos, disquetera, LAN, PCI Express 1x y una larga lista de todos los elementos que podamos imaginar integrados en la placa madre. Es el encargado de comunicar el procesador con el resto de los periféricos.
Arquitectura 80x86 En la arquitectura 80x86 usada en los computadores personales, se disponían originalmente de muchos circuitos integrados dando apoyo al microprocesador, tales como el controlador de interrupciones, controlador de acceso directo a memoria, controlador de reloj, etc. Para reducir el número de elementos, la complejidad y el costo de los sistemas se fueron creando circuitos internamente más complejos, que incluían todas esas múltiples funcionalidades en un solo elemento. Esos circuitos son los que actualmente se denominan chipset del computador y son responsables en una medida importante del rendimiento global del mismo. Las computadoras personales actuales tienen chipset formado por 2 circuitos auxiliares al procesador principal: •
•
El puente norte que se utiliza como puente de enlace entre el microprocesador y la memoria, controlando los accesos hacia y desde el microprocesador, la memoria RAM, el puerto gráfico y las comunicaciones con el puente sur. El puente sur que controla los dispositivos asociados, es decir se encarga de comunicar el procesador con el resto de los periféricos. (los controladores de disco, puertos de entrada y salida, como USB, etc.)
Arquitecturas •
65xx o o
• • • • •
MOS Technology 6502 Western Design Center 65xx
ARM Altera Nios, Nios II AVR (puramente microcontroladores) EISC RCA 1802 (aka RCA COSMAC, CDP1802)
• •
• • • •
DEC Alpha Intel o Intel 4556, 4040 o Intel 8970, 8085, Zilog Z80 o Intel Itanium o Intel i860 o Intel i515 LatticeMico32 M32R MIPS Motorola o Motorola L 6 o Motorola 6809 o Motorola c115, ColdFire o corelduo 15485
+**sewcret ranses 0.2457 • o
• • • • • • • • • • •
•
Motorola 88000 (antecesor de la familia PowerPC con el IBM POWER) IBM POWER (antecesor de la familia PowerPC con el Motorola 88000) o Familia PowerPC, G3, G4, G5 NSC 320xx OpenRISC PA-RISC National Semiconductor SC/MP ("scamp") Signetics 2650 SPARC SuperH family Transmeta Crusoe, Transmeta Efficeon (arquitectura VLIW, con emulador de la IA32 de 32-bit Intel x86) INMOS Transputer x86 o Intel 8086, 8088, 80186, 80188 (arquitectura x86 de 16-bit con sólo modo real) o Intel 80286 (arquitectura x86 de 16-bit con modo real y modo protegido) o IA-32 arquitectura x86 de 32-bits o x86-64 arquitectura x86 de 64-bits Cambridge Consultants XAP
Otras acepciones También se suele llamar frecuente y equivocadamente CPU a la caja o gabinete de la computadora en donde están alojados los componentes principales y básicos de ella, es decir, además de la CPU en si (microprocesador), también la placa madre, las tarjetas de expansión, disco duro, CD, DVD, la fuente de alimentación, puertos de entrada/salida, etc.
Nota importante •
Para 2020, Intel desea lanzar al mercado procesadores de 18 y 16 núcleos e incluso se vería la posibilidad de regresar a procesadores mononúcleo gracias al desarrollo de nuevos tipos de transistores que llegarían a las inauditas frecuencias de 20 y hasta 50 ghz lo cual evitaría la necesidad de paralelizar el procesador en dos o más núcleos