Pertanyaan Mengapa x86 mewakili 32bit ketika x64 mewakili 64bit? [Tutup]


Pertanyaan saya adalah mengapa singkatan untuk 32-bit x86 ketika singkatan untuk 64-bit adalah x64?

Saya menduga itu ada hubungannya dengan hari-hari 386 dan 486, ketika prosesor 32-bit semua berakhir pada 86, tapi pasti ada prosesor yang tidak berakhir pada 86 dan masih 32-bit?

Adakah yang tahu sejarah ini atau dapat mengarahkan saya ke sumber info yang baik?

Terima kasih


86
2017-10-06 14:48




selalu ingin tahu +1 ini karena rasa ingin tahu yang tidak sadar! - Gabriel Guimarães
Saya baru saja bertanya pada diri saya sendiri pagi ini! - Sean Howat
Saya pikir istilah lengkapnya bukan x64 tapi x86_64 - Kedare
IMHO, "x86" tidak berarti (dan tidak pernah berarti) hanya arsitektur 32-bit generik. Jawaban Daniel di bawah ini memberi sejarah. Ada banyak prosesor 32-bit lain yang sezaman dengan (atau lebih tua dari) 80386, dan cukup banyak yang masih hidup dan baik di pasar saat ini. 68000 keluarga (digunakan dalam Macintosh asli) jauh lebih tua dari 8086, misalnya. Klaim PowerPC untuk ketenaran ketika baru adalah dukungan emulasi yang kuat untuk kedua x86 dan 68K. ARM adalah 32-bit, lebih modern, dan cukup umum juga. - RBerteig
Saya tidak melihatnya sebagai x64, setidaknya saya tidak menulisnya seperti itu. Saya menulisnya sebagai 32b dan 64b, masing-masing. - vol7ron


Jawaban:


Mungkin karena garis x86 menjadi identik dengan prosesor 32 bit untuk beberapa waktu, sementara x64 secara khusus sebutan untuk 64 bit karena aplikasi dan sistem operasi dialihkan, dan sekarang ada aplikasi perangkat lunak yang membutuhkan penunjukan 64 bit untuk menjalankan (seperti beberapa perangkat lunak VM).

Dengan kata lain, lebih banyak pemasaran daripada teknologi untuk alasannya.


32
2017-10-06 14:53



x86 berasal dari 8086, 286, 386, 486, 586, dll. Itu bisa dengan mudah "* 86" - gWaldo
Dan karena x86 berasal dari 8086, saya tidak pernah bisa mengetahui mengapa selalu dikaitkan dengan 32 bit. Seingat saya, 8086 adalah prosesor 16 bit, yang menggunakan register ganda untuk mengaktifkan pengalamatan memori 32 bit. Intel masih jauh dari menjadi pemimpin di lapangan pada masa itu. BTW @gWaldo, Anda meninggalkan 80186. - John Gardeniers
Kebetulan. Dari Wikipedia, "Baik arsitektur dan chip fisik oleh karena itu dikembangkan agak cepat oleh sekelompok kecil orang, dan menggunakan unsur-unsur mikroarsitektur dasar yang sama dan teknik implementasi fisik seperti yang digunakan untuk 8085 yang sedikit lebih tua (dan untuk itu 8086 juga akan berfungsi). sebagai kelanjutan). " Ada juga 8087 dan 8089. - Bart Silverstrim
Ya, saya meninggalkan 80186 karena saya sejujurnya tidak dapat mengingat apakah itu adalah produk yang dirilis (dan merasa terlalu malas untuk mencarinya ...) - gWaldo
Jawaban ini tidak ada salahnya, tapi saya benar-benar berpikir Daniel seharusnya yang diterima, karena jauh lebih rinci. - Massimo


Nah, dulu ada chip bernama 8086, dengan versi yang lebih murah disebut 8088 yang digunakan di komputer pribadi bernama PC IBM. Versi perbaikan dari chip itu dibuat dan disebut 80186, meskipun itu bukan versi yang sangat populer. Namun, versi perbaikan yang ditingkatkan kemudian dibuat, dan disebut 80286. Sekarang, itu adalah chip yang sangat populer, khususnya karena digunakan di komputer yang disebut IBM PC AT.

Kemudian, Intel, yang menciptakan dan menjual chip 8086, 8088, 80186 dan 80286, yang semuanya memiliki arsitektur 16 bit, melihat kebutuhan untuk membuat chip 32 bit untuk bersaing dengan penawaran serupa oleh orang lain. Untuk mengambil keuntungan dari posisi incumbentnya, itu membuat chip baru yang mampu menjalankan perangkat lunak yang dibuat untuk chip yang disebutkan sebelumnya. Tentu saja, Intel menyebut chip baru ini 80386.

Saat itu ada banyak komputer menggunakan berbagai versi chip Intel, dan ada juga chip non-Intel yang kompatibel dengan yang Intel. Jadi orang mulai menyebut mereka sebagai 80x86.

Setelah beberapa saat, Intel meluncurkan chip baru, tetapi memutuskan untuk menjatuhkan 80, jadi itu menjadi 486 bukan 80486. Demikian juga, orang-orang menjatuhkan "80" dari depan "80x86", dan menyebut hal ini hanya x86 .

Sekarang, saya yakin beberapa orang akan datang dan mengatakan Intel mencap chip mereka x86 pada saat ini dan itu, yang mereka lakukan, tetapi saya tidak peduli.

Faktanya adalah bahwa digit tengah yang terus meningkat menimbulkan 80x86, dan x86 berasal dari itu - bahkan jika 80186 dan 80286 tidak 32 bit.

Jadi, begitu Intel akhirnya menggunakan 64 bit, apa yang disebutnya arsitektur baru? Kanan! IA64! :-) Ini juga secara retroaktif mengganti nama x86 menjadi IA32, jadi untuk berbicara. Hanya IA64 yang tidak kompatibel dengan x86, maksud saya, IA32, jadi semua orang mengabaikannya.

Dan kemudian datang AMD, yang memutuskan pasar menginginkan 64 bit CPU yang kompatibel, sejauh mungkin, dengan keluarga x86. Sebagai daya tarik pemasaran, mereka menyebutnya keluarga "x86-64", dan mereka sangat sukses. Begitu banyak sehingga Intel akhirnya enggan mengikuti dengan CPU 64 bit mereka sendiri berdasarkan x86.

Kemudian, karena orang malas, x86-64 menjadi hanya dikenal sebagai x64.

Jadi, untuk menjawab pertanyaan Anda, karena x64 lebih pendek dari x86-64.


172
2017-10-06 15:23



Beri +1 untuk penjelasan yang bagus. - Gup3rSuR4c
Tidak untuk memilih nit, tetapi harus benar-benar tepat, AMD tidak pernah memasarkan chip 64 bit. x64 atau x86_64 bahwa AMD keluar dengan ekstensi 64 bit ditambahkan ke set instruksi x86 yang dibuat Intel - maka x86_64 sebagai kebalikan dari Intel Itanium (IA_64) yang merupakan chip 64 bit yang benar yang tidak kompatibel dengan set instruksi x86. - Jeremy Hajek
Selain itu, saya percaya Intel menghadapi masalah merek dagang karena mereka hanya menggunakan angka dan Anda tidak dapat merek dagang urutan angka, itulah mengapa apa yang akan menjadi 80586 menjadi Pentium, nama yang dibuat yang dapat terus merek dagang. - cdkMoose
Untuk memperjelas: AMD menyebut ekstensi mereka AMD64, dan Intel menyebut mereka ekstensi (bahwa mereka berlisensi dari AMD) Intel64. Ada beberapa perbedaan halus (mereka tidak 100% kompatibel), jadi sebagian besar Vendor OS biasanya menggunakan Subset umum. Pada Windows 2008 DVD, folder instal benar-benar disebut AMD64 (kebalikan dari I386 pada 32-Bit). Saya tidak tahu dari mana x86_64 berasal: Dari AMD karena ini adalah ekstensi ke x86 atau dari Vendor Unix yang menginginkan istilah netral. - Michael Stum♦
@Jeremy Hajek: AMD64 / x86_64 adalah desain chip 64-bit yang benar, mode 64-bitnya bukan emulasi dan tidak memiliki dampak kinerja (dan faktanya, mode 32-bitnya juga bukan emulasi). Chip ini memiliki set instruksi 64-bit dan register 64-bit, yang membuatnya menjadi chip 64-bit. Saya tidak tahu dari mana Anda mendapat kesan bahwa AMD tidak pernah memasarkan chip 64-bit. Memang benar, bahwa AMD tidak pernah memasarkan 64-bit yang melanggar kompatibilitas dengan chip 32-bit, seperti yang dilakukan Intel dengan IA64-nya. - Lie Ryan


Dari Wikipedia: Istilah x86 mengacu pada keluarga arsitektur rangkaian instruksi berdasarkan pada CPU Intel 8086.


14
2017-10-06 14:52





Secara teknis x86 hanya mengacu pada keluarga prosesor dan set instruksi yang mereka semua gunakan. Itu tidak benar-benar mengatakan sesuatu yang spesifik tentang ukuran data.

x86 dimulai sebagai instruksi 16-bit untuk prosesor 16-bit (prosesor 8086 dan 8088), kemudian diperluas ke set instruksi 32-bit untuk prosesor 32-bit (80386 dan 80486), dan sekarang telah diperluas ke set instruksi 64-bit untuk prosesor 64-bit. Dulu ditulis sebagai 80x86 untuk mencerminkan nilai perubahan di tengah nomor model chip, tetapi di suatu tempat di sepanjang garis 80 di depan dijatuhkan, hanya menyisakan x86.

Menyalahkan Pentium dan keturunannya untuk mengubah cara prosesor diberi nama dan dipasarkan, meskipun semua prosesor baru yang menggunakan set instruksi x86 Intel masih disebut sebagai x86, i386, atau i686 kompatibel (yang berarti mereka semua menggunakan ekstensi dari 8086 asli set instruksi).

x64 benar-benar orang aneh di sini. Nama pertama untuk ekstensi 64-bit ke set x86 disebut x86-64. Ia kemudian bernama AMD64 (karena AMD adalah orang yang datang dengan ekstensi 64-bit awalnya). Intel memberikan lisensi set instruksi 64-bit dan memberi nama EM64T versi mereka. Kedua set instruksi dan prosesor yang menggunakannya semuanya masih dianggap x86.


3
2018-06-07 05:50



x86-64 kembali menjadi istilah vendor-netral yang mencakup AMD64 dan EM64T. Terkemuka 80 selalu ada di nomor bagian, tetapi setelah 80186 menjadi lebih mudah hanya mengatakan 186 vs 8086 vs 386. Pentium tidak pernah secara resmi disebut 586 atau 80586 di nomor bagiannya (cpu-world.com/sspec/Pentium.html); istilah i586 dan i686 hanya berdasarkan pada bidang "keluarga" CPUID tentang bagaimana CPU melaporkan dirinya. - Peter Cordes


x86 dan x64 adalah nama-nama cpu arsitektur. Ada lebih banyak arsitektur cpu daripada hanya jumlah bit per register.

x64 mengambil nama karena lompatan ke 64 bit adalah terbesar perubahan dalam arsitektur dari x86, tetapi lompatan itu jauh dari hanya perubahan.

x86 mendapatkan namanya dari prosesor dan keluarga 8086 yang terhormat, yang termasuk 80286, 80368, 486, dll. Pada waktu x86 itu ditetapkan sebagai nama untuk arsitektur, 32 bit per register tidak dianggap sebagai fitur yang cukup penting untuk membenarkan bangunan. menjadi nama.


3
2017-10-07 18:28





Baik, x64 tidak pernah benar-benar berasal dari set instruksi atau produsen chip. Awalnya berasal dari Windows XP. Edisi 64 bit pertama Windows diberi judul Windows XP x64. Dan saya kira istilah itu x64 terjebak dari sana.

Itu x86 moniker berasal dari set instruksi 32-bit. Jadi semuanya x86 prosesor (tanpa memimpin 80) menjalankan set instruksi 32 bit yang sama (dan karenanya semuanya kompatibel). Begitu x86 telah menjadi nama defacto untuk set itu (dan karenanya 32 bit).

Keluaran 64 bit asli AMD pada x86 set dipanggil AMD64. Intel kemudian melisensikannya, tetapi bahkan masih nama untuk 64 bit x86 set instruksi biasanya AMD64.

Tapi kebanyakan adalah perbedaan merek. Inilah yang beberapa distribusi Sistem Operasi utama yang berbeda memanggil setiap 64 bit rasa:

Jadi pada dasarnya, tampaknya Linux lebih suka x86_64, BSD lebih suka amd64 dan yang lainnya x64...

Tetapi hal yang besar untuk dicatat adalah bahwa mereka semua berarti hal yang sama untuk tujuan pemasaran. Dalam kehalusan mereka berarti hal yang berbeda (baik, amd64 berarti sesuatu yang berbeda x86_64 (yang pertama adalah arsitektur khusus vendor, dan yang terakhir adalah bagian dari dua arsitektur vendor), tetapi x86_64 === x64), tetapi bagi siapa pun kecuali programmer yang menulis dalam perakitan atau kode mesin, itu benar-benar tidak membuat ...


2
2017-10-07 12:50



Semua x64 saat ini sebenarnya AMD-64 sejak IA64 meninggal. - Overmind
@Overmind: x64 dan IA-64 selalu merupakan hal yang terpisah. IA-64 benar-benar tidak terkait dengan x86 atau x86-64. (Kecuali bahwa implementasi awal IA-64 termasuk inti x86 untuk alasan compat, karena Intel ...) - Peter Cordes
Ya itu benar. Tapi "sudah mati, Jim". - Overmind