كمبيوتر مجموعة التعليمات المخفضة

في الإلكترونيات وعلوم الكمبيوتر ، يُعد الكمبيوتر ذو مجموعة التعليمات المخفضة ( RISC ) بنية كمبيوتر مصممة لتبسيط التعليمات الفردية المعطاة للكمبيوتر لإنجاز المهام. وبالمقارنة بالتعليمات المعطاة لجهاز كمبيوتر ذي مجموعة تعليمات معقدة (CISC)، قد يتطلب جهاز كمبيوتر RISC المزيد من التعليمات (المزيد من التعليمات البرمجية) لإنجاز مهمة لأن التعليمات الفردية مكتوبة في تعليمات برمجية أبسط. والهدف هو تعويض الحاجة إلى معالجة المزيد من التعليمات عن طريق زيادة سرعة كل تعليمة، وخاصة عن طريق تنفيذ خط أنابيب التعليمات ، والذي قد يكون من الأسهل تحقيقه في حالة وجود تعليمات أبسط. [1]
المفهوم التشغيلي الرئيسي لجهاز كمبيوتر RISC هو أن كل تعليمة تؤدي وظيفة واحدة فقط (على سبيل المثال نسخ قيمة من الذاكرة إلى سجل). عادةً ما يحتوي جهاز كمبيوتر RISC على العديد من السجلات عالية السرعة والأغراض العامة (16 أو 32) مع بنية تخزين التحميل حيث يكون الكود الخاص بتعليمات السجل-السجل (لإجراء العمليات الحسابية والاختبارات) منفصلاً عن التعليمات التي تصل إلى الذاكرة الرئيسية للكمبيوتر. يسمح تصميم وحدة المعالجة المركزية لأجهزة كمبيوتر RISC ببضعة أوضاع توجيه بسيطة [2] وأوقات تعليمات يمكن التنبؤ بها مما يبسط تصميم النظام ككل.
بدأت التطورات المفاهيمية لهندسة حاسوب RISC مع مشروع IBM 801 في أواخر سبعينيات القرن العشرين، ولكن لم يتم استخدامها على الفور. التقط المصممون في كاليفورنيا مفاهيم 801 في مشروعين أساسيين، Stanford MIPS و Berkeley RISC . تم تسويقهما تجاريًا في الثمانينيات كأنظمة MIPS و SPARC . أنتجت IBM في النهاية تصميمات RISC بناءً على مزيد من العمل على مفهوم 801، وهندسة IBM POWER و PowerPC و Power ISA . مع نضوج المشاريع، أنشأت العديد من التصميمات المماثلة، التي تم إنتاجها في منتصف إلى أواخر الثمانينيات وأوائل التسعينيات، مثل ARM و PA-RISC و Alpha ، وحدات معالجة مركزية زادت من الفائدة التجارية لمحطة عمل Unix والمعالجات المضمنة في الطابعة الليزرية وجهاز التوجيه والمنتجات المماثلة.
في سوق أجهزة الكمبيوتر الصغيرة ، بدأت الشركات التي تضمنت Celerity Computing و Pyramid Technology و Ridge Computers في تقديم أنظمة مصممة وفقًا لمبادئ RISC أو مبادئ مشابهة لـ RISC في أوائل الثمانينيات. [3] [4] [5] [6] [7] بدأ عدد قليل من هذه التصميمات باستخدام معالجات RISC الدقيقة .
تتضمن أنواع تصميم معالجات RISC معالج ARC ، وDEC Alpha، و AMD Am29000 ، وبنية ARM، و Atmel AVR ، وBlackfin ، و Intel i860 ، و Intel i960 ، و LoongArch ، و Motorola 88000 ، وبنية MIPS، وPA-RISC، وPower ISA، و RISC-V ، و SuperH ، وSPARC. تُستخدم معالجات RISC في أجهزة الكمبيوتر العملاقة ، مثل Fugaku . [8]
التاريخ والتطور
تم اعتبار عدد من الأنظمة، التي يعود تاريخها إلى ستينيات القرن العشرين، أول بنية RISC، ويرجع ذلك جزئيًا إلى استخدامها لنهج التحميل والتخزين . [9] تم صياغة مصطلح RISC بواسطة ديفيد باترسون من مشروع Berkeley RISC ، على الرغم من ظهور مفاهيم مماثلة إلى حد ما من قبل. [10]
استخدم CDC 6600 الذي صممه سيمور كراي في عام 1964 بنية تحميل وتخزين مع وضعين فقط للعنونة (سجل + سجل، وسجل + ثابت فوري) و74 رمز تشغيل، مع كون دورة الساعة الأساسية أسرع بعشر مرات من وقت الوصول إلى الذاكرة. [11] ويرجع ذلك جزئيًا إلى بنية التحميل والتخزين المُحسَّنة لـ CDC 6600، ويقول جاك دونجارا إنه يمكن اعتباره رائدًا لأنظمة RISC الحديثة، على الرغم من وجود عدد من الحواجز التقنية الأخرى التي كان من الضروري التغلب عليها لتطوير نظام RISC حديث. [12]
آي بي إم 801
يرى مايكل جيه فلين أن أول نظام RISC هو تصميم IBM 801 ، [2] الذي بدأه جون كوك في عام 1975 واكتمل في عام 1980. تم تطوير 801 من جهد لبناء معالج عالي السرعة 24 بت لاستخدامه كأساس لمحول الهاتف الرقمي . للوصول إلى هدفهم المتمثل في تحويل مليون مكالمة في الساعة (300 في الثانية)، حسبوا أن وحدة المعالجة المركزية تتطلب أداءً في حدود 12 مليون تعليمة في الثانية (MIPS)، [13] مقارنة بأسرع جهاز حاسب آلي رئيسي لديهم في ذلك الوقت، 370/168 ، والذي كان يعمل بسرعة 3.5 MIPS. [14]
كان التصميم مبنيًا على دراسة مجموعة واسعة من الإحصائيات التي جمعتها شركة IBM من عملائها. وقد أثبت هذا أن الكود في إعدادات الأداء العالي يستخدم بشكل مكثف سجلات المعالج ، وأنهم غالبًا ما ينفدون منها. وهذا يشير إلى أن السجلات الإضافية من شأنها تحسين الأداء. بالإضافة إلى ذلك، لاحظوا أن المترجمين يتجاهلون عمومًا الغالبية العظمى من التعليمات المتاحة، وخاصة أوضاع العنونة المتعامدة. وبدلاً من ذلك، اختاروا أسرع إصدار من أي تعليمة معينة ثم أنشأوا روتينات صغيرة باستخدامها. وهذا يشير إلى أنه يمكن إزالة غالبية التعليمات دون التأثير على الكود الناتج. وقد عمل هذان الاستنتاجان معًا؛ حيث سيسمح إزالة التعليمات بأن تكون أكواد التعليمات أقصر، مما يحرر البتات في كلمة التعليمات والتي يمكن استخدامها بعد ذلك للاختيار من بين مجموعة أكبر من السجلات. [13]
تم إلغاء برنامج تبديل الهاتف في عام 1975، ولكن بحلول ذلك الوقت أثبت الفريق أن نفس التصميم من شأنه أن يوفر مكاسب كبيرة في الأداء عند تشغيل أي كود تقريبًا. في عمليات المحاكاة، أظهروا أن المترجم المضبوط لاستخدام السجلات أينما أمكن سيشغل الكود أسرع بثلاث مرات من التصميمات التقليدية. ومن المدهش إلى حد ما أن نفس الكود سيعمل أسرع بنحو 50٪ حتى على الأجهزة الموجودة بسبب الاستخدام المحسن للسجلات. في الممارسة العملية، أنتج مترجم PL/8 التجريبي الخاص بهم، وهو نسخة مختصرة قليلاً من PL/I ، باستمرار كودًا يعمل بشكل أسرع بكثير على أجهزة الكمبيوتر المركزية الموجودة لديهم. [13]
تم إنتاج نسخة 32 بت من 801 في النهاية في شكل شريحة واحدة باسم IBM ROMP في عام 1981، والتي كانت تعني "معالج دقيق لقسم منتجات المكاتب البحثية". [15] تم تصميم وحدة المعالجة المركزية هذه للمهام "الصغيرة"، ووجدت استخدامًا في الواجهات الطرفية ووحدات التحكم في القنوات في أجهزة كمبيوتر IBM اللاحقة. كما تم استخدامها كوحدة معالجة مركزية في جهاز كمبيوتر IBM RT في عام 1986، والذي تبين أنه فشل تجاريًا. [16] على الرغم من أن 801 لم يتم استخدامه على نطاق واسع في شكله الأصلي، إلا أنه ألهم العديد من مشاريع البحث، بما في ذلك تلك الموجودة في IBM والتي أدت في النهاية إلى بنية IBM POWER . [17] [18]
Berkeley RISC و Stanford MIPS
بحلول أواخر سبعينيات القرن العشرين، أصبح 801 معروفًا في الصناعة. تزامن هذا مع تقنيات التصنيع الجديدة التي سمحت بدخول شرائح أكثر تعقيدًا إلى السوق. كان لدى Zilog Z80 لعام 1976 8000 ترانزستور، في حين كان لدى Motorola 68000 (68k) لعام 1979 68000. استخدمت هذه التصميمات الأحدث عمومًا تعقيدها المكتشف حديثًا لتوسيع مجموعة التعليمات لجعلها أكثر عمودية. استخدمت معظمها، مثل 68k، التعليمات البرمجية الدقيقة للقيام بذلك، وقراءة التعليمات وإعادة تنفيذها كتسلسل من التعليمات الداخلية الأكثر بساطة. في 68k، تم استخدام 1 ⁄ 3 من الترانزستورات لهذا الترميز الدقيق. [19]
في عام 1979، تم إرسال ديفيد باترسون في إجازة من جامعة كاليفورنيا، بيركلي لمساعدة فريق الساحل الغربي التابع لشركة DEC في تحسين التعليمات البرمجية الدقيقة VAX. لقد صُدم باترسون بتعقيد عملية الترميز وخلص إلى أنها غير قابلة للاستمرار. [20] كتب في البداية ورقة بحثية حول طرق تحسين التعليمات البرمجية الدقيقة، لكنه غير رأيه لاحقًا وقرر أن التعليمات البرمجية الدقيقة نفسها هي المشكلة. بتمويل من برنامج DARPA VLSI ، بدأ باترسون جهود Berkeley RISC . أدى البرنامج، الذي لا يُعرف عمليًا اليوم، إلى عدد كبير من التطورات في تصميم الرقائق وتصنيعها وحتى رسومات الكمبيوتر. بالنظر إلى مجموعة متنوعة من البرامج من متغير BSD Unix الخاص بهم ، وجد فريق بيركلي، كما فعلت IBM، أن معظم البرامج لم تستخدم مجموعة كبيرة ومتنوعة من التعليمات في 68k. [21]
أشارت أعمال باترسون المبكرة إلى مشكلة مهمة في النهج التقليدي "كلما زاد كان أفضل"؛ حتى تلك التعليمات التي كانت حاسمة للأداء العام كانت تتأخر بسبب رحلتها عبر التعليمات البرمجية الدقيقة. إذا تمت إزالة التعليمات البرمجية الدقيقة، فإن البرامج ستعمل بشكل أسرع. وبما أن التعليمات البرمجية الدقيقة أخذت في النهاية تعليمات معقدة وقسمتها إلى خطوات، فلا يوجد سبب يمنع المترجم من القيام بذلك بدلاً من ذلك. اقترحت هذه الدراسات أنه حتى بدون أي تغييرات أخرى، يمكن للمرء أن يصنع شريحة بها 1/3 ترانزستورات أقل تعمل بشكل أسرع. [21] في ورقة RISC-I الأصلية، لاحظوا: [ 22]
يبدو أن تخطي هذا المستوى الإضافي من التفسير يعمل على تحسين الأداء مع تقليل حجم الشريحة. [22]
كما تم اكتشاف أنه في التطبيقات التي يتم ترميزها بشكل دقيق لبعض البنيات، تميل العمليات المعقدة إلى أن تكون أبطأ من سلسلة من العمليات الأبسط التي تقوم بنفس الشيء. وكان هذا جزئيًا نتيجة لحقيقة مفادها أن العديد من التصميمات كانت سريعة، مع القليل من الوقت لتحسين أو ضبط كل تعليمة؛ فقط تلك المستخدمة في أغلب الأحيان هي التي تم تحسينها، ويمكن أن تكون سلسلة من هذه التعليمات أسرع من تعليمة أقل ضبطًا تؤدي عملية مكافئة لتلك التسلسل. كان أحد الأمثلة السيئة السمعة هو تعليمة VAXINDEX . [23]
كما توصل عمل بيركلي إلى عدد من النقاط الإضافية. ومن بين هذه النقاط حقيقة أن البرامج تنفق قدرًا كبيرًا من الوقت في إجراء مكالمات وإرجاعات البرامج الفرعية ، وبدا أن هناك إمكانية لتحسين الأداء العام من خلال تسريع هذه المكالمات. وقد دفع هذا تصميم بيركلي إلى اختيار طريقة تُعرف باسم نوافذ التسجيل والتي يمكنها تحسين أداء البرامج الفرعية بشكل كبير على الرغم من أن ذلك على حساب بعض التعقيد. [22] كما لاحظوا أن غالبية التعليمات الرياضية كانت عبارة عن مهام بسيطة؛ فقط 1/3 منها قامت بالفعل بإجراء عملية مثل الجمع أو الطرح. ولكن عندما حدثت هذه العمليات، كانت تميل إلى البطء. وقد أدى هذا إلى التركيز بشكل أكبر على وحدة البيانات الحسابية الأساسية، على عكس التصميمات السابقة حيث تم تخصيص غالبية الشريحة للتحكم والترميز الدقيق. [21]
كان نظام Berkeley RISC الناتج يعتمد على اكتساب الأداء من خلال استخدام خطوط الأنابيب والاستخدام المكثف لنوافذ السجلات. [23] [22] في وحدة المعالجة المركزية التقليدية، يكون لدى المرء عدد صغير من السجلات، ويمكن للبرنامج استخدام أي سجل في أي وقت. في وحدة المعالجة المركزية ذات نوافذ السجلات، يوجد عدد كبير من السجلات، على سبيل المثال، 128، ولكن لا يمكن للبرامج استخدام سوى عدد صغير منها، على سبيل المثال، ثمانية، في أي وقت. يمكن للبرنامج الذي يقتصر على ثمانية سجلات لكل إجراء إجراء مكالمات إجراء سريعة للغاية : تحرك المكالمة ببساطة النافذة "لأسفل" بمقدار ثمانية، إلى مجموعة السجلات الثمانية التي يستخدمها هذا الإجراء، ويعيد الإرجاع النافذة إلى الخلف. [24] قدم مشروع Berkeley RISC معالج RISC-I في عام 1982. يتكون RISC-I من 44420 ترانزستور فقط (مقارنة بمتوسطات حوالي 100000 في تصميمات CISC الأحدث في ذلك العصر)، ويحتوي RISC-I على 32 تعليمة فقط، ومع ذلك فقد تفوق تمامًا على أي تصميم آخر بشريحة واحدة، حيث كان الأداء المقدر أعلى من VAX. [22] تبع ذلك مع RISC-II المكون من 40760 ترانزستور و39 تعليمة في عام 1983، والذي كان يعمل بسرعة أكبر بثلاث مرات من RISC-I. [22]
مع بدء شهرة مشروع RISC في وادي السيليكون ، بدأ مشروع مماثل في جامعة ستانفورد عام 1981. نشأ مشروع MIPS هذا من دورة دراسية عليا قدمها جون إل. هينيسي ، وأنتج نظامًا يعمل في عام 1983، ويمكنه تشغيل برامج بسيطة بحلول عام 1984. [25] أكد نهج MIPS على دورة ساعة عدوانية واستخدام خط الأنابيب، مع التأكد من أنه يمكن تشغيله "بكامل طاقته" قدر الإمكان. [25] تبع نظام MIPS نظام MIPS-X وفي عام 1984 شكل هينيسي وزملاؤه شركة MIPS Computer Systems لإنتاج التصميم تجاريًا. [25] [26] أسفر المشروع عن بنية جديدة أطلق عليها أيضًا MIPS ومعالج R2000 الدقيق في عام 1985. [26]
أصبحت الفلسفة العامة لمفهوم RISC مفهومة على نطاق واسع بحلول النصف الثاني من ثمانينيات القرن العشرين، مما دفع مصممي MIPS-X إلى طرحها بهذه الطريقة في عام 1987:
يجب أن يكون هدف أي تنسيق للتعليمات: 1. فك التشفير البسيط، 2. فك التشفير البسيط، و3. فك التشفير البسيط. يجب السخرية من أي محاولات لتحسين كثافة التعليمات البرمجية على حساب أداء وحدة المعالجة المركزية في كل فرصة. [27]
كانت المنافسة بين RISC ومنهجيات CISC التقليدية أيضًا موضوعًا للتحليل النظري في أوائل الثمانينيات، مما أدى، على سبيل المثال، إلى قانون الحديد لأداء المعالج .

منذ عام 2010، كان هناك بنية مجموعة تعليمات قياسية مفتوحة جديدة (ISA)، Berkeley RISC-V ، قيد التطوير في جامعة كاليفورنيا، بيركلي، لأغراض البحث وكبديل مجاني لـ ISAs الملكية. اعتبارًا من عام 2014، تم إصلاح الإصدار 2 من ISA لمساحة المستخدم . [28] تم تصميم ISA ليكون قابلاً للتوسيع من نواة عارية كافية لمعالج مضمن صغير إلى استخدام الحاسوب العملاق والحوسبة السحابية مع ملحقات ومعالجات مساعدة قياسية ومحددة من قبل مصمم الشريحة. تم اختباره في تصميم السيليكون مع ROCKET SoC ، والذي يتوفر أيضًا كمولد معالج مفتوح المصدر بلغة CHISEL.
إنطلاقة تجارية
في أوائل الثمانينيات، أحاطت شكوك كبيرة بمفهوم RISC. كان أحد المخاوف يتعلق باستخدام الذاكرة؛ حيث يمكن كتابة تعليمة واحدة من معالج تقليدي مثل Motorola 68k على هيئة نصف دزينة من تعليمات RISC الأكثر بساطة. من الناحية النظرية، قد يؤدي هذا إلى إبطاء النظام لأنه يقضي وقتًا أطول في جلب التعليمات من الذاكرة. ولكن بحلول منتصف الثمانينيات، نضجت المفاهيم بما يكفي ليتم اعتبارها قابلة للتطبيق تجاريًا. [16] [25]

بدأت تصميمات RISC التجارية في الظهور في منتصف الثمانينيات. ظهر Acorn ARM1 في أبريل 1985، [29] ظهر MIPS R2000 في يناير 1986، تبعه بعد فترة وجيزة PA-RISC من Hewlett-Packard في بعض أجهزة الكمبيوتر الخاصة بهم. [16] في غضون ذلك، أصبح جهد بيركلي معروفًا جدًا لدرجة أنه أصبح في النهاية اسم المفهوم بالكامل. في عام 1987 بدأت شركة Sun Microsystems في شحن أنظمة بمعالج SPARC ، استنادًا مباشرة إلى نظام Berkeley RISC-II. [16] [30] تنسب لجنة الابتكارات في الحوسبة والاتصالات التابعة للحكومة الأمريكية قبول جدوى مفهوم RISC إلى نجاح نظام SPARC. [16] بحلول عام 1989، كانت العديد من وحدات المعالجة المركزية RISC متاحة؛ خفضت المنافسة سعرها إلى 10 دولارات لكل MIPS بكميات كبيرة، وهي أرخص بكثير من Intel 80386 المصدر الوحيد . كان أداء وحدة المعالجة المركزية RISC من IBM - المتوفرة فقط في أجهزة الكمبيوتر RT - أقل تنافسية من غيرها، [31] لكن نجاح SPARC جدد الاهتمام داخل IBM، التي أصدرت أنظمة RISC جديدة بحلول عام 1990 وبحلول عام 1995 أصبحت معالجات RISC هي الأساس لصناعة الخوادم بقيمة 15 مليار دولار. [16]
بحلول أواخر الثمانينيات، كانت تصميمات RISC الجديدة تتفوق بسهولة على جميع التصميمات التقليدية بهامش كبير. عند هذه النقطة، بدأت جميع الشركات الأخرى جهود RISC الخاصة بها. ومن بين هذه الشركات DEC Alpha و AMD Am29000 و Intel i860 و i960 و Motorola 88000 و IBM POWER وبعد ذلك بقليل، IBM/Apple/Motorola PowerPC . اختفت العديد من هذه الشركات منذ ذلك الحين بسبب عدم تقديمها لأي ميزة تنافسية على غيرها من نفس الحقبة. غالبًا ما تُستخدم التصميمات المتبقية فقط في أسواق متخصصة أو كجزء من أنظمة أخرى؛ من بين التصميمات من هؤلاء البائعين التقليديين، فقط SPARC وPOWER لديهما أي سوق متبقية كبيرة. [ بحاجة لمصدر ]
كانت بنية ARM هي بنية RISC ISA الأكثر انتشارًا، والتي كانت تهدف في البداية إلى تقديم حوسبة سطح مكتب عالية الأداء، وبتكلفة منخفضة، وفي حزمة حرارية مقيدة، كما هو الحال في Acorn Archimedes ، بينما ظهرت في جداول Super Computer League ، سرعان ما تم تكييف تنفيذها الأولي المنخفض الطاقة والتبريد مع التطبيقات المضمنة، مثل معالجة الصور النقطية لطابعات الليزر. [32] أنشأت Acorn، بالشراكة مع Apple Inc وVLSI، شركة ARM Ltd، في عام 1990، لتقاسم تكاليف البحث والتطوير وإيجاد أسواق جديدة لـ ISA، والتي ستطور بالشراكة مع TI وGEC وSharp وNokia وOracle وDigital تصميمات RISC منخفضة الطاقة ومضمنة، وتستهدف قطاعات السوق التي كانت متخصصة في ذلك الوقت. مع ظهور الحوسبة المحمولة والسيارات والبث المباشر والأجهزة الذكية، أصبحت ARM هي بنية ISA الأكثر استخدامًا، حيث تقدر الشركة أن ما يقرب من نصف جميع وحدات المعالجة المركزية التي تم شحنها في التاريخ كانت من ARM. [33]
الخصائص وفلسفة التصميم
This section needs additional citations for verification. (March 2012) |
أدى الارتباك حول تعريف RISC الناتج عن صياغة المصطلح، جنبًا إلى جنب مع الميل إلى تصنيف بنيات المعالجات التي تحتوي على عدد قليل نسبيًا من التعليمات (أو مجموعات التعليمات) على أنها بنيات RISC، إلى محاولات لتعريف RISC كفلسفة تصميم. تم التعبير عن إحدى المحاولات للقيام بذلك على النحو التالي:
يحتوي معالج RISC على مجموعة تعليمات مصممة للتنفيذ الفعال بواسطة معالج خطي ولتوليد التعليمات البرمجية بواسطة مترجم محسن.
— مايكل سلاتر، تقرير المعالج الدقيق [34]
فلسفة مجموعة التعليمات
إن سوء الفهم الشائع لعبارة "كمبيوتر بمجموعة تعليمات مخفضة" هو أن التعليمات يتم التخلص منها ببساطة، مما يؤدي إلى مجموعة أصغر من التعليمات. [35] في الواقع، على مر السنين، نمت مجموعات تعليمات RISC في الحجم، واليوم تحتوي العديد منها على مجموعة تعليمات أكبر من العديد من وحدات المعالجة المركزية CISC. [36] [37] تحتوي بعض معالجات RISC مثل PowerPC على مجموعات تعليمات كبيرة مثل CISC IBM System/370 ، على سبيل المثال؛ وعلى العكس من ذلك، فإن DEC PDP-8 - وحدة معالجة مركزية CISC بوضوح لأن العديد من تعليماتها تنطوي على عمليات وصول متعددة للذاكرة - تحتوي فقط على 8 تعليمات أساسية وقليل من التعليمات الموسعة. [38] كان مصطلح "مخفض" في هذه العبارة يهدف إلى وصف حقيقة أن مقدار العمل الذي تنجزه أي تعليمة واحدة يتم تقليله - على الأكثر دورة ذاكرة بيانات واحدة - مقارنة بـ "التعليمات المعقدة" لوحدات المعالجة المركزية CISC التي قد تتطلب عشرات دورات ذاكرة البيانات من أجل تنفيذ تعليمة واحدة. [39]
في بعض الأحيان يتم تفضيل مصطلح هندسة التحميل والتخزين .
هناك طريقة أخرى للنظر في المناقشة الدائرة بين RISC وCISC وهي النظر في ما هو مكشوف للمترجم. ففي معالج CISC، قد يستخدم الجهاز داخليًا السجلات وبتات العلم من أجل تنفيذ تعليمة معقدة واحدة مثل STRING MOVE، ولكن يخفي هذه التفاصيل عن المترجم. إن العمليات الداخلية لمعالج RISC "مكشوفة للمترجم"، مما يؤدي إلى الاختصار " نقل الأشياء المثيرة للاهتمام إلى المترجم". [40] [41]
تنسيق التعليمات
تحتوي معظم بنيات RISC على تعليمات ذات طول ثابت وترميز بسيط، مما يبسط منطق الاسترجاع وفك التشفير والإصدار بشكل كبير. وهذا من بين الأهداف الرئيسية لنهج RISC. [22]
بعض هذا ممكن فقط بسبب الانتقال المعاصر إلى تنسيقات 32 بت. على سبيل المثال، في برنامج نموذجي، أكثر من 30٪ من جميع الثوابت الرقمية إما 0 أو 1، و 95٪ سوف تتناسب مع بايت واحد، و 99٪ في قيمة 16 بت. [42] عندما كانت أجهزة الكمبيوتر تعتمد على كلمات 8 أو 16 بت، سيكون من الصعب الحصول على ثابت فوري مدمج مع رمز التشغيل في كلمة ذاكرة واحدة، على الرغم من أن بعض التعليمات مثل الزيادة والنقصان فعلت ذلك ضمناً باستخدام رمز تشغيل مختلف. على النقيض من ذلك، فإن الجهاز 32 بت لديه مساحة كافية لتشفير قيمة فورية، والقيام بذلك يتجنب الحاجة إلى إجراء قراءة ذاكرة ثانية لالتقاط القيمة. هذا هو السبب في أن العديد من معالجات RISC تسمح بترميز ثابت 12 أو 13 بت مباشرة في كلمة التعليمات. [22]
بافتراض مساحة ثابتة من 13 بت، كما هو الحال في تصميمات MIPS وRISC، يتوفر 19 بتًا آخر لترميز التعليمات. وهذا يترك مساحة كبيرة للإشارة إلى كل من التعليمات البرمجية وسجل واحد أو اثنين. تتطلب عمليات السجل إلى السجل، ومعظمها رياضيات ومنطقية، بتات كافية لترميز السجلين أو الثلاثة السجلات المستخدمة. تستخدم معظم المعالجات تنسيق الثلاثة متغيرات، من النموذج A = B + C، وفي هذه الحالة تكون هناك حاجة إلى ثلاثة أرقام سجلات. إذا كان لدى المعالج 32 سجلاً، فإن كل سجل يتطلب رقمًا من 5 بتات، لـ 15 بت. إذا تم استبدال أحد هذه السجلات بسجل فوري، فلا يزال هناك الكثير من المساحة لترميز السجلين المتبقيين والتعليمات البرمجية. التعليمات الشائعة الموجودة في أنظمة الكلمات المتعددة، مثل INCو DEC، والتي تقلل من عدد الكلمات التي يجب قراءتها قبل تنفيذ التعليمات، غير ضرورية في RISC حيث يمكن إنجازها بسجل واحد والقيمة الفورية 1. [22]
يظل تنسيق RISC-I الأصلي مثالاً أساسيًا للمفهوم. فهو يستخدم 7 بتات لرمز التشغيل وعلمًا مكونًا من بت واحد للرموز الشرطية، والبتات الخمسة التالية لسجل الوجهة، والبتات الخمسة التالية للمتغير الأول. وهذا يترك 14 بتًا، يشير أولها إلى ما إذا كانت البتات الـ 13 التالية تحتوي على قيمة فورية أو تستخدم خمسة منها فقط للإشارة إلى سجل للمتغير الثاني. [22] ومن الأمثلة الأكثر تعقيدًا تشفير MIPS، الذي استخدم 6 بتات فقط لرمز التشغيل، متبوعًا بسجلين مكونين من 5 بتات. ويمكن استخدام البتات الـ 16 المتبقية بطريقتين، إحداهما كقيمة فورية مكونة من 16 بت، أو كقيمة تحويل مكونة من 5 بتات (تُستخدم فقط في عمليات التحويل، وإلا تكون صفرًا) والبتات الستة المتبقية كامتداد لرمز التشغيل. وفي حالة العمليات الحسابية من سجل إلى سجل، كان رمز التشغيل 0 وكانت البتات الستة الأخيرة تحتوي على الكود الفعلي؛ أولئك الذين استخدموا قيمة فورية استخدموا حقل التعليمات البرمجية العادي في المقدمة. [43]
أحد عيوب التعليمات ذات 32 بت هو انخفاض كثافة التعليمات، وهي سمة أكثر ضررًا في الحوسبة المضمنة مما هي عليه في أسواق محطات العمل والخوادم التي صُممت بنيات RISC لخدمتها في الأصل. لمعالجة هذه المشكلة، تحتوي العديد من البنيات، مثل SuperH (1992)، و ARM thumb (1994)، [44] MIPS16e (2004)، و Power Variable Length Encoding ISA (2006)، و RISC-V ، و Adapteva Epiphany ، على مجموعة تعليمات مضغوطة قصيرة اختيارية ومختصرة الميزات . بشكل عام، تعرض هذه التعليمات عددًا أقل من السجلات وعددًا أقل من البتات للقيم الفورية، وغالبًا ما تستخدم تنسيقًا ثنائي المتعاملين لإزالة رقم سجل واحد من التعليمات. يتطلب تنسيق ثنائي المتعاملين في نظام يحتوي على 16 سجلاً 8 بتات لأرقام السجلات، ويترك 8 أخرى لرمز التشغيل أو الاستخدامات الأخرى. ويتبع SH5 أيضًا هذا النمط، على الرغم من تطوره في الاتجاه المعاكس، حيث أضاف تعليمات أطول بطول 32 بت إلى ترميز أصلي بطول 16 بت .
استخدام الأجهزة
الجانب الأكثر تميزًا في RISC هو تنفيذ تعليمة واحدة على الأقل لكل دورة . [31] يوصف التشغيل بدورة واحدة بأنه "التنفيذ السريع للوظائف البسيطة التي تهيمن على مجرى تعليمات الكمبيوتر"، وبالتالي يسعى إلى تقديم معدل إنتاج متوسط يقترب من تعليمة واحدة لكل دورة لأي مجرى تعليمات واحد. [45]
تتضمن الميزات الأخرى لهندسة RISC ما يلي:
- تم تخصيص عدد أقل بكثير من الترانزستورات للمنطق الأساسي، مما سمح في الأصل للمصممين بزيادة حجم مجموعة السجلات وزيادة التوازي الداخلي. [ بحاجة لمصدر ]
- تنسيق تعليمات موحد، باستخدام كلمة واحدة مع رمز التشغيل في نفس مواضع البت لفك التشفير بشكل أبسط
- يمكن استخدام جميع السجلات العامة على قدم المساواة كمصدر/وجهة في جميع التعليمات، مما يؤدي إلى تبسيط تصميم المترجم ( غالبًا ما يتم الاحتفاظ بالسجلات ذات الفاصلة العائمة منفصلة)
- أوضاع التوجيه البسيطة مع التوجيه المعقد الذي يتم تنفيذه من خلال تسلسلات التعليمات
- أنواع قليلة من البيانات في الأجهزة (لا توجد سلسلة بايتات أو أرقام عشرية مشفرة ثنائية [BCD]، على سبيل المثال)
من المرجح أيضًا أن تتميز تصميمات RISC بنموذج ذاكرة هارفارد ، حيث يتم فصل مجرى التعليمات ومجرى البيانات مفاهيميًا؛ وهذا يعني أن تعديل الذاكرة التي يتم فيها الاحتفاظ بالكود قد لا يكون له أي تأثير على التعليمات التي ينفذها المعالج (لأن وحدة المعالجة المركزية تحتوي على ذاكرة تخزين مؤقتة منفصلة للتعليمات والبيانات )، على الأقل حتى يتم إصدار تعليمات مزامنة خاصة؛ عادةً ما تحافظ معالجات CISC التي تحتوي على ذاكرة تخزين مؤقتة منفصلة للتعليمات والبيانات على مزامنتها تلقائيًا، من أجل التوافق مع المعالجات القديمة.
كما شاركت العديد من تصميمات RISC المبكرة في خاصية وجود فتحة تأخير فرع ، وهي مساحة تعليمات مباشرة بعد القفزة أو الفرع. يتم تنفيذ التعليمات في هذه المساحة، سواء تم أخذ الفرع أم لا (بعبارة أخرى، يتم تأخير تأثير الفرع). تعمل هذه التعليمات على إبقاء وحدة الحساب والمنطق في وحدة المعالجة المركزية مشغولة للوقت الإضافي المطلوب عادةً لأداء فرع. في الوقت الحاضر، تعتبر فتحة تأخير الفرع بمثابة تأثير جانبي مؤسف لاستراتيجية معينة لتنفيذ بعض تصميمات RISC، وتتخلص تصميمات RISC الحديثة منها عمومًا (مثل PowerPC والإصدارات الأحدث من SPARC وMIPS). [ بحاجة لمصدر ]
تتضمن بعض الجوانب المنسوبة إلى التصميمات الأولى التي تحمل علامة RISC حوالي عام 1975 الملاحظات التي تفيد بأن المترجمين المقيدين بالذاكرة في ذلك الوقت كانوا غالبًا غير قادرين على الاستفادة من الميزات المخصصة لتسهيل ترميز التجميع اليدوي ، وأن أوضاع العنونة المعقدة تستغرق العديد من الدورات للأداء بسبب عمليات الوصول الإضافية المطلوبة للذاكرة. وقد زعم [ من قبل من؟ ] أن مثل هذه الوظائف يمكن أن تؤدي بشكل أفضل من خلال تسلسلات من التعليمات الأبسط إذا كان هذا يمكن أن يؤدي إلى تنفيذات صغيرة بما يكفي لترك مساحة للعديد من السجلات، مما يقلل من عدد عمليات الوصول البطيئة للذاكرة. في هذه التصميمات البسيطة، تكون معظم التعليمات بطول موحد وبنية مماثلة، وتقتصر العمليات الحسابية على سجلات وحدة المعالجة المركزية وتعليمات التحميل والتخزين المنفصلة فقط هي التي تصل إلى الذاكرة. تمكن هذه الخصائص من تحقيق توازن أفضل لمراحل خط الأنابيب مقارنة بالماضي، مما يجعل خطوط أنابيب RISC أكثر كفاءة بشكل ملحوظ ويسمح بترددات ساعة أعلى .
وقد جاء دافع آخر لكل من RISC والتصميمات الأخرى من القياسات العملية على البرامج في العالم الحقيقي. وقد لخص أندرو تانينباوم العديد من هذه القياسات، موضحًا أن المعالجات غالبًا ما تحتوي على قيم فورية كبيرة الحجم. على سبيل المثال، أظهر أن 98٪ من جميع الثوابت في البرنامج يمكن أن تتناسب مع 13 بت ، ومع ذلك، خصصت العديد من تصميمات وحدة المعالجة المركزية 16 أو 32 بت لتخزينها. يشير هذا إلى أنه لتقليل عدد عمليات الوصول إلى الذاكرة، يمكن لجهاز ثابت الطول تخزين الثوابت في بتات غير مستخدمة من كلمة التعليمات نفسها، بحيث تكون جاهزة على الفور عندما تحتاجها وحدة المعالجة المركزية (مثل العنونة الفورية في التصميم التقليدي). يتطلب هذا أكواد تشغيلية صغيرة من أجل ترك مساحة لثابت بحجم معقول في كلمة تعليمات بطول 32 بت.
نظرًا لأن العديد من البرامج في العالم الحقيقي تقضي معظم وقتها في تنفيذ عمليات بسيطة، فقد قرر بعض الباحثين التركيز على جعل هذه العمليات سريعة قدر الإمكان. يقتصر معدل ساعة وحدة المعالجة المركزية على الوقت الذي يستغرقه تنفيذ أبطأ عملية فرعية من أي تعليمة؛ يؤدي تقليل وقت الدورة هذا غالبًا إلى تسريع تنفيذ التعليمات الأخرى. [46] أدى التركيز على "التعليمات المخفضة" إلى تسمية الجهاز الناتج "كمبيوتر مجموعة التعليمات المخفضة" (RISC). كان الهدف هو جعل التعليمات بسيطة للغاية بحيث يمكن توصيلها بسهولة ، من أجل تحقيق معدل إنتاج ساعة واحد عند ترددات عالية . يتناقض هذا مع تصميمات CISC التي كانت "عملياتها الحسابية الحاسمة ونقل السجلات" تعتبر صعبة التوصيل. [47]
لاحقًا، لوحظ أن إحدى أهم خصائص معالجات RISC هي أن الذاكرة الخارجية لا يمكن الوصول إليها إلا من خلال تعليمات التحميل أو التخزين . وكانت جميع التعليمات الأخرى مقتصرة على السجلات الداخلية. وقد أدى هذا إلى تبسيط العديد من جوانب تصميم المعالج: السماح بأن تكون التعليمات ذات طول ثابت، وتبسيط خطوط الأنابيب، وعزل المنطق للتعامل مع التأخير في إكمال الوصول إلى الذاكرة (فشل ذاكرة التخزين المؤقت، وما إلى ذلك) إلى تعليماتين فقط. أدى هذا إلى الإشارة إلى تصميمات RISC باسم هندسة التحميل والتخزين . [48]
مقارنة مع هياكل معمارية أخرى
تم تصميم بعض وحدات المعالجة المركزية خصيصًا بحيث تحتوي على مجموعة صغيرة جدًا من التعليمات - ولكن هذه التصميمات مختلفة تمامًا عن تصميمات RISC الكلاسيكية، لذلك تم إعطاؤها أسماء أخرى مثل كمبيوتر مجموعة التعليمات الدنيا (MISC) أو هندسة النقل المحفزة (TTA).
كانت معماريات RISC تقليديًا قليلة النجاحات في أسواق أجهزة الكمبيوتر المكتبية والخوادم التجارية، حيث تظل المنصات القائمة على x86 هي بنية المعالج المهيمنة. ومع ذلك، قد يتغير هذا، حيث يتم تطوير معالجات قائمة على ARM لأنظمة ذات أداء أعلى. [49] أصدرت شركات تصنيع بما في ذلك Cavium وAMD و Qualcomm معالجات خادم تعتمد على بنية ARM. [50] [51] دخلت ARM في شراكة مع Cray في عام 2017 لإنتاج حاسوب فائق قائم على ARM. [52] على سطح المكتب، أعلنت Microsoft أنها تخطط لدعم إصدار الكمبيوتر الشخصي من Windows 10 على الأجهزة القائمة على Qualcomm Snapdragon في عام 2017 كجزء من شراكتها مع Qualcomm. ستدعم هذه الأجهزة تطبيقات Windows المجمعة لـ x86 32 بت عبر محاكي معالج x86 الذي يترجم كود x86 32 بت إلى كود ARM64 . [53] [54] أعلنت شركة Apple أنها ستحول أجهزة الكمبيوتر المكتبية والمحمولة من نوع Mac من معالجات Intel إلى أنظمة SoC مبنية على ARM64 تم تطويرها داخليًا تسمى Apple silicon ؛ تم إصدار أول أجهزة كمبيوتر من هذا النوع، باستخدام معالج Apple M1 ، في نوفمبر 2020. [55] يمكن لأجهزة Mac التي تعمل بنظام Apple silicon تشغيل ثنائيات x86-64 باستخدام Rosetta 2 ، وهو مترجم x86-64 إلى ARM64. [56]
ومع ذلك، خارج مجال سطح المكتب، فإن بنية ARM RISC مستخدمة على نطاق واسع في الهواتف الذكية والأجهزة اللوحية والعديد من أشكال الأجهزة المضمنة. وفي حين اختلفت تصميمات RISC المبكرة بشكل كبير عن تصميمات CISC المعاصرة، إلا أنه بحلول عام 2000، أصبحت وحدات المعالجة المركزية الأعلى أداءً في خط RISC غير قابلة للتمييز تقريبًا عن وحدات المعالجة المركزية الأعلى أداءً في خط CISC. [57] [58] [59]
استخدام هياكل RISC
تُستخدم بنى RISC الآن عبر مجموعة من المنصات، بدءًا من الهواتف الذكية وأجهزة الكمبيوتر اللوحية إلى بعض أسرع أجهزة الكمبيوتر العملاقة في العالم مثل Fugaku ، الأسرع في قائمة TOP500 اعتبارًا من نوفمبر 2020 [update]، و Summit و Sierra و Sunway TaihuLight ، الثلاثة التالية في تلك القائمة. [60]
الأنظمة منخفضة التكلفة والمتنقلة
بحلول بداية القرن الحادي والعشرين، اعتمدت غالبية الأنظمة منخفضة التكلفة والمتنقلة على بنيات RISC. [61] وتشمل الأمثلة:
- تهيمن بنية ARM على سوق الأنظمة المضمنة منخفضة الطاقة ومنخفضة التكلفة (عادةً 200-1800 ميجا هرتز في عام 2014). يتم استخدامها في عدد من الأنظمة مثل معظم الأنظمة المستندة إلى Android ، وApple iPhone ، وiPod Touch ، وiPad ، و Apple Watch ، و Apple TV ، و Palm ، وMicrosoft Windows Phone ( Windows Mobile / Windows CE سابقًا )، وأجهزة RIM ، وNintendo Game Boy Advance ، و DS ، و 3DS و Switch ، و Raspberry Pi ، وما إلى ذلك.
- تم استخدام PowerPC من IBM في أجهزة الألعاب GameCube و Wii و PlayStation 3 و Xbox 360 و Wii U.
- تم استخدام خط MIPS (الذي تم استخدامه في وقت ما في العديد من أجهزة كمبيوتر SGI ) في PlayStation ، وPlayStation 2 ، وNintendo 64 ، وأجهزة الألعاب PlayStation Portable ، والبوابات السكنية مثل سلسلة Linksys WRT54G .
- تم استخدام SuperH من شركة Hitachi على نطاق واسع في الأصل في أجهزة Sega Super 32X و Saturn و Dreamcast ، وتم تطويره وبيعه الآن بواسطة شركة Renesas باسم SH4 .
- Atmel AVR ، يستخدم في مجموعة متنوعة من المنتجات التي تتراوح من وحدات تحكم Xbox المحمولة ومنصة متحكم Arduino مفتوحة المصدر إلى سيارات BMW .
- RISC-V ، الإصدار الحالي من معيار بيركلي المفتوح RISC ISA، مع مساحات عناوين 32 أو 64 بت ، ومجموعة تعليمات عددية أساسية صغيرة، وISA "مضغوط" تجريبي لكثافة التعليمات البرمجية ومصمم للتوسعات القياسية والخاصة.
أجهزة الكمبيوتر المكتبية والمحمولة
- تم استخدام بنية PowerPC الخاصة بشركة IBM في أجهزة كمبيوتر Macintosh التابعة لشركة Apple منذ عام 1994، عندما بدأت في التحول من معالجات عائلة Motorola 68000 ، إلى عام 2005، عندما انتقلت إلى معالجات Intel x86 . [62]
- تستخدم بعض أجهزة Chromebook منصات تعتمد على ARM منذ عام 2012. [63]
- تستخدم شركة Apple معالجات مصممة داخليًا تعتمد على بنية ARM لمجموعة أجهزة الكمبيوتر المكتبية والمحمولة منذ انتقالها من معالجات Intel، [ 64] وتم إصدار أول أجهزة كمبيوتر من هذا النوع في نوفمبر 2020. [55]
- تستخدم شركة Microsoft معالجات Qualcomm [65] المستندة إلى ARM في خط Surface . كما أصدرت شركة HP Inc و Lenovo أجهزة كمبيوتر تعمل بنظام Windows مع معالج Qualcomm Snapdragon المستند إلى ARM .
محطات العمل والخوادم وأجهزة الكمبيوتر العملاقة
- MIPS ، من إنتاج شركة Silicon Graphics (توقفت عن تصنيع الأنظمة المعتمدة على MIPS في عام 2006).
- SPARC ، من Oracle (سابقًا Sun Microsystems )، و Fujitsu .
- تم استخدام بنية IBM POWER وPowerPC و Power ISA من IBM في العديد من أجهزة الكمبيوتر العملاقة وخوادم IBM متوسطة المدى ومحطات العمل.
- PA-RISC من Hewlett-Packard ، والمعروف أيضًا باسم HP-PA (تم إيقافه في نهاية عام 2008).
- ألفا ، المستخدمة في أجهزة الكمبيوتر أحادية اللوحة ، ومحطات العمل، والخوادم وأجهزة الكمبيوتر العملاقة من شركة Digital Equipment Corporation ، ثم شركة Compaq وأخيراً شركة Hewlett-Packard (HP) (توقف إنتاجها اعتبارًا من عام 2007).
- RISC-V ، خامس RISC ISA من Berkeley، بمساحات عناوين 64 أو 128 بت ، ونواة الأعداد الصحيحة الممتدة بفاصلة عائمة، ومعالجة ذرية ومتجهة ، ومصممة لتوسيعها بتعليمات للشبكات، وعمليات الإدخال والإخراج، ومعالجة البيانات. تتوفر مواصفات لتصميم فائق الدرجات 64 بت، "Rocket"، للتنزيل. تم تنفيذه في معالج مبادرة المعالجات الأوروبية .
- هندسة ARM المستخدمة حاليًا من قبل مزودي الخدمات السحابية للخوادم. أحد الأمثلة على ذلك هو معالج سلسلة AWS Graviton المستخدم في خدمات مختلفة على منصة AWS. [66] تم استخدام ARM أيضًا في شريحة Fujitsu A64FX لإنشاء Fugaku، أسرع حاسوب فائق في العالم في عام 2020.
مفتوح المصدر، قياسي، أو الاستخدام
أصبحت معماريات RISC شائعة في المعالجات مفتوحة المصدر والمعالجات الدقيقة الناعمة نظرًا لسهولة تنفيذها نسبيًا، مما يجعلها مناسبة لتطبيقات FPGA والنماذج الأولية، على سبيل المثال. تشمل الأمثلة:
- OpenRISC ، مجموعة تعليمات مفتوحة وهندسة معمارية دقيقة تم تقديمها لأول مرة في عام 2000.
- هندسة MIPS المفتوحة ، لجزء من عام 2019 كانت المواصفات مجانية للاستخدام وخالية من حقوق الملكية لمطوري MIPS المسجلين. [67]
- في عام 2005 ، أصدرت Sun وثائق Ultra Sparc ومواصفاتها، بموجب GPLv2.
- Libre-SOC ، وهو نظام SoC مفتوح المصدر يعتمد على Power ISA مع ملحقات للفيديو والرسومات ثلاثية الأبعاد.
- في عام 2010، تم توفير إصدار Berkeley RISC 5، والمواصفات، وسلسلة الأدوات، والعلامة التجارية، مجانًا، لأغراض غير تجارية. [68]
- SuperH - J Core ، في عام 2015، تم البدء في مشروع لتقديم تنفيذات الغرف النظيفة لـ Hitachi SuperH RISC ISA التي انتهت صلاحية براءة اختراعها.
- في عام 2018، بدأت ARM، بالشراكة مع مورد FPGA Xilinx، في تقديم وصول مجاني إلى بعض حقوق الملكية الفكرية الخاصة بـ ARM، بما في ذلك مواصفات FPGA لبعض نوى وحدة المعالجة المركزية القديمة. [69]
الجوائز
في عام 2022، حصل ستيف فوربر وجون إل. هينيسي وديفيد أ. باترسون وصوفي إم. ويلسون على جائزة تشارلز ستارك درابر من الأكاديمية الوطنية للهندسة بالولايات المتحدة لمساهماتهم في اختراع وتطوير وتنفيذ شرائح الكمبيوتر ذات مجموعة التعليمات المخفضة (RISC). [70] [71]
انظر أيضا
- الحوسبة التعليمية المتوازية بشكل صريح
- لا توجد حوسبة لمجموعة التعليمات
- حاسب آلي بمجموعة تعليمات واحدة
- كلمة تعليمات طويلة جدًا
مراجع
- ^ تشين، كريستال؛ نوفيك، جريج؛ شيمانو، كيرك. "Pipelining". هندسة RISC .
- ^ ab Flynn, Michael J. (1995). Computer Architecture: Pipelined and Parallel Processor Design . Jones & Bartlett Learning. ص 54-56. ISBN 0867202041.
- ^ كولويل، روبرت ب.؛ هيتشكوك الثالث، تشارلز ي.؛ جينسن، إي. دوغلاس؛ سبرونت، إتش إم برينكلي؛ كولار، تشارلز ب. (سبتمبر 1985). "مجموعات التعليمات وما بعدها: أجهزة الكمبيوتر والتعقيد والجدل" (PDF) . الكمبيوتر . معهد مهندسي الكهرباء والإلكترونيات. ص 8-19.
- ^ Aletan, Samuel O. (1 April 1992). "نظرة عامة على بنية RISC". وقائع ندوة ACM/SIGAPP لعام 1992 حول الحوسبة التطبيقية: التحديات التكنولوجية في التسعينيات . SAC '92. كانساس سيتي، ميسوري: رابطة آلات الحوسبة . ص. 11-20. doi :10.1145/143559.143570.
- ^ ماركوف، جون (نوفمبر 1984). "الرقائق الجديدة — رقائق RISC". بايت . المجلد 9، العدد 12. ماكجرو هيل. ص 191-206.
- ^ بورسين دي لارك، فيليب. “تاريخ المعلوماتية والإنترنت”. boursinp.free.fr .
- ^ مانويل، توم (3 سبتمبر 1987). "داخل التكنولوجيا - البحث المحموم عن المزيد من السرعة" (PDF) . إلكترونيات . ماكجرو هيل. ص 59-62.
- ^ "الكمبيوتر الياباني فوجاكو يحصل على لقب أسرع كمبيوتر فائق في العالم". RIKEN . تم الاسترجاع في 24 يونيو 2020 .
- ^ فيشر، جوزيف أ.؛ فارابوشي، باولو؛ يونج، كليف (2005). الحوسبة المضمنة: نهج VLIW للهندسة المعمارية والمترجمات والأدوات . إلسيفير. ص. 55. رقم ISBN 1558607668.
- ^ Reilly, Edwin D. (2003). Milestones in computer science and information technology . Greenwood Publishing. ص 50. ISBN 1-57356-521-0.
- ^ جريشمان، رالف (1974). برمجة لغة التجميع لسلسلة بيانات التحكم 6000 وسلسلة Cyber 70. Algorithmics Press. ص. 12. OCLC 425963232.
- ^ دونجارا، جاك جيه؛ وآخرون (1987). الجبر الخطي العددي على أجهزة الكمبيوتر عالية الأداء . ص 6. رقم ISBN 0-89871-428-1.
- ^ abc Cocke, John; Markstein, Victoria (January 1990). "The evolution of RISC technology at IBM" (PDF) . مجلة IBM للبحث والتطوير . 34 (1): 4–11. doi :10.1147/rd.341.0004.
- ^ ملخص نظام IBM System/370 (تقرير فني). IBM. يناير 1987.
- ^ سيلك ، جوريج. روبيتش، بوروت؛ أنجيرر، ثيو (1999). بنية المعالج: من تدفق البيانات إلى المستوى الفائق وما بعده سبرينغر. ص 33. ردمك 3-540-64798-8.
- ^ abcdef تمويل الثورة: الدعم الحكومي لأبحاث الحوسبة من قبل لجنة الابتكارات في الحوسبة والاتصالات 1999 ISBN 0-309-06278-0 الصفحة 239
- ^ نورمي، جاري (2007). تصميم المعالج: الحوسبة على النظام من أجل ASICs وFPGAs . سبرينغر. ص 40-43. رقم ISBN 978-1-4020-5529-4.
- ^ هيل، مارك دونالد؛ جوبي، نورمان بول ؛ سوهي، جوريندار (1999). قراءات في بنية الكمبيوتر . الخليج المهني. ص 252-254. ISBN 1-55860-539-8.
- ^ ستارنز، توماس (مايو 1983). "فلسفة التصميم وراء MC68000 من موتورولا". بايت . ص. الصورة 1.
- ^ باترسون، ديفيد (30 مايو 2018). "تاريخ RISCy". AM SIGARCH .
- ^ abc "مثال: Berkeley RISC II". مؤرشف من الأصل في 13 يونيو 2022.
- ^ abcdefghij باترسون، ديفيد أ.؛ سيكوين، كارلو هـ. (1981). RISC I: A Reduced Instruction Set VLSI Computer. الندوة السنوية الثامنة حول بنية الكمبيوتر. مينيابوليس، مينيسوتا، الولايات المتحدة الأمريكية. ص. 443-457. doi :10.1145/285930.285981.بصيغة PDF
- ^ ab Patterson, DA ; Ditzel, DR (1980). "The case for the Reduced instruction set computer". ACM SIGARCH Computer Architecture News . 8 (6): 25–33. CiteSeerX 10.1.1.68.9623 . doi :10.1145/641914.641917. S2CID 12034303.
- ^ Sequin, Carlo; Patterson, David (يوليو 1982). تصميم وتنفيذ RISC I (PDF) . دورة متقدمة في هندسة VLSI. جامعة بريستول. CSD-82-106.
- ^ abcd Chow, Paul (1989). المعالج الدقيق MIPS-X RISC . Springer. ص. xix–xx. ISBN 0-7923-9045-8.
- ^ ab Nurmi 2007، ص 52-53
- ^ Weaver, Vincent; McKee, Sally. Code Density Concerns for New Architectures (PDF) . ICCD 2009.
- ^ واترمان، أندرو؛ لي، يونسوب؛ باترسون، ديفيد أ؛ أسانوفي، كرست. "دليل مجموعة تعليمات RISC-V، المجلد الأول: إصدار ISA الأساسي على مستوى المستخدم 2.0". جامعة كاليفورنيا، بيركلي. التقرير الفني EECS-2014-54 . تم الاسترجاع في 1 مارس 2022 .
- ^ جارنسي، إليزابيث؛ لورينزوني، جياني؛ فيرياني، سيمون (مارس 2008). "التطور من خلال المشروعات الفرعية الريادية: قصة Acorn-ARM" (PDF) . سياسة البحث . 37 (2): 210-224. doi :10.1016/j.respol.2007.11.006. S2CID 73520408. تم الاسترجاع في 2 يونيو 2011.
[...] تم تشغيل أول وحدة سيليكون في 26 أبريل 1985
. - ^ Tucker, Allen B. (2004). Computer science handbook . Taylor & Francis. ص 100-6. ISBN 1-58488-360-X.
- ^ ab Marshall, Trevor; Tazelaar, Jane Morrill (فبراير 1989). "Worth the RISC". BYTE . ص 245–249 . تم الاسترجاع في 8 أكتوبر 2024 .
- ^ "Olivetti يشتري بطاقة RISC". مستخدم Acorn . أغسطس 1988. ص. 7. تم الاسترجاع في 24 مايو 2021 .
- ^ "Arm تبحث عن نمو يتجاوز الهواتف الذكية". www.ft.com . تم الاسترجاع في 23 يونيو 2024 .
- ^ سلاتر، مايكل (يونيو 1990). "ما هو RISC؟". IEEE Micro . ص 96-95 . تم الاسترجاع في 20 مارس 2023 .
- ^ إسبوندا ، مارجريتا. روخاس ، راؤول (سبتمبر 1991). “القسم 2: الارتباك حول مفهوم RISC”. مفهوم RISC – مسح للتطبيقات . جامعة برلين الحرة. ب-91-12.
- ^ ستوكس، جون "هانيبال". "RISC مقابل CISC: عصر ما بعد RISC". Ars Technica .
- ^ بوريت، لويد (يونيو 1991). "RISC مقابل CISC". الحاسب الشخصي الأسترالي .
- ^ جونز، دوغلاس دبليو. "أسئلة متكررة حول برنامج DEC PDP-8 الخاص بـ دوغ جونز". مجموعة PDP-8، قسم علوم الكمبيوتر بجامعة أيوا .
- ^ Dandamudi, Sivarama P. (2005). "Ch. 3: RISC Principles". Guide to RISC Processors for Programmers and Engineers . Springer. ص 39-44. doi :10.1007/0-387-27446-4_3. ISBN 978-0-387-21017-9لم يكن الهدف الرئيسي
هو تقليل عدد التعليمات، بل تقليل التعقيد
- ^ Walls, Colin (18 أبريل 2016). "CISC وRISC".
- ^ فيشر، جوزيف أ.؛ فارابوشي، باولو؛ يونج، كليف (2005). الحوسبة المضمنة: نهج VLIW للهندسة المعمارية والمترجمات والأدوات. إلسفير. ص. 57. رقم ISBN 9781558607668.
- ^ ألكسندر، دبليو جريج؛ وورتمان، ديفيد (نوفمبر 1975). "الخصائص الثابتة والديناميكية لبرامج XPL". IEEE Computer . 8 (11): 41–48. doi :10.1109/CM.1975.218804. S2CID 39685209.
- ^ سواريس ، جواو. روشا، ريكاردو. "تعليمات ترميز MIPS" (PDF) .
- ^ طاقم العمل، Embedded (24 سبتمبر 2003). "ARM Thumb Instruction Set". Embedded.com . تم الاسترجاع في 23 يونيو 2024 .
- ^ كولويل، روبرت ب.؛ هيتشكوك الثالث، تشارلز ي.؛ جينسن، إي. دوغلاس؛ سبرونت، إتش إم برينكلي؛ كولار، تشارلز ب. (سبتمبر 1985). "مجموعات التعليمات وما بعدها: أجهزة الكمبيوتر والتعقيد والجدل". الكمبيوتر . 18 (9). معهد مهندسي الكهرباء والإلكترونيات، ش.م.: 8-19. doi :10.1109/MC.1985.1663000. S2CID 7306378. تم الاسترجاع في 25 مارس 2023 .
- ^ "المعالجات الدقيقة من وجهة نظر المبرمج" بقلم أندرو شولمان 1990
- ^ Sweetman, Dominic (1987). "The RISC Workstation". Proceedings of the Conference Held at Computer Graphics 87, London, October 1987. Online Publications. pp. 83–91. ISBN 0-86353-092-3تم الاسترجاع بتاريخ 26 مارس 2024 .
- ^ داود، كيفن؛ لوكيدس، مايكل ك. (1993). الحوسبة عالية الأداء. أوريلي. رقم ISBN 1565920325.
- ^ فينسنت، جيمس (9 مارس 2017). "مايكروسوفت تكشف عن تصميمات جديدة لخوادم ARM، تهدد هيمنة إنتل". ذا فيرج . تم الاسترجاع في 12 مايو 2017 .
- ^ راسل، جون (31 مايو 2016). "Cavium تكشف عن خطط ThunderX2، وتفيد بأن ARM Traction is Growing". HPC Wire . تم الاسترجاع في 8 مارس 2017 .
- ^ أول معالج من إنتاج AMD يعتمد على ARM، Opteron A1100، أصبح متاحًا أخيرًا، ExtremeTech، 14 يناير 2016 ، تم الاسترجاع في 14 أغسطس 2016
- ^ فيلدمان، مايكل (18 يناير 2017). "Cray to Deliver ARM-Powered Supercomputer to UK Consortium". Top500.org . تم الاسترجاع في 12 مايو 2017 .
- ^ "Microsoft is bringing Windows desktop apps to mobile ARM processings". The Verge . 8 ديسمبر 2016 . تم الاسترجاع في 8 ديسمبر 2016 .
- ^ "كيف تعمل محاكاة x86 على ARM". Microsoft Docs . 23 أكتوبر 2023 . تم الاسترجاع في 27 أكتوبر 2023 .
- ^ "مقدمة للجيل القادم من أجهزة Mac" (بيان صحفي). Apple Inc. 10 نوفمبر 2020.
- ^ "macOS Big Sur أصبح متاحًا الآن" (بيان صحفي). Apple Inc. 12 نوفمبر 2020.
- ^ كارتر، نيكولاس ب. (2002). مخطط شاوم للهندسة المعمارية للحاسوب. ماكجرو هيل بروفيشنال. ص 96. رقم ISBN 0-07-136207-X.
- ^ جونز، دوغلاس ل. (2000). "معالجات CISC وRISC وDSP الدقيقة" (PDF) .
- ^ سينغ، أميت. "تاريخ أنظمة تشغيل أبل". مؤرشف من الأصل في 3 أبريل 2020.
أصبح الخط الفاصل بين RISC وCISC أكثر غموضًا على مر السنين
- ^ "أفضل 500 قائمة: نوفمبر 2020". أفضل 500. تم الاسترجاع في 2 يناير 2021 .
- ^ داندامودي 2005، ص 121 – 123
- ^ بينيت، إيمي (2005). "Apple shifting from PowerPC to Intel". Computerworld . مؤرشف من الأصل في 13 نوفمبر 2020 . تم الاسترجاع في 24 أغسطس 2020 .
- ^ Vaughan-Nichols, Steven J. "Review: The ARM-powered Samsung Chromebook". ZDNet . تم الاسترجاع في 28 أبريل 2021 .
- ^ DeAngelis, Marc (22 يونيو 2020). "Apple تبدأ انتقالها لمدة عامين إلى ARM هذا الأسبوع". Engadget . تم الاسترجاع في 24 أغسطس 2020 .
أعلنت شركة Apple رسميًا أنها ستتحول من معالجات Intel إلى شرائح A-series المستندة إلى ARM في أجهزة كمبيوتر Mac الخاصة بها.
- ^ سميث، كريس (16 سبتمبر 2020). "مايكروسوفت ستطلق جهاز Surface جديدًا يعمل بمعالج ARM هذا الخريف". Boy Genius Report . تم الاسترجاع في 20 مارس 2023 .
- ^ "معالج ARM - معالج AWS Graviton - AWS". Amazon Web Services, Inc. تم الاسترجاع في 9 يناير 2024 .
- ^ "الحوسبة الموجية تغلق برنامج MIPS Open بتأثير فوري". AB Open . 15 نوفمبر 2019 . تم الاسترجاع في 23 يونيو 2024 .
- ^ "إرشادات العلامة التجارية – RISC-V International" . تم الاسترجاع في 23 يونيو 2024 .
- ^ "Arm توسع إمكانيات التصميم بمعالجات Cortex-M المجانية لـ Xilinx FPGAs". غرفة أخبار Arm . تم الاسترجاع في 23 يونيو 2024 .
- ^ "الحاصلون على جائزة تشارلز ستارك درابر للهندسة". nae.edu .
- ^ "جائزة تشارلز ستارك درابر للهندسة". nae.edu .
روابط خارجية
- "RISC مقابل CISC". هندسة RISC . جامعة ستانفورد. 2000.
- "ما هو RISC". هندسة RISC . جامعة ستانفورد. 2000.
- سافارد، جون جيه جي "ليس تمامًا RISC". أجهزة الكمبيوتر .
- Mashey, John R. (5 September 2000). "Yet Another Post of the Old RISC Post [unchanged from the last time]". Newsgroup : comp.arch. Usenet: 8p20b0$dhh$3@murrow.corp.sgi.com.
إعادة النشر رقم 9 لـ CISC vs RISC (أو ما هو RISC حقًا)
