Anchos de bits de la arquitectura informática |
---|
Poco |
Solicitud |
Precisión de punto flotante binario |
Decimal floating-point precision |
En arquitectura informática , la computación de 32 bits se refiere a sistemas informáticos con un procesador , memoria y otros componentes principales del sistema que operan con datos en unidades de 32 bits . [1] [2] En comparación con anchos de bits más pequeños, las computadoras de 32 bits pueden realizar cálculos grandes de manera más eficiente y procesar más datos por ciclo de reloj. Las computadoras personales típicas de 32 bits también tienen un bus de direcciones de 32 bits , lo que permite acceder a hasta 4 GB de RAM , mucho más de lo que permitían las generaciones anteriores de arquitectura de sistemas. [3]
Los diseños de 32 bits se han utilizado desde los primeros días de la informática electrónica, en sistemas experimentales y luego en grandes sistemas mainframe y minicomputadoras . El primer microprocesador híbrido de 16/32 bits , el Motorola 68000 , se introdujo a fines de la década de 1970 y se utilizó en sistemas como el Apple Macintosh original . Los microprocesadores de 32 bits, como el HP FOCUS , el Motorola 68020 y el Intel 80386, se lanzaron a principios y mediados de la década de 1980 y se volvieron dominantes a principios de la década de 1990. Esta generación de computadoras personales coincidió con la primera adopción masiva de la World Wide Web y la permitió . Si bien las arquitecturas de 32 bits aún se utilizan ampliamente en aplicaciones específicas, el mercado de PC y servidores ha pasado a 64 bits con x86-64 y otras arquitecturas de 64 bits desde mediados de la década de 2000, con una memoria instalada que a menudo supera los límites de direcciones de RAM de 4 GB de 32 bits en las computadoras de nivel básico. La última generación de teléfonos inteligentes también ha pasado a 64 bits.
Un registro de 32 bits puede almacenar 2 32 valores diferentes. El rango de valores enteros que se pueden almacenar en 32 bits depende de la representación entera utilizada. Con las dos representaciones más comunes, el rango es de 0 a 4.294.967.295 (2 32 − 1) para la representación como un número binario ( sin signo ) , y de −2.147.483.648 (−2 31 ) a 2.147.483.647 (2 31 − 1) para la representación como complemento a dos .
Una consecuencia importante es que un procesador con direcciones de memoria de 32 bits puede acceder directamente a un máximo de 4 GiB de memoria direccionable por bytes (aunque en la práctica el límite puede ser menor).
El primer ordenador electrónico con programa almacenado del mundo , el Manchester Baby , utilizó una arquitectura de 32 bits en 1948, aunque sólo era una prueba de concepto y tenía poca capacidad práctica. Tenía sólo 32 palabras de 32 bits de RAM en un tubo Williams y no tenía operación de suma, sólo de resta.
La memoria, así como otros circuitos y cableados digitales, eran costosos durante las primeras décadas de las arquitecturas de 32 bits (desde los años 1960 hasta los años 1980). [4] Por lo tanto, las familias de procesadores de 32 bits más antiguas (o sus variantes más simples y económicas) podían tener muchos compromisos y limitaciones para reducir los costos. Esto podía ser una ALU de 16 bits , por ejemplo, o buses externos (o internos) más estrechos que 32 bits, lo que limitaba el tamaño de la memoria o exigía más ciclos para la obtención, ejecución o reescritura de instrucciones.
A pesar de esto, dichos procesadores podían etiquetarse como de 32 bits , ya que aún tenían registros de 32 bits e instrucciones capaces de manipular cantidades de 32 bits. Por ejemplo, el IBM System/360 Model 30 tenía una ALU de 8 bits, rutas de datos internas de 8 bits y una ruta de 8 bits a la memoria, [5] y el Motorola 68000 original tenía una ALU de datos de 16 bits y un bus de datos externo de 16 bits, pero tenía registros de 32 bits y un conjunto de instrucciones orientadas a 32 bits. El diseño del 68000 a veces se denominaba 16/32 bits . [6]
Sin embargo, en los diseños más nuevos de 32 bits suele suceder lo contrario. Por ejemplo, el procesador Pentium Pro es una máquina de 32 bits, con registros e instrucciones de 32 bits que manipulan cantidades de 32 bits, pero el bus de direcciones externo tiene 36 bits de ancho, lo que proporciona un espacio de direcciones mayor que 4 GB, y el bus de datos externo tiene 64 bits de ancho, principalmente para permitir una precarga más eficiente de instrucciones y datos. [7]
Las arquitecturas de conjuntos de instrucciones de 32 bits más importantes utilizadas en la informática de propósito general incluyen IBM System/360 , IBM System/370 (que tenía direccionamiento de 24 bits ), System/370-XA , ESA/370 y ESA/390 (que tenían direccionamiento de 31 bits ), DEC VAX , NS320xx , la familia Motorola 68000 (los dos primeros modelos de los cuales tenían direccionamiento de 24 bits), la versión Intel IA-32 de 32 bits de la arquitectura x86 y las versiones de 32 bits de las arquitecturas ARM , [8] SPARC , MIPS , PowerPC y PA-RISC . Las arquitecturas de conjuntos de instrucciones de 32 bits utilizadas para la informática integrada incluyen la familia 68000 y las arquitecturas ColdFire , x86, ARM, MIPS, PowerPC e Infineon TriCore .
En la arquitectura x86 , una aplicación de 32 bits normalmente significa software que típicamente (no necesariamente) usa el espacio de direcciones lineal de 32 bits (o modelo de memoria plana ) posible con los chips 80386 y posteriores. En este contexto, el término surgió porque DOS , Microsoft Windows y OS/2 [9] fueron escritos originalmente para los microprocesadores 8088/8086 o 80286 , de 16 bits con un espacio de direcciones segmentado donde los programas tenían que cambiar entre segmentos para alcanzar más de 64 kilobytes de código o datos. Como esto consume bastante tiempo en comparación con otras operaciones de la máquina, el rendimiento puede verse afectado. Además, la programación con segmentos tiende a volverse complicada; se tenían que usar palabras clave especiales de lejos y cerca o modelos de memoria (con cuidado), no solo en lenguaje ensamblador sino también en lenguajes de alto nivel como Pascal , BASIC compilado , Fortran , C , etc.
El 80386 y sus sucesores admiten totalmente los segmentos de 16 bits del 80286, pero también segmentos para desplazamientos de dirección de 32 bits (utilizando el nuevo ancho de 32 bits de los registros principales). Si la dirección base de todos los segmentos de 32 bits se establece en 0 y los registros de segmento no se utilizan explícitamente, la segmentación se puede olvidar y el procesador aparece como si tuviera un espacio de dirección lineal simple de 32 bits. Los sistemas operativos como Windows u OS/2 brindan la posibilidad de ejecutar programas de 16 bits (segmentados) así como programas de 32 bits. La primera posibilidad existe para compatibilidad con versiones anteriores y la segunda generalmente está destinada a usarse para el desarrollo de nuevo software . [10]
En imágenes/fotografías digitales, 32 bits suele hacer referencia al espacio de color RGBA , es decir, imágenes de color verdadero de 24 bits con un canal alfa adicional de 8 bits . Otros formatos de imagen también especifican 32 bits por píxel, como RGBE .
En imágenes digitales, 32 bits a veces se refiere a formatos de imágenes de alto rango dinámico (HDR) que utilizan 32 bits por canal, un total de 96 bits por píxel. Las imágenes de 32 bits por canal se utilizan para representar valores más brillantes que los que permite el espacio de color sRGB (más brillantes que el blanco); estos valores se pueden usar para retener con mayor precisión los reflejos brillantes cuando se reduce la exposición de la imagen o cuando se ve a través de un filtro oscuro o un reflejo opaco.
Por ejemplo, el reflejo de una mancha de petróleo es solo una fracción del que se ve en la superficie de un espejo. Las imágenes HDR permiten el reflejo de los puntos destacados que aún pueden verse como áreas blancas brillantes, en lugar de formas grises opacas .
Un formato de archivo de 32 bits es un formato de archivo binario en el que cada información elemental se define en 32 bits (o 4 bytes ). Un ejemplo de este tipo de formato es el formato de metarchivo mejorado .