Articulo de referencia

computación de 26 bits

En arquitectura informática , los enteros de 26 bits , las direcciones de memoria u otras unidades de datos son aquellas que tienen 26 bits de ancho y, por lo tanto, pueden repr...

En arquitectura informática , los enteros de 26 bits , las direcciones de memoria u otras unidades de datos son aquellas que tienen 26 bits de ancho y, por lo tanto, pueden representar valores sin signo de hasta 67.108.863. Dos ejemplos de procesadores informáticos que presentaban direccionamiento de memoria de 26 bits son ciertos modelos de ordenadores centrales IBM System/370 de segunda generación introducidos en 1981 (y varios modelos posteriores), que tenían direcciones físicas de 26 bits pero solo las mismas direcciones virtuales de 24 bits que los modelos anteriores, y las primeras generaciones de procesadores ARM .

Historia

Sistema IBM/370

A medida que las necesidades de procesamiento de datos seguían creciendo, IBM y sus clientes se enfrentaron a desafíos para gestionar directamente mayores capacidades de memoria. En lo que resultó ser una solución de emergencia a corto plazo, dos modelos de la segunda generación del System/370 de IBM, el 3033 y el 3081, introdujeron el direccionamiento de memoria real de 26 bits, lo que aumentó la cantidad de memoria física que se podía conectar al System/370 en un factor de 4 con respecto al límite anterior de 16 MB con 24 bits  . IBM se refería al direccionamiento de 26 bits como "direccionamiento real extendido", y algunos modelos posteriores también incluyeron soporte para 26 bits. Sin embargo, solo dos años después, IBM introdujo el direccionamiento de memoria de 31 bits , ampliando tanto las direcciones físicas como virtuales a 31 bits, con sus modelos System/370-XA, e incluso el popular 3081 era actualizable al estándar XA.

Dada la breve historia del direccionamiento de memoria de 26 bits como la tecnología más avanzada disponible en la gama de modelos de IBM, y dado que las direcciones virtuales aún estaban limitadas a 24 bits, la explotación del modo de 26 bits por parte del software era limitada. Los pocos clientes que lo utilizaban finalmente adaptaron sus aplicaciones para admitir el direccionamiento de 31 bits, e IBM dejó de ofrecer soporte para el modo de 26 bits tras varios años produciendo modelos compatibles con los modos de 24, 26 y 31 bits. El modo de 26 bits es el único modo de direccionamiento que IBM eliminó de su línea de ordenadores centrales derivados del System/360 . Todos los demás modos de direccionamiento, incluido el de 64 bits, son compatibles con los ordenadores centrales de modelos actuales.

Procesadores ARM antiguos

En la arquitectura del procesador ARM , 26 bits se refiere al diseño utilizado en los procesadores ARM originales, donde el contador de programa ( PC ) y el registro de estado del procesador ( PSR ) se combinaron en un registro de 32 bits (R15), ocupando los 6 bits superiores los indicadores de estado y los 26 bits inferiores el contador de programa.

De hecho, como el contador de programa siempre está alineado a palabra, los dos bits menos significativos siempre son cero, lo que permitió a los diseñadores reutilizar estos dos bits para almacenar también los bits de modo del procesador. Los cuatro modos permitidos eran USR26, SVC26, IRQ26 y FIQ26; compárese esto con los 32 modos posibles disponibles cuando el estado del programa estaba separado del contador de programa en arquitecturas ARM más recientes .

Este diseño permitió una ejecución de programas más eficiente , ya que el contador de programa y los indicadores de estado podían guardarse y restaurarse con una sola operación. Esto se tradujo en llamadas a subrutinas y respuestas a interrupciones más rápidas que en los diseños tradicionales, que requerían dos cargas o guardados de registros al llamar o regresar de una subrutina.

A pesar de contar con una ALU y una longitud de palabra de 32 bits , los procesadores basados ​​en la arquitectura ARM versiones 1 y 2 solo tenían un contador de programa (PC) y un bus de direcciones de 26 bits , y, en consecuencia, estaban limitados a 64  MiB de memoria direccionable . Si bien esta cantidad de memoria era considerable para la época, debido a esta limitación, las arquitecturas posteriores han incorporado diversas mejoras con respecto al diseño original de 26 bits.

La arquitectura ARM versión 3 introdujo un PC de 32 bits y un PSR independiente, así como un bus de direcciones de 32 bits, lo que permitía direccionar 4 GiB de memoria. El cambio en la disposición del PC/PSR provocó incompatibilidad con el código escrito para arquitecturas anteriores, por lo que el procesador también incluyó un modo de compatibilidad de 26 bits que utilizaba la antigua combinación de PC/PSR. En este modo, el procesador aún podía direccionar 4 GB, pero no podía ejecutar nada por encima de la dirección 0x3FFFFFC (64  MB). Este modo fue utilizado por RISC OS, que se ejecutaba en el Acorn Risc PC, para aprovechar los nuevos procesadores manteniendo la compatibilidad con el software existente.

La versión 4 de la arquitectura ARM hizo que la compatibilidad con los modos de direccionamiento de 26 bits fuera opcional, y la versión 5 de la arquitectura ARM en adelante los eliminó por completo.

  • Diferencias entre los procesadores ARM6 y los procesadores ARM anteriores
  • "Uso del entorno de desarrollo Acorn C/C++ para escribir software RISC OS de 32 bits" : detalles sobre los cambios arquitectónicos y la conversión de código entre 26 y 32 bits.
  • http://www.heyrick.co.uk/assembler/32bit.html - Información sobre cómo convertir código ensamblador a 32 bits.