Adakah yang bisa menjelaskan jika ada perbedaan antara arsitektur intel64 dan amd64?
Adakah yang bisa menjelaskan jika ada perbedaan antara arsitektur intel64 dan amd64?
Jawaban:
Dari apa yang saya baca, Memory 64-bit Technology (EM64T) yang diperluas adalah implementasi Intel AMD64 AMD dan perbedaan antara Intel64 dan AMD64 adalah:
Instruksi BSF dan BSR EM64T bertindak berbeda ketika sumbernya adalah 0 dan ukuran operan adalah 32 bit. Prosesor menetapkan flag nol dan membiarkan 32 bit atas tujuan tidak ditentukan.
AMD64 mendukung 3DNow! instruksi. Ini termasuk prefetch dengan opcode 0x0F 0x0D dan PREFETCHW, yang berguna untuk menyembunyikan latensi memori.
EM64T tidak memiliki kemampuan untuk menyimpan dan mengembalikan versi keadaan floating-point yang dikurangi (dan dengan demikian lebih cepat) (melibatkan instruksi FXSAVE dan FXRSTOR).
EM64T tidak memiliki beberapa register khusus model yang dianggap sebagai arsitektur AMD64. Ini termasuk SYSCFG, TOP_MEM, dan TOP_MEM2.
EM64T mendukung pembaruan mikrokode seperti dalam mode 32-bit, sedangkan prosesor AMD64 menggunakan format pembaruan mikrokode yang berbeda dan mengontrol MSR.
Instruksi CPUID EM64T sangat spesifik untuk vendor, seperti normal untuk prosesor gaya x86.
EM64T mendukung instruksi MONITOR dan MWAIT, yang digunakan oleh sistem operasi untuk menangani Hyper-threading dengan lebih baik.
Sistem AMD64 memungkinkan penggunaan aperture AGP sebagai IO-MMU. Sistem operasi dapat memanfaatkan ini untuk membiarkan perangkat PCI DMA normal ke memori di atas 4 GiB. Sistem EM64T membutuhkan penggunaan bouncing buffer, yang lebih lambat.
SYSCALL dan SYSRET juga hanya didukung dalam mode IA-32e (tidak dalam mode kompatibilitas) pada EM64T. SYSENTER dan SYSEXIT didukung di kedua mode.
Cabang dekat dengan awalan 0 × 66 (ukuran operan) berperilaku berbeda. Satu jenis CPU hanya membersihkan 32 bit teratas, sedangkan tipe lainnya membersihkan 48 bit teratas.
Di halaman x86 Wikipedia Anda dapat membaca
Pada 1999-2003, AMD memperluas arsitektur 32-bit ini menjadi 64 bit dan menyebutnya sebagai x86-64 dalam dokumen awal dan kemudian sebagai AMD64. Intel segera mengadopsi ekstensi arsitektur AMD dengan nama IA-32e yang kemudian dinamai EM64T dan akhirnya Intel 64.
Dengan kata lain, pembeda utamanya adalah pemasaran. Ada ekstensi spesifik Intel dan AMD untuk set instruksi, tetapi selama Anda menulis program di ruang pengguna, Anda umumnya tidak perlu tahu bedanya.
you don't generally need to know the difference
Salah: bahkan perbedaan kecil pada instruksi generik adalah bug