¿Por qué todavía hay programas de 32 bits en estos días?

Hay dos tipos de sistemas de 64 bits.

  1. 64 bits que también pueden hacer 32 bits. Por ejemplo, AMD64 / x86-64: una CPU de 64 bits, totalmente compatible con versiones anteriores de 32 y 16 bits. Extremadamente popular. Tanto en clase empresarial como en clase doméstica.
  2. Puro de 64 bits, por ejemplo. Itanium IA64: una CPU de 64 bits que solo puede hacer 64 bits. Utilizado principalmente para clase empresarial. Pero no es tan popular incluso en la clase empresarial en comparación con AMD64, Power PC o SPARC

Entonces, incluso cuando llegó 64 bits, el soporte de 32 bits no desapareció. Pure 64 bit no es popular en el mercado interno. Hasta ahora, solo tenía un segmento de nicho en servidores de clase empresarial. (Esto puede cambiar ahora porque también tenemos teléfonos móviles de 64 bits).

Los sistemas puros de 64 bits aumentan el tamaño del código. Para la misma lógica y código que pueden funcionar bien para un sistema de 32 bits, el tamaño de su código aumentaría. Hasta y a menos que esté haciendo algo que necesite números muy muy muy grandes o una memoria muy grande, el sistema de 64 bits no agrega mucho valor al usuario final.

AMD64 ofrece lo mejor de ambos mundos. Si es necesario, escriba y use programas de 32 bits más pequeños y que funcionen perfectamente, que funcionan tanto en sistemas operativos / procesadores de 32 bits como de 64 bits. Y cuando corresponda, escriba programas puros de 64 bits que aprovechen al máximo la arquitectura subyacente. Entonces, los programas de 32 bits están aquí para quedarse, al menos por un poco más de tiempo.

La arquitectura estándar x64 es compatible con versiones anteriores y puede ejecutar código de 32 bits sin penalización de rendimiento. Por otro lado, los programas de 32 bits pueden ser un poco más cortos, porque las direcciones completas ocupan solo 4 bytes, no 8. Esto puede resultar en un aumento muy leve del rendimiento a favor de los programas de 32 bits (todas las demás cosas son iguales , suponiendo que el sistema operativo no penaliza el código de 32 bits). Esto solo puede ser un punto a favor de escribir código de 32 bits si se sabe que el programa nunca necesita más de 2 o 3 gigabytes de memoria direccionable. Otro factor importante es la compatibilidad con versiones anteriores: muchos sistemas de 32 bits todavía están disponibles, y los desarrolladores no necesariamente quieren restringir indebidamente sus aplicaciones a una plataforma de 64 bits cuando no hay nada que ganar al hacerlo.