Vous êtes sur la page 1sur 19

MICROPROCESADORES ARQUITECTURAS DE 32 Y 64 BITS.

ARQUITECTURA DE 32 BITS: En arquitectura de computadoras, 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.

ARQUITECTURA DE 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.

Diferencias entre procesadores de 32 bits y 64 bits


La principal diferencia entre los procesadores de 32 bits y 64 bits, es la cantidad de aplicaciones que pueden tener funcionando de manera simultnea (potencia), sin generar errores o problemas con las aplicaciones. Es decir, un procesador de 32 bits puede tener abiertas una cantidad de aplicaciones, por ejemplo, unas 3. Si deseamos abrir unas 5 ms, el sistema comenzar a tornarse lento y posiblemente cree algunos errores que pueden incluso cerrar lasos programas, ya que la potencia de estos procesadores es ms limitada. Mientras, el procesador de 64 bits no tendr ningn problema en ejecutar todas estas acciones a la misma velocidad y con la misma eficiencia sin mermar su rendimiento.

Otra de las diferencias apreciables es la cantidad de memoria que pueden soportar estos procesadores. Los procesadores de 32 bits tienen un lmite de 4GB de memoria RAM, mientras que los de 64 bits pueden llegar a trabajar con un nmero enorme de memoria, que puede superar con creces los 16GB y llegar a TB. Podemos decir entonces, que la principal diferencia es la capacidad de procesamiento (casi el doble en los de 64GB), lo cual nos permite obtener un mejor rendimiento del PC y un funcionamiento ptimo del sistema operativo.

Utilidad de los procesadores de 32 y 64 bits


La mayora de los procesadores de 64 bits son utilizados por empresas o compaas, que requieren una enorme potencia para procesar datos y deben utilizar por esta raznsistemas operativos de 64 bits, los cuales slo pueden ser ejecutados por procesadores de dicha capacidad. Por lo general, un usuario promedio no requiere tanta memoria RAM, as que un procesador de 32 bits es bastante bueno para PCs personales o de uso domstico. Cabe destacar que los procesadores de 32 bits no pueden ejecutar sistemas operativos de 64 bits. Aunque la mayora de los procesadores actuales son de 64 bits, no debe preocuparte si tienes uno de 32 bits, ya que si eres un usuario que no abre ms de 5 aplicaciones a la vez o no necesita ms de 4 GB de memoria RAM, puedes trabajar perfectamente con un procesador de 32 bits, sin tener que realizar una migracin a un procesador de 64 bits.

64 bits vs 32bits
Seguramente muchos de ustedes se han cuestionado sobre que diferencia existe entre 32 y 64 bits, ya que hoy da debemos elegir respecto a esto en los procesadores, sistemas operativos y software; bueno pues con este post quiero aclararles estas diferencias y compartirles un poco mas de conocimiento.

Procesadores de 32 y 64 bits: Empecemos por lo ms bsico para entender que es eso de 32 y 64 bits.

Para hacerlo de una manera mundana para todo pblico, supongamos que un procesador de 32 bits es una carretera de cuatro carriles donde los autos (Datos) corren a 100 Km/h. Un procesador de 64 bits con esos mismos autos (Datos) correran a la misma velocidad pero ahora en una autopista de ocho carriles, con lo que podran transitar ms autos(Datos) que en una carretera de slo cuatro carriles. Para los procesadores de 64 bits, esto significa que pueden trabajar el doble de informacin en el mismo ciclo de reloj (un hertz), pueden acceder a mayor capacidad de memoria y procesar archivos ms grandes. Actualmente un procesador de 32 bits puede controlar un mximo de 4 GB de memoria RAM; mientras que un procesador de 64 bits tiene la capacidad de controlar 16 Exabytes de memoria RAM (16 mil millones de GB).

En cuanto a los clculos matemticos tambin habr ventajas, ya que un procesador de 32 bits puede representar nmeros desde 0 hasta 4,294,967,295; y uno de 64 bits incrementar la capacidad logrando que se puedan representar nmeros desde 0 hasta

18,446744,073,709,551,615. Obviamente esto significa que las computadoras podrn hacer operaciones con cantidades mayores y que los clculos con cantidades pequeas sean ms eficientes. Las diferencias son bastante notables y sin duda contar con un procesador de 64 bits mejorara

nuestro trabajo, y tendramos la posibilidad de poder trabajar con bastante memoria RAM.

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 aos 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.

1) Aunque una CPU puede ser internamente de 64 bits, su bus de datos o bus de direcciones
externos pueden tener un tamao diferente, ms grande o ms pequeo y el trmino se utiliza habitualmente para describir tambin el tamao de estos buses. Por ejemplo, muchas mquinas 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 razn. El trmino tambin se puede referir al tamao 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 precisin son comunes). Sin ms 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.

Implicaciones de arquitectura Limitaciones de memoria Cronologa Pros y del procesador contras o de 5.1 64 bits32 bits contra del 64 bits

Disponibilidad

Software

Modelos de datos de 64 bits

Arquitecturas de microprocesador de 64 bits actuales Ms all de los 64 bits Imgenes

Implicaciones de arquitectura Los registros en un procesador se dividen generalmente en tres grupos: enteros, coma flotante y otros. En todos los procesadores de propsito general, slo los registros enteros pueden almacenar punteros (una direccin de algn 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 cualesquiera restricciones impuestas por el tamao de los registros enteros.

Casi todos los procesadores de propsito general (con la notable excepcin 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 configuracin en forma de pila; revisiones posteriores del x86 y la arquitectura x86-64 tambin 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 adems de sus 32 registros de enteros de 64 bits.

Limitaciones de memoria

Muchas CPUs estn actualmente (en 2008) diseadas para que los contenidos de un nico registro puedan almacenar la direccin de memoria de cualquier dato en la memoria virtual. Por tanto, el nmero 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 aos 1960 con el IBM S/360, luego (entre muchos otros) el miniordenador VAX de DEC en los aos 1970 y luego con el Intel 80386 a mediados de los aos 1980, un consenso de facto instaur que 32 bits era un tamao 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 tamao apropiado con el que trabajar por otra importante razn: 4 mil millones de enteros son suficientes para asignar referencias nicas a la mayora de cosas fsicamente contables en aplicaciones como bases de datos.

No obstante, con el paso del tiempo y las continuas reducciones en el coste de la memoria (vase la Ley de Moore), al comienzo de los aos 1990, comenzaron a aparecer instalaciones con cantidades de RAM prximas a los 4 gigabytes, y comenz a ser deseable el uso de espacios de memoria virtual que superaban el lmite 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 lneas 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 PC de gama alta. La aparicin de la arquitectura de 64 bits efectivamente incrementa el lmite a 264 direcciones, equivalente a 17,179,869,184 gigabytes o 16 exabytes de RAM. Para poner esto en perspectiva, en los das en que 4 MB de memoria principal eran comunes, el lmite mximo de memoria de 232 direcciones era unas 1000 veces mayor que la configuracin tpica de memoria. En 2007, cuando 1GB de memoria principal es comn, el lmite de 264 es unos diez mil millones de veces superior, es decir diez millones de veces ms de espacio.

Muchos PC de 64 bits del mercado tienen actualmente un lmite artificial en la cantidad de memoria que pueden reconocer, pues las limitaciones fsicas 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 fsicamente con hasta 32 gigabytes de memoria, y por ello no hay necesidad de soportar ms all de esa cantidad. Un ncleo linux reciente (versin 2.6.16) puede ser compilado con soporte para hasta 64 gigabytes de memoria. Segn Apple la nueva version de su sistema operativo tericamente soporta 16 Terobytes de memoria.

Cronologa del procesador de 64 bits

* 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 tena

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 revisin 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 versin 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 generacin 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 versin completa de 64 bits de OpenVMS para Alpha.

* 1996: HP lanz una implementacin de 64 bits, la versin 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

revelacin pblica 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 investigacin de un procesador de 64 bits e instantneamente borrando la compatibilidad con las mquinas 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 lnea 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 versin de procesador.

2002:

Intel

introdujo

el

Itanium

como

sucesor

del

Itanium.

* 2003: AMD sac a la luz sus lneas de procesadores con arquitectura AMD64 Opteron y Athlon 64. Apple lanz tambin sus CPUs PowerPC 970 "G5" de 64 bits por cortesa de IBM, junto con una actualizacin de su sistema operativo Mac OS X, que aadi soporte parcial para el modo de 64 bits. Se publicaron varias distribuciones Linux con soporte para AMD64. Microsoft anunci que creara una versin de su sistema operativo Windows para esos chips AMD. Intel sostuvo que sus chips Itanium seran sus nicos procesadores de 64 bits.

* 2004: Intel, reaccionando al xito de mercado de AMD, admiti que haba 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 ncleo 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 ncleo se pondran a la venta en el segundo cuatrimestre de 2005 con la publicacin de su Pentium Extreme Edition 840 y los nuevos chips Pentium D. El 30 de abril, Microsoft lanz pblicamente su Windows XP Professional x64 Edition para procesadores AMD64 y EM64T. En mayo, AMD introdujo sus primeros procesadores para servidores Opteron

AMD64 de doble ncleo y anunci su versin de escritorio, llamada Athlon 64 X2. Los primeros procesadores Athlon 64 X2 (Toledo) contaban con dos ncleos con una memoria cach L2 de 1MB y consistan de aproximadamente 233,2 millones de transistores. Tenan un tamao de 199 mm2. En julio, IBM anunci sus nuevos procesadores PowerPC 970MP (cuyo nombre en cdigo era Antares) de doble ncleo 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 produccin los procesadores Itanium 2 Montecito de doble ncleo. 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

El cambio de una arquitectura de 32 bits a una de 64 bits es una alteracin fundamental, y muchos sistemas operativos tienen que modificarse ostensiblemente para aprovechar las ventajas de la nueva arquitectura. El resto del software tambin tiene que ser portado para usar las nuevas capacidades; el software antiguo normalmente es soportado a travs 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 versin de 64 bits), a travs de emulacin software o por la implementacin de un ncleo de procesador de 32 bits dentro del procesador de 64 bits (como con los procesadores Itanium de Intel, que incluyen un ncleo 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 excepcin 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 cdigo 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 transicin de su lnea desde los antiguos juegos de instrucciones de 32/48 ("IMPI" al PowerPC de 64 bits (IMPI no tena nada que

ver con el PowerPC de 32 bits, as que fue incluso una transicin 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 ms sencillo el trabajar con grandes conjuntos de datos en aplicaciones como el vdeo digital, computacin cientfica y grandes bases de datos, ha habido un debate considerable sobre si los modos de compatibilidad co n 32 bits sern ms rpidos que los sistemas de 32 bits del mismo precio para otras tareas. En las arquitecturas x86-64 (AMD64 y EM64T, IA-32e), la mayora de los sistemas operativos de 32 bits y aplicaciones pueden ejecutarse sin problemas en el hardware de 64 bits.

Las mquinas virtuales de JAVA de 64 bits de Sun son ms lentas en el arranque que las de 32 bits porque Sun sigue asumiendo que todas las mquinas de 64 bits son servidores y slo han implementado el compilador de "servidor" (C2) para plataformas de 64 bits. El compilador "cliente" (C1) produce cdigo ms lento, pero compila mucho ms rpido. As que aunque un programa Java en una JVM de 64 bits puede funcionar mejor en un periodo grande de tiempo (tpico de aplicaciones "servidoras" de ejecucin 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 ejecucin, haciendo la JVM de 64 bits ms lenta en conjunto.

Debera notarse que la velocidad no es el nico factor a considerar en una comparacin de procesadores de 32 bits y 64 bits. Usos como la multitarea, las pruebas de carga y el clustering (para computacin de alto rendimiento) pueden ser ms idneos 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 razn.

An asi estaremos "obligados" a migrar a 64 bits antes del "Efecto 2038", por un bug referido con el tiempo (muy similar al "Efecto 2000" y que afecta a sistemas Unix y basados en Unix, ya que la representacin del tiempo es basada en el sistema POSIX, que se basa en contar el nmero de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 (ignorando los segundos intercalares).En la mayoria de los sistemas de 32 bits time_t es un entero de 32 bits con signo, y una vez que el valor llege a 2.147.483.647 (2038-19-01 03:14:07 UTC)al segundo siguiente saltara al valor -2.147.483.648 (1901-1312 o 1970-01-01). En cambio, en la mayoria de los sistemas de 64 bits se utilizan enteros

de 64 bits en time_t, lo cual soluciona el problema por unos miles de millones de aos.

Pros y contras

Un error comn es, que las arquitecturas de 64 bits no son mejores que las de 32 bits a menos que el ordenador tenga ms 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 estn mapeados en cada espacio de direcciones de proceso, dejando slo entre 2 y 3.8 GB (dependiendo de la configuracin) de espacio de direcciones disponible, incluso si el ordenador tiene 4 GB de RAM. Esta restriccin 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 introduccin de tecnologa de grabacin de DVD relativamente barata. Un archivo de 4 GB ya no es inusual y tales archivos grandes no pueden ser mapeados fcilmente con arquitecturas de 32 bits; slo se puede mapear una regin del archivo en el espacio de direcciones y para acceder al archivo usando mapeado de memoria, estas regiones tendrn que mapearse dentro y fuera del espacio de direcciones segn sea necesario. Esta es una cuestin clave, ya que el mapeado de memoria es uno de los mtodos ms 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 ms 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 cdigo 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 estn construidos como cdigo 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 ms 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 cdigo abierto han podido utilizar entornos exclusivos de 64 bits durante aos. No todas las aplicaciones necesitan un gran espacio de direcciones o manipular elementos de 64 bits, as que no se beneficiaran de los grandes espacios de direcciones o de los registros ms anchos y las rutas de datos; el principal beneficio para las aplicaciones de 64 bits que no se beneficiaran de nada de esto sera que las versiones x86 podran usar ms registros.

Disponibilidad del Software Los sistemas de 64 bits algunas veces carecen de software equivalente escrito para arquitecturas de 32 bits. Los problemas ms graves son debidos a controladores de dispositivo incompatibles. Aunque gran parte del software puede ejecutarse en modo de compatibilidad con 32 bits (tambin conocido como un modo emulado, p. ej. la Tecnologa 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 emulacin directa. Muchos paquetes de software de cdigo abierto pueden simplemente ser compilados desde las fuentes para trabajar en un entorno de 64 bits en sistemas operativos como Linux. Todo lo que se necesitara en este caso es un compilador (normalmente GCC) para la mquina de 64 bits.

Modelos de datos de 64 bits

La conversin de aplicaciones escritas en lenguajes de alto nivel desde una arquitectura de 32 bits a una de 64 bits vara en dificultad. Un problema comn recurrente es que algunos programadores asumen que los punteros tienen la misma longitud que otros tipos de datos. Los programadores asumen que pueden transferir cantidades entre estos tipos de datos sin perder informacin. Estos supuestos se dan realmente en algunas mquinas de 32 bits (e incluso en algunas de 16 bits), pero no se dan en mquinas de 64 bits. El lenguaje de programacin C y su descendiente el C++ hacen particularmente fcil cometer este tipo de errores.

Para evitar este error en C y C++, se puede utilizar el operador sizeof para determinar el tamao de estos tipos primitivos si se necesitan tomar decisiones basadas en el tamao en

tiempo de ejecucin. Tambin la cabecera <limits.h> en el estndar C99 y la clase numeric_limits en la cabecera <limits> en el estndar de C++, dan ms informacin til; sizeof slo devuelve el tamao en carcteres, lo que es a veces engaoso, porque el propio tamao de un carcter (CHAR_BITS) no est definido de la misma manera en todas las implementaciones de C o C++.

Se necesita ser cuidadoso para usar el tipo ptrdiff_t (en la cabecera estndar <stddef.h> para el resultado de restar dos punteros, demasiado cdigo incorrecto utiliza "int" o "long" en su lugar. Para representar un puntero (ms que un puntero diferencia) como un entero, se usa uintptr_t cuando est disponible (slo est definida en C99, pero algunos compiladores anteriores al estndar lo cumplen ofrecindolo como una extensin).

Ni C ni C++ definen la longitud de un puntero, ni de datos int ni long a un nmero de bits especficos.

En muchos entornos de programacin en mquinas de 32 bits, los punteros, las variables "int" y las variables "long" tienen todos 32 bits de longitud.

Sin embargo, en muchos entornos de programacin en mquinas de 64 bits, las variables "int" siguen teniendo 32 bits de longitud y los punteros tienen 64 bits de longitud. Son descritos como poseedores de un modelo de datos LP64. Otra alternativa es el modelo de datos ILP64 en el que los tres tipos de datos tiene 64 bits de longitud. No obstante, en muchos casos las modificaciones necesarias son relativamente menores y sencillas, y muchos programas bien escritos pueden ser simplemente recompilados para el nuevo entorno sin cambios. Otra alternativa es el modelo de datos LLP64 que mantiene la compatibilidad con el cdigo de 32 bits dejando tanto int como long con 32 bits de longitud. "LL" hace referencia al tipo "long long", que tiene al menos 64 bits en todas las plataformas, entornos de 32 bits incluidos. Muchos compiladores de 64 bits actuales usan el modelo LP64 (incluyendo Solaris, AIX, HP, Linux y los compiladores nativos de MacOS). El compilador VC++ de Microsoft usa el modelo LLP64 que es ms compatible retroactivamente.

Advierta que la eleccin de un modelo de programacin se hace al compilar, y varios modelos pueden coexistir en el mismo SO. No obstante, generalmente suele predominar el modelo de programacin elegido por la API del sistema operativo como modelo primario.

Otro detalle a tener en cuenta es el modelo de datos usado para los controladores de dispositivos. Los controladores de dispositivos conforman la mayor parte del cdigo del sistema operativo en la mayora de los sistemas operativos modernos (aunque muchos puedan no ser cargados mientras el sistema operativo se ejecuta). Muchos controladores hacen un frecuente uso de punteros para manipular datos, y en algunos casos han de cargar punteros de un tamao determinado en el hardware que soportan para realizar DMA. Por ejemplo, un controlador para un dispositivo PCI de 32 bits solicitando al dispositivo transferir datos usando DMA a reas superiores de la memoria de una mquina de 64 bits podra no satisfacer las peticiones del sistema operativo de cargar datos desde el dispositivo a la memoria por encima de la barrera de los 4 gibibytes, pues los punteros para esas direcciones no cabran en los registros DMA del dispositivo. Este problema se soluciona haciendo que el sistema operativo tenga en cuenta las restricciones de memoria del dispositivo a la hora de generar peticiones de DMA a los dispositivos, o bien usando una IOMMU.

Arquitecturas de microprocesador de 64 bits actuales

Las arquitecturas de microprocesador de 64 bits (a fecha de 2006) comprenden:

* *

La La

arquitectura arquitectura

DEC IA-64

Alpha de Intel

(vase (usada

la en

cronologa las CPUs

de

Digital de

Alpha) Intel)

Itanium

* La arquitectura AMD64 de AMD (previamente conocida como x86-64), una versin de 64 bits de la arquitectura x86 (usada en las CPUs Athlon 64, Opteron, Sempron y Turion 64). o Intel usa ahora el mismo conjunto de instrucciones en los procesadores Pentium 4 y Xeon nuevos y en los procesadores Core 2 Duo, llamndola Intel 64 (previamente conocida como EM64T, originalmente IA-32e). Los fabricantes de software Microsoft y Sun llaman * o o La a este conjunto SPARC arquitectura arquitectura (de 64 de bits instrucciones desde SPARC de de "x64". V9) Sun Fujitsu

arquitectura La La

UltraSPARC SPARC64

* La arquitectura POWER de IBM (de 64 bits desde POWER3 y las variantes RS64) * La arquitectura PowerPC de IBM/Motorola (el PowerPC 620 de 64 bits y las variantes PowerPC 970) * La arquitectura z/Architecture de IBM, usada por los mainframes zSeries y System z9, una versin de 64 bits de la arquitectura ESA/390

* *

Las La

arquitecturas familia

MIPS

IV, de

MIPS HP (de

V,

y 64

MIPS64 bits

de

MIPS el

Technologies 2.0)

PA-RISC

desde

PA-RISC

Muchas arquitecturas de procesador de 64 bits pueden ejecutar nativamente cdigo de la versin de 32 bits de la arquitectura sin ninguna penalizacin en el rendimiento. Este tipo de soporte se conoce frecuentemente como soporte biarquitectura o ms generalmente como soporte multiarquitectura.

Ms all de los 64 bits A fecha de 2007, las palabras de 64 bits parecen ser suficientes para la mayora de usos prcticos. Aun as, debera mencionarse que el System/370 de IBM usa nmeros de coma flotante de 128 bits, y muchos procesadores modernos incluyen registros de coma flotante de 128 bits. Sin embargo, el System/370 era notable, en que tambin usaba nmeros decimales de longitud variable de hasta 16 bytes de longitud (por ejemplo de 128 bits).

Sistemas Operativos de 32 y 64 bits: Para elegir un S.O. (Windows, Linux, , etc) debemos de tener varias cosas en cuenta: Para instalar una version de 64 bits en nuestra computadora debemos contar con un procesador de 64 bits o de lo contrario no podremos instalarlo.

Las versiones de 32 bits se puede instalar con cualquier tipo de procesador ya sea de 32 o 64 bits. Si instalamos una version de 32 bits en un computador con procesador de 64 estaremos desaprovechando las ventajas que dicho procesador trae, ya que para sacarle todo su potencial es necesario tener un sistema de 64 bits instalado.

Los sistemas operativos de 64 bits son ms utilizados a nivel profesion donde se requiere realmente todo el potencial de la maquina, ademas muchos sistemas de 64 bits presentan incompatibilidad gran cantidad de software. Software de 32 y 64 bits: Cuando debemos escoger entre software de 32 y 64 bits lo primero y ms importante a tener en cuenta es que tipo de Sistema Operativo tenemos instalado (32 o 64 bits) para as respectivamente seleccionar el software a instalar. Muchos sistemas de 64 bits presentan incompatibilidad al instalarle software de 32 bits, por eso se recomienda instalarle solo versiones de 64 bits para un mejor rendimiento y evitar problemas, aunque los sistemas actuales ya vienen con muchas mejoras para evitar esto. OBS: Si tienen procesador y sistema operativo de 64 bits, entonces traten de encontrar sobre de 64 bits.

Resumen

conclusin:

Un equipo de 64 bits puede procesar el doble de informacin que un equipo de 32 bits y puede disponer de una mayor memoria de acceso aleatorio (RAM). Esto convierte a un equipo de 64 bits en una buena eleccin si trabaja con vdeo, bsquedas en bases de datos grandes o juegos y otros programas que requieren clculos complejos y mucha memoria. No obstante, un equipo de 32 bits funciona muy bien para la mayora de los programas. Por ejemplo, los programas de hojas de clculo, los exploradores web y los programas de procesamiento de texto se ejecutarn aproximadamente a la misma velocidad en un equipo de 32 64 bits.

Los programas que se ejecutan en versiones de 64 bits tienen un mejor rendimiento son: Software Programas Juegos y de de otros diseo edicin programas asistido de que por ordenador y clculos (CAD). vdeos. complejos.

imgenes requieren

Programas que tienen acceso a grandes bases de datos o que trabajan con ellas. Programas de grabacin y anlisis de vdeo que guardan grandes cantidades de datos en la memoria.

favor

de

los

64

bits

Mayor capacidad de proceso, pues en trminos tericos un microprocesador de 64 bits maneja el doble de bits por ciclo de reloj. Las aplicaciones de uso intensivo de CPU sern ms fluidas y la multitarea ms eficaz

Posibilidad de manejar una mayor cantidad de memoria RAM y romper el lmite terico de los 4 Gbytes que imponen los 32 bits

Mayor seguridad en sistemas Windows 7 de 64 bits, que cuentan con una tecnologa que previene contra modificaciones del kernel por parte de ciertos tipos de malware

En

contra

de

los

64

bits

Mayor consumo de memoria principal, pues manejar un mayor nmero de direcciones de memoria tambin requiere ocupar ms RAM

Necesitamos controladores nativos de ocho octetos, por lo que no podremos hacer funcionar aquellos dispositivos antiguos que solo tengan soporte para plataformas de 32 bits Aunque seguiremos pudiendo ejecutar aplicaciones de 32 bits gracias a la capa adicional de Windows, perderemos la compatibilidad con el software ms antiguo de 16 bits

Algunas 32bit

Pruebas vs

de

rendimiento 64 bit

Vous aimerez peut-être aussi