Anda di halaman 1dari 1

Arhitectura Little Endian si Big Endian

La proiectarea unui sistem de calcul, se folosesc doua arhitecturi diferite pentru manipularea stocarii de memorie. Ele se numesc Little Endian si Big Endian si se refera la ordinea in care bitii sunt stocati in memorie. Windows NT(New Tehnology) a fost proiectat in jurul arhitecturii Little Endian si nu a fost proiectat sa fie compatibil si cu Big Endian deoarece majoritatea programelor sunt scrise cu anumite dependente pe Little Endian. Aceste doua componente deriva de la notiunile Big End In si Little End In. Se refera la modul in care memoria este stocata. Pe un sistem de calcul Intel, formatul little end este stocat primul. Asta inseamna ca o valoare hecazecimala de exemplu 0x1234 este stocat in memorie ca (0x34 0x12). Ultima intrare: the little end este stocata prima. La fel se intampla si pentru o valoare pe patru biti; de exemplu 0x12345678 poate fi stocata ca (0x78 0x56 0x34 0x12). Big End In ar trebui sa faca exact contrariul lui Little End, astfel 0x1234 ar putea fi stocat ca (0x12 0x34). Aceasta metoda este folosita de sistemele de calcul de tip Motorola si totodata pot fi folosite si pe sistemele de calcul RISC (seturi de instructiuni computationale reduse). Sistemele de calcul RISC MPIS si sistemele de calcul DEC Alpha sunt configurabile pentru Big Endian or Little Endian. Windows NT lucreaza cu formatul Little Endian pe ambele tipuri de sisteme de calcul. Windows NT a fost implementat in jurul formatului Little Endian. Stratul de Abstractie Hardware(HAL) este proiectat ca toate problemele sistemelor de calcul sa poata fi manipulate usor. Deasemenea, este posibila crearea unui Strat de Abstractie Software ce ar putea conlucra usor cu formatul Big Endian. Problema principala cu portarea codului a fost crearea acelui cod in ideia de functionalitate cu toate programele.Codurile sunt scrise adesea cu asumarea ca formatul Little Endian sau Big Endian sunt deja folosite. Acest lucru nu poate fi specific Stratului de Abstractie Hardware. Pentru a clarifica acest lucru doua probleme de programare se dau: struct { WORD y; WORD x; } POS; lparam = (DWORD) POS; Fundamental ,este asigurat in cod ca Little Endian se foloseste. Comutarea intre biti este asumata de catre structura C. Aceasta este o modalitate rapid pe sistemele de calcul Intel, dar nu va lucre cu formate Big Endian.