Articulo de referencia

IA-32

IA-32 (abreviatura de " Intel Architecture, 32-bit ", comúnmente llamado i386 [ 1 ] [ 2 ] ) [ 3 ] es la versión de 32 bits de la arquitectura del conjunto de instrucciones x86 ,...

IA-32 (abreviatura de " Intel Architecture, 32-bit ", comúnmente llamado i386 [ 1 ] [ 2 ] ) [ 3 ] es la versión de 32 bits de la arquitectura del conjunto de instrucciones x86 , diseñada por Intel e implementada por primera vez en el microprocesador 80386 en 1985. IA-32 es la primera encarnación de x86 que admite computación de 32 bits; [ 4 ] como resultado, el término "IA-32" puede usarse como una metonimia para referirse a todas las versiones de x86 que admiten computación de 32 bits. [ 5 ] [ 6 ]

En diversas directivas de lenguajes de programación , a la IA-32 todavía se la denomina a veces arquitectura "i386". En otros contextos, ciertas iteraciones del conjunto de instrucciones IA-32 se denominan i486 , i586 e i686 , en referencia a los conjuntos de instrucciones adicionales que ofrecen las microarquitecturas 80486 , P5 y P6 , respectivamente. Estas actualizaciones ofrecieron numerosas mejoras con respecto al conjunto base de IA-32, incluyendo capacidades de punto flotante y las extensiones MMX .

Históricamente, Intel fue el mayor fabricante de procesadores IA-32, siendo AMD el segundo mayor proveedor . Durante la década de 1990, VIA , Transmeta y otros fabricantes de chips también produjeron procesadores compatibles con IA-32 (por ejemplo, WinChip ). En la era moderna, Intel siguió produciendo procesadores IA-32 bajo la plataforma de microcontroladores Intel Quark hasta 2019; sin embargo, desde la década de 2000, la mayoría de los fabricantes (incluido Intel) se decantaron casi exclusivamente por implementar CPU basadas en la variante de 64 bits de x86, x86-64 . x86-64, por especificación, ofrece modos de funcionamiento heredados que operan en el ISA IA-32 para la retrocompatibilidad. Incluso dada la prevalencia actual de x86-64, a día de hoy, todavía se mantienen versiones con modo protegido IA-32 de muchos sistemas operativos modernos, por ejemplo, Microsoft Windows (hasta Windows 10 ), [ 7 ] Windows Server (hasta Windows Server 2008 ) [ 8 ] y la distribución Debian Linux . [ 9 ] A pesar del nombre de IA-32 (y de causar cierta confusión potencial), la evolución de 64 bits de x86 que se originó en AMD no se conocería como "IA-64", ese nombre pertenece en cambio a la arquitectura Itanium descontinuada de Intel .

Características arquitectónicas

La característica principal que define a IA-32 es la disponibilidad de registros de procesador de propósito general de 32 bits (por ejemplo, EAX y EBX), operaciones lógicas y aritméticas de enteros de 32 bits , desplazamientos de 32 bits dentro de un segmento en modo protegido y la traducción de direcciones segmentadas a direcciones lineales de 32 bits. Los diseñadores aprovecharon la oportunidad para realizar también otras mejoras. Algunos de los cambios más significativos (en relación con el conjunto de instrucciones 286 de 16 bits ) son:

Capacidad de enteros de 32 bits
Todos los registros de propósito general (GPR) se expanden de 16 a 32 bits , y todas las operaciones aritméticas y lógicas, las operaciones de memoria a registro y de registro a memoria, etc., pueden operar directamente con enteros de 32 bits. Las operaciones de inserción y extracción en la pila tienen pasos predeterminados de 4 bytes, y los punteros no segmentados tienen un ancho de 4 bytes.  
Modos de direccionamiento más generales
Cualquier registro GPR puede utilizarse como registro base, y cualquier registro GPR distinto de ESP puede utilizarse como registro índice en una referencia de memoria. El valor del registro índice puede multiplicarse por 1, 2, 4 u 8 antes de sumarse al valor del registro base y al desplazamiento.
Registros de segmentos adicionales
Se proporcionan dos registros de segmento adicionales, FS y GS.
Espacio de direcciones virtuales más grande
La arquitectura IA-32 define un formato de dirección segmentada de 48 bits, con un número de segmento de 16 bits y un desplazamiento de 32 bits dentro del segmento. Las direcciones segmentadas se asignan a direcciones lineales de 32 bits.
Localización de demanda
Las direcciones lineales de 32 bits son direcciones virtuales, no físicas; se traducen a direcciones físicas mediante una tabla de páginas . En los procesadores 80386, 80486 y los Pentium originales , la dirección física era de 32 bits; en el Pentium Pro y procesadores posteriores, la extensión de dirección física ( PDL ) permitía direcciones físicas de 36 bits, aunque el tamaño de la dirección lineal seguía siendo de 32 bits.

Modos de funcionamiento

Véase también

Referencias

  1. "ídem(1) Página del manual de Mac OS X" . Manual de comandos generales de BSD . Apple . 19 de diciembre de 2008. Archivado del original el 2 de junio de 2012. Recuperado el 3 de agosto de 2013. Los binarios Thin Universal para la arquitectura especificada [...] deben especificarse como "i386", "x86_64", etc.
  2. "Macros predefinidas adicionales" . software.intel.com . Intel . Archivado del original el 15 de febrero de 2021. Consultado el 25 de noviembre de 2020 .
  3. Kemp, Steve. "Ejecución de aplicaciones de 32 bits en Debian GNU/Linux de 64 bits" . Administración de Debian . Archivado del original el 16 de septiembre de 2013. Consultado el 31 de agosto de 2013 .
  4. "Manual del desarrollador de software para arquitecturas Intel 64 e IA-32" . Intel Corporation . Septiembre de 2014. pág. 31. Archivado del original el 26 de enero de 2012. Recuperado el 19 de diciembre de 2014. El procesador Intel386 fue el primer procesador de 32 bits de la familia de arquitecturas IA-32 . Introdujo registros de 32 bits para almacenar operandos y para direccionamiento. 
  5. Green, Ronald W. (5 de mayo de 2009). "¿Qué significan IA-32, Intel 64 y la arquitectura IA-64?" . software.intel.com . Intel . Archivado del original el 19 de diciembre de 2014. Recuperado el 19 de diciembre de 2014 .
  6. "Hardware compatible" . Ayuda de Ubuntu . Canonical . Consultado el 31 de agosto de 2013 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  7. "Requisitos y especificaciones del sistema de Windows 10 | Microsoft" . www.microsoft.com . Archivado del original el 1 de mayo de 2018. Consultado el 20 de agosto de 2018 .
  8. Scott M. Fulton, III (16 de mayo de 2007). "Windows Server 2008: 'El último sistema operativo de 32 bits'"" . BetaNews . Archivado del original el 1 de abril de 2023 . Consultado el 1 de abril de 2023 .
  9. "Debian GNU/Linux en máquinas x86" . Archivado del original el 28 de abril de 2019. Consultado el 20 de agosto de 2020 .