تاريخ وحدات المعالجة المركزية للأغراض العامة

إن تاريخ وحدات المعالجة المركزية للأغراض العامة هو استمرار للتاريخ السابق لأجهزة الحوسبة .

خمسينيات القرن العشرين: التصاميم المبكرة

وحدة أنابيب مفرغة من أجهزة كمبيوتر IBM من سلسلة 700 المبكرة

في أوائل الخمسينيات، كان تصميم كل حاسوب فريدًا من نوعه. لم تكن هناك أجهزة متوافقة مع الإصدارات السابقة، ولا بنى حاسوبية ذات تطبيقات متعددة ومختلفة. البرامج المصممة لجهاز واحد لا تعمل على أي جهاز آخر، حتى لو كانت من نفس الشركة. لم يكن هذا عائقًا كبيرًا آنذاك، لأنه لم يكن هناك كمٌّ هائل من البرامج المصممة للعمل على الحواسيب، لذا لم يُنظر إلى بدء البرمجة من الصفر على أنه عائق كبير.

كانت حرية التصميم في ذلك الوقت بالغة الأهمية، إذ كان المصممون مقيدين بشدة بتكلفة الإلكترونيات، ولم يكونوا قد بدأوا بعد في استكشاف أفضل السبل لتنظيم الحاسوب. ومن بين الميزات الأساسية التي طُرحت خلال هذه الفترة: سجلات الفهرسة (في جهاز فيرانتي مارك 1 )، وتعليمات حفظ عنوان العودة (في جهاز يونيفاك 1 )، والمعاملات الفورية (في جهاز آي بي إم 704 )، واكتشاف العمليات غير الصالحة (في جهاز آي بي إم 650 ).

بحلول نهاية خمسينيات القرن العشرين، طوّرت شركات تصنيع الحواسيب التجارية حواسيب جاهزة للتصنيع في المصانع، ويمكن نقلها بالشاحنات. وكان حاسوب IBM 650 الأكثر انتشارًا ، إذ كان يستخدم ذاكرة أسطوانية تُحمّل عليها البرامج باستخدام شريط ورقي مثقوب أو بطاقات مثقوبة . كما احتوت بعض الأجهزة المتطورة جدًا على ذاكرة أساسية توفر سرعات أعلى. وبدأت الأقراص الصلبة أيضًا تكتسب شعبية متزايدة.

الحاسوب أشبه بمعداد آلي . يؤثر نوع نظام الأرقام المستخدم على طريقة عمله. في أوائل الخمسينيات، صُممت معظم الحواسيب لأداء مهام معالجة رقمية محددة، واستخدمت العديد منها الأرقام العشرية كنظامها الأساسي؛ أي أن العمليات الحسابية فيها كانت تعمل بنظام العشرة (الأساس 10) بدلاً من نظام الثنائي (الأساس 2) الشائع اليوم. لم تكن هذه الأرقام مجرد أرقام عشرية مشفرة ثنائياً (BCD). احتوت معظم الحواسيب على عشرة صمامات مفرغة لكل رقم في كل سجل معالج . قام بعض مصممي الحواسيب السوفييت الأوائل بتطبيق أنظمة تعتمد على المنطق الثلاثي ؛ أي أن البت يمكن أن يكون له ثلاث حالات: +1، 0، أو -1، والتي تُقابل جهدًا موجبًا، أو صفرًا، أو سالبًا.

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

حتى عام 1970، لم تكن لغات البرمجة الرئيسية قادرة على توحيد سلوكها العددي لأن أجهزة الكمبيوتر العشرية كان لديها مجموعات من المستخدمين كبيرة جدًا بحيث لا يمكن استبعادها.

حتى عندما استخدم المصممون النظام الثنائي، ظلت لديهم العديد من الأفكار غير المألوفة. فقد استخدم بعضهم حساب الإشارة والمقدار (-1 = 10001)، أو المتمم الأحادي (-1 = 11110)، بدلاً من حساب المتمم الثنائي الحديث (-1 = 11111). واستخدمت معظم الحواسيب مجموعات أحرف سداسية البتات لأنها كانت كافية لترميز بطاقات هوليريث المثقبة . وكان اكتشافًا هامًا لمصممي تلك الفترة أن يدركوا أن حجم كلمة البيانات يجب أن يكون من مضاعفات حجم الحرف. فبدأوا بتصميم حواسيب بكلمات بيانات 12 و24 و36 بت (انظر على سبيل المثال TX-2 ).

في هذا العصر، هيمن قانون غروش على تصميم أجهزة الكمبيوتر: حيث زادت تكلفة الكمبيوتر مع مربع سرعته.

الستينيات: ثورة الحواسيب وCISC

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

في عام 1962، جربت شركة IBM نهجًا جديدًا في تصميم الحواسيب. تمثلت الخطة في إنتاج مجموعة من الحواسيب التي يمكنها جميعًا تشغيل نفس البرامج، ولكن بأداءات وأسعار مختلفة. ومع ازدياد احتياجات المستخدمين، كان بإمكانهم الترقية إلى حواسيب أكبر حجمًا، مع الاحتفاظ بكامل استثماراتهم في البرامج والبيانات ووسائط التخزين.

لتحقيق ذلك، صمموا حاسوبًا مرجعيًا واحدًا يُدعى System/360 (S/360). كان هذا حاسوبًا افتراضيًا، ومجموعة تعليمات مرجعية، وقدرات تدعمها جميع الأجهزة في هذه العائلة. ولتوفير فئات مختلفة من الأجهزة، استخدم كل حاسوب في هذه العائلة محاكاة للأجهزة بدرجات متفاوتة، ومحاكاة للبرامج الدقيقة بدرجات متفاوتة أيضًا ، لإنشاء جهاز قادر على تشغيل مجموعة تعليمات S/360 الكاملة .

على سبيل المثال، قد يشتمل جهاز منخفض المواصفات على معالج بسيط للغاية بتكلفة منخفضة. مع ذلك، سيتطلب ذلك استخدام محاكي شفرة دقيقة أكبر لتوفير بقية مجموعة التعليمات، مما سيؤدي إلى إبطاء الجهاز. أما الجهاز عالي المواصفات، فسيستخدم معالجًا أكثر تعقيدًا بكثير، قادرًا على معالجة جزء أكبر من تصميم S/360 مباشرةً، وبالتالي تشغيل محاكي أبسط وأسرع بكثير.

اختارت شركة IBM عن قصد تصميم مجموعة تعليمات مرجعية معقدة للغاية وذات قدرات فائقة. ورغم تعقيد الحاسوب، إلا أن مخزن التحكم الخاص به، الذي يحتوي على البرنامج المصغر، ظل صغيرًا نسبيًا، ويمكن تصنيعه بذاكرة فائقة السرعة. ومن الآثار المهمة الأخرى أن تعليمة واحدة كانت قادرة على وصف سلسلة معقدة من العمليات. وبالتالي، كان على الحواسيب عمومًا جلب عدد أقل من التعليمات من الذاكرة الرئيسية، التي يمكن جعلها أبطأ وأصغر حجمًا وأقل تكلفة، مع الحفاظ على مزيج معين من السرعة والسعر.

بما أن جهاز S/360 كان سيُعتبر خليفةً لكلٍ من الأجهزة العلمية مثل 7090 وأجهزة معالجة البيانات مثل 1401 ، فقد كان بحاجة إلى تصميم يدعم جميع أنواع المعالجة بشكلٍ معقول. ولذلك، صُممت مجموعة التعليمات لمعالجة الأرقام الثنائية البسيطة، والنصوص، والأرقام العلمية ذات الفاصلة العائمة (المشابهة للأرقام المستخدمة في الآلة الحاسبة)، والحسابات العشرية المشفرة ثنائيًا التي تحتاجها أنظمة المحاسبة.

تضمنت جميع الحواسيب اللاحقة تقريبًا هذه الابتكارات بشكل أو بآخر. تُعرف هذه المجموعة الأساسية من الميزات الآن باسم الحوسبة ذات مجموعة التعليمات المعقدة (CISC، وتُنطق "سيسك")، وهو مصطلح لم يُخترع إلا بعد سنوات عديدة، عندما بدأت الحوسبة ذات مجموعة التعليمات المختصرة (RISC) في اكتساب حصة سوقية.

في العديد من معالجات CISC، كان بإمكان التعليمات الوصول إلى المسجلات أو الذاكرة، عادةً بعدة طرق مختلفة. هذا سهّل برمجة هذه المعالجات، إذ كان بإمكان المبرمج تذكر ما بين ثلاثين إلى مئة تعليمة فقط، ومجموعة من ثلاثة إلى عشرة أنماط عنونة، بدلاً من آلاف التعليمات المختلفة. يُطلق على هذا اسم مجموعة التعليمات المتعامدة . تُعدّ بنية PDP-11 وبنية Motorola 68000 مثالين على مجموعات التعليمات شبه المتعامدة.

كان هناك أيضًا مجموعة ( BUNCH ) ( Burroughs و UNIVAC و NCR و Control Data Corporation و Honeywell ) التي تنافست مع IBM في ذلك الوقت؛ ومع ذلك، سيطرت IBM على تلك الحقبة بنظام S/360.

قدمت شركة بوروز (التي اندمجت لاحقًا مع شركة سبيري/يونيفاك لتشكيل شركة يونيسيس ) بديلاً لنظام S/360 من خلال سلسلة B5000 . في عام 1961، تميزت سلسلة B5000 بذاكرة افتراضية، ومعالجة متعددة متناظرة، ونظام تشغيل متعدد البرامج (برنامج التحكم الرئيسي (MCP)) مكتوب بلغة ALGOL 60 ، بالإضافة إلى أولى مترجمات الانحدار التكراري في الصناعة في وقت مبكر من عام 1964.

سبعينيات القرن العشرين: ثورة المعالجات الدقيقة

إنتل 4004 ، معالج دقيق

أصدرت شركة إنتل أول معالج دقيق تجاري، وهو معالج Intel 4004 القائم على نظام العد العشري المشفر ثنائيًا (BCD)، في عام 1971. [ 1 ] [ 2 ] وفي مارس 1972 ، قدمت إنتل معالجًا دقيقًا ببنية 8 بت ، وهو 8008 ، وهو إعادة تنفيذ منطقية متكاملة من نوع pMOS لوحدة المعالجة المركزية Datapoint 2200 القائمة على منطق الترانزستور-الترانزستور (TTL) .

قام المصممان فيديريكو فاجين وماساتوشي شيما، اللذان عملا على معالج 8004، بتصميم معالج إنتل 8080 ، خليفة معالج 8008، وهو معالج دقيق أقرب إلى الحواسيب الصغيرة ، استنادًا إلى حد كبير إلى ملاحظات العملاء حول معالج 8008 ذي الإمكانيات المحدودة. وكما هو الحال مع معالج 8008، استُخدم معالج 8080 في تطبيقات مثل المحطات الطرفية والطابعات وآلات تسجيل النقد والروبوتات الصناعية. ومع ذلك، أصبح معالج 8080 الأكثر كفاءة هو المعالج المركزي المستهدف لنظام تشغيل الحواسيب الشخصية CP/M، الذي كان يُعتبر معيارًا فعليًا في بداياته ، واستُخدم في مهام تحكم معقدة مثل صواريخ كروز ، بالإضافة إلى العديد من الاستخدامات الأخرى. وبإصداره عام 1974، أصبح معالج 8080 من أوائل المعالجات الدقيقة واسعة الانتشار.

بحلول منتصف سبعينيات القرن العشرين، أصبح استخدام الدوائر المتكاملة في أجهزة الكمبيوتر شائعاً. وشهد ذلك العقد اضطرابات في السوق ناجمة عن انخفاض أسعار الترانزستورات.

أصبح من الممكن وضع وحدة المعالجة المركزية بأكملها على لوحة دوائر مطبوعة واحدة. ونتيجة لذلك، أصبحت الحواسيب الصغيرة، التي عادةً ما تحتوي على كلمات 16 بت وذاكرة تتراوح سعتها بين 4 كيلوبايت و64 كيلوبايت، شائعة.

كان يُعتقد أن معالجات CISC هي أقوى أنواع الحواسيب، نظرًا لصغر حجم شفرتها البرمجية الدقيقة وإمكانية تخزينها في ذاكرة فائقة السرعة. كما عالجت بنية CISC الفجوة الدلالية كما كانت تُفهم آنذاك، وهي المسافة المحددة بين لغة الآلة ولغات البرمجة عالية المستوى المستخدمة في برمجة الجهاز. وكان يُعتقد أن المترجمات البرمجية قادرة على أداء أفضل مع مجموعة تعليمات أكثر ثراءً.

كانت الدوائر المتكاملة CISC المخصصة تُصنع عادةً باستخدام منطق حاسوبي يعتمد على شرائح البت ، مثل رقائق AMD 2900، مع شفرة دقيقة مخصصة. مكون شريحة البت هو جزء من وحدة الحساب والمنطق (ALU) أو ملف سجلات أو مُسلسل دقيق . كانت معظم الدوائر المتكاملة التي تعتمد على شرائح البت بعرض 4 بتات.

بحلول أوائل سبعينيات القرن العشرين، تم تطوير الحاسوب المصغر PDP-11 ذو الـ 16 بت ، والذي يُعتبر بلا شك أكثر الحواسيب الصغيرة تطوراً في عصره. وفي أواخر سبعينيات القرن العشرين، تم طرح حواسيب فائقة الصغر ذات نطاق أوسع ، مثل VAX ذي الـ 32 بت .

استمرت شركة IBM في صنع أجهزة كمبيوتر كبيرة وسريعة. ومع ذلك، فإن تعريف "كبيرة وسريعة" أصبح الآن يتجاوز مجرد ميغابايت من ذاكرة الوصول العشوائي، وسرعات معالجة تقارب ميغاهرتز واحد، [ 3 ] [ 4 ] وعشرات الميغابايت من محركات الأقراص.

كان نظام IBM 370 نسخة معدلة من نظام 360 لتشغيل بيئات الحوسبة الافتراضية. وقد طُوّر الحاسوب الافتراضي لتقليل احتمالية حدوث عطل برمجي لا يمكن إصلاحه.

حققت سلسلة أنظمة بوروز الكبيرة (B5000، B6000، B7000) أعلى حصة سوقية لها. كانت عبارة عن حاسوب مكدس تم برمجة نظام تشغيله بلهجة من لغة ألغول.

تنافست كل هذه التطورات المختلفة على حصة السوق.

طُرح أول معالج دقيق أحادي الشريحة ذو 16 بت في عام 1975. وقد طرحت شركة بانافاكوم ، وهي تكتل شركات يابانية هي فوجيتسو وفوجي إلكتريك وماتسوشيتا ، المعالج MN1610، وهو معالج دقيق تجاري ذو 16 بت. [ 5 ] [ 6 ] [ 7 ] ووفقًا لشركة فوجيتسو، كان هذا المعالج "أول حاسوب دقيق في العالم ذو 16 بت على شريحة واحدة". [ 6 ]

كان معالج إنتل 8080 أساسًا لمعالج إنتل 8086 ذي الـ 16 بت، والذي يُعدّ سلفًا مباشرًا لعائلة معالجات x86 المنتشرة اليوم (بما في ذلك بنتيوم وإنتل كور ). لكل تعليمة في معالج 8080 مكافئ مباشر في مجموعة تعليمات x86 الكبيرة، على الرغم من اختلاف قيم رمز العملية في الأخيرة.

أوائل الثمانينيات - التسعينيات: دروس من RISC

في أوائل ثمانينيات القرن الماضي، اكتشف باحثون في جامعة كاليفورنيا في بيركلي وشركة آي بي إم أن معظم مترجمات ومفسرات لغات البرمجة لا تستخدم سوى جزء صغير من تعليمات الحوسبة المعقدة (CISC). كان جزء كبير من قدرة وحدة المعالجة المركزية (CPU) يُهدر في التطبيقات العملية. أدركوا أنه من خلال تبسيط الحاسوب وتقليل تعقيده، يمكنهم جعله أسرع وأقل تكلفة في الوقت نفسه.

في الوقت نفسه، أصبحت حسابات وحدة المعالجة المركزية أسرع مقارنةً بوقت الوصول إلى الذاكرة اللازمة. كما جرب المصممون استخدام مجموعات كبيرة من السجلات الداخلية. وكان الهدف هو تخزين النتائج الوسيطة مؤقتًا في السجلات تحت سيطرة المُصرّف. وقد أدى ذلك أيضًا إلى تقليل عدد أنماط العنونة والتعامد.

تُعرف تصميمات الحواسيب القائمة على هذه النظرية باسم الحوسبة ذات مجموعة التعليمات المختصرة (RISC). عادةً ما تحتوي معالجات RISC على عدد أكبر من المسجلات، يتم الوصول إليها بتعليمات أبسط، مع وجود عدد قليل من التعليمات المخصصة لتحميل البيانات وتخزينها في الذاكرة. وكانت النتيجة وحدة معالجة مركزية بسيطة للغاية تعمل بسرعة عالية جدًا، وتدعم أنواع العمليات التي تستخدمها المترجمات البرمجية على أي حال.

يستخدم أحد أنواع تصميم RISC الشائعة بنية هارفارد ، على عكس بنية فون نيومان أو بنية البرنامج المخزن الشائعة في معظم التصاميم الأخرى. في جهاز ذي بنية هارفارد، يشغل البرنامج والبيانات وحدات ذاكرة منفصلة ويمكن الوصول إليهما في وقت واحد. أما في أجهزة فون نيومان، فتُدمج البيانات والبرامج في وحدة ذاكرة واحدة، مما يتطلب الوصول التسلسلي، وهو ما يُعرف بعنق زجاجة فون نيومان .

من عيوب تصميم RISC أن البرامج التي تعمل عليه تميل إلى أن تكون أكبر حجماً. ويعود ذلك إلى أن المترجمات البرمجية تضطر إلى توليد سلاسل أطول من التعليمات الأبسط لتحقيق النتائج نفسها. وبما أن هذه التعليمات يجب تحميلها من الذاكرة على أي حال، فإن حجم الكود الأكبر يُقلل من سرعة معالجة الذاكرة التي يتميز بها تصميم RISC.

في أوائل التسعينيات، ابتكر مهندسو شركة هيتاشي اليابانية طرقًا لضغط مجموعات التعليمات المُصغّرة لتناسب أنظمة ذاكرة أصغر حجمًا من معالجات CISC. استُخدمت هذه التقنيات في مجموعة تعليمات سلسلة معالجات SuperH ، التي طُرحت عام ١٩٩٢. [ ٨ ] لاحقًا، جرى تكييف مجموعة تعليمات SuperH لتناسب مجموعة تعليمات Thumb الخاصة ببنية ARM . [ ٩ ] في التطبيقات التي لا تتطلب تشغيل برامج ثنائية قديمة، تتزايد مبيعات معالجات RISC المضغوطة.

كان أحد المناهج الأخرى لمعالجات RISC هو حاسوب مجموعة التعليمات الدنيا (MISC)، أو ما يُعرف أيضًا باسم حاسوب مجموعة التعليمات الصفرية (niladic ). أدرك هذا المنهج أن معظم مساحة التعليمات تُستخدم لتحديد معاملاتها. لذا، وضعت هذه الحواسيب المعاملات على مكدس دفع سفلي (آخر ما يُدخل، أول ما يُخرج) . أُضيفت إلى مجموعة التعليمات بعض التعليمات لجلب البيانات وتخزينها في الذاكرة. استخدمت معظم هذه الحواسيب التخزين المؤقت البسيط لتوفير أجهزة RISC فائقة السرعة، ذات شفرة مضغوطة للغاية. ومن المزايا الأخرى انخفاض زمن استجابة المقاطعات بشكل كبير، حتى أنه كان أقل من معظم أجهزة CISC (وهي سمة نادرة في أجهزة RISC). استخدمت بنية Burroughs Large Systems هذا المنهج. صُمم معالج B5000 عام 1961، قبل وقت طويل من ظهور مصطلح RISC . تضع هذه البنية ست تعليمات من 8 بت في كلمة من 48 بت، وكانت بمثابة مقدمة لتصميم كلمة التعليمات الطويلة جدًا (VLIW) (انظر أدناه: من عام 1990 إلى اليوم ).

كانت بنية بوروز أحد مصادر الإلهام للغة البرمجة فورث التي ابتكرها تشارلز إتش. مور ، والتي بدورها ألهمت تصميماته اللاحقة لرقائق MISC. فعلى سبيل المثال، احتوت نوى f20 الخاصة به على 31 تعليمة من 5 بت، بحيث يمكن وضع أربع منها في كلمة من 20 بت.

تهيمن معالجات RISC حاليًا على سوق الأنظمة المدمجة ذات 32 بت. بل إن معالجات RISC الأصغر حجمًا أصبحت شائعة في سوق الأنظمة المدمجة ذات 8 بت، والتي تتسم بحساسية التكلفة. ويُعدّ السوق الرئيسي لوحدات المعالجة المركزية RISC هو سوق الأنظمة التي تتطلب استهلاكًا منخفضًا للطاقة أو حجمًا صغيرًا.

حتى بعض معالجات CISC (التي تعتمد على بنى تم إنشاؤها قبل أن تصبح RISC مهيمنة)، مثل معالجات x86 الأحدث ، تقوم بترجمة التعليمات داخليًا إلى مجموعة تعليمات تشبه RISC.

قد تُفاجئ هذه الأرقام الكثيرين، لأن السوق يُنظر إليه على أنه سوق أجهزة الكمبيوتر المكتبية. صحيح أن معالجات x86 تُهيمن على مبيعات أجهزة الكمبيوتر المكتبية والمحمولة، إلا أن هذه الأجهزة لا تُمثل سوى جزء ضئيل من إجمالي أجهزة الكمبيوتر المباعة حاليًا. يمتلك معظم الناس في الدول الصناعية عددًا أكبر من أجهزة الكمبيوتر في أنظمة مُدمجة في سياراتهم ومنازلهم، مقارنةً بما يمتلكونه على مكاتبهم.

منتصف إلى أواخر ثمانينيات القرن العشرين: استغلال التوازي على مستوى التعليم

في منتصف إلى أواخر ثمانينيات القرن العشرين، بدأ المصممون باستخدام تقنية تُعرف باسم "تجميع التعليمات" ، حيث يعمل المعالج على عدة تعليمات في مراحل إنجاز مختلفة. على سبيل المثال، يمكن للمعالج استرجاع معاملات التعليمات التالية أثناء حساب نتيجة التعليمات الحالية. قد تستخدم وحدات المعالجة المركزية الحديثة أكثر من اثنتي عشرة مرحلة من هذا القبيل. (طُوّرت تقنية تجميع التعليمات في الأصل في أواخر خمسينيات القرن العشرين بواسطة شركة آي بي إم (IBM) على حاسوبها المركزي 7030 (ستريتش)). تستطيع الحواسيب ذات مجموعة التعليمات الدنيا (MISC) تنفيذ التعليمات في دورة واحدة دون الحاجة إلى تجميع التعليمات.

ظهرت فكرة مشابهة، بعد بضع سنوات فقط، وهي تنفيذ تعليمات متعددة بالتوازي على وحدات حسابية ومنطقية منفصلة . فبدلاً من معالجة تعليمة واحدة في كل مرة، يبحث المعالج عن عدة تعليمات متشابهة لا تعتمد على بعضها البعض، وينفذها بالتوازي. يُطلق على هذا النهج اسم تصميم المعالج فائق التوازي .

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

يُعدّ التفرّع أحد الأسباب الرئيسية للمشكلة. على سبيل المثال، قد يجمع برنامجٌ عددين ثم ينتقل إلى مقطع برمجي مختلف إذا كان الناتج أكبر من عدد ثالث. في هذه الحالة، حتى لو أُرسلت عملية التفرّع إلى وحدة الحساب والمنطق الثانية للمعالجة، فإنها ستظل تنتظر نتائج الجمع. وبالتالي، لن يكون أداؤها أسرع مما لو كانت هناك وحدة حساب ومنطق واحدة فقط. الحل الأكثر شيوعًا لهذا النوع من المشاكل هو استخدام نوع من أنواع التنبؤ بالتفرّع .

لتعزيز كفاءة الوحدات الوظيفية المتعددة المتوفرة في التصاميم فائقة التوازي ، تبيّن أن تبعيات سجلات المعاملات تُشكّل عاملًا مُقيّدًا آخر. وللحدّ من هذه التبعيات، تمّ إدخال تنفيذ التعليمات خارج الترتيب . في هذا النظام، يجب على المعالج إعادة ترتيب نتائج التعليمات التي تُنفّذ خارج الترتيب وفقًا لترتيب البرنامج حتى يُمكن استئناف تشغيل البرنامج بعد حدوث استثناء. كان تنفيذ التعليمات خارج الترتيب هو التقدّم الرئيسي في صناعة الحواسيب خلال تسعينيات القرن الماضي.

يُعدّ التنفيذ التخميني مفهومًا مشابهًا ، حيث تُنفَّذ التعليمات من اتجاه واحد للفرع (الاتجاه المُتوقَّع) قبل معرفة اتجاه الفرع. عند معرفة اتجاه الفرع، تتم مقارنة الاتجاه المُتوقَّع بالاتجاه الفعلي. إذا كان الاتجاه المُتوقَّع صحيحًا، تُحفظ التعليمات المُنفَّذة تخمينيًا ونتائجها؛ أما إذا كان خاطئًا، فتُحذف هذه التعليمات ونتائجها. يُحقق التنفيذ التخميني، مقترنًا بمتنبئ فروع دقيق، تحسينًا كبيرًا في الأداء.

هذه التطورات، التي تم تطويرها في الأصل من خلال البحث عن تصميمات على نمط RISC، تسمح لمعالجات CISC الحديثة بتنفيذ اثنتي عشرة تعليمة أو أكثر لكل دورة ساعة، في حين أن تصميمات CISC التقليدية قد تستغرق اثنتي عشرة دورة أو أكثر لتنفيذ تعليمة واحدة.

ينتج عن ذلك منطق جدولة التعليمات في هذه المعالجات، وهو كبير ومعقد ويصعب التحقق منه. علاوة على ذلك، يتطلب التعقيد المتزايد عددًا أكبر من الترانزستورات، مما يرفع استهلاك الطاقة والحرارة. في هذه الجوانب، تتفوق معالجات RISC لأن تعليماتها أبسط وأقل ترابطًا، مما يُسهّل تنفيذها على نطاق واسع. مع ذلك، وكما أثبتت إنتل، يمكن تطبيق هذه المفاهيم على تصميم الحوسبة ذات مجموعة التعليمات المعقدة (CISC)، إذا توفر الوقت والتمويل الكافيان.

من عام 1990 إلى اليوم: نتطلع إلى المستقبل

VLIW و EPIC

تعتمد منطق جدولة التعليمات التي تُشكل المعالج فائق القياس على المنطق البولياني . في أوائل التسعينيات، تمثلت إحدى الابتكارات المهمة في إدراك إمكانية نقل تنسيق حاسوب متعدد وحدات الحساب والمنطق إلى المترجم ، وهو البرنامج الذي يترجم تعليمات المبرمج إلى تعليمات على مستوى الآلة.

يُطلق على هذا النوع من أجهزة الكمبيوتر اسم كمبيوتر الكلمات التعليمية الطويلة جدًا (VLIW).

يمكن أن يؤدي جدولة التعليمات بشكل ثابت في المُصرّف (بدلاً من جدولتها ديناميكياً في المعالج) إلى تقليل تعقيد وحدة المعالجة المركزية. وهذا بدوره يُحسّن الأداء، ويُقلّل الحرارة والتكلفة.

لسوء الحظ، يفتقر المُصرّف إلى معرفة دقيقة بمشاكل جدولة وقت التشغيل. فمجرد تغيير مُضاعِف تردد نواة المعالج سيؤثر على الجدولة. كما أن طريقة تشغيل البرنامج، كما تحددها بيانات الإدخال، ستؤثر بشكل كبير على الجدولة. وللتغلب على هذه المشاكل الخطيرة، يمكن تحسين نظام VLIW بإضافة الجدولة الديناميكية العادية، مما يُفقد النظام بعض مزاياه.

يفترض الجدولة الثابتة في المُصرّف أن الشيفرة المُولّدة ديناميكيًا ستكون نادرة. قبل ظهور لغة جافا وآلة جافا الافتراضية ، كان هذا صحيحًا. كان من المنطقي افتراض أن بطء عملية التجميع سيؤثر فقط على مطوري البرامج. أما الآن، ومع استخدام آلات التجميع الفوري (JIT) الافتراضية للعديد من اللغات، فإن بطء توليد الشيفرة يؤثر على المستخدمين أيضًا.

كانت هناك عدة محاولات فاشلة لتطوير حاسوب. ومن المشاكل الأخرى صعوبة تصميم المترجمات لأجهزة VLIW، حيث أن المترجمات، حتى عام 2005، غالباً ما تُنتج شفرة غير مثالية لهذه المنصات.

كذلك، تُركز حواسيب VLIW على تحسين الإنتاجية لا على تقليل زمن الاستجابة، لذا لم تكن جذابة للمهندسين الذين يصممون وحدات التحكم وغيرها من الحواسيب المدمجة في الآلات. لطالما كانت أسواق الأنظمة المدمجة رائدة في تطوير تحسينات أخرى في مجال الحواسيب، وذلك بتوفيرها سوقًا واسعة لا تُعير اهتمامًا للتوافق مع البرامج القديمة.

في يناير 2000، اتخذت شركة ترانسميتا خطوةً رائدةً بوضع مُترجم برمجي داخل وحدة المعالجة المركزية، وجعله يُترجم التعليمات البرمجية من رمز بايت مرجعي (في حالتهم، تعليمات x86 ) إلى مجموعة تعليمات VLIW داخلية. تجمع هذه الطريقة بين بساطة المكونات المادية، وانخفاض استهلاك الطاقة، وسرعة معالجات VLIW RISC، مع نظام الذاكرة الرئيسية المُدمج والتوافق البرمجي العكسي الذي توفره معالجات CISC الشائعة.

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

تعدد الخيوط

كانت التصاميم السابقة تعمل بكفاءة أكبر عندما كان الحاسوب يُشغّل برنامجًا واحدًا فقط. مع ذلك، تسمح جميع أنظمة التشغيل الحديثة تقريبًا بتشغيل برامج متعددة في آنٍ واحد. يتطلب انتقال وحدة المعالجة المركزية (CPU) للعمل على برنامج آخر عملية تبديل سياق مكلفة . في المقابل، تستطيع وحدات المعالجة المركزية متعددة الخيوط معالجة التعليمات من برامج متعددة في وقت واحد.

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

غالبًا ما تتضمن هذه التصاميم آلاف المسجلات بدلًا من المئات كما في التصميمات التقليدية. لكن من عيوبها أن المسجلات تستهلك مساحة كبيرة من الشريحة، والتي يمكن استغلالها لأغراض أخرى.

تُطلق شركة إنتل على هذه التقنية اسم "الترابط الفائق" وتوفر خيطين لكل نواة في تشكيلة أجهزة سطح المكتب الحالية Core i3 و Core i5 و Core i7 و Core i9 (وكذلك في تشكيلة أجهزة الجوال Core i3 و Core i5 و Core i7)، بالإضافة إلى توفير ما يصل إلى أربعة خيوط لكل نواة في معالجات Xeon Phi المتطورة.

متعدد النوى

تتكون وحدات المعالجة المركزية متعددة النوى عادةً من عدة نوى معالجة مركزية على نفس الشريحة، متصلة ببعضها البعض عبر ذاكرة تخزين مؤقتة مشتركة من المستوى الثاني أو الثالث، أو ناقل بيانات مدمج، أو مفتاح تبديل مدمج . تشترك جميع نوى المعالجة المركزية على الشريحة في مكونات الربط البيني للتفاعل مع المعالجات الأخرى وبقية النظام. قد تشمل هذه المكونات واجهة ناقل أمامية ، ووحدة تحكم بالذاكرة للتفاعل مع ذاكرة الوصول العشوائي الديناميكية (DRAM)، ووصلة ذاكرة تخزين مؤقتة متماسكة مع المعالجات الأخرى، ووصلة غير متماسكة مع الجسر الجنوبي وأجهزة الإدخال/الإخراج. وقد شاع استخدام مصطلحي " متعدد النوى" و " وحدة المعالجة الدقيقة " (MPU) للإشارة إلى شريحة واحدة تحتوي على عدة نوى معالجة مركزية.

كان الدافع الرئيسي لتطوير وحدات المعالجة المركزية متعددة النوى هو القيود الفيزيائية والحرارية التي تفرضها زيادة سرعات المعالجة. فمن خلال توزيع المهام الحسابية على عدة نوى، تستطيع الأنظمة تحقيق أداء أعلى دون زيادة مماثلة في استهلاك الطاقة أو توليد الحرارة. وتتيح هذه القدرة على المعالجة المتوازية لأنظمة التشغيل الحديثة جدولة عدة سلاسل معالجة في وقت واحد، مما يؤدي إلى تحسين الاستجابة والإنتاجية، لا سيما في التطبيقات متعددة السلاسل.

تتضمن العديد من المعالجات الحديثة متعددة النوى تقنية المعالجة المتعددة المتزامنة (SMT)، وهي تقنية تسمح لكل نواة فعلية بتنفيذ عدة خيوط معالجة في وقت واحد. تُحسّن تقنية SMT الكفاءة العامة من خلال الاستخدام الأمثل لموارد النواة خلال فترات انخفاض الاستخدام، مما يُحسّن الأداء بشكل أكبر دون زيادة ملحوظة في استهلاك الطاقة.

إضافةً إلى ذاكرة التخزين المؤقت المشتركة ومكونات الربط البيني المذكورة سابقًا، لعبت تقنيات الربط البيني المتقدمة دورًا حاسمًا في تعزيز أداء المعالجات متعددة النوى. وقد طُوّرت واجهات مثل QuickPath Interconnect (QPI) من إنتل وInfinity Fabric من AMD لتوفير قنوات اتصال عالية النطاق الترددي ومنخفضة زمن الوصول بين النوى والذاكرة ومكونات النظام الأخرى. تُسهم هذه الابتكارات في تقليل اختناقات نقل البيانات، وتُعزز بيئة معالجة أكثر تماسكًا وكفاءة.

علاوة على ذلك، شهد ظهور الحوسبة غير المتجانسة دمج مُسرّعات مُخصصة، مثل وحدات معالجة الرسومات (GPUs) والمعالجات المُساعدة المُتخصصة، إلى جانب وحدات المعالجة المركزية متعددة النوى. تُخفف هذه الأنظمة عبء مهام مُحددة - مثل عرض الرسومات أو حسابات التعلم الآلي - عن نوى وحدة المعالجة المركزية الرئيسية، مما يسمح باستخدام أكثر توازنًا وكفاءة لموارد النظام ككل. ويستمر هذا التطور في تصميم المعالجات في التأثير على تطوير البرمجيات، حيث يتم اعتماد نماذج البرمجة المتوازية والمتزامنة بشكل متزايد للاستفادة الكاملة من إمكانيات معمارية المعالجات متعددة النوى. [ 10 ]

ذاكرة الوصول العشوائي الذكية

إحدى طرق التغلب على عنق الزجاجة فون نيومان هي دمج المعالج وذاكرة الوصول العشوائي الديناميكية على شريحة واحدة.

منطق قابل لإعادة التكوين

يتمثل مسار تطوير آخر في دمج المنطق القابل لإعادة التكوين مع وحدة معالجة مركزية للأغراض العامة. في هذا المخطط، تقوم لغة برمجة خاصة بتجميع الإجراءات الفرعية سريعة التنفيذ في قناع بت لتكوين المنطق. ويمكن تشغيل الأجزاء الأبطأ أو الأقل أهمية من البرنامج من خلال مشاركة وقتها على وحدة المعالجة المركزية. تتيح هذه العملية إنشاء أجهزة مثل أجهزة الراديو البرمجية ، باستخدام معالجة الإشارات الرقمية لأداء وظائف تؤديها عادةً الإلكترونيات التناظرية .

معالجات مفتوحة المصدر

مع تزايد تداخل الحدود بين العتاد والبرمجيات نتيجةً للتقدم في منهجيات التصميم وتوفر رقائق مثل مصفوفات البوابات المنطقية القابلة للبرمجة الميدانية (FPGA) وعمليات الإنتاج الأقل تكلفة، بدأت تظهر حتى العتاد مفتوح المصدر . وقد أعلنت مجتمعات غير رسمية مثل OpenCores و RISC-V مؤخرًا عن بنى معالجات مركزية مفتوحة بالكامل مثل OpenRISC، والتي يمكن لأي شخص تنفيذها بسهولة على مصفوفات البوابات المنطقية القابلة للبرمجة الميدانية أو في رقائق مصنعة حسب الطلب، دون أي رسوم ترخيص. بل إن شركات تصنيع المعالجات الراسخة مثل Sun Microsystems قد أصدرت تصاميم معالجات (مثل OpenSPARC ) بموجب تراخيص مفتوحة المصدر.

وحدات المعالجة المركزية غير المتزامنة

ثمة خيار آخر يتمثل في وحدة المعالجة المركزية غير المتزامنة أو التي لا تحتوي على ساعة مركزية . على عكس المعالجات التقليدية، لا تمتلك هذه المعالجات ساعة مركزية لتنسيق تقدم البيانات عبر خط المعالجة. بدلاً من ذلك، يتم تنسيق مراحل وحدة المعالجة المركزية باستخدام أجهزة منطقية تُسمى وحدات التحكم في خط المعالجة أو مُسلسلات FIFO . ببساطة، تقوم وحدة التحكم في خط المعالجة بتفعيل المرحلة التالية من المنطق عند اكتمال المرحلة الحالية. وبالتالي، لا حاجة إلى ساعة مركزية.

بالمقارنة مع المنطق المتزامن، قد يكون من الأسهل تنفيذ أجهزة عالية الأداء في المنطق غير المتزامن:

  • في وحدة المعالجة المركزية ذات التردد الثابت، لا يمكن لأي مكون أن يعمل بسرعة تتجاوز تردد الساعة. أما في وحدة المعالجة المركزية بدون تردد ثابت، فيمكن للمكونات أن تعمل بسرعات مختلفة.
  • في وحدة المعالجة المركزية ذات التوقيت الثابت، لا يمكن أن تتجاوز سرعة الساعة أسوأ أداء ممكن لأبطأ مرحلة. أما في وحدة المعالجة المركزية بدون توقيت ثابت، فعندما تنتهي مرحلة ما بسرعة أكبر من المعتاد، يمكن للمرحلة التالية استلام النتائج فورًا دون انتظار نبضة الساعة التالية. قد تنتهي مرحلة ما بسرعة أكبر من المعتاد بسبب نوع مدخلات البيانات (على سبيل المثال، يمكن أن تكون عملية الضرب سريعة جدًا إذا كانت بصفر أو واحد)، أو لأنها تعمل بجهد أعلى أو درجة حرارة أقل من المعتاد.

يعتقد مؤيدو المنطق غير المتزامن أن هذه القدرات ستوفر هذه الفوائد:

  • انخفاض استهلاك الطاقة لأداء معين
  • أعلى سرعات تنفيذ ممكنة

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

ومع ذلك، فقد تم بناء العديد من وحدات المعالجة المركزية غير المتزامنة، بما في ذلك

  • أوردفاك وإيلياك 1 (1951) المتطابقة
  • جهاز ILLIAC II (1962)، الذي كان آنذاك أسرع جهاز كمبيوتر على وجه الأرض
  • المعالج الدقيق غير المتزامن من معهد كاليفورنيا للتكنولوجيا، أول معالج دقيق غير متزامن في العالم (1988)
  • جهاز AMULET الذي يعمل بنظام ARM (1993 و2000)
  • التنفيذ غير المتزامن لـ MIPS Technologies R3000 ، المسمى MiniMIPS (1998) [ 11 ]
  • معالج SEAforth متعدد النوى من تشارلز إتش. مور [ 12 ]

الاتصالات البصرية

نظرياً، يمكن توصيل مكونات الحاسوب الضوئي مباشرةً عبر نظام تبديل هوائي مفتوح، سواءً كان هولوغرافيًا أو مرحليًا. وهذا من شأنه أن يوفر زيادة كبيرة في السرعة الفعالة ومرونة التصميم، بالإضافة إلى خفض كبير في التكلفة. ونظرًا لأن موصلات الحاسوب هي أيضًا أكثر نقاط ضعفه عرضةً للأعطال، فقد يكون النظام غير المزود بناقل بيانات أكثر موثوقية.

علاوة على ذلك، اعتبارًا من عام 2010، تستخدم المعالجات الحديثة منطقًا من 64 أو 128 بت. ويمكن أن يسمح تراكب الطول الموجي البصري بوجود مسارات بيانات ومنطق أعلى بكثير من الإلكترونيات، دون الحاجة إلى مساحة إضافية أو أسلاك نحاسية.

المعالجات الضوئية

ثمة خيار آخر طويل الأمد يتمثل في استخدام الضوء بدلاً من الكهرباء في المنطق الرقمي. نظرياً، يمكن لهذا أن يعمل بسرعة أكبر بنحو 30% ويستهلك طاقة أقل، كما يتيح اتصالاً مباشراً مع أجهزة الحوسبة الكمومية.

تكمن المشكلة الرئيسية في هذا النهج في أن عناصر الحوسبة الإلكترونية، في المستقبل المنظور، أسرع وأصغر حجمًا وأقل تكلفة وأكثر موثوقية. هذه العناصر أصغر بالفعل من بعض أطوال موجات الضوء. وبالتالي، قد يكون المنطق البصري القائم على الموجهات غير اقتصادي مقارنةً بالمنطق الإلكتروني. اعتبارًا من عام 2016، تركز معظم جهود التطوير على الدوائر الإلكترونية.

معالجات أيونية

تم إجراء أعمال تجريبية مبكرة حول استخدام التفاعلات الكيميائية القائمة على الأيونات بدلاً من العمليات الإلكترونية أو الضوئية لتنفيذ عناصر معالج منطقي.

هندسة آلة الحزام

بالمقارنة مع بنية آلة التسجيل أو آلة المكدس التقليدية ، ولكنها مشابهة لبنية إيتانيوم من إنتل ، [ 13 ] اقترح إيفان غودارد وزملاؤه نظام عنونة مؤقتة للسجلات يهدف إلى تقليل تعقيد وحدة المعالجة المركزية بشكل كبير (وتحديدًا عدد السجلات الداخلية وأشجار المضاعفة الضخمة الناتجة عنها ). [ 14 ] على الرغم من صعوبة قراءة وتصحيح الأخطاء مقارنةً بأسماء السجلات العامة، إلا أنه يُسهّل فهم النظام من خلال اعتباره سير ناقل متحرك حيث تتلاشى أقدم القيم . وقد تم تطبيق هذا النظام في بنية ميل.

الجدول الزمني للأحداث

انظر أيضاً

مراجع

  1. 1 2 نايجل توت. "آلة حاسبة Busicom 141-PF ومعالج Intel 4004" . تم الاطلاع عليه في 15 نوفمبر 2009 .
  2. أسبري، ويليام (25 مايو 1994). "التاريخ الشفوي: تاداشي ساساكي" . موسوعة تاريخ الهندسة والتكنولوجيا . معهد مهندسي الكهرباء والإلكترونيات . تاريخ الاسترجاع: 14 سبتمبر 2022 .
  3. كاسويل، واين (18 فبراير 2008). "عشرون اتجاهًا تقنيًا تؤثر على الشبكات المنزلية" . هوم تويز . مؤرشف من الأصل في 27 مارس 2016.
  4. "بنية نظام SYSTEM/360" . هياكل الحاسوب: المبادئ والأمثلة .
  5. "المعالجات الدقيقة ذات 16 بت" . متحف وحدة المعالجة المركزية . تم الاطلاع عليه بتاريخ 5 أكتوبر 2010 .
  6. 1 2 "التاريخ" . PFU . تم الاسترجاع في 5 أكتوبر 2010 .
  7. PANAFACOM Lkit-16 ، جمعية معالجة المعلومات في اليابان
  8. 1 2 "أصدرت شركة هيتاشي سلسلة SH-4 SH7750، التي تقدم أعلى أداء في الصناعة يبلغ 360 مليون عملية حسابية في الثانية لمعالج RISC المدمج، كسلسلة متطورة في عائلة SuperH" .
  9. 1 2 3 ناثان ويليس (10 يونيو 2015). "إحياء بنية SuperH" . LWN.net .
  10. "ابحث عن أفضل كمبيوتر محمول في عام 2024" . اقتراحات . تم الاسترجاع في 25 فبراير 2025 .
  11. MiniMIPS
  12. "نظرة عامة على SEAforth" . مؤرشف من الأصل بتاريخ 2008-02-02. ... تصميم دائرة غير متزامنة في جميع أنحاء الشريحة. لا توجد ساعة مركزية مع مليارات العقد الغبية التي تبدد طاقة غير ضرورية. ... أنوية المعالج غير متزامنة داخليًا.
  13. "معالجات RISC COMP375 هندسة الحاسوب وتنظيمه" (ملف PDF) . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 26 أكتوبر 2017.
  14. "الحزام" .
  15. 1 2 فيديريكو فاجين ، صناعة أول معالج دقيق ، مجلة دوائر الحالة الصلبة IEEE ، شتاء 2009، IEEE Xplore
  16. 1 2 "NEC 751 (uCOM-4)" . صفحة هواة جمع الرقائق الإلكترونية القديمة. مؤرشفة من الأصل بتاريخ 25 مايو 2011. تم الاطلاع عليها بتاريخ 11 يونيو 2010 .
  17. 1 2 1970年代 マイコンの開発と発展 ~集積回路، متحف تاريخ أشباه الموصلات في اليابان
  18. جيفري أ. هارت وسانغ باي كيم (2001)، الدفاع عن حقوق الملكية الفكرية في النظام المعلوماتي العالمي ، جمعية الدراسات الدولية، شيكاغو
  19. دليل المرجع الفني ARM7TDMI، الصفحة 2
  20. سيغارز، سيمون (27 فبراير 2017). "تمكين الاتصال الجماعي لإنترنت الأشياء مع شحن شركاء ARM لـ 100 مليار شريحة" . تم الاسترجاع في 6 سبتمبر 2021 .
  21. كلوفر جولي (13 أكتوبر 2022). "شريحة أبل M1: كل ما تحتاج لمعرفته" . ماك رومرز . تم الاطلاع عليه بتاريخ 21 يوليو 2024 .
  22. تاكاهاشي، دين (30 مارس 2021). "Armv9 هو أول تحديث معماري رئيسي لشركة Arm منذ عقد من الزمان" . VentureBeat . تم الاطلاع عليه بتاريخ 6 سبتمبر 2021 .
  23. شيلوف، أنطون (2021-10-20). "شحن أكثر من 200 مليار شريحة إلكترونية تعتمد على معالجات ARM" . تم الاطلاع عليه بتاريخ 16-09-2022 .
  24. "قائمة أفضل 500 شركة - يونيو 2022" . يونيو 2022. تاريخ الاسترجاع: 30 مايو 2022 .
  25. لارابيل مايكل (15 يونيو 2024). "إضافة دعم معالج Apple M4 إلى مُصرّف LLVM، مما يؤكد قدراته على التعامل مع بنية مجموعة التعليمات (ISA)" . فورونيكس . تم الاطلاع عليه بتاريخ 21 يوليو 2024 .