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

اقرأ في هذا المقال


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

ما المقصود بمعالج RISC Processor

(RISC) هو اختصار “لكمبيوتر مجموعة التعليمات المخفضة” (Reduced Instruction Set Computer)، يحتوي معالج (RISC) على “مجموعات تعليمات” بسيطة ولها “أوضاع معالجة” بسيطة، تستخدم تعليمات أسلوب (RISC) “كلمة واحدة” (one word) في الذاكرة، يكون تنفيذ تعليمات (RISC) أسرع ويستغرق دورة ساعة واحدة لكل تعليمة.

معمارية المعالج RISC

يتم تنفيذ معالج (RISC) باستخدام وحدة التحكم السلكية (hardwired control unit)، تنتج وحدة التحكم السلكية إشارات تحكم تنظم عمل أجهزة المعالجات، تؤكد بنية (RISC) على استخدام السجلات بدلاً من الذاكرة، وذلك لأنّ السجلات هي “أسرع” مصدر ذاكرة متاح، السجلات صغيرة ماديًا ويتم وضعها على نفس الشريحة حيث يتم وضع وحدة (ALU) ووحدة التحكم على المعالج، تعمل تعليمات (RISC) على المعاملات الموجودة في سجلات المعالج.

في بنية المعالج (RISC)، لاحظ شيئًا واحدًا هنا، ليس لدينا “مخزن التحكم في البرنامج الصغير” (microprogram control store) أو “ذاكرة التحكم” (control memory) وهذا الذي يختلف عن بنية (CISC)، هذا فقط لأنّ جميع التعليمات في (RISC) بسيطة وتنفذ تعليمة واحدة في كل دورة، لذلك، هنا التعليمات مثبتة ولا داعي لمخزن التحكم، لكل عملية، سيكون لدينا أسلاك محددة (defined hardwire)، إنّ إجراء التعليمات (instruction hardwired) هو إجراء وظيفة أو عملية في التعليمات بشكل دائم باستخدام الدوائر المتصلة.

مجموعات تعليمات RISC

مجموعة تعليمات (RISC) بسيطة وذات حجم ثابت، كل تعليمات (RISC) تستخدم كلمة ذاكرة واحدة، تعمل تعليمات (RISC) على سجلات المعالج فقط، يجب أن يكون للتعليمات التي تحتوي على عملية حسابية ومنطقية معاملها إمّا في سجل المعالج أو يجب تقديمها مباشرة في التعليمات، كما هو الحال في كلتا التعليمات أدناه، لدينا المعامل في السجلات:

Add R2, R3

Add R2, R3, R4

يمكن ذكر المعامل مباشرة في التعليمات على النحو التالي:

 Add R2, 100

لكن في البداية، في بداية تنفيذ البرنامج، تكون جميع المعاملات في الذاكرة، لذلك، للوصول إلى معاملات الذاكرة (memory operands)، تحتوي مجموعة تعليمات (RISC) على تعليمات التحميل والتخزين (Load and Store)، تقوم تعليمات التحميل بتحميل المعامل الموجود في الذاكرة إلى سجل المعالج، تعليمات التحميل هي بالشكل التالي:

Load destination, Source

Example Load R2, A // memory to register

ستؤدي تعليمات التحميل أعلاه إلى تحميل المعامل الموجود في موقع الذاكرة (A) إلى سجل المعالج (R2)، تقوم تعليمات المتجر بتخزين المعامل مرة أخرى في الذاكرة، بشكل عام، يتم استخدام تعليمات التخزين لتخزين النتيجة الوسيطة أو النتيجة النهائية في الذاكرة، ولديه الشكل التالي:

Store source, destination

Example Store R2, A // register to memory

ستقوم تعليمات التخزين أعلاه بتخزين المحتوى في السجل (R2) في موقع الذاكرة (A)، يمكنك ملاحظة أنّه في مثال تعليمات التحميل والتخزين، يظهر جانب معامل تعليمات التحميل والتخزين كما يظهر في كلا الإرشادين مثل (R2 ،A)، ولكن، يتم عكس ترتيب المصدر والوجهة لتعليمات التخزين (Store instruction) في تعليمات التحميل (Load instruction).

تعليمات (RISC) لها أوضاع عنونة بسيطة، أدناه لدينا قائمة بأوضاع معالجة نوع تعليمات (RISC)، دعونا نناقشهم واحدا تلو الآخر:

  • وضع العنونة الفوري (Immediate addressing mode): يحدد وضع العنونة هذا بشكل صريح المعامل في التعليمات، مثل:

Add R4, R2, #200

ستضيف التعليمات المذكورة أعلاه (200) إلى محتوى (R2) وتخزن النتيجة في (R4).

  • وضع العنونة للسجل (Register addressing mode): يصف وضع العنونة هذا السجلات التي تحتوي على المعاملات.

Add R3, R3, R4

ستضيف التعليمات المذكورة أعلاه محتوى السجل (R4) إلى محتوى السجل (R3) وتخزين النتيجة في (R3).

  • وضع العنونة المطلق (Absolute addressing mode): يصف وضع العنونة هذا اسمًا لموقع الذاكرة في التعليمات، يتم استخدامه للإعلان عن المتغيرات (global variables) في البرنامج.

Integer A, B, SUM

ستخصص هذه التعليمات الذاكرة للمتغير (A ،B ،SUM).

  • سجل وضع العنونة غير المباشر (Register Indirect addressing mode): يصف وضع العنونة هذا السجل الذي يحتوي على عنوان المعامل الفعلي في التعليمات، إنّه مشابه للمؤشرات في (HLL).

Load R2, (R3)

ستقوم هذه التعليمات بتحميل السجل (R2) بالمحتوى، وعنوانه مذكور في السجل (R3).

  • وضع عنونة الفهرس (Index addressing mode): يوفر وضع العنونة هذا سجلاً في التعليمات، والذي عندما نضيف ثابتًا، نحصل على عنوان المعامل الفعلي، إنّه مشابه لمجموعة (HLL).

Load R2, 4(R3)

ستقوم هذه التعليمات بتحميل السجل (R2) بالمحتوى الموجود في الموقع الذي تمّ الحصول عليه بإضافة (4) إلى محتوى السجل (R3).

خطوط أنابيب التعليمات في RISC

كما نعلم فإنّ تعليمات (RISC) بسيطة وتشغل كلمة واحدة في الذاكرة، حتى “موقع المعاملات” داخل “الكلمة” هو نفسه بالنسبة للتعليمات المختلفة، من بين جميع التعليمات، التحميل والتخزين هي العمليات التي تصل إلى معامل الذاكرة، معظم تعليمات (RISC) هي سجل لسجل (register to register)، إذا أخذنا في الاعتبار التعليمات الحسابية والمنطقية، فلدينا مرحلتان على النحو التالي:

  • إحضار التعليمات (IF) (Instruction Fetch): إحضار وجلب التعليمات.
  • تنفيذ التعليمات (IE) (Instruction Execute): عملية (ALU) مع السجل، إذا كنا نفكر في تعليمات التحميل والتخزين، أي السجل للذاكرة أو الذاكرة للسجل، فستكون هناك ثلاث مراحل مطلوبة على النحو التالي:
  1. إحضار التعليمات (IF): إحضار التعليمات.
  2. تنفيذ التعليمات (IE): حساب عنوان الذاكرة.
  3. (Memory Store (M)): عملية سجل لسجل أو عملية الذاكرة للذاكرة، الآن ضع في اعتبارك التعليمات التالية:

A <- B + C

سيكون إنشاء مجموعة تعليمات (RISC) للتعليمة المذكورة أعلاه:

Load R1, B

Load R2, C

Add R3, R2, R1

Store R3, C

مزايا وعيوب معالج RISC

مزايا معالج RISC

  • تعليمات (RISC) هي أبسط تعليمات للآلة.
  • تعليمات (RISC) مثبتة لربط التنفيذ.
  • توجد تعليمات أقل في مجموعة تعليمات (RISC).
  • تعليمات (RISC) لها أوضاع عنونة بسيطة.
  • يتم تنفيذ تعليمات (RISC) بشكل أسرع لأنّ معظم التعليمات تعمل في سجل المعالج وليس هناك حاجة للوصول إلى الذاكرة لكل تعليمة.
  • من السهل توجيه تعليمات (RISC) لأنّ جميع التعليمات ذات حجم ثابت وكود التشغيل والمعامل موجودان في نفس الموضع في الكلمة.
  • تقوم تعليمات (RISC) بتنفيذ تعليمة واحدة لكل دورة ساعة.

عيوب معالج RISC

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

شارك المقالة: