Friday, October 11, 2013

32-bit vs 64-bit

Post : 11 Oktober 2013
By : ilhamgariansyah.blogspot.com

32-bit vs 64-bit

Perubahan dari 32-bit ke arsitektur 64-bit adalah perubahan mendasar, karena sebagian besar sistem operasi harus secara ekstensif dimodifikasi untuk mengambil keuntungan dari arsitektur baru, karena perangkat lunak harus mengelola hardware memori yang sebenarnya menangani.Lainnya perangkat lunak juga harus porting untuk menggunakan kemampuan baru; lebih tua 32-bit software dapat didukung baik melalui modus kompatibilitas hardware di mana prosesor baru mendukung versi 32-bit yang lebih tua dari instruksi yang ditetapkan serta versi 64-bit, melalui perangkat lunak emulasi , atau dengan pelaksanaan aktual dari inti prosesor 32-bit dalam prosesor 64-bit, seperti dengan prosesor Itanium dari Intel, yang meliputi IA-32 core prosesor untuk menjalankan aplikasi 32-bit x86. Sistem operasi bagi mereka yang 64-bit arsitektur umumnya mendukung aplikasi 32-bit dan 64-bit.

Satu pengecualian yang signifikan untuk ini adalah AS/400 , yang berjalan pada perangkat lunak virtual Arsitektur Set Instruksi (ISA) disebut TIMI (Teknologi Machine Interface Independen), yang diterjemahkan ke kode mesin asli oleh perangkat lunak tingkat rendah sebelum dieksekusi. Perangkat lunak terjemahan adalah semua yang harus ditulis ulang untuk memindahkan seluruh OS dan semua perangkat lunak untuk platform baru, seperti ketika IBM dialihkan garis mereka dari instruksi tua 32/48-bit "IMPI" set ke set instruksi 64-bit mengatur (set instruksi IMPI adalah sangat berbeda dari set instruksi 32-bit PowerPC, jadi ini adalah transisi yang bahkan lebih besar daripada dari versi 32-bit dari sebuah set instruksi ke versi 64-bit dari set instruksi yang sama).

Pada 64-bit hardware dengan x86-64 arsitektur (AMD64), sebagian besar sistem operasi 32-bit dan aplikasi dapat berjalan tanpa masalah kompatibilitas. Sementara ruang alamat yang lebih besar dari 64-bit arsitektur membuat bekerja dengan kumpulan data besar dalam aplikasi seperti video digital , komputasi ilmiah, dan besar database lebih mudah, telah terjadi perdebatan tentang apakah mereka atau 32-bit mode kompatibilitas mereka akan lebih cepat daripada harga comparably sistem 32-bit untuk tugas-tugas lainnya. Sebuah program Java dikompilasi dapat berjalan pada 32 - atau 64-bit mesin virtual Java tanpa modifikasi. Panjang dan presisi dari semua built-in jenis ditentukan oleh standar dan tidak tergantung pada arsitektur yang mendasari. Program Java yang berjalan pada mesin 64-bit virtual Java memiliki akses ke ruang alamat yang lebih besar. Kecepatan bukanlah satu-satunya faktor yang perlu dipertimbangkan dalam perbandingan prosesor 32-bit dan 64-bit. Aplikasi seperti multi-tasking, stress testing, dan clustering-untuk komputasi kinerja tinggi (HPC)-mungkin lebih cocok untuk arsitektur 64-bit ketika digunakan dengan tepat. 64-bit cluster telah banyak digunakan dalam organisasi besar, seperti IBM, HP, dan Microsoft, untuk alasan ini.



Pro dan kontra

Kesalahpahaman yang umum adalah bahwa arsitektur 64-bit tidak lebih baik dari 32-bit arsitektur kecuali komputer memiliki lebih dari 4 GB memori akses acak . Hal ini tidak sepenuhnya benar:


• Beberapa sistem operasi dan konfigurasi hardware tertentu membatasi ruang memori fisik untuk 3 GB pada IA-32 sistem, karena banyak daerah GB 3-4 yang disediakan untuk menangani hardware, lihat 3 penghalang GB , 64-bit arsitektur dapat mengatasi jauh lebih dari 4 GB. Namun, IA-32 prosesor dari Pentium II dan seterusnya memungkinkan untuk ruang memori 36-bit alamat fisik, menggunakan Ekstensi Alamat Fisik (PAE), yang memberikan berbagai GB alamat fisik 64, yang hingga 62 GB dapat digunakan oleh utama memori, sistem operasi yang mendukung PAE mungkin tidak terbatas pada 4GB memori fisik, bahkan pada IA-32 prosesor. Namun, driver dan software kernel modus lainnya, khususnya versi lebih tua, mungkin tidak kompatibel dengan PAE.
• Beberapa sistem operasi cadangan bagian dari proses ruang alamat untuk penggunaan OS, efektif mengurangi ruang alamat total yang tersedia untuk memori pemetaan untuk program pengguna. Misalnya, 32-bit Windows cadangan 1 atau 2 GB (tergantung pada pengaturan) dari ruang alamat total untuk kernel, yang hanya menyisakan 3 atau 2 GB (masing-masing) dari ruang alamat yang tersedia untuk mode pengguna. Batas ini sangat jauh lebih tinggi pada 64-bit sistem operasi.
• Memori-file dipetakan menjadi lebih sulit untuk diterapkan di 32-bit arsitektur sebagai file lebih dari 4 GB menjadi lebih umum, file besar seperti tidak bisa memori-dipetakan dengan mudah ke 32-bit arsitektur-satunya bagian dari file dapat dipetakan ke dalam ruang alamat pada satu waktu, dan untuk mengakses suatu file dengan pemetaan memori, bagian dipetakan harus ditukar ke dalam dan keluar dari ruang alamat yang diperlukan. Ini adalah masalah, seperti pemetaan memori, jika benar diterapkan oleh OS, adalah salah satu disk-to-memori metode yang paling efisien.
• Beberapa 64-bit program, seperti encoders, decoder dan perangkat lunak enkripsi, bisa mendapatkan keuntungan besar dari 64-bit register, sedangkan kinerja program lain, seperti grafis 3D yang berorientasi, tetap tidak terpengaruh ketika berpindah dari 32-bit ke 64-bit lingkungan.
• Beberapa arsitektur 64-bit, seperti x86-64 , mendukung lebih register tujuan umum dari 32-bit rekan-rekan mereka (meskipun hal ini bukan karena khusus untuk kata panjang). Hal ini menyebabkan peningkatan kecepatan yang signifikan untuk loop ketat karena prosesor tidak harus mengambil data dari cache atau memori utama jika data dapat disimpan dalam register yang tersedia.
Contoh :

Jika sebuah prosesor hanya memiliki kemampuan untuk menjaga dua atau tiga nilai atau variabel dalam register akan perlu untuk memindahkan beberapa nilai antara memori dan register untuk dapat memproses variabel d dan e serta, ini adalah proses yang memakan siklus CPU banyak. Sebuah prosesor yang mampu menahan semua nilai dan variabel dalam register dapat loop melalui mereka tanpa perlu untuk memindahkan data antara register dan memori untuk setiap iterasi. Perilaku ini dapat dengan mudah dibandingkan dengan memori virtual, meskipun efek yang bergantung pada compiler.

Kerugian utama dari arsitektur 64-bit adalah bahwa, relatif terhadap arsitektur 32-bit, data yang sama menempati lebih banyak ruang di memori (karena pointer lama dan mungkin jenis lainnya, dan padding alignment). Hal ini meningkatkan kebutuhan memori dari sebuah proses yang diberikan dan dapat memiliki implikasi untuk penggunaan cache prosesor yang efisien. Mempertahankan model 32-bit parsial adalah salah satu cara untuk menangani hal ini, dan pada umumnya cukup efektif. Sebagai contoh, z / OS sistem operasi mengambil pendekatan ini, membutuhkan kode program untuk berada di 31-bit ruang alamat (bit urutan tinggi tidak digunakan dalam perhitungan alamat pada platform hardware) sedangkan data obyek opsional dapat berada di 64 - bit daerah.

Hingga Juni 2011 , yang paling eksklusif x86 software dikompilasi ke dalam kode 32-bit, dengan kurang yang juga dikompilasi ke dalam kode 64-bit (meskipun tren dengan cepat menyamakan), sehingga sebagian besar perangkat lunak yang tidak mengambil keuntungan dari ruang 64-bit alamat yang lebih besar atau lebih luas 64-bit register dan jalur data pada prosesor x64, atau tujuan umum register tambahan. Namun, pengguna platform RISC yang paling, dan pengguna bebas atau open source sistem operasi (di mana kode sumber tersedia untuk mengkompilasi ulang dengan compiler 64-bit) telah mampu menggunakan eksklusif 64-bit lingkungan komputasi selama bertahun-tahun. Tidak semua aplikasi tersebut membutuhkan ruang alamat besar atau memanipulasi 64-bit item data, sehingga aplikasi ini tidak mendapatkan manfaat dari fitur ini. Keuntungan utama dari versi 64-bit dari aplikasi tersebut adalah kemampuan untuk mengakses register lebih dalam x86-64 arsitektur.


ketersediaan Software

berbasis x86 64-bit sistem kadang-kadang kurang setara dari perangkat lunak yang ditulis untuk 32-bit arsitektur. Masalah paling parah di Microsoft Windows tidak kompatibel driver perangkat . Sebagian besar aplikasi software 32-bit dapat dijalankan pada sistem operasi 64-bit dalam mode kompatibilitas, juga dikenal sebagai emulasi modus, misalnya Microsoft WOW64 Teknologi untuk IA-64 dan AMD64. The 64-bit Windows Native Mode lingkungan pengemudi berjalan di atas 64-bit NTDLL.DLL, yang tidak dapat memanggil 32-bit Win32 kode subsistem (sering perangkat yang sebenarnya fungsi hardware ditiru dalam perangkat lunak pengguna modus, seperti Winprinters). Karena 64-bit driver untuk perangkat yang paling tidak tersedia sampai awal 2007 (Vista x64), menggunakan versi 64-bit Windows dianggap tantangan. Namun, tren sejak bergerak menuju komputasi 64-bit, khususnya karena harga memori turun dan penggunaan lebih dari 4 GB RAM meningkat. Kebanyakan produsen mulai untuk menyediakan driver 32-bit dan 64-bit untuk perangkat baru, sehingga tidak tersedianya driver 64-bit tidak lagi menjadi masalah. 64-bit driver tidak disediakan untuk perangkat yang lebih tua, yang akibatnya tidak bisa digunakan dalam sistem 64-bit.

Kompatibilitas driver kurang dari masalah dengan driver open source, seperti 32-bit yang dapat dimodifikasi untuk 64-bit digunakan. Dukungan untuk hardware yang dibuat sebelum tahun 2007 awal adalah bermasalah untuk platform open source karena jumlah yang relatif kecil pengguna.

Mac OS X Tiger dan Mac OS X Leopard hanya memiliki kernel 32-bit, tapi kernel yang dapat menjalankan 64-bit kode mode pengguna pada 64-bit-mampu prosesor. Mac OS X Snow Leopard memiliki kedua 32-bit dan 64 - kernel bit, dan, pada hampir semua Mac, menggunakan kernel 32-bit bahkan di 64-bit prosesor, ini memungkinkan mereka untuk Mac mendukung 64-bit proses sementara masih mendukung 32-bit device driver - meskipun tidak 64-bit driver dan keunggulan kinerja yang akan datang dengan mereka. Mac OS X Lion berlari dengan kernel 64-bit pada Mac lebih, dan OS X Lion Mountain hanya memiliki kernel 64-bit. Pada sistem dengan prosesor 64-bit, baik 32 - dan 64-bit OS X kernel dapat menjalankan 32-bit kode mode pengguna, dan semua versi dari OS X termasuk versi 32-bit dari perpustakaan yang aplikasi 32-bit akan menggunakan, jadi 32-bit mode pengguna perangkat lunak untuk OS X akan berjalan pada sistem tersebut.

Linux dan sebagian besar lainnya Unix-seperti sistem operasi, dan C dan C + + toolchain bagi mereka, telah mendukung prosesor 64-bit selama bertahun-tahun, merilis versi 64-bit dari sistem operasi mereka sebelum rilis resmi Microsoft. Banyak aplikasi dan perpustakaan bagi platform open source , yang ditulis dalam C dan C + +, sehingga jika mereka 64-bit-aman mereka dapat dikompilasi ke dalam versi 64-bit. Sumber-berbasis model distribusi dengan penekanan pada rilis sering membuat ketersediaan software aplikasi untuk sistem operasi tersebut kurang dari sebuah isu.


Pustaka : Wiki.org

0 comments:

Post a Comment

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | JCPenney Coupons