Você está na página 1de 16

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

Você também pode gostar