El microprocesador


Microfotografia Opteron EE 6 núcleos
Microfotografia Opteron EE 6 núcleos

Un microprocesador es un circuito integrado que está compuesto por cientos de millones de transistores. Es el cerebro de la computadora y es el encargado de ejecutar todos los programas, desde el sistema operativo, los controladores de dispositivo hasta las aplicaciones.

El microprocesador basa su funcionamiento en la ejecución de operaciones aritmético-lógicas simples como suma, resta, multiplicación, división, and , or, not, xor, etc., y operaciones de transferencia de datos y acceso a memoria.

La figura que se muestra a continuación muestra el diagrama de bloques de una CPU Intel 8088. El 8088 fue uno de los procesadores mas populares y fue lanzado por la compañía en 1979. Esta constituido principalmente por una unidad de control, una unidad aritmético-lógica (ALU), registros, unidad de punto flotante, bus de datos y bus de direcciones. Las CPUs mas modernas son mucho mas complejas e incluyen características como pipelining, ejecución fuera de orden y unidades de punto flotante.

Diagrama procesador 8088 de intel
Diagrama procesador 8088 de intel

Ahora que hemos visto un poco acerca de la estructura de un microprocesador básico, debemos explorar en mas detalle cada una de sus partes.

En primer lugar encontramos la unidad de control, cuya función es la de sincronizar la secuencia de operaciones del procesador. Es la encargada de realizar el "fetching" de las instrucciones, de controlar la transferencia de los datos, la lectura, escritura en registros y las operaciones de la ALU.


En segundo lugar tenemos los registros, que se pueden clasificar básicamente en dos tipos: Los registros de propósito especifico y los de propósito general.

Los registros de propósito especifico permiten llevar un récord de estado del procesador en todo momento. Los mas importantes son el contador de programa (PC), el registro de banderas, y el apuntador de pila (SP). El contador de programa es un registro que siempre apunta a la dirección en memoria de programa que se esta ejecutando y su valor es incrementado en 1 en cada ciclo, excepto cuando una instrucción de salto es ejecutada. En resumen, el PC determina el flujo de ejecución de las instrucciones almacenadas en la memoria de programa. El registro de de estado de banderas, como su nombre lo sugiere, guarda el estado de las diferentes banderas que son modificadas por eventos específicos como operaciones aritmético-lógicas, interrupciones y "overflow" de registros, entre otras. Las banderas mas importantes son la bandera de signo (SF), la bandera de cero (ZF), la bandera de acarreo (CF) y la bandera de interrupción (IF). El apuntador de pila guarda la dirección de memoria mas reciente usada por la pila. La pila es un espacio reservado en memoria usado para guardar el estado del procesador cuando se llaman sub-rutinas o cuando el programa agota los registros de propósito general.

Por otro lado, los registros de propósito general son los encargados de almacenar temporalmente los datos con los que el procesador realiza las operaciones, y de guardar los resultados de dichas operaciones. También se utilizan para guardar direcciones de memoria. Los primeros procesadores tenían un numero limitado de registros de propósito general, esta limitación representaba un problema importante ya que cuando la CPU usaba todos los registros o llamaba una subrutina, el programa se veía forzado a utilizar la pila. El inconveniente con la pila es que guarda los datos en la memoria principal que debido a su alta latencia es , en ordenes de magnitud, mucho mas lenta de acceder que los registros internos. Entonces el uso de la pila bajo las circunstancias mencionadas representaba un gran impacto en el rendimiento. Adicional-mente con la introducción de procesadores superescalares y fuera de orden, otros problemas surgieron debido a la cantidad limitada de registros. Los harzards de datos debido a la ejecución de varias instrucciones por ciclo  supondrían un impedimento para obtener todo el potencial de una CPU superescalar.  Para superar los problemas asociados debido a la falta de registros los procesadores modernos incluyen un arreglo que contiene una gran cantidad de registros no arquitecturales, este arreglo es conocido como un archivo de registros. Mediante el uso de un archivo de registros una CPU puede usar técnicas como renombramiento de registros y enventanado de registros, las cuales ayudan a superar los problemas antes mencionados.

El tercer bloque que encontramos es la unidad aritmético-lógica (ALU) es la encargada de realizar operaciones básicas que se mencionaron al principio de este articulo.

El cuarto componente es el bus de datos, que es la interfaz del procesador con el mundo exterior. A través de este recibe los datos que procesara y envía los resultados obtenidos.

Y por ultimo, pero no menos importante, encontramos el bus de direcciones. La función del bus de direcciones es realizar el direccionamiento de la memoria física. La cantidad de bits del bus de direcciones determina cuanta memoria puede direccionar un microprocesador. Por ejemplo, un procesador que tiene un bus de direcciones de 32 bits es capaz de direccionar hasta 4GB de memoria RAM.

Finalmente, otro bloque importante que todo microprocesador moderno incluye es una unidad de punto flotante (FPU). Una FPU es un bloque de procesamiento matemático que permite al procesador producir resultados aritméticos mucho mas precisos cuando se esta operando con números no enteros. Los procesadores anteriores al 486 de Intel no incluían unidad de punto flotante y requerían de un co-procesador matemático externo para realizar tales operaciones.


En este articulo hemos explorado las bases de un microprocesador, su estructura, sus bloques funcionales y sus funciones especificas. En artículos posteriores estaremos dando mayores detalles acerca de la operación de los microprocesadores, sus inconvenientes y sus bloques funcionales.

0 comentarios:

Speak up your mind

Tell us what you're thinking... !

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. ArchPC - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger