جامع الادخار المرحلي (Carry-Save Adder)

مقدمة

جامع الادخار المرحلي (Carry-Save Adder – CSA) هو نوع من أنواع الدوائر المنطقية الرقمية المستخدمة في جمع ثلاثة أرقام ثنائية أو أكثر بكفاءة عالية. يختلف هذا النوع من الجوامع عن الجوامع التقليدية بأنه لا يقوم بترحيل البتات الناتجة عن الجمع مباشرة إلى المرحلة التالية، بل يؤجل عملية الترحيل إلى مرحلة لاحقة. هذه الخاصية تجعل جامع الادخار المرحلي أسرع وأكثر كفاءة في جمع الأعداد الكبيرة.

آلية عمل جامع الادخار المرحلي

يعتمد جامع الادخار المرحلي على تقسيم عملية الجمع إلى مرحلتين رئيسيتين:

  • مرحلة الجمع الجزئي: في هذه المرحلة، يتم جمع البتات المتناظرة من الأرقام الثلاثة المدخلة بشكل مستقل دون النظر إلى بت الترحيل. ينتج عن هذه المرحلة مجموع جزئي (Partial Sum) وبت ترحيل جزئي (Partial Carry) لكل عمود من البتات.
  • مرحلة إضافة الترحيل: في هذه المرحلة، يتم جمع المجموع الجزئي وبت الترحيل الجزئي الناتجين من المرحلة السابقة لإنتاج النتيجة النهائية. يمكن تنفيذ هذه المرحلة باستخدام جامع تقليدي مثل جامع التموج (Ripple Carry Adder) أو جامع البحث المتقدم (Carry-Lookahead Adder).

لتوضيح آلية العمل بشكل أفضل، لنفترض أننا نريد جمع ثلاثة أرقام ثنائية: A، B، و C. يتكون كل رقم من n بت.

الخطوة 1: الجمع الجزئي

لكل عمود i (من 0 إلى n-1)، يتم حساب المجموع الجزئي Si وبت الترحيل الجزئي Ci باستخدام بوابات منطقية بسيطة:

  • Si = Ai ⊕ Bi ⊕ Ci (باستخدام بوابة XOR)
  • Ci = (Ai ∧ Bi) ∨ (Ai ∧ Ci) ∨ (Bi ∧ Ci) (باستخدام بوابتي AND و OR)

حيث أن:

  • Ai، Bi، و Ci هي البتات الموجودة في العمود i من الأرقام A، B، و C على التوالي.
  • ⊕ هي عملية XOR (Exclusive OR).
  • ∧ هي عملية AND.
  • ∨ هي عملية OR.

الخطوة 2: إضافة الترحيل

بعد حساب المجموع الجزئي S وبت الترحيل الجزئي C، يتم جمعهما باستخدام جامع تقليدي لإنتاج النتيجة النهائية. يجب ملاحظة أن بت الترحيل C يتم إزاحته بمقدار بت واحد إلى اليسار قبل جمعه مع المجموع الجزئي S.

الناتج النهائي = S + (C << 1)

حيث أن (C << 1) يعني إزاحة C بمقدار بت واحد إلى اليسار.

مثال توضيحي

لنفترض أننا نريد جمع الأرقام الثنائية التالية:

  • A = 1011
  • B = 0110
  • C = 1101

الخطوة 1: الجمع الجزئي

| العمود | A | B | C | S | CARRY |
|—|—|—|—|—|—|
| 0 | 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 | 0 | 1 |
| 2 | 0 | 1 | 1 | 0 | 1 |
| 3 | 1 | 0 | 1 | 0 | 1 |

إذاً، المجموع الجزئي S = 0000 وبت الترحيل C = 1111.

الخطوة 2: إضافة الترحيل

نقوم بإزاحة C إلى اليسار بمقدار بت واحد ليصبح C = 11110.

الآن نقوم بجمع S و C باستخدام جامع تقليدي:

0000
+ 11110
——-
11110

إذاً، النتيجة النهائية هي 11110، وهو ما يعادل 30 في النظام العشري. (11 + 6 + 13 = 30)

مزايا وعيوب جامع الادخار المرحلي

المزايا:

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

العيوب:

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

تطبيقات جامع الادخار المرحلي

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

  • معالجات الإشارات الرقمية (DSP): يستخدم في العمليات الحسابية المعقدة مثل عمليات الضرب والتجميع (Multiply-Accumulate – MAC).
  • وحدات معالجة الرسومات (GPU): يستخدم في تسريع عمليات معالجة الصور والفيديو.
  • الأنظمة المضمنة (Embedded Systems): يستخدم في التطبيقات التي تتطلب أداءً عالياً واستهلاكاً منخفضاً للطاقة.
  • الدوائر المتكاملة واسعة النطاق (VLSI): يستخدم في تصميم الدوائر الرقمية المعقدة.

بدائل جامع الادخار المرحلي

هناك عدة بدائل لجامع الادخار المرحلي، ولكل منها مزاياها وعيوبها الخاصة:

  • جامع التموج (Ripple Carry Adder): وهو أبسط أنواع الجوامع، لكنه بطيء بسبب التأخير الناتج عن الترحيل.
  • جامع البحث المتقدم (Carry-Lookahead Adder): أسرع من جامع التموج، لكنه أكثر تعقيداً.
  • جامع الترحيل الاختياري (Carry-Select Adder): يعتمد على حساب الترحيل مسبقاً لعدة كتل من البتات، مما يجعله أسرع من جامع التموج.
  • جامع الترحيل الشرطي (Carry Skip Adder): يحاول تقليل التأخير الناتج عن الترحيل عن طريق تخطي الكتل التي لا تحتاج إلى ترحيل.
  • جامع والاس (Wallace Tree Adder): يستخدم لجمع عدة أرقام ثنائية في وقت واحد، ويعتبر من أسرع أنواع الجوامع. غالبًا ما يتم دمجه مع CSA لتحقيق أداء أفضل.

تحسينات على جامع الادخار المرحلي

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

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

خاتمة

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

المراجع