32-bit vs 64-bit: qué es y en qué se diferencian

Como bien sabes, existen sistemas operativos y CPUs de 32-bit y 64-bit. Si aún no comprendes bien esta diferencia, te explicamos aquí todo lo que deberías saber sobre estos dos tamaños y cuál es la ventaja de los 64-bit.

Quizás te interese conocer:

¿Qué es un bit?

Un bit (b) no es más que una unidad de información, la más pequeña de todas. En código binario, un bit puede tomar dos posibles valores: 0 y 1. Y se puede usar para representar todo tipo de información. Como bien sabes, un grupo de 8 bits son un byte (B) u octeto. Es importante tener claro esto para conocer mejor qué significa que un sistema operativo o un procesador sean de 32 (4 bytes) o 64-bit (8 bytes), es decir, del tamaño de palabra.

Existe la palabra nibble, aunque no es tan popular. Se refiere a un grupo de cuatro bits, es decir, a un cuarteto o la mitad de un byte.

Además, como ya debes saber, tienes los múltiplos de bits y bytes en el Sistema Internacional de medidas, que se basa en el sistema decimal, y en el sistema ISO/IEC que se basa en el binario:

Múltiplo (símbolo)Sistema Internacional (SI)Múltiplo (símbolo)ISO/IEC
kilobyte (kB)103kibibyte (KiB)210
megabyte (MB)106mebibyte (MiB)220
gigabyte (GB)109gibibyte (GiB)230
terabyte (TB)1012tebibyte (TiB)240
petabyte (PB)1015pebibyte (PiB)250
exabyte (EB)1018exbibyte (EiB)260
zettabyte (ZB)1021zebibyte (ZiB)270
yottabyte (YB)1024yobibyte (YiB)280

Aunque esta tabla se refiere a los bytes, también se puede usar para bits. Sin embargo, ten cuidado de diferenciar cuando se habla de bytes (B mayúscula, por ejemplo kB, MB,…) y cuando se habla de bits (b minúscula, p.e.: kb, Mb,…). Además, ten también presente que muchas veces se confunde una escala con la otra y muchas veces se hace referencia a los gigabytes cuando realmente se está usando el gibibyte.

Por ejemplo:

  • 1 kB = 1000 bytes
  • 1 kb = 1000 bits
  • 1 KiB = 1024 bytes
  • 1 Kib = 1024 bits

Por eso muchas veces las capacidades de un DVD o de un disco duro no coinciden con la realidad y al comprar su capacidad ves que no llega a lo que decía, porque se está usando una u otra unidad…

CPU

procesadores

Los procesadores, o CPU, no son más que unidades que procesan datos. Para ello utilizan una serie de instrucciones de la ISA para operar sobre estos datos. Estas instrucciones pueden ser lógicas o aritméticas (ADD, SUB, MUL, DIV, XOR,…). Y se ejecutarán sobre datos con un tamaño de 32-bit (representaciones de 00000000000000000000000000000000 a 11111111111111111111111111111111) o de 64-bit (representaciones de 0000000000000000000000000000000000000000000000000000000000000000 a 1111111111111111111111111111111111111111111111111111111111111111). Por tanto, un procesador de 64-bit podrá procesar información de forma más rápida que uno de 32-bit.

El primer procesador de 32-bit data el año 1986, mientras que los procesadores de 64-bit empezaron a aparecer en la década de los 90. Actualmente, casi todas las unidades son de 64-bit, excepto algunos procesadores más simples o MCUs que pueden tener tamaños de 8, 16, o 32-bit.

Esto también puede interferir en la cantidad de memoria que puede manejar un equipo. Si el bus de direcciones es de 32-bit podrá gestionar un máximo de 2^32 (4294967296) posiciones de memoria, mientras que una unidad con un bus de direcciones de 64-bit podrá gestionar hasta 2^64 (18446744073709551616) posiciones de memoria.

Sin embargo, en la actualidad no se puede entender una CPU moderna como un chip solo de 32-bit o 64-bit, sino que los actuales microprocesadores trabajan con distintas longitudes gracias a extensiones de la ISA. Por ejemplo, con SSE se puede llegar hasta 128-bit y con AVX-512 se puede llegar hasta los 512-bit de longitud de palabra y esto lo consigue la CPU enlazando distintos registros para formar dicha longitud. Estas instrucciones se denominan vectoriales y pueden ayudar a acelerar tareas que necesitan procesar una gran cantidad de datos a la vez, como podrían ser las aplicaciones científicas, multimedia, etc.

Por otro lado, es importante destacar que algunos procesadores también tienen retrocompatibilidad, como es el caso de la familia x86. En este caso, los procesadores de 32-bit podrán operar también en modo 16-bit o de 8-bit. En el caso de los procesadores de 64-bit, también podrán operar en 32-bit, 16-bit y 8-bit. Por tanto, tolerarían sistemas operativos y software más antiguo.

También me gustaría agregar que un procesador, como puedes ver, es muy heterogéneo a la hora de funcionar. Y podríamos toparnos con una CPU que tiene un bus de instrucciones y datos de 64-bit pero que su bus de direcciones de memoria es de 46-bit, y otras combinaciones. Por tanto, cuando se habla de 32-bit y 64-bit se supone que todas las partes están funcionando con esa longitud de palabra, pero no es así. Y eso también implica la ALU y la FPU, que también podrían trabajar con tamaños de palabra superiores, como he dicho anteriormente en el caso de instrucciones SIMD, como las MMX, SSE, AVX, SVE, etc.

No solo las CPUs pueden ser de un determinado tamaño de palabra, también la GPU trabaja con determinadas longitudes de datos, así como otras unidades de procesamiento. Sin embargo, que una GPU sea de una u otra longitud no interferirá en la forma de trabajar del sistema operativo, ya que es la CPU la que envía las instrucciones a la GPU para que ésta las procese.

32 bits: características

  • La CPU puede trabajar con datos de una longitud de hasta 32-bit, es decir, de 4 bytes. Por ejemplo, podría multiplicar dos datos de 32-bit y obtener un resultado de 32-bit (si el resultado supera eso se produce un desbordamiento).
  • Los procesadores de 32-bit necesitan un sistema operativo de 32-bit para que los gestione de forma adecuada.
  • Un procesador de 32 bits soporta como máximo 4 GB de Memoria RAM. Dependiendo del procesador, un programa puede extenderse hasta los 64 GB, por ejemplo, en x86 activando las extensiones PAE.
  • El rango de valores con los que puede operar un procesador de 32 bits va desde 0 hasta 4.294.967.295 en decimal, ya que puede representar desde 00000000000000000000000000000000 a 11111111111111111111111111111111 en binario. No obstante, también se puede trabajar con decimales y potencias gracias a los datos de coma flotante de precisión simple en este caso.

64 bits: características

  • Puede conseguir mayor rendimiento al poder procesar datos mayores de una vez, ya que puede trabajar con 64-bit de longitud, es decir, 8 bytes.
  • Son capaces de soportar hasta 192 GB en Windows, aunque esto dependerá del sistema operativo. En teoría podrían llegar a direccionar hasta 16 EB (ExaBytes). Por ejemplo, en el caso de macOS en las actuales versiones se puede llegar hasta 18 EB teóricamente. Por otro lado, en Windows 10 Home se puede alcanzar hasta 128 GB, mientras que en el Pro hasta 2TB, más aún en las versiones Enterprise o Server. En el caso de Linux, puede variar según la distro y la versión, pero pueden llegar a cifras muy elevadas de hasta 64 TB o más.
  • Necesitará un sistema operativo de 64-bit para funcionar, aunque si tiene retrocompatibiliad, es posible usar uno de 32-bit. Por otro lado, algunos chips de 64-bit para dispositivos móviles han estado funcionando durante un tiempo con Android de 32-bit, ya que no había una implementación que pudiera soportar los 64-bit.

Sistema operativo

Windows 11

Por supuesto, no solo el hardware puede ser de 32-bit o 64-bit, también el software. Por eso, te vas a encontrar con sistemas operativos de 32-bit y 64-bit. Como he dicho anteriormente, para que se pueda exprimir al máximo un procesador de 64-bit se necesita un sistema operativo de 64-bit, aunque se puede instalar uno de 32-bit debido a la retrocompatibilidad.

Muchos sistemas operativos tienen APIs y bibliotecas para dar soporte tanto al software de 32-bit como el nuevo de 64-bit. Por lo que se pueden instalar programas de ambas arquitecturas sin problema. Además de eso, cuando se compila un determinado software que contiene instrucciones especiales entre su código, como el uso de SIMD, estos datos trabajarán en longitudes diferentes a la base de la CPU como he dicho anteriormente. Pero esto es totalmente transparente para el usuario, que simplemente ve cómo su software simplemente funciona.

Los sistemas operativos más usados, como Linux, macOS, BSD y Windows, ya dieron el salto a los 64-bit hace tiempo, aunque algunos siguen conservando su compatibilidad para software anterior como he dicho en el párrafo anterior. Android ha sido uno de los sistemas operativos más rezagados en hacer este salto, ya que, aunque está basado en el kernel Linux, no fue hasta hace unos años cuando dio el salto definitivo a los 64-bit para dispositivos móviles.

Recuerda que un procesador de 64-bit puede trabajar con un sistema de 32-bit también, pero que un procesador de 32-bit no puede en ningún caso trabajar con un sistema operativo de 64-bit, ya que no será compatible. El kernel no podría trabajar con ese tamaño de palabra.

Programas y aplicaciones

software

Como ya he insinuado anteriormente, el software que instalas en tu equipo también lo puedes encontrar en versiones de 32 y 64-bit, tanto para plataformas x86 como para ARM, entre otras. No obstante, dado que los procesadores de 32-bit para PC están ya desfasados, cada vez menos desarrolladores optan por dar las dos opciones y simplemente lanzan su producto en versión 64-bit. Esto es así especialmente en el caso de programas de alta carga o videojuegos, en los que se necesita aprovechar al máximo el procesador.

En realidad, el software no tiene una arquitectura de 32-bit o 64-bit como tal, pero sí que los binarios o ejecutables han sido compilados para una u otra arquitectura. Por tanto, no funcionarán en un sistema que no esté preparado para ellos. Sin embargo, un programa escrito en cualquier lenguaje de programación y que se distribuya en código fuente abierto, podría ser compilado tanto para trabajar con un sistema de 32-bit como de 64-bit, tan solo hay que compilarlo en un equipo de 32-bit o 64-bit respectivamente (o realizar compilación cruzada).

Cuál escoger

Por último, hay que decir que a la hora de escoger, lo cierto es que ya poco vas a encontrar en cuanto a procesadores de 32-bit. Han dejado de venderse y si encuentras stock se tratará de productos de segunda mano o antiguos. En el caso de los sistemas operativos, algunos se siguen distribuyendo en formato de 32-bit también, pero cada vez menos. Lo mismo pasa con los programas, que cada vez los desarrolladores se toman menos molestias para lanzarlos en ambos formatos. Por tanto, la mejor idea es elegir un sistema completo de 64-bit.

Si aún cuentas con un viejo equipo de 32-bit, aún puedes usar algunas versiones de Windows o Linux de 32-bit en ellos para darle una segunda oportunidad. También encontrarás algunos paquetes de 32-bit de programas disponibles. Sin embargo, podrías tener problemas a la hora de actualizar si han quedado sin soporte y eso implica riesgos de seguridad muy importantes.

Si por algún caso necesitas ejecutar un software antiguo en tu equipo, para no tener que depender de hardware desfasado o de un sistema operativo de 32-bit o inferior, lo mejor es usar algún emulador, como es el caso de QEMU, que admite una amplia variedad de arquitecturas.

Jaime Herrera

Jaime Herrera

Técnico electrónico y experto en el sector de los semiconductores y el hardware. Apasionado de la tecnología y la computación.

>
Guía Hardware
Logo