Little Endian vs Big Endian LITTLE ENDIAN vs
Little Endian vs. Big Endian
LITTLE ENDIAN vs. BIG ENDIAN Fie următoarele declaraţii în C: • unsigned char r 1[ ]={1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 101, 102, 103, 255} • unsigned short r 2[ ]={1, 2, 3, 4, 5, 100, 65533, 65534, 65535} • unsigned int r 3[ ]={1, 2, 3, 100, 255, 4096, 12500000}
MOTOROLA 68030 r 1[0] r 2[0] r 3[0] Adresa 0 AB 012 0102 0304 0506 0708 090 A 6465 6667 FF 00 0 AB 022 0001 0002 0003 0004 0005 0064 FFFD FFFE 0 AB 032 FFFF 0000 0001 0000 0002 0000 0003 0 AB 042 0000 0064 0000 00 FF 0000 1000 00 BE BC 20 0 AB 052 0000 00 FF 0000 0000 0 AB 062 0064 0000 00 FF 0000 0000 r 3[6]
INTEL Pentium r 1[0] r 2[0] r 3[0] Adresa 0012012 0102 0304 0506 0708 090 A 6465 6667 FF 00 0012022 0100 0200 0300 0400 0500 6400 FDFF FEFF 0012032 FFFF 0000 0100 0000 0200 0000 0300 0012042 6400 0000 FF 00 0010 0000 20 BC BE 00 0012052 0000 00 FF 0000 0000 0012062 0064 0000 00 FF 0000 0000 r 3[6]
Exemplu de reprezentare pe 64 de biti B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 a) Reprezentarea în memorie la Motorola B 8 B 7 B 6 B 5 B 4 B 3 B 2 b) Reprezentarea în memorie la Intel B 1
Memoria - capacitatea de stocare Adresă de memorie Lăţimea adreselor de memorie (16, 20, 24, 32 de biţi) • Adresa de memorie pe 16 biţi => 2 16 locaţii de memorie (64 KB de memorie) • Adresa de memorie pe 20 biţi => 2 20 locaţii de memorie (1 MB de memorie) • Adresa de memorie pe 24 biţi => 2 24 locaţii de memorie (16 MB de memorie) • Adresa de memorie pe 32 biţi => 2 32 locaţii de memorie (4 GB de memorie) Lăţimea memoriei
- Slides: 6