Spiegazione del big endian e little endian architettura

Traduzione articoli Traduzione articoli
Identificativo articolo: 102025 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Progettazione di computer, esistono due architetture diverse per la gestione di archiviazione della memoria. Vengono chiamati big endian e little endian e si fare riferimento all'ordine in cui i byte vengono archiviati in memoria. Windows Ŕ stato progettato little endian architettura e non Ŕ stato progettato per essere compatibile con big endian poichÚ la maggior parte dei programmi sono scritti con alcuni dipendenza su little endian.

Informazioni

Queste due frasi derivati da "Big End In" e "Little End In." Cui fanno riferimento al modo in cui Ŕ memorizzato memoria. In un computer Intel, alla fine di poco viene prima memorizzata. Ci˛ significa che una parola esadecimale come 0 viene memorizzata come (0 x 12 0x34). Fine poco o limite inferiore, viene prima memorizzato. Lo stesso vale per un valore a quattro byte; ad esempio, 0x12345678 dovrebbe essere memorizzato come (0x78 0x56 0 x 12 0x34). "Big End In" viene nel modo inverso, in modo che 0 viene memorizzata come (0 x 12 0x34) in memoria. Questo Ŕ il metodo utilizzato dai computer Motorola e consente anche nei computer basati su RISC. I computer basati su RISC MIPS e i computer DEC Alpha sono configurabili per little endian o big endian. Windows funziona solo nella modalitÓ little endian su entrambi i computer.

Windows Ŕ stato progettato little endian architettura. HAL (Hardware Abstraction Layer) viene scritto in modo che tutti i problemi relativi a sistema operativo vengono gestiti automaticamente. Pertanto, Ŕ possibile creare un HAL potrebbe funzionare su big endian architettura. Il problema con il codice di porting di base Ŕ il modo che il codice Ŕ scritto per tutti i programmi. Il codice viene spesso scritto partendo dal presupposto che venga utilizzato big endian o little endian. Questo potrebbe non essere specifico per l'HAL; potrebbe essere un'operazione semplice come della maschera di bit per gli elementi grafici. Per chiarire questo concetto pi¨, attenersi alla due esempi di programmazione.

Esempio 1

   struct
   {
      WORD y;
      WORD x;
   } POS;

   lparam = (DWORD) POS;
				
In sostanza, Ŕ presente un presupposto nel codice che little endian viene utilizzato. Il passaggio di byte viene viene utilizzato nella struttura "C". Si tratta di pi¨ veloce sull'architettura Intel, ma non funzionerÓ con big endian.

Esempio 2

Un altro esempio Ŕ una pratica comune di utilizzo di maschere di bit. Seguito Ŕ riportato un esempio di definizione di una maschera di bit:
   #define BITMASK    0x0008
				
questo consente di verificare se il bit 4 Ŕ un 1 se si AND con un altro numero. Consente inoltre di impostare il 4 bit da effettuando un'operazione OR, con un altro valore. Il problema Ŕ disponibile quando si OR o AND questo DWORD (Double Word) o diverso da WORD in un valore di dimensione. In questo modo strano esempio avvenga e risultati imprevisti. ╚ possibile rendere ipotesi di funzionamento con little endian, ma che non funzionano allo stesso modo con big endian. Una grande quantitÓ di codice giÓ viene creata con questi presupposti incorporati.

Si noti che i chip PowerPC e SPARC sono inoltre switchable tra little endian e big endian. Tuttavia, l'implementazione del PowerMac Apple del chip PowerPC Ŕ bloccato in big endian modalitÓ. Di conseguenza, Windows NT potrebbe porta per il PowerPC, ma probabilmente non per l'implementazione del PowerMac del PowerPC.

ProprietÓ

Identificativo articolo: 102025 - Ultima modifica: mercoledý 1 novembre 2006 - Revisione: 2.1
Le informazioni in questo articolo si applicano a:
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Advanced Server 3.1
Chiavi:á
kbmt kbhardware KB102025 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 102025
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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