Peringatan: ini adalah pertanyaan yang sedikit lebih rumit daripada yang mungkin Anda sadari, dan tentu saja lebih dari sebagian besar jawaban yang telah digambarkan. Untuk mencoba meliput setidaknya sedikit lebih banyak dari cerita, posting ini cukup panjang ...
Pertama-tama, situasi dengan memori video. Keseluruhan memori kartu video tidak (setidaknya secara normal) langsung terlihat di ruang alamat CPU. Anda biasanya memiliki "jendela" sekitar 128-256 megabita memori video yang terlihat oleh CPU. GPU dapat memetakan berbagai bagian memorinya ke jendela itu, jadi Anda biasanya dapat menulis ke sebagian besar memori GPU dari CPU, tetapi Anda harus memberi tahu GPU terlebih dahulu apa yang akan Anda tulis sebelum Anda dapat melakukannya. Sebagai contoh, ketika Anda menggunakan DirectX dan Anda ingin menulis langsung ke memori grafis, Anda dapat melakukannya - tetapi untuk melakukannya, Anda mulai dengan menelepon LockRect
untuk mendapatkan GPU untuk memetakan memori yang tepat ke dalam jendela (dan sebagai Begitu selesai, Anda meneleponUnlockRect
sehingga dapat memetakan memori lain sesuai kebutuhan). Setidaknya dalam kasus khas, Anda dapat menyesuaikan ukuran jendela video dalam pengaturan BIOS.
Kedua, bahkan dalam mode 32-bit prosesor x86 mendukung apa yang disebut Ekstensi Alamat Fisik (PAE), yang memungkinkan CPU untuk mengatasi lebih dari 4 Gig. memori. Microsoft memang mendukung PAE di beberapa versi Windows - tetapi hanya Edisi Perusahaan yang relatif mahal dari Windows Server. Selain itu, program harus ditulis khusus untuk menggunakan AWE. Hanya ada beberapa program (misalnya, SQL Server Enterprise Edition) yang pernah melakukannya. Intinya: itu mungkin, tetapi cukup jarang.
Sejauh membaca 64 bit pada suatu waktu: prosesor terakhir untuk membaca data hanya 32 bit pada satu waktu adalah 486. Dimulai dengan Pentium, semua prosesor memiliki bus data 64 bit. Perhatikan bahwa bus alamat tidak sama dengan bus data, jadi ekspansi ke bus data 64-bit tidak memungkinkan prosesor bekerja dengan lebih banyak memori (walaupun, seperti yang terjadi, PAE ditambahkan dalam Pentium Pro, sehingga adalah hampir bersamaan dengan ekspansi ke bus data 64-bit).
Meskipun Pentium dapat membaca 64 bit data dalam satu siklus clock tunggal, secara internal itu (sebagian besar) memproses data 32 bit pada suatu waktu. Bus yang lebih luas terutama membantu menebus perbedaan kecepatan antara CPU dan memori utama. Instruksi MMX dari Pentium MMX mendukung pemrosesan data dalam potongan 64-bit, tetapi agak canggung untuk digunakan dan (khususnya) kebanyakan kompiler tidak menghasilkan kode MMX, jadi Anda cukup banyak harus menulis dalam bahasa assembly untuk menggunakannya . Pentium juga mendukung operasi 64-bit (dan 80-bit) untuk angka floating point, tetapi itu hanya digunakan untuk sebagian kecil dari sebagian besar pemrograman (dan umumnya lebih lambat daripada bekerja dengan bilangan bulat).
Desain x86-64 memang memiliki register tujuan umum dua kali lebih banyak daripada desain x86 32-bit, dan masing-masing register tersebut memiliki lebar 64 bit. Saat CPU berjalan dalam mode 32-bit, hanya subset register yang ada pada CPU 32-bit yang dapat digunakan.
Kembali ke floating point sejenak, dalam mode 32-bit, floating point math dilakukan menggunakan set instruksi yang awalnya dirancang untuk prosesor matematika Intel 8087. Ini menggunakan model yang membuatnya cukup sulit untuk memanfaatkan sepenuhnya kemampuannya. Intel (dan AMD) baru-baru ini menambahkan "Streaming SIMD Extensions", atau SSE. Sebagian besar kompiler 64-bit menghasilkan kode yang dapat / tidak menggunakan SSE alih-alih floating point yang kompatibel dengan 8.087. "SIMD" di SSE adalah singkatan dari "instruksi tunggal, banyak data". Ini artinya bahwa satu instruksi SSE dapat melakukan dua operasi floating point pada dua bagian data yang terpisah. Meskipun ini tidak selalu menggandakan kecepatan, biasanya meningkatkan kecepatan setidaknya sedikit.
Akhirnya, saya mungkin harus menunjukkan bahwa ada satu bagian dari perbandingan yang umumnya agak tidak adil. Ketika Anda menginstal OS baru, itu hampir selalu setidaknya sedikit lebih cepat daripada OS yang telah digunakan cukup lama. Program menyimpan data dalam registri, pada hard drive, dll. Semakin banyak data yang Anda tambahkan, semakin banyak pekerjaan yang cenderung terlibat dalam menemukan data yang Anda inginkan pada waktu tertentu. Sementara perusahaan yang menjual "pembersih registri" dan semacamnya sering kali membesar-besarkan efek ini, memang benar sampai batas tertentu. Dengan demikian, jika semua yang Anda lakukan adalah memformat ulang hard drive Anda dan menginstal ulang OS yang persis sama, Anda dapat mengharapkan untuk melihat beberapa peningkatan kecepatan - dan jika Anda telah menginstal OS lama dan banyak digunakan untuk waktu yang lama , bahwa perbaikan (dengan sendirinya) dapatcukup substansial. Setidaknya sebagian dari peningkatan kecepatan yang Anda lihat mungkin independen dari perbedaan nyata antara kedua OS.
Ada lebih dari itu, tentu saja, tetapi Anda mulai mendapatkan idenya. Ini bukan masalah satu fitur yang membuat perbedaan besar, karena banyak fitur yang biasanya membuat perbedaan yang cukup kecil secara individual, tetapi banyak dari mereka menambahkan (atau bahkan mengalikan) bersama-sama untuk membuat perbedaan yang cukup besar secara keseluruhan.