You are on page 1of 13

Clases de buses [editar]

Hay tres clases de buses: bus de datos, bus de direcciones y bus de control. Una placa
base tipo ATX tiene tantas pistas eléctricas destinadas a buses, como anchos sean los
Canales de Buses del Microprocesador de la CPU: 64 para el Bus de datos y 32 para el
Bus de Direcciones. El "ancho de canal" explica la cantidad de bits que pueden ser
transferidos simultáneamente. Así, el Bus de datos transfiere 8 bytes a la vez.

Así, el Canal de Direcciones del Microprocesador para una PC-ATX puede


"direccionar" más de 4 mil millones de combinaciones diferentes para el conjunto de 32
bits de su bus.

Bus de datos [editar]

Mueve los datos entre los dispositivos del hardware de Entrada como el teclado, el
escáner, el ratón, etc.; de salida como la Impresora, el Monitor o la tarjeta de Sonido; y
de Almacenamiento como el Disco Duro, el Disquete o la Memoria-Flash. Estas
transferencias que se dan a través del Bus de Datos son gobernadas por varios
dispositivos y métodos, de los cuales el Controlador PCI, "Peripheral Component
Interconnect", Interconexión de componentes Periféricos, es uno de los principales. Su
trabajo equivale, simplificando mucho el asunto, a una central de semáforos para el
tráfico en las calles de una ciudad.

Bus de direcciones [editar]

El Bus de Direcciones, por otra parte, está vinculado al bloque de Control de la CPU
para tomar y colocar datos en el Sub-sistema de Memoria durante la ejecución de los
procesos de cómputo.

Para el Bus de Direcciones, el "ancho de canal" explica así mismo la cantidad de


ubicaciones o Direcciones diferentes que el microprocesador puede alcanzar. Esa
cantidad de ubicaciones resulta de elevar el 2 a la 32ª potencia. "2" porque son dos las
señales binarias, los bits 1 y 0; y "32ª potencia" porque las 32 pistas del Bus de
Direcciones son, en un instante dado, un conjunto de 32 bits. Nos sirve para calcular la
capacidad de memoria en el CPU.

Bus de control [editar]

Este bus transporta señales de estado de las operaciones efectuadas por la CPU. El
método utilizado por el ordenador para sincronizar las distintas operaciones es por
medio de un reloj interno que posee el ordenador y facilita la sincronización y evita las
colisiones de operaciones (unidad de control).Estas operaciones se transmiten en un
modo bidireccional.

Composición interna [editar]


La memoria caché está estructurado por celdas, donde cada celda almacena un byte. La
entidad básica de almacenamiento la conforman las filas, llamados también líneas de
caché. Por ejemplo, una caché L2 de 512 KB se distribuye en 16.384 filas y 32
columnas

Cuando se copia o se escribe información de la RAM por cada movimiento siempre


cubre una línea de caché.

La memoria caché tiene incorporado, un espacio de almacenamiento llamado Tag


RAM, que indica a que porción de la RAM se halla asociada a cada línea de caché, es
decir permite traducir una dirección de RAM en una línea de caché concretamente.

Diseño [editar]
En el diseño de la memoria caché se deben considerar varios factores que influyen
directamente en el rendimiento de la memoria y por lo tanto en su objetivo de aumentar
la velocidad de respuesta de la jerarquía de memoria. Estos factores son las políticas de
ubicación, extracción, reemplazo, escritura y el tamaño de la caché y de sus bloques.

Política de ubicación [editar]

Decide dónde debe colocarse un bloque de memoria principal que entra en la memoria
caché. Las más utilizadas son:

• Directa: Al bloque n-ésimo de memoria principal le corresponde la posición n


módulo k donde k es el número de bloques de la memoria caché.
• Asociativa: Cualquier bloque de memoria principal puede ir en cualquier lado
del bloque de memoria caché.
• Asociativa por conjuntos: La memoria caché se divide en n conjuntos de
bloques, así al bloque i-ésimo de memoria principal le corresponde el conjunto i
módulo (k/n) donde k es el número de bloques de memoria caché. Dicho bloque
de memoria podrá ubicarse en cualquier posición dentro del conjunto asociado
de la memoria caché.

Política de extracción [editar]

La política de extracción determina cuándo y qué bloque de memoria principal hay que
traer a memoria caché. Existen dos políticas muy extendidas:

• Por demanda: Un bloque sólo se trae a memoria caché cuando ha sido


referenciado y se produzca un fallo.
• Con prebúsqueda: Cuando se referencia el bloque i-ésimo de memoria principal,
se trae además el bloque (i+1)-esimo. Esta política se basa en la propiedad de
localidad espacial de los programas.

Política de reemplazo [editar]

(Ver también Algoritmos de reemplazo de páginas ) Determina qué bloque de memoria


caché debe abandonarla cuando no existe espacio disponible para un bloque entrante.
Basicamente hay cuatro políticas que son:
• Aleatoria: El bloque es reemplazado de forma aleatoria.
• FIFO: Se usa un algoritmo First In First Out FIFO (PEPS, primero entrado
primero salido en español) para determinar qué bloque debe abandonar la caché.
Este algoritmo generalmente es poco eficiente.
• Menos recientemente usado (LRU): Se sustituye el bloque que hace más tiempo
que no se ha utilizado.
• Menos frecuentemente usado (LFU): Se reemplaza el bloque que se ha usado
con menos frecuencia.

Siendo la Aleatoria y la LRU las de mejor rendimiento.

Política de escritura [editar]

Determina cuándo se actualiza la información en memoria principal cuando se ha


escrito en memoria caché. Existen dos políticas principales:

• Escritura inmediata o escritura directa: En inglés Write Through. Cuando se


escribe en un bloque que se encuentra en memoria caché, la información se
modifica también simultáneamente en memoria principal, manteniendo así la
coherencia en todo momento. Suele combinarse con la técnica de "No carga en
escritura" (No Write Allocation) que significa que, cuando haya que escribir en
un bloque que no se encuentra en la caché, la modificación se realizará
únicamente en memoria principal, sin traer dicho bloque a caché, y además sólo
se actualizará la palabra concreta que haya cambiado.
• Escritura aplazada o post-escritura: En inglés Write Back. Cuando se escribe en
un bloque que se encuentra en memoria caché, queda marcado como basura
usando un bit especial llamado normalmente dirty bit o bit de basura. Cuando el
bloque sea desalojado de memoria caché (mediante la correspondiente política
de reemplazo), se comprueba el bit de basura, y si está activado se escribe la
información de dicho bloque en memoria principal. Esta política suele
combinarse con la técnica de "Carga en escritura" (Write Allocation), que
significa que, cuando haya que escribir en un bloque que no se encuentra en la
caché, traeremos a caché el bloque en cuestión y lo modificaremos ahí.

Tecnología Hyper-Threading

Las aplicaciones para empresa, comercio electrónico y


software para juegos siguen exigiendo rendimiento a los
procesadores. Para mejorar este rendimiento en el pasado
se crearon los subprocesos en los programas dividiendo
las instrucciones en varias transferencias para que varios
procesadores pudieran actuar sobre ellas. La tecnología
Hyper-Threading (tecnología HT)† proporciona un
paralelismo a nivel de subprocesos en cada procesador, lo
que da como resultado un uso más eficaz de los recursos
del procesador, mayor capacidad de procesamiento y
rendimiento mejorado en el software con subprocesos
múltiples de hoy día. La combinación de un procesador
Intel® y un chipset que admite la tecnología HT, un
sistema operativo que incluye optimizaciones para la
tecnología HT y una BIOS compatible con la tecnología
HT que la tiene activada ofrece flexibilidad y rendimiento
del sistema incrementados.

Tecnología Hyper-Threading para


equipos de sobremesa para
empresas
La tecnología HT permite que los usuarios de equipos de
sobremesa obtengan más rendimiento del software
existente en entornos multitarea. Muchas aplicaciones ya
incorporan los subprocesos múltiples y se beneficiarán
automáticamente de esta tecnología. Los usuarios de los
sistemas pueden ejecutar aplicaciones exigentes para
equipos de sobremesa al mismo tiempo mientras
mantienen la flexibilidad del sistema. Los departamentos
de TI también pueden implantar servicios en segundo
plano para equipos de sobremesa de forma que sus
entornos sean más seguros, eficaces y fáciles de
gestionar, mientras minimizan el impacto en la
productividad del usuario final y ofrecen margen de
ampliación para el futuro crecimiento empresarial y las
nuevas prestaciones de soluciones.

Tecnología Hyper-Threading para


juegos y vídeo
El procesador Intel® Pentium® Extreme Edition combina
la tecnología HT con el procesamiento de doble núcleo
para ofrecer PCs capaces de gestionar cuatro subprocesos
de software. La tecnología HT permite que los entusiastas
de los juegos puedan disfrutar de los nuevos juegos y
experimentar efectos ultrarrealistas y capacidad de juego.
Los entusiastas de la multimedia pueden crear, editar y
codificar archivos de gráficos exigentes mientras ejecutan
el antivirus en el segundo plano.

Tecnología Hyper-Threading para


servidores
Con la tecnología HT, las aplicaciones de software para
servidor con subprocesos múltiples pueden ejecutar
subprocesos en paralelo con cada procesador en una
plataforma de servidor. Seleccione productos de la
familia de procesadores Intel® Xeon® que utilicen
tecnología HT para incrementar la capacidad informática
y la capacidad de procesamiento para aplicaciones de
servidor empresarial y basado en web.

Beneficios de la tecnología Hyper-


Threading para la empresa y el
comercio electrónico
• Permite más soporte de usuario, mejorando la
productividad empresarial.
• Ofrece tiempos de respuesta más rápidos para
Internet y aplicaciones de comercio electrónico,
mejorando las experiencias de los clientes.
• Aumenta el número de transacciones que se
pueden procesar.
• Permite compatibilidad con sistemas operativos y
aplicaciones IA-32 existentes.

• Gestiona mayores volúmenes de trabajo.


† La tecnología Hyper-Threading (HT) requiere un sistema
informático equipado con un procesador Intel® que soporte
la tecnología HT, un chipset y una BIOS que utilicen esta
tecnología y un sistema operativo optimizado para la
misma. El rendimiento variará en función del hardware y
software específicos que utilice. Consulte
http://www.intel.com/products/ht/hyperthreading_more.htm
para obtener más información incluyendo detalles sobre
los procesadores con soporte para la tecnología Hyper-
Threading.

Dual core

Un microprocesador multi núcleo es aquel que combina dos o más NUCLEOS


independientes en un solo paquete, a menudo un solo circuito integrado (IC).NOTA: No
son dos procesadores. Son dos o mas nucleos trabajando a una misma frecuencia. Un
dispositivo doble núcleo contiene solamente dos microprocesadores independientes. En
general, microprocesadores multi núcleo permiten que un dispositivo computacional
exhiba una cierta forma del paralelismo a nivel de thread (Thread-level parallelism)
(TLP) sin incluir múltiples microprocesadores en paquetes físicos separados. Esta
forma de TLP se conoce a menudo como multiprocesamiento a nivel de chip (Chip-
level multiprocessing), o CMP.

Multiprocesamiento es un Procesamiento simultáneo con dos o más procesadores en un


computador, o dos o más computadores que están procesando juntos. Cuando se usa dos
o más computadores, se unen con un canal de alta velocidad y comparten la carga de
trabajo general entre ellos. En caso de que uno falle el otro se hace cargo. El
multiprocesamiento también se efectúa en computadores de propósitos especiales, como
procesadores vectoriales, los cuales proveen procesamiento simultáneo de conjunto de
datos. Aunque los computadores se construyen con diversas características que se
superponen, como ejecutar instrucciones mientras se ingresan y se sacan datos, el
multiprocesamiento se refiere específicamente a la ejecución de instrucciones
simultáneas.

Core 2 duo

El Core 2 Duo es un procesador con un pipeline de 14 etapas lo que le permite escalar


más en frecuencia que su antecesor directo: el Core 1, que tenía 12 etapas al igual que el
Athlon 64. Tiene, además, un motor de ejecución ancho con tres ALUs, cuatro FPUs, y
tres unidades de SSE de 128 bits. Estas dos características hacen que sea el procesador
x86 que más instrucciones por ciclo puede lograr.

Entre otras características destacan arquitectura de 64 bits EM64T (no disponible en su


predecesor Core Duo), Virtualization Technology, LaGrande Technology, Intel
Enhanced SpeedStep Technology, Active Management Technology (iAMT2), MMX,
SSE, SSE2, SSE3, SSSE3, y XD bit.

Existen versiones de sobremesa y para portátiles, a diferencia de la división existente


desde 2003 entre Pentium M para portátiles y Pentium 4 para ordenadores de
sobremesa, unificando el nombre de Core 2 Duo para todas los procesadores de gama
media dejando además el nombre Pentium, utilizado desde 1993, para los procesadores
de gama baja (y menor rendimiento) basados en la arquitectura de Core 2 con un caché
reducido llamado Pentium Dual Core, quienes a su vez vienen a reemplazar a la familia
Celeron en este rol.

Una llamativa característica de esta familia es su particular facilidad para aplicar


overclock, llegando muchos de estos procesadores a ganancias superiores al 50% en su
frecuencia de trabajo

Otra diferencia es la forma como trabajan sus núcleos: en el dual core sus núcleos
trabajan de manera alterna, mientras que en el core 2 dúo sus núcleos trabajan de
manera simultánea dando un mayor rendimiento.

Durante un tiempo se dijo que el core 2 dúo poseía 4 núcleos cosa que es errónea. Sólo
posee 2 pues es un tipo especial de dual core.

Tecnología 32 bits

En arquitectura de ordenadores, 32 bits es un adjetivo usado para describir enteros,


direcciones de memoria u otras unidades de datos que comprenden hasta 32 bits (4
octetos) de ancho, o para referirse a una arquitectura de CPU y ALU basadas en
registros, bus de direcciones o bus de datos de ese ancho.

32 bits es también un término dado a una generación de computadoras en las cuales los
procesadores eran de 32 bits.
Un campo de almacenamiento de 32 bits permite 232 combinaciones posibles. Debido a
esto, el rango de valores naturales que pueden ser almacenados en 32 bits es de 0 hasta
4.294.967.295 (que es 232 − 1). Para enteros con signo, utilizando el complemento a dos,
el rango es desde −2.147.483.648 ( − 232 − 1) hasta +2.147.483.647 (232 − 1 − 1). Estos
rangos delimitan los sistemas de numeración comunes que utilizan 32 bits, tales como
las direcciones IP ó las fechas POSIX (provocando el efecto 2038).

Los buses de datos y de direcciones son usualmente más anchos que 32 bits, a pesar de
que éstas se almacenen y manipulen internamente en el procesador como cantidades de
32 bits. Por ejemplo, el Pentium Pro es un procesador de 32 bits, pero el bus de
direcciones externo tiene un tamaño de 36 bits, y el bus de datos externo de 64 bits.

64 bits

64 bits
De Wikipedia, la enciclopedia libre

Saltar a navegación, búsqueda

En arquitectura de ordenadores, 64 bits es un adjetivo usado para describir enteros,


direcciones de memoria u otras unidades de datos que comprenden hasta 64 bits (8
octetos) de ancho, o para referirse a una arquitectura de CPU y ALU basadas en
registros, bus de direcciones o bus de datos de ese ancho.

Los microprocesadores de 64 bits han existido en los superordenadores desde 1960 y en


servidores y estaciones de trabajo basadas en RISC desde mediados de los años 1990.
En 2003 empezaron a ser introducidos masivamente en los ordenadores personales
(previamente de 32 bits) con las arquitecturas x86-64 y los procesadores PowerPC G5.

Aunque una CPU puede ser internamente de 64 bits, su bus de datos o bus de
direcciones externos pueden tener un tamaño diferente, más grande o más pequeño y el
término se utiliza habitualmente para describir también el tamaño de estos buses. Por
ejemplo, muchas máquinas actuales con procesadores de 32 bits usan buses de 64 bits
(p.ej. el Pentium original y las CPUs posteriores) y pueden ocasionalmente ser
conocidas como "64 bits" por esta razón. El término también se puede referir al tamaño
de las instrucciones dentro del conjunto de instrucciones o a cualquier otro elemento de
datos (p.ej. las cantidades de 64 bits de coma flotante de doble precisión son comunes).
Sin más calificaciones, sin embargo, la arquitectura de los ordenadores de 64 bits tiene
integrados registros que son de 64 bits, que permite soportar (interna y externamente)
datos de 64 bits.

Tabla de contenidos
[ocultar]

• 1 Implicaciones de arquitectura
• 2 Limitaciones de memoria
• 3 Cronología del procesador de 64 bits
• 4 32 bits contra 64 bits
• 5 Pros y contras
o 5.1 Disponibilidad del Software
• 6 Modelos de datos de 64 bits
• 7 Arquitecturas de microprocesador de 64 bits actuales
• 8 Más allá de los 64 bits
• 9 Imágenes
• 10 Véase también
• 11 Referencias

• 12 Enlaces externos

Implicaciones de arquitectura [editar]


Los registros en un procesador se dividen generalmente en tres grupos: enteros, coma
flotante y otros. En todos los procesadores de propósito general, sólo los registros
enteros pueden almacenar punteros (una dirección de algún dato en memoria). Los
registros que no son de enteros no se pueden utilizar para almacenar punteros para leer o
escribir memoria y por tanto no se pueden utilizar para evitar cualquier restricciones
impuestas por el tamaño de los registros enteros.

Casi todos los procesadores de propósito general (con la notable excepción de muchos
ARM e implementaciones MIPS de 32 bits) han integrado hardware de coma flotante,
que puede o no utilizar registros de 64 bits para transportar datos con el fin de
procesarlos. Por ejemplo, la arquitectura X86 incluye instrucciones de coma flotante del
x87 que utiliza 8 registros de 80 bits en una configuración en forma de pila; revisiones
posteriores del x86 y la arquitectura x86-64 también incluyen instrucciones SSE que
utilizan 8 registros de 128 bits (16 registros en el x86-64). En contraste, el procesador
de 64 bits de la familia DEC Alpha define 32 registros de coma flotante de 64 bits
además de sus 32 registros de enteros de 64 bits.

Limitaciones de memoria [editar]


Muchas CPUs están actualmente (en 2008) diseñadas para que los contenidos de un
único registro puedan almacenar la dirección de memoria de cualquier dato en la
memoria virtual. Por tanto, el número total de direcciones en memoria virtual — la
suma total de datos que el ordenador puede mantener en su área de trabajo — es
determinado por el ancho de estos registros. Empezando en los años 1960 con el IBM
S/360, luego (entre muchos otros) el miniordenador VAX de DEC en los años 1970 y
luego con el Intel 80386 a mediados de los años 1980, un consenso de facto instauró
que 32 bits era un tamaño conveniente de registro. Un registro de 32 bits significa que
se puede referenciar 232 direcciones o 4 gigabytes de RAM. En el momento en que estas
arquitecturas fueron concebidas, 4 gigabytes de memoria estaban muy lejos de las
cantidades disponibles en instalaciones que se consideraban suficiente "espacio" para
direccionamiento. Las direcciones de 4 gigabytes se consideraban un tamaño apropiado
con el que trabajar por otra importante razón: 4 mil millones de enteros son suficientes
para asignar referencias únicas a la mayoría de cosas físicamente contables en
aplicaciones como bases de datos.

No obstante, con el paso del tiempo y las continuas reducciones en el coste de la


memoria (véase la Ley de Moore), al comienzo de los años 1990, comenzaron a
aparecer instalaciones con cantidades de RAM próximas a los 4 gigabytes, y comenzó a
ser deseable el uso de espacios de memoria virtual que superaban el límite de 4
gigabytes para manejar ciertos tipos de problemas. Como respuesta, varias empresas
empezaron a lanzar nuevas familias de chips con arquitecturas de 64 bits, inicialmente
para superordenadores, estaciones de trabajo de grandes prestaciones y servidores. Las
computadoras de 64 bits se han ido moviendo hacia el ordenador personal, con algunos
modelos de las líneas Macintosh de Apple Computer cambiando a procesadores
PowerPC 970 (llamados "G5" por Apple) en 2003 y a procesadores EM64T de 64 bits
en 2006, y con procesadores x86-64 llegando a ser comunes en PCs de gama alta. La
aparición de la arquitectura de 64 bits efectivamente incrementa el límite a 264
direcciones, equivalente a 17,179,869,184 gigabytes o 16 exabytes de RAM. Para poner
esto en perspectiva, en los días en que 4 MB de memoria principal eran comunes, el
límite máximo de memoria de 232 direcciones era unas 1000 veces mayor que la
configuración típica de memoria. En 2007, cuando 1GB de memoria principal es
común, el límite de 264 es unos diez mil millones de veces superior, es decir diez
millones de veces más de espacio.

Muchos PCs de 64 bits del mercado tienen actualmente un límite artificial en la


cantidad de memoria que pueden reconocer, pues las limitaciones físicas hacen muy
poco probable que se vaya a necesitar soporte para los 16 exabytes de capacidad total.
El Mac Pro de Apple, por ejemplo, puede configurarse físicamente con hasta 32
gigabytes de memoria, y por ello no hay necesidad de soportar más allá de esa cantidad.
Un núcleo linux reciente (versión 2.6.16) puede ser compilado con soporte para hasta 64
gigabytes de memoria. Segun Apple la nueva version de su sistema operativo
teoricamente soporta 16 Terobytes de memoria.[1]

Cronología del procesador de 64 bits [editar]


• 1961: IBM lanzó el superordenador IBM 7030 Stretch. Este utilizaba palabras
de 64 bits e instrucciones de 32 ó 64 bits.

• 1974: Control Data Corporation lanzó el superordenador vectorial CDC Star-


100, que utiliza una arquitectura de palabras de 64 bits (los sistemas previos de
CDC estaban basados en arquitecturas de 60 bits).

• 1976: Cray Research lanzó el primer ordenador Cray-1. Este estaba basado en
una arquitectura de palabras de 64 bits, que sentó las bases para los posteriores
superordenadores vectoriales de Cray.

• 1983: Elxsi lanzó el minisuperordenador Elxsi 6400 paralelo. La arquitectura


Elxsi tenía registros de datos de 64 bits pero un espacio de direcciones de 32
bits.

• 1991: MIPS Technologies produjo el primer microprocesador de 64 bits, como


la tercera revisión de la arquitectura RISC MIPS, el R4000. La CPU fue
utilizada en las estaciones de trabajo de Silicon Graphics empezando con el IRIS
Crimson. Sin embargo, el soporte de 64 bits para el R4000 no se incluyó en el
sistema operativo IRIX hasta la versión IRIX 6.2 en 1996.

• 1992: Digital Equipment Corporation (DEC) introdujo el Alpha con una


arquitectura pura de 64 bits que nació del proyecto PRISM.

• 1993: DEC lanzó los sistemas operativos de 64 bits estilo UNIX Tru64 y el
OpenVMS para Sistemas Alpha.

• 1994: Intel anunció sus planes para la arquitectura IA-64 de 64 bits (desarrollada
conjuntamente con HP) como sucesor de su procesador de 32 bits IA-32. SGI
lanzó el IRIX 6.0 con soporte de 64 bits para las CPUs R8000.

• 1995: Sun lanzó un procesador SPARC de 64 bits, el UltraSPARC. HAL


Computer Systems propiedad de Fujitsu lanzó estaciones de trabajo basadas en
una CPU de 64 bits, HAL independientemente diseñó la primera generación de
SPARC64. IBM lanzó los sistemas AS/400 de 64 bits, con la posibilidad de
actualizar el sistema operativo, las bases de datos y las aplicaciones. DEC lanzó
el OpenVMS Alpha 7.0, la primera versión completa de 64 bits de OpenVMS
para Alpha.

• 1996: HP lanzó una implementación de 64 bits, la versión 2.0 de su arquitectura


de procesador PA-RISC, el PA-8000. Nintendo introdujo la consola de
videojuegos Nintendo 64, construida con una variante de bajo coste del MIPS
R4000.

• 1997: IBM lanzó su RS64 equipado con procesadores PowerPC de 64 bits.

• 1998: IBM lanzó su procesador POWER3 completamente de 64 bits de la


familia PowerPC/POWER. Sun lanzó Solaris 7, con soporte completo para
UltraSPARC de 64 bits.

• 1999: Intel publicó el conjunto de instrucciones para la arquitectura IA-64.


Primera revelación pública del juego de extensiones de 64 bits al IA-32 de AMD
(posteriormente renombrado como AMD64).

• 2000: IBM estrenó su primer mainframe de 64 bits, el z900 y su nuevo sistema


operativo, el Z/OS — culminando el mayor desarrollo de la historia de
investigación de un procesador de 64 bits e instantáneamente borrando la
compatibilidad con las máquinas de 31 bits de sus competidores Fujitsu/Amdahl
e Hitachi. Un Linux para zSeries de 64 bits apareció casi inmediatamente.

• 2001: Intel finalmente lanzó su línea de procesadores de 64-bit, con la marca


Itanium, teniendo como objetivo servidores de gama alta. No cumplió las
expectativas debido a los repetidos retrasos del lanzamiento del IA-64 al
mercado y se convirtió en un fracaso. Linux fue el primer sistema operativo en
esta versión de procesador.

• 2002: Intel introdujo el Itanium 2 como sucesor del Itanium.


• 2003: AMD sacó a la luz sus líneas de procesadores con arquitectura AMD64
Opteron y Athlon 64. Apple lanzó también sus CPUs PowerPC 970 "G5" de 64
bits por cortesía de IBM, junto con una actualización de su sistema operativo
Mac OS X, que añadió soporte parcial para el modo de 64 bits. Se publicaron
varias distribuciones Linux con soporte para AMD64. Microsoft anunció que
crearía una versión de su sistema operativo Windows para esos chips AMD.
Intel sostuvo que sus chips Itanium serían sus únicos procesadores de 64 bits.

• 2004: Intel, reaccionando al éxito de mercado de AMD, admitió que había


estado desarrollando un clon de las extensiones AMD64, al que llamó IA-32e y
posteriormente renombró como EM64T. Se lanzaron versiones actualizadas de
sus familias de procesadores Xeon y Pentium 4 que soportaban las nuevas
instrucciones. Freescane anuncia su núcleo e700, sucesor de su familia PowerPC
G4.

• 2005: El 31 de Enero, Sun lanzó Solaris 10 con soporte para los procesadores
AMD64 y EM64T. En Marzo, Intel anunció que sus primeros procesadores
EM64T de doble núcleo se pondrían a la venta en el segundo cuatrimestre de
2005 con la publicación de su Pentium Extreme Edition 840 y los nuevos chips
Pentium D. El 30 de Abril, Microsoft lanzó públicamente su Windows XP
Professional x64 Edition para procesadores AMD64 y EM64T. En Mayo, AMD
introdujo sus primeros procesadores para servidores Opteron AMD64 de doble
núcleo y anunció su versión de escritorio, llamada Athlon 64 X2. Los primeros
procesadores Athlon 64 X2 (Toledo) contaban con dos núcleos con una memoria
caché L2 de 1MB y consistían de aproximadamente 233,2 millones de
transistores. Tenían un tamaño de 199 mm2. En Julio, IBM anunció sus nuevos
procesadores PowerPC 970MP (cuyo nombre en código era Antares) de doble
núcleo y 64 bits usados por IBM y Apple. Microsoft lanzó la consola Xbox 360
que usaba el procesador PowerPC de 64 bits Xenon, fabricado por IBM.

• 2006: Se pusieron en producción los procesadores Itanium 2 Montecito de doble


núcleo. Sony, IBM y Toshiba comenzaron a fabricar el procesador Cell para su
uso en la PlayStation 3, servidores, estaciones de trabajo y otros dispositivos.
Apple incorporó procesadores Xeon EM64T de 64 bits en su nuevo Mac Pro y
sus ordenadores Intel Xserve, y posteriormente actualizó el iMac, el MacBook y
el MacBook Pro con procesadores EM64T Intel Core 2 Duo.

32 bits contra 64 bits [editar]


El cambio de una arquitectura de 32 bits a una de 64 bits es una alteración fundamental,
y muchos sistemas operativos tienen que modificarse ostensiblemente para aprovechar
las ventajas de la nueva arquitectura. El resto del software también tiene que ser portado
para usar las nuevas capacidades; el software antiguo normalmente es soportado a través
del modo de hardware compatible (en el que los nuevos procesadores soportan las
versiones antiguas del conjunto de instrucciones antiguo de 32 bits, así como las de la
versión de 64 bits), a través de emulación software o por la implementación de un
núcleo de procesador de 32 bits dentro del procesador de 64 bits (como con los
procesadores Itanium de Intel, que incluyen un núcleo de procesador x86 para ejecutar
aplicaciones x86 de 32 bits). Los sistemas operativos para estas arquitecturas de 64 bits
generalmente soportan aplicaciones de 32 bits y de 64 bits.
Una excepción significativa de esto es el AS/400, cuyo software se ejecuta en un
conjunto de instrucciones virtual, llamado TIMI (Technology Independent Machine
Interface) que se traduce a código nativo por software de bajo nivel antes de ser
ejecutado. El software de bajo nivel es todo lo que ha de ser reescrito para portar todo el
SO y el software a una nueva plataforma, como cuando IBM hizo la transición de su
línea desde los antiguos juegos de instrucciones de 32/48 ("IMPI") al PowerPC de 64
bits (IMPI no tenía nada que ver con el PowerPC de 32 bits, así que fue incluso una
transición mayor que la de un juego de instrucciones de 32 bits a su equivalente de 64
bits).

Mientras las arquitecturas de 64 bits incontestablemente hacen más sencillo el trabajar


con grandes conjuntos de datos en aplicaciones como el vídeo digital, computación
científica y grandes bases de datos, ha habido un debate considerable sobre si los modos
de compatibilidad con 32 bits serán más rápidos que los sistemas de 32 bits del mismo
precio para otras tareas. En las arquitecturas x86-64 (AMD64 y EM64T, IA-32e), la
mayoría de los sistemas operativos de 32 bits y aplicaciones pueden ejecutarse sin
problemas en el hardware de 64 bits.

Las máquinas virtuales de JAVA de 64 bits de Sun son más lentas en el arranque que las
de 32 bits porque Sun sigue asumiendo que todas las máquinas de 64 bits son servidores
y sólo han implementado el compilador de "servidor" (C2) para plataformas de 64 bits.
El compilador "cliente" (C1) produce código más lento, pero compila mucho más
rápido. Así que aunque un programa Java en una JVM de 64 bits puede funcionar mejor
en un periodo grande de tiempo (típico de aplicaciones "servidoras" de ejecución larga),
su tiempo de arranque será probablemente mucho mayor. Para aplicaciones de vida
corta (como el compilador de Java, javac) el incremento en el tiempo de arranque puede
dominar el tiempo de ejecución, haciendo la JVM de 64 bits más lenta en conjunto.

Debería notarse que la velocidad no es el único factor a considerar en una comparación


de procesadores de 32 bits y 64 bits. Usos como la multitarea, las pruebas de carga y el
clustering (para computación de alto rendimiento) pueden ser más idóneos para una
arquitectura de 64 bits teniendo en cuenta un desarrollo correcto. Los clusters de 64 bits
han sido ampliamente usados en grandes organizaciones como IBM, Vodafone, HP y
Microsoft, por esta razón.

Pros y contras [editar]


Un error común es, que las arquitecturas de 64 bits no son mejores que las de 32 bits a
menos que el ordenador tenga más de 4 GB de memoria. Esto no es completamente
cierto:

• Algunos sistemas operativos reservan porciones de espacio de direcciones de


procesos para uso del SO, reduciendo el espacio total de direcciones disponible
para mapear memoria para programas de usuario. Por ejemplo, las DLLs de
Windows XP y los componentes de usuario del SO están mapeados en cada
espacio de direcciones de proceso, dejando sólo entre 2 y 3.8 GB (dependiendo
de la configuración) de espacio de direcciones disponible, incluso si el
ordenador tiene 4 GB de RAM. Esta restricción no está presente en el Windows
de 64 bits.
• El mapeado en memoria de archivos es menos útil con arquitecturas de 32 bits,
especialmente con la introducción de tecnología de grabación de DVD
relativamente barata. Un archivo de 4 GB ya no es inusual y tales archivos
grandes no pueden ser mapeados fácilmente con arquitecturas de 32 bits; sólo se
puede mapear una región del archivo en el espacio de direcciones y para acceder
al archivo usando mapeado de memoria, estas regiones tendrán que mapearse
dentro y fuera del espacio de direcciones según sea necesario. Esta es una
cuestión clave, ya que el mapeado de memoria es uno de los métodos más
eficientes para transportar datos del disco a la memoria, cuando es correctamente
implementado por el SO.

La principal desventaja de las arquitecturas de 64 bits es que, con respecto a las


arquitecturas de 32 bits, los mismos datos ocupan ligeramente más espacio en memoria
(debido al crecimiento de los punteros y posiblemente otros tipos y al relleno para
alineamiento). Esto incrementa los requisitos de memoria de un proceso dado y puede
tener implicaciones para el uso eficiente de la caché del procesador. Mantener un
modelo parcial de 32 bits es una manera de manejar esto y es en general razonablemente
efectivo. De hecho, el sistema operativo de altas prestaciones Z/OS ha escogido este
enfoque actualmente, requiriendo que el código de programa resida en varios espacios
de direcciones de 32 bits mientras que los objetos de datos pueden (opcionalmente)
residir en regiones de 64 bits.

Actualmente, muchos programas comerciales están construidos como código de 32 bits,


no de 64 bits, así que no pueden obtener ventajas de los grandes espacios de direcciones
de 64 bits o de registros de 64 bits más anchos y las rutas de datos en procesadores de
64 bits o, en procesadores x86, de los registros adicionales en el modo de 64 bits. Sin
embargo, los usuarios de sistemas operativos libres o de código abierto han podido
utilizar entornos exclusivos de 64 bits durante años. No todas las aplicaciones necesitan
un gran espacio de direcciones o manipular elementos de 64 bits, así que no se
beneficiarían de los grandes espacios de direcciones o de los registros más anchos y las
rutas de datos; el principal beneficio para las aplicaciones de 64 bits que no se
beneficiarían de nada de esto sería que las versiones x86 podrían usar más registros.

Disponibilidad del Software [editar]

Los sistemas de 64 bits algunas veces carecen de software equivalente escrito para
arquitecturas de 32 bits. Los problemas más graves son debidos a controladores de
dispositivo incompatibles. Aunque gran parte del software puede ejecutarse en modo de
compatibilidad con 32 bits (también conocido como un modo emulado, p. ej. la
Tecnología Microsoft WoW64), normalmente es imposible ejecutar un driver (o un
programa similar) en ese modo ya que habitualmente se ejecuta entre el SO y el
hardware, donde no se puede usar la emulación directa. Muchos paquetes de software
de código abierto pueden simplemente ser compilados desde las fuentes para trabajar en
un entrono de 64 bits en sistemas operativos como Linux. Todo lo que se necesitaría en
este caso es un compilador (normalmente GCC) para la máquina de 64 bits.

You might also like