El microprocesador, comúnmente llamado procesador, es el circuito integrado
central y más complejo de una computadora u ordenador; a modo de ilustración, se le suele asociar por analogía como el "cerebro" de una computadora, en teoría , es un circuito integrado constituido por millones de componentes electrónicos integrados y constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador.
Desde el punto de vista funcional es, básicamente, el encargado de realizar
toda operación aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que conforman un PC.
También es el principal encargado de ejecutar los programas, sean de usuario
o de sistema; sólo ejecuta instrucciones programadas a muy bajo nivel, realizando operaciones elementales, básicamente, las aritméticas y lógicas, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.
El microprocesador está conectado, generalmente, mediante un zócalo
específico a la placa base. 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.
La "velocidad" del microprocesador suele medirse por la cantidad de
operaciones por ciclo de reloj que puede realizar y en los ciclos por segundo que este último desarrolla, o también en MIPS (millones de instrucciones por segundo). Está basada en la denominada frecuencia de reloj (oscilador). La frecuencia de reloj se mide Hertzios, pero dada su elevada cifra se utilizan múltiplos, como el megahertzio o el gigahertzio. 2. Evolución:
El microprocesador es producto de la evolución de distintas tecnologías
predecesoras, surgido de la computación y la tecnología semiconductora; en los inicios no existían los procesadores tal como los conocemos hoy. El inicio de su desarrollo data de mitad de la década de 1950; estas tecnologías se fusionaron a principios de los años 70, produciendo el primer microprocesador.
A mediados de los años 1960 se producen las familias de circuitos de lógica
digital, dispositivos en escala SSI y MSI que corresponden a baja y mediana escala de integración de componentes (Circuito integrado). A finales de los años 1960 y principios de los 70 surgieron los sistemas a alta escala de integración o LSI. La tecnología LSI fue haciendo posible incrementar la cantidad de componentes en los circuitos digitales integrados (Chip). Sin embargo, pocos circuitos LSI fueron producidos, los dispositivos de memoria eran un buen ejemplo.
Las primeras calculadoras electrónicas requerían entre 75 y 100 circuitos
integrados. Después se dio un paso importante en la reducción de la arquitectura de la computadora a un circuito integrado simple, resultando uno que fue llamado microprocesador, unión de las palabras "Micro" del griego μικρο-, "pequeño", y procesador. Sin embargo, es totalmente válido usar el término genérico procesador, dado que con el paso de los años, la escala de integración se ha visto reducida de micrométrica a nanométrica; y además, es, sin duda, un procesador.
Entonces tenemos que:
• El primer microprocesador fue el Intel 4004, producido en 1971. Se
desarrolló originalmente para una calculadora, y resultó revolucionario para su época. Contenía 2.300 transistores, era un microprocesador de arquitectura de 4 bits que podía realizar hasta 60.000 operaciones por segundo, trabajando a una frecuencia de reloj de alrededor de 700KHz. • El primer microprocesador de 8 bits fue el Intel 8008, desarrollado a mediados de 1972 para su uso en terminales informáticos. El Intel 8008 integraba 3300 transistores y podía procesar a frecuencias máximas de 800Khz. • El primer microprocesador realmente diseñado para uso general, desarrollado en 1974, fue el Intel 8080 de 8 bits, que contenía 4500 transistores y podía ejecutar 200.000 instrucciones por segundo trabajando a alrededor de 2MHz. • Los primeros microprocesadores de 16 bits fueron el 8086 y el 8088, ambos de Intel. Fueron el inicio y los primeros miembros de la popular arquitectura x86, actualmente usada en la mayoría de los computadores. El chip 8086 fue introducido al mercado en el verano de 1978, en tanto que el 8088 fue lanzado en 1979. Llegaron a operar a frecuencias mayores de 4Mhz. • El microprocesador elegido para equipar al IBM Personal Computer/AT, que causó que fuera el más empleado en los PC-AT compatibles entre mediados y finales de los años 80 fue el Intel 80286 (también conocido simplemente como 286); es un microprocesador de 16 bits, de la familia x86, que fue lanzado al mercado en 1982. Contaba con 134.000 transistores. Las versiones finales alcanzaron velocidades de hasta 25 MHz. • Uno de los primeros procesadores de arquitectura de 32 bits fue el 80386 de Intel, fabricado a mediados y fines de la década de 1980; en sus diferentes versiones llegó a trabajar a frecuencias del orden de los 40Mhz. • El microprocesador DEC Alpha se lanzó al mercado en 1992, corriendo a 200 MHz en su primera versión, en tanto que el Intel Pentium surgió en 1993 con una frecuencia de trabajo de 66Mhz. El procesador Alpha, de tecnología RISC y arquitectura de 64 bits, marcó un hito, declarándose como el más rápido del mundo, en su época. Llegó a 1Ghz de frecuencia hacia el año 2001. Irónicamente, a mediados del 2003, cuando se pensaba quitarlo de circulación, el Alpha aun encabezaba la lista de los computadores más rápidos de Estados Unidos [1]. • Los microprocesadores modernos tienen una capacidad y velocidad mucho mayores, trabajan en arquitecturas de 64 bits, integran más de 700 millones de transistores, como es en el caso de las serie Core i7, y pueden operar a frecuencias normales algo superiores a los 3GHz (3000MHz).
Cuando se habla de arquitectura de 4, 8, 16, 32 o 64 bits, se hace referencia al
ancho del bus de direcciones o de datos del CPU, es decir, la cantidad de datos que el procesador puede transmitir en cada momento hacia la memoria principal y a los dispositivos de entradas y salidas, por ende, mientras mas grande sea el numero, mas rápida será la transferencia de datos:
3. Partes:
Para entender cómo funciona un microprocesador, hay que tener en prímer
lugar una clara idea acerca de las partes o bloques que lo componen. De otro modo, será prácticamente imposible hacerse una idea sobre su funcionamiento. De una forma global, podemos considerar al microprocesador dividido en tres grandes bloques:
- Unidad de decodificación: Se encarga de decodificar la instrucción que
se va a ejecutar. Es decir, saber qué instrucción es. Cuando el microprocesador lee de memoria una instrucción, el código de esa instrucción le llega a esta unidad. Esta unidad se encarga de interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo, instrucciones de suma, multiplicación, almacenamiento de datos en memoria,etc. - Unidad de Ejecución: Una vez que la unidad de decodificación sabe cuál es el significado de la instrucción leída de memoria, se lo comunica a la unidad de ejecución. Esta unidad será la encargada de consumar la ejecución y para ello activará las señales necesarias y en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones. - Unidad Aritmético Lógica: La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemáticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: ANO, NOR, NOT, NANO, OR, X-OR, etc). En suma, saber cómo funciona un microprocesador, implica conocer cómo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instrucción son:
Vamos a profundizar aún más en el estudio de las partes funcionales que
componen un microprocesador. No significa que la primera división en bloques anterior fuera errónea, sino que era más superficial. En esta segunda intentaremos profundizar en las diferentes partes que componen un microprocesador:
- Unidad de Control:
Es el centro nervioso del ordenador, ya que desde ella se controlan y
gobiernan todas las operaciones. Cómo funciones básicas tiene:
• Tomar las instrucciones de memoria
• Decodificar o interpretar las instrucciones • Ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes a la propia CPU) y de tipo externo (inherentes a los periféricos)
Para realizar su función, la unidad de control consta de los siguientes
elementos:
• Contador de programa: Contiene permanentemente la dirección de
memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso. • Registro de instrucción: Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (un código que indica qué tipo de operación se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que actúa la instrucción, por ejemplo los números a sumar) o las direcciones de memoria de estos operandos. • Decodificador: Se encarga de extraer el código de operación de la instrucción en curso (que está en el registro de instrucción), lo analiza y emite las señales necesarias al resto de elementos para su ejecución a través del secuenciador. • Reloj: Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción. • Secuenciador: En este dispositivo se generan órdenes muy elementales (microórdenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el registro de instrucción. - Unidad Aritmético Lógica (ALU):
Esta unidad se encarga de realizar las operaciones elementales de tipo
aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través de un bus interno se comunica con la unidad de control la cual le envía los datos y le indica la operación a realizar.
La ALU está formada a su vez por los siguientes elementos:
• Circuito operacional: Contiene los circuitos necesarios para la realización de
las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de órdenes para seleccionar la clase de operación que debe realizar en cada momento (suma, resta, etc). • Registros de entrada (REN): En ellos se almacenan los datos u operandos que intervienen en una instrucción antes de la realización de la operación por parte del circuito operacional. También se emplean para el almacenamiento de resultados intermedios o finales de las operaciones respectivas. • Registro acumulador: Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Está conectado con los registros de entrada para realimentación en el caso de operaciones encadenadas. Asimismo tiene una conexión directa al bus de datos para el envío de los resultados a la memoria central o a la unidad de control. • Registro de estado (flags): Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo.
También físicamente el procesador cuenta con:
• El encapsulado: es lo que rodea a la oblea de silicio en si, para darle
consistencia, impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zócalo a su placa base. • La memoria cache: es una memoria ultrarrápida que emplea el micro para tener a mano ciertos datos que predeciblemente serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de espera. Por ejemplo: en una biblioteca, en lugar de estar buscando cierto libro a través de un banco de ficheros de papel se utiliza la computadora, y gracias a la memoria cache, obtiene de manera rápida la información. Todos los micros compatibles con PC poseen la llamada cache interna de primer nivel o L1; es decir, la que está más cerca del micro, tanto que está encapsulada junto a él. Los micros más modernos (Pentium III Coppermine, athlon Thunderbird, etc.) incluyen también en su interior otro nivel de caché, más grande aunque algo menos rápida, la caché de segundo nivel o L2 e incluso memoria caché de nivel 3, o L3. • Coprocesador Matemático: o correctamente la FPU (Unidad de coma flotante). Que es la parte del micro especializada en esa clase de cálculos matemáticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte esta considerada como una parte "lógica" junto con los registros, la unidad de control, memoria y bus de datos. • Los registros: son básicamente un tipo de memoria pequeña con fines especiales que el micro tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada procesador. Un grupo de registros esta diseñado para control del programador y hay otros que no son diseñados para ser controlados por el procesador pero que CPU los utiliza en algunas operaciones, en total son treinta y dos registros. • La memoria: es el lugar donde el procesador encuentra las instrucciones de los programas y sus datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador las toma de ahí. La memoria es una parte interna de la computadora y su función esencial es proporcionar un espacio de trabajo para el procesador. • Puertos: es la manera en que el procesador se comunica con el mundo externo. Un puerto es parecido a una línea de teléfono. Cualquier parte de la circuitería de la computadora con la cual el procesador necesita comunicarse, tiene asignado un número de puerto que el procesador utiliza como un número de teléfono para llamar al circuito o a partes especiales.