سؤال لماذا يمثل x86 32 بت عندما يمثل x64 64 بت؟ [مغلق]


سؤالي هو لماذا الاختصار ل x86 32 بت عند اختزال 64 بت هو x64؟

أظن أن الأمر يتعلق بأيام 386 و 486 ، عندما انتهت جميع المعالجات 32 بت في 86 ، ولكن بالتأكيد كانت هناك معالجات لم تنته في 86 وكانت لا تزال 32 بت؟

لا أحد يعرف تاريخ هذا أو يمكن أن توجهني إلى مصدر جيد للمعلومات؟

شكر


86
2017-10-06 14:48


الأصل


أردت دائمًا معرفة هذا الإجراء 1+ لفضول غير مقنع! - Gabriel Guimarães
أنا فقط سألت نفسي هذا هذا الصباح! - Sean Howat
أعتقد أن المصطلح بالكامل ليس x64 ولكن x86_64 - Kedare
IMHO ، "x 86" لا يعني (و لم يقصد أبداً) فقط أي بنية 32-بت عامة. الجواب دانيال أدناه يعطي التاريخ. هناك الكثير من المعالجات 32 بت التي تكون معاصرة ل (أو أقدم منها) 80386 ، وعدد لا بأس به لا يزال على قيد الحياة وبصحة جيدة في السوق اليوم. عائلة 68000 (المستخدمة في ماكنتوش الأصلي) أقدم بكثير من 8086 ، على سبيل المثال. كانت مطالبة PowerPC في الشهرة عندما كانت جديدة دعم مضاهاة قوي لكل من x86 و 68 K. ARM هو 32 بت ، أكثر حداثة ، وشائع جدا أيضا. - RBerteig
أنا لا أراه ك x64 ، على الأقل أنا لا أقوم بكتابته بهذه الطريقة. أكتبه كما 32b و 64 b ، على التوالي. - vol7ron


الأجوبة:


ربما لأن خط x86 أصبح مرادفاً لمعالجات 32 بت لبعض الوقت ، بينما x64 كان تحديدًا لتعيين 64 بت حيث تم نقل التطبيقات وأنظمة التشغيل ، والآن هناك تطبيقات برمجية تتطلب تعيين 64 بت لكي تعمل (مثل بعض برامج VM).

بعبارة أخرى ، إنه تسويق أكثر من التكنولوجيا لهذا السبب.


32
2017-10-06 14:53



x86 يأتي من 8086 ، 286 ، 386 ، 486 ، 586 ، إلخ. يمكن أن يكون بسهولة "* 86" - gWaldo
ولأن x86 نشأت مع 8086 لم أتمكن من معرفة سبب ارتباطها دائمًا بـ 32 بت. على ما أذكر ، كان 8086 معالج 16 بت ، والذي استخدم تسجيلات مزدوجة لتمكين معالجة الذاكرة 32 بت. كانت إنتل بعيدة كل البعد عن كونها رائدة في هذا المجال في تلك الأيام. راجع للشغلgWaldo ، لقد تركت 80186. - John Gardeniers
صدفة. من ويكيبيديا ، "تم تطوير كل من العمارة والرقاقة الفيزيائية بسرعة كبيرة من قبل مجموعة صغيرة من الناس ، وباستخدام نفس العناصر الأساسية المصغرة الأساسية وتقنيات التنفيذ البدني المستخدمة في الأقدم من 8085 (والتي كان يعمل بها 8086 أيضًا كمتابعة). " كان هناك أيضا 8087 و 8089. - Bart Silverstrim
نعم ، لقد تركت 80186 لأنني بصراحة لا أستطيع أن أتذكر إذا كان المنتج قد تم إصداره (وكان يشعر كسول جدا للبحث عنه ...) - gWaldo
هذا الجواب ليس خطأ ، لكنني أعتقد بصدق أن دانيال يجب أن يكون هو المقبول ، لأنه أكثر تفصيلاً. - Massimo


حسنا ، كانت هناك مرة واحدة شريحة تسمى 8086 ، مع نسخة أرخص دعا 8088 التي كانت تستخدم في جهاز كمبيوتر شخصي يسمى IBM PC. تم إنشاء نسخة محسّنة من هذه الشريحة ودعا 80186 ، على الرغم من أن ذلك لم يكن إصدارًا شائعًا جدًا. ومع ذلك ، تم تحسين نسخة محسنة ، واسمها 80286. الآن ، كانت هذه الشريحة مشهورة للغاية ، خاصة لأنها كانت تستخدم في كمبيوتر يسمى IBM PC AT.

في وقت لاحق ، شهدت شركة إنتل ، التي قامت بإنشاء وبيع رقائق 8086 ، و 8088 ، و 80186 ، و 80286 ، وكلها بنية 16 بت ، الحاجة إلى إنشاء رقاقة 32 بت للتنافس مع العروض المماثلة من قبل الآخرين. للاستفادة من موقعها الحالي ، جعلها رقاقة جديدة قادرة على تشغيل البرامج المصممة للرقائق المذكورة سابقا. بطبيعة الحال ، وصفت شركة إنتل هذه الشريحة الجديدة بـ 80386.

في ذلك الوقت كان هناك الكثير من أجهزة الكمبيوتر التي تستخدم إصدارات مختلفة من رقائق إنتل ، وكانت هناك أيضا رقائق غير إنتل متوافقة مع تلك الخاصة بشركة إنتل. لذلك بدأ الناس يشيرون إليهم على أنهم 80x86.

بعد فترة ، أطلقت شركة إنتل شريحة جديدة ، لكنها قررت إسقاط الـ 80 ، لذا أصبحت 486 بدلا من 80486. وبالمثل ، كان الناس يسقطون "80" من أمام "80x86" ، ويدعو هذه الاشياء فقط x86 .

الآن ، أنا متأكد من أن البعض سيأتون ويقولون أن إنتل صنفوا رقائقهم x86 في وقت كهذا ، وهذا ما فعلوه ، لكنني لا أهتم.

والحقيقة هي أن الرقم الأوسط المتزايد باستمرار قد ارتفع إلى 80x86 ، و x86 جاء من ذلك - حتى لو كان 80186 و 80286 لم يكن 32 بت.

لذا ، بمجرد أن إنتل ذهب أخيرا 64 بت ، ما الذي أسماه الهندسة المعمارية الجديدة؟ حق! IA64! :-) كما إعادة تسمية x86 إلى IA32 بأثر رجعي ، إذا جاز التعبير. كان IA64 فقط غير متوافق مع x86 ، أعني ، IA32 ، لذلك تجاهل الجميع ذلك.

ثم جاء AMD ، الذي قرر أن السوق يريد وحدة المعالجة المركزية 64 بت التي كانت متوافقة ، إلى أقصى حد ممكن ، مع عائلة x86. كنداء تسويقي ، أطلقوا عليه اسم عائلة "x86-64" ، وكانوا ناجحين بشكل كبير. لدرجة أن إنتل انتهى على مضض بعد مع وحدة المعالجة المركزية الخاصة بها 64 بت على أساس x86.

في وقت لاحق ، لأن الناس كسالى ، أصبح x86-64 يعرف ببساطة باسم x64.

لذا ، في الإجابة على سؤالك ، لأن x64 أقصر من x86-64.


172
2017-10-06 15:23



+1 للحصول على تفسير رائع. - Gup3rSuR4c
ليس لأختيار النقطتين ولكن ليكون دقيقًا تمامًا ، لم تسوِّع AMD شريحة 64 بت مطلقًا. x64 أو x86_64 التي خرجت بها AMD كانت ملحقات 64 بت تمت إضافتها إلى مجموعة التعليمات x 86 التي أنشأتها Intel - وبالتالي x86_64 بدلاً من Itanium من Intel (IA_64) التي كانت شريحة 64 بت حقيقية غير متوافقة مع مجموعة تعليمات x86. - Jeremy Hajek
بالإضافة إلى ذلك ، أعتقد أن Intel واجهت مشاكل متعلقة بالعلامات التجارية لأنها كانت تستخدم أرقامًا فقط ولا يمكنك وضع علامة تجارية على سلسلة من الأرقام ، وهذا هو السبب في أن ما كان يمكن أن يكون 80586 هو Pentium ، وهو اسم مكوّن يمكنه متابعة العلامة التجارية. - cdkMoose
للتوضيح: اتصلت AMD بالامتدادات الخاصة بها AMD64 ، وتستدعي Intel اسمائها (التي تم ترخيصها من AMD) Intel64. هناك اختلافات طفيفة قليلة (ليست متوافقة بنسبة 100٪) ، لذلك معظم موردي نظام التشغيل يستخدمون عادة المجموعة الفرعية الشائعة. على قرص DVD الخاص بـ Windows 2008 ، يسمى مجلد التثبيت بالفعل AMD64 (على عكس I386 على 32 بت). لا أعرف من أين يأتي x86_64 من: من AMD نظرًا لأنه امتداد لـ x86 أو من Unix-Vendors الذي يريد مصطلحًا محايدًا. - Michael Stum♦
Jeremy Hajek: AMD64 / x86_64 هو تصميم رقاقة حقيقي 64 بت ، وضعه 64 بت ليس مضاهاة وليس له أي تأثير على الأداء (وفي الواقع ، فإن وضعه 32 بت ليس مضاهاة). تحتوي الشريحة على مجموعة تعليمات 64 بت و 64 بت ، مما يجعلها شريحة 64 بت. لا أعرف من أين تحصل على الانطباع بأن AMD لم تقم بتسويق شريحة 64 بت من. صحيح أن AMD لم تقم بتسويق أي إصدار 64 بت يكسر التوافق مع شريحة 32 بت ، مثلما فعلت إنتل مع IA64. - Lie Ryan


من عند ويكيبيديا: يشير المصطلح x86 إلى مجموعة من البُنى الهندسية القائمة على وحدة المعالجة المركزية Intel 8086.


14
2017-10-06 14:52





من الناحية التقنية ، يشير x86 ببساطة إلى عائلة من المعالجات ومجموعة التعليمات التي يستخدمونها جميعًا. لا يقول في الواقع أي شيء محدد حول أحجام البيانات.

بدء x86 كـ مجموعة إرشادات 16 بت من أجل معالجات 16 بت (8086 و 8088 المعالجات) ، ثم تم توسيعه إلى مجموعة تعليمات 32 بت لمعالجات 32 بت (80386 و 80486) ، وقد تم توسيعه الآن إلى مجموعة تعليمات 64 بت من أجل معالجات 64 بت. كان يتم كتابتها كـ 80x86 لتعكس القيمة المتغيرة في وسط أرقام طراز الشريحة ، ولكن في مكان ما على طول الخط ، تم إسقاط 80 في المقدمة ، تاركًا x86 فقط.

إلقاء اللوم على بنتيوم ونسلها لتغيير الطريقة التي تم بها تسمية المعالجات وتسويقها ، على الرغم من أن جميع المعالجات الحديثة التي تستخدم مجموعة تعليمات x86 من إنتل لا يزال يشار إليها بـ x86 أو i386 أو i686 متوافق (مما يعني أنها تستخدم جميع ملحقات 8086 الأصلية مجموعة التعليمات).

x64 هو حقا رجل غريب من هنا. الاسم الأول لملحق 64 بت إلى مجموعة x86 تم استدعاء x 86-64. تم تسميته لاحقا إلى AMD64 (لأن AMD كانت هي التي تأتي مع ملحق 64 بت أصلا). رخصت إنتل مجموعة التعليمات 64 بت وسمّت نسختها EM64T. لا يزال يتم اعتبار كل من مجموعات التعليمات والمعالجات التي تستخدمها x86.


3
2018-06-07 05:50



تم إرجاع x86-64 إلى مصطلح محايدة بائع يتضمن AMD64 و EM64T. كان الرقم 80 موجودًا دائمًا في رقم الجزء ، ولكن بعد 80186 أصبح من الأسهل قول 186 مقابل 8086 مقابل 386. لم يُطلق على بنتيوم رسميًا 586 أو 80586 في أرقام جزئه (cpu-world.com/sspec/Pentium.html)؛ كانت مصطلحات i586 و i686 تستند فقط إلى حقل "family" الخاص بـ CPUID عن كيفية قيام وحدات المعالجة المركزية بالإبلاغ عن نفسها. - Peter Cordes


x86 و x64 هي أسماء وحدة المعالجة المركزية أبنية. هناك أكثر إلى بنية cpu من عدد البتات فقط لكل سجل.

x64 يأخذ الاسم لأن القفزة إلى 64 بت هي أكبر تغيير في الهندسة المعمارية من x86، لكن تلك القفزة بعيدة عن فقط يتغيرون.

x86 يحصل على اسم من المعالج 8086 والأسرة الموقرة ، والتي شملت 80286 ، 80368 ، 486 ، وما إلى ذلك. في الوقت الذي أصبح فيه x86 تم تأسيسه كاسم للعمارة ، لم يعتبر 32 بت لكل سجل ميزة هامة كافية لتبرير البناء في الاسم.


3
2017-10-07 18:28





حسنا، x64 لم يأت حقا من مجموعة التعليمات أو الشركة المصنعة للرقائق. جاء في الأصل من ويندوز إكس بي. أعطيت الطبعة 64 بت الأولى من ويندوز العنوان Windows XP x64. وأنا أعتقد هذا المصطلح x64 تمسك من هناك.

ال x86 يأتي اللقب من مجموعة التعليمات 32bit. لذلك كل x86 المعالجات (بدون رائد 80) تشغيل نفس مجموعة التعليمات 32 بت (وبالتالي جميع متوافقة). وبالتالي x86 أصبح اسمًا فعّالًا لهذه المجموعة (وبالتالي 32 بت).

تمديد 64 بت الأصلي ل AMD على x86 تم استدعاء مجموعة AMD64. بعد ذلك ، قامت إنتل بترخيصها ، لكنها ما زالت حتى الآن تحمل اسم 64 بت x86 مجموعة التعليمات هو عادة AMD64.

ولكن في الغالب تميز العلامة التجارية. في ما يلي بعض توزيعات نظام التشغيل الرئيسية المختلفة التي تستدعي كل نكهة 64 بت:

في الأساس ، يبدو أن نظام التشغيل Linux يفضل x86_64يفضل BSD amd64 و الاخرون x64...

ولكن الشيء الكبير الذي يجب ملاحظته هو أنها تعني جميعها نفس الشيء لأغراض التسويق. في براعة لا تعني أشياء مختلفة (حسنا ، amd64 يعني شيء مختلف عن x86_64 (السابق كونه معماري خاص ببائع ، والأخير هو مجموعة فرعية من معماريين اثنين من البائعين) ، ولكن x86_64 === x64) ، ولكن لأي شخص ما عدا كتابة المبرمجين في التجميع أو رمز الماكينة ، فإنه لا يجعل الأمر مختلفًا ...


2
2017-10-07 12:50



كل x64 الحالي هو في الواقع AMD-64 منذ توفي IA64. - Overmind
Overmind: x64 و IA-64 كانت دائمًا أشياء منفصلة. لا يرتبط IA-64 تمامًا بـ x86 أو x86-64. (باستثناء أن تطبيقات IA-64 المبكرة شملت x86 الأساسية لأسباب تتعلق بالموافقة ، لأن Intel ...) - Peter Cordes
نعم هذا صحيح. لكن "ميت ، جيم". - Overmind