P. 1
Los Procesadores

Los Procesadores

|Views: 49|Likes:
Publicado porVicUshie

More info:

Published by: VicUshie on Apr 26, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

08/23/2014

pdf

text

original

PORTADA viernes, 26 de abril de 2013

1

ÍNDICE
Indice ………………………………………………………………..…………………. Introducción …………………………………………………………….……………... Procesadores ……………………………………………………………………….. Historia de los microprocesadores previos a la PC ………………………………... Especificaciones de procesadores …………………………………………………. Administración de energía ………………………………………………………… Ejecución superescalar …………………………………………………………….. Tecnología MMX ………………………………………………………………….. Streaming SIMD Extensions ………………………………………………………. 3DNow y Enhanced 3DNow ………………………………………………………. Ejecución dinámica ……………………………………………………………...… Arquitectura de Bus Dual ………………………………………………………….. Fabricación del Procesador ………………………………………………………... Encapsulamiento de procesadores PGA …………………………………………… Conclusiones ………………………………………………………………………. Bibliografía …………………………………………………………………………

2

INTRODUCCIÓN
El estado cambiante del mundo moderno exige a la tecnología una actualización constante, a tal grado de que el humano ha creado sistemas tan complejos como la inteligencia artificial, la cual es utilizada a su vez para crear tecnología más avanzada, por ello la razón de este documento, conocer el funcionamiento lógico de los pseudos – cerebros electronicos, los microprocesadores. El mundo digital se mueve a través de procesadores, desde gigantescas máquinas creadas hace dos o tres decadas hasta la actualidad, contenidos en menos de 1 cm3 con tecnología de hasta 13 micras (1 micra = 1x10-6 mts ó millonesima parte de metro); de esta manera se han creado aparatos tan sofisticados y pequeños como camaras digitales contenidas dentro de un pequeño aparato del tamaño de una mosca o telefonia móvil del tamaño de un reloj de pulso (aunque se puede más pequeños, pero serían incomodos de utilizar), cada uno de los apartatos que utilizamos hoy en día que nos devuelbe cualquier tipo de respuesta como un reloj de bajo costo que muestra el cronometro después de pulsar un botón hasta una gran computadora al reproducir una película es causado por un procesador. El presente documento se basa en los procesadores diseñados para trabajar computadoras, ordenadores de información capaces de agilizar nuestro trabajo o hacer crecer a grandes empresas como simplemente entretenernos con una buena película o disfrutar de nuestra música favorita. Presentando aquí los tipos y especificaciones de procesadores tratando que el usuario interesado en la organización dichos aparatos entienda e identifique mejor el comportamiento de los sistemas actuales. Nivel de usuario: 7 1 – Principiante 5 – Intermedio 10 –Experto

3

Tipos y especificaciones de procesadores Procesadores
El procesador –también conocido como Unidad Central de Procesamiento, CPU, o microprocesador– es el cerebro o motor de la PC. La CPU lleva a cabo todos los cálculos y procesamientos del sistema. Este componente es el más costoso del equipo entero, y su precio es cuatro veces mayor (o más) al de la tarjeta madre en la que se conecta. Generalmente se reconoce a Intel como el creador del primer microprocesador; en 1971 introdujo el chip llamado 4004. En la actualidad, Intel mantiene el control del mercado de procesadores, por lo menos en el campo de las PCs. Esto implica que todos los sistemas compatibles con PC usan procesadores Intel, o compatibles producidos por un grupo de competidores (como AMD o Cyrix). El predominio de Intel en el mercado de los procesadores no ha sido siempre tan rotundo. Aunque se le reconoce como el inventor del procesador y por haber introducido el primer modelo al mercado, a finales de la década de los setenta, los dos procesadores más populares para PC no eran Intel (aunque uno de ellos era un clon de Intel). Las computadoras personales de aquella época usaban, sobre todo, el Z-80 de Zilog y el 6502 de MOS Technologies. El Z-80 sobresalió por ser un clon mejorado y más barato del Intel 8080, muy a la manera en que las compañías de la actualidad AMD, Cyrix, IDI y Rise Technologies han duplicado los Pentium de Intel. En el primer caso, sin embargo, el clon era más popular que el original. El Z-80 era empleado por los sistemas de finales de los setenta y principios de los ochenta que corrían el sistema operativo CP/M, mientras que el 6502 era conocido por su utilización en las primeras computadoras Apple (antes de la Mac). El destino tanto de Intel como de Microsoft cambió dramáticamente en 1981, cuando IBM introdujo la PC IBM, la cual se basaba en un procesador Intel 8088 a 4.77 MHz, el cual usaba el Sistema Operativo de Disco de Microsoft (MS-DOS) 1.0. A partir de esa decisión trascendental, los sistemas compatibles con PC han usado procesadores Intel o compatibles con Intel, y cada nuevo modelo es capaz de ejecutar el software compatible con su antecesor, del 8088 al Pentium III/Celeron y Athlon/Duron. Las siguientes secciones se ocupan de los tipos de procesadores usados en computadoras personales desde la introducción de la primera PC, hace casi dos décadas. Esas secciones proporcionan descripciones muy detalladas de esos chips y explican por qué un tipo de procesador puede hacer más que el antecesor en el mismo lapso.

Historia de los microprocesadores previos a la PC
Es interesante observar que el microprocesador existió durante sólo diez años antes de la creación de la PC. El microprocesador fue inventado por Intel en 1971; la PC, por IBM, en 1981. Ahora, 25 años después, aún usamos sistemas basados, más o menos, en el diseño de esa primera PC (y la mayoría compatibles con ella). Los procesadores que impulsan nuestras PCs siguen siendo compatibles, en machas maneras, con el 8088 seleccionado por IBM en 1981. El procesador 4004 fue introducido el 15 de noviembre de 1971 y corría originalmente a una velocidad de reloj de 108 KHz (108,000 ciclos por segundo, un poco más de un décimo de megahertz). El 4004 contenía 2,300 transistores y fue construido mediante un proceso de 10 micras, es decir, cada línea, trazo o transistor podía estar separado de los elementos contiguos alrededor de 10 micras (millonésima parte de un metro). Los datos eran transmitidos cuatro bits a la vez, y la memoria máxima direccionable era de sólo 640 bytes. El 4004 fue diseñado para una calculadora, pero resultó ser útil para machas otras funciones gracias a su programabilidad inherente. 4

En abril de 1972, Intel liberó el 8008, el cual corría a ana velocidad de reloj de 200 KHz (0.2 MHz). El 8008 contenía 3,500 transistores bajo el mismo esquema de 10 micras de su antecesor. El gran cambio presentado por el 8008 era su bus de datos de 8 bits, lo cual implicaba su capacidad de transferir 8 bits a la vez, es decir, el doble que el procesador previo. También podía direccionar más memoria, hasta 16 KB. En principio, este chip fue usado en terminales tontas y calculadoras de propósito general. El siguiente chip de la línea, el 8080, fue introducido en abril de 1974, con una frecuencia de reloj de 2 MHz. Debido sobre todo a su mayor velocidad, el 8080 ofrecía un rendimiento 10 veces mayor al del 8008. El 8080 contenía 6,000 transistores y fue construido con un proceso de 6 micras. Como su antecesor, el 8080 tenía un bus de datos de 8 bits, y podía direccionar hasta 64 KB de memoria, significantemente más que el chip previo. Fue, precisamente, el 8080 el que contribuyó a desencadenar la revolución PC, pues fue el usado en lo que generalmente se reconoce como la primera computadora personal, la Altair 8800. El sistema operativo CP/M fue escrito para el chip 8080. Microsoft fue fundada para desarrollar su primer producto: el Microsoft BASIC para la Altair. Estas herramientas iniciales constituyeron los cimientos de una revolución de software ya que se escribieron miles de programas para esta plataforma. De hecho, el 8080 alcanzó tal popularidad que fue clonado. Una compañía llamada Zilog, constituida a finales de 1975 por varios ex ingenieros del Intel 8080, liberó en julio de 1976 el procesador Z-80, el cual era una versión bastante mejorada del 8080. No presentaba compatibilidad de pines, pero integraba funciones como interfaz de memoria y circuitos para actualización de RAM, las cuales permitían el diseño de sistemas más simples y de menor costo. El Z-80 incluía también un superconjunto de instrucciones 8080, lo cual implicaba la capacidad de ejecutar todos los programas del 8080. También agregaba nuevas instrucciones y nuevos registros internos, de manera que el software diseñado para Z-80 no necesariamente corría en el 8080. El Z-80 funcionaba inicialmente a 2.5 MHz (las versiones posteriores lo hacían a 10 MHz), y contenía 8,500 transistores. El Z-80 reconocía 64 KB de memoria. Radio Shack seleccionó el Z-80 para el Modelo 1 TRS-80, su primera PC. También fue el primer chip usado en machos sistemas pioneros como las máquinas Osborne y la Kaypro. Otras compañías se sumaron a esta tendencia y pronto el Z-80 fue el procesador estándar para máquinas con el sistema operativo CP/M y el software más popular de la época. Intel liberó el 8085, el sucesor del 8080, en marzo de 1976. Aunque se estrenó varios meses antes que el Z-80, nunca igualó su popularidad en sistemas de computación personal. Fue popular, más bien, como controlador incrustado, útil en sistemas expandibles (o escalables) y otros equipos computarizados. El 8085 funcionaba a 5 MHz y contenía 6,500 transistores, en un proceso de 3 micras, e incorporaba un bus de 8 bits. Con diferentes lineamientos arquitectónicos, MOS Technologies construyó el 6502 en 1976. Este chip fue diseñado por varios ingenieros que provenían de Motorola, quienes habían trabajado en el primer procesador de esa compañía, el 6800. El 6502 era un procesador de 8 bits como el 8080, pero costaba alrededor de 25 dólares, mientras que el 8080 costaba más a menos 300 cuando salio a la venta. El precio atrajo la atención de Steve Wozniak, quien colocó el chip en los diseños de sus Apple I y Apple II. El chip también fue empleado por sistemas Commodore y otros fabricantes. El 6502 y sus sucesores también llegaron a los juegos por computadora, incluyendo el Sistema de 5

Entretenimiento Nintendo (NES) original, entre otros. Motorola entonces se abocó a crear la serie 68000, cuyos procesadores se convirtieron en la base de la línea de computadoras Apple Macintosh. En la actualidad, esos sistemas usan el PowerPC, de Motorola, y un sucesor de la serie 68000. Todos estos modelos prepararon el camino para los primeros chips de PC. En junio de 1978, Intel introdujo el 8086, el cual incluyó el conjunto original de instrucciones x86, aún presente en los chips compatibles con x86, como los Pentium III. El 8086 constituía un avance notable, pues presentaba un diseño integral de 16 bits con registros internos y bus de datos de 16 bits. Esto implicaba que podía trabajar internamente con números y datos de 16 bits, y además emitir y recibir 16 bits a la vez. El 8086 contenía 29,000 transistores e inicialmente funcionaba a 5 MHz. También usaba un direccionamiento de memoria de 20 bits, lo cual le permitía reconocer directamente hasta 1 MB de memoria. Aunque no tenía una compatibilidad hacia atrás directa con el 8080, el lenguaje y las instrucciones del 8086 eran muy similares y permitían la migración sencilla de programas viejos a la nueva plataforma. Esto resultó de la mayor trascendencia para dar inicio a la revolución del software de PC a través de software CP/M (8080) reciclado. Aunque el 8086 era un microprocesador muy bueno, era bastante costoso y requería de un chip de soporte de 16 bits y un diseño de tarjeta may caros. Para bajar costos, en 1979, Intel liberó una versión reducida del 8086 conocida como el 8088. El 8088 usaba el mismo núcleo del 8086, tenia los mismos registros de 16 bits y podía reconocer la misma cantidad de memoria: 1 MB; la diferencia era su bus de datos, de sólo 8 bits. Esto permitía el uso de los chips de soporte del viejo 8085 a 8 bits y, en consecuencia, la producción de tarjetas y sistemas mucho más económicos. Por esas razones, IBM seleccionó el chip de capacidades reducidas, el 8088, para la primera PC. Esta decisión afectaría la historia de varias maneras. El 8088 presentaba completa compatibilidad de software con el 8086, de manera que podía ejecutar software de 16 bits. Además, gracias a que el conjunto de instrucciones era muy similar al de los 8085 y 8080, los programas escritos para esos procesadores anteriores podían ser fácil y rápidamente modificados. Esto permitió la pronta publicación de una gran cantidad de programas para la PC IBM, ayudándole a convertirse en todo un éxito, el cual forzó la conservación de compatibilidad hacia atrás como factor para mantener el impulso logrado. Con este fin, Intel ha tenido que mantener compatibilidad hacia atrás con el 8088/8086 en la mayoría de los procesadores introducidos al mercado desde entonces. En algunos sentidos, el éxito de la PC, y su arquitectura de Intel, ha limitado el crecimiento de la computadora personal. Sin embargo, por otro lado, ha promovido la producción de una enorme cantidad de programas, periféricos y accesorios; además, se convirtió en un estándar de facto de la industria. El procesador 8088 original usado en la primera PC contenía cerca de 30,000 transistores y funcionaba a menos de 5 MHz. Intel acaba de presentar una versión del Pentium III Xeon con 140 millones de transistores, cantidad nunca antes vista en un procesador, y 2 MB de memoria caché integrada. Tanto AMP como Intel están produciendo modelos que funcionan a 1 GHz (de hecho, AMD llegó a este punto dos días antes que Intel), y ambos han demostrado procesadores en la escala de los 2 GHz. Y el progreso no acaba ahí; de acuerdo con la ley de Moore, la velocidad de procesamiento y la densidad de transistores se duplican cada año y medio a dos años.

Especificaciones de procesadores
A menudo, se hace referencia a especificaciones confusas cuando se habla de procesadores. Estas secciones analizan algunas de ellas incluyendo al bus de datos, el bus de direcciones y la velocidad. 6

La siguiente sección incluye una tabla con las especificaciones de prácticamente todos los procesadores PC. Los procesadores pueden ser identificados a través de dos parámetros principales: su anchara y su velocidad. La velocidad de un procesador es un concepto bastante simple: ésta se cuenta en megahertz (MHz), es decir, millares de ciclos por segundo, y en este caso, ¡entre más rápida, mejor! la anchura de un procesador requiere de una explicación un poco más compleja, porque hay tres especificaciones principales en un procesador expresadas como anchuras. Ellas son: Registras internos Bus de entrada y salida de datos Bus de direccionamiento de memoria Los sistemas de menos de 16 MHz generalmente no cuentan con memoria caché; los de 16 MHz y superiores presentan memoria caché en tarjeta madre, porque la memoria principal de esa época no podía funcionar a 16 MHz. Antes del procesador 486, la caché de tarjeta madre era la única del sistema. A partir de la serie 486, los procesadores comenzaron a incluir lo que se conoce coma caché L1 (Primer Nivel) directamente en el procesador. Esto implicó que la caché L1 funcionara siempre a la misma velocidad del procesador, lo cual cobró especial importancia cuando los 486 comenzaran a operar a velocidades más altas que las correspondientes a las de las tarjetas madre en que estaban conectados. Durante este periodo, el caché de tarjeta madre se conoció como L2 (Segundo Nivel), y funcionaba a la velocidad, menor, de la tarjeta madre. A partir del Pentium Pro y el Pentium II, Intel comenzó a incluir chips de memoria caché L2 directamente dentro del mismo paquete que contiene al procesador. Originalmente, esta caché L2 integrada fue instrumentada en forma de chips contenidos en el paquete del procesador, pero no dentro del circuito integrado del procesador. Dada que los chips de memoria caché comerciales no pudieron mantenerle el paso a la velocidad del procesador, la mayoría de las cachés L2 de esos procesadores corrían al 50 por ciento de la velocidad (en los Pentium II/III y Athlon AMD), y algunas a velocidades incluso menores, a dos quintos o un tercio de la velocidad del procesador (como en el Athlon de AMD). Los procesadores originales Pentium II, III, Celeron y Athlon (Modelos 1 y 2) usan 512 KB de caché L2 de la mitad, dos quintos o un tercio de la velocidad, como lo muestra la tabla 3.1. Tabla 3.1 Velocidades de caché L2 Procesador Velocidad Tamaño L2 Pentium III 450 - 600 MHz 512 KB Athlon 550 - 700 MHz 512 KB Athlon 750 - 850 MHz 512 KB Athlon 900 - 1000 MHz 512 KB

Tipo L2 Externa Externa Externa Externa

Velocidad L2 ½ (225 - 300 MHz) ½ (275 - 350 MHz) 2/5 (300 - 340 MHz) 1/3 (300 - 333 MHz)

Los procesadores Pentium Pro, Pentium II/III Xeon, Pentium III más recientes, Celeron, K6-3, Athlon (Modelo 4) y Duron incluyen caché L2 de la misma velocidad, como lo muestra la tabla 3.2.

7

Tabla 3.2 Cachés con velocidad igual a la del núcleo Procesador Velocidad Tamaño L2 Pentium Pro 150 - 200 MHz 256 KB - 1 MB K6-3 350 - 450 MHz 256 KB Duron 550 - 700+ MHz 64 KB Celeron 300 - 600+ MHz 128 KB Pentium II Xeon 400 - 450 MHz 512 KB - 2MB Athlon 650 - 1000+ MHz 256 KB Pentium III 500 - 1000+ MHz 256 KB Pentium III Xeon 500 - 1000+ MHz 256 KB - 2 MB

Tipo L2 Externa En circuito integrado En circuito integrado En circuito integrado Externa En circuito integrado En circuito integrado En circuito integrado

Velocidad L2 Misma Misma Misma Misma Misma Misma Misma Misma

El problema que originalmente forzaba a la caché L2 a funcionar a una velocidad menor a la del procesador era simple: los chips de caché disponibles en el mercado simplemente no sostenían el paso. Intel fabricó sus propios chips de memoria caché de alta velocidad para los procesadores Xeon, pero esto también los hacia más costosos. La segunda generación de Celeron marcó un avance: Intel integró tanto la caché L1 como la L2 directamente en el circuito integrado del procesador, en donde ambas corren a la misma velocidad del núcleo. Este tipo de diseño fue adoptado rápidamente para la segunda generación de Pentium III, así como en la fabricación de los procesadores AMD K6-3, Athlon y Duron. De hecho, prácticamente todos los procesadores futuros de Intel y AMD han adoptado la caché L2 en circuito integrado o lo harán, pues es la única forma rentable para aumentar al máximo la velocidad de la memoria caché. La tabla 3.3 presenta las especificaciones principales de la familia de procesadores Intel empleados en las PCs IBM y compatibles. La tabla 3.4 muestra los procesadores compatibles con Intel producidos por AMD, Cyrix, NexGen, IDT y Rise. Nota Observe que en la tabla 3.3, el Pentium Pro incluye 256 KB, 512 KB o 1 MB de caché L2 a velocidad completa en un circuito integrado separado dentro del chip. Los procesadores Pentium II/III incluyen 512 KB de caché L2 de velocidad a la mitad, en la tarjeta del procesador. Los Celeron, Pentium II PE y Pentium IIIE incluyen caché L2 a velocidad completa, integrada directamente dentro de la pastilla del procesador. El Celeron III usa el mismo circuito integrado que el Pentium IIIE, aunque la mitad de la caché en circuito integrado está inhabilitada, lo cual deja, 128 KB funcionales. Los totales de los transistores no incluyen los de la caché L2 externa (fuera del circuito integrado) de 256 KB, 512 KB, 1MB o 2 MB incluida en los cartuchos Pentium Pro, Pentium II/III, Xeon, o AMD Athlon. La caché L2 externa de esos procesadores contiene 15.5 (256 KB), 31 (512 KB), 62 (1 MB) o 124 (2 MB) ¡millones de transistores en chips separados! Observe en la tabla 3.4 que el Athlon incluye caché L2 de 512 KB en chips separados, a la mitad, dos quintos o un tercio de la velocidad del núcleo del procesador; o 256 KB de L2 en circuito integrado a la misma velocidad del núcleo, dependiendo de la versión. Tasas de la velocidad de los procesadores Un malentendido común, con respecto a los procesadores, son sus diferentes tasas de velocidad. Esta sección analiza la velocidad del procesador en general, y proporciona información más especifica acerca de los procesadores Intel. 8

La velocidad de reloj de un sistema de computación se mide en términos de frecuencia, por lo regular expresada como un número de ciclos por segundo. Un oscilador de cristal controla las velocidades de reloj mediante una delgada lámina de cuarzo, la cual reside a veces en lo que parece un pequeño contenedor de estaño. Los sistemas nuevos incluyen la circuitería del oscilador en el conjunto de chips de la tarjeta madre, de manera que, en las tarjetas más recientes, puede no ser un componente separado visible. Cuando se aplica voltaje al cuarzo, éste comienza a vibrar (oscilar) a una frecuencia armónica determinada por la forma y tamaño del cristal. Las oscilaciones emanan del cristal en la forma de una corriente que se alterna de acuerdo con su frecuencia armónica. Esta corriente alterna es la señal de reloj, la cual forma la base de tiempo sobre la cual opera la computadora. Un sistema de computación típico corre a millones de esos ciclos por segundo, de manera que la velocidad se mide en megahertz (un hertz es igual a un ciclo por segundo). Una señal de corriente alterna es como la grafica del seno, una onda; el tiempo entre las crestas de cada onda define la frecuencia (vea la figura 3.1).

Ciclos de reloj Un ciclo

Voltaje

Tiempo

Figura 3.1

Señal de corriente alterna que muestra la temporización de un ciclo de reloj.

Nota Un hertz es una unidad denominada así en honor del físico alemán Heinrich Rudolf Hertz, en 1885, Hertz confirmó la teoría electromagnética, según la luz es una forma de radiación electromagnética que se propaga en forma de ondas. Un ciclo individual es la mínima porción de tiempo para el procesador. Cada acción requiere de por lo menos un ciclo y, generalmente, de varios. Por ejemplo, para transferir datos desde y hacia la memoria, un procesador moderno como el Pentium II necesita un mínimo de tres ciclos para preparar la primera transferencia de memoria y sólo uno más por transferencia para llevar a cabo las siguientes tres, cuatro, cinco o seis transferencias consecutivas. Los ciclos adicionales de la primera transferencia son conocidos como estados de espera. Un estado de espera es un tic de reloj en el cual nada sucede; esto asegura que el procesador no se adelante al resto de la computadora.

9

10

Tabla 3.3
Procesador

Especificaciones de procesadores Intel
Reloj del Procesador 1x 1x 1x 1x 1x 1x 1x 2x 1x 1x 1x 2x 2-3x 2.5x 1x 1.5-3x 1.5-4.5x 2-3x 3.5-4.5x 3.5-6x 3.5-4.5x 3.5-8x 4.5-9x 4-6x 4-9x 4-4.5x Voltaje Tamaño de registro interno 16 bits 16 bits 16 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits Anchura de bus de datos 8 bits 16 bits 16 bits 16 bits 16 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits Memoria máxima 1 MB 1 MB 16 MB 16 MB 16 MB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB 64 GB 64 GB 64 GB 64 GB 64 GB 64 GB 64 GB 64 GB 64 GB Caché l1 Tipo de caché l1 --------WT --WT WT WT WT WT WT WT WB WB WB WB WB WB WB WB WB WB WB WB WB Caché l2 Velocidad de caché l2 ------Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Bus Misma Núcleo ? Misma Núcleo Misma Núcleo3 --Misma Núcleo3 Misma Núcleo3 ? Misma Núcleo Misma Núcleo3 Misma Núcleo FPU integral Instrucciones multimedia --------------------------------MMX --MMX MMX MMX MMX SSE SSE SSE MMX No. De transistor es 29,000 29,000 134,000 275,000 855,000 275,000 1,185 M 1,185 M 1.2 M 1.2 M 1.4 M 1.2 M 1.6 M 3.1 M 3.1 M 3.3 M 4.5 M 5.5 M 7.5 M 27.4 M 7.5 M 19 M 28.1 M4 9.5 M 28.1 M 7.5 M Fecha de introducción Junio de 1979 Junio de 1978 Feb. de 1982 Junio de 1988 Oct. de 1990 Oct. de 1985 Abril de 1991 Abril de 1994 Abril de 1991 Abril de 1989 Nov. de 1992 Marzo de 1992 Feb. de 1994 Enero de 1995 Marzo de 1993 Oct. de 1994 Enero de 1997 Nov. de 1995 Mayo de 1997 Enero de 1999 Abril de 1998 Agosto de 1998 Feb. del 2000 Feb. de 1999 Oct. de 1999 Abril de 1998

8088 8086 286 386SX 386Sl 386DX 486SX 486SX2 487SX 486DX 486Sl2 486DX2 486DX4 486Pentium OD Pentium 60/66 Pentium 75-200 Pentium MMX Pentium Pro Pentium II Pentium II PE Celeron Celeron A Celeron III Pentium III Pentium IIIE Pentium II Xeon

5v 5v 5v 5v 3.3 v 5v 5v 5v 5v 5v 3.3 v 5v 3.3 v 5v 5v 3.3-3.5 v 1.8-2.8 v 3.3 v 1.8-2.8 v 1.6 v 1.8-2.8 v 1.5-2 v 1.3-1.6 v 1.8-2 v 1.3-1.7 v 1.8-2.8 v

--------0 KB1 --8 KB 8 KB 8 KB 8 KB 8 KB 8 KB 16 KB 2x16 KB 2x8 KB 2x8 KB 2x16 KB 2x16 KB 2x16 KB 2x16 KB 2x16 KB 2x16 KB 2x16 KB 2x16 KB 2x16 KB 2x16 KB

Pentium III Xeon

5-6x

1.8-2.8 v

32 bits

64 bits

64 GB

2x16 KB

WB

Pentium IIIE Xeon

4.5-6.5x

1.65 v

32 bits

64 bits

64 GB

2x16 KB

WB

----------------------------------256 KB 512 KB 1 MB 512 KB 256 KB 0 KB 128 KB 128 KB 512 KB 1 MB 2MB 512 KB 1 MB 2 MB 256 KB 1 MB 2 MB

----------------Sí Sí Opc. Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí

Misma Núcleo Misma Núcleo3

SSE

9.5 M 28.1 M 84 M 140 M

Marzo de 1999 Oct. de 1999 Mayo del 2000

SSE

Tabla 3.4
Procesador

Procesadores AMD, Cyrix, NexGen, IDT y Rise
Reloj del Procesador 1.5-1.75x 2.5-4.5x 2.5-6x 3.5-4.5x 5-10x 5-10x 5-10x 2x 2-3.5x 2.5-7x 2x 3-4x 2.33-4x Voltaje Tamaño de registro interno 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits 32 bits Anchura de bus de datos 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits Memoria máxima 4 GB 4 GB 4 GB 4 GB 8 GB 8 GB 8 GB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB Caché l1 Tipo de caché l1 WB WB WB WB WB WB WB WB WB WB WB WB WB Caché l2 Velocidad de caché l2 Bus Bus Bus Misma núcleo3 1/2 -1/3 M. núcleo Misma núcleo3 Misma núcleo3 Bus Bus Misma núcleo3 Bus Bus Bus FPU integral Instrucciones multimedia --MMX 3DNnow 3DNnow Enh. 3DNnow Enh. 3DNnow Enh. 3DNnow --MMX 3DNnow --MMX 3DNnow No. De transistor es 4.3 M 8.8 M 9.3 M 21.3 M 22 M 25 M 37 M 3M 6.5 M 22 M 3.5 M 5.4 M 5.9 M Fecha de introducción Marzo de 1996 Abril de 1997 Mayo de 1998 Feb. De 1999 Junio de 1999 Junio 2000 Junio 2000 Feb. De 1996 Mayo de 2000 Feb. de 2000 Marzo de 1994 Octubre de 1997 Sept. de 1998

AMD K5 AMD K6 AMD K6-2 AMD K6-3 AMD Atthlon AMD Duron AMD Atthlon 4 (Thunderbird) Cyrix 6x86 Cyrix 6x86MX/MII Cyrix III NextGen Nx586 IDT Winchip IDT Winchip2/2ª

3.5v 2.2-3.2v 1.9-2.4v 1.8-2.4v 1.6-1.8v 1.5-1.8v 1.5-1.8v 2.5-3.5v 2.2-2.9v 2.2v 4v 3.3-3.5v 3.3-3.5v

16+8 KB 2x32 KB 2x32 KB 2x32 KB 2x64 KB 2x64 KB 2x64 KB 16 KB 64 KB 64 KB 2x16 KB 2x32 KB 2x32 KB

------256 KB 512 KB 64 KB 256 KB ----256 KB -------

Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí Sí

11

Rise mp6

2-3.5x

2.8v

32 bits

64 bits

4 GB

2x8 KB

WB

---

Bus

MMX

3.6 M

Oct. de 1998

FPU = Unidad de punto flotante (coprocesador, matemático interno). WT = Caché de escritura directa (sólo de escritura). WB = Caché de reescritura (de escritura y lectura). Bus = Velocidad de bus externa del procesador (velocidad de tarjeta madre). Misma núcleo = Velocidad interna del núcleo del procesador (Velocidad de procesador). MMX = Extensiones multimedia, 57 instrucciones adicionales para procesamiento de gráficos y sonido. 3DNow = MMX más 21 instrucciones adicionales para procesamiento do gráficos y sonido. Enh. 3DNow = 3DNow más 24 instrucciones para procesamiento do gráficos y sonido. SSE = Streaming SIMD (Instrucción Única, Datos Múltiples) Extensions, MMX más 70 instrucciones adicionales para procesamiento de gráficos y sonido. 1 El 386Sl contiene un controlador de caché integral, pero la memoria caché debe proporcionarse fuera del chip. 2 Intel comercializó posteriormente versiones Sl Enhanced de los SX, DX y DX2. Estos procesadores estaban disponibles tanto en versiones 5v como 3.3v, e incluían capacidades de administración de energía. 3 Caché l2 integrada en el circuito integrado, corre a la misma velocidad del núcleo. 4 Caché l2 de 128 KB funcionales (256 KB totales, 128 KB inhabilitados), usa el mismo circuito integrado que el Pentium IIIE.

12

También varía el tiempo requerido para ejecutar instrucciones: 8086 y 8088. A los procesadores originales 8086 y 8088 les toma un promedio de 12 ciclos ejecutar una sola instrucción. 286 y 386. Los procesadores 286 y 386 mejoraron esta velocidad alrededor do 4.5 ciclos por instrucción. 486. El 486 y la mayoría de los otros procesadores compatibles con Intel de la cuarta generación, como el AMD 5x86 aumentaron la velocidad aún más, hasta llegar a los dos ciclos por instrucción. Pentium, serie K6. La arquitectura del Pentium y de otros procesadores compatibles con Intel de la quinta generación, como los de AMD y Cyrix incluyen canales dobles para instrucciones y otras mejoras que permiten el funcionamiento a una o dos instrucciones por ciclo. Pentium Pro, Pentium II/III/Celeron y Athlon/Duron. Esos procesadores de clase P6, así como otros de la sexta generación como los AMD y Cyrix, pueden ejecutar hasta tres o más instrucciones por ciclo. La diferencia en tiempos de ejecución de instrucciones (en ciclos) dificulta la comparación de sistemas con base solamente en la velocidad de reloj o en el número de ciclos por segundo. ¿Cómo es pasible que dos procesadores con la misma frecuencia de reloj puedan tener rendimientos tan diferentes? la respuesta es simple: gracias a la eficiencia. La razón principal por la cual el 486 fue considerado rápido en comparación con el 386, era su capacidad de ejecutar el doble de instrucciones en el mismo número de ciclos. Lo mismo sucedió con el Pentium: en un número dado de ciclos, procesa el doble de instrucciones que el 486. Esto significa que con la misma velocidad de reloj, un Pentium será el doble de rápido qué un 486, y en consecuencia, un procesador de clase 486 a 133 MHz (como el AMD 5x86-133) ¡no será tan rápido como un Pentium a 75 MHz! Esto se debe a que un megahertz del Pentium “vale” cerca del doble de un megahertz del 486, en términos de instrucciones ejecutadas por ciclo. Los Pentium II y III son alrededor de 50 por ciento más rápidos que un Pentium equivalente a una velocidad de reloj dada, porque pueden ejecutar la misma cantidad de instrucciones en el mismo número de ciclos. Mediante la comparación del rendimiento relativo de un procesador, se puede observar que un Pentium III a 1000 MHz es tan rápido como un Pentium hipotético a 1,500 MHz, el cual sería igual a un 486 de 3,000 MHz; éste, a su vez, seria comparable a un 286 ó 386 de 6,000 MHz, los cuales serian iguales en rendimiento a un 8088 de 12,000 MHz. El 8088 original de la PC funcionaba a sólo 4.77 MHz; en la actualidad, hay sistemas ¡alrededor de 2,500 veces más rápidos! Como puede darse cuenta, no es suficiente la comparación de sistemas con base sólo en la velocidad en MHz, porque hay machos otros factores que afectan el rendimiento del sistema. La evaluación del rendimiento del CPU puede ser un tanto confusa. Debido a las diferentes arquitecturas internas de los procesadores, éstos funcionan de manera diferente y pueden ser muy rápidos en unas tareas y lentos en otras. Para efectuar una comparación justa entre procesadores diferentes con distintas velocidades de reloj, Intel ha establecido una serie de pruebas comparativas conocida coma el iCOMP (Índice Comparativo de Rendimiento de Microprocesadores Intel), que se puede ejecutar en procesadores para producir un criterio relativo de rendimiento. El índice iCOMP ha experimentado dos actualizaciones, por ello se ha publicado en tres versiones: iCOMP, iCOMP 2.0 e iCOMP 3.0. La tabla 3.5 muestra la potencia relativa, o índice iCOMP 2.0, para varios procesadores. 13

Tabla 3.5 Clasificaciones según el índice iCOMP 2.0 Procesador Índice iCOMP 2.0 Procesador Índice iCOMP 2.0 Pentium 75 67 Pentium Pro 200 220 Pentium 100 90 Celeron 300 226 Pentium 120 100 Pentium II 233 267 Pentium 133 111 Celeron 300ª 296 Pentium 150 114 Pentium II 266 303 Pentium 166 127 Celeron 333 318 Pentium 200 142 Pentium II 300 332 Pentium-MMX 166 160 Pentium II Overdrive 300 351 Pentium Pro 150 168 Pentium II 333 366 Pentium-MMX 200 182 Pentium II 350 386 Pentium Pro 180 197 Pentium II Overdrive 333 387 Pentium-MMX 233 203 Pentium II 400 440 Celeron 266 213 Pentium II 450 483 El índice iCOMP 2.0 se deriva de varias pruebas comparativas independientes, y constituye un indicio confiable del rendimiento relativo del procesador. Las pruebas comparativas equilibran rendimiento en procesamiento de íntegros, números de punto flotante y multimedia. Recientemente, Intel descontinuó el iCOMP 2.0 y lanzó el iCOMP 3.0. iCOMP 3.0 es una prueba comparativa actualizada que incorpora el uso en aumento de 3D, multimedia y tecnología y software para Internet, así como el uso cada vez mayor de flujos ricos en datos y aplicaciones de procesamiento intensivo, incluyendo 3D, multimedia y tecnología de Internet. iCOMP 3.0 combina seis pruebas comparativas: WinTune 98 Advanced CPU Integer, CPUmark 99, 3D WinBench 993D lighting and Transformation Test, MultimediaMark 99, Jmark 2.0 Procesador Test, y Win-Bench 99-FPU WinMark. Estas nuevas versiones aprovechan las SSE (Streaming SIMD Extensions), e instrucciones adicionales para gráficos y de sonido integradas en el PIII. Sin esas nuevas instrucciones, el PIII rendiría más a menos lo mismo que un PII de la misma velocidad de reloj. Tabla 3.6 Procesador Pentium II 350 Pentium II 450 Pentium III 450 Pentium III 500 Pentium III 550 Pentium III 600 Pentium III 600E Clasificaciones según el índice iCOMP 3.0 Índice iCOMP 3.0 Procesador 1000 Pentium III 650 1240 Pentium III 700 1500 Pentium III 750 1650 Pentium III 800 1780 Pentium III 866 1930 Pentium III 1000 2110

Índice iCOMP 3.0 2270 2420 2540 2690 2890 3280

Consideraciones para interpretar los resultados iCOMP La calificación de cada procesador es calculada al momento de su introducción, mediante un sistema comercial bien configurado. Las calificaciones relativas del índice iCOMP 3.0 y el rendimiento real del sistema pueden ser afectados por cambios futuros en el diseño y configuración del software; pueden afectar también las diferencias en los componentes o ciertas características de los procesadores, como la caché L2, la velocidad del bus, instrucciones multimedia o para gráficos extendidas, o mejoras en el servicio de fabricación del procesador. Las diferencias en los componentes de hardware distintos al procesador utilizados en los sistemas de 14

prueba también pueden afectar la forma en que la calificación iCOMP se relaciona con el rendimiento real del sistema, las calificaciones iCOMP 3.0 no pueden compararse con versiones anteriores del índice iCOMP porque se utilizan diferentes ponderaciones y pruebas comparativas para calcular resultados.

Velocidades y marcajes de procesadores contra velocidad de tarjetas madre Otro factor de confusión implicado en la comparación del rendimiento de procesadores es el hecho de que prácticamente todos los procesadores modernos, a partir del 486DX2, funcionan a algún múltiplo de la velocidad de la tarjeta madre. Por ejemplo, un Celeron 600 funciona a nueve veces la velocidad de 66 MHz de la tarjeta madre, mientras que un Pentium III de 1 GHz funciona a 7.5 veces la velocidad de 133 MHz de su tarjeta madre. Hasta a principios de 1998, la mayoría de las tarjetas madre trabajaban a 66 MHz o menos, porque era la velocidad que en ese entonces soportaban los procesadores de Intel. En abril de 1998, Intel liberó procesadores y conjuntos de chips de tarjeta madre diseñados para funcionar a 100 MHz. Cyrix tiene algunos procesadores diseñados para correr en tarjetas madre a 75 MHz, y varias tarjetas Pentium son capaces de trabajar a esa misma velocidad, aunque técnicamente Intel nunca la soportó. AMD también tiene versiones del K6-2 diseñadas para funcionar en tarjetas madre de 100 MHz. A finales de 1999, se pusieron a la venta conjuntos de chips y tarjetas madre de 133 MHz para soportar los nuevos procesadores Pentium III. En ese año, surgieron también tarjetas madre y conjuntas de chips Athlon AMD de 100 MHz, los cuales usaban una técnica de doble transferencia para conseguir una velocidad de transferencia de datos de 200 MHz entre el Athlon y el chip principal North Bridge del conjunto de chips. Normalmente, se puede establecer la velocidad de la tarjeta madre y el parámetro del multiplicador mediante jumpers u otros mecanismos de configuración (como el Setup del BIOS) en la tarjeta madre. Los sistemas modernos usan un sintetizador de frecuencia variable, el cual por lo regular se encuentra en el conjunto principal de chips de la tarjeta madre para controlar la velocidad de ésta y del procesador. La mayoría de las tarjetas madre Pentium tiene tres a cuatro configuraciones de velocidad. Los procesadores usados en la actualidad están disponibles en una amplia variedad de versiones que corren a diferentes frecuencias con base en una velocidad dada de tarjeta madre; por ejemplo, la mayoría de los procesadores Pentium funcionan a una velocidad que es un múltiplo de la velocidad real de la tarjeta madre. Consulte la tabla 3.7 para ver las velocidades de los procesadores y las tarjetas madre Pentium. Nota Para obtener información sobre un procesador AMD o Cyrix específico, vea las secciones respectivas contenidas aquí mismo. Tabla 3.7 Tipo de CPU Pentium Pentium Pentium Pentium Pentium Velocidades de procesadores y tarjetas madre Intel Velocidad de Multiplicador Velocidad de tarjeta CPU (MHz) de reloj de CPU madre (MHz) 60 1x 60 66 1x 66 75 1.5x 50 90 1.5x 60 100 1.5x 66 15

Pentium Pentium Pentium Pentium/Pentium Pro/MMX Pentium/Pentium Pro Pentium/Pentium Pro/MMX Pentium-MMX/Pentium II Pentium-MMX(Mobile)/ PentiumII/Celeron Pentium II/Celeron Pentium II/Celeron Pentium II/Celeron Celeron Celeron Celeron Celeron Celeron Celeron Celeron Celeron Celeron Pentium II Pentium II/Xeon Pentium II/III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon Pentium III/Xeon

120 133 150 166 180 200 233 266 300 333 366 400 433 466 500 533 566 600 633 667 350 400 450 500 550 600 650 700 750 800 850 533 600 667 733 800 866 933 1000 1066 1133 1200 1200 1333

2x 2x 2.5x 2.5x 3x 3x 3.5x 4x 4.5x 5x 5.5x 6x 6.5x 7x 7.5x 8x 8.5x 9x 9.5x 10x 3.5x 4x 4.5x 5x 5.5x 6x 6.5x 7x 7.5x 8x 8.5x 4x 4.5x 5x 5.5x 6x 6.5x 7x 7.5x 8x 8.5x 9x 9.5x 10x

60 66 60 66 60 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 100 100 100 100 100 100 100 100 100 100 100 133 133 133 133 133 133 133 133 133 133 133 133 133

16

Si el resto de las variables es el mismo, incluyendo el tipo de procesador, el número de estados de espera (ciclos vacíos) agregados a los distintos tipos de accesos a memoria, y el ancho del bus de datos, usted podrá comparar dos sistemas mediante sus respectivas velocidades de reloj. Sin embargo, la construcción y el diseño del controlador de memoria (contenido en el conjunto de chips de la tarjeta madre), además del tipo y cantidad de memoria instalada, pueden tener un efecto importante en la velocidad final de ejecución de un sistema. Durante la construcción de un procesador, el fabricante lo prueba a diferentes velocidades, temperaturas y presiones. Después de esta fase de pruebas, recibe un sello en donde se indica la máxima velocidad a la cual puede funcionar seguramente la unidad bajo la extensa variación de temperaturas y presiones producidas durante la operación normal. Estas especificaciones se explicitan claramente en el empaque del procesador. En algunos sistemas es posible configurar la velocidad del procesador a una velocidad mayor que la especificada en el chip; a esto se llama Aumento de la velocidad del reloj (Overclocking). En machos casos, es posible aumentar la velocidad hasta cierto punto, dado que Intel, AMD y otros fabricantes a menudo incluyen márgenes de seguridad en sus calificaciones. Es decir, un chip etiquetado con la velocidad de, digamos, 800 MHz, puede en realidad funcionar a 900 MHz o más, pero se especifica una velocidad menor para dar un margen de confiabilidad. Al realizar esta maniobra, lo que usted hace es utilizar este margen y correr el procesador a una velocidad cercana a su velocidad máxima real. No lo recomiendo a los novatos, pero si se siente confiado manipulando su sistema, y es capaz de manejar las consecuencias potenciales, el aumento de velocidad le permitirá obtener mayor rendimiento de su sistema. En cualquier caso, debe considerar varias cuestiones. Una es que la mayoría de los procesadores Intel desde el Pentium II tienen bloqueado el multiplicador desde antes de salir de la fábrica. Esto implica que cualquier cambio a la configuración del multiplicador de la tarjeta madre simplemente será ignorado por el procesador. Tanto Intel como AMD bloquean los multiplicadores de la mayoría de sus procesadores más recientes. Aunque originalmente esta medida fue para evitar que los remarcadores falsificaran las etiquetas de los procesadores, ha tenido un impacto positivo en los entusiastas del rendimiento, dejando como la única opción para aumentar la velocidad de reloj más allá de la estándar, la manipulación de la velocidad del bus de la tarjeta madre. También es posible meterse en problemas al aumentar la velocidad del bus de la tarjeta madre. Por ejemplo, las tarjetas madre de Intel simplemente no aceptan velocidades de reloj distintas a las configuraciones estándar de 66 MHz, 100 MHz ó 133 MHz. Además, todas sus tarjetas con configuración por software (Setup del BIOS) leen las configuraciones adecuadas del procesador instalado y son las únicas permitidas. En otras palabras, usted simplemente conecta el procesador, y la tarjeta madre Intel sólo permitirá las configuraciones para las que fue diseñado el procesador. Incluso si pudiera ingeniárselas para que el procesador aceptara una configuración diferente, el salto de 66 MHz a 100 MHz, o de 100 MHz a 133 MHz es muy grande, y muchos procesadores no son capaces de lograrlo de manera confiable. Por ejemplo, un Pentium III 800E funciona a una velocidad de bus de 100 MHz con un multiplicador 8x. Forzar la velocidad de la tarjeta madre a 133 MHz causaría que el procesador intentara funcionar a 8 x 133, es decir, a 1066 MHz. Es altamente improbable que el chip corra a tal velocidad de manera confiable. De manera similar, un Celeron 600E corre a 9 x 66 MHz. Aumentar la velocidad del bus a 100 MHz causaría que el procesador tratara de funcionar a 9 x 100 MHz ó 900 MHz, lo cual muy probablemente no funcionaría. 17

Lo que se necesita es una tarjeta que acepte configuraciones de velocidad intermedia y que esta permita que la configuración pueda modificarse en incrementos más pequeños. Por ejemplo, la tarjeta madre Asus P3V4X soporta configuraciones de velocidad de bus de 66, 75, 83, 90, 95, 100, 103, 105, 110, 112, 115, 120, 124, 133, 140 y 150 MHz. Si se configura el Pentium IIIE de 800 MHz a incrementos superiores a 100 MHz, usted lograría: Multiplicador (fijo) Velocidad de bus Velocidad de procesador 8x 100 MHz 800 MHz 8x 103 MHz 824 MHz 8x 105 MHz 840 Mhz 8x 110 MHz 880 MHz 8x 112 Mhz 896 MHz 8x 115 Mhz 920 Mhz 8x 120 MHz 960 MHz 8x 124 MHz 992 MHz 8x 133 MHz 1066 MHz De manera similar, si usara esta tarjeta madre con un Celeron 600, podría intentar configuraciones por arriba de la velocidad estándar de bus de 66 MHz: Multiplicador (fijo) 9x 9x 9x 9x 9x 9x Velocidad de bus 66 MHz 75 MHz 83 MHz 90 MHz 95 MHz 100 MHz Velocidad de procesador 600 MHz 675 MHz 747 MHz 810 Mhz 855 Mhz 900 MHz

Normalmente, un incremento de 10 ó 20 por ciento puede tener éxito, de manera que con esta tarjeta madre usted podría lograr que su procesador trabajara a 100 MHz o más rápido que lo establecido originalmente. Otro truco empleado para el aumento de velocidad del reloj es manipular las configuraciones de voltaje del procesador. Todos los procesadores de Ranura 1, Ranura A, Socket 8, Socket 370 y Socket A tienen detección automática de voltaje, gracias a la cual el sistema detectará y establecerá el voltaje correcto mediante la lectura de ciertos pines del procesador. Algunas tarjetas madre, como las fabricadas por Intel, no permiten cambios manuales a estas configuraciones. Otras, como la Asus P3V4X I mencionada anteriormente, permiten aumentar o disminuir las configuraciones de voltaje en décimas de voltio. Algunos aficionados han descubierto que incrementando o disminuyendo el voltaje ligeramente, es posible lograr una velocidad mayor de sobreprocesamiento sin pérdida de estabilidad en el sistema. Mi recomendación es ser muy cuidadosos al modificar los voltajes, pues es posible dañar el procesador con un voltaje inapropiado. Incluso sin cambiar el voltaje, es fácil y productivo lograr el sobreprocesamiento mediante la modificación de la velocidad del bus de la tarjeta madre. Es conveniente usar una tarjeta madre de alta calidad, buena memoria y, sobre todo, un buen chasis de sistema con ventiladores adicionales y una fuente de poder de uso pesado. En el aumento de velocidad del reloj, es esencial que los componentes y, especialmente, el procesador del sistema estén apropiadamente ventilados. Tomar medidas extremas con el disipador de calor y ventiladores 18

adicionales del gabinete nunca hace daño y, en machos casos, ayuda macho para sacar el mayor provecho de un sistema. Nota El sitio http://www.tomshardware.com es una buena fuente de información sobre el aumento de la velocidad del reloj. Inluye entre otras cosas, una completa sección de respuestas a preguntas frecuentes sobre el tema, y una encuesta actual de los usuarios que han realizado esta maniobra con éxito (y algunos que han fallado) en sus CPUs. Observe que muchos de los procesadores Intel más recientes incorporan velocidades fijas de multiplicador de bus, lo cual impide o reduce la posibilidad de aumentar la velocidad de reloj. Desafortunadamente esto puede ser pasado por alto con un simple arreglo de hardware, y muchos falsificadores siguen vendiendo chips sobreprocesados y remarcados. El disipador de calor del procesador podría alterar la especificación La mayoría de los procesadores tienen disipadores de calor encima y pueden impedir la lectura de la especificación impresa en el chip Un disipador de calor es un dispositivo de metal que extrae el calor de un dispositivo electronico. La mayoría de los procesadores de 50 MHz y más deben de tener un disipador para evitar el sobrecalentamiento. Afortunadamente, la mayoría de los fabricantes de procesadores están rotulándolos tanto en la cara superior como en la inferior. Si es difícil quitar el disipador de calor, puede sacar el procesador de su socket, con todo y disipador, y leer la información en la cara inferior del procesador para identificarlo.

Clasificaciones P de Cyrix Los procesadores Cyrix/IBM 6x86 usan la escala PR (Clasificación de Rendimiento), que no se expresa en la velocidad de reloj real en megahertz. Por ejemplo, el Cyrix 6x86MX/MII-PR366 de hecho funciona a sólo 250 MHz (2.5 x 100 MHz). Esto puede ser un poco engañoso, pues usted debe configurar la tarjeta madre como si fuera a instalar un procesador de 250 MHz, y no el de 366 MHz que podría sospechar. Desafortunadamente, esto lleva a la gente a pensar que esos sistemas son más rápidos de lo que realmente son. La tabla 3.8 muestra la relación entre el Cyrix 6x86, 6x86MX, y las Clasificaciones P M-II comparadas con la velocidad real del chip en MHz. Tabla 3.8 MHz. Tipo de CPU 6x86 6x86 6x86 6x86 6x86 6x86 6x86MX 6x86MX Clasificación P de Cyrix comparados con velocidades reales de chips en Clasificación P PR90 PR120 PR133 PR150 PR166 PR200 PR133 PR133 Velocidad real del CPU 80 100 110 120 133 150 100 110 Multiplicador de reloj 2x 2x 2x 2x 2x 2x 2x 2x Velocidad de la tarjeta madre (MHz) 40 50 55 60 66 75 50 55 19

6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX 6x86MX M-II M-II M-II M-II M-II M-II Cyrix III Cyrix III Cyrix III Cyrix III Cyrix III

PR150 PR150 PR166 PR166 PR166 PR166 PR200 PR200 PR200 PR200 PR233 PR233 PR233 PR266 PR266 PR266 PR300 PR300 PR333 PR336 PR400 PR433 PR433 PR466 PR500 PR533 PR533

120 125 133 137.5 150 150 150 165 166 180 166 187.5 200 207.5 225 233 225 233 250 250 285 300 350 366 400 433 450

2x 2.5x 2x 2.5x 3x 2.5x 2x 3x 2.5x 3x 2x 2.5x 3x 2.5x 3x 3.5x 3x 3.5x 3x 2.5x 3x 3x 3.5x 3x 3x 3.5x 4.5x

60 50 66 55 50 60 75 55 66 60 83 75 66 83 75 66 75 66 83 100 95 100 100 122 133 124 100

Observe que una clasificación P dada puede significar varias velocidades reales de CPU, por ejemplo, un Cyrix 6x86MX-PR200 puede correr a 150 MHz, 165 MHz, 166 MHz o 180 MHz, pero no a 200 MHz. Esta Clasificación P indicaba, supuestamente, la velocidad en relación con un procesador Intel Pentium, pero el procesador con el que ahí están comparando es el original sin capacidades MMX, con una versión pequeña de caché L1 y montado en una plataforma antigua de tarjeta madre que tiene un viejo conjunto de chips y una tecnología lenta de memoria. La Clasificación P no es apropiadamente comparable con los Celeron, Pentium II o Pentium III. En esos casos, la comparación con esos chips es más realista en términos de su velocidad real; en otras palabras, el MII-PR36 realmente funciona a sólo 250 MHz y se campara bien con procesadores Intel cercanos a esa velocidad. Considero algo por lo menos engañoso llamar a un procesador MII-36 cuando en realidad funciona a sólo 250 MHz.

Clasificaciones P de AMD Aunque tanto AMD como Cyrix elaboraron este engañoso sistema de Clasificación P, por fortuna AMD lo usó sólo durante un corto periodo y exclusivamente para el procesador K5. Aún tienen el 20

sello de la designación PR en sus chips más recientes, pero todos los K6 y Athlon tienen números PR que coinciden con su velocidad real en MHz. La tabla 3.9 muestra la clasificación P y las velocidades reales para los procesadores AMD K5, K6 y Athlon. Tabla 3.9 Clasificaciones P AMD comparadas con velocidades reales Tipo de CPU Clasificación P Velocidad real Multiplicador de Velocidad de la del CPU reloj tarjeta madre (MHz) K5 PR75 75 1.5x 50 K5 PR90 90 1.5x 60 K5 PR100 100 1.5x 66 K5 PR120 90 1.5x 60 K5 PR133 100 1.5x 66 K5 PR166 116.7 1.75x 66 K6 PR166 166 2.5x 66 K6 PR200 200 3x 66 K6 PR233 233 3.5x 66 K6 PR266 266 4x 66 K6 PR300 300 4.5x 66 K6-2 PR233 233 3.5x 66 K6-2 PR266 266 4x 66 K6-2 PR300 300 4.5x 66 K6-2 PR300 300 3x 100 K6-2 PR333 333 5x 66 K6-2 PR333 333 3.5x 95 K6-2 PR350 350 3.5x 100 K6-2 PR366 366 5.5x 66 K6-2 PR380 380 4x 95 K6-2 PR400 400 6x 66 K6-2 PR400 400 4x 100 K6-2 PR450 450 4.5x 100 K6-2 PR475 475 5x 95 K6-2 PR500 500 5x 100 K6-2 PR533 533 5.5x 97 K6-2 PR550 550 5.5x 100 K6-3 PR400 400 4x 100 K6-3 PR450 450 4.5x 100 Athlon PR500 500 5x 1001 Athlon PR550 550 5.5x 1001 Athlon PR600 600 6x 1001 Athlon PR650 650 6.5x 1001 Athlon PR700 700 7x 1001 Athlon PR750 750 7.5x 1001 Athlon PR800 800 8x 1001 Athlon PR850 850 8.5x 1001 Athlon PR900 900 9x 1001 Athlon PR950 950 9.5x 1001 Athlon PR1000 1000 10x 1001

21

1

Observe que los Athlon con bus de procesador North Bridge de hecho funciona a una velocidad doble de transferencia, lo cual es dos veces la señal de reloj de la tarjeta madre (200 MHz)

Bus de datos Tal vez la forma más común de describir un procesador es mediante la velocidad a la cual funciona, y la anchara de su bus externa de datos. Esto define el número de bits de datos que pueden ser transferidos hacia fuera o dentro del procesador en un ciclo. Un bus es una serie de conexiones que transportan seriales comunes. Imagine un por de cables que van de un extremo de un edificio al otro. Si conecta los cables a un generador de 110v AC, y le coloca salidas en puntos estratégicos, habrá construido un bus de energía. Sin importar en cuál salida conecte los cables, tendrá acceso a la misma señal, que en este ejemplo es la energía de 110v AC. Cualquier medio de transmisión con más de una salida en cada extremo puede ser considerado un bus. Un sistema típico de computación tiene varios buses internos y externos. El bus del procesador analizado con mas frecuencia es el bus externo de datos –el paquete de alambres (a pines) usado para enviar y recibir datos–. Entre más señales puedan transferirse simultáneamente, más datos podrán enviarse en un intervalo especifico y, por la tanto, más ancho y rápido será el bus. Un bus de datos más ancho es como tener una autopista con más carriles, la cual permite un tránsito mayor. Los datos de una computadora son enviados como información digital consistente de un intervalo en el cual un alambre transfiere 5v para expresar un bit de datos 1, ó 0 v para expresar un bit de datos 0. Entre más alambres tenga, más bits individuales podrá enviar en el mismo intervalo. Un chip como el 286 o el 386SX, con 16 cables para transmitir y recibir datos, tiene un bus de datos de 16 bits. Un chip de 32 bits, como el 386DX y el 486, tiene el doble de alambres dedicados a la transmisión simultánea de datos que uno de 16 bits; uno de 32 puede enviar enlaces el doble de información en el mismo intervalo. Los procesadores modernos, como los de la serie Pentium, tienen buses externos de datos de 64 bits. Esto significa que los procesadores Pentium, incluyendo Pentium original, Pentium Pro y Pentium II, pueden transferir 64 bits de datos a la vez desde y hacia la memoria del sistema. Una buena manera de entender este flujo de información es haciendo una analogía con una autopista y el tránsito que permite pasar. Si una autopista tiene un carril por cada sentido, sólo puede pasar un auto en cierta dirección. Si deseara incrementar el flujo, tendría que agregar otro carril, de manera que pudiera pasar el doble de autos a la vez en un periodo específico. Podríamos imaginar a un chip de 8 bits como una autopista de un solo carril, porque sólo un byte fluye a la vez (un byte equivale a ocho bits). El chip de 16 bits permite el paso de dos bytes a la vez, y es análogo a una autopista de dos carriles. Podríamos tener una autopista de cuatro carriles que permitiera el tránsito de un gran número de automóviles; esta estructura corresponde a un bus de datos de 32 bits, el cual puede transferir cuatro bytes de información a la vez. Entonces un bus de datos de 64 bits es como tener una autopista de ocho carriles, que transfiere datos hacia fuera y hacia dentro del chip. De la misma forma en que es posible describir una autopista por su anchura en carriles, es posible describir un chip por el ancho de su bus de datos. Cuando usted lee un anuncio que describe un sistema de computación de 32 ó 64 bits, se refiere generalmente al bus de datos del CPU. Este número proporciona una idea general del potencial del rendimiento del chip (y, por lo tanto, del sistema). 22

Quizá la implicación más importante del bus de datos de un chip es que su anchura también define el tamaño del banco de memoria. Esto significa que un procesador de 32 bits, como los de clase 486, lee y escribe en memoria 32 bits a la vez. Los procesadores de clase Pentium, incluyendo al Pentium III y Celeron, leen y escriben en memoria 64 bits a la vez. Debido a que los SIMMs (Módulos Sencillos de Memoria en línea) estándar de 72 pines tienen sólo 32 bits de anchura, deben ser instalados uno a la vez en la mayoría de los sistemas de clase 486, y de dos en dos en la mayoría de los sistemas de clase Pentium. Los más modernos DIMMs (Módulos Duales de Memoria en línea) tienen una anchura de 64 bits, de manera que pueden ser instalados uno a la vez en sistemas de clase Pentium. Cada DIMM es igual a un banco completo de memoria en los sistemas Pentium, lo cual facilita la configuración del sistema, debido a que pueden ser instalados o retirados de uno en uno.

Registros internos (bus interno de datos) El tamaño de los registros internos indican la cantidad de información sobre la cual puede operar el procesador al mismo tiempo; también determina cómo transfiere los datos dentro del chip. A esto se le conoce también como bus interno de datos. El tamaño del registro es en esencia lo mismo que el tamaño de bus interno de datos. Un registro es una celda de contención dentro del procesador: por ejemplo, el procesador puede sumar los números de dos registros y almacenar el resultado en un tercero. El tamaño de registro determina el tamaño de los datos que puede manejar el procesador. El tamaño de registro describe también el tipo de software o comandos e instrucciones que puede ejecutar un chip. Esto es, los procesadores con registros internos de 32 bits pueden ejecutar instrucciones de 32 bits que procesan porciones de 32 bits de información, pero los procesadores con registros de 16 bits no. Los procesadores más avanzados de la actualidad (del 386 al Pentium III) usan registros internos de 32 bits y, por tanto, ejecutan los mismos sistemas operativos y aplicaciones de 32 bits. Algunos procesadores tienen un bus interno de datos (constituido por rutas de datos y unidades de almacenamiento llamadas registros) el cual es más grande que el bus externo. El 8088 y el 386SX son ejemplos de esta estructura. Cada chip tiene un bus interno del doble de anchura que el externo. Estos diseños, a veces conocidos como híbridos, generalmente son versiones de bajo costo de un chip “de raza pura”. Por ejemplo, el 386SX transfiere datos internamente con un registro de 32 bits; sin embargo, se comunica con el mundo exterior a través de una ruta de datos de 16 bits de anchura. Este diseño permite la inserción de una tarjeta madre de producción más barata con un bus de 16 bits, y aún así mantiene la compatibilidad de software y conjunto de instrucciones con el 386 de 32 bits completos. Los registros internos a menudo son más grandes que el bus de datos, lo cual significa que el chip requiere de dos ciclos que llenan un registro para que éste pueda operar. Por ejemplo, tanto el 386SX como el 386DX tienen registros internos de 32 bits, pero el 386SX tiene que “inhalar” (hablando figurativamente) dos veces para llenarlos, mientras que el 386DX puede hacer el trabajo de un solo “respiro”. Lo mismo sucederá cuando los datos sean devueltos al exterior, al bus de sistema. El Pentium es un ejemplo de este tipo de diseño. Todos los Pentium tienen un bus de datos de 64 bits y registros de 32 bits, una estructura que podría parecer problemática si no se sabe que el Pentium tiene dos canales internos de 32 bits para procesar información. En muchas formas, el Pentium es como dos chips de 32 bits en uno. El bus de datos de 64 bits permite un llenado eficiente 23

de esos múltiples registros. Los canales múltiples se conocen como arquitectura superescalar, la cual fue introducida con el procesador Pentium. Los procesadores más avanzados de la sexta generación, tales como los Pentium Pro y Pentium II/III, tienen seis tuberías internas para ejecutar instrucciones. Aunque algunas de ellas están dedicadas a funciones especiales, estos procesadores pueden ejecutar hasta tres instrucciones en un solo ciclo de reloj.

Bus de direcciones El bus de direcciones es el conjunto de alambres que transporta la información de direccionamiento usada para describir la ubicación de memoria a la cual se está enviando la información o aquella de donde se está obteniendo, en un momento dado. Como en el caso del bus de datos, cada alambre de un bus de dirección transporta un solo bit de datos; éste es sólo uno de los dígitos de la dirección. Entre más alambres (dígitos) se usen para calcular estas direcciones, mayor será el número total de ubicaciones de direcciones. El tamaño (o ancho) del bus de direcciones indica el tamaño máximo de RAM que un chip puede direccionar. Puede recurrirse nuevamente a la analogía con la autopista para mostrar dónde encaja el bus de direcciones. Si el bus de datos es la autopista y el tamaño del bus de datos es equivalente al número de carriles, el bus de direcciones representa el número de la dirección de la casa. El tamaño del bus de direcciones es equivalente al número de dígitos que constituyen el número de la casa. Por ejemplo, si usted vive en una calle en la cual el número de la dirección consta de sólo dos dígitos (base 10), puede haber no más de 100 (102) direcciones (de la 00 a la 99). Si se agrega otro digito, el número de direcciones disponibles aumenta a 1,000 (000 - 999), ó 103. Las computadoras usan el sistema de numeración binaria (base 2), de manera que un número de dos dígitos puede proporcionar sólo cuatro direcciones (00, 01, 10 y 11) ó 22. Un número de tres dígitos permite sólo ocho direcciones (000 - 111), ó 23. Por ejemplo, los procesadores 8086 y 8088 usaban un bus de direcciones de 20 bits, capaz de calcular un máximo de 220 ó 1,048,576 bytes (1 MB) de ubicaciones de memoria. La tabla 3.10 describe las capacidades de direccionamiento de memoria de los procesadores. Tabla 3.10 Familia de procesadores 8088/8086 286/386SX Clase 386DX/486/P5 Clase P6 Capacidad de direccionamiento de memoria de procesadores Bus de Bytes KB MB direcciones 20 bits 1,048,576 1,024 1 24 bits 16,777,216 16,384 16 32 bits 4,294,967,296 4,194,304 4,096 36 bits 68,719,476,736 67,108,864 65,536

GB ----4 64

El bus de datos y el de direcciones son independientes, y los diseñadores pueden usar el tamaño que deseen para cualquiera de ellos. Sin embargo, generalmente los chips con buses de datos más grandes tienen buses de direcciones mayores. El tamaño de los buses puede proporcionar información importante, con respecto a la potencia relativa de un chip, en dos formas muy importantes. El tamaño del bus de datos es una indicación de la capacidad de transferencia de información del chip; el del bus de direcciones, indica cuanta memoria puede manejar el chip. 24

Caché interna de nivel 1 (L1) Todos los procesadores modernos a partir de la familia del 486 incluyen un controlador y una caché L1 integrados. El tamaño de la caché L1 integrada (o caché primaria) varia de un procesador a otro, de 8 KB para el 486DX original hasta 32 KB, 64 KB y más en los más recientes. Debido a que la caché primaria siempre está construida dentro del circuito integrado del procesador, corre a la velocidad de núcleo completa del mismo. Esto significa que la caché funciona a la velocidad interna del procesador multiplicada por el reloj más rápido. Esta caché básicamente es un área de memoria muy rápida, integrada en el procesador, y es empleada para contener parte del conjunto de código y datos sobre el cual trabaja el procesador en un momento dado. Es posible tener acceso a la memoria caché sin estados de espera, porque corre a la misma velocidad que el núcleo del procesador. El empleo de la memoria caché reduce el cuello de botella tradicional del sistema, porque la RAM a menudo es más lenta que el procesador. Esto evita hacer esperar al procesador por código y datos provenientes de la memoria principal mucho más lenta, con lo cual se mejora el rendimiento. Sin caché L1, el procesador se vería forzado a esperar a la memoria del sistema. La caché primaria es más importante aun en los procesadores modernos, pues a menudo es la única memoria de todo el sistema capaz de mantener el paso del procesador. La mayoría de los procesadores modernos son multiplicados por reloj, lo cual significa que funcionan a una velocidad múltiplo de la tarjeta madre a la cual están conectados. Por ejemplo, el Pentium III a 1 GHz, corre a 7.5 veces la velocidad real de la tarjeta madre de 133 MHz. Debido a que la memoria principal está conectada con la tarjeta madre, puede funcionar a sólo 133 MHz como máximo. La única memoria de 1 GHz en tal sistema es la de caché L1 y L2, integradas en el procesador mismo. En este ejemplo, el procesador Pentium III a 1 GHz tiene 32 KB de caché L1 integrada, en dos bloques de 16 KB cada uno; y 256 KB de L2. Ambas funcionan a la misma velocidad del núcleo completa del procesador. Si los datos que el procesador necesita ya están en la caché interna, no tiene que esperar; si no es así, el procesador debe obtenerlos de la caché de nivel 2 ó, en diseños de sistemas menos sofisticados, del bus del sistema, es decir, directamente de la memoria principal. Con el fin de entender la importancia de la caché, debe conocer las velocidades relativas de los procesadores y la memoria. El problema es que la velocidad del procesador se expresa normalmente en MHz (millones de ciclos por segundo), mientras que la de la memoria se expresa en nanosegundos (mil millonésimas de segundo por ciclo).

Funcionamiento de la caché Para entender el funcionamiento de la caché L1 y L2, utilice la siguiente analogía: Esta historia implica a una persona que come, de la misma forma en que el procesador se alimenta de datos, provenientes de la memoria, para procesarlos. La cocina donde se preparan los alimentos corresponde a la memoria principal RAM (SIMM/DIMM). El controlador de la caché es el mesero y 25

la caché L1 es la mesa a la que usted se sienta. La caché es el carrito de platillos, el cual se localiza entre su mesa y la cocina. Ahora viene la historia. Digamos que usted comienza a comer todos los días a la misma hora en un restaurante dado. Usted llega, se sienta y ordena un hot dog. Para mantener la historia en proporción, digamos que usted come a una velocidad de una mordida (¿un byte?) cada cuatro segundos (233 MHz = ciclos de alrededor de 4 ns). A la cocina le lleva 60 segundos preparar cualquier platillo (memoria principal de 60 ns). De esta manera, después de llegar, sentarse y ordenar un hot dog, deberá esperar 60 segundos para que le preparen su orden. Una vez que el mesero se la sirve, usted comienza a comer a una velocidad normal. Pronto termina el hot dog, y llama al mesero para pedirle una hamburguesa. Nuevamente espera 60 segundos mientras su segunda orden es preparada. Cuando llega, usted se la come, nuevamente a toda velocidad. Una vez terminada, pide un plato de papas a la francesa. De nuevo espera, y después de 60 segundos comienza a comerse las papas a toda velocidad. Al final, decide pedir un pay de queso como postre; después de una espera de otros 60 segundos, se lo comerá a la velocidad habitual. En panorámica, su comida habrá consistido de grandes periodos de espera seguidos por ráfagas cortas de ingesta a toda velocidad. Después de llegar al restaurante a las 18:00 horas en punto por dos tardes consecutivas y ordenar los mismos platillos, la tercera ocasión el mesero comienza a pensar; “Ya sé que este tipo llega a las 6 p.m., ordena un hot dog, una hamburguesa, papas a la francesa y un pay de queso. Voy a tener todos esos platillos preparados de antemano, para darle un mejor servicio y quizá esto me haga ganar una buena propina”. De manera que la siguiente vez que usted entra al restaurante y ordena el hot dog, el mesero se lo lleva a su mesa ¡inmediatamente! Usted termina su hot dog y después de que pide su hamburguesa, el mesero la deposita en su mesa, sin hacerlo esperar un solo segundo. El resto de la cena transcurre de la misma forma y usted come a razón de una mordida cada cinco segundos, sin esperar un solo segundo a que la cocina prepare los platillos. Esta vez, su comida no tendrá periodos de espera, gracias sobre todo a la inteligencia de su mesero. Esta analogía describe con exactitud la función de la caché L1 en el procesador, la cual está representada por la mesa donde se depositan uno o más platillos. Sin un mesero, la mesa es un simple depósito de comida; cuando éste se llena, puede comer hasta vaciarlo, pero no habrá nadie para llenarlo prudentemente. El mesero es el controlador de la caché y es quien toma la iniciativa para decidir cuáles platos deben ser depositados en la mesa, justo antes de que usted los necesite. Al igual que el controlador, el mesero usa su habilidad para literalmente adivinar cuál platillo requerirá a continuación; si acierta, usted nunca tendrá que esperar. Ahora digamos que la cuarta noche usted llega exactamente a la misma hora y comienza con su hot dog habitual; el mesero, totalmente confiado, lo tiene preparado y usted no tiene que esperar. Tan pronto como se termina su hot dog, y justo cuando el mesero está poniendo una hamburguesa en la mesa, usted dice: “Caray, realmente lo que se me antoja ahora es una orden de tacos de pollo; no esta hamburguesa”. El mesero se equivocó, y la consecuencia es que esta vez usted tendrá que esperar los 60 segundos que la cocina tarda en preparar sus tacos. A esto se conoce como falla de la caché el controlador de caché no acertó a llenarla con los datos que el procesador realmente necesitaba. El resultado es una espera, o en el caso del sistema Pentium a 233 MHz, la ocurrencia de un cuello de botella, al reducir momentáneamente su velocidad de funcionamiento a 16 MHz (la de la RAM) cada vez que existe una falla de caché. De acuerdo con Intel, la caché L1 de la mayoría de 26

sus procesadores tiene una frecuencia de aciertos de alrededor de 90 por ciento; es decir, esta caché tiene los datos correctos 90 de cada 100 veces y gracias a ello el procesador funciona a toda velocidad, 233 MHz en este ejemplo, el 90 por ciento del tiempo. Sin embargo, el controlador de la caché falla el 10 por ciento de las veces, y los datos deben obtenerse de la memoria principal, la cual es significativamente más lenta, con la espera consecuente. Esto estrangula el funcionamiento del sistema y reduce su velocidad a la de la RAM, la cual en este ejemplo es de 60 ns o 16 MHz. La principal característica de la caché L1 es que siempre ha estado integrada al núcleo del procesador, donde funciona a la misma velocidad del núcleo. Esto, combinado con una frecuencia de aciertos de 90 por ciento o mayor, convierte a la caché L1 en un elemento muy importante para el rendimiento del sistema.

Caché de Nivel 2 (L2) Es posible emplear una caché L2 (o secundaria) para mitigar el aletargamiento del sistema derivado de una falla de la caché L1. Continuando con la analogía del restaurante, la caché secundaria esta representada por un carrito de platillos adicionales colocado estratégicamente, de tal forma que el mesero pueda tomar un platillo en 15 segundos. En un sistema real de clase Pentium (Socket 7), la caché secundaria está montada en la tarjeta madre y, por tanto, corre a su misma velocidad: 66 MHz o 15 ns en este ejemplo. En estas condiciones, si usted pide un platillo que el mesero no tiene preparado en su mesa, en lugar de hacerlo esperar los 60 segundos habituales, primero revisa el carrito de los alimentos adicionales. Si el platillo se encuentra ahí, usted sólo tendrá que esperar 15 segundos. El efecto en el sistema real es que, en lugar de reducir su velocidad de 233 a 16 MHz al esperar los datos desde la memoria principal de 60 ns, la información puede ser recuperada de la caché secundaria de 15 ns (66 MHz). El sistema, entonces, reduce su velocidad de 233 a 66 MHz. De la misma forma en que lo hace la caché primaria, la mayoría de las cachés secundarias tienen una frecuencia de aciertos ubicada en la escala del 90 por ciento, lo cual implica que el sistema funcionará el 90 por ciento del tiempo a toda velocidad (233 MHz en este ejemplo) mediante la recuperación de datos de la caché primaria; el 10 por ciento restante reducirá su velocidad para recuperar datos de la caché secundaria. Noventa por ciento de las veces que el procesador recurra a la caché L2, los datos estarán disponibles y 10 por ciento tendrá que solicitarlos de la lenta memoria principal, debido a una falla de la caché secundaria. De esta manera, al combinarse las dos cachés, el sistema de ejemplo correrá a la velocidad del procesador (233 MHz) el 90 por ciento del tiempo; a velocidad de tarjeta madre (66 MHz) el nueve por ciento (90 de 10 por ciento), y a velocidad de RAM (16 MHz) alrededor de 1 por ciento del tiempo (es decir, el 10 por ciento del 10 por ciento). Ahora puede entender con claridad la importancia de las dos cachés (primaria y secundaria). Sin ellas el sistema se vería obligado a usar la memoria principal con mayor frecuencia, cuya velocidad es significativamente menor a la del procesador. Esto trae a colación otros aspectos muy interesantes. Si usted tuviera presupuesto para duplicar el rendimiento de la memoria principal (RAM) o de la caché secundaria, ¿en cuál gastaría? Considerando que la memoria principal sólo es empleada alrededor del uno por ciento del tiempo, si la duplicara aumentaría el rendimiento del sistema en sólo ¡uno por ciento del tiempo de uso! No parece una gran mejora para tanto gasto. Por el otro lado, si duplicara el rendimiento de la caché secundaria, aumentaría la velocidad del sistema alrededor de nueve por ciento del tiempo, es decir, obtendría un rendimiento general mucho mayor. 27

Los diseñadores del procesador y los sistemas de Intel y AMD saben esto y discurrieron métodos para mejorar el rendimiento de la caché secundaria. En los sistemas de clase Pentium (PS), la caché L2 normalmente se encontraba en la tarjeta madre, y por tanto corría a la misma velocidad. Intel llevó a cabo la primera mejora notable al reubicar la caché secundaria directamente en el procesador, y haciéndola funcionar a la velocidad del mismo. En un principio, los chips de caché fueron fabricados por Intel y montados cerca del circuito integrado del procesador en un solo encapsulamiento. Esto resultó ser demasiado caro, de manera que en el Pentium II, Intel comenzó a usar chips de caché de otros proveedores como Sony, Toshiba, NEC, Samsung, etcétera. Como éstos se producían en forma de chips terminados, y no como circuitos integrados sin cubrir, Intel los montó en una tarjeta junto con el procesador. Ésta es la razón de que el Pentium II haya sido diseñado como un cartucho y no como algo que pareciera un chip. La velocidad de los chips de caché de otros fabricantes representaba un problema. Los más rápidos del mercado eran de 3 ns o más, es decir, de 333 MHz o menos. Dado que el procesador funcionaba a una velocidad superior, en el Pentium II y los primeros III, Intel tuvo que hacer funcionar la caché secundaria a la mitad de la velocidad del procesador, dado que era la máxima velocidad que la memoria caché disponible comercialmente podía manejar. AMD siguió la tendencia con el procesador Athlon, el cual debía reducir más la velocidad de la caché L2: en algunos modelos hasta dos quintos o un tercio de la velocidad del procesador, esto con el fin de mantener la velocidad de la memoria caché a menos de los 333 MHz de los chips disponibles. Entonces surgió la innovación, la cual se presentó por primera vez en el Celeron 300A y superiores. Estos modelos introdujeron 128 KB de caché secundaria, la cual no consistía de chips externos; en su lugar, se había integrado directamente al núcleo del procesador, tal como la caché primaria. Esto implicaba que, a partir de entonces, tanto la caché primaria como la secundaria correrían a la misma velocidad del procesador; y lo más importante, sus velocidades crecerían a la par de la de los futuros procesadores. En los Pentium III más recientes, así como en los modelos Xeon y Celeron, la caché secundaria corre a velocidad de procesador, lo cual evita los tiempos de espera y el aletargamiento a causa de una falla de caché primaria. AMD también alcanzó velocidades de procesador para sus cachés asimiladas en el circuito integrado en sus procesadores Athlon y Duron. El uso de caché incorporada al circuito integrado del procesador mejora el rendimiento notablemente, gracias a que el nueve por ciento del tiempo que el sistema usa la caché L2, éste seguirá funcionando a velocidad máxima, en lugar de reducirla a la mitad o menos o, peor incluso, a la de la tarjeta madre, como en los diseños de Socket 7. Otro beneficio de la caché secundaria incorporada en el circuito integrado es su costo más económico gracias al menor número de partes involucradas. Usemos nuevamente la analogía del restaurante, esta vez para un moderno Pentium III a 1 GHz. Ahora usted comerá un bocado cada segundo (1 GHz = ciclo de 1 ns). La caché primaria correría a la misma velocidad, de manera que usted podría comer cualquier cosa dispuesta en su mesa a esa misma frecuencia (la mesa seria el equivalente de la caché primaria). El salto real en velocidad consiste en que cuando usted desee comer algo que no está listo en la mesa (falla de la caché primaria), el mesero correrá al carrito y, nueve de diez veces, regresará a usted con el platillo deseado en sólo un segundo (la velocidad de la caché secundaria es ahora de 1 GHz o un ciclo de 1 ns). Este sistema más moderno correría a 1 GHz el 99 por ciento del tiempo (gracias a las frecuencias de aciertos de las cachés L1 y L2 combinadas), y sólo bajaría a velocidad de RAM (mientras espera por la preparación de alimentos en la cocina) el uno por ciento del tiempo. Con una memoria de 133MHz (7.5 ns) sólo tendríamos que esperar 7.5 segundos para que la comida llegue desde la cocina. 28

Organización de la caché La organización de la memoria caché de las familias del 486 y el Pentium es conocida como caché de conjunto asociativa de cuatro vías, lo cual significa que la memoria caché está dividida en cuatro bloques, cada uno de los cuales está organizado en 128 o 256 líneas de 16 bytes cada una. Para entender el funcionamiento de una caché de conjunto asociativa de cuatro vías, consideremos el siguiente ejemplo. En el diseño más simple de caché, ésta es sólo un bloque en el cual se carga el contenido de un bloque correspondiente de la memoria principal. Este procedimiento es similar al uso de un marcador para ubicar la página en donde se dejó la lectura de un libro. Si equiparamos la memoria principal a la totalidad de las páginas, el marcador corresponde a las páginas contenidas en la memoria caché. Este procedimiento funciona si los datos requeridos se ubican dentro de las páginas señaladas por el marcador; pero si usted necesita otra página previamente leída, el marcador no tiene utilidad alguna. Un método alternativo es mantener varios marcadores para señalar sendas partes del libro al mismo tiempo. Al uso de varios marcadores se asocia una carga de trabajo adicional en el hardware; lo cual se equipara al tiempo extra que usted debe dedicar a revisar todos los marcadores para saber cuál corresponde a las páginas que necesita. Cada marcador adicional se suma a la carga de trabajo; pero también se incrementan las posibilidades de encontrar las páginas deseadas. Si marca cuatro pasajes del libro habrá construido, esencialmente, una caché de conjunto asociativa de cuatro vías. Esta técnica divide la memoria caché disponible en cuatro bloques, cada uno de los cuales almacena diferentes líneas de la memoria principal. Los ambientes multitarea, como Windows, son buenos ejemplos de ambientes en los cuales el procesador necesita operar sobre diferentes áreas de la memoria en forma simultánea, y en los cuales una caché de cuatro vías mejoraría significativamente el rendimiento. El contenido de la caché siempre debe estar sincronizado con el contenido de la memoria principal para asegurar que el procesador trabaje con datos actualizados. Por ello, la caché interna de la familia del 486 es una caché de escritura directa. Escritura directa significa que cuando el procesador escribe información hacia fuera de la caché, estos datos se escriben automáticamente también en la memoria principal. En comparación, el Pentium y chips posteriores tienen una caché interna de reescritura, lo cual significa que tanto las lecturas como las escrituras se almacenan en la caché, mejorando más el rendimiento. Aunque la caché interna del 486 es de escritura directa, el sistema puede emplear una caché externa de reescritura para aumentar el rendimiento. Además, el 486 puede almacenar en búfer hasta cuatro bytes antes de recurrir al almacenamiento de datos en RAM, lo cual mejora la eficiencia en caso de que el bus de memoria esté ocupado. Otra característica de los diseños avanzados de caché es que son de tipo no bloqueo. El no bloqueo es una técnica para reducir u ocultar las demoras de memoria gracias a la explotación del traslape de las operaciones del procesador mediante accesos a datos. Una caché de tipo no bloqueo permite la ejecución de un programa y, al mismo tiempo, continuar con las faltas de caché, siempre y cuando se respeten ciertas restricciones de dependencia. En otras palabras, es posible manejar una falla de 29

caché de mucho mejor manera, y que el procesador continué con una operación que no dependa de los datos faltantes. El controlador de la caché, integrado en el procesador, también es responsable de vigilar al bus de memoria (proceso conocido como monitoreo de bus) cuando algún procesador alternativo, conocido como busmaster, toma control del sistema. Si un dispositivo busmaster sobrescribe un área de la memoria que también está almacenada en la caché del procesador en ese momento, los contenidos de la memoria y la caché dejan de concordar. El controlador de la caché marca entonces estos datos como inválidos y vuelve a cargar la caché durante el siguiente acceso a memoria con el fin de preservar la integridad del sistema. En la mayoría de los sistemas 486 y Pentium se usan también unos chips de caché L2 secundaria externa basada en RAM estática extremadamente rápida (SRAM). Éstos reducen la cantidad de tiempo que el procesador debe esperar por los datos de la memoria del sistema. La función de la caché L2 secundaria externa es similar a la de la caché de tarjeta: contener información en tránsito hacia la CPU para reducir el tiempo que el procesador pierde esperando, y aumentar el tiempo de procesamiento. Obtener información de esta caché adicional del procesador, en lugar de hacerlo de la memoria principal, es mucho más rápido porque los chips SRAM corren a una velocidad mucho mayor: 15 nanosegundos o menos. Los sistemas Pentium incorporan la caché L2 secundaria externa en la tarjeta madre, mientras que los Pentium Pro y Pentium II la tienen dentro del paquete del procesador. Al cambiar la caché L2 al procesador, los sistemas son capaces de funcionar a velocidades mayores que la de la tarjeta madre, y tan rápido como el núcleo del procesador. A medida que aumenta la velocidad de reloj, disminuye el tiempo del ciclo. La mayoría de la memoria SIMM empleada en los Pentium y anteriores era de 60 ns, que resultan en ¡sólo alrededor de 16 MHz! las velocidades de las tarjetas madre estándar son ahora de 66, 100 y 133 MHz, y hay procesadores disponibles a 600 MHz o más. Los sistemas más recientes han dejado de usar caché en la tarjeta madre, pues las SDRAM o RDRAM más rápidas, usadas en los modernos sistemas Pentium II/III y Celeron pueden mantenerle el paso a la velocidad de la tarjeta madre. La tendencia actual es hacia la integración de la caché L2 al acoplamiento del procesador, tal como se hizo con la caché L1. Esto permite a la L2 funcionar a la velocidad máxima del núcleo del procesador, porque ahora está incorporada al mismo. La velocidad de la caché siempre es más importante que el tamaño: la regla es que una caché más pequeña pero más rápida siempre es mejor que una más grande pero más lenta. La tabla 3.11 ilustra la necesidad y el funcionamiento de las cachés L1 (interna) y L2 (externa) en los sistemas modernos. Tabla 3.11 Velocidades de procesador en comparación con la caché, SIMM/DIMM y la tarjeta madre Tipo de CPU Pentium Pentium Pro Pentium II 333 K6-2 500 Vel. de la CPU 233 MHz 200 MHz 333 MHz 500 MHz Vel. Caché L1 4 ns (233 MHz) 5 ns (200 MHz) 3 ns (333 MHz) 2 ns (500 MHz) Vel. Caché L2 15 ns (66 MHz) 5 ns (200 MHz) 6 ns (167 MHz) 10 ns (100 MHz) Vel. Tarjeta madre 66 MHz 66 MHz 66 MHz 100 MHz Vel. SIMM/DIMM 60 ns (16 MHz) 60 ns (16 MHz) 15 ns (66 MHz) 10 ns (100 MHz) Tipo SIMM/DIMM FPM/EDO FPM/EDO SDRAM SDRAM Tipo de CPU Celeron 500 Pentium III 500 Athlon 1000 Pentium III 1000 Vel. de la CPU 500 MHz 500 MHz 1000 MHz 1000 MHz 30

Vel. Caché L1 Vel. Caché L2 Vel. tarjeta madre Vel. SIMM/DIMM Tipo SIMM/DIMM
1

2 ns (500 MHz) 2 ns (500 MHz) 66 MHz 15 ns (66 MHz) SDRAM

2 ns (500 MHz) 4 ns (500 MHz) 100 MHz 10 ns (100 MHz) SDRAM

1 ns (1000 MHz) 3 ns (333 MHz) 200 MHz 10 ns (100 MHz) SDRAM

1 ns (1000 MHz) 1 ns (1000 MHz) 133 MHz 5 ns (200 MHz)1 RDRAM

Observe que, en términos técnicos, la RDRAM funciona a 800 MHz, pero el canal es de solo 16 bits de anchura, lo cual produce un ancho de banda de 1.6 GB/s, equivalente a un funcionamiento de 200 MHz a la anchura de 64 bits de un bus de datos del procesador.

Los procesadores Celeron a 300 MHz y más rápidos, así como los Pentium III a 600 MHz y más rápidos tienen una caché L2 incorporada al circuito integrado que corre a la velocidad del núcleo del procesador. Los procesadores Athlon más recientes y todos los Duron tienen la misma característica. Los primeros Pentium II y III, así como los Athlon más antiguos, usan caché L2 externa y la hacen funcionar a la mitad, dos quintos o un tercio de la velocidad del núcleo del procesador. Como se puede observar, tener dos niveles de caché (especialmente con L2 incorporada al circuito integrado), entre la muy rápida CPU y la muy lenta memoria principal, ayuda a minimizar la ocurrencia de estados de espera en el procesador y esto, desde luego, le permite mantenerse trabajando más cerca de su velocidad real.

Modos de procesador Todos los procesadores Intel a 32 bits y posteriores, a partir del 386, pueden funcionar en varios modos. Los modos del procesador se relacionan con los distintos ambientes operativos, y afectan las instrucciones y capacidades del chip. El modo del procesador controla la manera en que éste percibe y maneja la memoria del sistema y las tareas que la usan. Los tres modos posibles de operación son: Modo real (software de 16 bits) Modo protegido (software de 32 bits) Modo real virtual (programas de 16 bits dentro de un ambiente de 32 bits)

Modo real La PC IBM original incluía un procesador 8088 capaz de ejecutar instrucciones de 16 bits mediante el uso de registros internos de 16 bits, y era capaz de direccionar sólo 1 MB de memoria usando 20 líneas de direcciones. Todo el software para la PC original fue creado para trabajar con este chip y diseñado alrededor del conjunto de instrucciones de 16 bits y el modelo de memoria de 1 MB. Por ejemplo, DOS y todo el software de DOS, Windows 1.x a 3.x, y todas las aplicaciones Windows 1.x a 3.x fueron escritos usando instrucciones de 16 bits. Estos sistemas operativos y aplicaciones de 16 bits están diseñados para ejecutarse en un procesador 8088 original. Los procesadores posteriores, tales como el 286, también podían ejecutar las mismas instrucciones de 16 bits que el 8088, pero mucho más rápidamente. En otras palabras, el 286 era completamente compatible con el 8088 original y podía correr todo el software de 16 bits creado para el 8088, pero, 31

por supuesto, a una velocidad mucho mayor. El modo de instrucciones de 16 bits del 8088 y el 286 se conoce como modo real. Todo el software de modo real debe usar exclusivamente instrucciones de 16 bits y “vivir” dentro de la arquitectura de memoria a 20 bits (1 MB) que admite. El software de este tipo es, normalmente, unitarea, lo cual significa que es posible correr sólo un programa a la vez. No hay protección integrada para impedir a un programa sobrescribir a otro en memoria, o incluso al sistema operativo, lo cual implica que si se ejecuta más de un programa, es posible que uno de ellos haga colapsar a todo el sistema.

Modo protegido (32 bits) Después surgió el 386: el primer procesador a 32 bits de la industria de la PC. Este chip podía correr un conjunto de instrucciones de 32 bits totalmente nuevo. Para aprovechar al máximo este conjunto de instrucciones, era necesario un sistema operativo y una aplicación a 32 bits. Este nuevo modo se conoció como modo protegido, ya que los programas que corren en este modo están protegidos contra la sobrescritura de otros en la memoria. Tal protección ayuda a darle estabilidad al sistema (a evitar colapsos), gracias a que un programa errático no puede dañar fácilmente a otros o al sistema operativo. Además, en este modo es posible terminar un programa sin afectar el funcionamiento del resto del sistema. En el entendido de que aprender el uso de estos nuevos sistemas operativos y sus aplicaciones (los cuales aprovechaban el modo protegido a 32 bits) tomaría algún tiempo, Intel sabiamente integró un modo real en el 386 para compatibilidad hacia atrás, y esto le permitió la ejecución de sistemas operativos y aplicaciones a 16 bits. Además, los corría bastante bien y mucho más rápidamente que los procesadores anteriores. Para la mayoría de las personas, con eso bastaba: no necesitaban programas a 32 bits y sólo querían que su software de 16 bits corriera más aprisa. Desafortunadamente, eso implicaba que el chip nunca corriera en el modo protegido a 32 bits, y todas las funciones de esa capacidad eran ignoradas. Cuando un procesador de alto poder como el Pentium III ejecuta DOS (modo real), actúa como un “Turbo 8088”. Turbo 8088 significa que el procesador tiene la ventaja de la velocidad en la ejecución de cualquier programa a 16 bits, pero usa sólo las instrucciones de 16 bits y el acceso a memoria dentro del mismo esquema de 1 MB del 8088 original. Entonces, si usted tiene un sistema Pentium III con 128 MB y lo usa para correr Windows 3.x o DOS, está usando eficientemente sólo el primer megabyte de memoria, ¡dejando casi sin emplear los otros 127 MB! Era necesario, pues, el advenimiento de nuevos sistemas operativos y aplicaciones de 32 bits capaces de correr en el modo protegido de los nuevos procesadores. Sin embargo, los usuarios nos resistimos a los intentos iniciales de cambiar a un ambiente de 32 bits. Como comunidad, los usuarios somos renuentes a los cambios y, lejos de adoptar nuevo software con más funciones, nos contentamos con que nuestro viejo software corra más rápido. Dada esta resistencia, los sistemas operativos a 32 bits como UNIX y sus variaciones (por ejemplo, linux), OS/2, e incluso Windows NT y Windows 2000 han tenido grandes dificultades para conseguir una parte importante del mercado de las PCs. De ellos, sólo Windows 2000 tiene probabilidades de convertirse en un producto realmente difundido masivamente, y sobre todo porque Microsoft ha tenido gran influencia en este sentido sobre los usuarios con Windows 95, 98 y Me. Windows 3.x fue el último de los sistemas operativos a 16 bits. De hecho, no era un sistema operativo completo porque corría sobre DOS. 32

Microsoft se dio cuenta de lo robusta que era la base instalada de usuarios de PC, de manera que desarrolló Windows 95 a Windows Me como un puente hacia el mundo de los 32 bits. Windows 95, 98 y Me son sistemas operativos mayormente de 32 bits, aunque conservan suficiente capacidad de 16 bits para ejecutar las viejas aplicaciones de 16 bits. Windows 95 fue lanzado en agosto de 1995, ¡10 años después de la introducción del primer procesador de PC a 32 bits! Se tomaron sólo 10 años cambiar a un software capaz de usar totalmente los procesadores que ya existían.

Modo real virtual La clave para la compatibilidad hacia atrás del ambiente Windows de 32 bits es el tercer modo del procesador: el modo real virtual. El modo real virtual es, esencialmente, un modo de 16 bits que corre dentro del modo protegido a 32 bits. Cuando usted abre una ventana DOS dentro de Windows, ha creado una sesión en modo real virtual. Dado que el modo protegido permite un funcionamiento multitareas verdadero, usted puede crear varias sesiones de modo real, tener en ejecución y correr en cada una de ellas, un software distinto en una PC virtual. Estas sesiones pueden correr incluso junto a otras aplicaciones de 32 bits. Observe que cualquier programa que corra en una ventana de modo real virtual puede acceder a sólo 1 MB de memoria, al cual el programa percibe como el primero y único del sistema. En otras palabras, si ejecuta una aplicación de DOS en modo virtual real, tendrá un límite de 640 KB para uso de memoria. Esto debido a que, en un ambiente de 16 bits, sólo se reconoce 1 MB de RAM total, y los 384 KB superiores quedan reservados para uso del sistema. La ventana real virtual emula completamente un ambiente 8088, de manera que, además de la velocidad, el software corre como si estuviera en el modo real original de la PC. Cada máquina virtual obtiene su propio espacio de direccionamiento de 1 MB, una imagen de las rutinas BIOS reales para hardware y una emulación del resto de los registros y características propios del modo real. El modo real virtual se emplea cuando usted usa una ventana DOS para correr un programa de DOS o Windows 3.x a 16 bits. Cuando se inicia una aplicación DOS, Windows crea una máquina virtual DOS bajo la cual puede correr. Otro aspecto interesante es que todos los procesadores Intel y compatibles (como los AMD y Cyrix) encienden en modo real. Sólo cuando usted carga un sistema operativo a 32 bits, éste hace pasar al procesador, automáticamente, al modo de 32 bits y asumir el control a partir de ese momento. Algunas aplicaciones de 16 bits (para DOS y Windows 3.x) tienen un mal comportamiento, es decir, comienzan a realizar cosas que incluso el modo real virtual no soportaría. El software de diagnóstico es un ejemplo perfecto de esto: este tipo de software no corre apropiadamente en una ventana de modo real virtual bajo Windows. Para estos casos, usted puede ejecutar su Pentium III en el austero modo real arrancando el sistema desde un disco flexible con DOS o, en el caso de Windows 9x, interrumpiendo el proceso de arranque y forzando el sistema a iniciar en DOS plano, mediante la opresión de la tecla F8 al ver el indicador Iniciando Windows..., o inmediatamente después del bip que señala el fin de la POST (Autoprueba de Encendido). En este caso, ayuda un poco el oprimir la tecla F8 repetidamente para acortar el periodo de dos segundos durante el cual Windows 9x espera la tecla. Si tiene éxito, podrá ver el Menú Inicio desde el cual puede seleccionar el comando que indica al sistema arrancar en modo real DOS de 16 bits. La ejecución del comando Modo Seguro 33

con Símbolo del Sistema, es la apropiada para ejecutar programas para diagnósticos de hardware confiables, los cuales no corren en modo protegido y deben ser ejecutados con un mínimo de controladores y software cargados. Observe que aunque Windows Me (Millennium Edition) está basado en Windows 98, Microsoft quitó la opción del Menú Inicio en un intento de alejarnos de cualquier tipo de operación de 16 bits. Windows NT y 2000 también carecen de la capacidad de interrumpir el inicio de esta manera. Para esos sistemas operativos requerirá de un disco flexible de arranque con DOS, el cual puede crear y usar para iniciar el sistema en modo real. Normalmente realizará esto para efectuar ciertos procedimientos, especialmente para llevar a cabo diagnósticos o editar directamente sectores del disco. Aunque el modo real es empleado por el DOS y aplicaciones “estándar” de 16 bits, hubo programas especiales que “extendían” al DOS y permitían el acceso a memoria extendida (es decir, más allá de 1 MB), conocidos como extensores de DOS. Generalmente se incluían con cualquier aplicación para DOS o Windows 3.x capaz de usarlos. El protocolo que describe la manera de hacer trabajar a DOS en modo protegido se llama DPMI (Interfaz de Modo Protegido para DOS). La DPMI era usada por Windows 3.x para acceder a memoria extendida con el fin de usarla en sus aplicaciones, aunque fueran programas de 16 bits. Los extensores de DOS son especialmente populares para juegos de DOS, porque permiten acceder a mucho más de la memoria del sistema que el megabyte que la mayoría de los programas de modo real son capaces de direccionar. Estos extensores de DOS funcionan haciendo trabajar al procesador alternadamente en modo real, o en el caso de aquellos que corren bajo Windows, utilizan la DPMI integrada para permitir el uso de una porción de la memoria extendida del sistema. Otra excepción del modo real es que los primeros 64 KB de memoria extendida son accesibles a la PC en modo real, aunque se supone que no es posible. Esto es el resultado de un bug de la AT IBM original con respecto a la vigésimo primera línea de direccionamiento de memoria, conocida como A20 (A0 es la primera línea de direccionamiento de memoria). Mediante la manipulación de la línea A20, el software para modo real puede acceder a los primeros 64 KB de memoria extendida, es decir, los primeros 64 KB después del primer megabyte. Esta área de memoria es conocida como área de memoria alta (HMA)

Administración de energía
Impulsada originalmente por el objetivo de dotar a las laptop de procesadores más potentes y rápidos, Intel creó una circuitería para administración de energía, la cual permite a los procesadores ahorrar energía y prolongar la vida de una batería. Esta adición fue presentada en el procesador Intel 486SL, el cual es una versión mejorada del 486DX. Subsecuentemente, las funciones para administración de energía fueron universalizadas e incorporadas en todos los Pentium y posteriores. Esta característica es conocida como SMM, siglas de Modo de Administración del Sistema. La circuitería SMM está incorporada al chip físico, pero opera independientemente para controlar el uso de energía del procesador considerando su nivel de actividad. La SMM permite al usuario especificar intervalos después de los cuales el procesador será parcial o totalmente apagado. También presenta la función Suspender/Reanudar, la cual permite el encendido y el apagado instantáneos utilizados en la mayoría de las PCs laptop. Estas configuraciones son controladas normalmente a través de la configuración del BIOS del sistema. 34

Ejecución superescalar
Los procesadores Pentium de quinta generación y más recientes presentan varios canales internos para ejecución de instrucciones, los cuales permiten la ejecución de varias instrucciones simultáneamente (el 486 y los anteriores pueden efectuar sólo una instrucción a la vez). Intel llama a esta capacidad tecnología superescalar. Esta tecnología ofrece un rendimiento superior al del 486. La arquitectura superescalar generalmente se asocia con chips RISC (Computadora con Conjunto Reducido de Instrucciones) de alto rendimiento. Un chip RISC tiene un conjunto de instrucciones menos complicado, menos instrucciones y más sencillas. Aunque cada instrucción logra menos, a fin de cuentas, la velocidad de reloj puede ser más alta, lo cual generalmente mejora el rendimiento. El Pentium es uno de los primeros chips CISC (Computadora con Conjunto Complejo de Instrucciones) en ser considerados superescalares. Un chip CISC emplea un conjunto más rico y con más funciones, el cual agrupa instrucciones más complicadas. Para poner un ejemplo, digamos que usted desea instruir a un robot para colocar bombillas. Si empleara instrucciones CISC usted le diría: Recoge la bombilla. Instala en el socket. Dale vuelta, en el sentido de las manecillas del reloj, hasta que quede apretada. Mediante instrucciones RISC, usted tendría que pedírselo de la siguiente forma: Baja la mano. Toma la bombilla. Levanta la mano. Instala en el socket. Dale una vuelta en el sentido de las manecillas del reloj. ¿Está apretada? Si no lo está, repite el paso 5. Fin. Para llevar a cabo una acción son necesarias muchas más instrucciones RISC, porque cada una de ellas es más simple (reducida) y hace menos. La ventaja reside en que el robot (o el procesador) tiene que lidiar con menos instrucciones, puede ejecutar los comandos con mayor rapidez y así, en muchos casos, lleva a cabo toda la tarea (o programa) mucho más rápidamente. El debate consiste en si alguno de ambos métodos (CISC o RISC) es realmente mejor que el otro. La cuestión es que en la práctica no existe ningún chip que sea RISC o CISC puro; todo es cuestión de definición, y los límites son, de alguna manera, arbitrarios. Los procesadores Intel y compatibles han sido considerados como CISC, aunque la quinta y sexta generaciones tienen muchos atributos RISC, e internamente descomponen cada instrucción CISC en versiones RISC.

Tecnología MMX
Las siglas de la tecnología MMX provinieron originalmente de eXtensiones MultiMedia, o de eXtensiones Matemáticas de Matriz, todo depende a quién le pregunte. Intel afirma oficialmente que en 35

realidad no se trata de siglas (tal vez con el fin de registrar MMX como marca comercial, pues no es posible hacerlo con iniciales o siglas); sin embargo, el origen es alguno de los mencionados al principio. La tecnología MMX fue introducida a finales de la quinta generación de procesadores Pentium (vea la figura 3.2) como un agregado para mejorar la compresión y descompresión de video, manipulación de imágenes, cifrado y procesamiento de E/S, todas ellas funciones usadas en una variedad de software actual.

Figura3.2 caras inferior y (mostrando el integrado) de un chip Intel Pentium MMX.

Las superior circuito

MMX consiste de dos mejoras arquitectónicas al procesador principal. La primera es muy elemental: todos los chips con MMX tiene una caché L1 interna más grande que las versiones sin MMX. Esto mejora el rendimiento de cualquier software, use o no las instrucciones MMX especificas. La otra parte de MMX consiste en extender el conjunto de instrucciones del procesador con nuevos comandos o instrucciones, así como una nueva capacidad de instrucciones llamada Instrucción Única, Datos Múltiples (SIMD). 57

Las aplicaciones modernas de multimedia y comunicaciones usan, con mucha frecuencia, ciclos o bucles repetitivos que, aun ocupando 10 por ciento o menos de la extensión total del código, pueden llevarse hasta el 90 por ciento del tiempo de ejecución. SIMD permite que una instrucción efectúe la misma función sobre varios segmentos de datos, de manera similar a la que un maestro dice a toda la clase “tomen asiento”, en lugar de dirigirse a cada uno de los estudiantes individualmente. SIMD permite al procesador reducir los ciclos que lo ocupan intensivamente con video, audio, gráficos y animación. Intel agregó además 57 nuevas instrucciones diseñadas en específico para manipular y procesar video, audio y datos gráficos con mayor eficiencia. Estas instrucciones están orientadas a las secuencias altamente paralelas, y a menudo repetitivas, encontradas en las operaciones multimedia: altamente paralelas porque el mismo proceso es efectuado sobre muchos puntos de datos diferentes, como cuando se modifica una imagen. Los principales inconvenientes de las MMX eran que sólo funcionaban sobre valores de íntegros y usaban la unidad de punto flotante para el procesamiento, lo cual implicaba una pérdida de tiempo cuando se hacia necesario un cambio a operaciones de punto flotante. Estos inconvenientes fueron corregidos en las adiciones a MMX de Intel y AMD. Intel concedió la licencia de las capacidades MMX a competidores como AMD y Cyrix, quienes entonces pudieron actualizar sus procesadores compatibles con Intel a la tecnología MMX.

36

Streaming SIMD Extensions
En febrero de 1999, Intel introdujo el Pentium III, en el cual incluyó una actualización a MMX llamada Streaming SIMD Extensions (SSE); también se les llamó Nuevas Instrucciones Katmai (KNI) hasta su debut, pues Katmai fue el nombre clave del Pentium III. El Celeron 533A y los Celeron superiores basados en el núcleo del Pentium III también presentan instrucciones SSE. Los anteriores Pentium II y Celeron 533 e inferiores (basados en el núcleo del Pentium II) no incluyen SSE. Las SSE incluyen 70 instrucciones nuevas para procesamiento de gráficos y sonido, además de las provistas por MMX. Las SSE son similares a las MMX; de hecho, además de ser conocidas como KNI (Nuevas Instrucciones Katmai), se les llamó también MMX-2 durante algún tiempo. Además de agregar más instrucciones al estilo de las MMX, las SSE permiten cálculos de punto flotante, y usan una unidad separada dentro del procesador en lugar de compartir la unidad de punto flotante estándar, como lo hacían las MMX. Las Streaming SIMD Extensions consisten de 70 instrucciones entre las cuales se incluyen instrucciones SIMDs de punto flotante, SIMDs adicionales para íntegros, e instrucciones para manejo de caché. Entre las tecnologías que se benefician gracias a las Streaming SIMD Extensions figuran la producción avanzada de imágenes, el video de aspecto tridimensional, audio y video fluidos (para reproducción de DVD), y las aplicaciones de reconocimiento de voz. Los beneficios de las SSE incluyen: Despliegue con resolución y calidad de imagen más altas y manipulación de software para gráficos. Audio de alta calidad, video MPEG2, y codificación y decodificación MPEG2 simultáneas para aplicaciones multimedia. Utilización reducida de la CPU para reconocimiento de voz, así como mayor exactitud y tiempos de respuesta más cortos al ejecutar software para reconocimiento de voz. Las instrucciones SSE son particularmente útiles en la decodificación de MPEG2, el esquema estándar de los DVDs. Esto significa que los procesadores equipados con SSE deben tener mejor capacidad para decodificar MPEG2 en software a toda velocidad, sin requerir los servicios de una tarjeta adicional decodificadora de MPEG2. Los procesadores con SSE son mucho mejores y más rápidos que sus versiones previas también en lo concerniente a reconocimiento de voz.

Uno de los beneficios principales de las SSE sobre las MMX es que admiten operaciones SIMD de punto flotante y precisión sencilla, las cuales han representado un cuello de botella en el procesamiento de gráficos tridimensionales. Al igual que las MMX, las instrucciones SIMD permiten llevar a cabo varias operaciones por instrucción de procesador. Específicamente, las SSE efectúan hasta cuatro operaciones de punto flotante por ciclo; es decir, una sola instrucción puede operar sobre cuatro segmentos de datos simultáneamente. Las instrucciones SSE de punto flotante pueden ser mezcladas con instrucciones MMX sin afectar el rendimiento. Las SSE también admiten la preobtención de datos, el cual es un mecanismo para leer datos en la caché antes de que se les llame. Para que cualquiera de las instrucciones SSE impliquen un beneficio práctico y sea posible observar sus ventajas, éstas deben estar codificadas en el software, lo cual implica el empleo de aplicaciones adaptadas al uso de SSE. La mayoría de las compañías de software dedicadas en la actualidad a la 37

edición de software relacionado con gráficos y sonido, han actualizado sus aplicaciones al estándar SSE y usado sus funciones. Por ejemplo, las potentes aplicaciones para gráficos como Adobe Photoshop soportan las instrucciones SSE para producir un mayor rendimiento en procesadores SSE. Microsoft incluyó SSE en su DirectX 6.1 y controladores de video y sonido más recientes, los cuales se incluyen en la segunda edición de Windows 98, Windows Me, Windows NT 4.0 (con Service Pack 5 o posterior) y Windows 2000. Observe que las SSE son una extensión de MMX; es decir, los procesadores SSE también admiten las instrucciones MMX originales. Esto significa que las aplicaciones habilitadas para MMX estándar pueden funcionar como lo hacen en procesadores con sólo MMX.

3DNow y Enhanced 3DNow
La tecnología 3DNow es la alternativa de AMD a las instrucciones SSE de los procesadores Intel. De hecho, 3DNow se incorporó por primera vez a la serie K6 antes de que Intel liberara las SSE en el Pentium III; después, AMD agregaría Enhanced 3DNow a sus procesadores Athlon y Duron. AMD licenció MMX de Intel, y toda su serie K6, Athlon, Duron y procesadores superiores que incluyen soporte completo de las MMX. Para no solicitar también la licencia de las SSE, en ese entones en desarrollo, AMD creó un conjunto de extensiones diferentes superior a MMX: el 3DNow fue introducido en mayo de 1998 en el procesador K6-2; en junio de 1999, se presentó una versión mejorada, 3DNow Enhanced, en el Athlon. Las dos versiones de 3DNow son conjuntos de instrucciones que extienden las capacidades multimedia de los procesadores AMD de una manera superior a MMX. Esto permite un mejor rendimiento para gráficos tridimensionales, multimedia y otras aplicaciones para PC con uso intensivo de cálculos de punto flotante. La tecnología 3DNow es un conjunto de 21 instrucciones que usan técnicas SIMD (Instrucción Única, Datos Múltiples) para operar sobre matrices de datos y no sobre elementos aislados. Enhanced 3DNow agrega otras 24 instrucciones a las 21 originales, para totalizar 45. Como extensión de la tecnología MMX, 3DNow es similar a las SSE (Streaming SIMD Extensions) de los procesadores Pentium III y Celeron. De acuerdo con AMD, 3DNow proporciona aproximadamente el mismo nivel de mejora a MMX que las SSE, pero con menos instrucciones y menor complejidad. Aunque la capacidad es similar, no son compatibles a nivel de instrucciones, de manera que el software diseñado específicamente para aceptar las SSE no soporta las instrucciones 3DNow, y viceversa. Como las SSE, 3DNow también acepta operaciones SIMD de punto flotante y precisión sencilla, y permite hasta cuatro operaciones de punto flotante por ciclo. Las instrucciones de punto flotante 3DNow pueden mezclarse con instrucciones MMX sin detrimento del rendimiento. 3DNow soporta también la preobtención de datos. Otra similitud con las SSE: 3DNow es bien aceptado por software como Microsoft Windows 9x, Windows NT 4.0 y todos los nuevos sistemas operativos de Microsoft. Las interfaces para programación de aplicaciones como DirectX 6.x API de Microsoft y Open GE API de SGI, han sido optimizadas para interactuar con la tecnología 3DNow, así como los controladores para muchos de los principales proveedores de aceleradoras de gráficos tridimensionales, como 3Dfx, ATI, Matrox y nVidia. Mientras que muchos juegos y controladores de video admiten 3DNow, algunas de las mayores aplicaciones para gráficos como Adobe Photoshop no soportan esta tecnología. 38

Ejecución dinámica
Usada por primera vez en la sexta generación de procesadores, o P6, la ejecución dinámica es una combinación innovadora de tres técnicas de procesamiento diseñadas para ayudar al procesador a manipular datos con mayor eficiencia. Estas técnicas son la predicción de ramas múltiples, el análisis de flujo de datos y la ejecución especulativa. La ejecución dinámica permite que el procesador sea más eficiente en la manipulación de datos, a través de un método ordenado de una manera más lógica, en lugar de simplemente procesar una lista de instrucciones, y es uno de los sellos distintivos de los procesadores de sexta generación. La manera en que el software es escrito tiene una influencia importantísima en el rendimiento del procesador. Por ejemplo, el rendimiento se verá afectado negativamente si se solicita al procesador interrumpir con frecuencia sus tareas y saltar, o bifurcarse, a otro punto del programa. También se producirán demoras cuando el procesador no puede operar sobre una nueva instrucción hasta haber terminado la que está procesando en un momento dado. La ejecución dinámica permite al procesador no sólo predecir dinámicamente el orden de las instrucciones, sino ejecutarlas fuera de orden, si es necesario, para mejorar la velocidad. Predicción de múltiples ramas La predicción de múltiples ramas anticipa el flujo del programa a través de varias ramas. Mediante el uso de un algoritmo especial, el procesador puede predecir saltos o bifurcaciones en el flujo de las instrucciones. Usa este modo para predecir dónde, en la memoria, pueden encontrarse las siguientes instrucciones con una precisión del 90 por ciento o más. Esto es posible debido a que mientras el procesador obtiene instrucciones, también consulta las que se encuentran adelante en el programa.

Análisis de flujo de datos El análisis de flujo de datos consiste en estudiar y organizar las instrucciones para ser ejecutadas en una secuencia óptima, independientemente del orden original del programa. El procesador ve las instrucciones decodificadas del software y determina si están disponibles para el procesamiento o si son dependientes de otras que deban ejecutarse primero. El procesador determina entonces la secuencia óptima y ejecuta las instrucciones en una forma más eficiente.

Ejecución especulativa La ejecución especulativa incrementa el rendimiento mediante la consulta adelantada del contador del programa y la ejecución de instrucciones que probablemente sean necesarias más adelante. Debido a que las instrucciones del software en proceso están basadas en ramas ya señaladas, los resultados son almacenados en un conjunto (pool) para referencia posterior. Si deben ser ejecutadas según el flujo de programa resultante, son retiradas las instrucciones terminadas y los resultados son relacionados con los registros principales del procesador en el orden de ejecución original del 39

programa. Esta técnica permite al procesador completar instrucciones por adelantado y después tomar los resultados terminados cuando sea necesario.

Arquitectura de Bus Dual Independiente
La arquitectura de Bus Dual Independiente (DIB) fue implementada por primera vez en los procesadores de sexta generación de Intel y AMD. La arquitectura DIB fue creada para mejorar el ancho de banda y el rendimiento del bus del procesador. Contar con dos buses de E/S independientes permite al procesador acceder a datos de sus buses paralela y simultáneamente, más que hacerlo de manera secuencial sencilla (como en los sistemas de bus sencillo). El segundo bus o de apoyo de un procesador con DIB es utilizado para la caché L2, lo cual le permite funcionar a velocidades mucho mayores a las que podría operar si compartiera un solo bus. Dos buses constituyen la arquitectura DIB: el bus para la caché L2 y el que va del procesador a la memoria principal, o bus de sistema. Los procesadores de clase P6, del Pentium Pro al Celeron, Pentium II/III y Athlon/Duron, pueden usar ambos buses de manera simultánea, lo cual permite eliminar un cuello de botella. Por ejemplo, la arquitectura DIB permite a la caché L2 del Pentium III o Athlon a 1 GHz, funcionar 15 veces más rápido que la de los procesadores Pentium o K6. Debido a que el bus de caché L2 o de apoyo está acoplado a la velocidad del núcleo del procesador, a medida que la velocidad del procesador aumenta, así lo hace la de la caché L2. La clave para implementar la DIB fue quitar la caché L2 de la tarjeta madre y colocarla en el paquete del procesador. La caché L1 siempre ha constituido parte del circuito integrado del procesador, pero la L2 era más grande y tenia que ser externa. Al pasar la L2 al procesador, ésta podía correr a velocidades similares a las de la caché primaria, es decir, mucho mayores a las de la tarjeta madre o del bus del procesador. Inicialmente, para colocar la caché secundaria en el procesador, debieron hacerse modificaciones al socket o ranura de la CPU. Hay dos soluciones de ranura y tres de socket que aceptan completamente la arquitectura DIB: Ranura 1 (Pentium II/III/Celeron), Ranura A (Athlon), Socket 8 (Pentium Pro), Socket 370 (Pentium III/Celeron) y Socket A (Athlon/Duron). La DIB también permite al bus de sistema efectuar varias transacciones simultáneas (en lugar de transacciones secuenciales), lo cual acelera el flujo de información dentro del sistema y eleva el rendimiento. La arquitectura general DIB ofrece hasta tres veces el rendimiento de ancho de banda, en comparación con un procesador con arquitectura de un solo bus.

Fabricación del procesador
La materia prima de los procesadores es el silicio, el segundo elemento más común del planeta (sólo el oxigeno es más común). El silicio es el ingrediente mayoritario de la arena de playa; sin embargo, en esa forma no es lo suficientemente puro como para emplearse en la creación de circuitos integrados. La manera de fabricar silicio para circuitos integrados es un largo proceso que inicia por la producción de cristales de silicio puro mediante el método Czochralski (llamado así en honor al inventor del proceso). En este método, un horno de arco eléctrico transforma el material crudo (roca de cuarzo extraída por minería) en silicio de grado metalúrgico. Después, para eliminar las impurezas que pudieran haber quedado, el silicio es convertido en un líquido; se destila y se moldea en forma de barras con grado de pureza de semiconductor, las cuales son 99.999999 por ciento 40

puras. Estas barras son segmentadas mecánicamente y empacadas en crisoles de cuarzo, los cuales son cargados en hornos eléctricos para pulido de cristales. Ahí, las porciones de silicio son fundidas a más de 1,370 ºC (2,500 ºF). Para evitar deformaciones, los hornos están montados en cubos de concreto muy grueso, sobre un sistema de suspensión, para evitar cualquier vibración que pudiera dañar los cristales durante su formación. Una vez que el silicio está fundido, se inserta un cristal germinal o cristal de inicio en el silicio derretido, y se hace girar muy lentamente (vea la figura 3.3). A medida que se va extrayendo el cristal germinal del recipiente de silicio fundido, algo de éste se va adhiriendo a su alrededor y endureciéndose en una sola estructura de cristal. Mediante el control minucioso de la velocidad de extracción (10 a 40 milímetros por hora) y la temperatura (1,370 ºC) el cristal va creciendo de una delgada barrita a un barra más gruesa, hasta alcanzar el diámetro deseado. Dependiendo del tipo de chips a fabricar, cada lingote tiene un diámetro de aproximadamente 20 o 30 cm, una longitud de más de metro y medio, y un peso de cientos de kilos.

Cristal Cristal de silicio, en una sola estructura Crisol de cuarzo Cámara enfriada por agua Escudo térmico Calentador de carbón Crisol de grafito

Soporte del crisol Charola pare derrames
Electrodo

puro El

Figura 3.3 Producción de un lingote de silicio en un horno de alta presión y alta temperatura.

lingote se rectifica hasta obtener un cilindro perfecto de 200 ó 300 mm de diámetro, normalmente con un corte plano en un extremo para posibilitar la precisión en el manejo y la colocación. Cada lingote es cortado con una sierra de diamante de alta precisión en más de mil obleas circulares, cada una con un grosor menor a un milímetro (vea la figura 3.4). Cada oblea se pule hasta producir una superficie con acabado especular (de espejo). Los chips se construyen a partir de las obleas mediante un proceso llamado fotolitografía. Este proceso fotográfico crea transistores y rutas de señales y circuitos en semiconductores, mediante el depósito de diferentes capas de varios materiales en el chip, una sobre otra. Donde dos circuitos específicos se intersectan, se forma un transistor o un interruptor. El proceso fotolitográfico inicia con la creación, mediante deposición de vapor, de una capa aislante de dióxido de silicio sobre la oblea. Después, se aplica un recubrimiento de material fotoendurecible 41

y se proyecta sobre la superficie, ahora sensibilizada a la luz, la imagen de una de las capas que se desean crear.

Disco de la sierra de diamante

Lecho Figura 3.4 Corte de un obleas, con una sierra de lingote de silicio en diamante.

Al proceso de agregar impurezas químicas al silicio (el cual es no conductor por naturaleza), con el propósito de crear un material con propiedades semiconductoras, se le conoce como dopaje. El proyector utiliza una máscara creada especialmente, la cual es, en esencia, el negativo de esa capa del chip grabada en cromo en una placa de cuarzo. El Pentium III utiliza veinte máscaras o más para crear seis capas de interconexiones de metal y semiconductoras. Al pasar a través de la máscara, la luz es enfocada sobre la superficie de la oblea, imprimiendo en ella la imagen de la capa (se conoce como circuito terminado a la imagen de cada chip). Un dispositivo llamado stepper mueve la oblea un poco y la misma máscara se utiliza para imprimir una capa de circuito impreso contigua a la anterior. Después de que toda la oblea queda impresa con la misma capa, una solución cáustica se lleva todas las áreas donde la luz tocó la capa fotosensible, dejando la impresión de las vías del chip (interconexiones entre capas) y las rutas del circuito. Después, se deposita otra capa de material semiconductor y otra de material fotosensible sobre la oblea, y se usa la siguiente máscara para producir la capa de circuitería correspondiente. Mediante este método, las capas y componentes de cada chip se van construyendo unos sobre otros, hasta que éstos son terminados. Las máscaras finales agregan las capas de metalización, las cuales constituyen las interconexiones de metal usadas para vincular todos los transistores y otros componentes. En la actualidad, la mayoría de los chips usan interconexiones de aluminio, aunque algunos están cambiándolo por el cobre, el cual es un material más promisorio a futuro. El primer chip comercial para PC interconectado con cobre es el Athlon, producido en la fábrica Dresden de AMD. El cobre es mejor conductor que el aluminio y permitirá conexiones más pequeñas y de menor resistencia, lo cual implicará la posibilidad de fabricar chips más pequeños y rápidos. No se había usado porque es hasta ahora cuando comienzan a resolverse algunos arduos problemas de corrosión ocurrida durante el proceso de fabricación, los cuales no presenta el aluminio. A medida que se retinen las soluciones de estos inconvenientes, habrá más y más chips fabricados con interconexiones de cobre. Una oblea circular tendrá todos los circuitos impresos que pueda contener. Dado que cada chip es, por lo general, cuadrado o rectangular, sobran algunas porciones de material en los bordes aun cuando se intenta usar cada milímetro cuadrado de la superficie. 42

Actualmente, el tamaño de la oblea estándar en la industria es de 200 mm de diámetro y 31,416 mm de superficie. El Pentium II a 300 MHz, por ejemplo, contiene hasta 7.5 millones de transistores en un proceso de 0.35 micras (millonésima parte de un metro). Este método produce un circuito integrado de exactamente 14.2 mm por lado, es decir, un cuadrado de 202 mm2 de área. Por tanto, alrededor de 150 chips Pentium II a 300 MHz, construidos mediante el proceso de 0.35 micras, caben en una sola oblea de 200 mm de diámetro. La tendencia en la industria es tanto producir obleas más grandes, como lograr un proceso para crear circuitos integrados más pequeños a través de la reducción de los circuitos individuales y los transistores del chip. Por ejemplo, los procesadores Pentium II de 333 MHz a 450 MHz fueron creados con un proceso de 0.25 micras, el cual redujo el tamaño del circuito integrado a sólo 10.2 mm por lado, con un área de 104 mm2. En la misma oblea de 200 mm, Intel puede producir 300 chips Pentium II empleando este proceso, es decir, el doble de los producidos con el proceso de 0.35 micras de la versión a 300 MHz. El Pentium III a 600 MHz o a mayor velocidad es construido con un proceso de 0.18 micras y el circuito integrado mide sólo 104 mm2, con alrededor de 10.2 mm por lado. Es la misma medida del Pentium II a 333 MHz, sólo que el PIII aloja 28.1 millones de transistores (incluyendo la caché L2 asimilada al circuito integrado); el Pentium II tenia sólo 7.5 millones de ellos. En el futuro, los procesos aumentarán la tasa de reducción de 0.18 a 0.13 micras, y las obleas crecerán de 200 a 300 mm; las de 300 mm podrían contener más del doble de chips producidos en las de 200 mm que se usan en la actualidad. El proceso de 0.13 micras permitirá la inclusión de más transistores en un circuito integrado que mantendrá un tamaño razonable. Esto implica que continuará la tendencia a incorporar la caché L2 en el circuito integrado del procesador, y que el número de transistores crecerá hasta los 200 millones por chip o más. El rey actual en cuanto a el número de transistores es el Pentium III Xeon de Intel, introducido en mayo de 2000, con 2 MB de caché incorporada y 140 millones de transistores en un solo circuito integrado. El aumento de la superficie de las obleas, de 200 a 300 mm, permitirá incrementar la producción de circuitos integrados hasta alrededor de 675 chips por oblea. Intel y otros fabricantes esperan iniciar la producción en serie de obleas de 300 mm durante el 2001; después de esto, los precios de los procesadores continuarán bajando de manera significativa a medida que aumente la demanda. No todos los circuitos impresos de la oblea salen bien, sobre todo cuando se inicia una nueva línea de producción. A medida que se perfecciona el proceso de fabricación de un chip dado, disminuye el número de chips desechados. El porcentaje de chips buenos es conocido como cosecha o producción. Las producciones de menos de 50 por ciento son comunes al inicio de la fabricación de un nuevo chip; para el fin de la vida comercial de un procesador dado, las producciones se estabilizan en la escala del 90 por ciento. La mayoría de los fabricantes de chips guardan sus cifras de producción con gran secreto, porque el conocimiento de problemas de producción puede dar a sus competidores cierta ventaja. Una producción deficiente puede causar problemas tanto en el costo por chip como en los tiempos de entrega a los clientes; si una compañía tiene conocimientos específicos sobre el mejoramiento de las producciones de sus competidores, puede establecer precios o programar la producción en un punto crítico para abarcar una porción mayor del mercado. Por ejemplo, AMD tuvo producciones deficientes durante 1997 y 1998, lo cual le costó perder una parte significativa del mercado. En la actualidad, esos problemas están resueltos y parece ser que ahora es Intel quien batalla para poder cumplir con la demanda. 43

Cuando es terminada una oblea, un aparato especial prueba cada uno de los circuitos de la oblea y marca los defectuosos para separarlos posteriormente. Entonces, los circuitos son cortados con un láser de alta potencia o con una sierra de diamante. Una vez cortados, los circuitos son probados de nuevo, encapsulados y vueltos a probar. El proceso de encapsulamiento es conocido también como bonding (inserción de conexiones), debido a que el circuito integrado es colocado en una cápsula donde una máquina especial conecta finos alambres de oro entre el circuito integrado y los pines del chip. La cápsula es el recipiente para el circuito integrado y es el que lo aísla del ambiente. Una vez interconectados con sus pines y encapsulados, se efectúa una prueba final para determinar el correcto funcionamiento y la velocidad del chip armado. A menudo, los chips de un mismo lote corren a una velocidad diferente. En esta fase, unos aparatos especiales hacen funcionar a cada chip a diferentes presiones, temperaturas y velocidades, buscando un punto en el que el chip se detenga. En este punto, se anota la máxima velocidad funcional y los chips finalistas son puestos en depósitos, junto con los que presentaron una velocidad similar. Por ejemplo, los Pentium III 750, 866 y 1,000 son exactamente los mismos chips fabricados con el mismo circuito impreso, sólo que al final del proceso de manufactura se clasificaron en diferentes niveles de acuerdo a su velocidad. Algo interesante al respecto es que, a medida que un fabricante acumula experiencia y perfecciona una línea de ensamblaje para un chip en particular, incrementa significativamente la producción de versiones más veloces. Esto implica que, de una oblea de 150 chips, quizá más de 100 de ellos terminan funcionando a 1,000 MHz, y sólo algunos no alcanzan esa velocidad. La paradoja es que como generalmente Intel vende mucho más chips a 933 y 866 MHz, por su precio comparativamente más bajo, para cumplir con la demanda recurre al depósito de los chips de 1,000 MHz y los marca como de 933 y 866 MHz. La gente descubrió que muchos de los chips corren a velocidades mucho mayores a las marcadas... y nació el negocio del aumento de la velocidad del reloj (es decir, operar un procesador a una velocidad mayor a la estipulada). En muchos casos, la gente logra sobreprocesar sin problemas porque, en realidad, tienen un procesador de mayor velocidad. Esto provocó el surgimiento de un problema interesante: algunos fabricantes sin escrúpulos comenzaron a usar chips más lentos y los remarcaron con velocidades más altas para venderlos como versiones más veloces y costosas. A menudo, el precio entre diferentes velocidades del mismo chip puede ser sustancial, en términos de cientos de dólares, de manera que cambiar unos cuantos números en la impresión de los chips puede producir ganancias enormes. Dado que la mayoría de los procesadores Intel y AMD son producidos con un generoso margen de seguridad, gracias al cual funcionan bien más allá de la velocidad estipulada, la mayoría de los chips fraudulentamente marcados operan sin problemas. Por supuesto, en muchos casos no lo hacen y el sistema se cae o se bloquea de cuando en cuando. Al principio, todo consistía en borrar los números originales y remarcar el chip con números de aspecto genuino, pero estos procesadores eran fácilmente detectables. Los remarcadores recurrieron entonces a fabricar recipientes nuevos, especialmente en los casos de los procesadores de Ranura 1 y Ranura A de Intel y AMD, los cuales se encuentran dentro de un cartucho plástico. Aunque esta maniobra puede parecer poco práctica, las ganancias pueden ser bastante grandes. Este tipo de falsificación es llevada a cabo por el crimen organizado y no se trata sólo de una maniobra de un adolescente que trabaja en el sótano de su casa con una lija y un sello de goma.

44

Intel y AMD han llevado a cabo acciones para detener estas maniobras en alguna medida. Para ello han integrado una protección contra el aumento de la velocidad del reloj en forma de un candado de multiplicador en la mayoría de sus chips más recientes. La protección se lleva a cabo durante el proceso de fabricación del cartucho o el encapsulamiento, en el cual los chips son alterados intencionalmente de manera que no corran a velocidades mayores que las estipuladas. Por lo regular, esto involucra la modificación de los pines de frecuencia de bus (BF) del chip, lo cual controla los multiplicadores internos que el procesador emplea. Aun así, algunos emprendedores han encontrado formas de hacer funcionar sus tarjetas madre a velocidades de bus superiores a la normal, de forma que aunque el chip no acepta un multiplicador más alto, el usuario aún puede correrlo a una velocidad mayor de aquella para la que fue marcado. En la actualidad, todos los Pentium II y III tienen un candado de multiplicador, lo cual significa que el multiplicador no puede ser controlado ya por la tarjeta madre, y que el aumento de la velocidad del reloj puede lograrse sólo a través de hacerla funcionar a una velocidad de bus mayor a aquella para la que el procesador fue diseñado. Muchas nuevas tarjetas madre tienen configuración de BIOS o jumpers que pueden ser usadas para aumentar la velocidad de bus de la tarjeta madre unos cuantos MHz arriba de lo normal, la cual es multiplicada internamente por el procesador para lograr velocidades todavía mayores. Si cuenta con un equipo con el que pueda jugar, será interesante hacerlo. El problema real de la protección contra el aumento de la velocidad del reloj, como la implementó Intel y AMD, es que el falsificador profesional es capaz de saltársela, insertando circuitería diseñada a la medida dentro del cartucho plástico del procesador. Esto es particularmente cierto para los procesadores de ranura, dado que hacen uso de una cubierta ideal para esconder esta circuitería. Es bastante más difícil falsificar un procesador de socket. Para evitar caer en la trampa, verifique los números de especificación y de serie con Intel y AMD antes de comprar el procesador. También tenga cuidado de donde adquiere su hardware. Comprar en sitios Web de subastas puede representar un peligro ya que es más fácil engañar al consumidor. También son muy riesgosas las ferias de computación itinerantes. Los procesadores no son los únicos componentes expuestos a la falsificación; he visto memoria fraudulenta (SIMMs/DIMMs), ratones, tarjetas de video, memoria caché, sistemas operativos, aplicaciones e incluso, tarjetas madre falsificadas o piratas. El hardware pirata normalmente funciona, pero es de una calidad menor a la pagada. Por ejemplo, una de las piezas de hardware más falsificadas es el ratón Microsoft. Ellos lo venden, en mayoreo, a 35 dólares, y aún así es posible comprar uno producido por fabricantes extranjeros por 2.32. No costó mucho trabajo darse cuenta de que si fabrican un ratón de 2 dólares que se parece a uno Microsoft de 35, podrían venderlo por 20 y la gente aún creería obtener una ganga, mientras los falsificadores se quedan con una jugosa ganancia.

Encapsulamiento de procesadores PGA
El encapsulamiento PGA ha sido el tipo más común usado hasta ahora. Se comenzó a emplear a partir del 286, en los ochenta, y se usa todavía en procesadores Pentium y Pentium Pro. Se le asignó el nombre de PGA (Arreglo de Malla de Pines) debido a que el chip tiene una rejilla o malla de 45

pines ubicada en la parte inferior del procesador. Los procesadores PGA son insertados en sockets, los cuales frecuentemente son del tipo ZIF (Cero Fuerza de Inserción). Los sockets ZIF presentan una palanca para permitir una instalación y una extracción más sencillas. La mayoría de los procesadores Pentium usan una variación de PGA llamada SPGA (Arreglo de Malla de Pines Escalonado), donde los pines están escalonados, en lugar de alinearse convencionalmente, en la parte inferior del chip. Esta disposición tiene como fin concentrar los pines en una superficie menor para reducir el tamaño del procesador. La figura 3.5 muestra un Pentium Pro que usa el patrón dual SPGA (a la derecha), junto con un Pentium 66 con PGA. Observe que la mitad superior del Pentium Pro (circuito de la derecha), tiene pines adicionales insertados entre las columnas y filas formadas por el resto de los pines.

Figura 3.5 PGA en el Pentium 66 (izquierda) y SPGA con patrón doble en el Pentium Pro (derecha)

CONCLUSIONES
Tras haber examinado desde una pequña historia hasta cada velocidad de diferentes fabricantes de procesadores, se puede entender que no se puede solo hacer referencia de cual marca o variante es mejor, sino hasta no analizar el uso que se vaya a dar, lo más importante siempre es saber que necesitamos y para estar seguros de que lo tenemos, basta con estar conformes de que el sistema que utilizamos nos satisface en todo sentido respecto a hardware sin olvidar que el software juego un papel decisivo en el uso de un ordenador.

46

BIBLIOGRAFIA
Mueller, Scout. Reparación y Mantenimiento de PC's. 2002. QUE Corporations. www.intel.com www.adm.com www.via-tech.com

47

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->