Explicação do Big Endian e Little Endian arquitetura

Traduções de Artigos Traduções de Artigos
Artigo: 102025 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Ao projetar os computadores, há duas arquiteturas diferentes para armazenamento de memória de manipulação. Eles são chamados Big Endian e Little Endian e consulte a ordem na qual os bytes são armazenados na memória. Windows NT foi criado em torno de Little Endian arquitetura e não foi projetado para ser compatível com Big Endian, porque a maioria dos programas escrito com alguma dependência em Little Endian.

Mais Informação

Essas duas frases são derivadas do ""Big End In e "Little End In." Eles se referem à maneira na qual a memória é armazenada. Em um computador Intel, pouco final armazenado primeiro. Isso significa que é uma palavra hexadecimal como 0x1234 armazenado na memória como (0x34 0x12). É pouco final ou extremidade inferior, armazenado primeiro. O mesmo é verdadeiro para um valor de quatro bytes; Por exemplo, 0x12345678 seria armazenado como (0x78 0x56 0x34 0x12). "Grande de ponta em" oferece Isso da maneira inversa, portanto 0x1234 seria armazenado como (0x34 0x12) na memória. Este é o método usado por computadores Motorola e também pode ser usado em computadores com RISC. Computadores baseados em RISC MIPS e o Os computadores DEC Alpha são configuráveis para Little Endian ou Big Endian. Windows NT funciona somente no modo Little Endian nos dois computadores.

Windows NT foi criado em torno de Little Endian arquitetura. O Camada de abstração de hardware (HAL) é gravado para que todos os problemas relacionados ao sistema são manipulados automaticamente. Portanto, é possível criar um HAL que poderia trabalhar no Big Endian arquitetura. O problema básico com portar o código tem a ver com a maneira como o código é escrito para todos os programas. Código geralmente é escrito com o suposição de que está sendo usado Little Endian ou Big Endian. Isso pode não ser específico de HAL; poderia ser algo tão simple como bit mascaramento de gráficos. Para esclarecer este conceito mais, programação de dois Seguem exemplos.

Exemplo 1

   struct
   {
      WORD y;
      WORD x;
   } POS;

   lparam = (DWORD) POS;
				
Basicamente, há uma suposição do código Little Endian está sendo usado. A alternância dos bytes é sendo assumida o c estrutura. Isso é mais rápido na arquitetura Intel, mas não funciona com Big Endian.

Exemplo 2

Outro exemplo é uma prática comum de usar máscaras de bits. A seguir é um exemplo de definição de uma máscara de bits:
   #define BITMASK    0x0008
				
Isso permite que você verifique se o quarto bit é um 1 se você e com outro número. Ele também permite que você defina o quarto bit por ing ou- com outro valor. O problema surge quando você ou ou e esta com Tamanho do valor DWORD (Double Word) ou algo diferente de uma palavra. Isso faz coisas estranhas acontecer e resultados inesperados. Você pode fazer suposições sobre como ele funciona com Little Endian, ainda não funciona da mesma forma com Big Endian. Já é uma grande quantidade de código criado com essas suposições integradas.

Observe que os chips PowerPC e Sparc também alternância entre pouco Endian e Big Endian. No entanto, a implementação PowerMac Apple a Chip PowerPC está preso no modo Endian grande. Portanto, Windows NT pode porta o PowerPC, mas provavelmente não a implementação PowerMac o PowerPC.

Propriedades

Artigo: 102025 - Última revisão: 20 de setembro de 2012 - Revisão: 5.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows NT Workstation 3.1
Palavras-chave: 
kbhardware kbmt KB102025 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 102025

Submeter comentários

 

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