x86-64

معالج AMD Opteron، أول معالج مركزي يقدم امتدادات x86-64 في أبريل 2003
مجموعة المجلدات الخمسة من دليل مبرمج معمارية x86-64 ، كما نشرتها ووزعتها شركة AMD في عام 2002

x86-64 (المعروف أيضًا باسم AMD64 و x86_64 و x64 ، ونادرًا ما يُعرف باسم Intel 64 ) [ ملاحظة 1 ] هو امتداد 64 بت لمجموعة تعليمات x86 . أُعلن عنه في عام 1999، وأصبح متاحًا لأول مرة في عائلة معالجات AMD Opteron في عام 2003. ويُقدم وضعين تشغيليين جديدين: وضع 64 بت ووضع التوافق، بالإضافة إلى آلية جديدة للصفحات ذات أربعة مستويات .

في وضع 64 بت، يدعم معالج x86-64 كميات أكبر بكثير من الذاكرة الافتراضية والفعلية مقارنةً بمعالجات 32 بت السابقة، مما يسمح لبرامج الحاسوب باستخدام المزيد من الذاكرة. يزيد هذا التصميم عدد المسجلات العامة من 8 إلى 16، ويوسع عرض (سعة) كل مسجل إلى 64 بت.

يدعم النظام العمليات الحسابية ذات الفاصلة العائمة من خلال تعليمات SSE2 الإلزامية في وضع 64 بت. ورغم توفر سجلات التطبيقات القديمة للفاصلة العائمة - مثل x87 و MMX - إلا أنها تُستبدل عمومًا بسجلات متجهة 128 بت لمجموعة تعليمات SSE. وتستطيع هذه السجلات المتجهة تخزين عددين من الفاصلة العائمة مزدوجة الدقة ، أو ما يصل إلى أربعة أعداد من الفاصلة العائمة أحادية الدقة ، بالإضافة إلى تنسيقات أعداد صحيحة متنوعة.

في وضع 64 بت، يتم تعديل التعليمات لدعم المعاملات 64 بت ووضع العنونة 64 بت .

تُعرّف بنية x86-64 نمط توافق يسمح بتشغيل تطبيقات المستخدم ذات 16 بت و32 بت دون تعديل جنبًا إلى جنب مع تطبيقات 64 بت، شريطة أن يدعمها نظام التشغيل 64 بت. [ 11 ] [ ملاحظة 2 ] نظرًا لأن مجموعات تعليمات x86-32 الكاملة لا تزال مُنفذة في العتاد دون الحاجة إلى محاكاة، يمكن تشغيل هذه الملفات التنفيذية القديمة مع تأثير طفيف أو معدوم على الأداء، [ 13 ] بينما يمكن للتطبيقات الأحدث أو المُعدّلة الاستفادة من الميزات الجديدة لتصميم المعالج لتحقيق تحسينات في الأداء. كذلك، تستمر المعالجات التي تدعم x86-64 في العمل في الوضع الحقيقي للحفاظ على التوافق مع الإصدارات السابقة من معالج 8086 الأصلي ، كما هو الحال مع معالجات x86 منذ إدخال الوضع المحمي مع معالج 80286 .

تم تطبيق المواصفات الأصلية، التي وضعتها AMD وأصدرتها عام 2000، من قبل AMD وإنتل و VIA . وكانت بنية AMD K8 الدقيقة ، في معالجات Opteron و Athlon 64 ، أول من طبقها. وكان هذا أول إضافة مهمة لبنية x86 من تصميم شركة غير إنتل. اضطرت إنتل إلى اتباع النهج نفسه وقدمت عائلة NetBurst المعدلة المتوافقة برمجياً مع مواصفات AMD. وقدمت VIA Technologies بنية x86-64 في بنيتها الدقيقة Isaiah، مع معالج VIA Nano .

تم اعتماد معمارية x86-64 بسرعة لأجهزة الكمبيوتر المكتبية والمحمولة والخوادم، والتي كانت تُهيأ عادةً لذاكرة بسعة 16 جيجابايت  أو أكثر. وقد حلت فعليًا محل معمارية إنتل إيتانيوم (المعروفة سابقًا باسم IA-64 ) التي توقف إنتاجها، والتي كان من المفترض أن تحل محل معمارية x86. لا تتوافق معمارية x86-64 وإيتانيوم على مستوى مجموعة التعليمات الأصلية، ولا يمكن تشغيل أنظمة التشغيل والتطبيقات المُجمّعة لإحدى المعماريتين على الأخرى بشكل أصلي.

في أكتوبر 2024، تم تشكيل المجموعة الاستشارية لنظام x86 البيئي بشكل مشترك من قبل شركتي إنتل وإيه إم دي. وشملت الأهداف تحسين اتساق البرامج وتوحيد واجهات وميزات x86. [ 14 ]

AMD64

شعار AMD64

تاريخ

تم تطوير معمارية AMD64 (التي تُعرف أيضًا في منشورات AMD ووثائقها باسم "تقنية AMD 64 بت" و"معمارية AMD x86-64") كبديل لمعمارية IA-64 المختلفة جذريًا التي صممتها شركتا إنتل وهيوليت -باكارد . وكانت معمارية IA-64 غير متوافقة مع معمارية IA-32 ، وهي امتداد 32 بت لمعمارية x86 . أعلنت AMD في الأصل عن AMD64 في عام 1999 [ 15 ] مع توفر المواصفات الكاملة في أغسطس 2000. [ 16 ] نظرًا لأن 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 بت . [ 17 ] وقد انتهز المصممون هذه الفرصة لإجراء تحسينات أخرى أيضًا.

تشمل التغييرات الملحوظة في امتدادات 64 بت ما يلي:

إمكانية معالجة الأعداد الصحيحة 64 بت
تم توسيع جميع سجلات الأغراض العامة (GPRs) من 32 بت إلى 64 بت، ويمكن لجميع العمليات الحسابية والمنطقية، وعمليات نقل البيانات من الذاكرة إلى السجلات ومن السجلات إلى الذاكرة، وما إلى ذلك، أن تعمل مباشرةً على أعداد صحيحة 64 بت. تكون خطوات عمليات الدفع والسحب من المكدس افتراضيًا 8 بايت، ويبلغ عرض المؤشرات 8 بايت.  
سجلات إضافية
بالإضافة إلى زيادة حجم سجلات الأغراض العامة، زاد عدد سجلات الأغراض العامة المسماة من ثمانية (أي eax ، ebx ، ecx ، edx ، esi ، edi ، esp ، ebp ) في معمارية x86 إلى ستة عشر (أي rax ، rbx ، rcx، rdx ، rsi ، rdi ، rsp ، rbp ، r8 ، r9 ، r10 ، r11 ، r12، r13 ، r14 ، r15 ) . وبالتالي ، أصبح من الممكن تخزين المزيد من المتغيرات المحلية في السجلات بدلاً من المكدس، والسماح للسجلات بتخزين الثوابت التي يتم الوصول إليها بشكل متكرر؛ كما يمكن تمرير وسائط الإجراءات الفرعية الصغيرة والسريعة في السجلات بشكل أكبر.
لا يزال معالج AMD64 يحتوي على عدد أقل من المسجلات مقارنةً بالعديد من مجموعات تعليمات RISC (مثل Power ISA الذي يحتوي على 32 مسجلاً عامًا للأغراض العامة؛ ومعالجات ARM و RISC-V I و SPARC و Alpha و MIPS و PA-RISC ذات 64 بت التي تحتوي على 31 مسجلاً) أو الأجهزة الشبيهة بمعالجات VLIW مثل IA-64 (الذي يحتوي على 128 مسجلاً). مع ذلك، قد يحتوي تطبيق AMD64 على عدد أكبر بكثير من المسجلات الداخلية مقارنةً بعدد المسجلات المعمارية التي توفرها مجموعة التعليمات (انظر إعادة تسمية المسجلات ). (على سبيل المثال، تحتوي أنوية AMD Zen على 168 مسجلاً داخليًا فعليًا للأعداد الصحيحة 64 بت و160 مسجلاً داخليًا فعليًا للأعداد العشرية المتجهة 128 بت). 
سجلات XMM (SSE) إضافية
وبالمثل، تم أيضًا زيادة عدد سجلات XMM ذات 128 بت (المستخدمة لتعليمات SIMD المتدفقة ) من 8 إلى 16.
لا يتضمن امتداد حجم ملف السجلات في وضع 64 بت مكدس سجلات وحدة الفاصلة العائمة x87 التقليدي، على عكس سجلات XMM المستخدمة في SSE2، والتي تم توسيعها. لا يُعد مكدس سجلات x87 ملف سجلات بسيطًا، على الرغم من أنه يسمح بالوصول المباشر إلى السجلات الفردية من خلال عمليات تبادل منخفضة التكلفة.
مساحة عنوان افتراضية أكبر
تُعرّف بنية AMD64 تنسيق عنوان افتراضي 64 بت، حيث تُستخدم 48 بت الأقل أهمية في التطبيقات الحالية. [ 11 ] : 120 يسمح هذا بمساحة عنوان افتراضي تصل إلى 256 تيرابايت (2^ 48 بايت ). يسمح تعريف البنية برفع هذا الحد في التطبيقات المستقبلية إلى 64 بت كاملة، [ 11 ] : 2 : 3 : 13 : 117 : 120 مما يوسع مساحة العنوان الافتراضي إلى 16 إكسابايت (2^ 64 بايت). [ 18 ] بالمقارنة، تبلغ مساحة العنوان الافتراضي 4 جيجابايت فقط (2 ^32 بايت) لبنية x86. [ 19 ]   
وهذا يعني أنه يمكن التعامل مع الملفات الكبيرة جدًا عن طريق تعيين الملف بأكمله في مساحة عنوان العملية (وهو غالبًا أسرع بكثير من العمل مع استدعاءات قراءة/كتابة الملف)، بدلاً من الاضطرار إلى تعيين مناطق من الملف داخل وخارج مساحة العنوان.
مساحة عناوين فعلية أكبر
كان التصميم الأصلي لبنية AMD64 يدعم عناوين فيزيائية 40 بت ، وبالتالي يمكنه الوصول إلى ذاكرة وصول عشوائي (RAM) بسعة تصل إلى 1  تيرابايت (2^ 40 بايت). [ 11 ] : 24 أما التصاميم الحالية لبنية AMD64 (بدءًا من بنية AMD 10h الدقيقة ) فتُوسّع هذا النطاق إلى عناوين فيزيائية 48 بت [ 20 ] ، وبالتالي يمكنها الوصول إلى ذاكرة وصول عشوائي (RAM) بسعة تصل إلى 256  تيرابايت (2^ 48 بايت). تسمح هذه البنية بتوسيع هذا النطاق إلى 52 بت في المستقبل [ 11 ] : 24 [ 21 ] (مع مراعاة قيود تنسيق إدخال جدول الصفحات)؛ [ 11 ] : 131 مما سيسمح بالوصول إلى  ذاكرة وصول عشوائي (RAM) بسعة تصل إلى 4 بيتابايت. للمقارنة، تقتصر معالجات x86 ذات 32 بت على 64  جيجابايت من ذاكرة الوصول العشوائي (RAM) في وضع امتداد العنوان الفيزيائي (PAE)، [ 22 ] أو 4  جيجابايت من ذاكرة الوصول العشوائي (RAM) بدون وضع PAE. [ 11 ] : 4
مساحة عناوين فعلية أكبر في الوضع القديم
عند التشغيل في الوضع القديم ، تدعم بنية AMD64 وضع امتداد العنوان الفيزيائي (PAE)، كما هو الحال في معظم معالجات x86 الحالية، ولكن AMD64 تمدد PAE من 36 بت إلى حد معماري يبلغ 52  بت من العنوان الفيزيائي. وبالتالي، فإن أي تطبيق يسمح بنفس حد العنوان الفيزيائي كما هو الحال في الوضع الطويل . [ 11 ] : 24
الوصول النسبي إلى البيانات باستخدام مؤشر التعليمات
يمكن للتعليمات الآن الإشارة إلى البيانات نسبةً إلى مؤشر التعليمات (سجل RIP). وهذا يجعل التعليمات البرمجية المستقلة عن الموقع ، كما هو شائع في المكتبات المشتركة والتعليمات البرمجية التي يتم تحميلها أثناء التشغيل، أكثر كفاءة.
تعليمات SSE
اعتمدت بنية AMD64 الأصلية تعليمات SSE و SSE2 من إنتل كتعليمات أساسية. توفر مجموعات التعليمات هذه مكملاً متجهيًا لوحدة معالجة الفاصلة العائمة x87 القياسية، لأنواع البيانات أحادية وثنائية الدقة. كما توفر SSE2 عمليات متجهية للأعداد الصحيحة، لأنواع البيانات التي تتراوح دقتها من 8 بت إلى 64 بت. هذا يجعل قدرات المتجهات في هذه البنية مماثلة لتلك الموجودة في أحدث معالجات x86 في ذلك الوقت. يمكن أيضًا استخدام هذه التعليمات في وضع 32 بت. وقد أدى انتشار معالجات 64 بت إلى جعل هذه القدرات المتجهة شائعة في أجهزة الكمبيوتر المنزلية، مما سمح بتحسين معايير تطبيقات 32 بت. على سبيل المثال، يتطلب إصدار 32 بت من نظام التشغيل Windows 8 وجود تعليمات SSE2. [ 23 ] أما تعليمات SSE3 ومجموعات تعليمات Streaming SIMD Extensions اللاحقة ، فهي ليست من الميزات القياسية لهذه البنية.
بت عدم التنفيذ
تسمح بتة منع التنفيذ ( NX) (البتة رقم 63 في مدخل جدول الصفحات) لنظام التشغيل بتحديد صفحات مساحة العناوين الافتراضية التي يمكن أن تحتوي على تعليمات برمجية قابلة للتنفيذ وتلك التي لا يمكن ذلك. محاولة تنفيذ تعليمات برمجية من صفحة تحمل علامة "منع التنفيذ" ستؤدي إلى انتهاك الوصول إلى الذاكرة، على غرار محاولة الكتابة إلى صفحة للقراءة فقط. يُفترض أن يُصعّب هذا الأمر على البرامج الضارة السيطرة على النظام عبر هجمات " تجاوز سعة المخزن المؤقت " أو "المخزن المؤقت غير المُدقّق". تتوفر ميزة مماثلة في معالجات 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، والقفزات البعيدة والاستدعاءات ذات المعاملات الفورية.

تفاصيل مساحة العنوان الافتراضي

الشكل القانوني للرسائل

تطبيقات مساحة العناوين الأساسية (الرسوم البيانية ليست بمقياس الرسم)
التنفيذ الحالي 48 بت
تنفيذ 57 بت
تنفيذ 64 بت

على الرغم من أن عرض العناوين الافتراضية يبلغ 64  بت في وضع 64 بت، إلا أن التطبيقات الحالية (وجميع الرقاقات التي لا تزال قيد التخطيط) لا تسمح باستخدام كامل مساحة العناوين الافتراضية البالغة 2^ 64 بايت (16 إكسابايت ). وهذا يعادل تقريبًا أربعة مليارات ضعف حجم مساحة العناوين الافتراضية على أجهزة 32 بت. لن تحتاج معظم أنظمة التشغيل والتطبيقات إلى مساحة عناوين بهذا الحجم في المستقبل المنظور، لذا فإن تطبيق عناوين افتراضية بهذا العرض سيؤدي ببساطة إلى زيادة تعقيد وتكلفة ترجمة العناوين دون أي فائدة حقيقية. لذلك، قررت AMD أنه في التطبيقات الأولى لهذه البنية، سيتم استخدام أقل 48 بت أهمية من العنوان الافتراضي فقط في ترجمة العناوين ( البحث في جدول الصفحات ). [ 11 ] : 120  

بالإضافة إلى ذلك، تشترط مواصفات AMD أن تكون البتات الستة عشر الأكثر أهمية في أي عنوان افتراضي، من البتات 48 إلى 63، نسخًا من البت 47 (بطريقة مشابهة لتمديد الإشارة ). إذا لم يُستوفَ هذا الشرط، فسيُصدر المعالج استثناءً. [ 11 ] : 131 تُسمى العناوين المتوافقة مع هذه القاعدة "العناوين ذات الشكل المتعارف عليه". [ 11 ] : 130 تمتد عناوين الشكل المتعارف عليه من 0 إلى 00007FFF'FFFFFFFF، ومن FFFF8000'00000000 إلى FFFFFFFF'FFFFFFFF، بإجمالي 256 تيرابايت من مساحة العناوين الافتراضية القابلة للاستخدام. وهذا لا يزال أكبر بـ 65,536 مرة من مساحة العناوين الافتراضية البالغة 4 جيجابايت في الأجهزة ذات 32 بت.  

تُسهّل هذه الميزة التوسع لاحقًا إلى عنونة 64 بت حقيقية. تستخدم العديد من أنظمة التشغيل (بما في ذلك، على سبيل المثال لا الحصر، عائلة Windows NT ) النصف الأعلى من مساحة العناوين (المسمى مساحة النواة ) لنفسها، وتترك النصف الأدنى ( مساحة المستخدم ) لرمز التطبيق، ومكدسات وضع المستخدم، والكومات، ومناطق البيانات الأخرى. [ 24 ] يضمن تصميم "العناوين المتعارف عليها" أن كل تطبيق متوافق مع AMD64 يحتوي، في الواقع، على نصفين من الذاكرة: يبدأ النصف الأدنى من 00000000'00000000 ويتوسع لأعلى مع توفر المزيد من بتات العناوين الافتراضية، بينما يُثبّت النصف الأعلى في أعلى مساحة العناوين ويتوسع لأسفل. كما أن فرض "الشكل المتعارف عليه" للعناوين عن طريق فحص بتات العناوين غير المستخدمة يمنع استخدامها من قبل نظام التشغيل في المؤشرات الموسومة كعلامات أو علامات امتياز وما إلى ذلك، حيث يمكن أن يصبح هذا الاستخدام إشكاليًا عند توسيع البنية لتنفيذ المزيد من بتات العناوين الافتراضية.

لم تستخدم الإصدارات الأولى من نظام التشغيل ويندوز لأنظمة 64 بت كامل مساحة الذاكرة البالغة 256  تيرابايت؛ إذ اقتصرت على 8  تيرابايت فقط من مساحة المستخدم و8  تيرابايت من مساحة النواة. [ 24 ] ولم يدعم ويندوز كامل مساحة العناوين 48 بت إلا مع إصدار ويندوز 8.1 في أكتوبر 2013. [ 24 ]

بنية جدول الصفحات

نمط العنونة 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 بت
أجزاء:6362  ...  5251  ...  32
محتوى:إن إكسمحجوزالبتات  من 51 إلى 32  من العنوان الأساسي
أجزاء:31  ...  1211  ...  9876543210
محتوى:البتات  من 31 إلى 12  من  العنوان الأساسيign.جيبراءة اختراعدأPCDPWTنحنR/WP

طبّقت إنتل نظامًا يعتمد على جدول صفحات من خمسة مستويات ، مما يسمح لمعالجات إنتل 64 بدعم عناوين 57 بت، وبالتالي مساحة عناوين افتراضية تبلغ 128 بيتابايت . [ 25 ] قد تسمح التوسعات اللاحقة بمساحة عناوين افتراضية كاملة 64 بت وذاكرة فعلية مع مُعرّفات جدول صفحات 12 بت وإزاحات ذاكرة 16 أو 21 بت لأحجام تخصيص صفحات تبلغ 64 كيلوبايت و2 ميجابايت؛ وسيتم توسيع مدخل جدول الصفحات إلى 128 بت لدعم علامات الأجهزة الإضافية لحجم الصفحة وحجم مساحة العناوين الافتراضية. [ 26 ]   

حدود نظام التشغيل

يمكن لنظام التشغيل أيضًا تقييد مساحة العناوين الافتراضية. ترد التفاصيل، عند الاقتضاء، في قسم " توافق نظام التشغيل وخصائصه ".

تفاصيل مساحة العنوان الفعلي

تدعم معالجات AMD64 الحالية مساحة عناوين فعلية تصل إلى 248 بايت من ذاكرة الوصول العشوائي (RAM)، أو 256 تيرابايت . [ 20 ] ومع ذلك، اعتبارًا من عام 2020 لم تكن هناك لوحات أم معروفة من نوع x86-64 تدعم  ذاكرة وصول عشوائي (RAM) بسعة 256 تيرابايت. [ 27 ] [ 28 ] [ 29 ] [ 30 ] قد يفرض نظام التشغيل قيودًا إضافية على مقدار ذاكرة الوصول العشوائي القابلة للاستخدام أو المدعومة. ترد تفاصيل هذه النقطة في قسم " توافق نظام التشغيل وخصائصه " من هذه المقالة.

أوضاع التشغيل

يحتوي هذا النظام المعماري على نمطين أساسيين للتشغيل: النمط الطويل والنمط القديم.

التشغيلنظام التشغيل مطلوبنوع الكود الذي يتم تشغيلهالحجم (بالبت)عدد السجلات ذات الأغراض العامة
وضعالوضع الفرعيالعناوينالمعاملات ( الافتراضية مكتوبة بخط مائل )
الوضع الطويلوضع 64 بتنظام تشغيل 64 بت، أو برنامج ثابت UEFI 64 بت ، أو كلاهما يتفاعلان عبر واجهة UEFI لبرنامج ثابت 64 بت.64 بت648، 16، 32 ، 6416
وضع التوافقبرنامج الإقلاع أو نظام التشغيل 64 بت32 بت328، 16، 328
وضع الحماية 16 بت1616 ، 328
الوضع القديمالوضع المحميبرنامج الإقلاع ، أو نظام التشغيل 32 بت، أو برنامج UEFI الثابت 32 بت، أو تفاعل العنصرين الأخيرين عبر واجهة UEFI الخاصة بالبرنامج الثابت.32 بت328، 16، 328
نظام تشغيل محمي 16 بتوضع الحماية 16 بت1616 ، 32 [ م 1 ]8
وضع 8086 الافتراضيوضع الحماية 16 بت أو نظام التشغيل 32 بتمجموعة فرعية من الوضع الحقيقي1616 ، 32 [ م 1 ]8
الوضع غير الواقعيبرنامج الإقلاع أو نظام التشغيل في الوضع الحقيقيالوضع الحقيقي16، 20، 3216 ، 32 [ م 1 ]8
الوضع الحقيقيبرنامج الإقلاع ، أو نظام التشغيل في الوضع الحقيقي، أو أي نظام تشغيل يتفاعل مع واجهة BIOS الخاصة بالبرنامج الثابت [ 31 ]الوضع الحقيقي16، 20، 2116 ، 32 [ م 1 ]8
  1. ١ ٢ ٣ ٤ لاحظ أن التعليمات البرمجية ذات ١٦ بت المكتوبة للمعالج ٨٠٢٨٦ وما دونه لا تستخدم تعليمات المعاملات ذات ٣٢ بت. أما التعليمات البرمجية المكتوبة للمعالج ٨٠٣٨٦ وما فوق، فيمكنها استخدام بادئة تجاوز حجم المعامل (٠x٦٦). عادةً ما تُستخدم هذه البادئة في التعليمات البرمجية المحمية والوضع الطويل لغرض استخدام معاملات ذات ١٦ بت، حيث تعمل هذه التعليمات البرمجية في مقطع برمجي بحجم معامل افتراضي ٣٢ بت. في الوضع الحقيقي، يكون حجم المعامل الافتراضي ١٦ بت، لذا تُفسَّر البادئة ٠x٦٦ بشكل مختلف، مما يُغيِّر حجم المعامل إلى ٣٢ بت.
مخطط حالة أوضاع تشغيل x86-64

الوضع الطويل

الوضع الطويل هو الوضع التشغيلي الأساسي المُعتمد في هذه البنية؛ وهو مزيج من الوضع الأصلي للمعالج ذي 64 بت ووضع توافق مُدمج بين 32 بت و16 بت. تستخدمه أنظمة التشغيل ذات 64 بت. في نظام تشغيل 64 بت، تعمل البرامج ذات 64 بت في الوضع 64 بت، بينما تعمل تطبيقات الوضع المحمي 32 بت و16 بت (التي لا تحتاج إلى استخدام الوضع الحقيقي أو وضع 8086 الافتراضي للتنفيذ) في وضع التوافق. لا يمكن تشغيل برامج الوضع الحقيقي والبرامج التي تستخدم وضع 8086 الافتراضي في الوضع الطويل إلا إذا تمت محاكاة هذه الأوضاع برمجياً. [ 11 ] : 11 ومع ذلك، يمكن تشغيل هذه البرامج من نظام تشغيل يعمل في الوضع الطويل على معالجات تدعم VT-x أو AMD-V عن طريق إنشاء معالج افتراضي يعمل في الوضع المطلوب.

بما أن مجموعة التعليمات الأساسية متطابقة، فلا يوجد تقريبًا أي تأثير سلبي على الأداء عند تنفيذ كود x86 في الوضع المحمي. وهذا يختلف عن معالج IA-64 من إنتل ، حيث تعني الاختلافات في مجموعة التعليمات الأساسية أن تشغيل كود 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 تقليدية . [ 31 ]

إنتل 64

Intel  64 هو تطبيق Intel لـ x86-64، والذي تم استخدامه وتطبيقه في معالجات مختلفة من صنع Intel.

تاريخ

تاريخياً، قامت شركة AMD بتطوير وإنتاج معالجات بمجموعات تعليمات مصممة على غرار تصميمات Intel الأصلية، ولكن مع x86-64، انعكست الأدوار: وجدت Intel نفسها في موقف اعتماد مجموعة التعليمات التي أنشأتها AMD كامتداد لخط معالجات x86 الخاص بشركة Intel.

كان مشروع إنتل يحمل الاسم الرمزي "يامهيل " [ 32 ] (نسبةً إلى نهر يامهيل في وادي ويلاميت بولاية أوريغون). بعد سنوات من إنكار وجوده، أعلنت إنتل في مؤتمر تطوير البرمجيات الدولي (IDF) في فبراير 2004 أن المشروع قيد التنفيذ بالفعل. واعترف رئيس مجلس إدارة إنتل آنذاك، كريغ باريت ، بأن هذا كان من أسوأ أسرارهم حفظًا. [ 33 ] [ 34 ]

تغير اسم مجموعة التعليمات هذه من إنتل عدة مرات. كان الاسم المستخدم في مؤتمر IDF هو CT [ 35 ] (يُفترض أنه اختصار لـ Clackamas Technology ، وهو اسم رمزي آخر مشتق من اسم نهر في ولاية أوريغون )، وفي مارس 2004 كشفت إنتل عن الاسم "الرسمي" EM64T (تقنية الذاكرة الموسعة 64). في أواخر عام 2006، بدأت إنتل باستخدام اسم Intel 64 لتنفيذها، على غرار استخدام AMD لاسم AMD64. [ 36 ] 

كان معالج Xeon  متعدد المقابس ، المسمى Nocona، أول معالج يُطبّق تقنية Intel 64 في يونيو 2004. في المقابل، لم تُفعّل رقائق Prescott الأولية (فبراير 2004) هذه الميزة. لاحقًا، بدأت Intel ببيع معالجات Pentium 4 المُفعّلة بتقنية Intel 64 باستخدام الإصدار E0 من نواة Prescott، والتي بيعت في سوق مُصنّعي المعدات الأصلية (OEM) باسم Pentium 4، طراز F. يُضيف الإصدار E0 أيضًا خاصية تعطيل التنفيذ (XD) (اسم Intel لبت NX ) إلى تقنية Intel 64، وقد تم تضمينها في معالج Xeon آنذاك، المسمى Irwindale . كان الإطلاق الرسمي لتقنية Intel 64 (تحت اسم EM64T في ذلك الوقت) في معالجات سطح المكتب الشائعة هو معالج Prescott-2M من الإصدار N0 في فبراير 2005. [ 37 ]   

أول معالج محمول من إنتل يطبق تقنية Intel  64 هو Merom Core 2 ، الذي تم إصداره في 27 يوليو 2006. لم يطبق أي من معالجات إنتل السابقة لأجهزة الكمبيوتر المحمولة ( Core Duo و Pentium M و Celeron M و Mobile Pentium 4 ) تقنية Intel  64.

التطبيقات

تشمل معالجات إنتل التي تُطبّق بنية Intel64 سلسلة Pentium 4 F/5x1، و506، و516، وطرازات Celeron D 3x1، و3x6، و355، و347، و352، و360، و365، وجميع طرازات Celeron اللاحقة ، وجميع طرازات Xeon منذ " Nocona "، وجميع طرازات معالجات Pentium ثنائية النواة منذ " 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.

تطبيق VIA x86-64

قدمت شركة VIA Technologies أول تطبيق لها لبنية x86-64 في عام 2008 بعد خمس سنوات من التطوير من قبل قسم وحدات المعالجة المركزية التابع لها، Centaur Technology . [ 38 ] تم الكشف عن هذه البنية، التي تحمل الاسم الرمزي "Isaiah"، ذات 64 بت في 24 يناير 2008، [ 39 ] وأُطلقت في 29 مايو تحت العلامة التجارية VIA Nano . [ 40 ]

يدعم المعالج عددًا من امتدادات x86 الخاصة بشركة VIA، المصممة لتعزيز كفاءة الأجهزة منخفضة الطاقة. في حملة التسويق قبل الإطلاق، صرّحت 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-v1CMOVcmovمعيار أساسي لجميع وحدات المعالجة المركزية x86-64. تتطابق الميزات مع القدرات المشتركة بين معالج AMD AMD64 لعام 2003 ومعالج Intel EM64T لعام 2004 في عائلتي معالجات AMD K8 و Intel Prescott .
CX8cmpxchg8b
وحدة معالجة الفاصلة العائمةحقل
FXSRfxsave
MMXإيمز
OSFXSRfxsave
SCEاستدعاء النظام
جنوب شرقcvtss2si
SSE2cvtpi2pd
x86-64-v2CMXCHG16Bcmpxchg16bتتطابق الميزات مع بنية Intel Nehalem لعام 2008، باستثناء التعليمات الخاصة بشركة Intel.
LAHF-SAHFlahf
نقطة اتصالنسبة السكان
SSE3addsubpd
SSE4_1blendpd
SSE4_2pcmpestri
SSSE3pshufb
x86-64-v3AVXvzeroallتتوافق الميزات مع بنية Intel Haswell لعام 2013، باستثناء التعليمات الخاصة بشركة Intel.
AVX2vpermd
مؤشر كتلة الجسم 1و
مؤشر كتلة الجسم 2bzhi
إف 16 سيvcvt 2ps
FMAvfmadd132pd
LZCNTlzcnt
موفيموفبي
OSXSAVExgetbv
x86-64-v4AVX512Fkmovwتتوافق الميزات مع بنية Intel Skylake-X لعام 2017، باستثناء التعليمات الخاصة بشركة Intel.
AVX512BWvdbpsadbw
AVX512CDvplzcntd
AVX512DQvpmullq
AVX512VLغير متوفر

يمكن العثور على مستويات ميزات البنية الدقيقة x86-64 أيضًا تحت مسميات AMD64-v1، وAMD64-v2، وAMD64_v1، في البيئات التي تستخدم تسمية "AMD64". تُستخدم هذه التسميات كمرادفات لتسمية x86-64-vX، وبالتالي فهي متطابقة وظيفيًا. ومن الأمثلة على ذلك توثيق لغة Go وتوزيعة Fedora Linux.

تتضمن جميع المستويات الميزات الموجودة في المستويات السابقة. أما امتدادات مجموعة التعليمات التي لا تتعلق بالحسابات العامة، بما في ذلك AES-NI و RDRAND ، فهي مستثناة من متطلبات المستوى.

في معظم توزيعات لينكس x86_64 الحديثة، يمكن التحقق من جميع مستويات ميزات x86_64 التي يدعمها المعالج باستخدام الأمر التالي: /lib64/ld-linux-x86-64.so.2 --help(متوفر منذ glibc 2.33 [ 45 ] ). ستظهر النتيجة في نهاية مخرجات الأمر.

المجلدات الفرعية لمجلدات glibc-hwcaps، حسب ترتيب الأولوية:  x86-64-v4  x86-64-v3 (مدعوم، تم البحث فيه)  x86-64-v2 (مدعوم، تم البحث فيه)

هنا، مستوى الميزات x86-64-v4 غير مدعوم بواسطة وحدة المعالجة المركزية، ولكن x86-64-v3 و x86-64-v2 مدعومان، مما يعني أن وحدة المعالجة المركزية هذه لا تدعم AVX512 المطلوبة في المستوى v4.

الاختلافات بين AMD64 و Intel 64

على الرغم من تطابقهما تقريبًا، توجد بعض الاختلافات بين مجموعتي التعليمات في دلالات عدد قليل من تعليمات الآلة (أو الحالات) قليلة الاستخدام، والتي تُستخدم أساسًا في برمجة الأنظمة . [ 46 ] ما لم يُطلب خلاف ذلك عبر -marchالإعدادات، تُنتج المترجمات عمومًا ملفات تنفيذية (أي شفرة آلة ) تتجنب أي اختلافات، على الأقل بالنسبة لبرامج التطبيقات العادية . ولذلك، يُعد هذا الأمر ذا أهمية خاصة لمطوري المترجمات وأنظمة التشغيل وما شابهها، الذين يتعاملون مع تعليمات النظام الفردية والخاصة.

التطبيقات الحديثة

  • يسمح معالج Intel  64 باستخدام SYSCALL/ SYSRETفقط في وضع 64 بت (وليس في وضع التوافق)، [ 47 ] ويسمح باستخدامه SYSENTERفي SYSEXITكلا الوضعين. [ 48 ] أما معالج AMD64 فيفتقر إلى SYSENTER/ SYSEXITفي كلا الوضعين الفرعيين للوضع الطويل . [ 11 ] : 33
  • عند العودة إلى عنوان غير قياسي باستخدام SYSRET، تقوم معالجات AMD64 بتنفيذ معالج أخطاء الحماية العامة في مستوى الامتياز 3، [ 49 ] بينما  يتم تنفيذه في معالجات Intel 64 في مستوى الامتياز 0. [ 50 ]
  • ستقوم التعليمات SYSRETبتحميل مجموعة من القيم الثابتة في الجزء المخفي من SSسجل القطاع (العنوان الأساسي، الحد، السمات) على معالج Intel  64 ولكنها ستترك الجزء المخفي SSدون تغيير على معالج AMD64. [ 51 ]
  • في معالجات Intel  64، SYSRETتُعيّن هذه التعليمة مستوى امتياز (RPL) SSلسجل القطاع إلى 3 بشكل غير مشروط (لأنها تُعيد مستوى الامتياز إلى 3). [ 52 ] أما في معالجات AMD64، فيتم تعيين مستوى الامتياز (RPL) إلى البتات المقابلة في سجل STAR MSR ( السجل الخاص بالنموذج )، أي البتات 49 و48. [ 53 ]
  • يتطلب معالج AMD64 تنسيق تحديث مختلف للبرامج الثابتة الدقيقة ويتحكم في سجلات MSR، بينما يقوم معالج Intel  64 بتنفيذ تحديث البرامج الثابتة الدقيقة دون تغيير عن معالجاته ذات 32 بت فقط.
  • يفتقر معالج Intel  64 إلى بعض سجلات MSR التي تعتبر معمارية في معالج AMD64. وتشمل هذه السجلات SYSCFGو TOP_MEMو TOP_MEM2.
  • يفتقر معالج Intel  64 إلى القدرة على حفظ واستعادة نسخة مصغرة (وبالتالي أسرع) من حالة الفاصلة العائمة (التي تتضمن تعليمات FXSAVEAND FXRSTOR).
  • في معالجات AMD64، لا تقوم تعليمات FXSAVE/ FXRSTORبحفظ/استعادة مؤشرات استثناءات x87 (FCS/FIP، FDS/FDP، FOP) إلا عند وجود استثناء x87 معلق غير مُقنّع. [ 54 ] [ 55 ] أما في معالجات Intel  64، فيتم حفظ هذه المؤشرات واستعادتها دائمًا بغض النظر عن حالة استثناء x87.
  • في وضع 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.
  • عند PUSHاستخدام هذه التعليمة مع مسجل قطاع وحجم معامل 32 بت في وضع التوافق/الوضع القديم، يقوم معالج AMD64 بتوسيع المسجل من 2 إلى 4 بايتات، ثم يدفع قيمة الـ 4 بايتات إلى المكدس. أما معالج Intel  64، فيقوم أيضًا بإنقاص مؤشر المكدس بمقدار 4، ولكنه يكتب بايتين فقط، تاركًا فراغًا بحجم بايتين غير مكتوب. [ 56 ] [ 57 ]
  • عند POPاستخدام التعليمات مع سجل مقطع وحجم معامل 32 أو 64 بت، سيقوم AMD64 بقراءة الذاكرة من المكدس بعرض يساوي حجم المعامل، بينما  سيقوم Intel 64 بقراءة الذاكرة 16 بت (ولكنه سيظل يزيد مؤشر المكدس وفقًا لحجم المعامل). [ 57 ]
  • ستقوم تعليمات FCOMI/ FCOMIP/ FUCOMI/ FUCOMIP(x87 float-point compare) بمسح بتات OF و SF و AF الخاصة بـ EFLAGS على Intel  64، ولكنها ستترك بتات العلامات هذه دون تغيير على AMD64.
  • بالنسبة لتعليمات VMASKMOVPS/ VMASKMOVPD/ VPMASKMOVD/ VPMASKMOVQ(AVX/AVX2 masked move to/from memory)،  يضمن Intel 64 من الناحية المعمارية أن هذه التعليمات لن تتسبب في حدوث أخطاء في الذاكرة (مثل أخطاء الصفحة وأخطاء التجزئة) لأي مسارات ذات قناع صفري، بينما لا يوفر AMD64 مثل هذا الضمان.
  • إذا RDRANDفشلت التعليمات في الحصول على رقم عشوائي (كما هو موضح بواسطة EFLAGS.CF=0)، فإن سجل الوجهة مضمون من الناحية المعمارية أن يتم تعيينه إلى 0 على Intel  64 ولكن ليس AMD64.
  • بالنسبة VPINSRDلتعليمات VPEXTRDإدخال/استخراج مسارات متجه AVX خارج وضع 64 بت، يتطلب معالج AMD64 ترميز التعليمات باستخدام VEX.W=0، بينما  يقبل معالج Intel 64 أيضًا الترميز باستخدام VEX.W=1. (في وضع 64 بت،  يتطلب كل من معالج AMD64 ومعالج Intel 64 استخدام VEX.W=0.)
  • عند تمكين فحص المحاذاة ( EFLAGS.AC=1)، فإن تعليمات AVX ذات معاملات الذاكرة غير المحاذية 128 بت أو 256 بت، وتعليمات SSE4.2 PCMP*STR*ذات معاملات الذاكرة غير المحاذية 128 بت، ستتسبب في استثناءات #AC (فحص المحاذاة) على AMD64 [ 58 ] ولكن ليس على Intel  64. [ 59 ]
  • يُعد رمز العملية 0F 0D /rمع حقل Mod الخاص بالبايت ModR/M11b مضبوطًا على قيمة محجوزة - NOP على Intel  64 [ 60 ] ولكنه سيؤدي إلى #UD (استثناء رمز العملية غير الصالح) على AMD64. [ 61 ]
  • تختلف ضمانات الترتيب التي توفرها بعض تعليمات ترتيب الذاكرة، مثل LFENCEتلك المذكورة، MFENCEبين معالجات Intel  64 و AMD64:
    • LFENCEيتم إرسال البيانات بشكل تسلسلي (مما يتيح استخدامها كحاجز للتخمين ) على معالجات Intel  64، ولكن لا يوجد ضمان معماري بأن يتم إرسال البيانات بشكل تسلسلي على معالجات AMD64. [ 62 ]
    • MFENCEهي تعليمات تسلسلية كاملة (بما في ذلك تسلسل جلب التعليمات) على AMD64 ولكن ليس على Intel  64.
    • يتم تنفيذ التعليمات الخاصة بـ CR8 على معالج AMD64 ولكن ليس على معالج Intel MOV64 .INVPCID 
    • يتم تنفيذ التعليمات LMSWبشكل تسلسلي على معالجات Intel  64 ولكن ليس على معالجات AMD64.
    • WRMSRيُستخدم سجل أوامر المقاطعة (ICR ) الخاص بـ x2APIC830h بشكل شائع لإنتاج مقاطعة بين المعالجات (IPI ) - على معالجات Intel  64 [ 63 ] ولكن ليس على معالجات AMD64 [ 64 ] ، ويمكن إعادة ترتيب هذه المقاطعة بين المعالجات قبل تخزين الذاكرة الأقدم.
    • في معالجات AMD64 الحديثة ( Zen 4 وما بعدها)، لا يتم التعامل مع سجلات MSR بشكل تسلسلي. WRMSR[ 65 ] أما في معالجات Intel 64 وكذلك معالجات AMD64 الأقدم، فيتم التعامل مع سجلات MSR هذه بشكل تسلسلي.FS_BASEGS_BASEKernelGSBase WRMSR

الإصدارات القديمة

  • كانت معالجات AMD64 قبل الإصدار F [ 66 ] (الذي تميز بالتحول من ذاكرة DDR إلى ذاكرة DDR2 ومنافذ AM2 و F و S1 ) لعام 2006 تفتقر إلى هذه CMPXCHG16Bالتعليمة، وهي امتداد للتعليمة CMPXCHG8Bالموجودة في معظم المعالجات اللاحقة لمعالج 80486. على غرار ذلك CMPXCHG8B، CMPXCHG16Bتسمح هذه التعليمة بإجراء عمليات ذرية على الكلمات الثمانية (قيم 128 بت). وهذا مفيد للخوارزميات المتوازية التي تستخدم المقارنة والتبديل على بيانات أكبر من حجم المؤشر، وهو أمر شائع في الخوارزميات الخالية من الأقفال والانتظار . بدون CMPXCHG16Bهذه التعليمة، يجب استخدام حلول بديلة، مثل القسم الحرج أو أساليب بديلة خالية من الأقفال. [ 67 ] كما أن غيابها يمنع أنظمة Windows 64 بت قبل Windows 8.1 من امتلاك مساحة عناوين في وضع المستخدم أكبر من 8 تيرابايت . [ 68 ] جميع إصدارات Windows 64 بت منذ Windows 8.1 تتطلب هذه التعليمة. [ 69 ] 
  • كانت معالجات AMD64 وIntel  64 المبكرة تفتقر LAHFإلى SAHFتعليمات 64 بت. قدمت AMD هذه التعليمات (أيضًا في وضع 64 بت) مع معالجاتها بتقنية 90  نانومتر (الإصدار  D)، بدءًا من Athlon  64 في أكتوبر 2004. [ 70 ] [ 71 ] قدمت Intel هذه التعليمات في أكتوبر 2005 مع 0F47h ​​والإصدارات اللاحقة من NetBurst . [ b ] تتطلب جميع إصدارات Windows 64 بت منذ Windows 8.1 هذه الميزة. [ 69 ]
  • كانت معالجات إنتل الأولى المزودة ببنية Intel  64 تفتقر أيضًا إلى بت NX الموجود في بنية AMD64. أُضيف هذا البت في معالج بنتيوم 4 من الجيل E0 (0F41h) في أكتوبر 2004. [ 77 ] تتطلب إصدارات ويندوز 64 بت منذ ويندوز 8.1 هذه الميزة. [ 69 ]
  • كانت الإصدارات الأولى من معالجات Intel 64 تستخدم عنونة فيزيائية للذاكرة  بحجم 36 بت (64 جيجابايت)، بينما كانت الإصدارات الأصلية من معالجات AMD64 تستخدم عنونة فيزيائية بحجم 40 بت (1 تيرابايت ). استخدمت Intel العنونة الفيزيائية بحجم 40 بت لأول مرة في معالج Xeon MP ( Potomac )، الذي أُطلق في 29 مارس 2005. [ 78 ] ولا يكمن الاختلاف في بنية مجموعة التعليمات (ISA) الظاهرة للمستخدم. في عام 2007، كان معالج Opteron، المبني على معمارية AMD 10h، أول معالج يوفر مساحة عناوين فيزيائية بحجم 48 بت (256 تيرابايت). [ 79 ] [ 80 ] تم توسيع نطاق العنونة الفيزيائية في معالجات Intel 64 إلى 44 بت (16 تيرابايت) في معالجات Nehalem-EX عام 2010 [ 81 ] وإلى 46 بت (64 تيرابايت) في معالجات Sandy Bridge E عام 2011. [ 82 ] [ 83 ] مع معالجات Ice Lake من الجيل الثالث Xeon Scalable، زادت Intel نطاق العنونة الافتراضية إلى 57 بت (128 بيتابايت ) والفيزيائية إلى 52 بت (4 بيتابايت) عام 2021، مما استلزم استخدام نظام ترحيل الصفحات ذي 5 مستويات . [ 84 ] في العام التالي، أضافت AMD64 نفس الميزة في معالجات EPYC من الجيل الرابع (Genoa). [ 85 ] احتفظت وحدات المعالجة المركزية غير المخصصة للخوادم بمساحات عناوين أصغر لفترة أطول.       
  • في جميع معالجات AMD64، عند إعطاء BSFالتعليمات BSRقيمة مصدر تساوي صفرًا، فإنها تترك سجل الوجهة دون تغيير. وينطبق هذا الأمر في الغالب على  معالجات Intel 64 أيضًا، باستثناء بعض  وحدات المعالجة المركزية Intel 64 القديمة، حيث يؤدي تنفيذ هذه التعليمات بحجم معامل 32 بت إلى مسح أعلى 32 بت من سجل الوجهة حتى مع قيمة مصدر تساوي صفرًا (مع بقاء أدنى 32 بت دون تغيير). [ 86 ]
  • أعادت معالجات AMD64 منذ إصداري Opteron Rev. E و Athlon 64 Rev. D تقديم دعم محدود للتجزئة، عبر بت تمكين حدّ التجزئة في الوضع الطويل (LMSLE)، لتسهيل محاكاة الأنظمة الضيفة 64 بت. [ 87 ] [ 88 ] أُزيل دعم LMSLE في معالج Zen 3. [ 89 ]
  • في جميع  معالجات Intel 64، CLFLUSHيتم ترتيب التعليمات وفقًا لـِ SFENCE- وينطبق هذا أيضًا على معالجات AMD64 الأحدث (Zen 1 وما بعدها). أما في معالجات AMD64 الأقدم، فكان فرض الترتيب على CLFLUSHالتعليمات يتطلب بدلاً من ذلك MFENCE.
  • في معالجات AMD64 القديمة، كانت تعليمات XSAVE/ XRSTORتمتنع عن حفظ/استعادة مؤشرات أخطاء x87 (FCS/FIP، FDS/FDP، FOP) إلا في حالة وجود استثناء x87 معلق غير مُقنّع. أما في  معالجات Intel 64 ومعالجات AMD64 الأحدث (Zen 1 وما بعدها)، فيتم حفظ هذه المؤشرات واستعادتها دائمًا. (مع ذلك، لا يزال هذا الاختلاف بين Intel وAMD قائمًا بالنسبة لتعليمات FXSAVE/ FXRSTOR).

التبني

مخطط مساحي يوضح تمثيل عائلات مختلفة من المعالجات الدقيقة في قائمة تصنيف TOP500 لأجهزة الكمبيوتر العملاقة، من عام 1993 إلى عام 2020 [ 90 ]

في أجهزة الكمبيوتر العملاقة التي تتبعها قائمة TOP500 ، مكّن ظهور امتدادات 64 بت لبنية x86 معالجات x86 ذات 64 بت من AMD و Intel من استبدال معظم بنى معالجات RISC المستخدمة سابقًا في مثل هذه الأنظمة (بما في ذلك PA-RISC و SPARC و Alpha وغيرها)، بالإضافة إلى x86 ذات 32 بت، على الرغم من أن Intel نفسها حاولت في البداية دون جدوى استبدال x86 ببنية 64 بت جديدة غير متوافقة في معالج Itanium .

اعتبارًا من عام 2023يحتل حاسوب Frontier العملاق ، المبني على معالج HPE EPYC، المرتبة الأولى. ظهر أول حاسوب عملاق مبني على معالج ARM في القائمة عام 2018 [ 91 ] ، وفي السنوات الأخيرة، لعبت المعالجات المساعدة غير المركزية ( GPGPU ) دورًا كبيرًا في الأداء. تُستخدم أيضًا معالجات Intel Xeon Phi "Knights Corner" المساعدة، التي تُنفذ مجموعة فرعية من x86-64 مع بعض امتدادات المتجهات [ 92 ] ، إلى جانب معالجات x86-64، في حاسوب Tianhe-2 العملاق [ 93 ] .

توافق نظام التشغيل وخصائصه

تدعم أنظمة التشغيل والإصدارات التالية بنية x86-64 في الوضع الطويل .

بي إس دي

دراجون فلاي بي إس دي

بدأ العمل التمهيدي على البنية التحتية في فبراير 2004 لإصدار نسخة x86-64. [ 94 ] ثم توقف هذا التطوير لاحقًا. استؤنف التطوير في يوليو 2007 [ 95 ] واستمر خلال برنامج Google Summer of Code لعامي 2008 و2009. [ 96 ] [ 97 ] وكان الإصدار الرسمي الأول الذي يدعم x86-64 هو الإصدار 2.4 الصادر عام 2009. [ 98 ]

فري بي إس دي

أضاف نظام FreeBSD دعم معمارية x86-64 لأول مرة تحت اسم "amd64" كمعمارية تجريبية في الإصدار 5.1-RELEASE في يونيو 2003. ثم أُدرجت كمعمارية توزيع قياسية في الإصدار 5.2-RELEASE في يناير 2004. ومنذ ذلك الحين، صنّفها FreeBSD كمنصة من المستوى  الأول. وقد عالج الإصدار 6.0-RELEASE بعض المشاكل المتعلقة بتشغيل ملفات x86 التنفيذية على معمارية amd64، وتعمل معظم برامج التشغيل بنفس كفاءة عملها على معمارية x86. ويجري العمل حاليًا على دمج واجهة التطبيقات الثنائية (ABI) الخاصة بمعمارية x86 بشكل كامل، بنفس طريقة عمل توافق واجهة التطبيقات الثنائية (ABI) الخاصة بنظام Linux 32 بت.

نظام التشغيل NetBSD

أُضيفت أول إضافة لدعم بنية x86-64 إلى شجرة مصدر NetBSD في 19 يونيو 2001. ومنذ  إصدار NetBSD 2.0 في 9 ديسمبر 2004، أصبح NetBSD/amd64 منفذًا متكاملًا ومدعومًا بالكامل. ولا يزال الكود ذو 32 بت مدعومًا في وضع 64 بت، مع طبقة توافق نواة netbsd-32 لاستدعاءات النظام ذات 32 بت. تُستخدم بتة NX لتوفير مكدس وكومة غير قابلين للتنفيذ بدقة صفحة واحدة (تُستخدم دقة مقطع على x86 ذي 32 بت).

أوبن بي إس دي

يدعم نظام OpenBSD معالجات AMD64 منذ الإصدار 3.5، الذي صدر في 1 مايو 2004. وقد تم تحقيق دعم كامل لمعالجات AMD64 داخل شجرة النظام قبل الإصدار الأولي للأجهزة، وذلك بفضل إعارة AMD لعدد من الأجهزة لفعالية الهاكاثون الخاصة بالمشروع في ذلك العام. وقد لاقت منصة OpenBSD رواجًا بين مطوريها نظرًا لدعمها لبت NX ، مما سهّل تنفيذ ميزة W^X .

يعمل كود منفذ AMD64 لنظام OpenBSD أيضًا على معالجات Intel 64، ويتضمن استخدامًا مُستنسخًا لامتدادات AMD64. ولكن نظرًا لأن Intel أغفلت بت NX الخاص بجدول الصفحات في معالجات Intel 64 الأولى، فلا توجد إمكانية W^X على تلك المعالجات. لاحقًا، أضافت معالجات Intel 64 بت NX تحت اسم "بت XD". يدعم منفذ AMD64 لنظام OpenBSD المعالجة المتعددة المتناظرة (SMP)، بدءًا من الإصدار 3.6 في 1 نوفمبر 2004.

دوس

من الممكن الدخول في الوضع الطويل تحت نظام التشغيل DOS بدون موسع DOS، [ 99 ] ولكن يجب على المستخدم العودة إلى الوضع الحقيقي من أجل استدعاء مقاطعات BIOS أو DOS.

قد يكون من الممكن أيضًا الدخول إلى الوضع الطويل باستخدام مُوسِّع DOS مشابه لـ DOS/4GW ، ولكنه أكثر تعقيدًا نظرًا لأن x86-64 يفتقر إلى وضع 8086 الافتراضي . نظام DOS نفسه غير مُدرك لذلك، ولا يُتوقع أي فوائد إلا عند تشغيل DOS في بيئة محاكاة مع برنامج تشغيل افتراضي مناسب، على سبيل المثال: واجهة التخزين الشامل.

لينكس

كان لينكس أول نواة نظام تشغيل تدعم بنية x86-64 في الوضع الطويل ، بدءًا من الإصدار 2.4 عام 2001 (قبل توفر الأجهزة). [ 100 ] [ 101 ] كما يوفر لينكس توافقًا مع الإصدارات السابقة لتشغيل الملفات التنفيذية 32 بت. يسمح هذا بإعادة تجميع البرامج إلى الوضع الطويل مع الحفاظ على إمكانية استخدام برامج 32 بت. تأتي توزيعات لينكس الحالية مزودة بنوى ووحدات مستخدم أصلية لبنية x86-64 . بعضها، مثل Arch Linux [ 102 ] و SUSE و Mandriva و Debian ، يسمح للمستخدمين بتثبيت مجموعة من مكونات ومكتبات 32 بت عند التثبيت من وسيط توزيع 64 بت، مما يسمح بتشغيل معظم تطبيقات 32 بت الحالية جنبًا إلى جنب مع نظام التشغيل 64 بت.

تتيح واجهة التطبيقات الثنائية x32 (ABI)، التي تم تقديمها في لينكس 3.4، تشغيل البرامج المُجمَّعة لواجهة x32 في وضع 64 بت الخاص بمعالجات x86-64، مع استخدام مؤشرات وحقول بيانات 32 بت فقط. [ 103 ] [ 104 ] [ 105 ] على الرغم من أن هذا يحد من مساحة العناوين الافتراضية للبرنامج إلى 4  جيجابايت، إلا أنه يقلل أيضًا من حجم الذاكرة التي يستهلكها البرنامج، وفي بعض الحالات قد يسمح بتشغيله بشكل أسرع. [ 103 ] [ 104 ] [ 105 ]

يُتيح نظام لينكس ذو 64 بت مساحة عناوين افتراضية تصل إلى 128 تيرابايت للعمليات الفردية، ويمكنه الوصول إلى ما يقارب 64 تيرابايت من الذاكرة الفعلية، وذلك رهناً بقيود المعالج والنظام، [ 106 ] أو ما يصل إلى 128 بيتابايت (افتراضية) و4 بيتابايت (فعلية) مع تمكين الترحيل ذي 5 مستويات. [ 107 ]    

نظام التشغيل macOS

يعمل نظام التشغيل Mac OS X 10.4.7 والإصدارات الأحدث من Mac OS X 10.4 على تشغيل أدوات سطر الأوامر 64 بت باستخدام مكتبات POSIX والرياضيات على أجهزة Intel 64 بت، تمامًا كما هو الحال في جميع إصدارات Mac OS X 10.4 و10.5 على أجهزة PowerPC 64 بت. لا تعمل أي مكتبات أو أطر عمل أخرى مع تطبيقات 64 بت في Mac OS X 10.4. [ 108 ] النواة، وجميع ملحقاتها، تعمل بنظام 32 بت فقط.

يدعم نظام التشغيل Mac OS X 10.5 تطبيقات واجهة المستخدم الرسومية 64 بت باستخدام Cocoa و Quartz و OpenGL و X11 على أجهزة Intel 64 بت، بالإضافة إلى أجهزة PowerPC 64 بت . [ 109 ] كما تدعم جميع المكتبات والأطر البرمجية غير الرسومية تطبيقات 64 بت على هذه المنصات. أما نواة النظام وجميع ملحقاتها، فهي 32 بت فقط.

يُعدّ نظام التشغيل Mac OS X 10.6 أول إصدار من macOS يدعم نواة 64 بت . مع ذلك، لا تستطيع جميع أجهزة الكمبيوتر ذات نواة 64 بت تشغيل هذه النواة، كما أن بعض أجهزة الكمبيوتر التي تدعمها لن تقوم بتشغيلها افتراضيًا. [ 110 ] تدعم نواة 64 بت، مثل نواة 32 بت، تطبيقات 32 بت؛ كما تدعم كلتا النواتين تطبيقات 64 بت. يبلغ الحد الأقصى لمساحة العناوين الافتراضية لتطبيقات 32 بت 4  جيجابايت في كلا النواتين. [ 111 ] [ 112 ] لا تدعم نواة 64 بت امتدادات نواة 32 بت ، ولا تدعم نواة 32 بت امتدادات نواة 64 بت.

يتضمن نظام التشغيل OS X 10.8 نواة 64 بت فقط، ولكنه يستمر في دعم تطبيقات 32 بت؛ ومع ذلك، فهو لا يدعم ملحقات نواة 32 بت.

يتضمن نظام macOS 10.15 نواة 64 بت فقط، ولم يعد يدعم تطبيقات 32 بت. وقد شكّل هذا التوقف عن دعم تطبيقات 32 بت مشكلةً لبرنامج Wine (والنسخة التجارية CrossOver )، إذ يتطلب تشغيل تطبيقات Windows ذات 32 بت. وكان الحل، المسمى wine32on64 ، هو إضافة دوال وسيطة (thunks) تُفعّل وتُعطّل وضع التوافق مع 32 بت في التطبيق الذي يُفترض أنه 64 بت. [ 113 ] [ 114 ]

يستخدم نظام 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 من نظامي التشغيل مايكروسوفت ويندوز للعميل والخادم - ويندوز إكس بي بروفيشنال x64 وويندوز سيرفر 2003 x64 - في مارس 2005. [ 115 ] وهما في الواقع نفس الإصدار (5.2.3790.1830 SP1)، [ 116 ] [ 117 ] حيث يشتركان في نفس قاعدة المصدر وملفات نظام التشغيل الثنائية، لذا تُصدر تحديثات النظام في حزم موحدة، على غرار إصدارات ويندوز 2000 بروفيشنال وسيرفر لنظام x86. أما ويندوز فيستا ، الذي يتوفر أيضًا بإصدارات متعددة، فقد صدر في يناير 2007. وصدر ويندوز 7 في يوليو 2009. بينما اقتصر بيع ويندوز سيرفر 2008 R2 على إصداري x64 وإيتانيوم فقط؛ أما الإصدارات اللاحقة من ويندوز سيرفر فتتوفر بإصدار x64 فقط.

توفر إصدارات نظام التشغيل Windows x64 السابقة لنظام التشغيل Windows 8.1 وWindows Server 2012 R2 الميزات التالية:

  • يُخصص لكل عملية 8  تيرابايت من مساحة العناوين الافتراضية، والتي يمكن الوصول إليها من وضع المستخدم ووضع النواة، وتُعرف بمساحة عناوين وضع المستخدم. يمكن لبرنامج x86-64 استخدام هذه المساحة بالكامل، مع مراعاة حدود التخزين الاحتياطي على النظام، شريطة ربطه بخيار "التعرف على العناوين الكبيرة"، وهو مُفعّل افتراضيًا. [ 118 ] يُمثل هذا زيادة قدرها 4096 ضعفًا مقارنةً بمساحة عناوين وضع المستخدم الافتراضية البالغة 2  جيجابايت التي يوفرها نظام ويندوز 32 بت. [ 119 ] [ 120 ]
  • 8  تيرابايت من مساحة العناوين الافتراضية في وضع النواة لنظام التشغيل. [ 119 ] وكما هو الحال مع مساحة عناوين وضع المستخدم، يمثل هذا زيادة قدرها 4096 ضعفًا مقارنةً بإصدارات ويندوز 32 بت. وتعود هذه المساحة الإضافية بالفائدة بشكل أساسي على ذاكرة التخزين المؤقت لنظام الملفات و"أكوام" وضع النواة (مجمع غير مُصفّح ومجمع مُصفّح). يستخدم ويندوز 16  تيرابايت فقط من أصل 256  تيرابايت التي توفرها المعالجات، وذلك لأن معالجات AMD64 المبكرة كانت تفتقر إلى CMPXCHG16Bتعليمة معينة. [ 121 ]

في نظامي التشغيل Windows 8.1 وWindows Server 2012 R2، تم توسيع مساحات العناوين الافتراضية لكل من وضع المستخدم ووضع النواة إلى 128  تيرابايت. [ 24 ] لن يتم تثبيت هذه الإصدارات من Windows على المعالجات التي تفتقر إلى CMPXCHG16Bالتعليمات.

تنطبق الخصائص الإضافية التالية على جميع إصدارات ويندوز x64:

  • إمكانية تشغيل التطبيقات ( .exeالبرامج) ومكتبات الارتباط الديناميكي ( .dllالمكتبات) الحالية ذات 32 بت باستخدام WoW64 إذا كان WoW64 مدعومًا في ذلك الإصدار. علاوة على ذلك، يمكن لبرنامج 32 بت، إذا تم ربطه بخيار "التعرف على العناوين الكبيرة"، [ 118 ] استخدام ما يصل إلى 4  جيجابايت من مساحة العناوين الافتراضية في نظام ويندوز 64 بت، بدلاً من 2  جيجابايت الافتراضية (3  جيجابايت اختيارية مع /3GBخيار التمهيد وخيار الربط "التعرف على العناوين الكبيرة") التي يوفرها نظام ويندوز 32 بت. [ 122 ] على عكس استخدام /3GBخيار التمهيد على x86، فإن هذا لا يقلل من مساحة العناوين الافتراضية المتاحة لنظام التشغيل في وضع النواة. وبالتالي، يمكن لتطبيقات 32 بت الاستفادة من التشغيل على نظام ويندوز x64 حتى لو لم تتم إعادة تجميعها لـ x86-64.
  • تقتصر التطبيقات ذات 32 بت و 64 بت، إذا لم تكن مرتبطة بـ "معرفة العناوين الكبيرة"، على 2  جيجابايت من مساحة العناوين الافتراضية.
  • إمكانية استخدام ما يصل إلى 128  جيجابايت (ويندوز إكس بي/فيستا)، أو 192  جيجابايت (ويندوز  7)، أو 512  جيجابايت (ويندوز  8)، أو 1  تيرابايت (ويندوز سيرفر 2003)، أو 2  تيرابايت (ويندوز سيرفر 2008/ويندوز 10)، أو 4  تيرابايت (ويندوز سيرفر 2012)، أو 24  تيرابايت (ويندوز سيرفر 2016/2019) من ذاكرة الوصول العشوائي (RAM) الفعلية. [ 123 ]
  • نموذج بيانات LLP64 : في لغة C/C++، يبلغ  عرض أنواع "int" و "long" 32 بت، بينما يبلغ عرض "long long" 64  بت، في حين أن المؤشرات والأنواع المشتقة من المؤشرات يبلغ  عرضها 64 بت.
  • يجب أن تكون برامج تشغيل الأجهزة في وضع النواة إصدارات 64 بت؛ إذ لا يمكن تشغيل ملفات تنفيذية 32 بت في وضع النواة ضمن نظام تشغيل 64 بت. أما برامج تشغيل الأجهزة في وضع المستخدم، فيمكن أن تكون إما 32 بت أو 64 بت.
  • لن تعمل تطبيقات ويندوز 16 بت (Win16) وتطبيقات DOS على إصدارات x86-64 من ويندوز بسبب إزالة نظام التشغيل الفرعي لآلة DOS الافتراضية (NTVDM) الذي كان يعتمد على إمكانية استخدام وضع 8086 الافتراضي. لا يمكن الدخول إلى وضع 8086 الافتراضي أثناء التشغيل في الوضع الطويل.
  • تفعيل كامل لميزة حماية الصفحة NX (منع التنفيذ). يتم تطبيق هذه الميزة أيضاً على إصدارات ويندوز الحديثة ذات 32 بت عند تشغيلها في وضع PAE.
  • بدلاً من استخدام مُعرِّف مقطع FS في إصدارات x86 من عائلة أنظمة تشغيل Windows NT ، يُستخدم مُعرِّف مقطع GS للإشارة إلى بنيتين مُعرَّفتين من قِبل نظام التشغيل: كتلة معلومات الخيط (NT_TIB) في وضع المستخدم، ومنطقة التحكم بالمعالج (KPCR) في وضع النواة. وبالتالي، على سبيل المثال، في وضع المستخدم، GS:0يكون عنوان العنصر الأول في كتلة معلومات الخيط. سهّل الحفاظ على هذا الاصطلاح عملية نقل النظام من x86 إلى x64، ولكنه استلزم من AMD الاحتفاظ بوظيفة مقطعي FS وGS في الوضع الطويل - على الرغم من أن العنونة المُجزأة بحد ذاتها لا تُستخدم فعليًا من قِبل أي نظام تشغيل حديث. [ 119 ]
  • أشارت تقارير مبكرة إلى أن مُجدول نظام التشغيل لن يحفظ حالة وحدة المعالجة النقطية x87 ولن يستعيدها عند تبديل سياق الخيوط. إلا أن السلوك المرصود يُظهر عكس ذلك: إذ يتم حفظ حالة x87 واستعادتها، باستثناء الخيوط التي تعمل في وضع النواة فقط (وهو قيد موجود أيضًا في الإصدار 32 بت). تُشير أحدث وثائق مايكروسوفت إلى إمكانية استخدام تعليمات x87/ MMX / 3DNow! في الوضع الطويل، ولكنها مُهملة وقد تُسبب مشاكل توافق في المستقبل. [ 122 ] (لم تعد تقنية 3DNow! مُتاحة على معالجات AMD، باستثناء تعليمات PREFETCH[ 124 ] ،PREFETCHW والتي أصبحت مدعومة أيضًا على معالجات Intel بدءًا من Broadwell ) .
  • لن يتم نقل بعض المكونات مثل محرك قاعدة بيانات Jet وكائنات الوصول إلى البيانات إلى بنى 64 بت مثل x86-64 و IA-64. [ 125 ] [ 126 ] [ 127 ]
  • يُمكن لبرنامج 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 وحدات معالجة مُسرّعة (APUs) مُخصصة من AMD، مبنية على معمارية Jaguar الدقيقة . [ 128 ] [ 129 ] وبالمثل، تستخدم أجهزة PlayStation 5 و Steam Deck و Xbox Series X/S وحدات معالجة مُسرّعة (APUs) مُخصصة من AMD، مبنية على معمارية Zen 2 الدقيقة. [ 130 ] [ 131 ] [ 132 ] تُكتب البرامج الثابتة والألعاب بلغة x86-64، ولا تُستخدم أي شفرة x86 قديمة ذات 32 بت.

اصطلاحات تسمية الصناعة

نظرًا للتشابه الكبير بين معالجات AMD64 و Intel 64، تستخدم العديد من البرامج والأجهزة مصطلحًا واحدًا محايدًا للإشارة إلى توافقها مع كلا المعالجين. ولا يزال يُستخدم مصطلح AMD الأصلي لهذه البنية، "x86-64"، لهذا الغرض، [ 2 ] وكذلك المصطلح البديل "x86_64". [ 3 ] [ 4 ] كما تستخدم شركات أخرى، مثل مايكروسوفت [ 6 ] و Sun Microsystems / Oracle Corporation ، [ 5 ] الاختصار "x64" في موادها التسويقية.

يشير مصطلح IA-64 إلى معالج Itanium ، ويجب عدم الخلط بينه وبين x86-64، لأنه مجموعة تعليمات مختلفة تمامًا.

تستخدم العديد من أنظمة التشغيل والمنتجات، وخاصة تلك التي قدمت دعم x86-64 قبل دخول Intel إلى السوق، مصطلح "AMD64" أو "amd64" للإشارة إلى كل من AMD64 و Intel 64.

الترخيص

طُوِّرت معمارية x86-64/AMD64 حصريًا بواسطة AMD. وحتى أبريل 2021، تاريخ انتهاء صلاحية براءات الاختراع ذات الصلة، كانت AMD تمتلك براءات اختراع للتقنيات المستخدمة في AMD64؛ [ 135 ] [ 136 ] [ 137 ] وكان لا بد من ترخيص هذه البراءات من AMD لتطبيق AMD64. أبرمت Intel اتفاقية ترخيص متبادل مع AMD، حيث رخصت Intel لشركة AMD براءات اختراعها المتعلقة بتقنيات x86 الحالية، ورخصت بدورها لشركة AMD براءات اختراعها المتعلقة بالتقنيات المستخدمة في x86-64. [ 138 ] في عام 2009، سوّت AMD وIntel العديد من الدعاوى القضائية والخلافات المتعلقة بالترخيص المتبادل، مما أدى إلى تمديد اتفاقيات الترخيص المتبادل بينهما. [ 139 ] [ 140 ] [ 141 ]

انظر أيضاً

ملحوظات

  1. تُستخدم أسماء مختلفة لمجموعة التعليمات. قبل الإطلاق، استُخدمت x86-64 وx86_64، بينما أطلقت عليها AMD اسم AMD64 عند إصدارها. [ 1 ] استخدمت Intel في البداية اسم 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 ]
  2. عمليًا، لا تدعم أنظمة التشغيل ذات 64 بت عمومًا تطبيقات 16 بت، على الرغم من أن الإصدارات الحديثة من مايكروسوفت ويندوز تحتوي على حل بديل محدود يدعم فعليًا مثبتات InstallShield وMicrosoft ACME ذات 16 بت عن طريق استبدالها برمز 32 بت دون تنبيه. [ 12 ]
  1. أفاد موقع The Register أن معالج Pentium 4 من الجيل الأول (G1) (0F49h) سيُطرح كعينات تجريبية في 17 أكتوبر، وسيُشحن بكميات كبيرة في 14 نوفمبر. [ 75 ] مع ذلك، تشير وثيقة إنتل إلى أن العينات ستكون متاحة في 9 سبتمبر، بينما يُعد 17 أكتوبر "تاريخ التوفر الأول للمواد المُعالجة بعد التحويل"، والذي تُعرّفه إنتل بأنه "التاريخ المتوقع الذي قد يتوقع فيه العميل استلام المواد المُعالجة بعد التحويل... يجب على العملاء الاستعداد لاستلام المواد المُعالجة بعد التحويل في هذا التاريخ". [ 76 ]
  2. ظهرت شريحة 0F47h ​​لأول مرة في معالج بنتيوم D منفي 21 أكتوبر، [ 72 ] [ 73 ] بينما تم إطلاق شريحة 0F48h، التي تدعم أيضًا LAHF/SAHF، في 10 أكتوبر في معالج زيون ثنائي النواة . [ 74 ] [ أ ]

مراجع

  1. ^ "الأسئلة الشائعة حول ديبيان AMD64" . ديبيان ويكي . أرشفة من الإصدار الأصلي في 26 أيلول (سبتمبر) 2019 . تم الاسترجاع 3 مايو، 2012 .
  2. 1 2 3 "نموذج كود x86-64" . أبل. مؤرشف من الأصل في 2 يونيو 2012. تم الاسترجاع في 23 نوفمبر 2012 .
  3. 1 2 3 دليل الأوامر العامة لنظامي التشغيل داروين وماك أو إسarch(1)  
  4. ١ ٢ ٣ كيفن فان فيشتن (٩ أغسطس ٢٠٠٦). "ردًا على: تقرير خطأ Intel XNU" . القائمة البريدية Darwin-dev . شركة أبل . مؤرشف من الأصل في ١ فبراير ٢٠٢٠. تم الاسترجاع في ٥ أكتوبر ٢٠٠٦. اعتمدت نواة النظام وأدوات المطورين على "x86_64" كاسم لبنية Mach-O .
  5. 1 2 "Solaris 10 على معالج AMD Opteron" . أوراكل. مؤرشف من الأصل في 25 يوليو 2017. تم الاطلاع عليه في 9 ديسمبر 2010 .
  6. 1 2 "الحوسبة 64 بت من مايكروسوفت" . مايكروسوفت. مؤرشف من الأصل في 12 ديسمبر 2010. تم الاطلاع عليه في 9 ديسمبر 2010 .
  7. "منفذ AMD64" . دبيان. مؤرشف من الأصل في 26 سبتمبر 2019. تم الاطلاع عليه في 23 نوفمبر 2012 .
  8. "مشروع Gentoo/AMD64" . مشروع Gentoo. مؤرشف من الأصل في 3 يونيو 2013. تم الاطلاع عليه في 27 مايو 2013 .
  9. "تفاصيل تطبيق WOW64" . مؤرشف من الأصل في 13 أبريل 2018. تم الاطلاع عليه في 24 يناير 2016 .
  10. "فئة بنية المعالج" . مؤرشف من الأصل في 3 يونيو 2017. تم الاسترجاع في 24 يناير 2016 .
  11. ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ١٠ ١١ ١٢ ١٣ ١٤ ١٥ ١٦ ١٧ ١٨ ١٩ ٢٠ ٢١ شركة AMD ( ديسمبر ٢٠١٦ ) . " المجلد ٢ : برمجة النظام" (ملف PDF) . دليل مبرمج معمارية AMD64 . شركة AMD. مؤرشف (ملف PDF) من الأصل في ١٣ يوليو ٢٠١٨. تم الاطلاع عليه في ٢٥ مارس ٢٠١٧ .
  12. ريموند تشين (31 أكتوبر 2013). "إذا لم تكن هناك طبقة محاكاة 16 بت في نظام ويندوز 64 بت، فكيف يُسمح بتشغيل بعض برامج التثبيت 16 بت؟" . مؤرشف من الأصل في 14 يوليو 2021. تم الاطلاع عليه في 14 يوليو 2021 .
  13. "تبسيط أداء خادم تطبيقات IBM WebSphere 64 بت" ( ملف PDF) . شركة IBM. 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 بت المذكورة أعلاه. 
  14. "إنتل و AMD تُشكلان مجموعة استشارية لنظام x86 البيئي لتسريع الابتكار للمطورين والعملاء" . شركة إنتل . 15 أكتوبر 2024. تم الاطلاع عليه في 11 يونيو 2026 .
  15. «شركة AMD تكشف عن تقنيات جديدة في منتدى المعالجات الدقيقة» (بيان صحفي). AMD. 5 أكتوبر 1999. مؤرشف من الأصل في 8 مارس 2012. تم الاطلاع عليه في 9 نوفمبر 2010 .
  16. «أصدرت AMD مواصفات معمارية x86-64؛ مما يُمكّن من الانتقال المدفوع بالسوق إلى الحوسبة 64 بت» (بيان صحفي). AMD. 10 أغسطس 2000. مؤرشف من الأصل في 8 مارس 2012. تم الاطلاع عليه في 9 نوفمبر 2010 .
  17. دليل مبرمج معمارية AMD64 (ملف PDF) . صفحة 1. 
  18. ^ ماويرر، دبليو (2010). بنية نواة لينكس الاحترافية. جون وايلي وأولاده.
  19. "دليل مطوري برامج معمارية Intel 64 و IA-32، المجلد 3A: دليل برمجة النظام، الجزء 1" (ملف PDF) . الصفحات 4-7 . مؤرشف (ملف PDF) من الأصل بتاريخ 16 مايو 2011. تم الاطلاع عليه بتاريخ 10 يوليو 2019 .  
  20. 1 2 "دليل مطوري BIOS ونواة النظام (BKDG) لمعالجات AMD من عائلة 10h" ( ملف PDF) . صفحة 24. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 18 أبريل 2016. تم الاطلاع عليه بتاريخ 27 فبراير 2016. تم زيادة مساحة العناوين الفيزيائية إلى 48 بت. 
  21. "خرافات وحقائق حول لينكس 64 بت" (ملف PDF) . 2 مارس 2008، صفحة 7. مؤرشف من الأصل (ملف PDF) في 10 أكتوبر 2010. تم الاطلاع عليه في 30 مايو 2010. تم زيادة مساحة العناوين الفيزيائية إلى 48 بت . 
  22. شانلي، توم (1998). بنية نظام بنتيوم برو وبنتيوم 2. سلسلة بنية نظام الحاسوب الشخصي (الطبعة الثانية ). أديسون - ويسلي. ص 445. ISBN   0-201-30973-4.
  23. شركة مايكروسوفت. "ما هي تقنيات PAE وNX وSSE2، ولماذا يحتاج جهاز الكمبيوتر الخاص بي إلى دعمها لتشغيل نظام التشغيل ويندوز 8 ؟" . مؤرشف من الأصل في 11 أبريل 2013. تم الاطلاع عليه في 19 مارس 2013 . 
  24. ١ ٢ ٣ ٤ "حدود الذاكرة لإصدارات ويندوز" . MSDN . مايكروسوفت . ١٦ نوفمبر ٢٠١٣. مؤرشف من الأصل في ٦ يناير ٢٠١٤. تم الاطلاع عليه في ٢٠ يناير ٢٠١٤ .
  25. "الترقيم ذو الخمسة مستويات و EPT ذو الخمسة مستويات" (ملف PDF) . إنتل. مايو 2017. مؤرشف (ملف PDF) من الأصل في 5 ديسمبر 2018. تم الاطلاع عليه في 17 يونيو 2017 .
  26. ↑ براءة الاختراع الأمريكية رقم 9858198 ، لاري سيلر، "نظام صفحة 64 كيلوبايت يدعم تشغيل صفحة 4 كيلوبايت"، نُشرت في 29 ديسمبر 2016، وصدرت في 2 يناير 2018، وتم تخصيصها لشركة إنتل. 
  27. "لوحات أم سلسلة Opteron 6100" . شركة Supermicro. مؤرشف من الأصل في 3 يونيو 2010. تم الاطلاع عليه في 22 يونيو 2010 .
  28. "حلول سوبر مايكرو زيون" . شركة سوبر مايكرو. مؤرشف من الأصل في 27 مايو 2010. تم الاطلاع عليه في 20 يونيو 2010 .
  29. "لوحات أم سلسلة Opteron 8000" . شركة Supermicro. مؤرشف من الأصل في 27 مايو 2010. تم الاطلاع عليه في 20 يونيو 2010 .
  30. "مصفوفة منتجات تيان" . شركة مايتك الدولية. مؤرشف من الأصل في 6 يونيو 2010. تم الاطلاع عليه في 21 يونيو 2010 .
  31. ١ ٢ "من أرشيف AMI: AMIBIOS 8 والانتقال إلى EFI" . الاتجاهات الأمريكية الكبرى . ٨ سبتمبر ٢٠١٧. مؤرشف من الأصل في ٢٥ أكتوبر ٢٠٢١. تم الاسترجاع في ٢٥ أكتوبر ٢٠٢١ .
  32. "هل تواصل إنتل مشروع يامهيل؟" . نيوين . مؤرشف من الأصل في 5 يونيو 2022. تم الاطلاع عليه في 5 يونيو 2022 .
  33. «كريغ باريت يؤكد دعم معالجات زيون وبريسكوت لتوسيع عناوين 64 بت». صحيفة ذا إنكوايرر. 17 فبراير 2004. مؤرشف من الأصل في 7 أكتوبر 2012. تم الاطلاع عليه في 20 أغسطس 2017 .
  34. ""موجز عن الحوسبة 64 بت"، من موقع internetnews.com . مؤرشف من الأصل بتاريخ 25 سبتمبر 2012. تم الاطلاع عليه بتاريخ 18 سبتمبر 2006 .
  35. لابيدوس، مارك (6 فبراير 2004). "إنتل تستعرض سلسلة معالجات 'CT' ذات 64 بت في مؤتمر IDF" . EDN . أسبن كور ميديا. مؤرشف من الأصل في 25 مايو 2021. تم الاطلاع عليه في 25 مايو 2021 .
  36. ↑ " معمارية إنتل 64" . إنتل . مؤرشف من الأصل في 29 يونيو 2011. تم الاطلاع عليه في 29 يونيو 2007 . 
  37. "Pentium 4 HT 620(N0)" . cpu-world.com . مؤرشف من الأصل بتاريخ 8 ديسمبر 2017. تم الاطلاع عليه بتاريخ 23 أبريل 2018 .
  38. «شركة VIA ستطلق بنية معالج جديدة في الربع الأول من عام 2008» (يتطلب اشتراكًا) . DigiTimes . 25 يوليو 2007. مؤرشف من الأصل في 3 ديسمبر 2008. تم الاطلاع عليه في 25 يوليو 2007 .
  39. ستوكس، جون (23 يناير 2008). "كشف النقاب عن إشعياء: بنية VIA الجديدة منخفضة الطاقة" . آرس تكنيكا. مؤرشف من الأصل في 27 يناير 2008. تم الاطلاع عليه في 24 يناير 2008 .
  40. "شركة VIA تُطلق عائلة معالجات VIA Nano" (بيان صحفي). VIA . 29 مايو 2008. مؤرشف من الأصل في 3 فبراير 2019. تم الاطلاع عليه في 25 مايو 2017 .
  41. "مقدمة في عمارة VIA Isaiah" (ملف PDF) . VIA . 23 يناير 2008. مؤرشف من الأصل (ملف PDF) في 7 سبتمبر 2008. تم الاطلاع عليه في 31 يوليو 2013 .
  42. وايمر، فلوريان (10 يوليو 2020). "مستويات جديدة للبنية الدقيقة x86-64" . llvm-dev (قائمة بريدية). مؤرشف من الأصل في 14 أبريل 2021. تم الاطلاع عليه في 11 مارس 2021 .
  43. وايمر، فلوريان (5 يناير 2021). "بناء نظام Red Hat Enterprise Linux 9 لمستوى البنية الدقيقة x86-64-v2" . مدونة مطوري Red Hat . مؤرشف من الأصل في 20 فبراير 2022. تم الاطلاع عليه في 22 مارس 2022 .
  44. "معلومات النظام منخفضة المستوى لواجهة التطبيقات الثنائية لنظام التشغيل System V" . مستودع x86-64 psABI . 29 يناير 2021. مؤرشف من الأصل في 2 فبراير 2021. تم استرجاعه في 11 مارس 2021 - عبر GitLab .
  45. "أخبار مكتبة GNU C - تاريخ التغييرات المرئية للمستخدم" . 1 فبراير 2021. تم الاطلاع عليه في 28 مايو 2025 .
  46. واسون، سكوت (23 مارس 2005). "الحوسبة 64 بت نظريًا وعمليًا" . تقرير التقنية . مؤرشف من الأصل في 12 مارس 2011. تم الاطلاع عليه في 22 مارس 2011 .
  47. "دليل مطوري برامج معمارية Intel 64 و IA-32، المجلد 2 (2A، 2B، و2C): مرجع مجموعة التعليمات، من الألف إلى الياء" (ملف PDF) . Intel. سبتمبر 2013. الصفحات 4-397 . مؤرشف (PDF) من الأصل في 20 أكتوبر 2013. تم الاطلاع عليه في 21 يناير 2014 . 
  48. "دليل مطوري برامج معمارية Intel 64 و IA-32، المجلد 2 (2A، 2B، و2C): مرجع مجموعة التعليمات، AZ" (ملف PDF) . Intel. سبتمبر 2013. الصفحات 4-400. مؤرشف ( PDF ) من الأصل في 20 أكتوبر 2013. تم الاطلاع عليه في 21 يناير 2014 . 
  49. "دليل مبرمج معمارية AMD64، المجلد 3: تعليمات الأغراض العامة وتعليمات النظام" (ملف PDF) . AMD. مايو 2018. صفحة 419. مؤرشف (ملف PDF) من الأصل في 20 أغسطس 2018. تم الاطلاع عليه في 2 أغسطس 2018 . 
  50. "دليل مطوري برامج معمارية Intel 64 و IA-32، المجلد 2 (2A، 2B، و2C): مرجع مجموعة التعليمات، AZ" (ملف PDF) . Intel. سبتمبر 2014. الصفحات 4-412 . مؤرشف (PDF) من الأصل في 13 يناير 2015. تم الاطلاع عليه في 28 ديسمبر 2014 . 
  51. أندي لوتوميرسكي (23 أبريل 2015). "(رقعة) x86_64، asm: حل بديل لمشكلة سمة وصف SS في AMD SYSRET" . x86@kernel.org (قائمة بريدية).
  52. "دليل مطوري برامج معمارية Intel 64 و IA-32، المجلد 2" (ملف PDF) . Intel. يوليو 2025. صفحة 1442، انظر تعيين SS.Selector. 
  53. "دليل مبرمج معمارية AMD64، المجلد 2: برمجة النظام" . AMD. يوليو 2025. ص 237، "محددات SYSRET CS وSS". 
  54. AMD، دليل مبرمج معمارية AMD64، المجلد 2 ، رقم الطلب 24593، الإصدار 3.43، يونيو 2025، القسم 11.4.4.3 في الصفحة 355
  55. CVE، CVE-2006-1056 ، مشكلة أمنية تتعلق بمعالجةFXSAVEمؤشرات استثناء x87 على AMD64.
  56. "الانتقال بين الموردين" (ملف PDF) . AMD. 2009. ص 7. مؤرشف من الأصل (ملف PDF) في 11 ديسمبر 2009. تم الاطلاع عليه في 2 يونيو 2025 . 
  57. 1 2 دليل مطوري برامج معمارية Intel 64 و IA-32، المجلد 3ب (ملف PDF) . Intel. القسم 24.31.1 في الصفحة 452. رقم الطلب 253669-087. مؤرشف (ملف PDF) من الأصل بتاريخ 16 مايو 2025.
  58. دليل مبرمج معمارية AMD64، المجلد 2: برمجة النظام (ملف PDF) . AMD. مارس 2024. القسم 8.2.17 في الصفحة 257. رقم النشر 24593، الإصدار 3.42. مؤرشف (ملف PDF) من النسخة الأصلية في 5 أبريل 2025.
  59. دليل مطوري البرامج لبنيتي Intel 64 و IA-32، المجلد 1 (ملف PDF) . Intel. مارس 2025. القسم 14.9، الصفحة 379. رقم الطلب 253665-087US. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 4 أبريل 2025.
  60. دليل مطوري البرامج لبنيتي Intel 64 و IA-32، المجلد 3ب (ملف PDF) . Intel. ديسمبر 2024. الفصل 24.15، الصفحة 426. رقم الطلب 253669-086US. مؤرشف (ملف PDF) من الأصل في 11 يناير 2025.
  61. دليل مبرمج معمارية AMD64، المجلد 3: تعليمات الأغراض العامة وتعليمات النظام (ملف PDF) . AMD. مارس 2024. انظر وصف التعليمات في الصفحة 283. رقم الطلب 24594، الإصدار 3.36. مؤرشف (ملف PDF) من النسخة الأصلية في 29 ديسمبر 2024.PREFETCHW
  62. هادي برايس (14 مايو 2018). "أهمية تعليمات x86 LFENCE" . مؤرشف من الأصل في 10 يونيو 2023.
  63. غريغ كروه-هارتمان (8 فبراير 2021). "(PATCH 5.4 55/65) x86/apic: إضافة تسلسل إضافي لـ MSRs غير التسلسلية" . linux-kernel@vger.kernel.org (قائمة بريدية).
  64. "git commit: x86/barrier: Do not serialize MSR accesses on AMD" . مستودع Git لنواة لينكس . 13 نوفمبر 2023.
  65. "PPR لمعالجات AMD Family 19h طراز 61h، مراجعة B1" . AMD. صفحة 116. رقم الوثيقة 56713، مراجعة 3.05، 8 مارس 2023. مؤرشف من الأصل في 25 أبريل 2023. 
  66. "الترحيل المباشر باستخدام تقنية الترحيل الموسعة AMD-V™" (ملف PDF) . developer.amd.com . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 6 ديسمبر 2022. تم الاطلاع عليه بتاريخ 30 يونيو 2022 .
  67. ماجد م. مايكل. "تطبيقات عملية لـ LL/SC/VL بدون تأمين أو انتظار باستخدام CAS 64 بت" (ملف PDF) . شركة IBM. مؤرشف من الأصل (ملف PDF) في 2 مايو 2013. تم الاطلاع عليه في 21 يناير 2014 .
  68. داروو (20 أغسطس 2004). "لماذا تبلغ مساحة العناوين الافتراضية 4 جيجابايت على أي حال؟" . الشيء الجديد القديم . مايكروسوفت. مؤرشف من الأصل في 26 مارس 2017. تم الاسترجاع في 25 مارس 2017 .
  69. 1 2 3 "متطلبات النظام - ويندوز 8.1" . مؤرشف من الأصل بتاريخ 28 أبريل 2014. تم الاطلاع عليه بتاريخ 27 أبريل 2014. لتثبيت نظام تشغيل 64 بت على جهاز كمبيوتر 64 بت، يجب أن يدعم المعالج الخاص بك CMPXCHG16b وPrefetchW وLAHF/SAHF.
  70. بيتكوف، بوريسلاف (10 أغسطس/آب 2009). "ردًا على: [ التصحيح الإصدار 2 ] x86: مسح علامة X86_FEATURE_LAHF_LM المفروضة بشكل غير صحيح" . قائمة بريدية لنواة لينكس . مؤرشف من الأصل في 11 يناير/كانون الثاني 2023. تم الاطلاع عليه في 30 يونيو/حزيران 2022 .
  71. "دليل مراجعة معالجات AMD Athlon 64 و AMD Opteron" (ملف PDF) . AMD. مؤرشف (ملف PDF) من الأصل بتاريخ 24 أغسطس 2009. تم الاطلاع عليه بتاريخ 18 يوليو 2009 .
  72. "إشعار تغيير المنتج 105224 - 01" (ملف PDF) . إنتل. مؤرشف من الأصل (ملف PDF) بتاريخ 17 نوفمبر 2005.
  73. "تحديث مواصفات معالج Intel® Pentium® D من سلسلة 800 ومعالج Intel® Pentium® Extreme Edition 840" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 18 مايو 2021. تم الاطلاع عليه بتاريخ 30 يونيو 2022 .
  74. "معالج إنتل زيون بسرعة 2.8 جيجاهرتز - NE80551KG0724MM / BX80551KG2800HA" . موقع CPU-World . مؤرشف من الأصل بتاريخ 28 يونيو 2020. تم الاطلاع عليه بتاريخ 30 يونيو 2022 .
  75. سميث، توني (23 أغسطس 2005). "إنتل تُجري تعديلات على معالج EM64T لتحقيق توافق كامل مع معالجات AMD64" . ذا ريجستر . مؤرشف من الأصل في 30 يونيو 2022. تم الاطلاع عليه في 30 يونيو 2022 .
  76. "إشعار تغيير المنتج 105271 – 00" (ملف PDF) . إنتل. مؤرشف من الأصل (ملف PDF) بتاريخ 17 نوفمبر 2005.
  77. "إشعار تغيير المنتج 104101 – 00" (ملف PDF) . إنتل. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 16 يوليو 2004.
  78. "ورقة بيانات معالج Intel® Xeon™ MP ذو 64 بت مع ذاكرة تخزين مؤقتة من المستوى الثالث تصل إلى 8 ميجابايت" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 17 نوفمبر 2022. تم الاطلاع عليه بتاريخ 17 نوفمبر 2022 .
  79. "جاستن بوغز في مؤتمر مايكروسوفت PDC 2008" . صفحة 5. مؤرشف من الأصل في 17 نوفمبر 2022. تم الاطلاع عليه في 17 نوفمبر 2022 . 
  80. والديكر، برايان. "معالجات AMD Opteron متعددة النوى" (ملف PDF) . ص 13. مؤرشف (ملف PDF) من الأصل في 13 ديسمبر 2022. تم الاطلاع عليه في 17 نوفمبر 2022 . 
  81. "ورقة بيانات معالج Intel® Xeon® من سلسلة 7500، المجلد 2" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 17 نوفمبر 2022. تم الاطلاع عليه بتاريخ 17 نوفمبر 2022 .
  82. "دليل مطوري البرامج لبنيتي Intel 64 و IA-32" . سبتمبر 2014. ص 2-21 . مؤرشف من الأصل في 14 مايو 2019. تزيد بنية Intel 64 من مساحة العناوين الخطية للبرامج إلى 64 بت وتدعم مساحة العناوين الفيزيائية حتى 46 بت. 
  83. لوغان، توم (14 نوفمبر 2011). "مراجعة معالج إنتل كور i7-3960X" . مؤرشف من الأصل في 28 مارس 2016. تم الاطلاع عليه في 1 يوليو 2022 .
  84. يي، هوايشنغ. "مقدمة إلى الترحيل ذي المستويات الخمسة في معالجات Intel Xeon Scalable من الجيل الثالث مع نظام Linux" (ملف PDF) . لينوفو. مؤرشف (PDF) من الأصل في 26 مايو 2022. تم الاطلاع عليه في 1 يوليو 2022 .
  85. كينيدي، باتريك (10 نوفمبر 2022). "معالج AMD EPYC Genoa يتفوق على معالج Intel Xeon بشكل مذهل" . ServeTheHome . ص 2. مؤرشف من الأصل في 17 نوفمبر 2022. تم الاطلاع عليه في 17 نوفمبر 2022 . 
  86. دليل مطوري البرامج لبنيتي Intel 64 و IA-32، المجلد 2 (ملف PDF) . Intel. ديسمبر 2024. انظر المدخلات والتعليمات في الصفحتين 227 و229 (الحاشية 1). رقم الطلب 325383-086US. مؤرشف (ملف PDF) من الأصل في 2 يناير 2025.BSFBSR
  87. "كيف أدى إيقاف تجزئة الذاكرة في وضع AMD64 الطويل إلى تعطيل VMware" . Pagetable.com. 9 نوفمبر 2006. مؤرشف من الأصل في 18 يوليو 2011. تم الاطلاع عليه في 2 مايو 2010 .
  88. "تقنية المحاكاة الافتراضية لوحدة المعالجة المركزية وVMware" (ملف PDF) . VMware. مؤرشف (ملف PDF) من الأصل بتاريخ 17 يوليو 2011. تم الاطلاع عليه بتاريخ 8 سبتمبر 2010 .
  89. جيم ماتسون (15 سبتمبر 2022). " [ التصحيح 2/5 ] KVM: svm: منع EFER.LMSLE على الأجهزة التي لا تدعمه" . kvm (قائمة بريدية) . تم الاطلاع عليه في 8 يناير 2026 .
  90. "إحصائيات | أفضل 500 موقع لأجهزة الكمبيوتر العملاقة" . Top500.org. مؤرشف من الأصل في 19 مارس 2014. تم الاطلاع عليه في 22 مارس 2014 .
  91. "مولد القوائم الفرعية | أفضل 500 موقع لأجهزة الكمبيوتر العملاقة" . Top500.org . مؤرشف من الأصل في 7 ديسمبر 2018. تم الاطلاع عليه في 6 ديسمبر 2018 .
  92. "دليل مرجعي لبنية مجموعة تعليمات المعالج المساعد Intel® Xeon Phi™" (ملف PDF) . Intel. 7 سبتمبر 2012. القسم B.2 قيود وضع 64 بت للمعالج المساعد Intel Xeon Phi. مؤرشف (ملف PDF) من الأصل في 21 مايو 2014. تم الاطلاع عليه في 21 مايو 2014 .
  93. "إنتل تُشغّل أسرع حاسوب عملاق في العالم، وتكشف عن تقنيات الحوسبة عالية الأداء الجديدة والمستقبلية" . مؤرشف من الأصل في 22 يونيو 2013. تم الاطلاع عليه في 21 يونيو 2013 .
  94. "cvs commit: src/sys/amd64/amd64 genassem.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 limits.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 .
  95. "منفذ AMD64" . مؤرشف من الأصل في 18 مايو 2010. تم الاطلاع عليه في 3 مايو 2009 .
  96. "DragonFlyBSD: GoogleSoC2008" . مؤرشف من الأصل في 27 أبريل 2009. تم الاطلاع عليه في 3 مايو 2009 .
  97. "الطلاب المقبولون في برنامج صيف البرمجة" . مؤرشف من الأصل في 4 سبتمبر 2010. تم الاطلاع عليه في 3 مايو 2009 .
  98. "DragonFlyBSD: الإصدار 24" . مؤرشف من الأصل في 23 سبتمبر 2009. تم الاطلاع عليه في 3 مايو 2009 .
  99. "دليل إرشادي للدخول إلى الوضع المحمي والوضع الطويل من نظام DOS" . مؤرشف من الأصل في 22 فبراير 2017. تم الاطلاع عليه في 6 يوليو 2008 .
  100. أندي كلين (26 يونيو 2001). "نقل لينكس إلى x86-64" . مؤرشف من الأصل في 10 سبتمبر 2010. الحالة: النواة والمترجم وسلسلة الأدوات تعمل. النواة تعمل على المحاكي وتُستخدم لنقل مساحة المستخدم وتشغيل البرامج.
  101. أندي كلين. "صفحة أندي كلين" . مؤرشفة من الأصل في 7 ديسمبر 2009. تم الاطلاع عليها في 21 أغسطس 2009. كانت هذه الورقة الأصلية التي تصف منفذ نواة لينكس x86-64 عندما كانت x86-64 متاحة فقط على المحاكيات .
  102. "أسئلة وأجوبة حول Arch64" . 23 أبريل 2012. مؤرشف من الأصل في 14 مايو 2012. تم الاطلاع عليه في 11 مايو 2012. يمكنك استخدام حزم multilib أو بيئة i686 chroot .
  103. 1 2 ثورستن ليمهاوس (13 سبتمبر 2011). "سجل النواة: واجهة برمجة التطبيقات x32 تتجاوز عيوب 64 بت" . www.h-online.com. مؤرشف من الأصل في 28 أكتوبر 2011. تم الاطلاع عليه في 1 نوفمبر 2011 .
  104. 1 2 "x32 - واجهة برمجة تطبيقات أصلية 32 بت لأنظمة x86-64" . linuxplumbersconf.org. مؤرشف من الأصل في 5 مايو 2012. تم الاطلاع عليه في 1 نوفمبر 2011 .
  105. 1 2 "x32-abi" . مواقع جوجل. مؤرشف من الأصل في 30 أكتوبر 2011. تم الاسترجاع في 1 نوفمبر 2011 .
  106. "منفذ AMD64" . debian.org. مؤرشف من الأصل في 26 سبتمبر 2019. تم الاطلاع عليه في 29 أكتوبر 2011 .
  107. "الترقيم ذو 5 مستويات" . kernel.org . تم الاطلاع عليه في 7 فبراير 2024 .
  108. "آبل - ملاحظات إصدار Xcode 2.4 لنظام التشغيل Mac OS X: أدوات المُصرّف" . شركة آبل، 11 أبريل 2007. مؤرشف من الأصل في 22 أبريل 2009. تم الاطلاع عليه في 19 نوفمبر 2012 .
  109. "أبل - نظام التشغيل ماك أو إس إكس ليوبارد - التكنولوجيا - 64 بت" . شركة أبل. مؤرشف من الأصل في 12 يناير 2009. تم الاطلاع عليه في 19 نوفمبر 2012 .
  110. "نظام التشغيل ماك أو إس إكس الإصدار 10.6: أجهزة ماك التي تستخدم نواة 64 بت" . شركة آبل. مؤرشف من الأصل في 31 أغسطس 2009. تم الاطلاع عليه في 29 نوفمبر 2012 .
  111. جون سيراكوزا. "نظام التشغيل ماك أو إس إكس 10.6 سنو ليوبارد: مراجعة آرس تكنيكا" . آرس تكنيكا ذ.م.م. مؤرشف من الأصل في 9 أكتوبر 2009. تم الاطلاع عليه في 20 يونيو 2010 .
  112. "تقنية نظام التشغيل ماك أو إس إكس" . شركة آبل. مؤرشف من الأصل في 28 مارس 2011. تم الاطلاع عليه في 19 نوفمبر 2012 .
  113. شميد، ج؛ توماسيس، ك؛ رامي، ج؛ تشيكالا، يو؛ ماثيو، ب؛ أبهيرام، ر (10 سبتمبر 2019). "إذن ليس لدينا حل لنظام كاتالينا... حتى الآن" . مدونة كود ويفرز . مؤرشف من الأصل في 29 سبتمبر 2021. تم الاطلاع عليه في 29 سبتمبر 2021 .
  114. توماسيس، كين (11 ديسمبر 2019). "win32 على نظام macOS" . WineHQ . مؤرشف من الأصل في 11 نوفمبر 2020. تم الاطلاع عليه في 29 سبتمبر 2021 .
  115. "مايكروسوفت ترفع الحد الأقصى للسرعة مع توفر إصدارات 64 بت من ويندوز سيرفر 2003 وويندوز إكس بي بروفيشنال" . مركز أخبار مايكروسوفت (بيان صحفي). 25 أبريل 2005. تم الاطلاع عليه بتاريخ 29 يناير 2024 .
  116. "وصف لإصدارات ويندوز سيرفر 2003 وويندوز إكس بي بروفيشنال x64" المبنية على معمارية x64 . دعم مايكروسوفت . مؤرشف من الأصل بتاريخ 20 أبريل 2016. تم الاطلاع عليه بتاريخ 14 أغسطس 2016 .
  117. "حزمة أدوات إدارة Windows Server 2003 SP1" . مركز تنزيل مايكروسوفت . مؤرشف من الأصل بتاريخ 27 أغسطس 2016. تم الاطلاع عليه بتاريخ 14 أغسطس 2016 .
  118. 1 2 " /LARGEADDRESSAWARE (التعامل مع العناوين الكبيرة)" . وثائق Visual Studio 2022 - مرجع رابط MSVC - خيارات رابط MSVC . مايكروسوفت. مؤرشف من الأصل في 21 ديسمبر 2022. تم الاسترجاع في 21 ديسمبر 2022. يُخبر خيار /LARGEADDRESSAWARE الرابط بأن التطبيق يمكنه التعامل مع عناوين أكبر من 2 جيجابايت. 
  119. 1 2 3 مات بيترك (مايو 2006). "كل ما تحتاج لمعرفته لبدء برمجة أنظمة ويندوز 64 بت" . مايكروسوفت . تم الاطلاع عليه في 18 أبريل 2023 .
  120. كريس سانت أماند (يناير 2006). "الانتقال إلى x64" . مايكروسوفت . تم الاطلاع عليه في 18 أبريل 2023 .
  121. "ما وراء حدّ عنونة الذاكرة الافتراضية 44 بت في نظام ويندوز x86-64" . مؤرشف من الأصل بتاريخ 23 ديسمبر 2008. تم الاطلاع عليه بتاريخ 2 يوليو 2009 .
  122. 1 2 "برمجة 64 بت لمطوري الألعاب" . تم الاطلاع عليه في 18 أبريل 2023 .
  123. "حدود الذاكرة لإصدارات ويندوز وويندوز سيرفر" . مايكروسوفت . تم الاطلاع عليه بتاريخ 18 أبريل 2023 .
  124. كينغسلي-هيوز، أدريان (23 أغسطس 2010). "شركة AMD تودع مجموعة تعليمات 3DNow!" . ZDNet . مؤرشف من الأصل في 8 يناير 2023. تم الاطلاع عليه في 8 يناير 2023 .
  125. "إرشادات عامة لنقل البرامج" . دليل برمجة لأنظمة ويندوز 64 بت. مستندات مايكروسوفت . تم الاطلاع عليه بتاريخ 18 أبريل 2023 .
  126. "سجل برامج التشغيل لخادم Microsoft SQL Server" . وثائق Microsoft . تم الاطلاع عليه في 18 أبريل 2023 .
  127. "يتوفر موفر Microsoft OLE DB لـ Jet وبرنامج تشغيل Jet ODBC بإصدارات 32 بت فقط" . Office Access. Microsoft Docs . KB957570 . تم الاطلاع عليه بتاريخ 18 أبريل 2023 .
  128. أناند لال شيمبي (21 مايو 2013). "إكس بوكس ​​ون: تحليل الأجهزة ومقارنتها ببلاي ستيشن 4" . أناند تك. مؤرشف من الأصل في 7 يونيو 2013. تم الاطلاع عليه في 22 مايو 2013 .  
  129. "اختبار المواصفات التقنية: إكس بوكس ​​ون مقابل بلاي ستيشن 4" . مجلة جيم إنفورمر. 21 مايو 2013. مؤرشف من الأصل في 7 يونيو 2013. تم الاطلاع عليه في 22 مايو 2013 .  
  130. "ما يمكن توقعه من إطلاق سوني لجهاز بلاي ستيشن 5 في نوفمبر" . صحيفة إنديان إكسبريس . 31 أغسطس 2020. مؤرشف من الأصل في 19 سبتمبر 2020. تم الاطلاع عليه في 14 سبتمبر 2020 .
  131. كاتريس، د. إيان. "مدونة هوت تشيبس 2020 المباشرة: بنية نظام مايكروسوفت إكس بوكس ​​سيريس إكس (الساعة 6:00 مساءً بتوقيت المحيط الهادئ)" . Anandtech.com . مؤرشف من الأصل في 17 سبتمبر 2020. تم الاطلاع عليه في 14 سبتمبر 2020 .
  132. هوليستر، شون (12 نوفمبر 2021). "ستيم ديك: خمسة أشياء مهمة تعلمناها من قمة مطوري فالف" . ذا فيرج . مؤرشف من الأصل في 7 فبراير 2022. تم الاطلاع عليه في 12 نوفمبر 2021 .
  133. "حقول بنية المعالج" . مؤرشف من الأصل في 28 أبريل 2015. تم الاسترجاع في 4 سبتمبر 2013 .
  134. "ملف مثال من شجرة مصدر نواة لينكس 3.7.8 يعرض استخدام مصطلح x86_64" . مؤرشف من الأصل في 23 سبتمبر 2005. تم الاطلاع عليه في 17 فبراير 2013 .
  135. US 6877084 
  136. US 6889312 
  137. US 6732258 
  138. "اتفاقية ترخيص براءات الاختراع المتبادلة بين AMD و Intel" . 1 يناير 2001. مؤرشفة من الأصل في 21 يونيو 2007. تم الاطلاع عليها في 23 أغسطس 2009 .
  139. "اتفاقية التسوية بين AMD وإنتل" . مؤرشفة من الأصل في 7 يوليو 2017. تم الاطلاع عليها في 18 سبتمبر 2017 .
  140. ستيفن شانكلاند وجوناثان إي. سكيلينغز (12 نوفمبر/تشرين الثاني 2009). "إنتل تدفع لشركة AMD مبلغ 1.25 مليار دولار أمريكي في تسوية لقضايا مكافحة الاحتكار" . سي نت. مؤرشف من الأصل في 8 نوفمبر/تشرين الثاني 2012. تم الاطلاع عليه في 24 أبريل/نيسان 2012 .
  141. سميث، رايان (12 نوفمبر 2009). "AMD وإنتل تُسوّيان خلافاتهما: AMD تتجه نحو تصميم الرقائق بدون مصانع" . AnandTech . مؤرشف من الأصل في 13 مايو 2010.