UNO DE LOS TEMAS QUE MAS TRATAMOS EN NUESTRA REVIS-
TA ES EL DE LOS MICROPROCESADORES. MUY A MENUDO HA-
CEMOS REVISIONES DE LOS ULTIMOS PROCESADORES LANZADOS POR INTEL Y AMD, ANALIZAMOS LAS NUEVAS TEC- NOLOGIAS PRESENTADAS EN ESTE CAMPO Y RESPONDEMOS LAS CONSULTAS DE NUESTROS LECTORES AL RESPECTO. POR OTRO LADO, PENSEMOS ALGO: CUANDO NOS PREGUNTAN QUE COMPUTADORA TENEMOS, QUE ES LO PRIMERO QUE CONTESTAMOS? ES UN 99% SEGURO QUE TODOS MENCIONA- MOS PRIMERO EL TIPO DE PROCESADOR, QUE ES EL COMPO- NENTE DE LA PC QUE CONTROLA TODOS LOS DEMAS. POR ESO, NO ES SORPRENDENTE QUE LE DEDIQUEMOS A ESTE TEMA UNA NOTA DE TAPA, LA MAS LARGA DE LA HIS- TORIA DE POWERUSR. EN ESTAS DIECISEIS PAGINAS, ABARCAREMOS MUCHOS DE LOS TEMAS QUE CONCIERNEN A LOS MICROPROCESADORES, COMENZANDO POR LA TEORIA Y TERMINANDO POR LA HISTORIA QUE PUSO LOS CIMIENTOS PARA LOGRAR LA SITUACION ACTUAL. 32 POWERUSR MICRO ENLAPC. PROCESA DORES Ariel nio Gentile | genaris@tectimes.com 32-47 Notapa-P17.qxd 2/2/05 11:25 AM Page 32 33 POWERUSR unque muy amplia, la definicin clsica de microprocesador, que lo describe como un cerebro, es bastante acertada. En un sistema de com- putacin, el microprocesador es la unidad encargada de controlar y coordinar el funcionamiento del resto de los dispositi- vos, adems de realizar todos los clculos que abarcan aritmtica y lgica (que son en los que se basan todos los programas). Al ser el dispositivo central, se lo deno- mina comnmente CPU (Central Proces- sing Unit, o Unidad Central de Proceso). Ms adelante, veremos la historia de los microprocesadores (principalmente en la PC), aunque ahora podemos adelantar que su gran significado histrico reside en que el microprocesador era un chip que contena dentro varios circuitos integra- dos, y resuma un complejo circuito elec- trnico en apenas un componente de po- cos centmetros de superficie. FABRICACION Fsicamente, los procesadores no son ms que una muy pequea porcin de un semiconductor (generalmente, silicio) de forma rectangular, que se encuentra conectada a una superficie cermica u orgnica de tamao mayor. Esto hace que aquel pequeo circuito con un rea de pocos milmetros pueda ser manejado y conectado al resto del equipo de una manera sencilla, ya que la superficie fi- nal (que es la que se ve a simple vista) tiene un tamao de tres a cinco cent- metros cuadrados. Un procesador consta principalmente de componentes electrnicos de un tamao muy pequeo (en la actualidad, de hasta 65 nm), como es el caso de transistores, resistencias, capacitores y diodos. El ms utilizado es el transistor, del que habla- mos mucho en ediciones anteriores, aun- que aqu lo que nos interesa destacar es que con la interconexin de muchos transistores se pueden designar circuitos lgicos, en los cuales se basa el procesa- dor para funcionar (ms adelante vere- mos una explicacin ms detallada sobre este tema). Todos estos componentes es- tn inmersos en una pastilla de un mate- rial semiconductor (que no es conductor de la electricidad en condiciones norma- les, pero s adquiere propiedades conduc- toras al colocarle impurezas), como es el silicio. Las interconexiones entre los dis- tintos componentes se hacen mediante conductos de aluminio o cobre (ste es el ms utilizado actualmente). La fabricacin de los procesadores se realiza en varias etapas, en las cuales se utilizan distintas capas. Todo comienza con una fina oblea de sustrato de silicio puro de forma circular, llamada wafer, cuyo tamao puede asemejarse al de un disco compacto (o incluso ser mayor). En ella hay varios procesadores, aunque se dice comnmente que los que estn en la parte central son los ms estables (y, por ende, aptos para el overclocking). Luego, se coloca una capa dielc- trica (no conductora) de dixido de silicio con un espesor menor a 5 nm. Lo siguiente es utilizar una capa fotosensible en la cual, me- diante energa lumnica, se deter- minan los circuitos elctricos de los procesadores involucrados en el wafer. Esta tcnica, llamada fotolitografa, se realiza que- mando el material con luz ultra- violeta o con rayos X, para tener una mayor precisin. Finalmente, se realiza el dopaje del silicio con materiales como el fsforo o el boro, a los que se io- niza (se les agrega o quita elec- trones) a fin de que queden car- gados elctricamente y se trans- formen en conductores. Lo nico que resta es hacer un bombardeo atmico para colocar el resto de los componentes necesarios para el microprocesador. FUNCIONAMIENTO Qu es lo que hace un procesa- dor? Bsicamente, obtiene datos por medio de una entrada, y lue- go devuelve un resultado de acuerdo con lo que se requiere. Podemos imaginar al procesador como una calculadora (de hecho, los primeros procesadores se usaron para las calculadoras electrnicas): ingresamos los operandos y las funciones, y en un parpadeo tenemos un resulta- do en la pantalla. Si bien un microprocesador es un componente muy complejo, pode- mos resumir su funcionamiento en cinco pasos elementales: bsqueda de la instruccin, su decodifica- cin, bsqueda de los operandos, ejecucin de la instruccin y LAS FUNCIONES BASICAS EN ESTA IMAGEN PODEMOS VER UN WAFER. LOS PROCESADORES DE MAYOR ESTABILIDAD SUELEN SER LOS DE SU PARTE CENTRAL. EN ESTE ESQUEMA VEMOS CUALES SON LOS CINCO PASOS BASICOS QUE DETERMINAN LAS FUNCIONES PRINCIPALES DE UN MICROPROCESADOR. A CONCEPTOS BASICOS PARA INICIAR ESTE ARTICULO, EMPEZAREMOS POR LA BASE: QUE ES UN MICROPROCESADOR, CUALES SON LAS PARTES FUNDAMENTALES QUE LO COMPONEN Y COMO ES QUE INTERACTUA CON EL SISTEMA. ADEMAS, VEREMOS LAS PRINCIPALES DEFINICIONES QUE SE MENCIONAN AL HABLAR DE PROCESADORES. BUSQUEDA DE LA INSTRUCCION DECODIFICACION DE LA INSTRUCCION BUSQUEDA DE OPERANDOS EJECUCION DE LA INSTRUCCION ALMACENAMIENTO DEL RESULTADO 32-47 Notapa-P17.qxd 2/2/05 11:25 AM Page 33 34 almacenamiento del resultado. Tambin, podemos comenzar dividiendo al procesador en dos partes fundamentales: uni- dad de control y unidades de ejecucin (ALU y FPU). UNIDAD DE CONTROL La unidad de control se encarga de los pri- meros tres pasos comentados con anteriori- dad. Es la parte frontal del procesador, que interacta con la memoria para obtener los datos correspondientes, interpreta las instrucciones y determina la forma en que deben ser entregadas a las unidades de eje- cucin (esto es, las ordena y las enva de la mejor manera posible). Esta unidad consta de dos registros (peque- as celdas de memoria) importantes que se llaman Program Counter (contador de pro- grama) e Instruction Register (registro de instruccin). El primero tiene siempre la direccin de memoria de la prxima instruccin, mientras que el segundo registra la actual. Tambin cuenta con la conexin con el clock, que es el reloj que marca paso al funcionamiento del procesador, y el de- codificador, que es la parte que toma el cdigo de la instruccin y lo con- vierte a un lenguaje interno del procesador. Esta informacin pasa a la parte final de la unidad de control, que es el secuenciador. Aqu es donde la instruccin se descompone en pequeas partes, denominadas microins- trucciones, y luego pasan al motor de ejecucin en un orden conveniente. UNIDADES DE EJECUCION Por su parte, las unidades de ejecucin se encargan exclusivamente de eje- cutar la instruccin correspondiente. Es decir, realizan la operacin mate- mtica propiamente dicha, y guardan el resultado para ya terminar la fase de ejecucin. La unidad de ejecucin tpica es la ALU (Unidad Aritmtico- Lgica) que, como su nombre lo indica, se encarga de realizar operaciones tanto aritmticas como lgicas. Ms adelante, hablaremos con mayor deta- lle acerca de las instrucciones y operaciones, adems de otro tipo ms es- pecfico de unidad de ejecucin, que es la FPU (Unidad de Punto Flotante). Por ahora, lo que nos interesa mencionar es que la ALU consta de una se- rie de registros y un circuito operacional, que es el que contiene la lgica necesaria para manejar los datos. Precisamente, los datos se almacenan en los registros, que pueden ser de entrada (contienen los operandos), acumu- lador (almacena el resultado) o de estado (flag). Este ltimo se utiliza para determinar ciertos parmetros de los resultados (como el signo). Ms ade- lante veremos cules son los registros de los procesadores x86, a fin de en- tender cmo se programan y cmo es su funcionamiento. CAMINOS DE INFORMACION El microprocesador tiene una interfaz externa (mediante la que se comunica con el resto del equipo) y otra interna (con la que se comunican las distin- tas partes del procesador). Esta ltima puede ser de diferente tamao y ve- locidad, de acuerdo con el tipo de componentes que interconecta. Los lectores de POWERUSR bien pueden imaginarse de qu estamos hablando con estas interfaces. Se trata de los buses. Como bien sabemos, los buses se caracterizan por su velocidad (medida en MHz, millones de ciclos por AQUI SE OBSERVA EL NUCLEO DE UN PROCESADOR PENTIUM 4 (WILLAMETTE), DE 8,18 MICRONES. A LA DERECHA SE NOTAN SUS 256 KB DE CACHE L2. LA UNIDAD DE CONTROL CON ALGO MAS DE DETALLE, PODEMOS APRECIAR UNA DE LAS PARTES FUNDAMENTALES DEL MICROPROCESADOR, QUE ES LA UNIDAD DE CONTROL. CLOCK SECUENCIADOR PROGRAM COUNTER INSTRUCTION REGISTER DECODIFICADOR ACERCA DE LA MEMORIA Cuando decimos que el microprocesador interacta con la memoria, estamos hablando de la conexin con los primeros niveles de RAM, como son las cach L1 y L2. De all es de donde saca toda la informacin necesaria. Paraconocer ms sobre el tema, recomendamos leer la nota de tapa de POWERUSR #15, acerca de me- moria, donde se puede ver el funcionamien- to de los distintos niveles de RAM y el fun- cionamiento del subsistema de memoria. POWERUSR 32-47 Notapa-P17.qxd 2/2/05 11:25 AM Page 34 35 segundo) y su ancho (cantidad de informacin que se puede transmitir al mismo tiempo, medida en bits), valores que se multiplican entre s para for- mar el ancho de banda (medido en MB o GB por segundo). Los procesadores tienen tres tipos de buses diferentes: de datos (el ms co- nocido), de direccin y de control. El bus de datos contiene la informacin a transferir, y en procesadores actuales tiene un ancho de 64 bits. Por su parte, el bus de direccin contiene la ubicacin de memoria en la que se est trabajando. En procesadores actuales de 32 bits, este bus es de 32, 36 o 40 bits, y permite direccionar hasta 4 GB (2 32 ), 64 GB (2 36 ) y 1 TB (2 40 ), respectivamente. Finalmente, el bus de control es el ms simple, e indica si se trata de una operacin de lectura o escritura. Cmo determinan los desarrolladores el tamao de los buses? General- mente, el tamao del bus de datos externo suele corresponder con las ca- pacidades internas del procesador. Tiene que ser el adecuado para poder suministrar los datos necesarios al procesador y que ste se encuentre ocu- pado (procesando) la mayor parte del tiempo. Por ejemplo, en procesadores de 16 bits, como el 286, se usa un bus de 16 bits, mientras que en los 386 y 486 se utiliza uno de 32 bits. LOS BITS Un momento! Qu es eso de procesador de n bits? De acuerdo con el tamao de los re- gistros, se acostumbra clasificar a los proce- sadores en cantidad de bits. Si un procesador contiene en su ALU registros de 8 bits (es de- cir, admite trabajar con nmeros que pueden contener hasta 2 8 valores distintos, o sea, 256), se dice que es de 8 bits. La ventaja de trabajar con una mayor cantidad de bits es que se podrn utilizar nmeros ms grandes en un ciclo simple. Es decir, es posible sumar dos valores de 16 bits (nmeros mayores a 255 y menores a 65536) con un procesador de 8 bits, pero para eso se necesitar usar al menos dos ciclos de clock. En cambio, un procesador de 16 bits trabajar con ambos valores sin mayores complicaciones. Por supuesto, en este caso, un procesador de 32 o 64 bits sera totalmente innecesario, ya que estaramos desperdiciando su potencial. Debido a ello, no siempre es mejor tener un procesador con registros ms grandes, y esto depende exclusivamente del software y el tipo de datos que se utilicen. Por supuesto, la pre- cisin de los datos tiene mucho que ver con la aplicacin: no es lo mismo un procesador de texto que un programa que maneje todo un entorno 3D. En el primer caso, puede que los clculos no requieran un manejo de datos superior a los 16 bits, pero en el segundo, con las complejas operaciones a realizar, es muy probable que se utilicen muy a menudo n- meros con valores superiores a los 64 bits. As que sa es bsicamente la razn por la que los procesadores de 32 bits permanezcan en la mayora de las PC actuales. Adems, hay que tener en cuenta que los procesadores poseen partes de 64, 80 y hasta 128 bits (co- mo es el caso de la FPU y las instrucciones SIMD, que veremos con ms detalle en las prximas pginas), que mejoran sustancial- mente el rendimiento. LA UNIDAD ARITMETICO-LOGICA UNA VEZ QUE LA UNIDAD DE CONTROL ENVIO LAS INSTRUCCIONES, TOMAN LUGAR LAS UNIDADES DE EJECUCION. AQUI VEMOS UN ESQUEMA BASICO DE UNA ALU. FLAGS REG 1 REG 2 INSTRUCCIONES NUCLEO (CIRCUITO LOGICO) ACUMULADOR Lo primero que se comenta al hablar de un procesador determinado es el proceso de manufactura. Ms especficamente, se habla de micrones, o nanometros. Este valor indica el tamao que tienen los componentes del microprocesador en cuestin. Un micrn (mejor dicho, un micrometro) es 10 -6 metros, mientras que un nanometro es 10 -9 metros. Si decimos que un procesador posee una tecnologa de fabricacin de 90 nm (como es el caso de los actuales Pentium 4 y Athlon 64), estamos diciendo que se es el tamao de los transistores del procesador. Precisamente, una buena medida para ver la complejidad y, tal vez, la potencia del procesador es la cantidad de transistores que posee. Lo que es importante comentar de esto es que no se suelen discriminar los transistores en cuanto a si son del ncleo del procesador (lo que contamos en estas pginas) o bien a la memoria cach. Si bien la cach es muy importante en el rendimiento de un procesador, es evidente que la lgica de ste es lo que ms determina su complejidad. As es que resulta sorprendente que un procesador grfico como el NVIDIA NV40 (GeForce 6800) contenga 220 millones de transistores (entre ellos hay un nmero muy pequeo dedicado a cach) y que un microprocesador como el Pentium 4-E tenga 125 millones, cuando casi la mitad de ellos es destinada a la cach. PROCESO DE MANUFACTURA POWERUSR 32-47 Notapa-P17.qxd 2/2/05 11:25 AM Page 35 36 POWERUSR EL MANEJO DE LAS INSTRUCCIONES EN ESTA SECCION VEREMOS COMO ES QUE EL PROCESADOR RECIBE LAS INSTRUCCIONES QUE SE LE ENTREGAN, Y DE QUE FORMA LAS DEGLUTE Y CONVIERTE EN RESULTADOS. PARA HACERLO, DESARROLLAREMOS CONCEPTOS DE ELECTRONICA LOGICA Y TECNICAS DIGITALES. ecordemos la definicin de micropro- cesador que dimos: acta como una calculadora, a la que hay que enviarle los operandos y las instrucciones, y luego s- lo resta esperar el resultado. Sin embargo, debemos tener en cuenta que no es tan fcil comunicarse con el procesa- dor y decirle que haga una determinada ope- racin. Es decir, no podemos ponernos en- frente del microprocesador y decirle: Nece- sito que hagas tres por cuatro y me digas el resultado con tres cifras decimales exactas. Por el contrario, hace falta conocer el len- guaje del procesador, a fin de que l nos en- tienda. Cada procesador (ya sea una CPU, un procesador grfico o un DSP de una placa de sonido) tiene su propia forma de operar, pero en general consiste en transfe- rir determinadas combinaciones de informacin a su registro de instruccio- nes. Por ejemplo, puede que colocando el nmero 33 le estemos informando al procesador que, a continuacin, enviaremos al bus de datos los dos ope- randos de una suma. Pero, claro, parece muy complicado para el programador recordar todos estos nmeros de instrucciones (en especial, porque hay cientos de instrucciones distintas). Por eso es que se desarroll un lenguaje ensamblador (o Assembler) que reemplaza estos nmeros por palabras, de manera que sea ms fcil re- cordar las instrucciones. Por supuesto, en este lenguaje debemos lidiar con to- do tipo de instrucciones que, muy probablemente, en lenguajes de un nivel ms alto (como el BASIC) no debamos considerar. Sin embargo, el control so- bre el procesador es mucho mayor y se podra obtener un rendimiento ms alto, ya que los compiladores traducen su lenguaje al de mquina de acuerdo con un procedimiento estndar que, tal vez, no sea el ptimo para un deter- minado programa. INSTRUCCIONES DEL PROCESADOR Debido a la gran variedad en el juego de instrucciones de los procesadores x86 (los cuales, ya sean 386, Pentium o Athlon 64, comparten las mismas instrucciones bsicas), no vamos a explicar las instrucciones una por una. Lo que s vamos a hacer es dividirlas en los tipos que existen, a fin de entender mejor qu es lo que la ALU del procesador hace en realidad. Podemos definir las instrucciones en cinco tipos: aritmticas, lgicas, de transferencia, boo- leanas y de ramificaciones (branches). ARITMETICAS Son las ms fciles de suponer, ya que abarcan aquellas operaciones mate- mticas que todos conocemos, como la suma, la resta, la multiplicacin y la divisin. Por supuesto, no todas significan lo mismo para el procesador. Siempre es mucho ms sencillo sumar que restar y, a su vez, es ms fcil res- tar que multiplicar y dividir. Aqu se utiliza mucho el registro de flags, por ejemplo para indicar el signo en una resta, o para indicar algn overflow (sobrepaso de datos) cuando el resultado exceda las capacidades de los regis- tros del procesador. Por otra parte, aqu tambin se colocan operaciones de incrementacin y decrementacin. LOGICAS Las operaciones lgicas son un tipo muy utilizado en los microprocesadores. Consisten en comparaciones entre datos y determinados manejos preestable- cidos de los bits de informacin. Cundo se utiliza este tipo de operaciones? Un ejemplo fcil puede ser la comparacin de un valor con otro en una sen- tencia condicional If-Then, o bien si se requiere realizar un determinado tipo de transformacin a un dato. Las ms conocidas de estas operaciones lgicas son AND, OR, XOR, NOT y ROTATE, cuyo funcionamiento explicamos en el recuadro de la pgina 39. DE TRANSFERENCIA Este tipo de instrucciones es prcticamente utilizado la mitad del tiempo, ya que trata del movimiento de informacin de un sector de la memoria a otro, comenzando por los registros y terminando por grandes bloques de datos. No hay grandes explicaciones en lo referente a estas instrucciones, aunque podemos decir que hay tanto de movimiento de un sector a otro como de intercambio (lo que estaba en un lugar se coloca en el otro y viceversa, utilizando un tercer sector de memoria equivalente al ms grande como buffer temporal). R EJEMPLO DE EJECUCION EN ESTE ESQUEMA REPRESENTAMOS EL CAMINO DE LA INFORMACION EN UN PROCESADOR QUE HACE USO DE EJECUCION SUPERESCALAR Y PIPELINING. MEMORIA RAM RETIRO CACHE RECEPCION DECODIFICACION PREDICCION DE SALTOS ORDENAMIENTO UNIDAD DE CONTROL MOTOR DE EJECUCION FPUS ALUS 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 36 37 POWERUSR BOOLEANAS Las operaciones booleanas se refieren tambin a comparaciones, como es el caso de las lgicas. Se usan principalmente para las banderas (flags), que son bits que se ponen en 1 o en 0 de acuer- do con un determinado estado. Justamente, esto es lo que diferencia a las booleanas de las lgicas, ya que aqu no importa el valor en con- creto sino el estado. Una aplicacin muy comn es la de mscaras, es decir, forzar a algunos bits de un byte a un de- terminado valor de un byte. Por ejemplo, dejar in- tactos los primeros cuatro bits de un byte, pero llenar con 1 los cuatro restantes. DE RAMIFICACIONES Finalmente, podemos mencionar los comandos de flujo, que se refieren a los saltos o ramificaciones. Esto es cuando un programa realiza una opera- cin condicional o de ciclos repetitivos y luego salta a otra instruccin. EJECUCION EN CPUS MODERNAS Estuvimos hablando acerca de los tipos de instrucciones y cmo se ingre- san en el procesador. Lo que nos resta mencionar es la forma en que se van desenvolviendo, cuestin que obviamente no depende del programador sino de la arquitectura interna del microprocesador. Si bien ya vimos algo de esto en la seccin de Conceptos Bsicos, aqu nos centraremos en hablar de cmo se manejan varias instrucciones dentro del procesador. PIPELINING Antiguamente, los procesadores slo podan realizar una parte de una ins- truccin en cada ciclo (es decir, efectuaban una sola de las etapas menciona- das anteriormente, como la bsqueda de la instruccin o de los operandos). Adems, en la parte de la ejecucin, slo se realizaba una microinstruccin. De esta forma, el rendimiento era bastante pobre, dado que, por ejemplo, el Intel 8088 (usado en la primera PC) tardaba aproximadamente 15 ciclos en realizar una instruccin tpica. Entonces, se busc una forma de dividir la unidad de ejecucin para que pudiera ejecutar pequeas etapas de la pro- duccin de clculos, de modo tal que fuera posible ir ejecutando una parte de la siguiente instruccin en simultneo, aunque la anterior no hubiera ter- minado. A esta lnea de montaje se la llama tubera, o pipeline. PIPELINING Y PARALELISMO AQUI VEMOS EN ACCION LOS CONCEPTOS DE PIPELINE Y PARALELISMO. SE TRATA DE UN PROCESADOR CON DOS ALUS DE CINCO ETAPAS. INSTRUCCION K ALU 1 ALU 2 CICLO N INSTRUCCION K-2 INSTRUCCION K-4 INSTRUCCION K-6 INSTRUCCION K-8 RESULTADO K-8 RESULTADO K-7 INSTRUCCION K-1 INSTRUCCION K-3 INSTRUCCION K-5 INSTRUCCION K-7 INSTRUCCION K+1 INSTRUCCION K+2 ALU 1 ALU 2 CICLO N+1 INSTRUCCION K INSTRUCCION K-2 INSTRUCCION K-4 INSTRUCCION K-6 RESULTADO K-6 RESULTADO K-5 INSTRUCCION K+1 INSTRUCCION K-1 INSTRUCCION K-3 INSTRUCCION K-5 INSTRUCCION K+3 INSTRUCCION K+4 ALU 1 ALU 2 CICLO N+2 INSTRUCCION K+2 INSTRUCCION K INSTRUCCION K-2 INSTRUCCION K-4 RESULTADO K-4 RESULTADO K-3 INSTRUCCION K+3 INSTRUCCION K+1 INSTRUCCION K-1 INSTRUCCION K-3 INSTRUCCION K+5 INSTRUCCION K+6 ALU 1 ALU 2 CICLO N+3 INSTRUCCION K+4 INSTRUCCION K+2 INSTRUCCION K INSTRUCCION K-2 RESULTADO K-2 RESULTADO K-1 INSTRUCCION K+5 INSTRUCCION K+3 INSTRUCCION K+1 INSTRUCCION K-1 INSTRUCCION K+7 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 37 38 POWERUSR Cules son las ventajas y las desventajas? Por un lado, lo bueno es que si la pipeline siempre se encuentra llena (o sea, sin etapas vacas), la uni- dad de ejecucin es capaz de llegar a realizar, en promedio, casi una instruccin por ciclo. En el esquema, seguramente se pueda observar mejor este he- cho. Por otro lado, otra caracte- rstica es que, a medida que se vayan agregando etapas a la cadena, cada una de ellas reali- zar una menor cantidad de trabajo. Esto supone que puede tardar menos y se le puede exi- gir que realice su trabajo con una mayor frecuencia (traduc- cin: es posible aumentar ms la frecuencia de clock de la CPU). Sin embargo, hay un punto flojo del pipelining y es justamente que se requiere una unidad de control bas- tante avanzada para que pueda ordenar correctamente las instrucciones. Hay algunas instrucciones que de- penden del resultado de otras para realizarse, de ma- nera que si una instruccin que llega a la etapa de de- codificacin depende de otra que an no ha sido ter- minada, deber quedar esperando hasta que sta finalice; as se perder una cantidad de ciclos de clock proporcional a la cantidad de etapas de pipeline. Los primeros procesadores en usar sistemas de pipeli- ning incluyeron apenas cuatro etapas. Actualmente, algunos procesadores alcanzan a tener ms de 30 eta- pas (caso de los ltimos Pentium 4). PARALELISMO Otra caracterstica importante de los procesadores modernos es la ejecucin superescalar. Como los primeros procesadores apenas constaban de una ALU, slo tenan una tubera por donde ejecutar las instrucciones. Sin embargo, desde hace mucho tiem- po se incluy un coprocesador matemtico (unidad de punto flotante) que poda ejecutar instrucciones de una aritmtica compleja en un menor tiempo que la ALU de la CPU. Ms tarde se comenz a incluir a esta unidad (FPU) en el mismo procesador, y, debido a que comparta la misma unidad de control, poda trabajar paralelamente con la ALU. Esto quiere decir que es posible ejecutar una instruccin simple con la ALU y una de punto flotante (con nmeros decima- les) en la FPU, totalizando hasta dos instrucciones por ciclo de clock. Adems, los procesadores modernos incluyen ms de una ALU y una FPU, de modo tal que pue- den ejecutar ms de una instruccin de ca- da tipo en simultneo. Es comn que estas ALU y FPU paralelas no sean idnticas en- tre s, y que algunas de ellas se dediquen a clculos ms complejos cuando otras lo ha- cen con clculos ms simples. Esto permite una mejor respuesta del procesador a distin- tos tipos de instrucciones. Una vez ms, la mala consecuencia del pa- ralelismo se encuentra en la dependencia de las instrucciones. En este caso, tal vez, el problema sea mayor, puesto que la pena- lizacin puede ser de una mayor cantidad de ciclos, al dejar parada toda una pipeline. PREDICCION DE RAMIFICACIONES Para evitar los problemas ocasionados por el pipelining y la ejecucin superescalar, se desarroll un sistema denominado pre- diccin de ramificaciones (o saltos). Prin- cipalmente, cuando decimos que una ins- truccin depende del resultado de otra pa- ra ejecutarse, nos referimos a estructuras del tipo If-Then o Do-While. Las primeras son condicionales, por ejemplo: Si a es mayor que b, ejecutar c; caso contrario, ejecutar d. Las otras tambin, aunque son iterativas siempre se debe ejecutar lo mis- mo hasta que se cumpla una cierta condi- cin (por ejemplo, repetir una operacin hasta que un contador llegue a 100). En todos estos casos, si no existiera algn mecanismo de prediccin de lo que va a LA UNIDAD DE PUNTO FLOTANTE ESTA ES LA ARQUITECTURA INTERNA DE UNA FPU BASICA. TIENE UNA UNIDAD DE CONTROL PROPIA, DONDE SE ENCUENTRAN REGISTROS DE CONTROL Y ESTADO. ESTA CONTROLA A LA UNIDAD DE EJECUCION NUMERICA. REGISTRO DE CONTROL UNIDAD DE CONTROL UNIDAD DE EJECUCION NUMERICA REGISTRO DE ESTADO REGISTRO DE CONTROL REGISTRO DE ESTADO REGISTRO DE CONTROL REGISTRO DE ESTADO MONITOREO DE BUS ESTADO DATO DIRECCION REGISTROS DE ETIQUETA EXCEPCIONES BUFFER DE DATOS MODULO DE EXPONENTE DESPLAZADOR REGISTROS DE DATOS (80 BITS) HASTA LA EPOCA DE LOS 486, LA FPU NO SE INCLUIA EN EL MISMO ENCAPSULADO DEL PROCESADOR. 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 38 39 POWERUSR ocurrir, la pipeline del procesador se encontrara atas- cada hasta que se supiera el resultado de la condicin (en el primer caso, sera hasta que se terminara de rea- lizar la operacin lgica de comparacin entre a y b). Lo que resulta interesante es saber cmo funciona la prediccin de ramificaciones. Los primeros sistemas de este tipo eran tan simples como tomar siempre un valor verdadero en las operaciones condicionales; es- to daba una probabilidad de acierto de 50%, lo cual, obviamente, es muy pobre. Sin embargo, en algunos ciclos Do-While grandes, de 100 o 1000 iteraciones, era bastante efectivo, ya que alcanzaba una tasa de acierto de 99 o 99,9% (respectivamente). Todos los procesadores modernos (desde algunos 486) poseen una unidad de prediccin de ramificaciones co- nectada a su unidad de control. Esta unidad contiene una lgica mediante la cual realiza un algoritmo esta- dstico que determina dinmicamente el resultado ms probable de una ramificacin. Para ello, emplea una pequea cach llamada Branch Target Buffer (BTB), donde se registra el resultado de las ltimas instruccio- nes condicionales y, sobre su base, se prev el destino del salto en curso. LOS REGISTROS DE LA ALU Como dijimos, los registros son los sectores de memo- ria bsicos de un microprocesador y con los que traba- ja para realizar todos sus clculos. Por ello es que un microprocesador depende principalmente del tamao y manejo de los registros para determinar sus capacida- des. Los primeros procesadores de la arquitectura x86 tenan un total de 14 registros de 16 bits. Estos se divi- den en registros de datos, de segmento, punteros de pila, ndices, de estado y contador de programa. Los de datos (o propsito general) son con los que los pro- gramadores de lenguajes de bajo nivel interactan nor- malmente, y son cuatro: AX, BX, CX y DX. Lo intere- sante es que se pueden separar sus partes alta y baja (o sea, los primeros 8 bits y los segundos), de modo que queden ocho registros: AH, AL, BH, BL, CH, CL, DH, DL (H es alto, o parte ms significativa, y L es bajo, o parte menos significativa). Algo similar ocurre en los procesadores de 32 bits (386 y superiores), cuyos regis- tros se llaman EAX, EBX, ECX y EDX, y se puede tomar su parte baja para mantener compatibilidad con viejos procesadores x86. Por otro lado, comentaremos brevemente el resto de los registros: los de segmento tambin son cuatro, y tienen como objetivo determinar el segmento de la memoria en el que se est trabajando (tanto para los datos como las instrucciones); los regis- tros ndice son dos (inicio y destino) y se usan general- mente como referencia en movimientos de datos; final- mente, el contador de programa (o Program Counter) hace lo que dijimos en pginas anteriores, mientras que el registro de estados es un conjunto de bits que actan como banderas e indican distintos estados determina- dos (como un resultado, un overflow, la direccin de avance en un manejo de memoria, etc.). Todos estos re- gistros se mantuvieron en los siguientes procesadores, aunque, por supuesto, se ampliaron a 32 bits. Adems, se agregaron otros registros de segmento. LA UNIDAD DE PUNTO FLOTANTE Varias veces hemos mencionado a la unidad de punto flotante o FPU, tambin llamada unidad de coma flotante o coprocesador matemtico, debido a que antiguamente se inclua en un chip aparte. La FPU realiza operaciones con n- meros reales que se encuentran representados mediante un estndar. Dichos n- meros pueden ser tanto enteros (de hasta 64 bits) como racionales (80 bits). Esto supone que se puede tratar con un rango mucho ms grande de nmeros (desde 2 63 hasta 2 63 , o 0 a 2 64 ), o bien con una precisin significativamente mayor. La forma de lograrlo es utilizar registros de un tamao mayor, as como una nota- cin especial, por ejemplo la IEEE 754. Una FPU tpica es bastante parecida a una ALU, aunque es ms compleja. Se destacan principalmente sus ocho registros de datos de 80 bits. Adems, posee dos registros importantes que son el de estado y el de control. Como podemos imaginarnos, el primero consta de una serie de bits (16), cuyo valor determina el estado de la FPU en el momento de ser ledo. En el registro de control se co- loca la informacin acerca de la precisin requerida por la FPU y los mtodos de redondeo que se deben aplicar al resultado. Por otra parte, podemos decir que una FPU generalmente tiene ms etapas de pipeline que una ALU. Esto es porque sus operaciones son ms complejas que las de una ALU. Por ejemplo, en el caso del primer Pentium, la ALU tena cinco etapas y la FPU, ocho. Otro ejemplo puede ser el Athlon, de diez y quince etapas, respectivamente. Por cierto, es interesante destacar que, para algunas operaciones, se requiere el uso de la FPU, es decir que no slo sirve para mejorar el rendimiento sino que sus funciones pueden ser obligatorias (como en el caso de los MP3). Las compuertas lgicas son com- binaciones de interruptores que tienen una, dos o ms entradas, y devuelven, de acuerdo con un de- terminado patrn, un resultado a travs de su salida. En el caso que nos concierne, se utilizan transistores como interruptores. Podramos pensar en el procesa- dor como grandes conjuntos de compuertas lgicas, as que stas son la base de todo microproce- sador. A continuacin, menciona- remos algunas de ellas: AND: Esta compuerta, que tiene dos o ms entradas (recordemos que trabajamos en un sistema bi- nario, con 0 y 1), devuelve un 1 s- lo si ambas entradas son 1. O sea que, cuando hay dos entradas, re- quiere que la entrada 1 y la entra- da 2 sean 1 para devolver un 1. OR: Esta compuerta es similar a la anterior, aunque en este caso, con tal que slo una de las entradas sea 1, la salida tambin tendr es- te valor. O sea, si la entrada 1 o la entrada 2 son 1, la salida es 1. XOR: Es parecida a OR. La dife- rencia es que, si todas las entra- das son 1, la salida es 0. Es decir que, si todas las entradas son iguales, se devuelve un 0; caso contrario, se devuelve un 1. NOT: Tiene una sola entrada, y lo que hace es invertir su estado. Si la entrada era un 0, la salida es un 1, y viceversa. Un ejemplo que se puede men- cionar con estas compuertas es forzar un 1 en el sexto bit (con- tando de derecha a izquierda) del byte cuyo valor es 11010001, sin variar el resto. Lo que se hace es una OR con el valor 00100000. De esta forma, donde haba un 0, queda un 0, y lo mismo con los 1. Pero el sex- to bit siempre ser 1 al aplicar esta mscara. COMPUERTAS LOGICAS ESTE ES EL FORMATO DE UN NUMERO FLOTANTE DE SIMPLE PRECISION (32 BITS). SE DESTINA 1 BIT AL SIGNO, 8 AL EXPONENTE Y 23 A LA MANTISA. DE ESTA FORMA, SE PUEDE DETERMINAR UN NUMERO DE HASTA 23 DIGITOS MULTIPLICADO POR 2 A LA 128. MANTISA EXPONENTE SIGNO 8 23 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 39 40 POWERUSR INSTRUCCIONES SIMD PARA TERMINAR CON LA PARTE INTERNA DE LA CPU, VAMOS A HABLAR ACERCA DE LAS EXTENSIONES QUE SE HAN HECHO AL SET DE INSTRUCCIONES X86: LAS INSTRUCCIONES SIMD, DESTINADAS A MEJORAR SUSTANCIALMENTE EL RENDIMIENTO EN APLICACIONES MULTIMEDIA. IMD significa Single Instruction, Multiple Data, y es un tipo de instrucciones en las que se trabaja con paquetes de datos para realizar, en un solo ciclo, varias transformaciones similares en muchos da- tos. De esta manera, lo que se logra es obtener dos, cuatro, ocho o ms resultados, cuando de la forma tra- dicional (SISD, Single Instruction, Single Data) se de- bera ejecutar esa cantidad de veces la misma instruc- cin, con la prdida de tiempo que eso supone. Para explicar este tema de una forma ms clara, pode- mos decir que la base de las instrucciones es el uso de vectores. Los vectores, o arrays, son conjuntos de nme- ros, denominados escalares. Por ejemplo, podemos supo- ner un vector de cuatro elementos: 1 ; 2 ; 10 ; 3. Ahora, imaginemos que queremos multiplicar todos esos nmeros por 4. Entonces, de la manera tradicional, sim- plemente le decimos al procesador que realice la opera- cin de multiplicacin cuatro veces, lo cual llevar consi- go tambin operaciones de carga de datos y guardado del resultado. Pero qu pasa si en lugar de tratar con esos cuatro nmeros por separado, los juntamos en un solo valor grande, que sera un vector, y luego lo multiplica- mos por cuatro? Evidentemente, ganaremos muchsimo tiempo, ya que con una simple operacin, esto es (1 ; 2 ; 10 ; 3) * 4, obtenemos un resultado (tambin en forma de vector), al que luego solamente debemos descomponer. La problemtica que puede surgir es cmo hacer para cargar tantos datos en simultneo, ya que evidentemente vamos a necesitar registros de un tamao (en este caso) cuatro veces mayor que uno normal. A continuacin ve- remos de qu forma se las han arreglado los fabricantes de procesadores de PC para afrontar este problema. MMX En el mundo de las PC, el primer indicio de instrucciones SIMD fue el MMX (MultiMedia eXtensions), desarrollado por Intel. Actualmente, todos los procesadores contienen este juego de instrucciones, que consta de un total de 57. Al procesador se le agrega una unidad de procesamiento de MMX, la cual puede trabajar en paralelo con la ALU, no as con la FPU. Esto es porque, para no incrementar el tamao del ncleo del procesa- dor, se decidi compartir los registros dedicados a MMX con los de la FPU. Por lo tanto, la unidad de MMX contiene ocho registros de 64 bits (dado que slo utiliza los bits de la man- tisa). Cada uno de estos regis- tros puede dividirse en paque- tes de uno, dos, cuatro u ocho datos (de 64, 32, 16 y 8 bits, respectivamente). Es decir que se puede trabajar con vectores de hasta ocho elementos, aun- que pequeos. Para muchas aplicaciones, como es el caso de nuestro ejemplo, esto es til ya que no se trabaja con n- meros tan grandes en valor, pero s en cantidad. Por cierto, algo para destacar es que todas las instrucciones MMX tratan de nmeros ente- ros nicamente. 3DNOW! En su K6-2, AMD sorprendi introduciendo sus propias ins- trucciones SIMD, que realmente son interesantes aunque no han tenido tanta aceptacin como las presentadas por Intel. Ac- tualmente, todos los procesado- res de AMD las soportan. Son 21 instrucciones dedicadas al punto flotante, a las que luego AMD agreg 24 (Advanced 3DNow!), destinadas a todo lo relacionado con la codificacin de audio, video, procesamiento de voz y funciones de DSP. Lo interesante de 3DNow! es que fue el primer sistema SIMD su- perescalar (haba dos unidades de este tipo trabajando en para- lelo), de manera que, gracias a sus registros de 64 bits (que comparte tambin con la FPU), puede computar hasta 128 bits de datos en simultneo. SSE Presentadas en el Pentium III, actualmente tambin estn en todos los procesadores (incluso de AMD). Las SIMD Strea- ming Extensions fueron dise- adas para solventar todas las deficiencias de las MMX. Son 70 instrucciones nuevas, de las cuales 50 estn dedicadas al clculo de nmeros de punto flotante. De todas formas, lo ms destacable es que se utili- zan (ahora s) ocho nuevos re- gistros, totalmente indepen- dientes de los de la FPU, con un tamao de 128 bits. Nue- vamente, se pueden dividir hasta en paquetes de elemen- tos de enteros de 8 bits (y cuatro nmeros de punto flo- tante de simple precisin, o sea, los de 32 bits). Adems, Intel coloc un sumador y un multiplicador adicionales, de manera que se pueda trabajar con dos flujos de datos de 64 bits en simultneo, a cada uno de los cuales se le aplican dos operaciones diferentes (obvia- mente, suma y multiplicacin). S SIMPLE INSTRUCCION, MULTIPLES DATOS CPU RESULTADOS INSTRUCCIONES DATOS LA IDEA BASICA DE LAS INSTRUCCIONES SIMD ES QUE CON UNA SIMPLE INSTRUCCION SE PUEDA TRABAJAR CON VARIOS DATOS (EN ESTE CASO, SERIAN CUATRO). 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 40 41 POWERUSR n las primeras pginas de esta nota comenta- mos la tecnologa inter- na de los procesadores. Diji- mos que externamente el pro- cesador tiene un encapsulado cermico para hacerlo malea- ble y de esa forma adaptarlo fcilmente al resto del equipo. Podemos ver que la mayora de los procesadores actuales tiene una forma cuadrada y dispone de muchos pines (con- tactos) ubicados en su parte inferior. A es- ta disposicin se la llama comnmente PGA (Pin Grid Array, o arreglo de contac- tos en forma de grilla). Tambin est el LGA (Land Grid Array), usado por los lti- mos procesadores de Intel, que es similar pero no tiene pines en el procesador sino en el zcalo del motherboard. LOS PINES Por supuesto, cada procesador en particu- lar tiene una cantidad de contactos dife- rente, y de distinto tipo. Sin embargo, po- demos distinguir en todos los procesadores de PC algunos tipos de pines, que transfie- ren seales de distintas categoras. Alimentacin: en algunos casos, casi la mitad de los pines del procesador es refe- rida a la alimentacin. Son los que pro- veen de energa elctrica a las distintas partes del procesador. La razn por la que se usan muchos pines, y no slo algunos, es no sobrecargar de corriente a un deter- minado conducto. Por cierto: algunos pro- cesadores tienen distintas tensiones para determinadas partes (por ejemplo, una pa- ra el sector de entrada/salida y otra para las partes ms internas). Datos: no hace falta mucha explicacin aqu, ya que los pines de datos son los correspondien- tes con el bus de datos. Es decir que los procesadores actuales tienen 64 pines de este tipo. Adems, hay otras seales de paridad, para el control de errores. Direcciones: evidentemente, se trata del direcciona- miento, y existen en la actualidad entre 32 y 40 pines para esto, dependiendo del procesador. Adems, hay algunos pines de paridad (generalmente, uno por cada ocho bits de informacin). Clock: normalmente, un pin permite ingresar la seal de clock proveniente de un pequeo chip, llamado ge- nerador de clock ubicado en el motherboard. Interrupcin: algunos pines son dedicados a los dife- rentes tipos de interrupcin. A este tema lo trataremos en la prxima pgina. Error: en cuanto los procesadores se hacen ms com- plejos y rpidos, es necesario dedicar ms pines y se- ales al control de errores. Sin ellos, probablemente no viviramos en estos tiempos (!). Control externo: en algunos casos, ciertos parmetros pueden configurarse externamente, por ejemplo, la cach y el multiplicador. Para ello, existen pines dedicados. SEALES DE CLOCK Como comentamos alguna vez, es un cristal de cuarzo el que le da vida a la computadora. En el caso de las PCs, se utiliza una seal de 14,31818 MHz para alimentar un pequeo circuito integrado que se en- carga de entregar distintas frecuencias de clock, las E GENERACION DE CLOCKS AQUI SE PUEDE APRECIAR LA GENERACION DE CLOCKS EN EL SISTEMA. EL GENERADOR DE CLOCK TIENE UNOS PINES DE ENTRADA CON LOS QUE CONFIGURA CIERTOS PARAMETROS (COMO EL FSB). ESTO DA LUGAR A LOS CONOCIDOS JUMPERS, SWITCHES O CIRCUITOS CONTROLADOS POR SOFTWARE (COMO EL BIOS SETUP). 14,318 MHZ BUS DE MEMORIA 48 MHZ 48 MHZ 33 MHZ 66 MHZ FSB FSB CRISTAL CHIPSET GENERADOR DE CLOCK USB FDD PCI MEMORIA RAM AGP M U L T I P L I C A D O R CPU CONEXION CON EL RESTO DE LA PC YA HEMOS VISTO COMO FUNCIONA INTERNAMENTE UN MICROPROCESADOR, Y CUAL ES SU CONEXION LOGICA CON EL EXTERIOR. AHORA VAMOS A INTRODUCIRNOS EN LA CONEXION ELECTRICA, HABLANDO ACERCA DE LOS ZOCALOS, EL CLOCK, LA TENSION, EL FSB Y LAS INTERRUPCIONES. ESTE ES EL FORMATO DE PINES UTILIZADO ACTUALMENTE POR INTEL: LAND GRID ARRAY. LOS PINES ESTAN EN EL ZOCALO, EN VEZ DE EN EL PROCESADOR. 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 41 42 POWERUSR cuales son aprovechadas por diferentes componentes (procesador, memoria RAM, buses PCI y AGP, puertos USB, disqueteras, etc.). En el caso del procesador, se ob- tiene una seal correspondiente a la del bus frontal, o Front Side Bus, que es precisamente el bus por el cual el procesador se comunica con el subsistema de memoria y los distintos dispositivos. En los procesadores modernos, esa frecuencia es multiplicada por un cierto valor, de manera tal que el procesador trabaje internamente a una velocidad mayor (dado que la memoria y los dems dis- positivos no pueden avanzar en velocidad de clock con tanta facilidad). As, un Athlon Thunderbird de 1 GHz puede trabajar con un FSB de 100 MHz y un multiplica- dor de 10, o con un FSB de 133 MHz y un multiplicador de 7,5. Es importante aclarar que el multiplicador depen- de exclusivamente del procesador. Los jumpers del motherboard, o el BIOS Setup, simplemente le envan al procesador una seal de control estndar que puede va- riar de uno a otro e, incluso, puede que sea ignorada. Hay que destacar que en algunos procesadores no es tan sencilla la definicin de FSB. Por ejemplo, los Athlon 64 trajeron consigo una gran confusin, ya que integran el controlador de memoria (gracias al cual debieron agregar una gran cantidad de pines extra). De esta forma, se comunican a una cierta frecuencia con la memoria RAM, y a otra, con el resto del sistema. Por eso es que no se sabe si llamar FSB a la conexin con la me- moria RAM o al vnculo con el resto del equipo. En general, es ms aceptado hablar de este trmino como la conexin con la memoria. LAS INTERRUPCIONES Como ya sabemos, el procesador controla una gran cantidad de dispositivos. Frecuentemente, muchos de ellos requieren de su atencin, y existen dos mecanismos para que sean atendidos. Uno de ellos es el polling, que consiste en estar constantemente consultando a los dispositivos si requieren de atencin (es como cuando nuestras abuelas nos ofrecen comida insistentemente). Es- to permite que sea el procesador el que maneje los tiempos de atencin. Sin embargo, en un sistema como el de PC es ms efec- tivo el mtodo de interrupciones, en donde es el dispositivo el que llama al procesador cuando necesita atencin. Cmo funciona este sistema? En el procesador se encuentra una lnea de interrupcin (INT) que va conectada a una unidad llama- da PIC (Programmable Interrupt Controller, controlador progra- mable de interrupciones), la cual se encarga de gestionar las soli- citudes de interrupcin (IRQ) de los distintos dispositivos. El PIC usado en PC es el 8259, que est integrado en el chip Super I/O del motherboard y puede gestionar hasta 8 IRQ, ordenadas por prioridad. Desde los 286, hay un segundo 8259 conectado a la ter- cera lnea de IRQ, de forma que se pueden gestionar hasta 15 IRQ. Por cierto: en los sistemas modernos, se aprovecha una funcin de los procesadores actuales que es APIC (Advanced PIC), un sistema incompatible con ste que permite hasta 24 IRQ. Consta de un PIC externo (en el motherboard) y de uno local (en el procesador). Qu es lo que ocurre cuando se solicita una interrupcin? Lite- ralmente, el procesador deja de realizar su trabajo y atiende a la interrupcin, que normalmente es una rutina predefinida (por ejemplo, al presionar una tecla del teclado se produce una inte- rrupcin que interpreta el cdigo ASCII y lo muestra en pantalla). Por supuesto, si ya se est ejecutando la rutina de una interrup- cin, se evaluar si la prioridad de la nueva es superior a la de la que est en curso, de manera que se produzca un encadenamien- to. En caso contrario, queda en una cola de espera en el PIC. Se llama tensin, o diferencia de po- tencial, al trabajo que se realiza al mover una carga elctrica de un punto tomado como referencia (en general, la tierra) a otro determina- do. Cuanto mayor sea esta diferen- cia (que se mide en volts, V), ms trabajo se realizar y, por lo tanto, ms energa estar involucrada en dicho movimiento de cargas. Cuando hablamos de un procesador que tra- baja a 3,3 V, estamos diciendo que sa es la diferencia de potencial que debe haber entre el punto de poten- cial mayor y el de potencial menor. Por otro lado, la intensidad de co- rriente es el caudal de cargas elc- tricas que se transmiten por unidad de tiempo en una seccin transver- sal de un conductor. Como la unidad de carga es el coulomb, y la de tiem- po ms utilizada es el segundo, la intensidad de corriente se mide en C/s, o amperes (A). En qu afectan estos valores? El pri- mero tiene que ver ms que nada con la energa requerida, mientras que el segundo afecta el calor generado por la propia resistividad de los conductos. Ambos se unen en un trmino llama- do potencia, que surge de multipli- car la tensin y la intensidad de co- rriente. Precisamente, se dice que la potencia es la cantidad de energa transmitida por unidad de tiempo, ya que el volt equivale a joule sobre coulomb, y si multiplicamos esto por algo medido en coulomb sobre se- gundo, nos queda joule sobre segun- do (y el joule es una unidad de medi- da de trabajo y energa). A esta nue- va unidad se la denomina watt (W). Uno de los mayores desafos de los fa- bricantes es lograr que la potencia re- querida sea inferior, en especial te- niendo en cuenta la miniaturizacin de los microprocesadores actuales. Un cable bastante grueso es capaz de soportar una intensidad de corriente de hasta unos 7 A, cuando un procesa- dor como el Pentium 4-E lleva 76 A! TENSION, INTENSIDAD DE CORRIENTE Y POTENCIA EL ATHLON 64 FX Y EL OPTERON DE AMD SON LOS PROCESADORES DE PC CON MAYOR CANTIDAD DE PINES (940), DEBIDO A LA INTEGRACION DEL CONTROLADOR DE MEMORIA. 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 42 43 POWERUSR PROCESADORES EN LA HISTORIA PARA FINALIZAR ESTA NOTA, HAREMOS UNA BREVE RESEA HISTORICA DE LOS MICROPROCESADORES, HACIENDO HINCAPIE EN LOS QUE ESTUVIERON EN LA PC. COMENZAREMOS DESDE EL PRIMERO (EL INTEL 4004) HASTA LOS QUE LES ABRIERON CAMINO A LOS ACTUALES. os comienzos del micro- procesador se remontan al ao 1969, cuando In- tel solicit, a una compaa ja- ponesa llamada Busicom, reali- zar unos circuitos integrados destinados a utilizarse en cal- culadoras. Marcian Hoff y Fe- derico Faggin fueron dos de los ingenieros ms importantes que llevaron a cabo este pro- yecto, finalizado en 1971 con el nombre de Intel 4004. Este era un procesador de cuatro bits que era capaz de ejecutar 6000 operaciones por segundo, a una frecuencia de 108 KHz. Un ao ms tarde, Intel y Texas Instruments desarrollaron el primer procesador de ocho bits, que era el 8008. Este haca hasta 300.000 instrucciones por segundo, direccionaba 16 KB de memoria y contena un total de 45 instrucciones. Dos aos ms tarde, hizo aparicin el 8080, tambin de ocho bits pero capaz de soportar hasta 64 KB, adems de incluir 75 instrucciones. A mediados de la dcada de 1970, compaas como Moto- rola y MOS Technologies apa- recieron en el mercado de los microprocesadores, presentan- do procesadores muy intere- santes, como la lnea 6800 y 6500, respectivamente. El mo- delo 6502 de MOS Technolo- gies fue particularmente impor- tante, ya que se venda a un precio siete veces menor al de la competencia, por lo cual s- tos (Intel y Motorola, principal- mente) debieron disminuir el precio a la mitad. Este procesa- dor, de similares caractersticas al 8080, fue el utilizado en computadoras como las Apple I y II, y la mtica Commodore 64, y facilit mucho tanto el abaratamiento como la popula- rizacin de las computadoras. Otro procesador muy importan- te fue el Z80 de Zilog, una compaa que fue fundada por L EL INTEL 4004 FUE EL PRIMER MICROPROCESADOR. ERA DE 4 BITS Y TRABAJABA A 108 KHZ. REALIZABA HASTA 60.000 INSTRUCCIONES POR SEGUNDO. muchas optimizaciones a la ge- neracin anterior, aunque abso- lutamente compatible con ella. Basta con decir que la instruc- cin ms pesada tarda 29 ciclos, en lugar de 206. Todo esto hace que, a la misma frecuencia de clock, el 80286 pueda llegar a ser hasta 7 veces ms rpido que el 8088. Por cierto, su frecuencia fue desde los 12 has- ta los 25 MHz. Algo muy destacable es la inclu- sin de 25 instrucciones nuevas, algunas de las cuales estn refe- ridas a los conceptos de multi- tarea y memoria virtual. Pode- mos decir que recin desde el 80286 se puede hablar de un sistema operativo multitarea, ya que es el primero en incluir fun- ciones para esto (de todas for- mas, es posible hacer un sistema as con un 8088, aunque es mu- cho ms incmodo y rudimenta- rio). Intel siempre cuid la com- patibilidad en su arquitectura x86, por lo cual se encarg de desarrollar dos modos de funcio- namiento: modo real y modo protegido. El primero es absolu- tamente compatible con el 8086, y la nica diferencia es que es ms rpido. El segundo agrega los conceptos antes menciona- dos. Podramos decir que, prcti- camente, el 80286 fue ms utili- zado en modo real que en prote- gido, puesto que el sistema ope- rativo ms popular de su poca (el MS-DOS) funcionaba bajo es- te modo de funcionamiento. Federico Faggin cuando dej Intel, en 1976. Este tam- bin era un procesador de 8 bits, con un gran nmero de instrucciones (ms de 170) y con un direcciona- miento de 64 KB, adems de un buen manejo de la ali- mentacin. Lo que haca especial al Z80 era que conte- na instrucciones compatibles con el 8080, que era uno de los ms utilizados en la poca (pese a su alto costo). Esto haca que el Z80 fuera capaz de ejecutar todos los programas diseados para el procesador de Intel. Por lo tanto, el Z80 (junto con el 6502) fue el ms popular de los procesadores de 8 bits; as pas a formar parte de computadoras como la Spectrum y las MSX. EL MICROPROCESADOR EN LA PC Como hemos mencionado varias oportunidades en la seccin Hardware de antao, el microprocesador uti- lizado en la primera PC fue el Intel 8088. Se trata de una CPU de 16 bits, cuyo bus de datos es de 8 bits y su bus de direcciones de 20 bits. Esta limitacin en el bus de datos supone que tarda dos ciclos de clock para cargar operandos de 16 bits, aunque de todas formas no se siente tanto la diferencia, teniendo en cuenta otras limitaciones que posee la arquitectura del 8086 (que es igual al 8088, pero con el bus de 16 bits). Bsicamente, podemos decir que el 8086 carga- r un operando de 16 bits en un ciclo slo si ste tie- ne su inicio en una direccin de memoria par (de lo contrario, igual se tardarn dos ciclos). Por otro lado, el bus de direccin de 20 bits permite utilizar una memoria de hasta 1 MB (2 20 bytes). Por otro lado, el 8088 tiene 92 instrucciones, de las cuales la ms rpida tarda dos ciclos en completar- se, mientras que la ms lenta ocupa la para nada despreciable cifra de 206 ciclos de clock. Las fre- cuencias de clock oscilan entre 4,77 y 12 MHz, de- pendiendo del fabricante (ya que compaas como NEC, Harris y AMD fabricaban sus propias versiones del 8088, con ciertas optimizaciones). La siguiente generacin de procesadores en la PC fue la del 80286, un procesador enteramente de 16 bits (direccionando hasta 16 MB de memoria) con EL 8088 FUE EL PROCESADOR DE 16 BITS QUE UTILIZO LA PRIMERA PC, Y, JUNTO CON SU HERMANO 8086, DIO ORIGEN A LA ARQUITECTURA X86. 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 43 44 POWERUSR MHz), mientras que Cyrix haca excelentes coprocesadores matemticos (Cx387). Por cierto, exista una versin del 80386 llamada 386SX, que tena un bus de datos de 16 bits y uno de direcciones de 24 bits (16 MB), para abaratar los costos. La diferencia era apreciable, aunque la arquitectura del 80386 exiga que la direccin de un operando de 32 bits comenzara en una direccin de memoria divisible por cuatro, si es que se quera leer en un solo ciclo de clock. EL 486 Y SUS TRUCOS Aos ms tarde, Intel present el 80486DX, un procesador que era bas- tante similar al 386DX pero inclua en el mismo encapsulado el coproce- sador matemtico y una pequea memoria cach L1 de 8 KB. Tambin exista un 486SX, que no era otra cosa que el mismo procesador pero con el coprocesador matemtico deshabilitado. Los motherboards para este procesador incluan un zcalo para agregarle uno (el 487), aunque lo gra- cioso es que, al conectarlo, se deshabilitaba el 486SX. Es decir que, cuan- do uno compraba un 487, lo que en realidad estaba comprando era un 486DX completo, pero con otro nombre (?!). A medida que suba la velocidad del procesador, se haca ms complicado sincronizar con los dems buses del sistema, en especial con el (entonces) nuevo VESA Local Bus, que era sincrnico con la frecuencia del procesador. As es que hasta los 50 MHz pudo aguantar el ruido elctrico, pero luego fue necesario implementar un mtodo para escalar en velocidad del procesador sin arriesgar el funcionamiento de las placas conectadas al VLB. Esta fue la introduccin del multiplicador, que comenz con el 486DX2-50 y 486DX-66 (25x2 y 33x2, respectivamente). Intel abandon esta generacin a los 100 MHz, con su 486DX4-100 (33 MHz x 3), el cual posea una cach L1 aumentada a 16 KB. As es que Cyrix (que trabajaba con IBM y Thomson) y AMD, adems de otras empresas, aprovecharon para sacar sus propias versiones. El ms destacable producto de AMD fue el Am5x86-P75, un 486 con cach de 16 KB y multiplicador de 4 que corra a 133 MHz (y con algo de over- clock llegaba a los 160). Cyrix desarroll varias versiones de 486 con inter- faz de 386, ideales para actualizaciones. As estaban el 486DLC y el 486SLC, que eran algo parecido al 386DX y 386SX, pero con la diferencia de que in- cluan 1 KB de cach. El ms interesante era el Cx486DRx2, un procesador similar a los anteriores, pero con multiplicador de 2. As poda existir una CYRIX MOSTRO VARIOS PRODUCTOS INTERESANTES. ESTE ERA EL CASO DEL 5X86, UN PROCESADOR QUE SE COLOCABA EN MOTHERBOARDS DE 486, PERO TENIA ARQUITECTURA DE PENTIUM. EL MUNDO DE LOS 32 BITS En 1985, Intel present un salto muy impor- tante en el mundo de la PC, introduciendo el 80386DX, un procesador puramente de 32 bits. Tanto sus registros internos como su bus de datos y de direcciones eran de este ancho, y podan direccionar hasta 4 GB de memoria RAM. Resulta interesante destacar que, hasta la salida de los Athlon 64 y Pentium 4 con EM64T, todos los procesadores estaban basa- dos en ste, y lo nico que hacan era agre- gar nuevas funciones especficas. Es totalmente compatible con el software del 8086, ya que (como vimos) mantiene los registros de 16 bits y les agrega una parte alta de 16 bits; as, en el modo real slo utiliza la parte baja de ellos. Incluye un nuevo modo llamado virtual 8086, que permite emular el funcionamiento de dos o ms 8086 en simultneo. Tal vez haya sido otro de esos productos de- masiado prendidos para este planeta en su momento, ya que no fue hasta la poca de Windows 95 y Linux cuando se dise un sistema realmente de 32 bits, con drivers y programas que utilizarn completamente su tecnologa. Para entonces, ya era un procesa- dor bastante antiguo y considerado casi ob- soleto (eran pocos los que soportaban dos o tres horas de instalacin y dos minutos de carga del sistema operativo). Fue en esta generacin cuando tomaron una mayor importancia compaas como AMD, Cyrix y Chips & Technologies (que ms tarde fue comprada por Intel), que hacan sus pro- pios clones: AMD se destac por presentar el 80386 ms rpido, el Am386DX de 40 MHz (cuando Intel hizo versiones de 16 a 33 EL DURON DE AMD ERA UN ATHLON CON MENOS CACHE L2, LO QUE REPRESENTABA UNA LEVE BAJA DE PERFORMANCE COMPARADA CON LA DEL PRECIO. 32-47 Notapa-P17.qxd 2/2/05 11:26 AM Page 44 45 POWERUSR versin de 50 MHz que, a pesar de que obviamente no equiparaba en rendimiento a un 486DX-50, tena una buena performance. Lo mejor de Cyrix en esta poca fue el 5x86, un procesador de 100 o 120 MHz con 16 KB de cach L1 y coprocesador matemtico incluido. La caracterstica fundamental era la ejecucin superesca- lar, con dos unidades de enteros traba- jando paralelamente, lo cual haca a este procesador (pese a lo que muchos pien- san) ms rpido que un Am5x86 de la misma frecuencia. Esto es algo que, co- mo veremos en las prximas lneas, se empez a incluir en el Pentium. LA LLEGADA DEL PENTIUM En 1993, tras numerosos juicios legales de Intel hacia AMD y otras compaas, debi- do al uso de los nombres 386 y 486 en sus productos, que fueron perdidos porque los nmeros no se podan registrar como marca, Intel decidi dar el gran golpe con su Pentium. Este era un procesador con una gran cantidad de optimizaciones: dos unidades de enteros trabajando paralela- mente, 16 KB de cach L1 (separadas en 8 KB de datos y 8 KB de instrucciones), una FPU totalmente rediseada respecto del 80486 y la implementacin de predic- cin de ramificaciones. Adems, su bus de datos era de 64 bits (para aprovechar las dos unidades de enteros). No haba punto de comparacin entre un 486 y un Pen- tium: a la misma frecuencia, y aun en las peores condiciones (MS-DOS en modo real), el Pentium era el doble de rpido. Sin embargo, Intel tuvo muchos proble- mas con este procesador. Para empezar, los 13 W que consuma la versin de 66 MHz (por cierto, tambin haba una de 60 MHz) eran demasiado para la po- ca, por lo cual debieron disminuir la ten- sin de 5 a 3,3 V y hacer una serie de optimizaciones, lo que result en la utili- zacin de un nuevo zcalo (elctrica- mente compatible con el conocido Socket 7). Pero haba algo peor: la FPU del Pen- tium tena un defecto en la funcin FDIV (divisin en punto flotante) que haca que, bajo determinadas condiciones, el resultado entregado no fuera absoluta- mente correcto. Por todo esto, el Pentium original (P5) no se sigui fabricando, y dej lugar al Pentium-S (P54C) en 1995, que es el que seguramente muchos de nosotros habremos visto. Esta versin del Pentium tuvo frecuencias de 75 a 200 MHz (usando buses de 50 a 66 MHz y multiplicadores de 1,5 a 3). En la misma poca, AMD y Cyrix, adems de otras empresas ms pequeas, estaban trabajando en sus propios diseos para Socket 7 (aunque pidindole la licencia a Intel para el desarrollo de procesadores compatibles con Pentium), ms all de los productos que lanzaban para la platafor- ma de los 486. AMD se encontraba desa- rrollando el K5, con caractersticas muy similares a las del P54C, aunque con 8 KB ms de cach de datos y una unidad de punto flotante de un rendimiento bastante inferior. Algo parecido le ocurri a Cyrix con su M1 (6x86), sin embargo, a decir verdad, el rendimiento en aplicaciones co- munes era bastante bueno. Si bien ambos utilizaron el concepto de Performance Ra- ting que vemos actualmente en los Athlon XP y Athlon 64, realmente eran muy du- dosos (por ejemplo, un K5 a 116 MHz lle- va el nombre PR166 cuando, por donde se LO ULTIMO PRESENTADO POR CYRIX (COMO MARCA) FUE EL MII, QUE NO ERA OTRA COSA QUE UN 6X86 CON OTRO NOMBRE Y UNA PERFORMANCE RATING MUY DUDOSA. lo mire, es ms lento que un Pen- tium 133). NexGen fue una empresa que de- sarroll el Nx586, un procesador bastante extrao, ya que tena un diseo completamente especial. De hecho, requera un mother- board especialmente diseado pa- ra l. Era un procesador de 70 a 111 MHz (con un bus trabajando a la mitad de su frecuencia) con 32 KB de cach L1 y la controla- dora de cach L2 integrada en el mismo procesador (lo cual reduce bastante la latencia a la misma). Pese a esta ventaja, el Nx586 no inclua unidad de punto flotante; por eso es que luego se desarroll el Nx586FP. Sus innovaciones en el diseo (con una pipeline de siete etapas, cuando todos los de- ms tenan cinco) hacan que tu- viera un rendimiento bastante bueno, aunque no tuvo mucho xito, debido a la necesidad de motherboards especiales. LA ERA MULTIMEDIA En 1997, ya era popular la pala- bra multimedia. Todo el mundo hablaba de las maravillas del hi- pertexto, la interaccin entre CDs y placas de sonido y las ca- pacidades de reproduccin de vi- deo de las computadoras. As fue que sali la nueva genera- cin de procesadores con un juego de instrucciones extendido para aprovechar ciertas caracte- rsticas tpicas de aplicaciones multimedia, que fue MMX EL PENTIUM II ROMPIO EL ESQUEMA CLASICO DE PROCESADORES EN FORMATO PGA. SE PRESENTABA CON UN FORMATO DE CARTUCHO, DONDE INCLUIA LA MEMORIA CACHE L2. 32-47 Notapa-P17.qxd 2/2/05 11:27 AM Page 45 46 POWERUSR (MultiMedia eXtensions). No nos vamos a extender mucho en los aspectos de estos procesadores, debido a que en la ltima pgina de esta misma edicin hace- mos una supercomparacin del Intel Pentium MMX, el Cyrix 6x86MX y el AMD K6, y comentamos carac- tersticas tcnicas. Bsicamente, todos son compatibles con los anteriores, pero aumentan el tamao de memoria cach y realizan una serie de optimizaciones para poder alcanzar mayores frecuencias de clock. Dos cosas interesantes para destacar son el hecho de que el K6 est basado en el diseo del NexGen Nx686, puesto que AMD compr esta compaa justo cuando se encontraba desarrollndolo. Lo otro es que, para mante- ner compatibilidad con motherboards antiguos que slo eran capaces de configurar el multiplicador en 1,5, 2, 2,5 y 3 (dado que carecan de switches o jumpers para ofrecer otra combinacin de pines al procesador), todos los fabricantes tradujeron internamente la combina- cin de 1,5 a 3,5x. As, un Pentium MMX 233 (66 MHz x 3,5) poda funcionar correctamente en cualquier motherboard que fuera capaz de enviarle la tensin ne- cesaria (2,8 V para el ncleo y 3,3 V para el I/O). VIENTOS DE CAMBIO Unos meses ms tarde, Intel decidi separarse del resto con el Pentium II, un producto bastante atpico, dado que utilizaba un slot, en lugar del zcalo. Este proce- sador estaba basado en la arquitectura P6 (del Pentium Pro), lo cual lo haca muy poderoso, especialmente en flotantes. Adems, inclua MMX y dispona de un con- trolador propio de cach L2, gracias al cual esta me- moria (de 512 KB, integrada en la placa del procesa- EL ULTIMO EXPONENTE DEL CLASICO SOCKET 7 FUE EL K6-III+, UNA VERSION DEL K6-III EN 0,18 MICRONES Y CON ADVANCED 3DNOW! QUE SE FABRICO EN MUY PEQUEAS CANTIDADES. EL 486DX2 FUE EL PRIMER PROCESADOR DE PC EN UTILIZAR EL SISTEMA DE MULTIPLICADOR: CORRIA A 66 MHZ CON UN BUS DE 33 MHZ (DUPLICANDO SU FRECUENCIA). dor) funcionaba a la mitad de la velocidad del procesador, en lugar de a la velocidad del bus de datos, como se acostumbraba en la poca. Por todo esto, el Pentium II (que tuvo frecuencias de 233 a 450 MHz) era muy rpido, aunque tambin era bas- tante caro. As es que sali el queridsimo Celeron, una versin del Pentium II sin cach L2. Este procesador fue altamente cri- ticado por su muy bajo rendimiento, al quitarle esa preciada cach. Por eso es que se introdujo un procesador muy intere- sante, que era el Celeron A (Mendocino): utilizaba el nuevo Socket 370, inclua 128 KB de cach L2 y trabajaba a la misma frecuencia que el ncleo del procesador. Esto haca que, por ejemplo, un Celeron 333 fuese ms rpido que un Pentium II 333 en la mayora de los casos. Claro que cuando el Pentium II alcanz un bus de sistema de 100 MHz, super en rendimiento a su hermano menor, que se mantuvo en 66 MHz de FSB hasta la versin de 766 MHz. EL ETERNO SOCKET 7 Pero no todo era Intel. AMD y Cyrix siguieron apostando al Socket 7, al que llevaron a nmeros insospechados. En 1998, AMD pre- sent el novedoso K6-2, que comenz en 266 MHz y alcanz has- ta los 550; se trataba de un K6 con un set de instrucciones SIMD llamado 3DNow! Si bien el uso de estas instrucciones era muy de- terminante en su rendimiento multimedia, no fueron tan utilizadas como el MMX. Cyrix, por su parte, lanz el MII, que no era otra cosa ms que un 6x86MX con otro nombre y un Performance Ra- ting ridculo. Este procesador alcanz los 300 MHz (PR433), y fue lo ltimo que hizo Cyrix antes de que fuera comprada por VIA Technologies (por cierto, ms informacin sobre esto, y productos de otras compaas, como Rise e IDT, en POWERUSR #10). En 1999, Intel present el Pentium III (Katmai), que era muy similar al Pentium II, pero con nuevas instrucciones SIMD (SSE) y una serie de mejoras a nivel de proceso de fabricacin. La nica novedad interesante de este procesador (de 450 a 600 MHz) es que varias versiones tuvieron bus frontal de 133 MHz, algo que mejoraba bastante su rendimiento. 32-47 Notapa-P17.qxd 2/2/05 11:27 AM Page 46 47 POWERUSR AMD, el nico competidor decente en pie, present el K6-III, el mayor exponente para el robusto Socket 7. Se trataba de un K6-2 con 256 KB de memoria cach L2 integrada, que corra a la misma frecuencia. Esto mejoraba enormemente su rendi- miento, a tal punto que en muchos casos superaba al Pentium III (ex- cepto, tal vez, en punto flotante, donde era bastante pobre). Este pro- cesador tuvo frecuencias de 400 a 550 MHz, y lamentablemente no se vio mucho en el mercado por pro- blemas de fabricacin (tena proble- mas para integrar la cach). LA BASE DE ESTA GENERACION Ya nos acercamos a los tiempos modernos, tema que no pretende explicarse en esta nota, ya que va- rias veces hemos analizado la ar- quitectura del Pentium 4 y el Athlon. Sin embargo, comentare- mos algunos detalles interesantes para aquellos que se hayan perdido estos meses de POWERUSR. En 1999, meses ms tarde que Intel lanzara el Pentium III, AMD mostr al mundo su pequea maravilla: el Athlon (K7). Este procesador dej de lado al Socket 7 y dio lugar al Slot A, una plataforma similar (ex- ternamente) al Slot 1 de los Pen- tium II y III. Internamente, era ms que poderoso: tres ALU, tres FPU, 128 KB de cach L1, 512 KB de L2 (inicialmente, a la mitad de veloci- dad) y un bus frontal de 100 MHz DDR (200 MHz en la prctica). R- pidamente, el Athlon llam la aten- cin de las masas porque, por pri- mera vez, AMD superaba a Intel en rendimiento en punto flotante. Ade- ms, con este mismo producto (que comenz en los 100 MHz) fue que AMD alcanz 1 GHz antes de que lo pudiera hacer su eterno rival. Intel, tan amenazada, debi actuali- zarse rpidamente y comenz a fa- bricar Pentium III con el ncleo Coppermine. Realmente, una mara- villa en cuanto a diseo trmico (en algunos casos, poda funcionar sim- plemente con un disipador), y rendi- miento (muy bueno). Su innovacin se centraba en utilizar el Socket 370 comenzado por el Celeron A (que, a los 533 MHz, se mud al ncleo Coppermine-128) e incluir 256 KB de cach L2 en el ncleo, mucho ms efectivas que los 512 KB a la mitad de velocidad. Su bus frontal era de 100 o 133 MHz. Intel haba vuelto a superar a AMD, pero sta no se qued atrs y pre- sent su Athlon Thunderbird, que fue al K7 lo mismo que el Coppermi- ne al Katmai. Dicho procesador se fabric tanto en versiones para Slot A como para el entonces nuevo Socket A (el mismo que an se man- tiene en los Sempron). Era levemente superior al Pentium III, en especial cuando sali la variante C (con bus frontal de 133 MHz DDR). Pero AMD se haba olvidado de la AUNQUE POLEMICO EN UN PRINCIPIO, EL PENTIUM 4 TERMINO SIENDO UNA BUENA ARQUITECTURA PARA INTEL, AUN VIGENTE. PARA COMBATIR A AMD Y CYRIX EN EL SECTOR ECONOMICO, INTEL PRESENTO AL CELERON, UN PENTIUM II REDUCIDO QUE TERMINO SIENDO EXTREMADAMENTE POPULAR. economa, que fue su principal atractivo a lo largo de la historia (incluyendo la actuali- dad). Por eso lanz el excelente Duron, igual al Thunderbird pero con un cuarto de su ca- ch L2 (64 KB). Esto afectaba ligeramente el rendimiento, no as el precio, que era muy inferior. Desde entonces, y hasta hace unos meses (cuando se lanz el Sempron y esta l- nea desapareci), el Duron fue el rey de los procesadores econmicos. Sobre todo porque Intel tard mucho en darle al Celeron basado en Coppermine un FSB de 100 MHz, que afectara significativamente su performance. Debido a la dificultad de Intel para seguir es- calando en MHz a su lnea basada en la vieja arquitectura P6, decidi dar el gran golpe y ofrecer el primer Pentium 4, un procesador que nos decepcion en un principio por su bajo rendimiento, pero que finalmente triun- f a raz de su gran escalabilidad. AMD con- trarrest con una nueva revisin de su Thun- derbird, con un nombre renovado y algunas mejoras trmicas (ya que el gran calor gene- rado por el Athlon gener desconfianza en los compradores), adems de SSE. Estamos hablando del Athlon XP. As es como llegamos a la base de nuestros tiempos, de la que seguro muchos de uste- des conocern gracias a las constantes no- tas que hemos hecho a lo largo de la histo- ria de POWERUSR. ESTE ES EL INTEL I386DX DE 16 MHZ, EL PRIMER PROCESADOR DE 32 BITS PARA PC. EN EL SE BASAN LOS PROCESADORES ACTUALES. 32-47 Notapa-P17.qxd 2/2/05 11:27 AM Page 47