لكن فئة مصنعي معالجات ARM ، لم تختر الحل الأخير ، ولم تختر الحل الأول ، وانما قامت باختيار حل مختلف تماما .
لم تحب هذه الفئة استخدام تعليمات معقدة أو استخدام طاقم تعليمات مصغر ، واصرت علي اتباع الطريق التقليدي .
ففي مثالنا السابق ، 15(7+5) ، وبافتراض أن العملية تحل باستخدام الحل الثاني :
15X12
الناتج = 180
يتم استخراج رقم 7 ورقم 5، ويتم ترجمة علامة الجمع ، بتحويل الرقمين الي مسجلات معالج الجمع (المسجل 1 و 2) ، بعد الانتهاء من الجمع ، يتم تخزين الناتج في المسجل رقم 3 .
المسجل رقم 3 متصل بما يسمي بحوض المسجلات الكبير وهو تجمع كبير لعدة مسجلات مرتبة في صفوف ، في هذا الحوض يتم وضع الناتج في مسجل جديد ، وليكن المسجل رقم 18 .
الآن نحتاج الي ضرب رقم 15 في الناتج ، لذا يتم استخراج رقم 15 ، ويتم ترجمة علامة الضرب ، ومن ثم تحويله الي مسجل معالج الضرب ، المسجل رقم 4 مثلا .
الآن يجب ان تحتوي بيانات الضرب الخاصة برقم 15 علي عنوان اضافي خاص بالمسجل رقم 18 ، وذلك لكي يقوم معالج الضرب بأخذ قيمة هذا المسجل ويضربها في رقم 15 .
يتم وضع ناتج العملية في مسجل جديد ، وليكن مسجل رقم 5 ..ويتصل هذا المسجل بحوض البيانات الكبير ، بحيث ينقل الناتج الي المسجل رقم 19 مثلا .
بهذا تنتهي بيانات العملية ، لكنها تحتوي علي شق أخير من البيانات ، وهو علامة يساوي (=) مثلا، وهي تحتوي علي عنوان المسجل رقم 19 ، وتترجم بـنسخ محتويات هذا المسجل الي الذاكرة العشوائية .
نلاحظ هنا أن هذه الطريقة تركز أكثر علي بيانات عناوين المسجلات ، أي علي البيانات المخزنة في الذاكرة العشوائية ، اي علي البرنامج نفسه ، الذي يجب أن يكون عارفا لعناوين كل المسجلات ، فهو الذي يقوم بتوجيه البيانات اليها .
وعلي وجه الخصوص يجب أن يعرف عناوين حوض المسجلات الكبير ، والتي تعتبر البديل الفعّال لوحدة التحكم ، فهي تتصرف كأنها محطة تصل اليها البيانات من المعالجات المختلفة ، كما تخرج منها البيانات الي المعالجات المختلفة بتحكم من البرنامج نفسه .
سميت هذه الطريقة باسم Reduced Instruction Set Computer ، أو حاسوب طاقم التعليمات المخفض RISC ، ذلك لأن كل عملياته هي عمليات بسيطة ، من مسجّل الي مسجّل ، وبذلك تحقق هذه المعمارية البساطة في التصميم ، لكن التعقيد يصبح علي كتف البرنامج نفسه ، والذي يجب أن يكون مصمما لهذه المعماربة بالضبط (كما قلنا باحتوائه علي عناوين السمجلات في كل خطوة من خطوات البيانات) .
بسبب هذه المعمارية ، تأتي معالجات ARM بأحجام صغيرة ، وباستهلاك طاقة قليل جدا ، نتيجة بساطة التصميم ، مما يجعلها حلا مناسبا للأجهزة الصغيرة ، لكن يعيبها احتياجها لحجم ذاكرة أكبر ، وهو الأمر الذي لا يعد سيئا بالمرة نتيجة رخص وسهولة تصنيع الذواكر في الوقت الحال .
لا تركز معالجات ARM علي سوق الحوسبة ، لذلك لا تأتي بترددات مرتفعة أو بذاكرة مخبأة كبيرة ، لأنها تقصر نفسها حاليا علي معالجة البيانات السيطة الي حد ما ، وعلي هذا فلم يتم بناء معالج منها لينافس معالجات Intel و AMD ، والمنافسة الوحيدة بينها وبين معمارية X86 ، هو معالج ATOM من شركة Intel .
لكن ماذا يحدث اذا قررت ARM بناء معالج كبير للتطبيقات الثقيلة كتحرير الفيديو أو الرسوم ثلاثية الأبعاد .. سوف تحتاج الي دعم برمجي كبير بالطبع ، لكنها ستنافس منافسة شرسة ، وعندها سنري ..
سنري صراع العمالقة الحقيقي ..
المقارنة بين CISC و RISC
CISC :
- تخفف من التعقيد باستخدام طاقم تعليمات مصغر مدمج في وحدة تحكم .
- يؤدي هذا الي حدوث بطء في عملية المعالجة .
- حجم المعالج كبير.
RISC :
- تخفف من التعقيد بالاكثار من المسجلات ، والاعتماد علي البرنامج .
- الاعتماد علي البرنامج قد يكون له عواقب وخيمة اذا لم يتم تطويع البرنامج بالشكل المناسب .
- حجم المعالج صغير .
ملحوظة 2 : تم تبسيط المفاهيم والمصطلحات في هذا المقال بقدر معقول ، وتم تجاهل عدد من التفصيلات والمعلومات التي لا تساهم في وضوح الفكرة الرئيسية ، وعلي هذا يمكن الاعتماد علي هذه المقالة كمصدر شبه دقيق لمعماريات المعالجات .