x86-64


x86-64 (المعروف أيضًا باسم x64 و x86_64 و AMD64 و Intel 64 ) [ملاحظة 1] هو إصدار 64 بت من مجموعة تعليمات x86 ، تم الإعلان عنه لأول مرة في عام 1999. وقد قدم وضعين جديدين للتشغيل، وضع 64 بت ووضع التوافق، بالإضافة إلى وضع ترقيم جديد بأربعة مستويات .
مع وضع 64 بت ووضع الترقيم الجديد، فإنه يدعم كميات أكبر بكثير من الذاكرة الافتراضية والذاكرة المادية مما كان ممكنًا في الإصدارات السابقة ذات 32 بت ، مما يسمح للبرامج بتخزين كميات أكبر من البيانات في الذاكرة. كما يوسع x86-64 السجلات العامة إلى 64 بت، ويوسع عددها من 8 (بعضها كان له وظائف محدودة أو ثابتة، على سبيل المثال لإدارة المكدس) إلى 16 (عامة بالكامل)، ويوفر العديد من التحسينات الأخرى. يتم دعم الحساب العائم من خلال تعليمات إلزامية تشبه SSE2 [ بحاجة لمصدر ] ، ولا تُستخدم سجلات نمط x87 / MMX بشكل عام (ولكنها لا تزال متاحة حتى في وضع 64 بت)؛ بدلاً من ذلك، يتم استخدام مجموعة من 16 سجل متجه ، 128 بت لكل منها. (يمكن لكل سجل تخزين رقم أو رقمين بدقة مزدوجة أو من رقم إلى أربعة أرقام بدقة مفردة ، أو تنسيقات أعداد صحيحة مختلفة.) في وضع 64 بت، يتم تعديل التعليمات لدعم متغيرات 64 بت ووضع العناوين 64 بت .
يسمح وضع التوافق المحدد في الهندسة المعمارية بتشغيل تطبيقات المستخدم ذات 16 بت و32 بت دون تعديل، والتعايش مع تطبيقات 64 بت إذا كان نظام التشغيل 64 بت يدعمها. [11] [ملاحظة 2] نظرًا لأن مجموعات التعليمات الكاملة x86 ذات 16 بت و32 بت تظل مطبقة في الأجهزة دون أي محاكاة وسيطة، يمكن تشغيل هذه الملفات القابلة للتنفيذ القديمة مع القليل من عقوبة الأداء أو بدونها، [13] بينما يمكن للتطبيقات الأحدث أو المعدلة الاستفادة من الميزات الجديدة لتصميم المعالج لتحقيق تحسينات في الأداء. أيضًا، لا يزال المعالج الذي يدعم x86-64 يعمل في الوضع الحقيقي لتحقيق التوافق الكامل مع 8086 ، كما فعلت معالجات x86 التي تدعم الوضع المحمي منذ 80286 .
تم تنفيذ المواصفات الأصلية، التي أنشأتها AMD وأصدرتها في عام 2000، بواسطة AMD و Intel و VIA . كانت بنية AMD K8 الدقيقة ، في معالجات Opteron و Athlon 64 ، أول من طبقها. كانت هذه أول إضافة مهمة إلى بنية x86 التي صممتها شركة أخرى غير Intel. اضطرت Intel إلى اتباع نفس النهج وقدمت عائلة NetBurst المعدلة والتي كانت متوافقة برمجيًا مع مواصفات AMD. قدمت VIA Technologies x86-64 في بنيتها VIA Isaiah، مع VIA Nano .
تم تبني بنية x86-64 بسرعة لأجهزة الكمبيوتر الشخصية والخوادم المكتبية والمحمولة والتي تم تكوينها بشكل شائع لـ 16 جيجابايت ( جيجابايت ) من الذاكرة أو أكثر. لقد حلت بشكل فعال محل بنية Intel Itanium المتوقفة ( IA-64 سابقًا )، والتي كانت تهدف في الأصل إلى استبدال بنية x86. لا تتوافق بنية x86-64 وItanium على مستوى مجموعة التعليمات الأصلية، ولا يمكن تشغيل أنظمة التشغيل والتطبيقات المترجمة لبنية واحدة على الأخرى بشكل أصلي.
أيه إم دي 64

تاريخ
تم إنشاء AMD64 (يشار إليها أيضًا من قبل AMD في أدبياتها ووثائقها باسم "تقنية AMD 64 بت" و"هندسة AMD x86-64") كبديل للهندسة المعمارية IA-64 المختلفة تمامًا والتي صممتها Intel و Hewlett-Packard ، والتي كانت غير متوافقة مع IA-32 ، الإصدار 32 بت من هندسة x86 . أعلنت AMD في الأصل عن AMD64 في عام 1999 [14] بمواصفات كاملة متاحة في أغسطس 2000. [15] نظرًا لأنه لم تتم دعوة AMD أبدًا لتكون طرفًا مساهمًا في بنية IA-64 وكان أي نوع من الترخيص يبدو غير محتمل، فقد وضعت AMD بنية AMD64 منذ البداية كطريقة تطورية لإضافة قدرات الحوسبة 64 بت إلى بنية x86 الحالية مع دعم كود x86 القديم 32 بت ، على عكس نهج Intel في إنشاء بنية 64 بت جديدة تمامًا وغير متوافقة تمامًا مع x86 مع IA-64.
تم إصدار أول معالج يعتمد على AMD64، Opteron ، في أبريل 2003.
التنفيذات
تتضمن معالجات AMD التي تنفذ بنية AMD64 ما يلي: Opteron و Athlon 64 و Athlon 64 X2 و Athlon 64 FX و Athlon II (متبوعًا بـ "X2" أو "X3" أو "X4" للإشارة إلى عدد النوى ونماذج XLT) و Turion 64 و Turion 64 X2 و Sempron ("Palermo" E6 stepping وجميع نماذج "Manila") و Phenom (متبوعًا بـ "X3" أو "X4" للإشارة إلى عدد النوى) و Phenom II (متبوعًا بـ "X2" أو "X3" أو "X4" أو "X6" للإشارة إلى عدد النوى) و FX و Fusion/APU و Ryzen / Epyc .
المميزات المعمارية
السمة الأساسية المميزة لـ AMD64 هي توفر سجلات المعالجات العامة ذات 64 بت (على سبيل المثال، rax )، والعمليات الحسابية والمنطقية ذات 64 بت، والعناوين الافتراضية ذات 64 بت . [ 16 ] اغتنم المصممون الفرصة لإجراء تحسينات أخرى أيضًا.
تتضمن التغييرات الملحوظة في ملحقات 64 بت ما يلي:
- القدرة على التعامل مع الأعداد الصحيحة 64 بت
- يتم توسيع جميع السجلات العامة (GPRs) من 32 بت إلى 64 بت، ويمكن لجميع العمليات الحسابية والمنطقية، وعمليات الذاكرة إلى السجل وعمليات السجل إلى الذاكرة، وما إلى ذلك، أن تعمل مباشرة على الأعداد الصحيحة 64 بت. يتم تنفيذ عمليات الدفع والنقر على المكدس بشكل افتراضي بخطوات 8 بايت، ويبلغ عرض المؤشرات 8 بايت.
- سجلات إضافية
- بالإضافة إلى زيادة حجم السجلات العامة، يتم زيادة عدد السجلات العامة المسماة من ثمانية (أي eax و ecx و edx و ebx و esp و ebp و esi و edi ) في x86 إلى 16 (أي rax وrcx وrdx وrbx وrsp وrbp وrsi وrdi و r8 و r9 و r10 و r11 و r12 و r13 و r14 و r15 ) . وبالتالي ، من الممكن الاحتفاظ بمزيد من المتغيرات المحلية في السجلات بدلاً من وضعها على المكدس، والسماح للسجلات بحمل الثوابت التي يتم الوصول إليها بشكل متكرر؛ كما يمكن تمرير الوسائط للبرامج الفرعية الصغيرة والسريعة في السجلات إلى حد أكبر.
- لا يزال AMD64 يحتوي على عدد أقل من السجلات مقارنة بالعديد من مجموعات تعليمات RISC (على سبيل المثال، يحتوي Power ISA على 32 GPRs؛ تحتوي ARM 64 بت و RISC-V I و SPARC و Alpha و MIPS و PA-RISC على 31) أو أجهزة تشبه VLIW مثل IA-64 (التي تحتوي على 128 سجلاً). ومع ذلك، قد يحتوي تنفيذ AMD64 على سجلات داخلية أكثر بكثير من عدد السجلات المعمارية التي تعرضها مجموعة التعليمات (انظر إعادة تسمية السجلات ). (على سبيل المثال، تحتوي نوى AMD Zen على 168 سجلاً داخليًا ماديًا صحيحًا 64 بت و160 سجلاً عائمًا متجهًا 128 بت.)
- سجلات XMM (SSE) الإضافية
- وبالمثل، يتم أيضًا زيادة عدد سجلات XMM ذات 128 بت (المستخدمة لإرشادات Streaming SIMD ) من 8 إلى 16.
- لا يتم تضمين مجموعة سجلات FPU التقليدية x87 في امتداد حجم ملف السجل في وضع 64 بت، مقارنة بسجلات XMM المستخدمة بواسطة SSE2، والتي تم توسيعها. لا تعد مجموعة سجلات x87 ملف سجل بسيطًا على الرغم من أنها تسمح بالوصول المباشر إلى السجلات الفردية من خلال عمليات التبادل منخفضة التكلفة.
- مساحة عنوان افتراضية أكبر
- تحدد بنية AMD64 تنسيق عنوان افتراضي مكون من 64 بت، حيث يتم استخدام 48 بت من الترتيب المنخفض في التنفيذات الحالية. [11] : 120 وهذا يسمح بما يصل إلى 256 تيرابايت (2 48 بايت ) من مساحة العنوان الافتراضي. يسمح تعريف البنية برفع هذا الحد في التنفيذات المستقبلية إلى 64 بت كاملة، [11] : 2 : 3 : 13 : 117 : 120 مما يوسع مساحة العنوان الافتراضي إلى 16 إي آي بي (2 64 بايت). [17] وهذا بالمقارنة مع 4 جيجابايت فقط (2 32 بايت) لـ x86. [18]
- يعني هذا أنه يمكن تشغيل ملفات كبيرة جدًا عن طريق تعيين الملف بأكمله في مساحة عنوان العملية (وهو ما يكون أسرع كثيرًا في كثير من الأحيان من العمل مع مكالمات القراءة/الكتابة للملف)، بدلاً من الاضطرار إلى تعيين مناطق الملف داخل وخارج مساحة العنوان.
- مساحة عنوان مادية أكبر
- نفذ التنفيذ الأصلي لهندسة AMD64 عناوين مادية بطول 40 بت وبالتالي يمكنه معالجة ما يصل إلى 1 تيرا بايت (2 40 بايت) من ذاكرة الوصول العشوائي. [11] : 24 توسع التنفيذات الحالية لهندسة AMD64 (بدءًا من هندسة AMD 10h الدقيقة ) هذا إلى عناوين مادية بطول 48 بت [19] وبالتالي يمكنه معالجة ما يصل إلى 256 تيرا بايت (2 48 بايت) من ذاكرة الوصول العشوائي. تسمح الهندسة بتوسيع هذا إلى 52 بت في المستقبل [11] : 24 [20] (محدود بتنسيق إدخال جدول الصفحات)؛ [11] : 131 سيسمح هذا بمعالجة ما يصل إلى 4 بي بي من ذاكرة الوصول العشوائي. للمقارنة، تقتصر معالجات x86 ذات 32 بت على 64 جيجابايت من ذاكرة الوصول العشوائي في وضع تمديد العنوان المادي (PAE)، [21] أو 4 جيجابايت من ذاكرة الوصول العشوائي بدون وضع PAE. [11] : 4
- مساحة عنوان مادية أكبر في الوضع القديم
- عند التشغيل في الوضع القديم، تدعم بنية AMD64 وضع امتداد العنوان المادي (PAE)، كما تفعل معظم معالجات x86 الحالية، ولكن AMD64 توسع PAE من 36 بت إلى حد معماري يبلغ 52 بت من العنوان المادي. وبالتالي، فإن أي تنفيذ يسمح بنفس حد العنوان المادي كما هو الحال في الوضع الطويل . [11] : 24
- تعليمات مؤشر الوصول إلى البيانات النسبية
- يمكن الآن للتعليمات الرجوع إلى البيانات المتعلقة بمؤشر التعليمات (سجل RIP). وهذا يجعل الكود المستقل عن الموضع ، كما هو مستخدم غالبًا في المكتبات المشتركة والكود المحمل في وقت التشغيل، أكثر كفاءة.
- تعليمات SSE
- اعتمدت بنية AMD64 الأصلية SSE و SSE2 من Intel كتعليمات أساسية. توفر مجموعات التعليمات هذه مكملًا متجهًا لوحدة معالجة النقطة العائمة القياسية x87 ، لأنواع البيانات ذات الدقة المفردة والدقة المزدوجة. تقدم SSE2 أيضًا عمليات متجهة صحيحة، لأنواع البيانات التي تتراوح دقتها من 8 بت إلى 64 بت. هذا يجعل قدرات المتجهات للبنية على قدم المساواة مع تلك الموجودة في أكثر معالجات x86 تقدمًا في وقتها. يمكن أيضًا استخدام هذه التعليمات في وضع 32 بت. أدى انتشار معالجات 64 بت إلى جعل قدرات المتجهات هذه منتشرة في أجهزة الكمبيوتر المنزلية، مما يسمح بتحسين معايير تطبيقات 32 بت. تتطلب نسخة 32 بت من Windows 8، على سبيل المثال، وجود تعليمات SSE2. [22] تعليمات SSE3 ومجموعات تعليمات Streaming SIMD Extensions اللاحقة ليست ميزات قياسية للبنية.
- بت عدم التنفيذ
- يسمح بت No-Execute أو بت NX (البت 63 من إدخال جدول الصفحات) لنظام التشغيل بتحديد الصفحات التي يمكن أن تحتوي على كود قابل للتنفيذ والتي لا يمكن أن تحتوي عليه في مساحة العنوان الافتراضية. ستؤدي محاولة تنفيذ كود من صفحة تحمل علامة "no execute" إلى انتهاك الوصول إلى الذاكرة، على غرار محاولة الكتابة إلى صفحة للقراءة فقط. يجب أن يجعل هذا من الصعب على الكود الضار السيطرة على النظام عبر هجمات " تجاوز المخزن المؤقت " أو "المخزن المؤقت غير المفحوص". كانت ميزة مماثلة متاحة في معالجات x86 منذ 80286 كسمة من سمات موصوفات القطاعات ؛ ومع ذلك، لا تعمل هذه الميزة إلا على قطاع كامل في كل مرة.
- لقد اعتُبر العنونة المجزأة لفترة طويلة أسلوبًا قديمًا للعمل، وتتجاوزه جميع أنظمة تشغيل الكمبيوتر الحالية فعليًا، حيث يتم تعيين جميع الأجزاء على عنوان أساسي يساوي صفرًا وحجم 4 جيجابايت (في تنفيذها 32 بت). كانت AMD أول شركة مصنعة لعائلة x86 تنفذ عدم التنفيذ في وضع العنونة الخطية. تتوفر الميزة أيضًا في الوضع القديم على معالجات AMD64 ومعالجات Intel x86 الحديثة، عند استخدام PAE.
- إزالة الميزات القديمة
- كانت بعض ميزات "برمجة النظام" الخاصة بهندسة x86 إما غير مستخدمة أو مستخدمة بشكل أقل في أنظمة التشغيل الحديثة وهي إما غير متوفرة على AMD64 في الوضع الطويل (64 بت والتوافق)، أو موجودة فقط في شكل محدود. وتشمل هذه العنونة المجزأة (على الرغم من الاحتفاظ بقطاعي FS وGS في شكل أثري لاستخدامهما كمؤشرات إضافية أساسية لهياكل نظام التشغيل)، [11] : 70 آلية تبديل حالة المهمة ، ووضع 8086 الافتراضي . تظل هذه الميزات منفذة بالكامل في "الوضع القديم"، مما يسمح لهذه المعالجات بتشغيل أنظمة تشغيل 32 بت و16 بت دون تعديلات. بعض التعليمات التي ثبت أنها نادرة الفائدة لا يتم دعمها في وضع 64 بت، بما في ذلك حفظ/استعادة سجلات القطاعات على المكدس، وحفظ/استعادة جميع السجلات (PUSHA/POPA)، والحسابات العشرية، وتعليمات BOUND وINTO، والقفزات "البعيدة" والمكالمات مع المتغيرات الفورية.
تفاصيل مساحة العنوان الافتراضية
عناوين النموذج الكنسي
على الرغم من أن العناوين الافتراضية يبلغ عرضها 64 بتًا في وضع 64 بت، فإن التنفيذات الحالية (وكل الرقائق المعروفة بأنها في مراحل التخطيط) لا تسمح باستخدام مساحة العنوان الافتراضية بالكامل التي تبلغ 2 64 بايت (16 EiB ). سيكون هذا أكبر بحوالي أربعة مليارات مرة من حجم مساحة العنوان الافتراضية على الأجهزة ذات 32 بت. لن تحتاج معظم أنظمة التشغيل والتطبيقات إلى مثل هذه المساحة الكبيرة للعناوين في المستقبل المنظور، لذا فإن تنفيذ مثل هذه العناوين الافتراضية الواسعة من شأنه ببساطة أن يزيد من تعقيد وتكلفة ترجمة العناوين دون أي فائدة حقيقية. لذلك، قررت AMD أنه في التنفيذات الأولى للهندسة المعمارية، سيتم استخدام أقل 48 بت أهمية فقط من العنوان الافتراضي في ترجمة العناوين ( البحث في جدول الصفحات ). [11] : 120
بالإضافة إلى ذلك، تتطلب مواصفات AMD أن تكون البتات الـ 16 الأكثر أهمية لأي عنوان افتراضي، البتات من 48 إلى 63، نسخًا من البت 47 (بطريقة تشبه امتداد الإشارة ). إذا لم يتم استيفاء هذا المطلب، فسيثير المعالج استثناءً. [11] : 131 يشار إلى العناوين التي تمتثل لهذه القاعدة باسم "الشكل الأساسي". [11] : 130 تتراوح عناوين الشكل الأساسي من 0 إلى 00007FFF'FFFFFFFF، ومن FFFF8000'0000000 إلى FFFFFFFF'FFFFFFFF، بإجمالي 256 تيرابايت من مساحة العنوان الافتراضي القابلة للاستخدام. لا يزال هذا أكبر بمقدار 65536 مرة من مساحة العنوان الافتراضية التي تبلغ 4 جيجابايت للأجهزة ذات 32 بت.
تسهل هذه الميزة التوسع لاحقًا إلى عنونة 64 بت حقيقية. تأخذ العديد من أنظمة التشغيل (بما في ذلك، على سبيل المثال لا الحصر، عائلة Windows NT ) النصف الأعلى عنونة من مساحة العنوان ( مساحة النواة المسماة ) لأنفسها وتترك النصف الأدنى عنونة ( مساحة المستخدم ) لرمز التطبيق ومكدسات وضع المستخدم والأكوام ومناطق البيانات الأخرى. [23] يضمن تصميم "العنوان الأساسي" أن كل تنفيذ متوافق مع AMD64 لديه، في الواقع، نصفي ذاكرة: يبدأ النصف الأدنى عند 00000000'00000000 و"ينمو لأعلى" مع توفر المزيد من بتات العنوان الظاهري، بينما النصف الأعلى "مُرسى" في أعلى مساحة العنوان وينمو لأسفل. كما أن فرض "الشكل الأساسي" للعناوين من خلال التحقق من بتات العناوين غير المستخدمة يمنع استخدامها بواسطة نظام التشغيل في المؤشرات المميزة كأعلام وعلامات امتياز وما إلى ذلك، حيث يمكن أن يصبح هذا الاستخدام مشكلة عندما يتم توسيع البنية التحتية لتنفيذ المزيد من بتات العناوين الافتراضية.
لم تستخدم الإصدارات الأولى من Windows لـ x64 حتى 256 تيرابايت بالكامل؛ فقد اقتصرت على 8 تيرابايت فقط من مساحة المستخدم و8 تيرابايت من مساحة النواة. [23] لم يدعم Windows مساحة العنوان بالكامل المكونة من 48 بت حتى Windows 8.1 ، الذي تم إصداره في أكتوبر 2013. [23]
هيكل جدول الصفحات

وضع العنونة 64 بت (" الوضع الطويل ") هو مجموعة فرعية من ملحقات العناوين المادية (PAE)؛ ولهذا السبب، قد تكون أحجام الصفحات 4 كيلوبايت (2 12 بايت) أو 2 ميجا بايت (2 21 بايت). [11] : 120 يدعم الوضع الطويل أيضًا أحجام صفحات 1 جيجابايت (2 30 بايت). [11] : 120 بدلاً من نظام جدول الصفحات ثلاثي المستويات المستخدم بواسطة الأنظمة في وضع PAE، تستخدم الأنظمة التي تعمل في الوضع الطويل أربعة مستويات من جدول الصفحات: يتم توسيع جدول مؤشر دليل الصفحة الخاص بـ PAE من أربعة إدخالات إلى 512، ويتم إضافة جدول خريطة صفحة المستوى 4 (PML4) إضافي ، يحتوي على 512 إدخالاً في تنفيذات 48 بت. [11] : 131 سوف يستغرق التسلسل الهرمي الكامل لصفحات 4 كيلوبايت لكامل مساحة 48 بت ما يزيد قليلاً عن 512 جيجابايت من الذاكرة (حوالي 0.195% من المساحة الافتراضية 256 تيرابايت).
إدخال جدول الصفحات 64 بت أجزاء: 63 62 … 52 51 … 32 محتوى: نيكس محجوز بت 51...32 من عنوان القاعدة أجزاء: 31 … 12 11 … 9 8 7 6 5 4 3 2 1 0 محتوى: بت 31...12 من عنوان القاعدة إشعال. ج بات د أ بي سي دي بي دبليو تي نحن قراءة/كتابة ص
نفذت شركة إنتل مخططًا بجدول صفحات من 5 مستويات ، مما يسمح لمعالجات إنتل 64 بدعم مساحة عنوان افتراضية 57 بت. [24] قد تسمح التوسعات الإضافية بمساحة عنوان افتراضية كاملة 64 بت وذاكرة مادية مع أوصاف جدول صفحات 12 بت وإزاحات ذاكرة 16 أو 21 بت لأحجام تخصيص صفحات 64 كيلوبايت و2 ميجا بايت؛ سيتم توسيع إدخال جدول الصفحات إلى 128 بت لدعم علامات الأجهزة الإضافية لحجم الصفحة وحجم مساحة العنوان الافتراضية. [25]
حدود نظام التشغيل
يمكن لنظام التشغيل أيضًا تحديد مساحة العنوان الافتراضية. يتم تقديم التفاصيل، عند الاقتضاء، في قسم "توافق نظام التشغيل وخصائصه".
تفاصيل مساحة العنوان الفعلية
تدعم معالجات AMD64 الحالية مساحة عنوان فعلية تصل إلى 2 48 بايت من ذاكرة الوصول العشوائي، أو 256 تيرا بايت . [19] ومع ذلك، اعتبارًا من عام 2020 [تحديث]، لم تكن هناك لوحات أم x86-64 معروفة تدعم 256 تيرا بايت من ذاكرة الوصول العشوائي. [26] [27] [28] [29] [ فشل التحقق ] قد يفرض نظام التشغيل حدودًا إضافية على مقدار ذاكرة الوصول العشوائي القابلة للاستخدام أو المدعومة. يتم تقديم تفاصيل حول هذه النقطة في قسم "توافق نظام التشغيل وخصائصه" من هذه المقالة.
أوضاع التشغيل
تتمتع الهندسة المعمارية بوضعين أساسيين للتشغيل: الوضع الطويل والوضع القديم.
| التشغيل | نظام التشغيل المطلوب | نوع الكود الذي يتم تشغيله | الحجم (بالبت) | عدد السجلات العامة | ||
|---|---|---|---|---|---|---|
| وضع | الوضع الفرعي | العناوين | المتغيرات ( الإفتراضية بالخط المائل ) | |||
| الوضع الطويل | وضع 64 بت | نظام تشغيل 64 بت، أو برنامج UEFI الثابت 64 بت ، أو التفاعل بين الاثنين السابقين عبر واجهة UEFI للبرنامج الثابت 64 بت | 64 بت | 64 | 8، 16، 32 ، 64 | 16 |
| وضع التوافق | أداة تحميل التشغيل أو نظام التشغيل 64 بت | 32 بت | 32 | 8، 16، 32 | 8 | |
| وضع الحماية 16 بت | 16 | 8، 16 ، 32 | 8 | |||
| الوضع القديم | الوضع المحمي | أداة تحميل التشغيل ، أو نظام التشغيل 32 بت، أو برنامج UEFI الثابت 32 بت، أو الأخيران يتفاعلان عبر واجهة UEFI الثابتة | 32 بت | 32 | 8، 16، 32 | 8 |
| نظام تشغيل الوضع المحمي 16 بت | وضع الحماية 16 بت | 16 | 8، 16 ، 32 [م 1] | 8 | ||
| الوضع الافتراضي 8086 | وضع الحماية 16 بت أو نظام التشغيل 32 بت | مجموعة فرعية من الوضع الحقيقي | 16 | 8، 16 ، 32 [م 1] | 8 | |
| الوضع غير الواقعي | أداة تحميل التشغيل أو نظام التشغيل في الوضع الحقيقي | الوضع الحقيقي | 16، 20، 32 | 8، 16 ، 32 [م 1] | 8 | |
| الوضع الحقيقي | أداة تحميل التشغيل ، أو نظام التشغيل في الوضع الحقيقي، أو أي نظام تشغيل يتفاعل مع واجهة BIOS للبرنامج الثابت [30] | الوضع الحقيقي | 16، 20، 21 | 8، 16 ، 32 [م 1] | 8 | |
- ^ abcd لاحظ أن الكود المكون من 16 بت والمكتوب لـ 80286 وما دونه لا يستخدم تعليمات متغيرات مكونة من 32 بت. يمكن للكود المكتوب لـ 80386 وما فوق استخدام بادئة تجاوز حجم المتغير (0x66). عادةً ما يتم استخدام هذه البادئة بواسطة الكود المحمي والطويل لغرض استخدام متغيرات مكونة من 16 بت، حيث سيتم تشغيل هذا الكود في مقطع كود بحجم متغير افتراضي يبلغ 32 بت. في الوضع الحقيقي، يكون حجم المتغير الافتراضي 16 بت، لذلك يتم تفسير البادئة 0x66 بشكل مختلف، مما يؤدي إلى تغيير حجم المتغير إلى 32 بت.

الوضع الطويل
الوضع الطويل هو الوضع الأساسي المقصود للهندسة المعمارية للعمل؛ وهو عبارة عن مزيج من الوضع الأصلي للمعالج 64 بت ووضع التوافق المشترك 32 بت و16 بت. ويستخدمه أنظمة التشغيل 64 بت. وفي ظل نظام تشغيل 64 بت، تعمل برامج 64 بت في وضع 64 بت، وتعمل تطبيقات الوضع المحمي 32 بت و16 بت (التي لا تحتاج إلى استخدام الوضع الحقيقي أو الوضع الافتراضي 8086 من أجل التنفيذ في أي وقت) في وضع التوافق. لا يمكن تشغيل برامج الوضع الحقيقي والبرامج التي تستخدم الوضع الافتراضي 8086 في أي وقت في الوضع الطويل ما لم يتم محاكاة هذه الأوضاع في البرنامج. [11] : 11 ومع ذلك، يمكن بدء تشغيل مثل هذه البرامج من نظام تشغيل يعمل في الوضع الطويل على المعالجات التي تدعم VT-x أو AMD-V عن طريق إنشاء معالج افتراضي يعمل في الوضع المطلوب.
نظرًا لأن مجموعة التعليمات الأساسية هي نفسها، فلا توجد عقوبة أداء تقريبًا لتشغيل كود الوضع المحمي x86. وهذا على عكس IA-64 من Intel ، حيث تعني الاختلافات في مجموعة التعليمات الأساسية أن تشغيل كود 32 بت يجب أن يتم إما في محاكاة x86 (مما يجعل العملية أبطأ) أو باستخدام معالج مساعد مخصص لـ x86. ومع ذلك، على منصة x86-64، يمكن أن تستفيد العديد من تطبيقات x86 من إعادة التجميع 64 بت ، بسبب السجلات الإضافية في كود 64 بت ودعم FPU المستند إلى SSE2 المضمون، والذي يمكن للمترجم استخدامه للتحسين. ومع ذلك، ستحتاج التطبيقات التي تتعامل بانتظام مع الأعداد الصحيحة الأوسع من 32 بت، مثل الخوارزميات التشفيرية، إلى إعادة كتابة الكود الذي يتعامل مع الأعداد الصحيحة الضخمة من أجل الاستفادة من سجلات 64 بت.
الوضع القديم
الوضع القديم هو الوضع الذي يكون فيه المعالج عندما لا يكون في الوضع الطويل. [11] : 14 في هذا الوضع، يتصرف المعالج مثل معالج x86 الأقدم، ولا يمكن تنفيذ سوى التعليمات البرمجية ذات 16 بت و32 بت. يسمح الوضع القديم بحد أقصى للعنونة الافتراضية 32 بت مما يحد من مساحة العنوان الافتراضية إلى 4 جيجابايت. [11] : 14 : 24 : 118 لا يمكن تشغيل برامج 64 بت من الوضع القديم.
الوضع المحمي
تم تحويل الوضع المحمي إلى وضع فرعي للوضع القديم. [11] : 14 وهو الوضع الفرعي الذي تعمل به أنظمة التشغيل ذات 32 بت وأنظمة التشغيل ذات الوضع المحمي ذات 16 بت عند التشغيل على وحدة معالجة مركزية x86-64. [11] : 14
الوضع الحقيقي
الوضع الحقيقي هو الوضع الأولي للعملية عند تهيئة المعالج، وهو وضع فرعي للوضع القديم. وهو متوافق مع معالجات Intel 8086 و Intel 8088 الأصلية . يستخدم الوضع الحقيقي بشكل أساسي اليوم بواسطة برامج تشغيل التمهيد لنظام التشغيل، والتي تتطلبها البنية لتكوين تفاصيل الذاكرة الافتراضية قبل الانتقال إلى أوضاع أعلى. يستخدم هذا الوضع أيضًا أي نظام تشغيل يحتاج إلى التواصل مع البرامج الثابتة للنظام باستخدام واجهة تقليدية على غرار BIOS . [30]
إنتل 64
Intel 64 هو تنفيذ Intel لـ x86-64، والذي يتم استخدامه وتنفيذه في العديد من المعالجات التي تصنعها Intel.
تاريخ
تاريخيًا، قامت AMD بتطوير وإنتاج معالجات بمجموعات تعليمات مصممة وفقًا للتصميمات الأصلية الخاصة بشركة Intel، ولكن مع x86-64، انعكست الأدوار: وجدت Intel نفسها في وضع يتعين عليها فيه تبني ISA الذي أنشأته AMD كملحق لخط معالج x86 الخاص بشركة Intel.
كان اسم مشروع إنتل في الأصل Yamhill [31] (على اسم نهر Yamhill في وادي Willamette في ولاية أوريجون). وبعد عدة سنوات من إنكار وجوده، أعلنت إنتل في مؤتمر IDF في فبراير 2004 أن المشروع كان قيد التنفيذ بالفعل. واعترف رئيس إنتل في ذلك الوقت، كريج باريت ، بأن هذا كان أحد أسوأ أسرارهم المخفية. [32] [33]
لقد تغير اسم Intel لمجموعة التعليمات هذه عدة مرات. كان الاسم المستخدم في IDF هو CT [34] (من المفترض [ بحث أصلي؟ ] لـ Clackamas Technology ، وهو اسم رمزي آخر من نهر أوريجون )؛ وفي غضون أسابيع بدأوا في الإشارة إليه باسم IA-32e ( لامتدادات IA-32 ) وفي مارس 2004 كشفوا عن الاسم "الرسمي" EM64T (Extended Memory 64 Technology). في أواخر عام 2006 بدأت Intel بدلاً من ذلك في استخدام اسم Intel 64 لتنفيذه، بالتوازي مع استخدام AMD للاسم AMD64. [35]
كان أول معالج ينفذ Intel 64 هو معالج Xeon متعدد المقابس المسمى Nocona في يونيو 2004. وعلى النقيض من ذلك، لم تمكن رقائق Prescott الأولية (فبراير 2004) هذه الميزة. بدأت Intel لاحقًا في بيع معالجات Pentium 4 الممكّنة لـ Intel 64 باستخدام إصدار E0 من نواة Prescott، والتي يتم بيعها في سوق OEM باسم Pentium 4، طراز F. يضيف إصدار E0 أيضًا eXecute Disable (XD) (اسم Intel لبت NX ) إلى Intel 64، وتم تضمينه في Xeon الحالي المسمى Irwindale . كان الإطلاق الرسمي لشركة Intel لمعالج Intel 64 (تحت اسم EM64T في ذلك الوقت) في معالجات سطح المكتب السائدة هو Prescott-2M المتدرجة N0.
أول معالج محمول من Intel ينفذ Intel 64 هو إصدار Merom من معالج Core 2 ، والذي تم إصداره في 27 يوليو 2006. لا يوجد أي من وحدات المعالجة المركزية السابقة لأجهزة الكمبيوتر المحمولة من Intel ( Core Duo ، Pentium M ، Celeron M ، Mobile Pentium 4 ) ينفذ Intel 64.
التنفيذات
تتضمن معالجات Intel التي تنفذ بنية Intel64 سلسلة Pentium 4 F/5x1، و506، و516، ونماذج Celeron D 3x1، و3x6، و355، و347، و352، و360، و365 وجميع إصدارات Celeron اللاحقة ، وجميع نماذج Xeon منذ " Nocona "، وجميع نماذج معالجات Pentium Dual-Core منذ " Merom-2M "، و Atom 230، و330، وD410، وD425، وD510، وD525، وN450، وN455، وN470، وN475، وN550، وN570، وN2600، وN2800، وجميع إصدارات معالجات Pentium D ، و Pentium Extreme Edition ، و Core 2 ، وCore i9 ، و Core i7 ، و Core i5 ، و Core i3 ، ومعالجات Xeon معالجات سلسلة Phi 7200.
إكس 86 إس
X86S هو تبسيط لـ x86-64 اقترحته شركة Intel في مايو 2023 لمنتجاتها "Intel 64". [36] ستزيل البنية الجديدة الدعم لأنظمة التشغيل 16 بت و32 بت، بينما ستظل برامج 32 بت تعمل تحت نظام تشغيل 64 بت. لن يكون لدى وحدة المعالجة المركزية وضع قديم، وستبدأ مباشرة في وضع 64 بت الطويل . ستكون هناك طريقة للتبديل إلى ترحيل الصفحات على 5 مستويات دون المرور بالوضع غير المقسم. تتضمن الميزات المحذوفة المحددة ما يلي: [37]
- بوابات التجزئة
- حلقة 32 بت 0
- لن يقوم VT-x بمحاكاة هذه الميزة بعد الآن
- الحلقات 1 و 2
- الوصول إلى منفذ الإدخال/الإخراج الدائري 3 ( IN / OUT )؛ راجع منفذ الإدخال/الإخراج المخصص
- منفذ سلسلة الإدخال/الإخراج ( INS / OUTS )
- الوضع الحقيقي (بما في ذلك الوضع الحقيقي الضخم )، والوضع المحمي 16 بت، وVM86
- وضع العنونة 16 بت
- لن يوفر VT-x الوضع غير المقيد بعد الآن
- دعم 8259 ؛ APIC الوحيد المدعوم سيكون X2APIC
- بعض أجزاء وضع نظام التشغيل غير المستخدمة
- بروتوكول بدء التشغيل IPI (SIPI) 16 بت و32 بت
تعتقد شركة Intel أن التغيير يأتي منطقيًا بعد إزالة بوابة A20 في عام 2008 وإزالة دعم أنظمة التشغيل 16 بت و32 بت في البرامج الثابتة لشركة Intel في عام 2020. سيتم إنجاز دعم أنظمة التشغيل القديمة من خلال المحاكاة الافتراضية المعجلة بالأجهزة و/أو محاكاة الحلقة 0. [37]
إضافات الأداء المتقدمة
Advanced Performance Extensions هو اقتراح من Intel لعام 2023 يتضمن تعليمات جديدة و16 سجلاً إضافيًا للأغراض العامة.
تنفيذ VIA x86-64
قدمت شركة VIA Technologies أول تنفيذ لها لهندسة x86-64 في عام 2008 بعد خمس سنوات من التطوير بواسطة قسم وحدة المعالجة المركزية الخاص بها، Centaur Technology . [38] تم الكشف عن هندسة 64 بت، والتي تحمل الاسم الرمزي "Isaiah"، في 24 يناير 2008، [39] وتم إطلاقها في 29 مايو تحت اسم العلامة التجارية VIA Nano . [40]
يدعم المعالج عددًا من ملحقات x86 الخاصة بـ VIA والمصممة لتعزيز الكفاءة في الأجهزة منخفضة الطاقة. ومن المتوقع أن تكون بنية Isaiah أسرع بمرتين في أداء الأعداد الصحيحة وأسرع بأربع مرات في أداء الفاصلة العائمة من الجيل السابق VIA Esther بسرعة ساعة مكافئة . ومن المتوقع أيضًا أن يكون استهلاك الطاقة على قدم المساواة مع وحدات المعالجة المركزية VIA من الجيل السابق، مع طاقة التصميم الحراري تتراوح من 5 وات إلى 25 وات. [41] نظرًا لكونه تصميمًا جديدًا تمامًا، فقد تم بناء بنية Isaiah بدعم ميزات مثل مجموعة تعليمات x86-64 ومحاكاة x86 التي لم تكن متوفرة في سابقاتها، خط VIA C7 ، مع الاحتفاظ بامتدادات التشفير الخاصة بها.
مستويات العمارة الدقيقة
في عام 2020، من خلال التعاون بين AMD وIntel و Red Hat و SUSE ، تم تعريف ثلاثة مستويات للهندسة المعمارية الدقيقة (أو مستويات الميزات) أعلى خط الأساس x86-64: x86-64-v2 وx86-64-v3 وx86-64-v4. [42] [43] تحدد هذه المستويات ميزات محددة يمكن للمبرمجين استهدافها لتوفير تحسينات وقت التجميع. الميزات التي يعرضها كل مستوى هي كما يلي: [44]
| اسم المستوى | مميزات وحدة المعالجة المركزية | تعليمات المثال | المعالجات المدعومة |
|---|---|---|---|
| (خط الأساس) أيضًا كـ: x86-64-v1 |
سي ام او في | سي ام او في | يتوافق خط الأساس لجميع وحدات المعالجة المركزية x86-64 |
| سي اكس 8 | سمبكسشغ8ب | ||
| وحدة النقطة العائمة | فلد | ||
| إف إكس إس آر | إف إكس سيف | ||
| إم إم إكس | إيمز | ||
| أو إس إف إكس إس آر | إف إكس سيف | ||
| إس سي إي | نداء النظام | ||
| إس إس إي | سي في تي اس اس 2 سي اي | ||
| إس إس إي 2 | سي في تي بي اي 2 بي دي | ||
| x86-64-v2 | سي ام بي اكس اتش جي 16 بي | سمبكسج16ب | Intel Nehalem والنوى "الكبيرة" الأحدث من Intel |
| LAHF-SAHF | لاهف | ||
| بوبنت | بوبكنت | ||
| إس إس إي 3 | يضيف subpd | ||
| SSE4_1 | مزيج بي دي | ||
| SSE4_2 | بى سي ام بيستري | ||
| إس إس إس إي 3 | بشوفب | ||
| x86-64-v3 | AVX | فيزيروال | تتوافق ميزات Intel Haswell وأنوية Intel "الكبيرة" الأحدث (طرازات تدعم AVX2 فقط) و |
| ايه في اكس 2 | فيبيرمد | ||
| مؤشر كتلة الجسم 1 | و | ||
| مؤشر كتلة الجسم 2 | بزي | ||
| إف 16 سي | في سي في تي في 2 بي إس | ||
| إدارة الغذاء والدواء الأمريكية | في إف إم دي 132 بي دي | ||
| لزد سي إن تي | لزنت | ||
| موفبي | موفبي | ||
| أو إس إكس سيف | إكسجيت بي في | ||
| x86-64-v4 | AVX512F | كموو |
تتوافق ميزات AMD Zen 4 وأنوية AMD الأحدث مع بنية Intel Skylake-X لعام 2017، باستثناء التعليمات الخاصة بشركة
Intel |
| AVX512BW | فدببسادبو | ||
| AVX512CD | فبلزكنتد | ||
| AVX512DQ | ف ب مولك | ||
| AVX512VL | — |
يمكن أيضًا العثور على مستويات ميزات البنية الدقيقة x86-64 على هيئة AMD64-v1 أو AMD64-v2 .. أو AMD64_v1 .. في الإعدادات التي يتم فيها استخدام تسمية "AMD64". تُستخدم هذه المستويات كمرادفات لتسمية x86-64-vX وبالتالي فهي متطابقة وظيفيًا. على سبيل المثال، وثائق لغة Go أو توزيع Fedora Linux.
تتضمن جميع المستويات الميزات الموجودة في المستويات السابقة. يتم استبعاد ملحقات مجموعة التعليمات غير المتعلقة بالحوسبة للأغراض العامة، بما في ذلك AES-NI و RDRAND ، من متطلبات المستوى.
الفرق بين AMD64 و Intel 64
على الرغم من التطابق تقريبًا، توجد بعض الاختلافات بين مجموعتي التعليمات في دلالات بعض تعليمات الآلة (أو المواقف) التي نادرًا ما تُستخدم، والتي تُستخدم بشكل أساسي في برمجة النظام . [47] تنتج المجمِّعات عمومًا ملفات قابلة للتنفيذ (أي كود الآلة ) تتجنب أي اختلافات، على الأقل بالنسبة لبرامج التطبيقات العادية . لذلك، فإن هذا الأمر يثير اهتمام مطوري المجمِّعات وأنظمة التشغيل وما شابه ذلك بشكل أساسي، والذين يجب أن يتعاملوا مع تعليمات النظام الفردية والخاصة.
التنفيذات الأخيرة
BSFتتصرف تعليمات Intel 64BSRبشكل مختلف عن AMD64 عندما يكون المصدر صفرًا وحجم المتغير 32 بت. يضبط المعالج علامة الصفر ويترك البتات الـ 32 العلوية للوجهة غير محددة. [ بحاجة لمصدر ] لاحظ أن Intel توثق أن سجل الوجهة له قيمة غير محددة في هذه الحالة، ولكن في الممارسة العملية في السيليكون ينفذ نفس السلوك مثل AMD (الوجهة غير معدلة). لم يتم التحقق من الادعاء المنفصل حول عدم الحفاظ على البتات في البتات الـ 32 العلوية، ولكن تم استبعاده فقط بالنسبة لـ Core 2 و Skylake، [48] وليس كل معماريات Intel الدقيقة مثل Pentium 4 64 بت أو Atom منخفض الطاقة.- تتطلب AMD64 تنسيقًا مختلفًا لتحديث التعليمات البرمجية الدقيقة وعناصر التحكم MSR (السجلات الخاصة بالطراز)، بينما تنفذ Intel 64 تحديث التعليمات البرمجية الدقيقة دون تغيير من معالجاتها ذات الـ 32 بت فقط.
- يفتقر Intel 64 إلى بعض MSRs التي تعتبر معمارية في AMD64. وتشمل هذه
SYSCFGوTOP_MEMو وTOP_MEM2. - يسمح Intel 64 بـ
SYSCALL/SYSRETفقط في وضع 64 بت (ليس في وضع التوافق)، [49] ويسمح بـSYSENTER/SYSEXITفي كلا الوضعين. [50] يفتقر AMD64SYSENTERإلى /SYSEXITفي كلا الوضعين الفرعيين للوضع الطويل . [11] : 33 - في وضع 64 بت، تتصرف الفروع القريبة ذات البادئة 66H (تجاوز حجم المتغير) بشكل مختلف. يتجاهل Intel 64 هذه البادئة: تحتوي التعليمات على إزاحة ممتدة بعلامة 32 بت، ولا يتم قطع مؤشر التعليمات. يستخدم AMD64 حقل إزاحة 16 بت في التعليمات، ويمسح أعلى 48 بت من مؤشر التعليمات.
- في Intel 64 ولكن ليس AMD64،
REX.Wيمكن استخدام البادئة مع تعليمات المؤشر البعيد (LFS,LGS,LSS,JMP FAR,CALL FAR) لزيادة حجم وسيطة المؤشر البعيد إلى 80 بت (إزاحة 64 بت + جزء 16 بت). - عندما
MOVSXDيتم تنفيذ التعليمات باستخدام متغير مصدر ذاكرة وحجم متغير 16 بت، سيتم الوصول إلى متغير الذاكرة بقراءة 16 بت على Intel 64، ولكن بقراءة 32 بت على AMD64. - ستقوم تعليمات
FCOMI/FCOMIP/FUCOMI/FUCOMIP(مقارنة النقطة العائمة x87) بمسح بتات OF وSF وAF من EFLAGS على Intel 64، ولكنها تترك بتات الأعلام هذه دون تعديل على AMD64. - بالنسبة لتعليمات
VMASKMOVPS/VMASKMOVPD/VPMASKMOVD/VPMASKMOVQ(الانتقال المقنع AVX/AVX2 من/إلى الذاكرة)، تضمن Intel 64 معماريًا أن التعليمات لن تتسبب في حدوث أخطاء في الذاكرة (على سبيل المثال أخطاء الصفحة وأخطاء التجزئة) لأي مسارات ذات قناع صفري، بينما لا توفر AMD64 مثل هذا الضمان. - يفتقر Intel 64 إلى القدرة على حفظ واستعادة نسخة مختصرة (وبالتالي أسرع) من حالة النقطة العائمة (بما في ذلك التعليمات
FXSAVEوFXRSTOR). [ يحتاج إلى توضيح ] - لقد أعادت معالجات AMD منذ Opteron Rev. E و Athlon 64 Rev. D تقديم دعم محدود للتجزئة، عبر بت تمكين حد التجزئة في الوضع الطويل (LMSLE)، لتسهيل عملية المحاكاة الافتراضية للضيوف 64 بت. [51] [52] تمت إزالة دعم LMLSE في معالج Zen 3. [53]
- عند العودة إلى عنوان غير أساسي باستخدام
SYSRET، تقوم معالجات AMD64 بتنفيذ معالج خطأ الحماية العام في مستوى الامتياز 3، [54] بينما يتم تنفيذه على معالجات Intel 64 في مستوى الامتياز 0. [55] - تختلف ضمانات الطلب التي توفرها بعض تعليمات طلب الذاكرة مثل
LFENCEوMFENCEبين Intel 64 و AMD64:LFENCEيتم تسلسل الإرسال (مما يتيح استخدامه كسياج تخميني ) على Intel 64 ولكن لا يتم ضمان تسلسل الإرسال من الناحية المعمارية على AMD64. [56]MFENCEهي تعليمات تسلسلية كاملة (بما في ذلك تسلسل جلب التعليمات) على AMD64 ولكن ليس Intel 64.
التنفيذات القديمة
هذا القسم يحتاج إلى التحديث . السبب المذكور هو: زمن المستقبل المتعلق بالمعالجات التي صدرت منذ سنوات، التواريخ باليوم والشهر ولكن بدون سنة. ( يناير 2023 ) |
- تفتقر معالجات AMD64 قبل المراجعة F [57] (والتي تتميز بالتبديل من ذاكرة DDR إلى ذاكرة DDR2 والمقابس الجديدة AM2 و F و S1 ) لعام 2006 إلى
CMPXCHG16Bالتعليمات، وهي امتداد للتعليماتCMPXCHG8Bالموجودة في معظم معالجات ما بعد 80486. على غرارCMPXCHG8B،CMPXCHG16Bيسمح بالعمليات الذرية على الكلمات الثمانية (قيم 128 بت). وهذا مفيد للخوارزميات المتوازية التي تستخدم المقارنة والتبديل على البيانات الأكبر من حجم المؤشر، وهو أمر شائع في الخوارزميات الخالية من القفل والخالية من الانتظار . بدونهاCMPXCHG16Bيجب استخدام الحلول البديلة، مثل القسم الحرج أو الطرق البديلة الخالية من القفل. [58] يمنع غيابها أيضًا Windows 64 بت قبل Windows 8.1 من الحصول على مساحة عنوان وضع المستخدم أكبر من 8 تيرابايت . [59] تتطلب النسخة 64 بت من Windows 8.1 التعليمات. [60] - كانت وحدات المعالجة المركزية المبكرة AMD64 وIntel 64 تفتقر
LAHFإلىSAHFتعليمات في وضع 64 بت. قدمت AMD هذه التعليمات (أيضًا في وضع 64 بت) مع معالجاتها 90 نانومتر (الإصدار D)، بدءًا من Athlon 64 في أكتوبر 2004. [61] [62] قدمت Intel التعليمات في أكتوبر 2005 مع 0F47h والإصدارات اللاحقة من NetBurst . [68] تتطلب النسخة 64 بت من Windows 8.1 هذه الميزة. [60] - تفتقر وحدات المعالجة المركزية المبكرة من Intel التي تعمل بمعالج Intel 64 أيضًا إلى بت NX من بنية AMD64. وقد تمت إضافته في معالج Pentium 4 ذي الخطوة E0 (0F41h) في أكتوبر 2004. [69] هذه الميزة مطلوبة في جميع إصدارات Windows 8.
- كانت تطبيقات Intel 64 المبكرة تحتوي على عنونة مادية للذاكرة بطول 36 بت (64 جيجابايت) بينما كانت تطبيقات AMD64 الأصلية تحتوي على عنونة مادية بطول 40 بت (1 تيرابايت ). استخدمت Intel العنونة المادية بطول 40 بت أولاً على Xeon MP ( Potomac )، الذي تم إطلاقه في 29 مارس 2005. [70] والفرق ليس اختلافًا في ISAs المرئية للمستخدم. في عام 2007، كانت Opteron المستندة إلى AMD 10h هي الأولى التي توفر مساحة عنوان مادية بطول 48 بت (256 تيرابايت). [71] [72] تم توسيع نطاق العنونة المادية لـ Intel 64 إلى 44 بت (16 تيرا بايت) في Nehalem-EX في عام 2010 [73] وإلى 46 بت (64 تيرا بايت) في Sandy Bridge E في عام 2011. [74] [75] مع معالجات Xeon Scalable من الجيل الثالث من Ice Lake، زادت Intel العنونة الافتراضية إلى 57 بت (128 باي بايت ) والعنونة المادية إلى 52 بت (4 باي بايت) في عام 2021، مما استلزم ترقيم الصفحات على 5 مستويات . [76] في العام التالي أضافت AMD64 نفس الشيء في الجيل الرابع من EPYC (جنوة). [77] تحتفظ وحدات المعالجة المركزية غير الخادمة بمساحات عناوين أصغر لفترة أطول.
التبني

في أجهزة الكمبيوتر العملاقة التي تتبعها TOP500 ، أدى ظهور ملحقات 64 بت لهندسة x86 إلى تمكين معالجات x86 64 بت من AMD وIntel من استبدال معظم بنى معالجات RISC المستخدمة سابقًا في مثل هذه الأنظمة (بما في ذلك PA-RISC و SPARC و Alpha وغيرها)، بالإضافة إلى x86 32 بت، على الرغم من أن Intel نفسها حاولت في البداية دون جدوى استبدال x86 بهندسة 64 بت جديدة غير متوافقة في معالج Itanium .
اعتبارًا من عام 2023 [تحديث]، أصبح الحاسوب العملاق القائم على HPE EPYC المسمى Frontier هو الأول. ظهر أول حاسوب عملاق قائم على ARM في القائمة في عام 2018 [79] ، وفي السنوات الأخيرة، لعبت المعالجات المساعدة غير المرتبطة بهندسة وحدة المعالجة المركزية ( GPGPU ) أيضًا دورًا كبيرًا في الأداء. تُستخدم أيضًا معالجات Intel's Xeon Phi "Knights Corner" ، التي تنفذ مجموعة فرعية من x86-64 مع بعض امتدادات المتجهات، [80] جنبًا إلى جنب مع معالجات x86-64، في الحاسوب العملاق Tianhe-2 . [81]
توافق نظام التشغيل وخصائصه
تدعم أنظمة التشغيل والإصدارات التالية بنية x86-64 في الوضع الطويل .
بي إس دي
دراجون فلاي بي إس دي
بدأت أعمال البنية الأساسية الأولية في فبراير 2004 لمنفذ x86-64. [82] توقف هذا التطوير لاحقًا. بدأ التطوير مرة أخرى خلال يوليو 2007 [83] واستمر خلال Google Summer of Code 2008 وSoC 2009. [84] [85] كان أول إصدار رسمي يحتوي على دعم x86-64 هو الإصدار 2.4. [86]
فري بي إس دي
أضافت FreeBSD لأول مرة دعم x86-64 تحت اسم "amd64" كهندسة تجريبية في الإصدار 5.1 في يونيو 2003. وتم تضمينها كهندسة توزيع قياسية اعتبارًا من الإصدار 5.2 في يناير 2004. ومنذ ذلك الحين، صنفتها FreeBSD كمنصة من المستوى 1. وقد أزال الإصدار 6.0 بعض العيوب المتعلقة بتشغيل ملفات x86 القابلة للتنفيذ تحت amd64، وتعمل معظم برامج التشغيل تمامًا كما تعمل على هندسة x86. ويجري العمل حاليًا على دمج واجهة التطبيق الثنائية (ABI) x86 بشكل أكثر اكتمالاً، بنفس الطريقة التي تعمل بها حاليًا واجهة التطبيق الثنائية (ABI) 32 بت في Linux.
نت بي إس دي
تم الالتزام بدعم بنية x86-64 لأول مرة لشجرة مصدر NetBSD في 19 يونيو 2001. اعتبارًا من NetBSD 2.0، الذي تم إصداره في 9 ديسمبر 2004، يعد NetBSD/amd64 منفذًا متكاملًا ومدعومًا بالكامل. لا يزال يتم دعم التعليمات البرمجية ذات 32 بت في وضع 64 بت، مع طبقة توافق نواة netbsd-32 لعمليات استدعاء النظام ذات 32 بت. يتم استخدام بت NX لتوفير مكدس غير قابل للتنفيذ وكومة مع حبيبات لكل صفحة (يتم استخدام حبيبات المقطع على x86 ذات 32 بت).
أوبن بي إس دي
لقد دعم OpenBSD AMD64 منذ إصدار OpenBSD 3.5 في الأول من مايو 2004. وقد تم تحقيق التنفيذ الكامل لدعم AMD64 داخل الشجرة قبل الإصدار الأولي للأجهزة لأن AMD قد أقرضت العديد من الأجهزة لـ hackathon الخاص بالمشروع في ذلك العام. وقد لجأ مطورو OpenBSD إلى المنصة بسبب دعمها لبت NX ، والذي سمح بتنفيذ سهل لميزة W^X .
يعمل الكود الخاص بمنفذ AMD64 من OpenBSD أيضًا على معالجات Intel 64 التي تحتوي على استخدام مستنسخ لامتدادات AMD64، ولكن نظرًا لأن Intel حذفت بت جدول الصفحات NX في معالجات Intel 64 المبكرة، فلا توجد إمكانية W^X على وحدات المعالجة المركزية Intel هذه؛ أضافت معالجات Intel 64 اللاحقة بت NX تحت اسم "بت XD". تعمل المعالجة المتعددة المتناظرة (SMP) على منفذ AMD64 من OpenBSD، بدءًا من الإصدار 3.6 في 1 نوفمبر 2004.
دوس
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( ديسمبر 2022 ) |
من الممكن الدخول إلى الوضع الطويل تحت نظام DOS بدون موسع DOS، [87] ولكن يجب على المستخدم العودة إلى الوضع الحقيقي من أجل استدعاء مقاطعات BIOS أو DOS.
قد يكون من الممكن أيضًا الدخول إلى الوضع الطويل باستخدام موسع DOS مشابه لـ DOS/4GW ، ولكنه أكثر تعقيدًا نظرًا لأن x86-64 يفتقر إلى وضع 8086 الافتراضي . لا يدرك DOS نفسه ذلك، ولا ينبغي توقع أي فوائد إلا عند تشغيل DOS في محاكاة مع برنامج تشغيل افتراضي مناسب في الخلفية، على سبيل المثال: واجهة التخزين الشامل.
لينكس
كان لينكس أول نواة نظام تشغيل تقوم بتشغيل بنية x86-64 في الوضع الطويل ، بدءًا من الإصدار 2.4 في عام 2001 (قبل توفر الأجهزة). [88] [89] يوفر لينكس أيضًا توافقًا عكسيًا لتشغيل الملفات القابلة للتنفيذ ذات 32 بت. يسمح هذا بإعادة تجميع البرامج في الوضع الطويل مع الاحتفاظ باستخدام برامج 32 بت. يتم شحن توزيعات لينكس الحالية مع أنوية ومناطق مستخدمين أصلية لـ x86-64 . يسمح البعض، مثل Arch Linux ، [90] SUSE ، Mandriva ، و Debian ، للمستخدمين بتثبيت مجموعة من مكونات ومكتبات 32 بت عند التثبيت من وسيط توزيع 64 بت، مما يسمح لمعظم تطبيقات 32 بت الموجودة بالعمل جنبًا إلى جنب مع نظام التشغيل 64 بت.
تسمح واجهة x32 ABI (واجهة التطبيقات الثنائية)، التي تم تقديمها في Linux 3.4، للبرامج المترجمة لواجهة x32 ABI بالعمل في وضع 64 بت من x86-64 مع استخدام مؤشرات وحقول بيانات 32 بت فقط. [91] [92] [93] وعلى الرغم من أن هذا يحد من مساحة عنوان البرنامج إلى 4 جيجابايت، إلا أنه يقلل أيضًا من مساحة الذاكرة للبرنامج وفي بعض الحالات يمكن أن يسمح له بالعمل بشكل أسرع. [91] [92] [93]
يسمح Linux 64 بت بما يصل إلى 128 تيرابايت من مساحة العنوان الافتراضية للعمليات الفردية، ويمكنه معالجة ما يقرب من 64 تيرابايت من الذاكرة الفعلية، وفقًا لقيود المعالج والنظام، [94] أو ما يصل إلى 128 باي بايت (افتراضية) و4 باي بايت (مادية) مع تمكين الترقيم على 5 مستويات. [95]
ماك
تُشغِّل إصدارات Mac OS X 10.4 وإصدارات أحدث من Mac OS X 10.4 أدوات سطر أوامر 64 بت باستخدام مكتبات POSIX والرياضيات على أجهزة Intel 64 بت، تمامًا كما تُشغِّلها جميع إصدارات Mac OS X 10.4 و10.5 على أجهزة PowerPC 64 بت. لا تعمل أي مكتبات أو أطر عمل أخرى مع تطبيقات 64 بت في Mac OS X 10.4. [96] النواة، وجميع ملحقات النواة، هي 32 بت فقط.
يدعم نظام التشغيل Mac OS X 10.5 تطبيقات واجهة المستخدم الرسومية 64 بت باستخدام Cocoa و Quartz و OpenGL و X11 على الأجهزة المستندة إلى Intel 64 بت، وكذلك على أجهزة PowerPC 64 بت . [97] تدعم جميع المكتبات والأطر غير الرسومية أيضًا تطبيقات 64 بت على هذه الأنظمة الأساسية. النواة، وجميع ملحقات النواة، هي 32 بت فقط.
Mac OS X 10.6 هو أول إصدار من macOS يدعم نواة 64 بت . ومع ذلك، لا يمكن لجميع أجهزة الكمبيوتر ذات 64 بت تشغيل نواة 64 بت، ولن تفعل جميع أجهزة الكمبيوتر ذات 64 بت التي يمكنها تشغيل نواة 64 بت ذلك افتراضيًا. [98] تدعم نواة 64 بت، مثل نواة 32 بت، تطبيقات 32 بت؛ كما تدعم كلتا النواتين تطبيقات 64 بت. تحتوي تطبيقات 32 بت على حد مساحة عنوان افتراضي يبلغ 4 جيجابايت تحت أي نواة. [99] [100] لا تدعم نواة 64 بت ملحقات نواة 32 بت ، ولا تدعم نواة 32 بت ملحقات نواة 64 بت.
يتضمن نظام التشغيل OS X 10.8 نواة 64 بت فقط، ولكنه يستمر في دعم التطبيقات ذات 32 بت؛ ومع ذلك، فهو لا يدعم ملحقات نواة 32 بت.
يتضمن نظام التشغيل macOS 10.15 نواة 64 بت فقط ولم يعد يدعم تطبيقات 32 بت. وقد أدى هذا الإزالة للدعم إلى ظهور مشكلة بالنسبة لـ WineHQ (والإصدار التجاري CrossOver )، حيث لا يزال يتعين عليه أن يكون قادرًا على تشغيل تطبيقات Windows 32 بت. كان الحل، المسمى wine32on64 ، هو إضافة thunks التي تُدخل وحدة المعالجة المركزية وتخرجها من وضع التوافق 32 بت في التطبيق 64 بت اسميًا. [101] [102]
يستخدم نظام macOS تنسيق الملف الثنائي العالمي لتجميع إصدارات 32 بت و64 بت من التعليمات البرمجية للتطبيق والمكتبة في ملف واحد؛ ويتم تحديد الإصدار الأكثر ملاءمة تلقائيًا في وقت التحميل. في نظام Mac OS X 10.6، يتم استخدام تنسيق الملف الثنائي العالمي أيضًا للنواة ولإضافات النواة التي تدعم كلًا من النوى 32 بت و64 بت.
سولاريس
تدعم إصدارات Solaris 10 والإصدارات الأحدث بنية x86-64.
بالنسبة لنظام التشغيل Solaris 10، كما هو الحال مع بنية SPARC ، هناك صورة نظام تشغيل واحدة فقط، تحتوي على نواة 32 بت ونواة 64 بت؛ يتم تصنيفها على أنها صورة DVD-ROM "x64/x86". السلوك الافتراضي هو تشغيل نواة 64 بت، مما يسمح بتشغيل كل من الملفات القابلة للتنفيذ 64 بت والملفات القابلة للتنفيذ 32 بت الموجودة أو الجديدة. يمكن أيضًا تحديد نواة 32 بت يدويًا، وفي هذه الحالة سيتم تشغيل الملفات القابلة للتنفيذ 32 بت فقط. isainfoيمكن استخدام الأمر لتحديد ما إذا كان النظام يعمل بنواة 64 بت.
بالنسبة لنظام Solaris 11، يتم توفير نواة 64 بت فقط. ومع ذلك، تدعم نواة 64 بت كل من الملفات القابلة للتنفيذ والمكتبات ومكالمات النظام ذات 32 بت و64 بت.
نوافذ
تم إصدار إصدارات x64 من عميل وخادم Microsoft Windows - Windows XP Professional x64 Edition و Windows Server 2003 x64 Edition - في مارس 2005. [103] داخليًا، هما في الواقع نفس البنية (5.2.3790.1830 SP1)، [104] [105] حيث يشتركان في نفس قاعدة المصدر وملفات نظام التشغيل الثنائية، لذلك يتم إصدار تحديثات النظام في حزم موحدة، تمامًا مثل إصدارات Windows 2000 Professional وServer لـ x86. تم إصدار Windows Vista ، الذي يحتوي أيضًا على العديد من الإصدارات المختلفة، في يناير 2007. تم إصدار Windows 7 في يوليو 2009. تم بيع Windows Server 2008 R2 في إصدارات x64 وItanium فقط؛ الإصدارات الأحدث من Windows Server تقدم إصدار x64 فقط.
توفر إصدارات Windows لـ x64 قبل Windows 8.1 وWindows Server 2012 R2 ما يلي:
- 8 تيرابايت من مساحة العنوان الافتراضية لكل عملية، يمكن الوصول إليها من وضع المستخدم ووضع النواة، ويشار إليها باسم مساحة عنوان وضع المستخدم. يمكن لبرنامج x64 استخدام كل هذا، مع مراعاة حدود التخزين الاحتياطية على النظام، بشرط أن يكون مرتبطًا بخيار "large address aware"، والذي يكون موجودًا افتراضيًا. [106] هذه زيادة بمقدار 4096 ضعفًا عن مساحة العنوان الافتراضية 2 جيجابايت في وضع المستخدم التي تقدمها Windows 32 بت. [107] [108]
- 8 تيرابايت من مساحة العنوان الافتراضية لوضع النواة لنظام التشغيل. [107] وكما هو الحال مع مساحة عنوان وضع المستخدم، فإن هذه زيادة بمقدار 4096 ضعفًا عن إصدارات Windows ذات 32 بت. وتفيد المساحة المتزايدة في المقام الأول ذاكرة التخزين المؤقت لنظام الملفات و"أكوام" وضع النواة (مجموعة غير مقسمة إلى صفحات ومجموعة مقسمة إلى صفحات). يستخدم Windows إجمالي 16 تيرابايت فقط من أصل 256 تيرابايت تم تنفيذها بواسطة المعالجات لأن معالجات AMD64 المبكرة كانت تفتقر إلى
CMPXCHG16Bالتعليمات. [109]
في نظامي التشغيل Windows 8.1 وWindows Server 2012 R2، تم توسيع مساحات العناوين الافتراضية لكل من وضع المستخدم ووضع النواة إلى 128 تيرابايت. [23] لن يتم تثبيت إصدارات Windows هذه على المعالجات التي تفتقر إلى CMPXCHG16Bالتعليمات.
تنطبق الخصائص الإضافية التالية على كافة إصدارات x64 من Windows:
- القدرة على تشغيل تطبيقات (
.exeبرامج) 32 بت موجودة ومكتبات ارتباط ديناميكي (.dllمكتبات) باستخدام WoW64 إذا كان WoW64 مدعومًا في هذا الإصدار. علاوة على ذلك، يمكن لبرنامج 32 بت، إذا تم ربطه بخيار "large address aware"، [106] استخدام ما يصل إلى 4 جيجابايت من مساحة العنوان الافتراضية في Windows 64 بت، بدلاً من 2 جيجابايت الافتراضية (3 جيجابايت اختيارية مع/3GBخيار التمهيد وخيار الارتباط "large address aware") التي يوفرها Windows 32 بت. [110] على عكس استخدام/3GBخيار التمهيد على x86، فإن هذا لا يقلل من مساحة العنوان الافتراضية لوضع kernel المتاحة لنظام التشغيل. وبالتالي، يمكن للتطبيقات 32 بت الاستفادة من التشغيل على Windows x64 حتى إذا لم يتم إعادة تجميعها لـ x86-64. - تقتصر التطبيقات ذات 32 بت و64 بت، إذا لم تكن مرتبطة بـ "التعرف على العناوين الكبيرة"، على 2 جيجابايت من مساحة العنوان الافتراضية.
- القدرة على استخدام ما يصل إلى 128 جيجابايت (Windows XP/Vista)، أو 192 جيجابايت (Windows 7)، أو 512 جيجابايت (Windows 8)، أو 1 تيرابايت (Windows Server 2003)، أو 2 تيرابايت (Windows Server 2008/Windows 10)، أو 4 تيرابايت (Windows Server 2012)، أو 24 تيرابايت (Windows Server 2016/2019) من ذاكرة الوصول العشوائي الفعلية (RAM). [111]
- نموذج بيانات LLP64 : في C/C++، يبلغ عرض الأنواع "int" و"long" 32 بت، و"long long" 64 بت، بينما يبلغ عرض المؤشرات والأنواع المشتقة من المؤشرات 64 بت.
- يجب أن تكون برامج تشغيل الأجهزة في وضع Kernel إصدارات 64 بت؛ ولا توجد طريقة لتشغيل ملفات قابلة للتنفيذ في وضع Kernel 32 بت داخل نظام التشغيل 64 بت. يمكن أن تكون برامج تشغيل الأجهزة في وضع المستخدم إما 32 بت أو 64 بت.
- لن تعمل تطبيقات Windows (Win16) وDOS ذات 16 بت على إصدارات x86-64 من Windows بسبب إزالة نظام فرعي آلة DOS الافتراضية (NTVDM) الذي يعتمد على القدرة على استخدام وضع 8086 الافتراضي. لا يمكن الدخول إلى وضع 8086 الافتراضي أثناء التشغيل في الوضع الطويل.
- التنفيذ الكامل لميزة حماية الصفحة NX (عدم التنفيذ). يتم تنفيذ ذلك أيضًا على الإصدارات الحديثة من Windows ذات 32 بت عند بدء تشغيلها في وضع PAE.
- بدلاً من موصوف شريحة FS في إصدارات x86 من عائلة Windows NT ، يتم استخدام موصوف شريحة GS للإشارة إلى بنيتين محددتين بواسطة نظام التشغيل: كتلة معلومات الخيط (NT_TIB) في وضع المستخدم ومنطقة التحكم في المعالج (KPCR) في وضع kernel. وبالتالي، على سبيل المثال، في وضع المستخدم
GS:0يكون عنوان العضو الأول في كتلة معلومات الخيط. جعل الحفاظ على هذه الاتفاقية منفذ x86-64 أسهل، لكنه تطلب من AMD الاحتفاظ بوظيفة شرائح FS وGS في الوضع الطويل - على الرغم من أن العنونة المجزأة في حد ذاتها لا تستخدم حقًا بواسطة أي نظام تشغيل حديث. [107] - زعمت التقارير الأولية أن مجدول نظام التشغيل لن يحفظ ويستعيد حالة جهاز FPU x87 عبر تبديلات سياق الخيوط. يُظهر السلوك الملاحظ أن هذا ليس هو الحال: يتم حفظ حالة x87 واستعادتها، باستثناء خيوط وضع kernel فقط (وهو قيد موجود في الإصدار 32 بت أيضًا). تنص أحدث الوثائق المتاحة من Microsoft على أنه يمكن استخدام تعليمات x87/ MMX / 3DNow! في الوضع الطويل، ولكنها أصبحت قديمة وقد تسبب مشاكل في التوافق في المستقبل. [110] (لم يعد 3DNow! متاحًا على معالجات AMD، باستثناء تعليمات
PREFETCHوPREFETCHW، [112] والتي تدعمها أيضًا معالجات Intel اعتبارًا من Broadwell .) - لن يتم نقل بعض المكونات مثل Jet Database Engine و Data Access Objects إلى معماريات 64 بت مثل x86-64 وIA-64. [113] [114] [115]
- يمكن لبرنامج Microsoft Visual Studio تجميع التطبيقات الأصلية لاستهداف إما بنية x86-64، والتي يمكن تشغيلها فقط على نظام Microsoft Windows 64 بت، أو بنية IA-32 ، والتي يمكن تشغيلها كتطبيق 32 بت على نظام Microsoft Windows 32 بت أو Microsoft Windows 64 بت في وضع محاكاة WoW64 . يمكن تجميع التطبيقات المُدارة إما في أوضاع IA-32 أو x86-64 أو AnyCPU. تتصرف البرامج التي تم إنشاؤها في الوضعين الأولين مثل نظيراتها من التعليمات البرمجية الأصلية IA-32 أو x86-64 على التوالي؛ ومع ذلك، عند استخدام وضع AnyCPU، تعمل التطبيقات في إصدارات 32 بت من Microsoft Windows كتطبيقات 32 بت، بينما تعمل كتطبيق 64 بت في إصدارات 64 بت من Microsoft Windows.
أجهزة ألعاب الفيديو
يشتمل كل من PlayStation 4 و Xbox One ، وجميع إصدارات هذه الأجهزة، على معالجات AMD x86-64، استنادًا إلى معمارية Jaguar الدقيقة . [116] [117] تتم كتابة البرامج الثابتة والألعاب باستخدام كود x86-64؛ لا يتضمن أي كود x86 قديم.
يشتمل الجيل الحالي، PlayStation 5 و Xbox Series X و Series S على التوالي، أيضًا على معالجات AMD x86-64، استنادًا إلى بنية Zen 2 الدقيقة. [118] [119]
على الرغم من اعتباره جهاز كمبيوتر شخصيًا، يستخدم Steam Deck وحدة معالجة مسرعة مخصصة من نوع AMD x86-64 (APU)، استنادًا إلى بنية Zen 2 الدقيقة. [120]
اتفاقيات تسمية الصناعة
نظرًا لأن AMD64 وIntel 64 متشابهان إلى حد كبير، فإن العديد من منتجات البرامج والأجهزة تستخدم مصطلحًا محايدًا للبائع للإشارة إلى توافقها مع كلا التنفيذين. لا يزال تسمية AMD الأصلية لهذا الهيكل الهندسي للمعالج، "x86-64"، مستخدمة لهذا الغرض، [2] كما هو الحال مع المتغير "x86_64". [3] [4] تستخدم شركات أخرى، مثل Microsoft [6] و Sun Microsystems / Oracle Corporation ، [5] الاختصار "x64" في المواد التسويقية.
يشير مصطلح IA-64 إلى معالج Itanium ، ولا ينبغي الخلط بينه وبين x86-64، حيث إنه عبارة عن مجموعة تعليمات مختلفة تمامًا.
تستخدم العديد من أنظمة التشغيل والمنتجات، وخاصة تلك التي قدمت دعم x86-64 قبل دخول Intel إلى السوق، مصطلح "AMD64" أو "amd64" للإشارة إلى كل من AMD64 وIntel 64.
- أيه إم دي 64
- تشير معظم أنظمة BSD مثل FreeBSD و MidnightBSD و NetBSD و OpenBSD إلى كل من AMD64 وIntel 64 تحت اسم الهندسة المعمارية "amd64".
- تشير بعض توزيعات Linux مثل Debian و Ubuntu و Gentoo Linux إلى كل من AMD64 و Intel 64 تحت اسم الهندسة المعمارية "amd64".
- تستخدم إصدارات x64 من Microsoft Windows اسم AMD64 داخليًا لتعيين المكونات المختلفة التي تستخدم هذه البنية أو متوافقة معها. على سبيل المثال، يتم تعيين القيمة "AMD64" للمتغير البيئي PROCESSOR_ARCHITECTURE بدلاً من "x86" في الإصدارات 32 بت، ويتم تسمية دليل النظام على قرص تثبيت Windows x64 Edition باسم "AMD64"، على النقيض من "i386" في الإصدارات 32 بت. [121]
- يقوم أمر isalist الخاص بـ Sun's Solaris بتحديد كل من الأنظمة المستندة إلى AMD64 و Intel 64 على أنها "amd64".
- Java Development Kit (JDK): يتم استخدام الاسم "amd64" في أسماء الدليل التي تحتوي على ملفات x86-64.
- x86_64
- يشير نواة Linux [122] ومجموعة GNU Compiler إلى بنية 64 بت باسم "x86_64".
- تشير بعض توزيعات Linux، مثل Fedora و openSUSE و Arch Linux و Gentoo Linux إلى بنية 64 بت هذه باسم "x86_64".
- يشير نظام التشغيل Apple macOS إلى بنية 64 بت باسم "x86-64" أو "x86_64"، كما هو موضح في أمر Terminal
arch[3] وفي وثائق المطورين الخاصة بهم. [2] [4] - على عكس معظم أنظمة BSD الأخرى، يشير DragonFly BSD إلى بنية 64 بت باسم "x86_64".
- يشير هايكو إلى بنية 64 بت باسم "x86_64".
الترخيص
تم تطوير x86-64/AMD64 بواسطة AMD فقط. حتى أبريل 2021 عندما انتهت صلاحية براءات الاختراع ذات الصلة، كانت AMD تمتلك براءات اختراع على التقنيات المستخدمة في AMD64؛ [123] [124] [125] كان لابد من ترخيص هذه البراءات من AMD من أجل تنفيذ AMD64. دخلت Intel في اتفاقية ترخيص متبادل مع AMD، حيث قامت بترخيص براءات اختراعها على تقنيات x86 الحالية لشركة AMD، وترخيص براءات اختراعها على التقنيات المستخدمة في x86-64 من AMD. [126] في عام 2009، قامت AMD وIntel بتسوية العديد من الدعاوى القضائية وخلافات الترخيص المتبادل، وتمديد اتفاقيات الترخيص المتبادل بينهما. [127] [128] [129]
انظر أيضا
ملحوظات
- ^ تُستخدم أسماء مختلفة لمجموعة التعليمات. قبل الإطلاق، تم استخدام x86-64 وx86_64، بينما عند الإصدار أطلقت عليه AMD اسم AMD64. [1] استخدمت Intel في البداية الأسماء IA-32e و EM64T قبل أن تستقر أخيرًا على "Intel 64" لتنفيذه. يستخدم البعض في الصناعة، بما في ذلك Apple ، [2] [3] [4] x86-64 وx86_64، بينما يستخدم آخرون، ولا سيما Sun Microsystems [5] ( شركة Oracle Corporation الآن ) و Microsoft ، [6] x64. تستخدم عائلة أنظمة التشغيل BSD والعديد من توزيعات Linux [7] [8] AMD64، كما تفعل Microsoft Windows داخليًا. [9] [10]
- ^ في الممارسة العملية، لا تدعم أنظمة التشغيل 64 بت بشكل عام تطبيقات 16 بت، على الرغم من أن الإصدارات الحديثة من Microsoft Windows تحتوي على حل مؤقت محدود يدعم بشكل فعال InstallShield 16 بت ومثبتات Microsoft ACME عن طريق استبدالها بصمت بكود 32 بت. [12]
- ^ ذكرت صحيفة The Register أن معالج Pentium 4 من طراز G1 (0F49h) سيُؤخذ منه عينات في 17 أكتوبر وسيُشحن بكميات كبيرة في 14 نوفمبر. [66] ومع ذلك، تقول وثيقة Intel أن العينات ستكون متاحة في 9 سبتمبر، في حين أن 17 أكتوبر هو "تاريخ التوفر الأول لمواد ما بعد التحويل"، والذي تحدده Intel بأنه "التاريخ المتوقع الذي قد يتوقع فيه العميل استلام مواد ما بعد التحويل. ... يجب أن يكون العملاء مستعدين لاستلام المواد بعد التحويل في هذا التاريخ". [67]
مراجع
- ^ "Debian AMD64 FAQ". Debian Wiki . مؤرشف من الأصل في 26 سبتمبر 2019 . تم الاسترجاع في 3 مايو 2012 .
- ^ abc "x86-64 Code Model". Apple. مؤرشف من الأصل في 2 يونيو 2012. تم الاسترجاع في 23 نوفمبر 2012 .
- ^ abc – دليل الأوامر العامة لـ Darwin و macOS
- ^ abc Kevin Van Vechten (9 أغسطس 2006). "re: Intel XNU bug report". قائمة بريدية Darwin-dev . Apple Computer . مؤرشف من الأصل في 1 فبراير 2020 . تم الاسترجاع في 5 أكتوبر 2006 .
لقد تم توحيد نواة وأدوات المطور على "x86_64" لاسم بنية Mach-O
- ^ "Solaris 10 on AMD Opteron". Oracle. مؤرشف من الأصل في 25 يوليو 2017. تم الاسترجاع في 9 ديسمبر 2010 .
- ^ ab "Microsoft 64-Bit Computing". Microsoft. مؤرشف من الأصل في 12 ديسمبر 2010. تم الاسترجاع في 9 ديسمبر 2010 .
- ^ "AMD64 Port". Debian. مؤرشف من الأصل في 26 سبتمبر 2019. تم الاسترجاع في 23 نوفمبر 2012 .
- ^ "مشروع Gentoo/AMD64". مشروع Gentoo. مؤرشف من الأصل في 3 يونيو 2013. تم الاسترجاع في 27 مايو 2013 .
- ^ "تفاصيل تنفيذ WOW64". مؤرشف من الأصل في 13 أبريل 2018. تم الاسترجاع 24 يناير 2016 .
- ^ "ProcessorArchitecture Class". مؤرشف من الأصل في 3 يونيو 2017. تم الاسترجاع 24 يناير 2016 .
- ^ abcdefghijklmnopqrstu AMD Corporation (ديسمبر 2016). "المجلد 2: برمجة النظام" (PDF) . دليل مبرمج بنية AMD64 . AMD Corporation. مؤرشف من الأصل (PDF) في 13 يوليو 2018. تم الاسترجاع في 25 مارس 2017 .
- ^ رايموند تشين (31 أكتوبر 2013). "إذا لم تكن هناك طبقة محاكاة 16 بت في نظام التشغيل Windows 64 بت، فكيف يُسمح بتشغيل بعض برامج التثبيت 16 بت؟". مؤرشف من الأصل في 14 يوليو 2021. تم الاسترجاع في 14 يوليو 2021 .
- ^ "IBM WebSphere Application Server 64-bit Performance Demystified" (PDF) . IBM Corporation. 6 سبتمبر 2007. ص. 14. مؤرشف (PDF) من الأصل في 25 يناير 2022 . تم الاسترجاع في 9 أبريل 2010 .
تُظهر الأشكال 5 و6 و7 أيضًا أن الإصدار 32 بت من WAS يشغل التطبيقات بكامل أداء الأجهزة الأصلية على منصات POWER وx86-64. على عكس بعض بنيات المعالج 64 بت، لا تحاكي أجهزة POWER وx86-64 وضع 32 بت. لذلك يمكن للتطبيقات التي لا تستفيد من ميزات 64 بت أن تعمل بأداء كامل على الإصدار 32 بت من WebSphere الذي يعمل على منصات 64 بت المذكورة أعلاه.
- ^ "AMD تكشف عن تقنيات جديدة في منتدى المعالجات الدقيقة" (بيان صحفي). AMD. 5 أكتوبر 1999. مؤرشف من الأصل في 8 مارس 2012. تم الاسترجاع في 9 نوفمبر 2010 .
- ^ "AMD تصدر مواصفات معمارية لـ x86-64؛ تمكن من الانتقال إلى الحوسبة 64 بت بناءً على توجهات السوق" (بيان صحفي). AMD. 10 أغسطس 2000. مؤرشف من الأصل في 8 مارس 2012. تم الاسترجاع في 9 نوفمبر 2010 .
- ^ دليل مبرمج هندسة AMD64 (PDF) . ص 1.
- ^ مورير ، دبليو (2010). بنية نواة لينكس الاحترافية. جون وايلي وأولاده.
- ^ "دليل مطوري برامج Intel 64 وIA-32 Architectures، المجلد 3A: دليل برمجة النظام، الجزء 1" (PDF) . ص 4-7. مؤرشف من الأصل (PDF) في 16 مايو 2011. تم الاسترجاع في 10 يوليو 2019 .
- ^ "دليل مطور BIOS وKernel (BKDG) لمعالجات AMD Family 10h" (PDF) . ص. 24. مؤرشف من الأصل (PDF) في 18 أبريل 2016. تم الاسترجاع في 27 فبراير 2016.
تمت زيادة مساحة العنوان الفعلية إلى 48 بت
. - ^ "خرافات وحقائق حول لينكس 64 بت" (PDF) . 2 مارس 2008. ص. 7. مؤرشف من الأصل (PDF) في 10 أكتوبر 2010. تم الاسترجاع في 30 مايو 2010.
تمت زيادة مساحة العنوان الفعلية إلى 48 بت
- ^ شانلي، توم (1998). هندسة نظام بنتيوم برو وبنتيوم الثاني . سلسلة هندسة نظام الكمبيوتر الشخصي (الطبعة الثانية). أديسون ويسلي. ص. 445. رقم ISBN 0-201-30973-4.
- ^ Microsoft Corporation. "ما هو PAE وNX وSSE2 ولماذا يحتاج جهاز الكمبيوتر الخاص بي إلى دعمها لتشغيل Windows 8؟". مؤرشف من الأصل في 11 أبريل 2013. تم الاسترجاع في 19 مارس 2013 .
- ^ abcd "حدود الذاكرة لإصدارات Windows". MSDN . Microsoft . 16 نوفمبر 2013. مؤرشف من الأصل في 6 يناير 2014 . تم الاسترجاع في 20 يناير 2014 .
- ^ "5-Level Paging and 5-Level EPT" (PDF) . Intel. مايو 2017. مؤرشف من الأصل (PDF) في 5 ديسمبر 2018. تم الاسترجاع في 17 يونيو 2017 .
- ^ براءة اختراع أمريكية رقم 9858198، لاري سيلر، "نظام صفحات بحجم 64 كيلوبايت يدعم تشغيل صفحات بحجم 4 كيلوبايت"، نُشرت في 2016-12-29، صدرت في 2018-01-02، مخصصة لشركة Intel Corp.
- ^ "لوحات أم من سلسلة Opteron 6100". شركة Supermicro Corporation. مؤرشف من الأصل في 3 يونيو 2010. تم الاسترجاع في 22 يونيو 2010 .
- ^ "Supermicro XeonSolutions". شركة Supermicro Corporation. مؤرشف من الأصل في 27 مايو 2010. تم الاسترجاع في 20 يونيو 2010 .
- ^ "لوحات أم من سلسلة Opteron 8000". شركة Supermicro Corporation. مؤرشف من الأصل في 27 مايو 2010. تم الاسترجاع في 20 يونيو 2010 .
- ^ "Tyan Product Matrix". MiTEC International Corporation. مؤرشف من الأصل في 6 يونيو 2010. تم الاسترجاع في 21 يونيو 2010 .
- ^ "من أرشيفات AMI: AMIBIOS 8 والانتقال إلى EFI". الاتجاهات الكبرى الأمريكية . 8 سبتمبر 2017. مؤرشف من الأصل في 25 أكتوبر 2021. تم الاسترجاع في 25 أكتوبر 2021 .
- ^ "هل تواصل شركة إنتل مشروع يامهيل؟". نيوين . مؤرشف من الأصل في 5 يونيو 2022. تم الاسترجاع في 5 يونيو 2022 .
- ^ "Craig Barrett يؤكد على امتدادات عناوين 64 بت لـ Xeon. وPrescott". The Inquirer. 17 فبراير 2004. مؤرشف من الأصل في 12 يناير 2013. تم الاسترجاع في 20 أغسطس 2017 .
- ^ ""ملخص الحوسبة ذات 64 بت"، من موقع internetnews.com". مؤرشف من الأصل في 25 سبتمبر 2012. تم الاسترجاع في 18 سبتمبر 2006 .
- ^ لابيدوس، مارك (6 فبراير 2004). "إنتل تعرض خط معالج 'CT' 64 بت في IDF". EDN . AspenCore Media. مؤرشف من الأصل في 25 مايو 2021 . تم الاسترجاع في 25 مايو 2021 .
- ^ "Intel 64 Architecture". Intel . مؤرشف من الأصل في 29 يونيو 2011 . تم الاسترجاع في 29 يونيو 2007 .
- ^ "إنتل تنشر مواصفات "X86-S" للهندسة المعمارية 64 بت فقط". www.phoronix.com .
- ^ "تصور بنية Intel المبسطة للمستقبل". Intel .
- ^ "VIA to launch new processing architecture in 1Q08" (الاشتراك مطلوب) . DigiTimes . 25 يوليو 2007. مؤرشف من الأصل في 3 ديسمبر 2008 . تم الاسترجاع في 25 يوليو 2007 .
- ^ Stokes, Jon (23 يناير 2008). "كشف إشعياء: بنية VIA الجديدة منخفضة الطاقة". Ars Technica. مؤرشف من الأصل في 27 يناير 2008. تم الاسترجاع في 24 يناير 2008 .
- ^ "VIA تطلق عائلة معالجات VIA Nano" (بيان صحفي). VIA . 29 مايو 2008. مؤرشف من الأصل في 3 فبراير 2019 . تم الاسترجاع في 25 مايو 2017 .
- ^ "VIA Isaiah Architecture Introduction" (PDF) . VIA . 23 يناير 2008. مؤرشف من الأصل (PDF) في 7 سبتمبر 2008. تم الاسترجاع في 31 يوليو 2013 .
- ^ Weimer, Florian (10 يوليو 2020). "مستويات معمارية دقيقة جديدة لـ x86-64". llvm-dev (قائمة بريدية). مؤرشف من الأصل في 14 أبريل 2021. تم الاسترجاع في 11 مارس 2021 .
- ^ Weimer, Florian (5 يناير 2021). "Building Red Hat Enterprise Linux 9 for the x86-64-v2 microarchitecture level". مدونة مطوري Red Hat . مؤرشف من الأصل في 20 فبراير 2022. تم الاسترجاع في 22 مارس 2022 .
- ^ "معلومات النظام منخفض المستوى لواجهة تطبيق النظام V الثنائية". مستودع psABI x86-64 . 29 يناير 2021. مؤرشف من الأصل في 2 فبراير 2021. تم الاسترجاع في 11 مارس 2021 - عبر GitLab .
- ^ "تم إصدار الإصدار 7.2.0 من QEMU - QEMU". www.qemu.org . مؤرشف من الأصل في 21 ديسمبر 2022 . تم الاسترجاع في 9 يناير 2023 .
- ^ "ChangeLog/7.2 - QEMU". wiki.qemu.org . مؤرشف من الأصل في 9 يناير 2023 . تم الاسترجاع في 9 يناير 2023 .
- ^ Wasson, Scott (23 مارس 2005). "الحوسبة 64 بت في النظرية والتطبيق". تقرير التكنولوجيا . مؤرشف من الأصل في 12 مارس 2011. تم الاسترجاع في 22 مارس 2011 .
- ^ "مناقشة على Stack Overflow". مارس 2021. مؤرشف من الأصل في 11 يناير 2023. تم الاسترجاع 2 مارس 2021 .
- ^ "دليل مطوري برامج Intel 64 وIA-32 Architectures المجلد 2 (2A، 2B و2C): مرجع مجموعة التعليمات، من الألف إلى الياء" (PDF) . Intel. سبتمبر 2013. ص. 4-397. مؤرشف من الأصل (PDF) في 20 أكتوبر 2013. تم الاسترجاع في 21 يناير 2014 .
- ^ "دليل مطوري برامج Intel 64 وIA-32 Architectures المجلد 2 (2A، 2B و2C): مرجع مجموعة التعليمات، AZ" (PDF) . Intel. سبتمبر 2013. ص. 4-400. مؤرشف من الأصل (PDF) في 20 أكتوبر 2013. تم الاسترجاع في 21 يناير 2014 .
- ^ "كيف أدى إيقاف التجزئة في الوضع الطويل AMD64 إلى إتلاف VMware". Pagetable.com. 9 نوفمبر 2006. مؤرشف من الأصل في 18 يوليو 2011. تم الاسترجاع في 2 مايو 2010 .
- ^ "VMware وتقنية المحاكاة الافتراضية لوحدات المعالجة المركزية" (PDF) . VMware. مؤرشف من الأصل (PDF) في 17 يوليو 2011 . تم الاسترجاع في 8 سبتمبر 2010 .
- ^ "أرشيف نواة لينكس: [التصحيح 2/5] KVM: svm: منع EFER.LMSLE على الأجهزة التي لا تدعمها". lkml.indiana.edu . تم الاسترجاع في 3 نوفمبر 2023 .
- ^ "دليل مبرمج بنية AMD64 المجلد 3: تعليمات عامة ونظامية" (PDF) . AMD. مايو 2018. ص. 419. مؤرشف من الأصل (PDF) في 20 أغسطس 2018. تم الاسترجاع في 2 أغسطس 2018 .
- ^ "دليل مطوري برامج Intel 64 وIA-32 Architectures المجلد 2 (2A، 2B و2C): مرجع مجموعة التعليمات، AZ" (PDF) . Intel. سبتمبر 2014. ص. 4-412. مؤرشف من الأصل (PDF) في 13 يناير 2015. تم الاسترجاع في 28 ديسمبر 2014 .
- ^ هادي برايس، أهمية تعليمات x86 LFENCE، 14 مايو 2018. مؤرشف من الأصل في 10 يونيو 2023.
- ^ "Live Migration with AMD-V™ Extended Migration Technology" (PDF) . developer.amd.com . مؤرشف من الأصل (PDF) في 6 ديسمبر 2022 . تم الاسترجاع في 30 يونيو 2022 .
- ^ Maged M. Michael. "تطبيقات عملية لـ LL/SC/VL بدون قفل وبدون انتظار باستخدام CAS 64 بت" (PDF) . IBM. مؤرشف (PDF) من الأصل في 2 مايو 2013. تم الاسترجاع في 21 يناير 2014 .
- ^ darwou (20 أغسطس 2004). "لماذا تبلغ مساحة العنوان الافتراضية 4 جيجابايت على أي حال؟". الشيء القديم الجديد . مايكروسوفت. مؤرشف من الأصل في 26 مارس 2017. تم الاسترجاع في 25 مارس 2017 .
- ^ "متطلبات النظام—Windows 8.1". مؤرشف من الأصل في 28 أبريل 2014. تم الاسترجاع في 27 أبريل 2014.
لتثبيت نظام تشغيل 64 بت على جهاز كمبيوتر شخصي 64 بت، يجب أن يدعم المعالج CMPXCHG16b وPrefetchW وLAHF/SAHF
. - ^ Petkov, Borislav (10 أغسطس 2009). "Re: [PATCH v2] x86: clear wrongly forced X86_FEATURE_LAHF_LM flag". قائمة بريدية لنواة لينكس . مؤرشف من الأصل في 11 يناير 2023. تم الاسترجاع في 30 يونيو 2022 .
- ^ "دليل المراجعة لمعالجات AMD Athlon 64 و AMD Opteron" (PDF) . AMD. مؤرشف من الأصل (PDF) في 24 أغسطس 2009 . تم الاسترجاع في 18 يوليو 2009 .
- ^ "إشعار بتغيير المنتج 105224 - 01" (PDF) . Intel. مؤرشف من الأصل (PDF) في 17 نوفمبر 2005.
- ^ "تحديث مواصفات معالج Intel® Pentium® D 800 Sequence ومعالج Intel® Pentium® Extreme Edition 840" (PDF) . مؤرشف من الأصل (PDF) في 18 مايو 2021. تم الاسترجاع في 30 يونيو 2022 .
- ^ "Intel Xeon 2.8 GHz - NE80551KG0724MM / BX80551KG2800HA". CPU-World . مؤرشف من الأصل في 28 يونيو 2020 . تم الاسترجاع في 30 يونيو 2022 .
- ^ سميث، توني (23 أغسطس 2005). "إنتل تعدل EM64T للتوافق الكامل مع AMD64". The Register . مؤرشف من الأصل في 30 يونيو 2022 . تم الاسترجاع في 30 يونيو 2022 .
- ^ "إشعار تغيير المنتج 105271 – 00" (PDF) . Intel. مؤرشف من الأصل (PDF) في 17 نوفمبر 2005.
- ^ ظهر 0F47h لأول مرة في خطوة B0 من Pentium D في 21 أكتوبر، [63] [64] ولكن تم إطلاق 0F48h الذي يدعم أيضًا LAHF/SAHF في 10 أكتوبر في Xeon ثنائي النواة . [65] [أ]
- ^ "إشعار تغيير المنتج 104101 – 00" (PDF) . Intel. مؤرشف من الأصل (PDF) في 16 يوليو 2004.
- ^ "64-bit Intel® Xeon™ Processor MP with up to 8MB L3 Cache Datasheet" (PDF) . مؤرشف من الأصل (PDF) في 17 نوفمبر 2022 . تم الاسترجاع في 17 نوفمبر 2022 .
- ^ "Justin Boggs's at Microsoft PDC 2008". ص. 5. مؤرشف من الأصل في 17 نوفمبر 2022. تم الاسترجاع في 17 نوفمبر 2022 .
- ^ Waldecker, Brian. "معالجات AMD Opteron متعددة النواة" (PDF) . ص. 13. مؤرشف (PDF) من الأصل في 13 ديسمبر 2022. تم الاسترجاع في 17 نوفمبر 2022 .
- ^ "Intel® Xeon® Processor 7500 Series Datasheet, Volume 2" (PDF) . مؤرشف من الأصل (PDF) في 17 نوفمبر 2022 . تم الاسترجاع في 17 نوفمبر 2022 .
- ^ "دليل مطوري برامج معماريات Intel 64 وIA-32". سبتمبر 2014. ص 2-21. مؤرشف من الأصل في 14 مايو 2019.
تزيد معمارية Intel 64 من مساحة العنوان الخطية للبرامج إلى 64 بت وتدعم مساحة العنوان المادية حتى 46 بت.
- ^ لوجان، توم (14 نوفمبر 2011). "مراجعة Intel Core i7-3960X". مؤرشف من الأصل في 28 مارس 2016. تم الاسترجاع في 1 يوليو 2022 .
- ^ Ye, Huaisheng. "مقدمة إلى 5-Level Paging في معالجات Intel Xeon القابلة للتطوير من الجيل الثالث مع Linux" (PDF) . Lenovo. مؤرشف (PDF) من الأصل في 26 مايو 2022. تم الاسترجاع في 1 يوليو 2022 .
- ^ كينيدي، باتريك (10 نوفمبر 2022). "AMD EPYC Genoa Gaps Intel Xeon in Stunning Fashion". ServeTheHome . ص. 2. مؤرشف من الأصل في 17 نوفمبر 2022 . تم الاسترجاع في 17 نوفمبر 2022 .
- ^ "إحصائيات | أفضل 500 موقع حاسوبي عملاق". Top500.org. مؤرشف من الأصل في 19 مارس 2014. تم الاسترجاع في 22 مارس 2014 .
- ^ "مولد القائمة الفرعية | أفضل 500 موقع حاسوبي عملاق". www.top500.org . مؤرشف من الأصل في 7 ديسمبر 2018 . تم الاسترجاع في 6 ديسمبر 2018 .
- ^ "دليل مرجعي لبنية مجموعة تعليمات المعالج المساعد Intel® Xeon PhiTM" (PDF) . Intel. 7 سبتمبر 2012. القسم B.2 قيود وضع 64 بت للمعالج المساعد Intel Xeon Phi. مؤرشف من الأصل (PDF) في 21 مايو 2014. تم الاسترجاع في 21 مايو 2014 .
- ^ "إنتل تدعم أسرع حاسوب عملاق في العالم وتكشف عن تقنيات جديدة ومستقبلية للحوسبة عالية الأداء". مؤرشف من الأصل في 22 يونيو 2013. تم الاسترجاع في 21 يونيو 2013 .
- ^ "cvs commit: src/sys/amd64/amd64 genassym.c src/sys/amd64/include asm.h atomic.h bootinfo.h coredump.h cpufunc.h elf.h endian.h exec.h float.h fpu.h frame.h globaldata.h ieeefp.h limit.h lock.h md_var.h param.h pcb.h pcb_ext.h pmap.h proc.h profile.h psl.h ..." مؤرشف من الأصل في 4 ديسمبر 2008 . تم الاسترجاع في 3 مايو 2009 .
- ^ "منفذ AMD64". مؤرشف من الأصل في 18 مايو 2010. تم الاسترجاع في 3 مايو 2009 .
- ^ "DragonFlyBSD: GoogleSoC2008". مؤرشف من الأصل في 27 أبريل 2009. تم الاسترجاع في 3 مايو 2009 .
- ^ "طلاب برنامج Summer of Code المقبولون". مؤرشف من الأصل في 4 سبتمبر 2010. تم الاسترجاع في 3 مايو 2009 .
- ^ "DragonFlyBSD: release24". مؤرشف من الأصل في 23 سبتمبر 2009. تم الاسترجاع في 3 مايو 2009 .
- ^ "دليل الدخول إلى الوضع المحمي والوضع الطويل من نظام التشغيل DOS". مؤرشف من الأصل في 22 فبراير 2017. تم الاسترجاع في 6 يوليو 2008 .
- ^ Andi Kleen (26 يونيو 2001). "نقل لينكس إلى x86-64". مؤرشف من الأصل في 10 سبتمبر 2010.
الحالة: تعمل النواة والمترجم وسلسلة الأدوات. يتم تشغيل النواة وتعمل على جهاز محاكاة وتستخدم لنقل أرض المستخدم وتشغيل البرامج
- ^ Andi Kleen. "Andi Kleen's Page". مؤرشف من الأصل في 7 ديسمبر 2009. تم الاسترجاع في 21 أغسطس 2009.
كانت هذه هي الورقة الأصلية التي تصف منفذ نواة Linux x86-64 عندما كان x86-64 متاحًا فقط على أجهزة المحاكاة
. - ^ "Arch64 FAQ". 23 أبريل 2012. مؤرشف من الأصل في 14 مايو 2012. تم الاسترجاع في 11 مايو 2012.
يمكنك استخدام حزم multilib أو chroot i686
. - ^ بواسطة Thorsten Leemhuis (13 سبتمبر 2011). "Kernel Log: x32 ABI gets around 64-bit drawbacks". www.h-online.com. مؤرشف من الأصل في 28 أكتوبر 2011. تم الاسترجاع في 1 نوفمبر 2011 .
- ^ "x32 - a native 32-bit ABI for x86-64". linuxplumbersconf.org. مؤرشف من الأصل في 5 مايو 2012. تم الاسترجاع في 1 نوفمبر 2011 .
- ^ ab "x32-abi". مواقع Google. مؤرشف من الأصل في 30 أكتوبر 2011. تم الاسترجاع في 1 نوفمبر 2011 .
- ^ "AMD64 Port". debian.org. مؤرشف من الأصل في 26 سبتمبر 2019. تم الاسترجاع في 29 أكتوبر 2011 .
- ^ "5-level paging". kernel.org . تم الاسترجاع في 7 فبراير 2024 .
- ^ "Apple – Mac OS X Xcode 2.4 Release Notes: Compiler Tools". Apple Inc. 11 أبريل 2007. مؤرشف من الأصل في 22 أبريل 2009. تم الاسترجاع في 19 نوفمبر 2012 .
- ^ "Apple – Mac OS X Leopard – Technology – 64-bit". مؤرشف من الأصل في 12 يناير 2009. تم الاسترجاع في 19 نوفمبر 2012 .
- ^ "Mac OS X v10.6: أجهزة Mac التي تستخدم نواة 64 بت". Apple Inc. مؤرشف من الأصل في 31 أغسطس 2009. تم الاسترجاع في 29 نوفمبر 2012 .
- ^ جون سيراكوزا. "Mac OS X 10.6 Snow Leopard: مراجعة Ars Technica". Ars Technica LLC. مؤرشف من الأصل في 9 أكتوبر 2009. تم الاسترجاع في 20 يونيو 2010 .
- ^ "Mac OS X Technology". Apple Inc. مؤرشف من الأصل في 28 مارس 2011. تم الاسترجاع في 19 نوفمبر 2012 .
- ^ Schmid, J; Thomases, K; Ramey, J; Czekalla, U; Mathieu, B; Abhiram, R (10 سبتمبر 2019). "لذا ليس لدينا حل لكاتالينا... حتى الآن". مدونة CodeWeavers . مؤرشف من الأصل في 29 سبتمبر 2021. تم الاسترجاع في 29 سبتمبر 2021 .
- ^ Thomases, Ken (11 ديسمبر 2019). "win32 on macOS". WineHQ . مؤرشف من الأصل في 11 نوفمبر 2020 . تم الاسترجاع في 29 سبتمبر 2021 .
- ^ "Microsoft Raises the Speed Limit with the Availability of 64-Bit Editions of Windows Server 2003 and Windows XP Professional". مركز أخبار Microsoft (بيان صحفي). 25 أبريل 2005. تم الاسترجاع في 29 يناير 2024 .
- ^ "وصف الإصدارات المستندة إلى x64 من Windows Server 2003 وWindows XP Professional x64 Edition". دعم Microsoft . مؤرشف من الأصل في 20 أبريل 2016. تم الاسترجاع في 14 أغسطس 2016 .
- ^ "Windows Server 2003 SP1 Administration Tools Pack". مركز التنزيل لـ Microsoft . مؤرشف من الأصل في 27 أغسطس 2016. تم الاسترجاع في 14 أغسطس 2016 .
- ^ ab "/LARGEADDRESSAWARE (Handle Large Addresses)". وثائق Visual Studio 2022 – مرجع رابط MSVC – خيارات رابط MSVC . Microsoft. مؤرشف من الأصل في 21 ديسمبر 2022 . تم الاسترجاع في 21 ديسمبر 2022 .
يخبر خيار /LARGEADDRESSAWARE الرابط بأن التطبيق يمكنه التعامل مع عناوين أكبر من 2 جيجابايت.
- ^ abc Matt Pietrek (مايو 2006). "كل ما تحتاج إلى معرفته لبدء برمجة أنظمة تشغيل Windows 64 بت". Microsoft . تم الاسترجاع في 18 أبريل 2023 .
- ^ كريس سانت أماند (يناير 2006). "الانتقال إلى x64". مايكروسوفت . تم الاسترجاع في 18 أبريل 2023 .
- ^ "خلف حد معالجة الذاكرة الافتراضية 44 بت في Windows x86-64". مؤرشف من الأصل في 23 ديسمبر 2008. تم الاسترجاع في 2 يوليو 2009 .
- ^ "برمجة 64 بت لمطوري الألعاب" . تم الاسترجاع في 18 أبريل 2023 .
- ^ "حدود الذاكرة لإصدارات Windows وWindows Server". Microsoft . تم الاسترجاع في 18 أبريل 2023 .
- ^ Kingsley-Hughes, Adrian (23 أغسطس 2010). "AMD تقول وداعًا لمجموعة تعليمات 3DNow!". ZDNet . مؤرشف من الأصل في 8 يناير 2023 . تم الاسترجاع في 8 يناير 2023 .
- ^ "المبادئ التوجيهية العامة للنقل". دليل البرمجة لنظام التشغيل Windows 64 بت. Microsoft Docs . تم الاسترجاع في 18 أبريل 2023 .
- ^ "سجل برامج التشغيل لـ Microsoft SQL Server". Microsoft Docs . تم الاسترجاع في 18 أبريل 2023 .
- ^ "Microsoft OLE DB Provider for Jet وJet ODBC driver متوفران في إصدارات 32 بت فقط". Office Access. Microsoft Docs . KB957570 . تم الاسترجاع في 18 أبريل 2023 .
- ^ أناند لال شيمبي (21 مايو 2013). "إكس بوكس ون: تحليل الأجهزة ومقارنتها ببلاي ستيشن 4". أناند تيك. مؤرشف من الأصل في 7 يونيو 2013. تم الاسترجاع في 22 مايو 2013 .
- ^ "اختبار المواصفات التقنية: Xbox One مقابل PlayStation 4". Game Informer. 21 مايو 2013. مؤرشف من الأصل في 7 يونيو 2013. تم الاسترجاع في 22 مايو 2013 .
- ^ "ما الذي نتوقعه من إطلاق سوني 'بلاي ستيشن 5' في نوفمبر". The Indian Express . 31 أغسطس 2020. مؤرشف من الأصل في 19 سبتمبر 2020 . تم الاسترجاع 14 سبتمبر 2020 .
- ^ Cutress, Dr Ian. "Hot Chips 2020 Live Blog: Microsoft Xbox Series X System Architecture (6:00pm PT)". www.anandtech.com . مؤرشف من الأصل في 17 سبتمبر 2020 . تم الاسترجاع في 14 سبتمبر 2020 .
- ^ هولستر، شون (12 نوفمبر 2021). "Steam Deck: Five big things we learned from Valve's developer summit". The Verge . مؤرشف من الأصل في 7 فبراير 2022 . تم الاسترجاع في 12 نوفمبر 2021 .
- ^ "ProcessorArchitecture Fields". مؤرشف من الأصل في 28 أبريل 2015. تم الاسترجاع في 4 سبتمبر 2013 .
- ^ "ملف مثال من شجرة مصدر نواة Linux 3.7.8 يعرض استخدام مصطلح x86_64". مؤرشف من الأصل في 23 سبتمبر 2005. تم الاسترجاع في 17 فبراير 2013 .
- ^ الولايات المتحدة 6877084
- ^ الولايات المتحدة 6889312
- ^ الولايات المتحدة 6732258
- ^ "اتفاقية ترخيص براءات الاختراع المتبادلة بين AMD وIntel". 1 يناير 2001. مؤرشف من الأصل في 21 يونيو 2007. تم الاسترجاع في 23 أغسطس 2009 .
- ^ "اتفاقية تسوية AMD مع Intel". مؤرشف من الأصل في 7 يوليو 2017. تم الاسترجاع في 18 سبتمبر 2017 .
- ^ ستيفن شانكلاند وجوناثان إي. سكيلينغز (12 نوفمبر 2009). "إنتل تدفع لشركة أيه إم دي 1.25 مليار دولار في تسوية لمكافحة الاحتكار". سي نت. مؤرشف من الأصل في 8 نوفمبر 2012. تم الاسترجاع في 24 أبريل 2012 .
- ^ سميث، رايان (12 نوفمبر 2009). "AMD وIntel تسويان خلافاتهما: AMD تحصل على فرصة للتخلي عن مصانعها". AnandTech . مؤرشف من الأصل في 13 مايو 2010.
روابط خارجية
- أدلة مطوري AMD، والأدلة، ومستندات ISA
- x86-64: توسيع بنية x86 إلى 64 بت – محاضرة تقنية من قبل مهندس AMD64 (أرشيف الفيديو)، ومحاضرة ثانية من قبل نفس المتحدث (أرشيف الفيديو)
- "الحماية المحسنة من الفيروسات" من AMD
- قامت شركة Intel بتعديل معالج EM64T ليصبح متوافقًا تمامًا مع AMD64
- محلل: إنتل قامت بهندسة AMD64 بشكل عكسي
- تقرير مبكر عن الاختلافات بين Intel IA32e وAMD64
- الانتقال إلى أنظمة GNU/Linux ذات 64 بت، بقلم أندرياس جايجر من مؤتمر GCC Summit 2003. ورقة بحثية ممتازة تشرح تقريباً كل الجوانب العملية للانتقال من 32 بت إلى 64 بت.
- هندسة Intel 64
- شبكة برامج Intel: "64 بت"
- دروس TurboIRC.COM، بما في ذلك أمثلة حول كيفية الدخول إلى الوضع المحمي والوضع الطويل بالطريقة الخام من نظام التشغيل DOS
- سبع خطوات لنقل برنامج إلى نظام 64 بت
- حدود الذاكرة لإصدارات Windows
