Monografias | El CPU como corazon de la organizacion del computador

El CPU como corazon de la organizacion del computador

Resumen: Algunos conceptos fundamentales. Traída de una palabra a partir de la memoria. Almacenamiento de una palabra en la memoria. Transferencias entre registros. Realización de una operación aritmética o lógica. Manejo de registros por compuerta y temporización de transferencias de datos. Organización de bus múltiple. Ejecución de una instrucción completa. Ramificación. Secuenciamiento de señales de control. Controladores fijos. Control microprogramado. INTEL. Pentium Classic. Pentium MMX. Pentium Pro. Pentium II. CELERON. Xeon. AMD. K5. K6. K6-2. CYRIX. 6x86. 6x86MX. MII. Winchip C6.

Publicación enviada por Willman Acosta


 

EL CPU COMO CORAZON DE LA ORGANIZACIÓN DEL COMPUTADOR

 

Willman Acosta

wacosta@engineer.com

 

CONTENIDO

Introducción *

ALGUNOS CONCEPTOS FUNDAMENTALES *

Traída de una palabra a partir de la memoria *

Almacenamiento de una palabra en la memoria *

Transferencias entre registros *

Realización de una operación aritmética o lógica *

Manejo de registros por compuerta y temporización de transferencias de datos *

Organización de bus múltiple *

EJECUCIÓN DE UNA INSTRUCCIÓN COMPLETA *

Ramificación *

SECUENCIAMIENTO DE SEÑALES DE CONTROL *

Controladores fijos *

Control microprogramado *

CONCLUSIONES *

BIBLIOGRAFIA *

ANEXOS *

En esta sección agruparemos a las mayores casas diseñadoras de CPU's; así como a sus productos mas actuales y conocidos en el mundo de los microprocesadores *

INTEL *

Pentium Classic: *

Pentium MMX: *

Pentium Pro: *

Pentium II: *

CELERON *

Xeon *

AMD *

K5: *

K6: *

K6-2: *

CYRIX *

6x86: *

6x86MX: *

MII: *

Winchip C6: *

 

 

Introducción

 

En su forma más simple, un sistema de computadora cuenta conuna unidad que ejecuta instrucciones de programas. Esta unidad se comunica conotros subsistemas dentro de la computadora, y a menudo controla su operación.Debido al papel central de tal unidad se conoce como unidad central deprocesamiento, o CPU (Central processing unit). Dentro de muchas computadoras,un subsistema como una unidad de entrada, o un dispositivo de almacenamientomasivo, puede incorporar una unidad de procesamiento propia. Tal unidad deprocesamiento, aunque es central para su propio subsistema, resulta claro que noes "central" para el sistema de computadora en su conjunto. Sinembargo, los principios del diseño y operación de una CPU son independientesde su posición en un sistema de computadora. Este trabajo estará dedicado a laorganización del hardware que permite a una CPU realizar su función principal:traer instrucciones desde la memoria y ejecutarlas.

El algoritmo de solución de cualquier problema consiste envarios pasos que deben realizarse en una secuencia específica. Para implantartal algoritmo en una computadora, estos pasos se descomponen en pasos más pequeños,cada uno de los cuales representa una instrucción de máquina. La secuencia deinstrucciones resultante es un programa en lenguaje de máquina que representaal algoritmo en cuestión. El mismo enfoque general se utiliza para permitir ala computadora realizar funciones especificadas por instrucciones individualesde máquina. Esto es, cada una de estas instrucciones se ejecuta realizando unasecuencia de operaciones más rudimentarias. Estas operaciones, y los medios porlos cuales se generan, serán el tema principal de análisis en este trabajo.

 

ALGUNOS CONCEPTOSFUNDAMENTALES

Las instrucciones que constituyen un programa que debeejecutar una computadora se cargan en localizaciones secuenciales de su memoriaprincipal. Para ejecutar este programa la CPU trae una instrucción por vez yrealiza las funciones especificadas. Las instrucciones se traen por medio delocalizaciones efectivas de la memoria hasta la ejecución de una ramificacióno de una instrucción de salto. La CPU lleva un control de la dirección de lalocalización de la memoria de la siguiente instrucción, por medio del empleode un registro de la CPU especial al que se denomina contador de programa (PC).Después de traer una instrucción, el contenido del PC se actualiza paraapuntar a la siguiente instrucción de la secuencia.

Considérese, para simplificar, que cada instrucción ocupauna palabra de la memoria. Por lo tanto, la ejecución de una instrucciónrequiere que la CPU realice los siguientes tres pasos:

1 . Traer el contenido de la localización de la memoria a laque apunte el PC. Interpretar el contenido de esta localización como unainstrucción que debe ejecutarse. Por lo tanto, almacenarla en el registro deinstrucción (IR: Instruction Register). En forma simbólica esto puedeescribirse como:

IR ¬[[PL]]

2. Incrementar el contenido del PC en l.

PC ¬[PC] + I

3. Realizar las acciones especificadas por la instrucciónalmacenada en el IR.

Obsérvese que en aquellos casos en que una instrucciónocupa más de una palabra, los pasos 1 y 2 pueden repetirse tantas veces comosea necesario para traer la instrucción completa. Por lo general a estos dospasos se les conoce como fase de traída, mientras que el paso 3 constituye lafase de ejecución.

La estructura de las rutas principales de datos dentro de laCPU: Los bloques de la CPU. Estos bloques pueden organizarse e interconectarsede varias formas. Una de tales organizaciones se muestra en la siguiente figura.En este caso, la unidad aritmética y lógica (ALU) y todos los registros de laCPU están conectados a través de un bus común. Desde luego, este bus esinterno y no debe confundirse con el bus externo, o buses, que conectan a la CPUcon la memoria y los dispositivos de E/S. El bus externo de memoria se muestraen la siguiente figura conectado con la CPU por medio de los registros de datosy de dirección MDR y MAR. El número y funciones de los registros del RO al R(n- 1) varían mucho de una máquina a otra. Pueden ser para que el programadorlos emplee en operaciones generales, pero algunos de ellos pueden ser registrosde aplicación especial, tales como registros índice o apuntadores de pila.

 

 

Figura1.: Organización de bus único para la ruta de datos dentro de la CPU

Dos de los registros de la figura, los registros Y\Z, no se han mencionado. Estos registros son invisibles para el programador;esto es, no necesita preocuparse de su existencia, ya que nunca sonreferenciados en forma directa por instrucción alguna. Sólo son utilizados porCPU para almacenamiento temporal durante la ejecución de ciertas instrucciones.Sin embargo, nunca se utilizan para almacenar datos generados por una instrucciónpara que luego los utilice otra instrucción.

Con pocas instrucciones, la mayor parte de las operaciones delos pasos 1 al 3 mencionados antes pueden llevarse a cabo con una o más de lassiguientes funciones, en alguna secuencia previamente especificada:

     

  1. Traer el contenido de una localización dada de la memoria y cargarlo en un registro de la CPU.

     

     

  2. Almacenar una palabra de datos proveniente de un registro de la CPU en una localización de la memoria dada.

     

     

  3. Transferir una palabra de datos de un registro de la CPU a otro o a la ALU.

     

     

  4. Efectuar una operación aritmética o lógica, y almacenar el resultado en un registro de la CPU.

     

Ahora se examinará con cierto detalle la forma en que cadauna de las funciones anteriores se implanta en una computadora común.

 

Traída de una palabra apartir de la memoria

En una memoria de acceso aleatorio, la información estáalmacenada en localizaciones identificadas por sus direcciones. Para traer unapalabra de información de la memoria, la CPU tiene que especificar la direcciónde la localización de la memoria en donde esta información está almacenada ysolicitar una operación de Leer. Esto se aplica si la información que se va alocalizar es una instrucción de un programa o una palabra de datos (operando)especificada por una instrucción. Entonces, para realizar la traída desde lamemoria, la CPU transfiere la dirección de la palabra de información requeridaal registro de dirección en la memoria (MAR: memory address register). Segúnse muestra en la figura anterior, el MAR está conectado a las líneas dedirección del bus de memoria. Por lo tanto, la dirección de la palabrarequerida se transfiere a la memoria principal. Mientras tanto, la CPU utilizalas líneas de control de bus de memoria para indicar que se requiere unaoperación de Leer. Lo normal es que después de emitir esta solicitud, la CPUespere hasta que reciba una respuesta de la memoria, que le informe que la funciónsolicitada se ha concluido. Esto se logra por medio del uso de otra señal decontrol del bus de memoria, a la cual se denominará Función de MemoriaCompletada (MFC). La memoria pone esta señal en 1 para indicar que el contenidode la localización especificada de la memoria se ha leído y está disponibleen las líneas de datos del bus de memoria. Se considerará que en cuanto la señalMFC sea igual a 1, la información que está en las líneas de datos estácargada en el MDR y por lo tanto está disponible para su uso dentro de la CPU.Esto completa la operación de traída desde la memoria. Como ejemplo, considéreseque la dirección de la localización de la memoria a la que se vaya a efectuarel acceso está en el registro RI y que los datos de la memoria deben cargarseen el registro R2. Esto se logra por medio de la siguiente secuencia deoperaciones:

     

  1. MAR ¬ [R1]

     

     

  2. Leer

     

     

  3. Esperar la señal MFC

     

     

  4. R2 ¬ [MDR]

     

La duración del paso tres depende de la velocidad de lamemoria utilizada. Por lo general, el tiempo necesario para leer una palabra dela memoria es más prolongado que el tiempo requerido para realizar cualquieroperación única dentro de la CPU. Por lo tanto, el tiempo general de laejecución de una instrucción puede disminuir si la secuencia de operacionesestá organizada de manera tal que otra función útil se realice dentro de laCPU mientras espera que la memoria responda. Resulta obvio que sólo lasfunciones que no requieran del empleo del MDR o del MAR podrán realizarsedurante este tiempo. Tal situación se presenta durante la fase de traída desdela memoria. Como pronto se verá, el PC puede incrementarse mientras se esperaque se complete la operación de Leer. En el análisis anterior se ha presentadoun ejemplo de la forma en que la transferencia de datos entre dos dispositivospuede tener lugar, en este caso la CPU y la memoria principal. El mecanismo detransferencia en que un dispositivo inicia la transferencia (solicitud de Leer)y espera hasta que el otro dispositivo responda (señal MFC) se denominatransferencia asíncrona. Puede verse con facilidad que este mecanismo permitetransferir datos entre dos dispositivos independientes que tengan velocidadesdiferentes de operación. Un esquema opcional que se encuentra en algunascomputadoras utiliza transferencias síncronas. En este caso, una de las líneasde control del bus transporta los pulsos de un reloj que funciona continuamentecon una frecuencia fija. Estos pulsos proporcionan señales de temporización ala CPU y a la memoria principal. En cada ciclo del reloj se completa una operaciónde la memoria. Además los instantes en que la dirección se coloca en las líneasde dirección y los datos se cargan en el MDR son fijos en relación con lospulsos del reloj. El esquema de bus síncrono lleva a un implante más simple.Sin embargo, no puede aceptar dispositivos de velocidades muy variadas, si no sereduce la velocidad de todos los dispositivos a la del más lento. En el restodel análisis de la operación de la CPU, se considerará que se emplea un busde memoria asíncrono.

 

Almacenamiento de unapalabra en la memoria

El procedimiento para escribir una palabra en una localizacióndada de la memoria es semejante al empleado para leer de la memoria. La únicaexcepción es que la palabra de datos que se va a escribir se carga en el MDRantes de que se emita el comando Escribir. Si se considera que la palabra dedatos que se va a almacenar en la memoria está en R2, y que la dirección de lamemoria está en R1, la operación de Escribir requiere la siguiente secuencia:

     

  1. MAR ¬ [R1]

     

     

  2. MDR ¬ [R2]

     

     

  3. Escribir

     

     

  4. Esperar la señal MFC

     

Es interesante observar que los pasos 1 y 2 sonindependientes. Por lo tanto, pueden llevarse a cabo en cualquier orden. Enrealidad, pueden efectuarse de manera simultánea, si la arquitectura de lacomputadora lo permite, esto es, si las dos transferencias no utilizan la mismaruta de datos. Desde luego, esto no sería posible en la organización de bus únicode la figura anterior. Obsérvese también que, como en el caso de la operaciónde Leer, el periodo de espera del paso 4 puede encimarse con otras operaciones,siempre y cuando tales operaciones no utilicen los registros MDR o MAR.

 

Transferencias entreregistros

Para permitir la transferencia de datos entre varios bloquesconectados al bus común de la figura anterior, debe haber manejo de entrada ysalida por compuerta. Esto está representado de manera simbólica en la figurasiguiente (2). Las compuertas de entrada y salida del registro Ri estáncontroladas por las señales Rientrada y Risalida,respectivamente. Entonces, cuando el registro Rientrada es igual a 1,los datos disponibles en el bus común se cargan en Ri. De manera semejante,cuando Risalida es igual a l, el contenido del registro Ri se colocaen el bus. Mientras el Risalida es igual a 0, el bus puede utilizarsepara transferir datos de otros registros.

Ahora se examinará la transferencia de datos entre dosregistros. Por ejemplo, para transferir el contenido del registro Rl al registroR4, se necesitan las siguientes acciones:

     

  • Habilitar la compuerta de salida del registro R1 poniendo R1salida en 1 . Esto coloca el contenido de R1 en el bus de la CPU.

     

     

  • Habilitar la compuerta de entrada del registro R4 poniendo R4entrada en 1. Esto carga los datos provenientes del bus de la CPU en el registro R4.

     

Esta transferencia de datos puede representarse en forma simbólica

R1salida, R4entrada

 

Realización de unaoperación aritmética o lógica

Al realizar una operación aritmética o lógica, deberecordarse que la ALU es en sí misma un circuito combinatorio que no tienealmacenamiento interno. Por lo tanto, para realizar una adición, por ejemplo,los dos números que se van a sumar deben estar listos en las dos entradas de laALU simultáneamente. Se proporciona con este fin el registro Y de la figuraanterior (1) que se utiliza para contener uno de los dos números, mientras queel otro es manejado por compuerta hacia el bus. El resultado se almacena enforma temporal en el registro Z. Por lo tanto, la secuencia de operaciones parasumar el contenido del registro R1 con el del registro R2 y almacenar elresultado en el registro R3 debe ser la siguiente:

 

PASO ACCIÓN
1 R1salida ,Yentrada
2 R2salida , Add , Zentrada
3 Zsalida , R3entrada

 

En el paso 2 de esta secuencia el contenido del registro R2se maneja por compuerta hacia el bus; de allí, a la entrada B de la ALU que estáconectada directamente con el bus. El contenido del registro Y siempre estádisponible en la entrada A. La función realizada por la ALU depende de las señalesaplicadas a las líneas de control de la ALU. En este caso, la línea Suma seiguala a 1, provocando que la salida de la ALU sea la suma de los dos númerosen A y B. Esta suma se carga en el registro Z ya que su compuerta de entrada estáabierta (Zentrada). En el tercer paso, el contenido del registro Z setransfiere al registro destino R3. Es obvio que esta última transferencia nopuede realizarse durante el segundo paso, ya que sólo una salida de registropuede conectarse en forma significativa al bus en cualquier momento dado.

 

Manejo de registros porcompuerta y temporización de transferencias de datos

Antes de proceder a analizar la ejecución de instruccionesde máquina, es necesario detenerse brevemente para presentar algunos de losdetalles necesarios del implante para el manejo de datos por compuerta hacia ydesde el bus común de la figura 1. También se presentará una breve panorámicade la temporización requerida para el control de señales que esténinvolucradas en la transferencia de datos entre registros.

Supóngase que cada bit de los registros de las figuras 1 y 2consiste en el seguro simple mostrado en la figura 3. Se considera que elelemento de almacenamiento mostrado es uno de los bits del registro Z. Mientrasque el control de entrada Zentrada es igual a 1, el estado del segurocambia para que corresponda con los datos del bus. Siguiendo el cambio de 1 a 0en la entrada Zentrada, los datos almacenados en el seguroinmediatamente antes de este cambio se aseguran hasta que Zentradasea de nuevo igual a 1. Entonces, las dos compuertas de entrada del seguroimplantan la función de interruptor de control de entrada de la figura 2.

Figura 2.: Manejo por compuerta de entrada y salida para losregistros de la figura 1

Si se examinan los interruptores de salida de la figura 2 semuestra que, en el caso ideal, deben ser interruptores mecánicos deENCENDIDO/APAGADO. Cuando un interruptor dado está ENCENDIDO, transfiere elcontenido de su registro correspondiente al bus. Cuando se encuentra APAGADO,está desconectado eléctricamente del bus. Esto es, no pone al bus en estadoespecífico alguno, permitiendo así que otro registro coloque datos en el bus.Por lo tanto, la salida de la combinación del registro con el interruptor puedeser en uno de los tres estados: 1,0 ó circuito abierto.

Enlos implantes reales, los interruptores mecánicos resultan incompatibles con latecnología electrónica empleada en computadoras en términos de velocidad deoperación y de otras características. En su lugar la compuerta de salida de unregistro que transfiere el contenido de ese registro al bus común se diseñapara que se comporte de la misma forma que un interruptor mecánico. Esto es, escapaz de estar eléctricamente desconectada del bus.

Figura 3.: Entrada y salida manejadas por compuerta para un bitde registro

Es capaz de colocar ya sea un cero o un uno en el bus cuandosea necesario. Debido a estas tres posibilidades, se dice que tal compuertatiene una salida de tres estados. Se utiliza una entrada separada de control,tanto para habilitar la salida por compuerta, como para ponerla en un estado dealta impedancia (desconectada eléctricamente). Este último estado correspondeal de circuito abierto de un interruptor mecánico.

Debe observarse que ni los circuitos de compuerta lógicaTTL, ni los CMOS son adecuados para la conexión directa con un bus. Conectarlas salidas de dos de tales circuitos en paralelo provoca un corto circuito, loque provocaría operación inadecuada o aun daño a las compuertas involucradas.

Un diseño optativo para el bus común de la figura 2 que norequiere de los interruptores de salida, utilizaría compuertas de colectorabierto (para bipolar) o de drenaje abierto (para MOS). La salida de talcompuerta es equivalente a un interruptor a tierra. El interruptor está abiertocuando la salida de compuerta se encuentra en el estado 1 , y cerrado cuando seencuentra en 0. La estructura de un bus de colector abierto está representadasimbólicamente en la figura 4. Cuando no está trabajando, el bus se mantieneen uno debido al resistor de "jalón hacia arriba" mostrado. Entonces,siempre y cuando todos los interruptores de salida de compuerta estén abiertos,esto es, todas las salidas estén en el estado 1, el bus también. Si cualquiersalida de compuerta cambia a 0, el interruptor correspondiente de salida secierra y el bus es "empujado hacia abajo" al estado 0. En otraspalabras, el bus realiza una función AND en todas las salidas de compuertaconectadas con él. Algunas veces a esto se le conoce como conexión de"AND - cableado". Si se utiliza este arreglo de manejo por compuerta,la compuerta de salida de tres estados de la figura 3 puede reemplazarse por unacompuerta de colector abierto NAND, según se muestra. Cuando Zsalidaestá alto (1), el bit almacenado en el seguro se alimenta al bus. Cuando Zsalidaestá bajo (0), el bus se deja en el estado 1 ocioso, permitiendo que los datosprovenientes de otros registros se transfieran al bus.

En general, el diseño de tres estados permite transferenciasde datos más veloces en comparación con el enfoque de colector abierto dedrenaje abierto. Por esta razón su uso en el diseño de buses es mucho más común.La principal característica distintiva de un bus de colector abierto es sucapacidad de AND - cableado, por lo tanto el arreglo de colector abierto seutiliza principalmente para líneas de buses en donde se requiera estacapacidad. Por ejemplo, a menudo se emplea en líneas de solicitud de interrupción.

Ahora se analizarán algunos aspectos de la temporización detransferencias de datos dentro de la CPU.

Figura 4.: estructura de bus de colector abierto

Por ejemplo, considérese la operación de adición del paso2 del almacenamiento de una palabra en la memoria. A partir del momento en quela señal R2salida es igual a 1, hay un retraso temporal para que lacompuerta se abra y para que después los datos viajen a través del bus hastala entrada de la ALU. Los circuitos sumadores de la ALU provocan un retraso más.Para que el resultado se almacene en la forma adecuada en el registro Z, losdatos deben mantenerse en el bus durante un periodo adicional igual al tiempo depreparación y de espera de este registro. Esta situación se muestra en eldiagrama de temporización de la figura 5. La suma de los cinco tiempos deretraso define la duración mínima de la señal R2salida

Organización de bus múltiple

La organización de bus único de la figura 1 representa sólouna de las posibilidades para interconectar distintos bloques de la CPU. Unarreglo alternativo es la estructura de dos buses mostrada en la figura 6. Todaslas salidas de los registros están conectadas al bus A y todas las entradas delos registros están conectadas al bus B. Los dos buses están conectados a travésdel enlace de buses G, el cual, al habilitarse, transfiere los datos contenidosen el bus A al bus B. Cuando se deshabilita G, los dos buses están eléctricamenteaislados. Obsérvese que el registro de almacenamiento temporal Z de la figura 1no es necesario en esta organización debido a que, con el enlace de businhabilitado, la salida de la ALU puede transferirse en forma directa alregistro destino. Por ejemplo, la operación de adición analizada antes (R3 ¬[R1] + [R2]) ahora puede efectuarse de la siguiente forma:

 

PASO ACCION
1 R1salida , Gcapacitado , Yentrada
2 R2salida , Add , ALUsalida , R3entrada

 

Figura 5.: Temporización de las señales de control durante elpaso de Suma

Es importante observar que si los registros son segurossimples como el de la figura 4.3, el registro destino de la secuencia anteriordebe ser diferente de R2, debido a que las dos operaciones R2entraday R2salida no pueden realizarse al mismo tiempo. Esto se debe a quela ALU es una red combinatoria. Por lo tanto, carece de almacenamiento interno.Sin embargo, aún así es posible realizar la operación R2 ¬[R1] + [R2], intercambiando R1salida y R2salida yreemplazando R3entrada por R2entrada en el paso 2. Larestricción de que R2salida y R2entrada no puedanrealizarse en el mismo paso puede atemperarse con el empleo de flip-flopsdisparados por flanco. Si hay uso de flip flops disparados por flanco, latemporización de una transferencia de registros que involucre a R2 permaneceesencialmente igual que la de la figura 5, con Zentrada reemplazadopor R2entrada. En este caso R2entrada representa laentrada de reloj al registro, la cual se considera como disparada por flanconegativa. La salida de R2 permanece sin cambio hasta t2,momento en el que los datos disponibles en el bus de entrada se cargan en R2.

Figura 6.: Estructura de dos buses

Considéreseun ejemplo más de organización de la CPU. En la figura 7 se muestra unaarquitectura de tres buses, con cada bus conectado sólo a una salida y a variasentradas. Al eliminar la necesidad de conectar más de una salida al mismo busse logran transferencias más rápidas de bus en forma simple. Se proporciona unmultiplexor en la entrada de cada uno de los dos registros de trabajo A y 13, locual permite que se carguen ya sea del bus de datos de entrada o del bus dedatos de registro.

Figura 7.: Estructura de tres buses

 

Los registros de aplicación general de la CPU de la figura 7se muestran como un solo bloque. Se considera que están implantados utilizandouna unidad de memoria de acceso aleatorio (RAM: Random-access memory). Debeenfatizarse que en este contexto el término RAM simplemente se refiere al tipode hardware utilizado para implantar los registros y no debe confundirse con laRAM que constituye la memoria principal de la computadora. Esta última estáconectada al bus externo.

 

EJECUCIÓN DE UNAINSTRUCCIÓN COMPLETA

Ahora se intentará conjuntar la secuencia de operacioneselementales necesarias para ejecutar una instrucción. Considérese la instrucción"Sumar el contenido de la localización NUM de la memoria al registroR1". Para simplificar las cosas, la dirección NUM se da en forma explícitaen el campo de dirección de la instrucción. Entonces, la localización NUM seespecifica en el modo directo de memoria. La ejecución de esta instrucciónrequiere de las siguientes acciones.

     

  1. Traer la instrucción

     

     

  2. Traer el primer operando (el contenido de la localización de la memoria a la que señala el campo de dirección de la instrucción).

     

     

  3. Realizar la adición

     

     

  4. Cargar el resultado en RI.

     

PASO ACCION
1 PCsalida, MARentrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Zentrada
2 Zsalida, PCentrada, Espera a MFC
3 MDRsalida, IRsalida
4 Campo de dirección de IRsalida, MARentrada, Leer
5 R1salida, Yentrada, Espera a MFC
6 MDRsalida, Suma, Zentrada
7 Zsalida, R1entrada
8 Fin

Figura 8.: Secuencia de control para la ejecución de lainstrucción "Sumar el contenido de la localización direccionada de lamemoria en el modo directo de la memoria al registro R1".

En la figura 8 se da la secuencia de pasos de controlnecesarios para implantar las operaciones anteriores en la estructura de bus únicode la figura 1. Entonces, la ejecución de instrucción sucede de la siguienteforma. En el paso 1 la operación de traída de la instrucción se iniciacargando el contenido del PC en el MAR y enviando una solicitud de Leer a lamemoria. A1 mismo tiempo se incrementa el PC en 1 a través del uso de la ALU.Esto se logra poniendo una de las entradas a la ALU (registro Y) en 0 y la otraentrada (bus de la CPU) en el valor presente que contenga el PC. Al mismo tiempoel acarreo a la ALU se iguala a 1 y se especifica una operación de Sumar.

El valor actualizado se regresa del registro Z al PC duranteel paso dos. Obsérvese que el paso dos se inicia inmediatamente después deemitir la solicitud de Leer de a memoria, sin necesidad de esperar la conclusiónde la función de la memoria. Sin embargo, el paso 3 tiene que retardarse hastaque se reciba el MFC. En el paso 3, a palabra traída de la memoria se carga enel IR (registro de instrucción: instruction register). Los pasos del 1 al 3constituyen la fase de traída de instrucción de la secuencia de control. Desdeluego, esta parte es la misma para todas las instrucciones.

En cuanto el IR está cargado, el circuito de decodificaciónde instrucción interpreta su contenido. Esto permite a la circuitería decontrol elegir las señales adecuadas para la parte restante de la secuencia decontrol, pasos 4 a 8, a los que se considera como la fase de ejecución. En elpaso 4, el campo de dirección del IR que contiene la dirección NUM, esmanejado por compuerta y se lleva al MAR y se inicia una operación de Leer dela memoria. Después el contenido de la memoria R1 se transfiere al registro Y.Cuando se completa la operación de Leer, el operando de la memoria estádisponible en el registro MDR. La operación de adición se realiza en el paso 6y el resultado se transfiere a R1 en el paso 7. La señal de Fin, paso 8, indicala conclusión de la ejecución de la presente instrucción y provoca que seinicie un nuevo ciclo de traída regresando de nuevo al paso 1.

Ramificación

Las ramificaciones se logran reemplazando el contenido actualdel PC por la dirección de ramificación, esto es, la dirección de lainstrucción a la cual se refiere una ramificación. Por lo común, la direcciónde ramificación se obtiene sumando al valor actual del PC, un valor X decompensación, el cual está dado en el campo de dirección de la instrucciónde ramificación. En la figura 9 se proporciona una secuencia de control quepermite la ramificación de control incondicional utilizando la organización debus único de la figura 1. Como de costumbre, la ejecución se empieza con lafase de traída y termina cuando la instrucción se carga en el IR en el paso 3.Para ejecutar la instrucción de ramificación, el contenido del PC setransfiere al registro Y en el paso 4. Después el valor de compensación X seenvía por compuerta al bus y se realiza la operación de adición. Elresultado, que representa la dirección de ramificación, se carga en el PC enel paso 6.

PASO ACCION
1 PCsalida, MARentrada, Leer, Borrar Y, Fijar el acarreo de la ALU, Suma, Zentrada
2 Zsalida, PCentrada, Espera a MFC
3 MDRsalida, IRsalida
4 PCsalida, Yentrada
5 Campo de dirección de IRsalida, Suma, Zentrada
6 Zsalida, PCentrada
7 Fin

Figura 9.: Secuencia de control para la ejecución de unainstrucción de ramificación incondicional.

Es importante observar que en este ejemplo el PC seincrementa durante la fase de traída, sin importar el tipo de instrucción quese esté ejecutando. Así, en el momento en que el valor de compensación X sesuma al contenido del PC, pasos 4 y 5 de la figura 9, este contenido ya se haactualizado para que apunte a la instrucción que sigue en el programa a lainstrucción de Ramificación. Por lo tanto, el valor de compensación X deberíaser la diferencia entre la dirección de ramificación y la dirección que siguede inmediato a la instrucción de Ramificación. Por ejemplo, si la instrucciónde Ramificación está en la localización 1000 y se requiere ramificar a lalocalización 1050, el valor de X debería ser de 49.

Considérese ahora 1 caso de una ramificación condicional,en vez de una ramificación incondicional. La única diferencia entre este casoy el de la figura 9 es el de la necesidad de verificar el estado de los códigosde condición entre los pasos 3 y 4.Por ejemplo, si la circuitería dedecodificación de instrucción interpreta el contenido del IR como unainstrucción de Ramificación en caso negativo (BRN: Branch on Negative), launidad de control opera de la siguiente forma: primero, se verifica el registrode código de condición. Si el bit N (negativo) es igual a 1, la unidad decontrol procede a los pasos del 4 al 7 como en la figura 9. Por otra parte, si Nes igual a 0 se emite una señal de Fin. En realidad, esto concluye la ejecuciónde la instrucción de Ramificación y provoca que la instrucción inmediata delprograma se traiga, cuando se realice una nueva operación de traer. Por lotanto, la secuencia de control para la secuencia de Ramificación condicionalBRN puede obtenerse a partir de la figura 4.9 reemplazando el paso 4 por:

 

4 If then End
  If N then PCsalida, Yentrada

 

SECUENCIAMIENTODE SEÑALES DE CONTROL

Para ejecutar instrucciones, la CPU debe disponer de algúnmedio para generar en la secuencia adecuada las señales de control analizadasantes. Los diseñadores de computadoras han utilizado una amplia variedad de técnicaspara resolver este problema. Sin embargo, la mayoría de estas técnicas caen enuna de las dos categorías:

     

  1. Control fijo

     

     

  2. Control microprogramado

     

En esta sección se analiza el control fijo (cableadopermanente), seguido por una breve introducción al control microprogramado.Este último se analizará en detalle en el capítulo cinco.

Controladores fijos

Considérese la secuencia de señales de control dada en lafigura 8. Resulta obvio que se requieren ocho lapsos que no se encimen para laejecución adecuada de la instrucción representada por esta secuencia. Cadalapso debe tener una duración suficiente al menos para que sucedan lasfunciones especificadas en el paso correspondiente. Por el momento, considéreseque todos los lapsos son de igual duración. Por lo tanto, es posible implantarel control necesario con el empleo de un contador manejado por un reloj, segúnse muestra en la figura 10. Cada estado o cuenta de este contador corresponde auno de los pasos de las figuras 8 y 9. Por lo tanto, las señales de controlnecesarias están determinadas en forma única por la siguiente información:

     

  • Contenido del contador de control

     

     

  • Contenido del registro de instrucción

     

     

  • Contenido del código de condición y de otras banderas de condición

     

El término banderas de condición indica aquellas señalesque representan el estado de las diferentes secciones de la CPU y de lasdistintas líneas de control conectadas con ella, tales como la señal decondición del MFC de la figura 8.

A fin de lograr cierto conocimiento de la estructura internade la unidad de control se empezará dando una visión simplificada del hardwarerelacionado con ella.

El bloque decodificador-codificador de la figura 10 essimplemente un circuito combinatorio que genera las salidas de controlnecesarias, dependiendo del estado de todas sus entradas. Al separar lasfunciones de decodificación y codificación se obtiene el diagrama de bloque másdetallado de la figura 11. El paso decodificador proporciona una línea separadade señal para cada paso, o lapso, en la secuencia de control. De manerasemejante, la salida del decodificador de instrucción consiste en una líneaseparada para cada instrucción de máquina. Esto es, para cada instruccióncargada en el IR, una de las líneas de salida de la INSl a INSm,se iguala a 1 y todas las otras líneas a 0.

Todas las señales de entrada al bloque de codificación dela figura 11 deben combinarse para que generen las señales individuales decontrol Yentrada, PCsalida, Suma, Fin, etc. La estructuradel codificador está ejemplificada por el circuito dado en la figura 12. Estecircuito es un implante de la función lógica

Zentrada = T1 + T2 ·ADD + T5 ·BR + ...

Esto es, la señal de control Zentrada, quehabilita la entrada al registro Z, se enciende, ON, durante el lapso T1sin importar la instrucción, durante T6 para una instrucción ADD, yasí sucesivamente. Esta parte de la función Zentrada ha sidocompilada a partir de las secuencias de control de las figuras 8 y 9. El términoT, es común a todas las instrucciones ya que ocurre durante la fase de traída.De manera semejante, la señal de control Fin, figura 13, se genera a partir dela función lógica

Fin = T8 ·ADD + T7 ·BR + (T7 ·N + T4 ·)· BRN +...

En la figura 11 se muestra la forma en que es posibleutilizar la señal Fin para iniciar un nuevo ciclo de traída de instrucción,poniendo el contador de paso de control en su valor inicial.

Figura10.: Organización de la unidad de control

Figura11.: Separación de las funciones de decodificación y codificación

Figura12.: Generación de la señal de control Zentrada

 

Las señales MFC y WMFC (Wait for, MFC: espera a MFC)requieren de algunas consideraciones especiales. La señal misma WMFC puedegenerarse de la misma forma que las otras señales de control, utilizando laecuación lógica.

WMFC = T2 + T5 ·ADD + ...

Figura13.: Generación de la señal de control Fin

El efecto que se desea con esta señal es retrasar el iniciodel siguiente paso de control hasta que no se reciba la señal MFC de la memoriaprincipal. Esto puede lograrse inhibiendo el avance del contador de paso decontrol durante el periodo requerido. Considérese que el contador de paso decontrol está regido por una señal llamada RUN. (Corrida)

Figura 14.: Control de la temporización de la CPU

 

El contador avanza un paso en cada pulso de reloj sólo si laseñal RUN es igual a 1 . El circuito de la figura 14a logrará el controldeseado. En cuanto la señal WMFC se genera, RUN se vuelve igual a 0. Entonces,el conteo se inhibe y ningún cambio de señal tiene lugar. La CPU permanece eneste estado de espera hasta que la señal MFC se activa y el contador de paso decontrol se habilita de nuevo. E1 siguiente pulso de reloj incrementa elcontador, lo cual da como resultado que la señal WMFC se iguale de nuevo acero.

El circuito simple de la figura 14a origina un importanteproblema. La señal MFC es generada por la memoria principal, cuya operación esindependiente del reloj de la CPU. Por lo tanto, MFC es una señal asíncronaque puede llegar en cualquier momento a ese reloj. Sin embargo, elfuncionamiento adecuado de la circuitería de la CPU, incluyendo el contador depaso de control, requiere que todas las señales de control tengan tiempos depreparación y de espera con relación al reloj, según se ilustró en la figura5. Por lo tanto, la señal MFC debe estar sincronizada con el reloj de la CPUantes de ser utilizada para producir la señal RUN. Para este fin puedeutilizarse un flip-flop, según se muestra en la figura 14b. La salida de esteflip-flop que se considera como disparada por flanco negativo, cambia en elextremo descendente de CLK. Esto deja suficiente tiempo para que la señal RUNse ponga antes del siguiente flanco ascendente del CLK el cual avanza alcontador. Un diagrama de temporización para una operación de traída deinstrucción se da en la figura 15. En esta figura, se ha considerado que lamemoria principal tendrá alta la señal MFC hasta que descienda la señal deLeer, indicando que la CPU ha recibido los datos.

Figura15.: Temporización de las señales de control durante la traída deinstrucciones

El análisis anterior ha presentado una visión simplificadade la forma en la cual puede generarse la secuencia de señales de controlnecesaria para traer y ejecutar instrucciones. La organización generalrepresentada en las figuras 10 y 11, junto con los diagramas de circuito de lasfiguras de la 12 a la 14, representa un enfoque que permite la implantación deun conjunto arbitrario de instrucciones. Ahora se considerarán algunos aspectosprácticos de la realización de tal circuitería.

Por necesidad, el enfoque empleado en un sistema digital debetener en cuenta las capacidades y limitaciones de la tecnología del implanteelegido. Los circuitos de las figuras 12 y 13 son fáciles de comprender y dediseñar. Sin embargo, es fácil apreciar que el número de compuertas lógicasnecesarias para ello y la complejidad del cableado hacen que este enfoquedirecto resulte poco práctico. El implante de las computadoras modernas se basaen el empleo de la tecnología VLSI. En VLSI, estructuras que abarcan patronesregulares de interconexión resultan mucho más fáciles de implantar que lasconexiones aleatorias empleadas en los circuitos anteriores. Tales estructurasson arreglos lógicos programables (PLA: Programable logic array). Según sedescribe en el apéndice A, un PLA consiste en un arreglo de compuertas ANDseguido por un arreglo de compuertas OR. Puede utilizarse para implantarfunciones lógicas combinatorias de varias variables. Todo el bloque decodificador - decodificador de la figura 10 puede implantarse bajo la forma deun solo PLA. Entonces, la sección de control de una CPU, o para este caso, decualquier sistema digital puede organizarse según se muestra en la figura 16.

Figura 16.: Implante de un controlador de secuencia en un chipVLSI

Antes de concluir el análisis de los controladores fijos,resulta conveniente hacer unos cuantos comentarios. Hasta ahora se ha supuestoque todos los pasos de control suceden en lapsos iguales. Esto lleva a implantarun contador de condición manejado por un reloj. Resulta fácil apreciar queeste enfoque no es muy eficiente en lo referente al uso de la CPU, ya que notodas las operaciones requieren del mismo tiempo. Por ejemplo, por lo generaluna transferencia simple de registro es mucho más rápida que una operaciónque incluya adición o sustracción. Es posible, al menos en teoría, construiruna unidad de control asíncrona por completo. En este caso, el reloj estaríareemplazado por un circuito que haría avanzar el contador de paso en cuanto seconcluya cada paso. En tal enfoque el problema principal es la incorporación dealgunos medios confiables de detectar la conclusión de varias operaciones. Segúnresulta el retraso de propagación en muchos casos es una función, no sólo delas compuertas utilizadas, sino también de los datos específicos que se esténprocesando.

Sin embargo, es posible efectuar algunos arreglos. Porejemplo, puede establecerse una retraso máximo para cada operación y las señalesde temporización pueden generarse con esa base. También es posible utilizarrelojes separados para subsecciones individuales de un circuito. La comunicaciónentre varias subsecciones puede entonces realizarse en forma asíncrona, de unamanera muy parecida a la de las transferencias de datos entre la CPU y lamemoria principal.

 

Control microprogramado

Todas las señales de control requeridas dentro de la CPUpueden generarse utilizando un contador de estado y un circuito PLA. Se analizaráun enfoque alternativo que se utiliza mucho en el diseño de computadoras.Primero se presentarán algunos términos utilizados con frecuencia.

Se empezará por definir palabra de control (CW: controlword) como una palabra cuyos bits individuales representan las diferentes señalesde control de la figura 11. Por lo tanto, cada uno de los pasos de control de lasecuencia de control de una instrucción define una combinación única de unosy ceros en la CW. Por ejemplo, las CW correspondientes a los pasos 5, 6 y 7 dela figura 8 son como se muestran en la figura 17. Una secuencia de CWcorrespondientes a la secuencia de control de una instrucción de máquinaconstituye el microprograma para esa instrucción. Las palabras individuales decontrol en este microprograma por lo general se denominan microinstrucciones.

Figura 17.: Ejemplo de microinstrucciones para la Figura 8

Considérese que los microprogramas correspondientes alconjunto de instrucciones de una computadora están almacenados en una memoriaespecial a la que se denomina la memoria de microprograma. La unidad de controlpuede generar las señales de control para cualquier instrucción, leyendo enforma secuencial las CW del microprograma correspondiente en la memoria demicroprograma. Esto sugiere organizar la unidad de control según se muestra enla figura 18. Para leer en forma secuencial las palabras de control a partir dela memoria de microprograma se emplea un contador de microprograma (mPC). El bloque etiquetado "generación de dirección inicial" esresponsable de la carga de la dirección inicial del microprograma en el mPC cada vez que se carga una nueva instrucción en el IR. Después, el mPC es incrementado en forma automática por el reloj, provocando que se leanmicroinstrucciones sucesivas de la memoria. Por lo tanto, las señales decontrol serán entregadas a las diferentes partes de la CPU en la secuenciacorrecta.

Hasta el momento no se ha analizado una importante funciónde la unidad de control y, en realidad, no se la puede implantar por medio de laorganización simple de la figura 18. Esta es la situación que surge cuando serequiere que la unidad de control verifique el estado de los códigos de condicióno banderas de condición, a fin de elegir entre cursos alternativos de acción.Se ha visto que en el caso de control fijo, esta situación se maneja incluyendouna función lógica adecuada, como en la ecuación "Fin = T8 ·ADD + T7 ·BR + (T7 ·N + T4 ·)· BRN +...", en la circuitería de codificación. Otro enfoque diferente que seutiliza con frecuencia con el control microprogramado se basa en la introduccióndel concepto de ramificación condicional en el microprograma. Esto puedelograrse ampliando el conjunto de microinstrucciones a fin de incluir algunas deramificación condicional. Además de la dirección de ramificación, estasmicroinstrucciones pueden especificar cuál de las banderas de instrucción, códigosde condición o talvez bits del registro de instrucción deben verificarse como condición para quetenga lugar la ramificación.

Figura 18.: Organización básica de una unidad de controlmicroprogramado

Ahora es posible implantar la instrucción de Ramificaciónen Negativo por medio de un microprograma como el que se muestra en la figura19. Se considera que el microprograma para esta instrucción empieza en lalocalización 25. Por lo tanto, una microinstrucción de Ramificación, al finalde la parte de traída de instrucción del microprograma, transfiere el controla la localización 25. Debe observarse que la dirección de ramificación deesta instrucción de Ramificación es en realidad la salida del bloque de"generación de dirección inicial". En la localización 25, unamicroinstrucción de ramificación condicional prueba el bit N de los códigosde condición y provoca una ramificación a Fin, si este bit es igual a 0.

Figura 19.: Microprograma para la instrucción Ramificar enNegativo

Paraapoyar la ramificación de microprogramas, la organización de la unidad decontrol debe modificarse según se muestra en la figura 20.

Figura 20.: Organización de la unidad de control para permitirramificación condicional en el programa

Los bits de la palabra de microinstrucción que especificanlas condiciones y dirección de ramificación se alimentan al bloque"generador de dirección inicial y ramificación". Este bloque realizala función de cargar una nueva dirección en el PC cuando así se le indica,por medio de una microinstrucción. Para habilitar el implante de una ramificacióncondicional, las entradas a este bloque consisten en banderas de condición y códigos,tanto de condición, como del contenido del registro de instrucción. Por lotanto, el ~ PC siempre se incrementa cada vez que se trae una nuevamicroinstrucción a partir de la memoria de microprograma, excepto en lassiguientes situaciones:

     

  1. Cuando se encuentra una microinstrucción a Fin, el UPC se carga con la dirección de la primera CW del microprograma para el ciclo de traída de instrucción (dirección = 0 en la figura 19).

     

     

  2. Cuando se carga una nueva instrucción en el IR, el m PC se carga con la dirección inicial del microprograma para esa instrucción.

     

     

  3. Cuando se encuentra una microinstrucción de Ramificación, y la condición de ramificación se satisface, el m PC se carga con la dirección de ramificación.

     

Organizaciones semejantes a la de la figura 20 se hanimplantado en muchas máquinas. Sin embargo, también se han desarrolladoalgunos enfoques alternativos que se han implantado en la práctica.

En conclusión, deben observarse algunos puntos importantesen lo referente a las máquinas microprogramadas, los cuales son:

     

  1. Los microprogamas definen el conjunto de instrucciones de la computadora. Por lo tanto, es posible modificar el conjunto de instrucciones con cambiar el contenido de la memoria de microprograma. Esto ofrece considerable flexibilidad tanto al diseñador como al usuario de la computadora.

     

     

  2. Ya que el contenido de la memoria de microprograma se cambia con muy poca frecuencia, si es que se llega a hacer, por lo general se llega a utilizar en una memoria de tipo sólo de lectura (ROM: Read Only Memory,).

     

     

  3. La ejecución de cualquier instrucción de máquina involucra varias traídas de la memoria de microprograma. Por lo tanto, la velocidad de esta memoria desempeña un papel importante para determinar la velocidad general de la computadora.

     

 

CONCLUSIONES

En este trabajo se presentó un panorama general de laorganización de la unidad central de procesamiento de una computadora. Muchasvariaciones de las organizaciones aquí presentadas se encuentran en las máquinasdisponibles en el comercio. La elección de una organización específicaimplica tener que equilibrar velocidad de ejecución y costo de implante. Tambiénse ve afectada por otros factores, tales como la tecnología que se emplee, laflexibilidad de modificación, o el deseo de proporcionar algunas capacidadesespeciales en el conjunto de instrucciones de la computadora.

Se presentaron dos enfoques en lo relativo al implante de launidad de control de una CPU: control fijo y control microprogramado. El controlmicroprogramado proporciona considerable flexibilidad en el implante deconjuntos de instrucciones. También facilita la adición de nuevasinstrucciones a máquinas ya existentes.

Cuando se presentó por primera vez el controlmicroprogramado, resultaba mucho más lento que el control fijo, debido a labaja velocidad del almacenamiento ROM. Sin embargo, los avances en la tecnologíaROM han reducido las diferencias de velocidad. Como resultado, ahora el uso delcontrol microprogramado es mucho más frecuente debido a su flexibilidad.

 

BIBLIOGRAFIA

ECKHOUSE, Richard, L. Robert Morris. Sistemas deMinicomputadoras. Organización, Programación y Aplicaciones (PDP-11). 1982.Editorial Dossat, S.A. Madrid. España.

GORDON, Davis. Management Information Systems: Conceptual,Foundations, Structure, and Development. 1974. McGraw Hill Inc. United States ofAmerica.

HAMACHER V. Carl, Zvonko G. Vranesic, Safwat G. Zaky.Computer Organization. 1987. McGraw Hill Inc. United States of America.

HERNÁNDEZ CABALLERO, S. Enciclopedia Temática de Informática.Tomo 1. 1990. Maveco de Ediciones S.A. España.

http://webalias.com/pchardware

  

ANEXOS

En esta secciónagruparemos a las mayores casas diseñadoras de CPU's; así como a sus productosmas actuales y conocidos en el mundo de los microprocesadores

INTEL

PentiumClassic:

Las primeras series, funcionaban a 60 y a 66 Mhz., y debido aque trabajaban a 5V. tenían problemas de sobrecalentamiento. Además trabajabana la misma velocidad que el propio bus. Estos modelos se pueden actualizarmediante el Overdrive de Intel a 120 ó a 133, que duplica la velocidad del bús,e incorpora un reductor de 5V a 3,3V.

A partir del modelo de 75 Mhz ya se empieza a trabajar conmultiplicadores de frecuencia internos para que el rendimiento de losprocesadores sea mayor que el que el bus y la memoria permiten. Además sesoluciona el problema de "calentura" rebajando la tensión defuncionamiento de los nuevos modelos a 3,52 voltios, con lo que se consigue unmenor consumo.

De ésta serie de microprocesadores poco se puede decir queno se sepa. Fué famoso en ellos un "bug" detectado que en unascircunstancias muy concretas provocaba un error de cálculo.

Estáoptimizado para aplicaciones de 16 bits. Disponede 8Kb de caché de instrucciones + 8Kb de caché de datos. Utilizael zócalo de tipo 5 (socket 5) o el de los MMX (tipo 7). También es conocidopor su nombre clave P54C. Estáformado por 3,3 millones de transistores

 

Especificaciones de la gama Pentium
Procesador Frecuencia Tecnología Voltaje Bus Multiplicador Socket
P60 60Mhz. 0,8 µ 5v 60Mhz - 4
P66 66Mhz 0,8 µ 5v 66Mhz - 4
P75 75Mhz 0,6 µ 3,52v 50Mhz 1,5 5 / 7
P90 90Mhz 0,6 µ 3,52v 60Mhz 1,5 5 / 7
P100 100Mhz 0,6 µ 3,52v 66Mhz 1,5 5 / 7
P120 120Mhz 0,35 µ 3,52v 60Mhz 2 5 / 7
P133 133Mhz 0,35 µ 3,52v 66Mhz 2 5 / 7
P150 150Mhz 0,35 µ 3,52v 60Mhz 2,5 7
P166 166Mhz 0,35 µ 3,52v 66Mhz 2,5 7
P200 200Mhz 0,35 µ 3,52v 66Mhz 3 7

 

PentiumMMX:

El Pentium MMX es una mejora del Classic al que se le haincorporado un nuevo juego de instrucciones (57 para ser exactos) orientado amejorar el rendimiento en aplicaciones multimedia, que necesitan mover grancantidad de datos de tipo entero, como pueden ser videos o secuencias musicaleso graficos 2D. Al ser un juego de instrucciones nuevo, si el software queutilizamos no lo contempla, no nos sirve para nada, y ni Windows 95, ni Office97 ni la mayor parte de aplicaciones actuales lo contemplan (Windows 98 si). Sinembargo, aun en el caso de que no utilicemos tales instrucciones, notaremos unamejora debido a que, entre otras mejoras, dispone de una caché que es el doblede la del Pentium "normal", es decir 16 Kb para datos y 16 Kb parainstrucciones.

La gama MMX empieza en los 133Mhz, pero sólo paraportatiles, es decir la versión SL. Para ordenadores de sobremesa la gamaempieza en los 166Mhz., luego viene el de 200 y finalmente el de 233 que utilizaun multiplicador de 3,5 y que además necesita de algo más de corriente que suscompañeros.

 

Sigue siendo un procesador optimizado para aplicaciones de 16bits. Requierezócalo de tipo 7 (socket 7). También es conocido como P55C. Trabajaa doble voltaje 3,3/2,8V. Utilizala misma tecnología de 0,35 micras. Llevaen su interior 4,5 millones de transistores. Tambien podemos distinguir segúnel encapsulado sea plástico o cerámico. El mejor y más moderno es el primero.

 

PentiumPro:

Este es uno de los mejores procesadores que ha sacado Intel, a pesar de su relativa antigüedad. Parte de este mérito lo tiene la caché de segundo nivel, que está implementada en el propio chip, y por tanto se comunica con la CPU a la misma velocidad que trabaja ésta internamente.
El zócalo es específico para este modelo y es conocido como Tipo 8. No cuenta con el juego de instrucciones MMX. Está optimizado para aplicaciones de 32 bits. (Windows NT, Unix, OS/2...) Dispone de una caché L1 de 8KB + 8KB. (instrucciones + datos) Hay una gama de procesadores que posee 256 KB. de caché L2, otra 512, y por último un modelo que cuenta con un Mega. Puede cachear hasta 64 GB. de RAM. Está formado por 5,5 millones de transistores.

 

Especificaciones de la gama Pentium Pro
Procesador Frecuencia Tecnología Caché L2 Voltaje Bus Multiplicador
P.Pro150 150Mhz. 0,6 µ 256K 3,1v 60Mhz 2,5
P.Pro180 180Mhz 0,35 µ 256K 3,3v 60Mhz 3
P.Pro200 200Mhz 0,35 µ 256K 3,3v 66Mhz 3
P.Pro166 166Mhz 0,35 µ 512K 3,3v 66Mhz 2,5
P.Pro200 200Mhz 0,35 µ 512k 3,3v 66Mhz 3
P.Pro200 200Mhz 0,35 µ 1MB 3,3 66Mhz 3

 

PentiumII:

Este es el último lanzamiento de Intel. Básicamente es un PentiumPro al que se ha sacado la memoria cachéde segundo nivel del chip y se ha colocado todo ello en un tarjeta de circuitoimpreso, conectada a la placa a través de un conector parecido al del estandarPCI, llamado Slot 1, y que se es utilizado por dos tipos de cartuchos, el S.E.C.y el S.E.P.P (el de los Celeron). También se le ha incorporado el juego deinstrucciones MMX.
Está optimizado para aplicaciones de 32 bits. Se comercializa en versiones que van desde los 233 hasta los 400 Mhz. Posee 32 Kbytes de caché L1 (de primer nivel) repartidos en 16Kb. para datos y los otros 16 para instrucciones. La caché L2 (segundo nivel) es de 512 Kb. y trabaja a la mitad de la frecuencia del procesador. La velocidad a la que se comunica con el bus (la placa base) sigue siendo de 66 Mhz, pero en las versiones a partir de los 333 ya pueden trabajan a 100 Mhz. Incorpora 7,5 millones de transistores. Los modelos de 0,35 µ pueden cachear hasta 512 Mb, los de 0,25 hasta 4 Gb. (menos los antiguos modelos a 333)

 

Especificaciones de la gama Pentium II
Procesador Frecuencia Tecnología Voltaje
Core
Voltaje I/O Bus Multiplicador
PII 233 233Mhz. 0,35 µ 2,8 v 3,3 66Mhz 3,5
PII 266 266Mhz 0,35 µ 2,8 v 3,3 66Mhz 4
0,25 µ 2,0 v
PII 300 300Mhz 0,35 µ 2,8 v 3,3 66Mhz 4,5
0,25 µ 2,0 v
PII 333 333Mhz 0,25 µ 2,0 v 3,3 66Mhz 5
PII 350 350Mhz 0,25 µ 2,0 v 3,3 100Mhz 3,5
PII 400 400Mhz 0,25 µ 2,0 v 3,3 100Mhz 4

 

CELERON

Este procesador ha tenido una existencia bastante tormentosa debido a los continuos cambios de planes de Intel. Debemos distinguir entre dos empaquetados distintos. El primero es el S.E.P.P que es compatible con el Slot 1 y que viene a ser parecido al empaquetado típico de los PentiumII (el S.E.C.) pero sin la carcasa de plástico.El segundo y más moderno es el P.P.G.A. que es el mismo empaquetado queutilizan los Pentium y Pentium Pro, pero con distinto zócalo. En este caso seutiliza el Socket 370, incompatible con los anteriores socket 7 y 8 y con losactuales Slot 1. Por suerte existen unos adaptadores que permiten montarprocesadores Socket 370 en placas Slot 1 (aunque no al revés).
También debemos distinguir entre los modelos que llevan caché y los que no, ya que las diferencias en prestaciones son realmente importantes. Justamente los modelos sin caché L2 fueron muy criticados porque ofrecían unas prestaciones que en algunos casos eran peores que las de los Pentium MMX a 233.
Está optimizado para aplicaciones de 32 bits. Se comercializa en versiones que van desde los 266 hasta los 466 Mhz. La caché L2 trabaja a la misma velocidad que el procesador (en los modelos en los que la incorpora). Posee 32 Kbytes de caché L1 (de primer nivel) repartidos en 16Kb. para datos y los otros 16 para instrucciones. No poseen cache de nivel 2 los modelos 266-300 y sí el resto (128 KB). La velocidad a la que se comunica con el bus (la placa base) sigue siendo de 66 Mhz. Posee el juego de intrucciones MMX. Incorpora 7,5 millones de transistores en los modelos 266-300 y 9,1millones a partir del 300A (por la memoria caché integrada).

 

Especificaciones de la gama Celeron
Procesador Frecuencia Caché L2 Tecnología Voltaje
Core
Voltaje I/O Bus Multiplr. Zócalo
Celeron 266 266Mhz. 0 0,25 µ 2,0 v 3,3 66Mhz 4 Slot1
Celeron 300 300Mhz 0 0,25 µ 2,0 v 3,3 66Mhz 4,5 Slot1
Celeron 300ª 300Mhz. 128 KB 0,25 µ 2,0 v 3,3 66Mhz 4,5 Slot1-S.370
Celeron 333 333Mhz 128 KB 0,25 µ 2,0 v 3,3 66Mhz 5 Slot1-S.370
Celeron 366 366Mhz. 128 KB 0,25 µ 2,0 v 3,3 66Mhz 5,5 Slot1-S.370
Celeron 400 400Mhz 128 KB 0,25 µ 2,0 v 3,3 66Mhz 6 Slot1-S.370
Celeron 433 433Mhz. 128 KB 0,25 µ 2,0 v 3,3 66Mhz 6,5 Slot1-S.370
Celeron 466 466Mhz 128 KB 0,25 µ 2,0 v 3,3 66Mhz 7 S.370

 

 

 

Xeon

Al Xeon le ocurre algo parecido al Celeron,ya que no dejan de ser variantes de un mismo procesador, o mejor dicho, de unamisma CPU, ya que las variaciones principales están fuera de la CPU.
En este caso, se ha buscado un procesador que sea un digno sucesor del PentiumPro, el cual, y a pesar de los años quehace de su nacimiento, todavía no había sido igualado en muchas de suscaracterísticas, ni por el mismo PentiumII. Este procesador está orientado almismo mercado que el modelo al que pretende sustituir, es decir al de losservidores. En este caso, lo tiene más fácil, ya que la tecnología de socket8 que implementaba el PRO, se había quedado un tanto estancada por su pocadifusión. Por tanto, sus diferencias más importantes las tenemos en su memoriacache de segundo nivel que puede ir desde los 512 Kb. hasta el mega, aunque lospróximos modelos podrán salir ya con 2 MB. Esta memoria además es más rápida,y trabaja a la misma velocidad que la CPU.

Otra característica importante es que mediante la electrónica y el chipset adecuado se pueden montar equipos con hasta 8 procesadores.
La carcasa del procesador también ha experimentado un crecimiento, sobretodo en altura, para que la CPU y demás componentes puedan obtener una mayor refrigeración.
Resumiendo podemos decir que para usuarios individuales no aporta mejoras sustanciales, sobre todo si miramos su precio, pero para plataformas servidoras se convertirá seguramente en el nuevo estándar.
Utiliza el slot 2, que es una variante del slot1, pero incompatible con aquel. Está optimizado para aplicaciones de 32 bits. Posee 32 KBytes de caché L1 (de primer nivel) repartidos en 16KB. para datos y los otros 16 para instrucciones. La cache de segundo nivel puede ser de 512 KB o 1 MB. Para comunicarse con el bus utiliza una velocidad de 100 Mhz. Incorpora 7,5 millones de transistores. Puede cachear hasta 4 Gb. de memoria RAM.

 

Especificaciones de la gama Xeon
Procesador Frecuencia Tecnología Caché L2 Voltaje
Core
Voltaje I/O Bus Multiplicador
Xeon 400 400Mhz. 0,25 µ 512KB 2,0 v 2,5 100Mhz 4
1 MB

 

 

AMD

K5:

El K5 de AMD fué la primera competencia de Intel en el terreno del Pentium. Aunque hoy en día está ya descatalogado, no podemos dejar de mencionarlo, en cuanto que su importancia, no a nivel de ventas, pero si en cuanto a rendimientos fué destacada.
Como la comparación es obligatoria, diremos que maneja peor los datos en punto flotante, debido a una MFU más deficiente que la del Pentium (es decir el famoso coprocesador matemático). Su gama va desde los PR75 hasta los PR166, que identifican a que tipo de Pentium Classic hacen la competencia, no su velocidad real. Resumiendo podemos decir que ofrece unas prestaciones algo mejores que las del Pentium Classic en manejo de enteros y una mejor relación calidad/precio, lo que lo convirtieron en la mejor opción para tareas de oficina. Lástima que saliera al mercado algo tarde.
Optimizado para ejecutar instrucciones de 16 y 32 bits. Utiliza el socket 7. Dispone de una caché de instrucciones de 16Kb, y 8Kb. para los datos. Trabaja a 3,52 voltios y algunos a doble voltaje. Están fabricados con tecnología de 0,35 micras. Incorpora 4,3 millones de transistores.

 

Especificaciones de la gama K5
Procesador Frecuencia Tecnología Voltaje Bus Multiplicador
Core I/O
PR75 75Mhz. 0,35 µ 3,52v 50Mhz 1,5
PR90 90Mhz 0,35 µ 3,52v 60Mhz 1,5
PR100 100Mhz 0,35 µ 3,52v 66Mhz 1,5
PR120ABQ 90Mhz 0,35 µ 3,52v 60Mhz 1,5
PR120AHQ 2,93 3,3
PR133ABQ 100Mhz 0,35 µ 3,52v 66Mhz 1,5
PR133AHQ 2,93 3,3
PR166ABQ 116,66Mhz 0,35 µ 3,52v 66Mhz 1,75*
PR166AHQ 2,93 3,3

 

    • La posición en la placa base debe coincidir con la de x2,5.

 

K6:

Con el K6, AMD no sólo consiguió hacerle la competencia a Intel en el terreno de los MMX, sino además amargarle la vida, ofreciendo un procesador que casi se pone a la altura del mismísimo Pentium II.
En cuanto a potencia bruta, si comparamos sus prestaciones en la ejecución de software de 16 bits, vemos que la diferencia es escasa entre todos los procesadores, quedando como único descolgado el Pentium Pro.
Si pasamos a los programas de 32 bits, aquí es al revés, y el que se lleva la palma es el Pentium Pro (El Pentium II puede vencerle sólo si lo comparamos con versiones a mayor velocidad), quedando el K6 algo por debajo del Pentium II, pero muy por encima del MMX e incluso del Cyrix 6x86MX.
Y ya para terminar en cálculos en punto flotante, el K6 también queda por debajo del Pentium II, pero por encima del MMX y del Pro, y aquí el que se queda más descolgado como siempre es el Cyrix.
Cuenta con una gama que va desde los 166 hasta los 300 Mhz y con el juego de instrucciones MMX, que ya se han convertido en estandar. Optimizado para ejecutar instrucciones tanto de 16 como 32 bits. Utiliza socket 7. Funciona a 66 Mhz, aunque suele tolerar frecuencias de bus de 100 Mhz. sin demasiados problemas en los modelos superiores (sobretodo el 300). La memoria caché esta compuesta por 32 Kb para instrucciones y 32 para datos. Posee 8,8 millones de transistores.

 

Especificaciones de la gama K6
Procesador Frecuencia Tecnología Voltaje Core Voltaje I/O Multiplicador
K6-166 166Mhz 0,35 µ 2,9 3,3 2,5
K6-200 200Mhz 0,35 µ 2,9/2,2 3,3 3
K6-233 233Mhz 0,35 µ 3,2 / 3,3/2,2 3,3 3,5
K6-266 266Mhz 0,25 µ 2,2 3,3 4
K6-300 300Mhz 0,25 µ 2,2 3,45 4,5

 

  

K6-2:

Este procesador es una mejora del K6, al que se le ha añadido un nuevo juego de instrucciones llamado 3D-Now, que acelera las operaciones en 3D, es decir, las operaciones realizadas con grandes cantidades de datos en punto flotante. Una de las ventajas de ésta tecnología es que tiene mecanismos para que la CPU no se quede inactiva mientras se ejecutan los cálculos, como ocurre con el coprocesador.
Al igual que ocurre con las extensiones MMX, para poder aprovecharse de ellas hace falta que el software lo contemple. Una buena noticia para AMD es que Microsoft dará soporte a esta tecnología en sus DirectX 6, aunque su total aprovechamiento sólo es posible con programas que hagan uso directamente del nuevo juego de instrucciones.
Se puede decir tranquilamente que con el software adecuado (software que practicamente no existe), este procesador supera al Pentium II en todo. Otra cosa es que con el MMX2 al llegar (algo parecido al 3DNow), Intel le de la vuelta a la tortilla, y más teniendo en cuenta que el zócalo del futuro seguramente acabará siendo el Slot 2.
Da soporte al bus de 100 Mhz. Hay que tener en cuenta que la norma Super 7 marca que aunque el bus trabaje a 100Mhz, los zócalos PCI y AGP siguen funcionando a sus velocidades nominales, con lo que los problemas apuntados en las placas con soporte a 75 y 83 Mhz. que suelen utilizar los 6x86MX, aquí ya no tienen sentido.
Soporta zócalos tipo 7 a 66 Mhz y tipo Super 7 a 100 Mhz. Dispone de 64 Kb. de caché L1. Fabricado con 8,8 millones de transistores.

 

Especificaciones de la gama K6-2
Procesador Frecuencia Voltaje Core Voltaje I/O Bus Multiplicador
K6-2/266 266Mhz 2,2 3,3 100Mhz 2,5
66Mhz 4
K6-2/300 300Mhz 2,2 3,3 100Mhz 3
66Mhz 4,5
K6-2/333