Minggu, Mei 15, 2011

Perbedaan 32bit dengan 64bit

Prosesor 32-Bit dan 64-Bit

Yang dimaksud 32-bit atau 64-bit sebenarnya mengacu pada arsitektur prosesor yang merupakan kemampuan prosesor dalam melakukan pengolahan data. Kata bit disini berarti binary digit (digit biner). Digit biner merupakan digit dasar yang dikenal oleh komputer. Digit biner hanya mengenal angka 0 dan 1 (angka dasar yag digunakan untuk memproses semua data di komputer). Istilah byte mengacu pada 8 buah digit biner.

Processor 32-bit berarti processor tersebut mempunyai pengelolaan data selebar 32 digit biner (binary digit). Sedangkan untuk processor 64-bit, pengelolaan datanya lebih lebar, yakni 64 digit biner. Hal ini berpengaruh terhadap besarnya data sebesar 32 yang dapat diolah. Karena processor 32-bit hanya punya "space" sebesar 32 untuk digitnya, maka angka yang dapat diolah adalah 2^32 atau antara 0 sampai dengan 4.294.967.295. Sedangkan untuk processor 64-bit, angka yang dapat diolah adalah 2^64 atau antara 0 sampai dengan 18.446.744.073.709.551.615. Mungkin hanya para ilmuwan yang benar-benar membutuhkan angka sebesar itu. Namun tunggu dulu! Kita tidak dapat menarik kesimpulan tentang processor 32-bit dan 64-bit hanya berdasarkan hal tersebut. Hal tersebut bukanlah satu-satunya yang membedakan antara processor 32-bit dan 64-bit.

Pengaruh yang signifikan adalah pada register. register merupakan unit penyimpanan data terkecil dalam CPU. Register dalam sebuah processor berdiri pada tingkat tertinggi dalam hierarki memory, yang artinya kecepatan aksesnya adalah yang paling cepat (jika dibandingkan RAM, cache ataupun harddisk) walaupun kapasitasnya adalah paling kecil. Pada CPU, register terdiri dari berbagai macam, misalnya register data (digunakan untuk menyimpan bilangan bulat), register alamat (untuk menyimpan alamat memory atau mengakses alamat memory di RAM), register general purpose (dapat digunakan untuk penyimpanan angka maupun alamat memory), register floating point (digunakan untuk menyimpan bilangan pecahan), register konstanta (merupakan register read-only untuk menyimpan nilai yang pasti misalnya phi, null, true), register vektor, dan register special purpose (menyimpan data internal processor).

Salah satu kegunaan dari register adalah saat processor memerlukan untuk melakukan operasi aritmetika. Nilai-nilai yang hendak diproses akan disimpan terlebih dahulu pada register (misalnya pada register data atau register general purpose), demikian juga hasil dari operasi tersebut, akan diletakkan pada register. Register pada processor 64-bit tentunya akan menghasilkan presisi yang lebih tinggi daripada processor 32-bit, terutama untuk bilangan pecahan (sebagai perbandingan, processor pertama dari Intel adalah processor 4004 yang merupakan processor 4-bit).

Pengaruh lainnya adalah pola pengalamatan. Salah satu register untuk menunjuk pada alamat tertentu di memori adalah register alamat. Pada arsitektur 32-bit, alamat memori yang dapat ditunjuk sebesar 2^32 alamat yang unik (atau 4 GB). Hal ini menyebabkan processor 32-bit hanya dapat mengacu pada alamat memory sebesar 4 GB. Pada komputer berbasis Windows, memory sebesar 4 GB ini akan terbagi untuk penggunaan kernel dan aplikasi, masing-masing 2 GB, sehingga aplikasi hanya dapat mengakses maksimal 2GB. penambahan memory di atas 4 GB menjadi tidak berguna jika menggunakan processor 32-bit.

Untuk processor 64-bit, pengolahan memory dapat dilakukan hingga 2^64 atau 16 Eksa Byte (lebih dari 16 miliar GiB). Pada Windows 7, edisi 64-bit (dan dijalankan pada processor 64-bit) dapat mendukung hingga 128 GB RAM sehingga waktu yang diperlukan untuk input dan output menjadi lebih cepat.

Lebar data dari bus juga tergantung dari processor apakah 32-bit atau 64-bit. Secara sederhana, data bus adalah kabel yang membawa informasi keluar-masuk memory menuju processor. Data bus pada processor 64-bit, tentu dapat membawa informasi lebih banyak dibandingkan data bus pada processor 32-bit.

Sistem Operasi 32-bit atau 64-bit?

Selain Windows, beberapa versi Linux juga mendukung versi 32-bit dan 64-bit, seperti SuSE, Fedora, dan Debian. Namun menggunakan sistem operasi 64 bit tidak serta merta membuat semua aplikasi yang dijalankan menjadi lebih cepat. Hal ini dikarenakan kebanyakan software yang ada, saat ini ditulis dan dioptimasi untuk lingkungan 32-bit. Diperlukan software-software yang khusus ditulis pada lingkungan 64 bit untuk dapat benar-benar memanfaatkan keuntungan processor 64-bit. Beberapa game seperti Lost Cost, Codename:Panzers (Phase One), dan Half Life 2 telah dibuat khusus untuk memanfaatkan fitur dari processor 64-bit.

Secara umum, semua keuntungan penggunaan processor 64-bit dibandingkan dengan processor 32-bit tidak terlalu nampak pada aplikasi sehari-hari. Saat mengakses Internet, penggunaan processor 64-bit tidak meningkatkan kecepatan akses. Demikian juga menjalankan aplikasi Office di processor 64 bit, tidak akan lebih cepat dibandingkan dijalankan pada processor 32-bit. Keuntungan dari processor 64-bit akan terasa saat digunakan untuk aplikasi-aplikasi seperti CAD, video encoding, pemodelan 3D, penghitungan yang membutuhkn ketelitian angka, pencarian data pada sebuah database dengan ukuran yang besar, atau tugas-tugas lain yang memerlukan untuk menampung data dalam jumlah besar ke memory.

Demikian pula agar kita bisa mendapatkan perbedaan yang signifikan antara Windows 64-bit dengan Windows 32-bit, maka selain Windows dijalankan pada processor 64-bit software-software penunjangnya pun juga harus software 64-bit. Dengan kemampuan akses memory di atas 4 GB, processor 64-bit dapat memberikan dampak secara signifikan ketika dijalankan di PC dengan RAM lebih dari 4 GB. Jika tidak, maka kemampuannya tidak lebih dari processor 32-bit.

Pertimbangan lain sebelum beralih pada sistem operasi 64-bit adalah driver. Pada Windows 64-bit, semua driver 32-bit tidak akan dapat dijalankan sehingga untuk hardware-hardware yang usianya lebih dari 7 tahun dengan driver 32-bit, kemungkinan besar tidak dapat dijalankan pada Windows 64-bit. Termasuk aplikasi 16-bit (aplikasi pada era DOS), tidak dapat berjalan pada Windows 64-bit. Namun dengan semakin maraknya processor 64-bit dan semakin murahnya harga RAM, tren sistem operasi dan aplikasi berbasis 64-bit akan semakin tumbuh di tahun-tahun depan.

32-bit dan 64-bit mengacu pada arsitektur processor. Processor 32-bit artinya register2 nya (unit penyimpanan data terkecil di dalamnya) berukuran 32 bit. Processor 64-bit artinya register2 nya berukuran 64 bit.

( Register2 ini lah yang digunakan untuk melakukan macam2 operasi. Misalnya c = a + b, maka register "eax" akan me-load nilai dari "a" (di memory), kemudian pada register "eax" ditambahkan nilai dari "b", lalu "eax" ditulis ke memory pada posisi variabel "c" )

Pengaruh ukuran register terhadap kecepatan:

Setiap proses baca/tulis dari memory (disebut dengan load/store) membaca/menulis informasi sebesar ukuran register; maka register 64-bit potensial membaca/menulis memory 2x kecepatan register 32-bit. Tapi ini teoretis saja, karena kenyataannya prosesor juga menghabiskan waktu untuk melakukan hal-hal lain selain load/store, seperti pemrosesan matematis, vector-processing, dll.

Pengaruh ukuran register terhadap presisi:

Secara simplistik: Makin panjang register, makin banyak angka di-belakang-koma yang bisa dihitung secara akurat. Sebagai gambaran: Misalkan resolusi bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada 64-bit bisa mencapai 0.0000001 (jadi jauh lebih presisi).

Pengaruh ukuran register terhadap ukuran memori:

Salah satu dari sekian banyak register adalah "addressing register". Addressing register (atau registers, kalau lebih dari satu) adalah register yang memiliki fungsi 'menunjuk' ke alamat tertentu dalam memory. Jangkauan (range) penunjukan ini disebut dengan istilah memory space.

Pada arsitektur 32-bit, addressing registers mampu 'menunjuk' posisi memory dari 0 s/d 4'294'967'295 (4 GiB - 1). Inilah yang mengakibatkan muncul "batasan 4 GiB" pada sistem berbasis arsitektur 32-bit. Pada arsitektur 64-bit, addressing registers mampu 'menunjuk' posisi memory dari 0 s/d 18'446'744'073'709'551'615 (16 EiB - 1). Seperti kita lihat, tidak ada lagi 'batasan 4 GiB' pada sistem berbasis arsitektur 64-bit.

Pengaruh ukuran register terhadap dataset:

"Dataset" adalah istilah untuk 'seperangkat data yang di-load ke dalam memory untuk diproses dan (optionally) ditulis kembali ke hard disk'.
Sistem 32-bit terbatas pada dataset sebesar (2^32)-1, atau (4 GiB - 1). Mengingat sebagian memory harus digunakan untuk OS dan program database ybs, maka biasanya dataset nya hanya sebesar 1-2 GiB saja. Artinya, sebuah database yang berukuran, katakanlah, 20 GiB (tidak asing dalam konteks perusahaan besar), harus diproses 10~20x.

Sistem 64-bit tidak memiliki batasan di atas. Dia dapat me-load dataset sebesar ketersediaan memory. Artinya, database 20 GiB di atas dapat di-load seluruhnya (asal memory mencukupi), diproses dalam sekali jalan saja. Agar supaya kita dapat memperoleh keunggulan sistem 64-bit, maka baik software dan hardware harus mendukung.

Software 32-bit jalan di hardware 64-bit tidak bisa memanfaatkan kelebihan arsitektur 64-bit. (Software hanya akan menggunakan 32-bit saja dari 64-bit yang tersedia; 32-bit sisanya tidak dikenali) ==> disebut mode 32-bit. Sebaliknya, software 64-bit tidak bisa jalan di hardware 32-bit karena kebutuhannya akan lebar register 64-bit tidak bisa dipenuhi.

Windows XP 32-bit dan Windows Vista 32-bit adalah 2 sistem operasi yang masih beroperasi di mode 32-bit. Windows XP 64-bit dan Windows Vista 64-bit adalah 2 sistem operasi yang mampu beroperasi di mode 64-bit.



AMD64 adalah terobosan (breakthrough) AMD dalam dunia processor x86.
Dahulu, s/d prosesor Pentium 3, Intel bersikukuh menggunakan hanya arsitektur 32-bit pada processor x86. Intel menghabiskan uang jutaan dollar untuk mengembangkan arsitektur 64-bit yang samasekali baru (artinya: Tidak kompatibel dengan dunia x86) dalam bentuk Intel ITANIUM. AMD kemudian mengembangkan instruction set (dan arsitektur) dari processor x86 yang dibuatnya (AthlonXP) sehingga lahirlah Athlon64: Processor x86 yang memiliki arsitektur 64-bit.
Instruction set yang diperluas ini disebut AMD64 oleh AMD. Intel terpaksa melakukan cross-license, dan menggunakan instruction set tersebut juga (tapi dengan nama EMT64, bukan AMD64. Biasalah, masalah corporate pride)

Saya tidak yakin dengan Mac OS X. Tetapi Linux memiliki versi 32-bit dan versi 64-bit.

Contoh, Ubuntu yang ada di ftp://dl2.foss-id.web.id/iso/ubuntu/releases/hardy/. Ada versi AMD64 (64-bit) dan ada versi i386 (32-bit)

Kelebihan dan kekurangan ?

Kita sudah melihat kelebihan dari arsitektur 64-bit.

Sekarang kekurangannya:

Banyak Software 32-bit yang tidak bisa jalan di arsitektur 64-bit, khususnya driver.

Mengapa bisa begitu?

Komputer adalah benda yang sangat kompleks. Untuk bisa berguna bagi manusia, komputer perlu melakukan apa yang disebut "Input/Output" (I/O). Contoh I/O adalah kirim/terima data via LAN, kirim gambar ke Monitor via VGA Card, dll. Nah, semua tindakan I/O membutuhkan buffer. Sebagai contoh, kita kenal "memory VGA" pada VGA Card; itu sebetulnya adalah buffer untuk membantu VGA Card menampilkan gambar di monitor.

Masalahnya, agar I/O bisa berlangsung dengan mulus dan cepat, 'buffer' ini perlu mendapatkan alamat. Dan alamat ini di ambil dari memory space. Hal ini terjadi meskipun komponen pelaksana I/O ini memiliki buffernya sendiri (contoh: VGA Card terbaru dari nVidia / ATI biasanya punya minimal 256 MiB RAM pada card nya). Tetap saja memori pada card tersebut akan dipetakan ke memory space.

Agar tidak bentrok dengan Sistem Operasi, yang biasanya di-load ke dalam memory 'rendah' (Bottom Memory = memory dengan alamat kecil), maka biasanya pemetaan buffer ini dilakukan di memory 'tinggi' (Top Memory = memory dengan alamat besar, atau dihitung mundur dari alamat memori terbesar (2^32)-1)

Catatan: Ini juga alasan yang menyebabkan RAM komputer kalau terpasang 4 GiB hanya akan bisa dipakai Max 3,25 GiB (atau kalau untung 3,5 GiB), ada yang 'hilang' karena 'tertutupi' oleh buffer dari komponen I/O.

Nah, pada arsitektur 64-bit, hal yang sama pun dilakukan: Buffer untuk I/O dipetakan ke Top Memory. Masalahnya, Top Memory pada arsitektur 64-bit jelas terletak pada posisi yang berbeda dengan Top Memory pada arsitektur 32-bit.
Driver adalah korban yang paling jelas; mereka berusaha mengakses Top Memory 32-bit, padahal lokasi buffer tidak di situ. Akibatnya: Crash. Software-software lain yang juga coba-coba mengakses Top Memory secara langsung akan mengalami crash juga.

Lucunya, banyak game 32-bit yang malah jalan dengan tanpa masalah di sistem 64-bit; hal ini karena mereka tidak berusaha mengakses Top Memory secara langsung, melainkan meminta bantuan Microsoft DirectX Layer untuk mengakses fitur dari sebuah VGA Card.

Pilihan yang tepat dalam memilih edisi software adalah menyesuaikan dengan jenis Windows yang digunakan. Jika tanpa disertai keterangan atau informasi untuk 32-bit atau 64-bit, umumnya software-software yang beredar saat ini ditujukan untuk Windows 32-bit.

Untuk mengetahui apakah Windows yang digunakan adalah 32-bit atau 64-bit salah satu cara yang dapat dilakukan berdasarkan versi Windows yang digunakan yang pada dasarnya sama yaitu melihat informasi di Control Panel — System:

• Windows XP
Klik kanan My Computer pada desktop kemudian pilih Properties (atau dari Control Panel – System). Pada tab General perhatikan pada bagian System, untuk Windows XP 32-bit akan tertulis seperti Microsoft Windows XP Professional, sedang untuk Windows XP 64-bit akan tertulis seperti Microsoft Windows XP Professional x64 Edition. Jadi jika Windows XP 64-bit ada tambahan keterangan x64 Edition. 

• Windows Vista
Masuk ke Control Panel – System dan lihat informasi System type di bawah System, untuk Windows Vista 32-bit akan tertulis keterangan 32-bit Operating System, sedangkan untuk Windows Vista 64-bit akan tertulis keterangan 64-bit Operating System.

• Windows 7
Masuk ke Control Panel – System and Security lalu klik System setelah itu nanti akan akan tertulis keterangan 32-bit Operating System ataukah tertulis keterangan 64-bit Operating System. Atau juga bias masuk ke My Computer lalu klik kanan Properties, lalu kemudian akan muncul informasi pada System type mengenai informasi bit yang digunakan pada Operating System.


0 comments:

Posting Komentar