ELECTRONICA Y COMPUTACION - MICROPROCESADORES - 2

Tomando como base los libros electrónicos producidos por la empresa Kirsmar, desde hace varias ediciones publicamos artículos sobre la descripción, funcionamiento y configuración de diferentes elementos de la PC. Así, tuvimos la oportunidad de conocer los distintos tipos de memoria desde los primeros chips hasta los actuales. En la edición anterior comenzamos a describir el corazón de la CPU: "el microprocesador", y ahora continuamos con el tema. Si desea saber más, puede visitar nuestro sitio de internet en www.webelectronica.com.ar, donde encontrará abundante información y las formas de acceder a lo que Ud. necesita.

REGISTROS
Antes de que el microprocesador pueda trabajar con números o cualquier otro dato, primero debe saber con qué números puede trabajar. El método más directo de dar al chip las variables que necesita es proveérselas al mismo tiempo que la instrucción. Por ejemplo, se podrían mandar los números 6 y 3 junto con la instrucción de restar. Este método simple tiene sus defectos. Los números apropiados se deben encaminar correctamente a las entradas de información del microprocesador. El microprocesador necesita saber si restar 6 de 3 o 3 de 6 (la diferencia podría ser significativa). Pues de acuerdo a como se distingan los números en un problema de sustracción, será el lugar en donde se pondrán en la ecuación (6 - 3 contra 3 - 6), un microprocesador distingue los números con los cuales trabaja por su posición. Dos direcciones de memoria podrían ser suficientes para la manera en que se diseñan la mayoría de los microprocesadores. Ellos solamente tienen un camino a la memoria por lo que pueden ver un valor de la memoria a la vez. Entonces es necesario que un microprocesador cargue por lo menos un número en un área de almacenamiento interno llamada registro, y de esta manera pueda entonces, alcanzar simultáneamente el número en memoria y el valor en su registro interno. Alternativamente (y más comúnmente hoy), ambos valores con los cuales el microprocesador debe trabajar, se cargan separadamente en registros internos.

Parte de la función de cada instrucción del microprocesador, es decidir cuáles registros utilizar para los datos y dónde poner las respuestas que sean regresadas. Otras instrucciones le dicen al microprocesador qué números cargar en sus registros con los cuales trabajará más adelante, o mover la información de un registro que se encuentra en algún lugar a otro en otro lugar, a la memoria o a un puerto de salida.

Un registro funciona de dos maneras, como una memoria y como un banco de trabajo. Mantiene los patrones de bits hasta que pueden ser utilizados o enviados fuera del procesador. El registro también está conectado con los circuitos del microprocesador de modo que los cambios realizados por las instrucciones aparezcan realmente en el registro. La mayoría de los microprocesadores tienen comúnmente varios registros, algunos dedicados a funciones específicas (tales como mantener un apuntador al programa, que indica en qué instrucción nos encontramos en ese momento; este registro es llamado contador o puntero de instrucción) y otros a propósitos generales. Anteriormente, el acumulador era el único registro en un microprocesador que podía realizar cálculos. En los microprocesadores modernos, todos los registros son casi iguales (en los últimos diseños, todos los registros son iguales, e intercambiables), así que el acumulador ahora es poco más que un término colorido de una era pasada.

Los registros son medidos por el número de bits con los que pueden trabajar al mismo tiempo. Un microprocesador de 16 bits, por ejemplo, debe tener uno o más registros que trabajen con 16 bits de datos al mismo tiempo. Los microprocesadores de hoy tienen registros de 32 o 64 bits.

El agregar más registros a un microprocesador no lo hace forzosamente más rápido. Cuando un microprocesador no utiliza características avanzadas tales como pipeling o tecnología superescalar, puede realizar solamente una operación al mismo tiempo. Más de dos registros parecerían excesivos, después de todo, la mayoría de las operaciones de las matemáticas implican solamente dos números al mismo tiempo (o puede ser reducido a una serie de operaciones de dos números). Sin embargo, con los microprocesadores de la vieja tecnología, tener más registros ayudaba al programador a crear programas más eficientes. Con más lugares para poner datos, un programa necesitaría mover la información dentro y fuera del microprocesador lo menos posible, pues puede reducir potencialmente pasos de programación y ciclos de reloj.

El diseño del microprocesador moderno, influenciado por las últimas investigaciones, exige más registros. Ya que los microprocesadores son mucho más rápidos que la memoria, cada vez que el microprocesador tiene que ir a la memoria, provoca retrasos. Por lo tanto, si se reduce al mínimo el acceso a la memoria mejoraría el desempeño total, pues si se mantienen los datos en registros, en vez de en memoria, apresurará las cosas. Por otra parte, tener muchos registros es el equivalente a tener una memoria principal móvil en el microprocesador con todas las complejidades y defectos inherentes de la tecnología de memoria. Las investigaciones han determinado que los microprocesadores con cerca de 32 registros y usando las tecnologías comunes trabajan mejor.

Por lo tanto, casi todos los microprocesadores más avanzados de hoy, como los RISC, tienen 32 registros. El tamaño de los registros, sin embargo, tiene un efecto substancial en el funcionamiento de un microprocesador. Pues más bits asignados a cada registro ocasiona que más información sea procesada por el microprocesador en cada ciclo de reloj. Por lo tanto, un registro de 64 bits en una de los mejores procesadores RISC puede calcular ocho veces más rápido que un registro de 8 bits de un microprocesador de la primera generación.

La ventaja del funcionamiento de usar registros más grandes depende del software que se ejecute. Si por ejemplo, un programa de computadora dice al microprocesador que trabaje en datos de 16 bits al mismo tiempo, el poder de los registros de 32 bits no será utilizado.

Por esta razón, el DOS, (un sistema operativo de 16 bits escrito con instrucciones de 16 bits), no utiliza las ventajas y características completas de los microprocesadores de 32-bit. Por lo tanto, la mayoría de los programas escritos para funcionar bajo el DOS o bajo sistemas operativos avanzados que han heredado código de 16 bits (tal como Windows 95), no aprovechan las ventajas de los registros de 32 bits.

Los sistemas operativos de 32 bits modernos entregan un mejor funcionamiento con microprocesadores tales como el Pentium Pro. Puede ser que note un problema con los registros grandes (digamos los de 64 bits), La mayoría de los datos no alcanzan a utilizarlos completos. El texto viene normalmente en bloques de 8 bits (1 Byte). El sonido toma generalmente la forma de unidades de dos bytes. Los datos de la imagen pueden ser uno, dos, tres, o cuatro bytes pero casi nunca los ocho bytes que muchos microprocesadores modernos prefieren. Los microprocesadores que usan la tecnología MMX de Intel son diseñados para utilizar más eficientemente sus registros grandes, procesando tipos de datos múltiples simultáneamente en un solo registro. Las instrucciones especiales MMX dicen al microprocesador cómo procesar todos los bloques cortos de los datos en uno solo. SSE (el nuevo concepto de Intel de Streaming SIMD Extensions).

 
LOGICA DE CONTROL
Los microprocesadores no ejecutan las instrucciones tan pronto como las señales del código de la instrucción alcanzan los contactos que llegan al microprocesador.

Si los chips reaccionaran inmediatamente a estas señales, llegarían a convertirse rápidamente en instrucciones confusas. Las señales eléctricas no pueden cambiar de estado inmediatamente; pasan siempre por un lapso breve de transición, que aunque pequeño, es un período de nivel indeterminado durante el cual las señales, probablemente, provocarían la caída de un microprocesador y por consiguiente del sistema entero. Por otra parte, las señales no cambian necesariamente en la misma razón de tiempo, así que cuando algunas señales alcanzan los valores correctos, otras pueden todavía estar en los valores incongruentes. Consecuentemente, un microprocesador debe vivir largos períodos de confusión durante los cuales sus señales se encuentran en un período de transición (por lo cual no tienen los datos requeridos, sino que son datos incongruentes).

Para evitar que el microprocesador reaccione a estas señales inválidas, el chip espera una indicación que le dice que es tiempo de ejecutar el siguiente comando válido. Espera hasta que le es enviada una señal de "Continúa". En las PC de hoy, esta indicación es proporcionada por el reloj del sistema. El reloj envía pulsos regulares de voltaje, el equivalente electrónico de hacer tictac de un reloj. El microprocesador verifica las instrucciones que le llegan cada vez que recibe un pulso de reloj.

Los primeros microprocesadores no podían realizar una instrucción cada ciclo de reloj. Estos microprocesadores requerían tanto como 100 pulsos para realizar una sola instrucción. El número de los ciclos requeridos para realizar las instrucciones varía con la instrucción y el diseño del microprocesador. Algunas instrucciones toman unos cuantos ciclos, otros docenas de ellos. Por otra parte, algunos microprocesadores son más eficientes que otros en ejecutar sus instrucciones. La tendencia de hoy es reducir al mínimo e igualar el número de los ciclos de reloj necesarios para realizar una instrucción típica.

Algunos microprocesadores tienden a romper la correspondencia entre el reloj del sistema y el número de las instrucciones que se ejecutan. Cambian deliberadamente la velocidad de reloj externo del sistema antes de que sea utilizada internamente por los circuitos del microprocesador. En la mayoría de los casos, la frecuencia de reloj del sistema es aumentada en un cierto factor discreto (típicamente dos o tres, aunque algunos chips como el Pentium utilizan factores tales como 1.5 como multiplicadores del reloj) de modo que las operaciones dentro del chip son ejecutadas más rápidamente que lo que el reloj externo permitiría. A pesar de las diversas frecuencias dentro y fuera del chip, el reloj del sistema todavía se utiliza para sincronizar operaciones lógicas.

La carencia de correspondencia entre los ciclos de reloj y la ejecución de la instrucción significa que la velocidad del reloj (típicamente una frecuencia dada en Megahertz o Gigahertz, MHz o GHz respectivamente) no sirve para comparar el desempeño relativo de dos microprocesadores. La única vez que la velocidad de reloj da una indicación confiable del desempeño relativo es cuando se comparan dos diseños de chips idénticos que operen a diversas frecuencias, el Pentium III corre a 450 y 500MHz. (el último Pentium III es cerca de 10 por ciento más rápido.)

 
ELECTRONICA
Las computadoras personales podrían no existir a no ser por dos conceptos en los que están basadas: la lógica binaria y los circuitos digitales. Las aproximaciones binarias reducen la información a la forma mínima de representación, esencialmente utilizar el menor número de símbolos posibles para representar la información. Un BIT (BInary digiT) de datos binario indica simplemente si algo es o no es (un “sí” o un “no”). La lógica binaria proporciona las reglas para manipular estos dígitos binarios y permitir que representen y que actúen como información real manejable y utilizable, datos como números, nombres, e imágenes.

La lógica binaria implica el uso del sistema de numeración binario o de base 2, el cual utiliza sólo los dígitos 0 y 1 para representar cualquier tipo de número y con ellos realizar todo tipo de operaciones; también implica el uso del álgebra booleana, que dicta las reglas para realizar las manipulaciones de los datos binarios. El microprocesador es el encargado de la manipulación de la lógica binaria, el microprocesador simplemente controlan el flujo de señales eléctricas. Es un circuito electrónico, una clase especial de circuito llamado circuito de lógica digital.

 
INTERFACES EXTERNAS DEL MICROPROCESADOR
Un procesador ejecuta instrucciones de programas (software) para permitir a la computadora realizar diferentes funciones. El qué tan eficiente y eficazmente se realiza esta tarea, está en función de la arquitectura del microprocesador (el diseño interno). La arquitectura del microprocesador describe la forma en que los datos son procesados internamente, el cual es uno de los factores más importantes que determina el rendimiento global (el otro es la velocidad del reloj).

Las interfaces externas del procesador describen la manera de comunicar la información con la memoria, chipset y otros dispositivos en la PC.

 
BUS DEL PROCESADOR Y LA MEMORIA
El procesador controla a la PC completa, y utiliza rutas o caminos de control dedicados llamados "buses" para enviar la información entre él y el Caché, la memoria y otros dispositivos.

Los buses son las interfaces externas del procesador, las cuales pueden diferir entre CPU's similares.

Existen diferentes tipos de buses en una PC moderna. Entre los más importantes encontramos los buses de E/S PCI e ISA, pero de acuerdo a los alcances de este tema, estos buses no son descritos aquí, para obtener información detallada sobre estos buses y los demás tipos de buses consulte el tema de motherboards. En cuanto al tema de microprocesadores, los buses más importantes son el bus del procesador y el bus de la memoria.

 
BUS TRASERO DEDICADO PARA LA MEMORIA CACHE
Los procesadores convencionales usan un Caché L2 en la motherboard y lo conectan a él utilizando el bus estándar del sistema. Para lograr un mejor rendimiento, muchos procesadores utilizan un bus de gran velocidad dedicado para conectar el procesador al caché L2.

Por ejemplo, en el Pentium estándar a 200MHz ejecutando sobre un bus del sistema de 66MHz, el caché funcionará a 66MHz, la misma velocidad del bus del sistema, puesto que éste funciona con el bus del sistema. El Pentium Pro a 200MHz, tiene un caché L2 integrado que funciona a la velocidad del procesador, o sea 200MHz. Un bus trasero especial gestiona este enlace de datos de gran velocidad entre el procesador y el caché L2 (el cual se encuentra incluido dentro del empaque del procesador). El Pentium II tiene un arreglo de bus similar; funciona a la mitad la velocidad del procesador, por ejemplo en un Pentium II a 266MHz se tiene un bus de caché a 133MHz (mucho más lento que el Pentium Pro pero mucho más rápido que el Pentium).

Tanto el bus caché del Pentium Pro como el del Pentium II, son transaccionales (de no bloqueo) lo que les permite manejar solicitudes concurrentes del sistema del caché, aumentando así el rendimiento.

Otra ventaja de este diseño es que teniendo a los Cachés y a los buses Caché separados del bus principal, se hace más apropiado para el multiprocesamiento.

No sólo permite a cada procesador tener su propio caché sin tener que compartir uno solo en el motherboard, sino que cada caché tiene su propio bus independiente y no interferible. Intel llama a este tipo de arquitectura, arquitectura de Bus Independiente Dual (DIB).

 
BUS DE DATOS
Cada bus está compuesto de dos partes distintas: el bus de datos y el bus de direcciones. El bus de los datos es al que nos referimos al hablar del bus principal, el bus de la memoria o el bus del sistema; éstas son las líneas que realmente llevan los datos transferidos.

Entre más ancho sea el bus de datos, mayor información puede transferirse simultáneamente. Los buses de los datos más anchos generalmente significan mayor rendimiento. La velocidad del bus de datos es dada por la velocidad del reloj del sistema, el cual es también otro controlador del rendimiento del bus.

El ancho de banda del bus de datos nos dice cuánta información puede fluir a través de él, y ésta en función del ancho del bus (en bits) y su velocidad (en MHz). Se puede comparar al bus de datos con una carretera; su ancho es el número de carriles y su velocidad es la rapidez con que los automóviles viajan. El ancho de banda es entonces la cantidad de tráfico que la carretera mantiene en una unidad dada de tiempo, que es una función de cuántos carriles hay y que tan rápido los automóviles viajan en ellos.

El ancho de banda del bus de la memoria es sumamente importante en las PCs modernas, porque es a menudo el principal cuello de botella del desempeño del sistema. Actualmente, con procesadores que funcionan mucho más rápido que otras partes del sistema, aumentar la velocidad de transferencia de datos en el exterior del procesador tiene un impacto mayor en el rendimiento global que acelerar el propio procesador. Esto es porque por ejemplo, un Pentium a 150MHz no es mucho más rápido que un Pentium a 133MHz; el Pentium a 150 funciona bajo un bus del sistema de 60MHz y el Pentium a 133MHz en uno de 66MHz. 10% más de velocidad en el bus del sistema, mejora el rendimiento global mucho más que un 10% más de velocidad en el procesador.

 
TAMAÑO DEL BUS DE DATOS
Y EL ANCHO DE BANDA EN DIFERENTES PROCESADORES
Estas tablas ilustran el tamaño del bus de datos, la velocidad y el ancho de banda para diferentes procesadores. Se puede apreciar que mientras en los últimos años, las velocidades de los procesadores han aumentado en gran medida, las velocidades del bus del sistema han permanecido algo estancadas, y el ancho de banda del bus del sistema ha estado esencialmente inalterado desde la introducción del Pentium en 1994, que funcionaba sobre un bus de 66 MHz.

Hay tres tablas diferentes, reflejando los tres rangos de velocidad generales usados por los buses de datos en las PCs durante los últimos años. En cada tabla la familia de procesadores se lista junto con el ancho del bus de datos. Por lo tanto, una de las columnas proporciona la información del ancho de banda del bus en MB/seg correspondiendo a cada una de las velocidades del bus normalmente usadas por el procesador. Recuerde a los multiplicadores de reloj de los procesadores, puesto que muchos 486 y los procesadores posteriores funcionan en algún múltiplo de la velocidad del bus de sistema.

Muchas personas (incorrectamente) deducen el tamaño del procesador a partir del ancho del bus de datos. Por ejemplo, las personas ven un bus de datos de 64 bits de ancho en el Pentium y concluyen que el Pentium es un procesador de 64 bits. Cuando de hecho, el tamaño de los registros internos es lo que determina el tamaño de un procesador (y basado en esta definición cada procesador, introducido en los últimos años, ha sido de 32 bits).

NOTA.- Para obtener los valores del ancho de banda se realiza de la siguiente forma: Queremos MB/seg, por ejemplo para el Pentium con 66.6MHz, tenemos lo siguiente: 1Hz es 1 ciclo/ seg, entonces 1MHz es 1000000 ciclos/ seg. Ahora 64 bits son 4 bytes, y para transformar bytes a MB hay que dividir entre 220. Como vemos en la fórmula Nº1.

En las tablas 1 a 3 vemos los procesadores de 1ra a 6ta generación.

Tal como mencionamos, este tema es parte del libro electrónico “Microprocesadores”, preparado por Krismar Computación. Ud. puede bajar más información sobre este tema de nuestra web, con la clave “mother”.

 
Sobre un producto de Krismar Computación
FIGURA 1
 
FIGURA 2
 
FIGURA 3
 
FIGURA 4
 
FIGURA 5
 
FIGURA 6
 
FIGURA 7
 
FIGURA 8
 
FORMULA 1
 
TABLA 1
 
TABLA 2
 
TABLA 3
 
 
 
 
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES