Explicación de las arquitecturas Big Endian y Little Endian

Seleccione idioma Seleccione idioma
Id. de artículo: 102025 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Al diseñar los equipos, existen dos arquitecturas diferentes de almacenamiento de memoria forhandling. Se llaman Big Endian y Little Endianand consulte el orden en el que se almacenan los bytes en la memoria.Windows NT fue diseñado en torno a la arquitectura Little-Endian y fue camade para que sea compatible con Big Endian porque la mayoría de programas arewritten con una dependencia en Little Endian.

Más información

Estas dos frases se derivan "Biela en" y "Poco terminan en".Hacen referencia a la forma en que se almacena la memoria. En un equipo Intel, poco final se almacena en primer lugar. Esto significa que la palabra Hex 0 x 1234 almacena en la memoria como (x 0). El pequeño termina o inferior extremo, almacena primero. Lo mismo es cierto para un valor de cuatro bytes; Por ejemplo, 0 x 12345678 se almacenaría como (12 0 x 0). "Biela en" ambigüedades de forma inversa, por lo que se almacenaría 1234 como (0 x 12 x) en la memoria. Este es el método utilizado por los equipos de Motorola y puede alsobe utilizado en equipos basados en RISC. Los equipos basados en RISC MIPS y theDEC los equipos Alpha son configurables para Big-Endian o Little NT de Endian.Windows sólo funciona en el modo Little-Endian en ambos equipos.

Windows NT fue diseñado por la arquitectura Little-Endian. Capa de abstracción de hardware (HAL) se escribe para que todos los problemas relacionados con el sistema operativo se controlan automáticamente. Por lo tanto, se ispossible para crear una HAL que pudiera trabajar con la arquitectura Big-Endian.El problema básico de trasladar el código tiene que ver con la forma en que thecode se ha diseñado para todos los programas. A menudo el código se escribe asumiendo que se utiliza Big-Endian o Little-Endian. Este puede ser específica para la HAL; podría ser algo tan simple como máscara para gráficos. Para aclarar este concepto más, siga dos programmingexamples.

Ejemplo 1

   struct
   {
      WORD y;
      WORD x;
   } POS;

   lparam = (DWORD) POS;
				
Básicamente, hay hipótesis en el código que Little Endian es que se está usando. La conmutación de los bytes que se supone en el ' C'structure. Esto es más rápido en la arquitectura Intel, pero a no trabajar con Big-Endian.

Ejemplo 2

Otro ejemplo es una práctica común del uso de máscaras de bits. Los followingis un ejemplo de la definición de un poco de máscara:
   #define BITMASK    0x0008
				
Esto le permite comprobar si el bit 4 es un 1 si y el número de withanother. También permite establecer el bit 4 por itwith o ing otro valor. El problema surge cuando se o o y el valor de tamaño de este withDWORD (palabra doble) o que no sea una palabra. Thiscauses cosas extrañas a suceder y resultados inesperados. Podría suesposa acerca de cómo funciona con Little Endian, sin embargo, no trabajo igual con Big-Endian. Una gran cantidad de código es alreadycreated con estas premisas incorporada.

Tenga en cuenta que los chips PowerPC y Sparc también son conmutables entre LittleEndian y Big-Endian. Sin embargo, la implementación de Apple PowerMac del chip thePowerPC está atascada en el modo Big-Endian. Por lo tanto, Windows NT puede puerto tothePowerPC, pero no a la aplicación de PowerMac de la PowerPC.

Propiedades

Id. de artículo: 102025 - Última revisión: jueves, 31 de octubre de 2013 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Windows NT Workstation 3.1
Palabras clave: 
kbhardware kbmt KB102025 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 102025

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com