الجميع يذهبون إلى ARM في هذه الأيام - تقوم كل من Amazon و Apple بشحن وحدات المعالجة المركزية الداخلية مع زيادات مجنونة في الأداء ، ويشاع أن Microsoft تقوم بتطوير وحداتها الخاصة. تم استخدام ARM تاريخيًا لرقائق الأجهزة المحمولة منخفضة الطاقة ، فلماذا بالضبط يقوم ARM بسحق x86 على سطح المكتب ومساحة الخادم؟
الجميع يذهبون إلى ARM هذه الأيام
عالم المعالجات صناعة معقدة ، ولا يوجد سوى عدد قليل من التصميمات من عدد قليل من الشركات قادرة على المنافسة على الأداء العالي.عادةً ما تحتفظ Intel أو AMD بتاج الأداء ، حيث يقوم كل منهما بتصنيع وحدات المعالجة المركزية x86. لكن في الآونة الأخيرة ، أعطت وحدات المعالجة المركزية من Apple و Amazon المستندة إلى ARM Intel (وهندسة x86) فرصة للحصول على أموالهم.
تمتلك Amazon وحدة المعالجة المركزية Graviton2 ، وهي ليست أسرع من نظيراتها من خوادم Intel ، ولكنها أكثر فعالية من حيث التكلفة وتستخدم طاقة أقل. مع مقدار التحسن الذي تم إجراؤه على Graviton1 ، فمن المحتمل أن يكون التكرار التالي هو منافسة شرسة في مساحة الخادم.
أبل خرجت من الساحة مع أول وحدة معالجة مركزية غير محمولة ، معالج Apple Silicon M1 ، الذي يعمل بشكل أسرع من وحدات المعالجة المركزية Intel لسطح المكتب وبسرعة تقارب سلسلة Ryzen 5000 من AMD ، تاج الأداء الحالي. إنه السيليكون المخصص الذي يجعل أجهزة Apple Macbooks أسرع أجهزة الكمبيوتر المحمولة حاليًا في العالم ، الأمر الذي يثير استياء عشاق الكمبيوتر الشخصي (بمن فيهم أنا).

في الواقع ، هم متقدمون جدًا في مساحة الكمبيوتر المحمول بحيث يعمل Windows على M1 Macbook بشكل أسرع من Surface Pro X ، على الرغم من أن Windows على ARM يعمل فقط من خلال محاكي.وكما لو أن هذا لم يكن مهينًا بدرجة كافية ، فإنه يسحقه تمامًا بدرجة Geekbench أحادية النواة 1 ، 390 مقارنة بـ Surface's 802 ، وهو أمر سيء بشكل مثير للضحك بالمقارنة. M1 سريع للغاية.
يشاع أيضًا أن Microsoft تقوم بتطوير معالج ARM الداخلي الخاص بها ، وعلى الرغم من أن هذه الشائعات تأتي من مساحة خادم Azure ، فمن المحتمل أن يستخدموا نفس الشريحة لجهاز Surface إذا كان بإمكانهم مطابقة أداء Apple.
ما الفرق بين ARM و x86؟
في نهاية اليوم ، لا يوجد فرق كبير بين ARM و x86. لا يزال بإمكانك تشغيل Google Chrome ومشاهدة YouTube على أي منهما. في الواقع ، ربما تقوم بذلك الآن ، حيث أن جميع أجهزة Android وكل iPhone تقريبًا تستخدم معالجًا قائمًا على ARM.
الاختلاف الأكبر بالنسبة لمعظم الأشخاص هو أن التطبيقات القديمة المخصصة لـ x86 ستحتاج إلى إعادة تجميعها لتعمل على ARM أيضًا. يعد هذا أمرًا سهلاً بالنسبة لبعض الأشياء ، ولكن لن يتم دعم كل شيء ، خاصة البرامج القديمة.ومع ذلك ، حتى ذلك يمكن تشغيله عادةً من خلال محاكاة x86 ، والتي بدأ Windows في دعمها.
بالنسبة للمطورين ، هناك الكثير من الاختلافات في كيفية تجميع التطبيقات ، ولكن في هذه الأيام ، يقوم معظم المجمعين بعمل جيد في دعم مجموعات التعليمات الرئيسية ، ولن تضطر حقًا إلى إجراء العديد من التغييرات للحصول عليها انها تجمع لمنصات متعددة.
لكن كيف يتم تشغيل ARM بشكل أسرع؟
للإجابة على هذا السؤال ، سيتعين علينا التعمق في كيفية عمل وحدات المعالجة المركزية تحت الغطاء.
ARM و x86 كلاهما مجموعتي تعليمات ، يُعرفان أيضًا بالبنى ، وهما أساسًا قائمة "برامج" الكود الصغير التي تدعمها وحدة المعالجة المركزية. لهذا السبب لا داعي للقلق بشأن تشغيل تطبيق Windows على وحدة معالجة مركزية معينة من AMD أو Intel ؛ كلاهما معالجات x86 ، وبينما تختلف التصميمات الدقيقة (وتعمل بشكل مختلف) ، كلاهما يدعم نفس التعليمات. هذا يعني أن أي برنامج تم تجميعه لـ x86 سيدعم بشكل عام كلا المعالجات.
تقوم وحدات المعالجة المركزية (CPU) بشكل أساسي بتنفيذ العمليات بالتتابع ، مثل الجهاز الذي لديه قائمة بالمهام التي يجب القيام بها. تُعرف كل تعليمات باسم رمز التشغيل ، وتحتوي البنى مثل x86 على الكثير من أكواد التشغيل ، خاصةً بالنظر إلى أنها كانت موجودة منذ عقود. بسبب هذا التعقيد ، يُعرف x86 باسم "مجموعة التعليمات المعقدة" أو CISC.
تأخذ معماريات CISC عمومًا نهج التصميم المتمثل في تعبئة الكثير من الأشياء في تعليمة واحدة. على سبيل المثال ، قد تقوم تعليمات الضرب بنقل البيانات من بنك ذاكرة إلى سجل ، ثم تنفيذ خطوات الضرب وتعديل النتائج في الذاكرة. الكل في تعليمات واحدة.
على الرغم من ذلك ، يتم تفكيك هذه التعليمات في العديد من "العمليات الصغيرة" ، والتي تنفذها وحدة المعالجة المركزية. فائدة CISC هي استخدام الذاكرة ، ومنذ ذلك الحين كان سعرها أعلى ، اعتاد CISC أن يكون أفضل.

ومع ذلك ، لم يعد هذا هو عنق الزجاجة بعد الآن ، وهنا يأتي دور RISC. RISC ، أو مجموعة التعليمات المخفضة ، تلغي بشكل أساسي التعليمات المعقدة متعددة الأجزاء. يمكن تنفيذ كل تعليمات في الغالب في دورة ساعة واحدة ، على الرغم من أن العديد من العمليات الطويلة ستحتاج إلى انتظار النتائج من مناطق أخرى من وحدة المعالجة المركزية أو الذاكرة.
في حين أن هذا يبدو وكأنه الرجوع للخلف ، إلا أن له آثارًا كبيرة على تصميم وحدة المعالجة المركزية. تحتاج وحدات المعالجة المركزية (CPU) إلى تحميل جميع تعليماتها من ذاكرة الوصول العشوائي وتنفيذها بأسرع ما يمكن. اتضح أنه من الأسهل القيام بذلك عندما يكون لديك العديد من الإرشادات البسيطة مقابل الكثير من الإرشادات المعقدة. تعمل وحدة المعالجة المركزية بشكل أسرع عندما يمكن ملء المخزن المؤقت للتعليمات ، ويكون ذلك أسهل كثيرًا عندما تكون التعليمات أصغر وأسهل في المعالجة.
يتمتع RISC أيضًا بميزة ما يسمى التنفيذ خارج الترتيب ، أو OoOE. بشكل أساسي ، تحتوي وحدة المعالجة المركزية بداخلها على وحدة تعيد ترتيب التعليمات الواردة إليها وتحسينها. على سبيل المثال ، إذا احتاج أحد التطبيقات إلى حساب شيئين ، لكنهما لا يعتمدان على بعضهما البعض ، فيمكن لوحدة المعالجة المركزية تنفيذ كليهما بشكل متوازٍ.عادةً ما يكون الكود المتوازي معقدًا للغاية بالنسبة للمطورين في كتابته ، ولكن عند أدنى مستويات وحدة المعالجة المركزية ، يمكنه الاستفادة من تعدد المهام لتسريع الأمور. تستخدم شريحة Apple M1 OoOE لتأثير رائع.
إذا كنت مهتمًا بالأعمال الداخلية ، فيجب أن تقرأ هذا الكتاب الرائع الذي كتبه إريك إنغيم حول ما يجعل شريحة Apple M1 سريعة جدًا. باختصار ، إنه يستخدم بشكل مكثف السيليكون المتخصص ، وتنفيذ خارج الترتيب ، ولديه طريقة أكثر من أجهزة فك ترميز التعليمات لدعم سرعته.
هل سيستبدل ARM x86؟

الجواب الصادق هو ربما. كانت شركة Intel تشعر بنهاية قانون مور منذ سنوات ، وبينما تمكنت AMD من تحقيق قفزات في الأداء في السنوات الأخيرة ، إلا أنها لم تتقدم كثيرًا.
هذا لا يعني أن x86 سيتلاشى في أي وقت قريبًا ، ولكن من الواضح أن ARM لديه إمكانات أكبر من مجرد كونه معمارية للهاتف المحمول - وهي وصمة عار لم تعد صالحة بالنظر إلى الاتجاه الحالي للصناعة.إن فوائد بنى RISC واضحة ، ومع مدى تحسن شريحة Apple M1 بالفعل ، يبدو مستقبل الصناعة واعدًا.
بالإضافة إلى ذلك ، ليست ARM هي بنية RISC الوحيدة الموجودة هناك. لا تزال ملكية ، على الرغم من أن ARM ترخص تصميماتها لمصممي الطرف الثالث ، مثل Qualcomm و Samsung و Apple. RISC-V مفتوح المصدر ، وهو واعد بالمثل. إنها بنية مجموعة تعليمات قياسية ، تاركة عمليات التنفيذ الدقيقة للشركة المصنعة. إذا تحركت الصناعة نحو RISC بشكل عام ، فستكون هناك تطبيقات مفتوحة ومغلقة المصدر متاحة.