Bisakah saya menjalankan instruksi 64-bit pada CPU x86-64 saya di bawah Windows 32-bit?

3

Saya menjalankan Windows 7 32-bit pada Intel Atom 64-bit dan saya ingin tahu apakah OS menempatkan CPU dalam mode yang masih memungkinkan instruksi 64-bit dijalankan atau dalam mode kompatibilitas 32-bit penuh yang menyebabkan semua Instruksi 64-bit terjebak sebagai ilegal.

Jika tidak, apakah diblokir oleh OS atau CPU? Dan apakah Intel dan AMD CPU berbeda dalam hal ini?

hippietrail
sumber

Jawaban:

3

Jika Anda menjalankan OS 32-bit, CPU dalam mode 32-bit dan tidak ada kemampuan perangkat keras tambahan yang dapat diakses. Kode 64-bit tidak akan berjalan ketika CPU dalam kondisi ini. Ini bukan batasan OS, ini adalah artefak tentang cara kerja perangkat keras.

Seharusnya tidak ada perbedaan antara AMD dan Intel CPU dalam hal ini.

user55325
sumber
Hmm saya menemukan ini di Stackoverflow yang tampaknya menyarankan bahwa Mac OS X dapat melakukannya pada perangkat keras yang sama: stackoverflow.com/questions/49934/…
hippietrail
Ini sangat menarik, saya belum pernah menemukan itu sebelumnya. Saya terbiasa dengan kernel monolitik, saya kira. Windows jelas tidak bekerja seperti itu, tetapi tampaknya itu mungkin dalam teori (saya tidak yakin bagaimana - tidakkah kernel perlu menerjemahkan alamat fisik 64-bit ke alamat virtual 32-bit? register segmen dalam mode lama ... Namun, ingatan saya tentang kursus OS saya memudar).
user55325
Mungkin itu hanya akan mengabaikan atau menjebak negara bukan nol di 32 bit alamat absolut?
hippietrail
1

Windows 7 menggunakan 64 bit sebagai sistem terpisah di OS, aplikasi 32 bit berjalan dalam mode 32 bit dan aplikasi 64 bit berjalan dalam 64 bit.

Ini terutama ditentukan oleh OS, tetapi itu tidak akan bekerja jika CPU tidak 64 bit pula.

Jadi saya akan mengatakan OS menghentikan aplikasi 64bit yang berjalan dalam 32 bit. Intel & amp; CPU AMD akan bekerja sama, tidak akan ada perbedaan dengan menggunakan keduanya.

Sandeep Bansal
sumber