stringtranslate.com

IA-32

IA-32 (abreviatura de " Arquitectura Intel, 32 bits ", comúnmente llamada 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 modelo 80386. microprocesador en 1985. IA-32 es la primera encarnación de x86 que admite informática de 32 bits; [4] como resultado, el término "IA-32" puede usarse como metonimia para referirse a todas las versiones x86 que admiten computación de 32 bits. [5] [6]

Dentro de varias directivas de lenguajes de programación , IA-32 todavía se denomina a veces arquitectura "i386". En algunos otros contextos, ciertas iteraciones del ISA IA-32 a veces se denominan i486 , i586 e i686 , en referencia a los superconjuntos de instrucciones ofrecidos por las microarquitecturas 80486 , P5 y P6 respectivamente. Estas actualizaciones ofrecieron numerosas adiciones junto con el conjunto básico IA-32, incluidas capacidades de punto flotante y extensiones MMX .

Intel fue históricamente el mayor fabricante de procesadores IA-32, siendo el segundo mayor proveedor AMD . 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 todavía produjo 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) pasaron casi exclusivamente a implementar CPU basadas en la variante de 64 bits de x86, x86-64 . x86-64, por especificación, ofrece modos operativos heredados que funcionan en el IA-32 ISA para compatibilidad con versiones anteriores. Incluso dada la prevalencia contemporánea de x86-64, a partir de 2023 , las versiones en modo protegido IA-32 de muchos sistemas operativos modernos todavía se mantienen, por ejemplo, Microsoft Windows (hasta Windows 10 ; Windows 11 requiere un procesador compatible con x86-64 para las versiones x86) , [7] Windows Server (hasta Windows Server 2008 ; Windows Server 2008 R2 requiere un procesador compatible con x86-64 para las versiones x86) [8] y la distribución Debian Linux . [9] A pesar del nombre IA-32 (y que causa cierta confusión potencial), la evolución de 64 bits de x86 que se originó en AMD no se conocería como "IA-64", sino que ese nombre pertenecería a la arquitectura Itanium de Intel .

Características arquitectonicas

La principal característica definitoria de 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 enteras de 32 bits , compensaciones 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 otras mejoras también. 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  bits a 32 bits, y todas las operaciones aritméticas y lógicas, operaciones de memoria a registro y de registro a memoria, etc., pueden operar directamente en números enteros de 32 bits. Las pulsaciones y pops en la pila tienen por defecto pasos de 4 bytes, y los punteros no segmentados tienen 4 bytes de ancho.
Modos de direccionamiento más generales
Cualquier GPR se puede utilizar como registro base, y cualquier GPR que no sea ESP se puede utilizar como registro de índice, en una referencia de memoria. El valor del registro índice se puede multiplicar por 1, 2, 4 u 8 antes de agregarlo 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.
paginación de demanda
Las direcciones lineales de 32 bits son direcciones virtuales en lugar de direcciones físicas; se traducen a direcciones físicas a través de una tabla de páginas . En los procesadores 80386, 80486 y Pentium originales , la dirección física era de 32 bits; en Pentium Pro y procesadores posteriores, la extensión de dirección física 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

Ver también

Referencias

  1. ^ "ídem (1) Página del manual de Mac OS X". Manual de Comandos Generales de BSD . Manzana . 19 de diciembre de 2008. Archivado desde el original el 2 de junio de 2012 . Consultado el 3 de agosto de 2013 . Los binarios universales finos para la arquitectura especificada [...] deben especificarse como "i386", "x86_64", etc.
  2. ^ "Macros predefinidas adicionales". software.intel.com . Intel . Archivado desde el 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 Debian . Archivado desde el original el 16 de septiembre de 2013 . Consultado el 31 de agosto de 2013 .
  4. ^ "Manual del desarrollador de software de arquitecturas Intel 64 e IA-32". Corporación Intel . Septiembre de 2014. pág. 31. Archivado desde el original el 26 de enero de 2012 . Consultado el 19 de diciembre de 2014 . El procesador Intel386 fue el primer procesador de 32 bits de la familia de arquitectura IA-32. Introdujo registros de 32 bits para su uso tanto para contener operandos como para direccionar.
  5. ^ Verde, Ronald W. (5 de mayo de 2009). "¿Qué significan las arquitecturas IA-32, Intel 64 e IA-64?". software.intel.com . Intel . Archivado desde el original el 19 de diciembre de 2014 . Consultado el 19 de diciembre de 2014 .
  6. ^ "Hardware compatible". Ayuda de Ubuntu . Canónico . Archivado desde el original el 19 de diciembre de 2014 . Consultado el 31 de agosto de 2013 .
  7. ^ "Especificaciones y requisitos del sistema de Windows 10 | Microsoft". www.microsoft.com . Archivado desde el 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'". BetaNoticias .
  9. ^ "Debian GNU/Linux en máquinas x86". Archivado desde el original el 28 de abril de 2019 . Consultado el 20 de agosto de 2020 .