Soru X64 64bit'i temsil ettiğinde neden x86 32bit'i temsil ediyor? [kapalı]


Benim sorum 32-bit x86 için shorthand 64-bit x64 olduğunda kısa nedenidir?

Sanırım 326 işlemcilerinin hepsi 86'da sona erdiğinde 386 ve 486'lı günlerle ilgili bir şey var, ama kesinlikle 86'da bitmeyen ve hala 32-bit olan işlemciler var mı?

Bunun tarihini bilen var mı, yoksa beni iyi bir bilgi kaynağına yönlendirebilir mi?

Teşekkürler


86
2017-10-06 14:48


Menşei


her zaman bilmedik merak için bu + 1'i bilmek istedi! - Gabriel Guimarães
Bu sabah kendime sordum! - Sean Howat
Bence tam terim x64 değil x86_64 - Kedare
IMHO, "x86" sadece herhangi bir jenerik 32 bit mimarisi anlamına gelmez (ve hiçbir zaman anlam ifade etmez). Daniel'ın cevabı aşağıdaki bilgileri veriyor. 80386'ya eşdeğer (ya da daha eski) olan birçok 32-bit işlemci var ve bugün piyasada hala çok az ve hala iyi durumda. Örneğin, orijinal Macintosh'ta kullanılan 68000 ailesi, 8086'dan daha eskidir. PowerPC'nin yeni olduğunda şöhret iddiası hem x86 hem de 68K için güçlü bir emülasyon desteği. ARM 32-bit, daha modern ve oldukça yaygın. - RBerteig
Onu x64 olarak görmüyorum, en azından böyle yazmam. Ben sırasıyla 32b ve 64b olarak yazarım. - vol7ron


Cevaplar:


Muhtemelen x86 dizisi bir süredir 32 bit işlemci ile eşanlamlı hale geldiğinden, x64 özellikle uygulamalar ve işletim sistemleri geçişi için 64 bitlik bir atamadır ve şimdi çalışabilmesi için 64 bit gösterim gerektiren yazılım uygulamaları vardır. (bazı VM yazılımı gibi).

Başka bir deyişle, bu sebepten dolayı teknolojiden daha fazla pazarlama.


32
2017-10-06 14:53



x86, 8086, 286, 386, 486, 586, vs'den gelir. Kolayca "* 86" olabilirdi. - gWaldo
Ve x86, 8086'dan kaynaklandığından, neden her zaman 32 bit ile ilişkilendirildiğini anlayamadım. Hatırladığım gibi, 8086, 32 bit bellek adreslemeyi etkinleştirmek için çift kayıt kullanan bir 16 bit işlemciydi. Intel o günlerde alanda lider olmaktan uzaktı. BTW @gWaldo, 80186'yı dışarıda bıraktın. - John Gardeniers
Tesadüf. Wikipedia'dan, "Hem mimari hem de fiziksel çip, küçük bir grup insan tarafından oldukça hızlı bir şekilde gelişti ve biraz daha eski 8085 için kullanılan aynı temel mikromimari elemanları ve fiziksel uygulama tekniklerini kullanıyordu (ve bunun için 8086 da işlev görecekti. devamı olarak. Ayrıca 8087 ve 8089 da vardı. - Bart Silverstrim
Evet, 80186'yı dışarıda bıraktım çünkü açık bir ürün olup olmadığını gerçekten hatırlayamadım (ve bakmaya çok tembel geliyordu ...) - gWaldo
Bu cevabın yanlış bir yanı yok, ama dürüst olmak gerekirse Daniel'ın daha detaylı olarak kabul edilmesi gerektiğini düşünüyorum. - Massimo


Eh, bir kez 8086 denilen bir çip, 8088 denilen ve IBM PC adında bir kişisel bilgisayarda kullanılan daha ucuz bir sürümü vardı. Bu çipin geliştirilmiş bir versiyonu yapıldı ve 80186 olarak adlandırıldı, ancak bu çok popüler bir sürüm değildi. Bununla birlikte, geliştirilmiş bir geliştirilmiş versiyonu yapıldı ve 80286 olarak adlandırıldı. Bu, özellikle IBM PC AT adında bir bilgisayarda kullanıldığı için çok popüler bir çipti.

Daha sonra, 16 bit mimariye sahip 8086, 8088, 80186 ve 80286 yongalarını üreten ve satan Intel, başkaları tarafından benzer tekliflerle rekabet etmek için 32 bit çip oluşturma ihtiyacını gördü. Görevdeki konumunun avantajından yararlanmak için, daha önce sözü edilen çipler için üretilmiş yazılımı çalıştırabilen yeni çipi oluşturdu. Doğal olarak, Intel bu yeni çipi 80386 olarak adlandırdı.

O zamana kadar Intel çiplerinin çeşitli versiyonlarını kullanan birçok bilgisayar vardı ve Intel'le uyumlu olan Intel dışı çipler de vardı. Böylece insanlar onlara 80x86 olarak başvurmaya başladılar.

Bir süre sonra, Intel yeni bir çip başlattı, ancak 80'i düşürmeye karar verdi, bu yüzden 80486 yerine 486 oldu. Aynı şekilde, insanlar "80x86" nın önünden "80" ini düşürüyordu ve bu şeyi sadece x86 olarak çağırıyorlardı. .

Şimdi, eminim ki bazıları gelip Intel'in yongalarını x86'larda böyle yaptıkları bir zamanda markalıyorlar, ama umrumda değil.

Gerçek şu ki, giderek artan orta basamağı 80x86'ya yükseldi ve x86, 80186 ve 80286'lar 32 bit olmasa bile bundan geldi.

Yani, Intel nihayet 64 bite ulaştığında, yeni mimarisine ne diyordu? Sağ! Ia64! :-) Ayrıca, x86'dan IA32'ye geriye dönük olarak yeniden isimlendirildi. Sadece IA64 x86 ile uyumlu değildi, yani IA32, yani herkes onu görmezden geldi.

Ardından piyasaya, x86 ailesiyle mümkün olduğu kadar uyumlu 64 bitlik bir CPU istediğine karar veren AMD geldi. Bir pazarlama temyiz olarak, "x86-64" ailesini çağırdılar ve çok başarılılardı. Öyle ki Intel, x86 tabanlı kendi 64 bitlik CPU'yu takip ediyor.

Daha sonra, insanlar tembel olduğu için, x86-64 basitçe x64 olarak bilinirdi.

Yani, sorunuza cevap olarak, x64 x86-64'ten daha kısa olduğu için.


172
2017-10-06 15:23



Harika bir açıklama için +1. - Gup3rSuR4c
Nitelemek için değil, tam olarak kesin olmak için, AMD 64 bitlik bir çipi hiç pazarlamamıştır. x64 veya x86_64 AMD ile birlikte geldi, x86 komut setine eklenmiş x86 komut setine 64 bit eklenti eklendi; bu nedenle x86 komut seti ile karşılaştırılamayacak gerçek 64 bit çip olan Intel'in Itanium (IA_64) 'un aksine x86_64. - Jeremy Hajek
Buna ek olarak, Intel'in ticari marka sorunlarıyla karşılaştığına inanıyorum çünkü onlar sadece sayı kullanıyorlardı ve bir dizi rakamı markalayamazsınız, bu yüzden 80586 ne olurdu, markalamaya devam edebilecekleri bir isim olan Pentium oldu. - cdkMoose
Açıklığa kavuşturmak için: AMD, uzantıları AMD64'ü çağırdı ve Intel, onların (AMD'den lisans aldığı) Intel64'ü çağırıyor. Birkaç ince fark vardır (bunlar% 100 uyumlu değildir), bu yüzden çoğu OS Satıcısı genellikle ortak Altkümeyi kullanır. Bir Windows 2008 DVD'sinde, yükleme klasörü aslında AMD64 (32 Bit'de I386'nın aksine) olarak adlandırılır. X86_64'ün nereden geldiğini bilmiyorum: AMD'den x86'ya uzanan bir uzantı ya da nötr bir terim isteyen Unix-Satıcılardan. - Michael Stum♦
@Jeremy Hajek: AMD64 / x86_64 gerçek bir 64-bit çip tasarımıdır, 64-bit modu bir öykünme değildir ve performans etkisi yoktur (aslında 32-bit modu da bir emülasyon değildir). Çip 64-bit çipine sahip 64-bit komut seti ve 64-bit yazmaçlara sahiptir. AMD'nin 64 bitlik bir çipi hiç pazarlamadığı izlenimini nereden aldığınızı bilmiyorum. Yine de, AMD'nin Intel'in IA64 ile yaptığı gibi, 32 bit çip ile uyumsuzluk yapan bir 64 bit pazarlamadığı doğru. - Lie Ryan


itibaren Vikipedi: X86 terimi, Intel 8086 CPU'ya dayanan bir dizi komut seti mimarisini ifade eder.


14
2017-10-06 14:52





Teknik olarak x86 sadece bir işlemci ailesine ve hepsinin kullandığı komut setine atıfta bulunur. Aslında veri boyutları hakkında belirli bir şey söylemiyor.

x86, 16 bit işlemciler için (8086 ve 8088 işlemciler) 16 bitlik bir komut seti olarak başlatıldı, daha sonra 32-bit işlemciler için (80386 ve 80486) 32-bit komut setine genişletildi ve şimdi genişletildi. 64-bit işlemciler için bir 64-bit komut seti. Çip model numaralarının ortasındaki değişen değeri yansıtmak için 80x86 olarak yazılırdı, ancak çizginin bir kısmı ön taraftaki 80'ini bıraktı ve sadece x86'yı bıraktı.

Intel'in x86 komut setini kullanan tüm yeni işlemciler hala x86, i386 veya i686 uyumlu olarak adlandırılmış olsalar da (yani tüm bunlar orijinal 8086'nın uzantılarını kullanıyorlar), Pentium'u ve işlemcilerin nasıl adlandırıldığını ve pazarlandığını değiştirmek için yavrularını suçlayın. komut seti).

x64 gerçekten buradaki garip adam. X86 kümesinin 64 bit uzantısının ilk adı x86-64 olarak adlandırıldı. Daha sonra AMD64 olarak adlandırıldı (çünkü AMD, orijinal olarak 64 bit uzantı ile gelenlerdi). Intel, 64-bit komut setini lisansladı ve EM64T sürümlerini adlandırdı. Her iki komut seti ve bunları kullanan işlemciler hala x86 olarak kabul edilir.


3
2018-06-07 05:50



x86-64, AMD64 ve EM64T'yi içeren bir satıcı-tarafsız terim olmaya geri döndü. Önde gelen 80, parça numarasında her zaman vardı, ancak 80186'dan sonra daha kolay bir şekilde 186'ya karşılık 8086'ya karşılık 386'ydı. Pentium hiçbir zaman resmi olarak parça numaralarında 586 veya 80586 olarak adlandırılmadı.cpu-world.com/sspec/Pentium.html); i586 ve i686 terimleri, CPU'ların kendilerini nasıl rapor ettikleri konusunda sadece CPUID "aile" alanına dayanıyordu. - Peter Cordes


x86 ve x64, cpu isimleridir mimariler. Bir cpu mimarisine, kayıt başına sadece bit sayısından daha fazlası vardır.

x64 alır ismidir çünkü 64 bit atlamak en büyük x86'dan mimaride değişiklik, ama bu atlama çok uzak sadece değişiklik.

x86, 80286, 80368, 486 vb. dahil olmak üzere saygıdeğer 8086 işlemcisinden ve ailesinden adını alır. x86, mimariye bir isim olarak kurulduğunda, kayıt başına 32 bit, yapıyı doğrulamak için yeterince önemli bir özellik olarak görülmemiştir. adıyla.


3
2017-10-07 18:28





İyi, x64 asla bir talimat setinden veya çip üreticisinden gelmedi. Aslında Windows XP'den geldi. Windows'un ilk 64 bit sürümüne başlık verildi Windows XP x64. Ve sanırım terim x64 oradan sıkışmış.

x86 moniker 32bit komut setinden geliyor. Yani hepsi x86 işlemciler (lider olmadan 80) Aynı 32 bit komut setini çalıştırın (ve dolayısıyla hepsi uyumludur). Yani x86 bu set için bir defacto adı haline geldi (ve dolayısıyla 32 bit).

AMD'nin orijinal 64 bit uzantısı x86 set çağrıldı AMD64. Intel daha sonra lisansladı, ancak yine de 64 bit için isim x86 komut kümesi tipik olarak AMD64.

Ama çoğunlukla marka ayrımı. İşte birkaç farklı büyük İşletim Sistemi dağıtımının her 64 bit çeşidi ne diyor?

Temel olarak, Linux tercih ediyor gibi görünüyor x86_64, BSD tercih ediyor amd64 ve diğerleri x64...

Ancak dikkat edilmesi gereken en önemli şey, hepsinin pazarlama amaçları için aynı şeyi ifade etmeleridir. İncelikte farklı şeyler demek istiyorlar (iyi, amd64 farklı bir şey demektir x86_64 (birincisi satıcıya özel bir mimaridir ve ikincisi iki satıcı mimarisinin alt kümesidir), ancak x86_64 === x64), fakat programcıların montaj ya da makine kodu yazması dışında herkes için farklı bir şey yapmaz.


2
2017-10-07 12:50



Tüm güncel x64 aslında IA64 öldüğünden beri AMD-64. - Overmind
@Overmind: x64 ve IA-64 her zaman ayrı şeylerdi. IA-64, x86 veya x86-64 ile tamamen ilgisizdir. (Bu erken IA-64 uygulamaları hariç, yurttaşlık nedenlerinden dolayı bir x86 çekirdeği içeriyordu, çünkü Intel ...) - Peter Cordes
Evet doğru. Ama "öldü, Jim". - Overmind