Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Rabu, 04 Oktober 2017

Little Endian dan Big Endian

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