حاسوب مجموعة تعليمات مخفضة
من ويكيبيديا، الموسوعة encyclopedia
حاسوب مجموعة التعليمات المخفضة (بالإنجليزية: Reduced Instruction Set Computer) أو حوسبة بمجموعة تعليمات مصغرة[1] (بالإنجليزية: Reduced Instruction Set Computing)، هو حاسوب ذو مجموعة تعليمات تسمح للمعالج الدقيق أن يكون له عدد دورات أقل لكل تعليمة بالمقارنة مع مجموعة التعليمات الحاسوبية المعقدة.
صنف فرعي من | |
---|---|
الاسم المختصر | |
تاريخ البدء | |
نظام تصنيف حوسبة رابطة مكائن الحوسبة (2012) | |
النقيض |
طقم التعليمات الذي يدعمه أي معالج هو عبارة عن مجموعة أوامر كل أمر منها يمثل تسلسل من الـ Bytes يستطيع المعالج التعرف عليها مباشرة ومن ثم يستجيب لمحتوى ذلك الأمر.
اعتمدت CISC على التالي : كل ما زاد عدد الأوامر زادت سهولة البرمجة كثيرًا لكن بالمقابل يزيد التعقيد في بناء المعالج حيث ستحتاج إلى وحدة ترجمة معقدة داخل نفس المعالج للتعرف على كم الأوامر الكبير وسيستغرق الأمر وقتا إضافيا داخل وحدة الترجمة MicrocodeUnit حتى يتم تفسيره مما يعني تباطؤاً في الأداء اعتماداً على تعقيد الأمر المدخل.
اعتمدت RISC على التالي: أوامر بدائية جدا لا تحتاج لوحدة ترجمة (NO Microcode Unit) تنفذ الأوامر تنفيذا سريعا وكل أمر يستغرق دورة معالجة وحيدة أو أقل وكل الأوامر موحدة الطول 4 بايت فقط.
ونظراً لسهولة الأوامر كما ذكرنا وتوحيد الطول أصبحت الحاجة لقوة المعالجة أقل مما يعني إمكانية الحصول على معالج RISC بنفس أداء معالج CISC ولكن بعدد ترانزستورات أقل بكثير وأيضا تم إلغاء وحدة الترجمة مما يعني تخفيضا كبيرا في تكاليف التصنيع وفي حجم المعالج أيضا مما مكن من إضافة المزيد من المسجلات الداخلية والتي بدورها وفرت مخزناً واسعاً لتخزين البيانات والأوامر ذات الاستخدام المتكرر ضمن المعالج مما يعني وصولا سريعا جدا لها بدلا من الحاجة للخروج خارج المعالج لجلبها من الذاكرة ذاكرة الوصول العشوائي الرئيسية وعملية الخروج من المعالج أثناء التنفيذ لعملية ما تعني تباطؤاً لا يستهان به خصوصاً إذا نظرنا إلى سرعة النواقل والتي تعتبر بطيئة جدا مقارنة بسرعة المعالج الداخلية.
ولكن العيب هنا ما وصل إليه المبرمجون من ناحية التعقيد وتحديداً في برمجة البرامج المترجمة Compilers وهي البرامج التي تحول البرامج المكتوبة بلغات عالية المستوى مثل Cو JAVA إلى لغة الآلة والصعوبة هذه سببها قلة وبدائية الأوامر المتوفرة.
لنأخذ مثالاً لتوضيح قصة الصعوبة والسهولة في البرمجة استناداً لحجم وعدد الأوامر المتاحة هناك (طفل 1) عنده مكعبات للبناء وهي بدائية أي عبارة عن مكعبات فقط وهناك (طفل 2) عنده مكعبات بأشكال متنوعة من مستطيلات ومثلثات إلى أشكال جاهزة من سيارات وبشر إلى ما هنالك.
طلب من الطفلين بناء منزل مثلا فمن سيعاني أكثر في البناء؟؟؟ أكيد الطفل الأول لأنه سيحتاج لتكوين كل العناصر بنفسه من الأشكال البدائية جداً بينما الطفل الثاني لن يستغرق وقتا يذكر بل وسيجد وقتاً إضافيا في إضافة الأشكال الجمالية، هذه فلسفة تقنية CISC.
ولكن إذا نظرنا من زاوية أخرى سنجد أن تكلفة مكعبات الطفل الثاني تكون أضعافاً مضاعفة من تكلفة مكعبات الطفل الأول وأيضاً لو كان الطفل الأول ذكي لدرجة كبيرة فإنه سيستطيع التعامل مع مكعباته بمهارة وسرعة غير مسبوقة بينما سيحتاج الطفل الثاني مهما كان ذكيا لبعض الوقت لكي يستوعب الشكل الذي في يده والمكان المناسب لوضعه. هذه فلسفة تقنية RISC.