Endianness merupakan suatu
cara atau prinsip tentang bagaimana byte-byte dalam sebuah word data dan bit-bit dalam suatu byte dapat
direferensikan dan direpresentasikan pada byte ke-endian dengan harus melakukan
pengurutan nilai-nilai skalar multibyte. Terdapat dua cara pemetaan alamat byte
pada word yaitu konsep Big Endian dan Little Endian. Endianness adalah atribut dari sistem komputer yang menandai apakah
bilangan bulat diwakili dari kiri ke kanan atau dari kanan ke kiri. Pada
komputer sekarang ini digunakan prosesor Gigahertz, dimana Endianness harus dipilih pada setiap
kali arsitekstur perangkat
keras atau perangkat lunak dirancang, dan itu bukan merupakan jalan
dari hukum alam untuk menentukannya. Semua itu bergantung dengan sistem
komputer yang digunakan dengan
memikirkan kelas byte yang mandalam angka multibyte yang tersedia.
Endianness
sendiri terdiri dari dua kelas/versi yaitu Big Endian dan Little Endian. Big Endian adalah byte yang paling signifikan dari banyaknya tempat
data multibyte yang disimpan di
alamat memori yang tertinggi dengan alamat tersebut tentu saja mempunyai bidang atau tempat yang lebih
besar. Sedang, Little Endian adalah
byte yang paling signifikan
dari banyaknya tempat data multibyte
yang disimpan di alamat memori yang terendah,dengan alamat tersebut tentu saja
mempunyai bidang atau tempat yang lebih kecil.
Konsep Big
Endian dan Little Endian
digunakan dalam penyimpanan data, khususnya data yang terdiri dari byte jamak (multiple byte). Dalam hal ini diperlukan
pengurutan nilai-nilai skalar multibyte dan penentuan mengenai byte mana yang akan di
muat terlebih dahulu. Oleh karena itu
digunakan konsep Big Endian dan Little Endian. Big Endian dan Little Endian
juga bertujuan untuk memudahkan transmisi data antara komputer yang satu dengan
yang lainnya. Metode penyimpanan yang digunakan berbentuk binner yang pada
umumnya dipakai oleh komputer. Konsep ini juga bertujuan untuk membentuk multiple byte menjadi satu kesatuan data yang
tunggal.
Big Endian digunakan jika alamat byte rendah digunakan untuk MSB (More/Most Significant Byte) byte paling
besar dari word atau berarti penyimpanan byte-byte yang paling kiri berarti di dalam alamat-alamat byte
numerik terendah. Sedangkan, Little
Endian digunakan untuk penyimpanan sebaliknya yaitu alamat byte rendah
digunakan untuk LSB (Less Significant
Byte) byte kuarang dari word atau berarti penyimpanan byte-byte yang kurang
berarti didalam alamat-alamat byte yang terendah.
Untuk
lebih memahami tentang konsep penggunaan metode Little Endian dan Big Endian,
berikut ini akan dijabarkan sebuah analogi terkait tentang kedua metode
tersebut. Anggap kita mempunyai sebuah informasi 32-bit 12345678 (hexa) yang
akan disimpan dalam lokasi memori 1000 ke atas. Karena terdapat 4 byte, maka
informasi tersebut akan menempati lokasi memori 1000 sampai 1003. Pada metode Big Endian, MSB disimpan pada alamat
bawah dan LSB disimpan pada alamat atas. Pada metode Little Endian, LSB disimpan pada alamat bawah dan MSB disimpan pada
alamat atas. Susunan alamat-alamat memori dan byte diperlihatkan pada gambar
berikut.
Alamat 1000
1001 1002
1003
Big
Endian
|
12
|
34
|
56
|
78
|
Little
Endian
|
78
|
56
|
34
|
12
|
Gambar
1 Penyimpanan 12345678 hexa dengan Little Endian dan Big Endian
Jika kita mempunyai data 64-bit (8
byte), maka 4 byte sisanya dilanjutkan lagi dari alamat 1004 ke atas dengan
menggunakan cara yang sama. Beberapa komputer hanya dapat menangani kedua
metode tersebut.
Metode Big Endian lebih natural pada sebagian besar orang karena lebih
mudah untuk membaca posisi hexa. Dengan mempunyai high-order byte yang ada
di awal, anda dapat selalu menguji apakah sebuah bilangan positif atau negative
dengan byte pada offset nol (bandingkan pada Little Endian dimana anda harus mengetahui berapa panjang bilangan
yang ada dan anada harus melakukan skip terhadap sejumlah byte untuk
mendapatkan posisi informasi bit tanda tersebut). Mesin Big Endian menyimpan integer dan string dengan urutan yang sama dan
tentunya lebih capat dalam operasi-operasi string. Pada umumnya bitmapped graphic dipetakan dengan skema
“MSB sebelah kiri” yangh artiny bekerja dengan elemen-elemen grafis yang lebih
besar dari satu byte akan dapat ditangani dengan arsitektur ini dengan baik.
Hal ini merupakan keterbatasan kinerja untuk mesin-mesin Little Endian karena mereka harus membalik dulu urutan byte bila
bekerja dengan objek grafis yang besar.
Namun, Big Endian juga memiliki kelemahan. Konversi dari sebuah alamat
integer 32-bit menjadi alamat integer 16-bit harus melakukan penambahan.
Aritmetika presisi tinggi pada mesin Little
Endian lebih cepat dan lebih mudah. Umumnya arsitektur yang menggunakan
metode Big Endian tidak membolehkan
word ditulis pada area alamat non-word (misalnya jika sebuah word adalah 2 byte
atau 4 byte, dia harus selalu dimulai pada alamat byte nomor genap). Hal ini
memboroskan tempat.
Tidak ada komentar:
Posting Komentar