جامع (إلكترونيات)

الجامع ، أو الدائرة الجامعة ، [ 1 ] هو دائرة رقمية تُستخدم في جمع الأرقام. في العديد من الحواسيب وأنواع المعالجات الأخرى ، تُستخدم الجامعات في وحدات الحساب والمنطق (ALUs). كما تُستخدم أيضًا في أجزاء أخرى من المعالج، حيث تُستخدم لحساب العناوين ، ومؤشرات الجداول ، ومعاملات الزيادة والنقصان، وعمليات مماثلة.

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

تاريخ

اخترع جورج ستيبتز جامع ثنائي مكون من 2 بت ( النموذج K ) في عام 1937.

جامعات ثنائية

نصف أفعى

تجمع دائرة الجمع النصفي رقمين ثنائيين منفردينأ{\displaystyle A}وب{\displaystyle B}لها مخرجان، المجموع (S{\displaystyle S}) ويحمل (ج{\displaystyle C}تمثل إشارة الحمل تجاوزًا للرقم التالي في عملية جمع متعددة الأرقام. قيمة المجموع هي2ج+S{\displaystyle 2C+S}أبسط تصميم لنصف الجامع يتضمن بوابة XOR لـS{\displaystyle S}وبوابة AND لـج{\displaystyle C}المنطق البولياني للمجموع (في هذه الحالة)S{\displaystyle S}) سيكونأب{\displaystyle A\oplus B}أما بالنسبة للحمل (ج{\displaystyle C}) سيكونأب{\displaystyle A\cdot B}بإضافة بوابة OR لدمج مخرجات الحمل، يمكن دمج جامعين نصفيين لتكوين جامع كامل. [ 2 ]

جدول الحقيقة لجامع النصف هو:

المدخلاتالمخرجات
أبمخرج CS
0000
0101
1001
1110

دوائر منطقية رقمية متنوعة لنصف الجامع:

جامع كامل

تجمع دائرة الجمع الكاملة الأعداد الثنائية وتأخذ في الحسبان القيم المُدخلة والمُخرجة. تجمع دائرة الجمع الكاملة أحادية البت ثلاثة أعداد ثنائية، وغالبًا ما تُكتب على النحو التالي:أ{\displaystyle A}،ب{\displaystyle B}، وجأنان{\displaystyle C_{in}}؛أ{\displaystyle A}وب{\displaystyle B}هي المعاملات، وجأنان{\displaystyle C_{in}}يتم ترحيل جزء صغير من المرحلة السابقة الأقل أهمية. [ 3 ] تُنتج الدائرة خرجًا ثنائي البت. وعادةً ما يتم تمثيل كل من حمل الخرج والمجموع بواسطة الإشارات.جouت{\displaystyle C_{out}}وS{\displaystyle S}، حيث يساوي المجموع2جouت+S{\displaystyle 2C_{out}+S}. عادةً ما يكون جامع البيانات الكامل مكونًا في سلسلة من الجامعات، التي تجمع أرقامًا ثنائية مكونة من 8 أو 16 أو 32 بت، إلخ.

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

S=أبجأنان{\displaystyle S=A\oplus B\oplus C_{in}}
جouت=(أب)+(جأنان(أب)){\displaystyle C_{out}=(A\cdot B)+(C_{in}\cdot (A\oplus B))}

التعبيرات المذكورة أعلاه لـS{\displaystyle S}وجouت{\displaystyle C_{out}}يمكن اشتقاق ذلك من خلال استخدام خريطة كارنو لتبسيط جدول الحقيقة.

في هذا التطبيق، يمكن استبدال بوابة OR الأخيرة قبل مخرج الحمل ببوابة XOR دون تغيير المنطق الناتج. وذلك لأنه عندما يكون كل من A و B يساوي 1، فإن الحد(أب){\displaystyle (A\oplus B)}قيمتها دائماً صفر، وبالتالي(جأنان(أب)){\displaystyle (C_{in}\cdot (A\oplus B))}لا يمكن أن يكون إلا 0. وبالتالي، لا يمكن أن تكون مدخلات بوابة OR النهائية 1 في نفس الوقت (هذا هو التركيب الوحيد الذي تختلف فيه مخرجات OR و XOR).

بسبب خاصية الاكتمال الوظيفي لبوابات NAND و NOR، يمكن أيضًا تنفيذ جامع كامل باستخدام تسع بوابات NAND ، [ 4 ] أو تسع بوابات NOR .

يُعد استخدام نوعين فقط من البوابات أمرًا مناسبًا إذا تم تنفيذ الدائرة باستخدام رقائق الدوائر المتكاملة البسيطة التي تحتوي على نوع واحد فقط من البوابات لكل رقاقة.

يمكن أيضًا بناء جامع كامل من جامعين نصفيين عن طريق توصيلهما معًا.أ{\displaystyle A}وب{\displaystyle B}إلى مدخل جامع نصفي واحد، ثم أخذ ناتج الجمع الخاص بهS{\displaystyle S}كأحد المدخلات إلى جامع النصف الثاني وجأنان{\displaystyle C_{in}}كمدخل آخر، وأخيرًا يتم توصيل مخرجات الحمل من نصفي الجامع ببوابة OR. مخرج المجموع من نصف الجامع الثاني هو مخرج المجموع النهائي (S{\displaystyle S}) من جامع كامل، ويكون خرج بوابة OR هو خرج الحمل النهائي (جouت{\displaystyle C_{out}}يمر المسار الحرج لجامع كامل عبر بوابتي XOR وينتهي عند بت المجموع.S{\displaystyle S}بافتراض أن بوابة XOR تستغرق تأخيرًا واحدًا لإكمالها، فإن التأخير الذي يفرضه المسار الحرج لجامع كامل يساوي:

تيالاتحاد الإنجليزي لكرة القدم=2تيXOR=2د{\displaystyle T_{\text{FA}}=2\cdot T_{\text{XOR}}=2D}

يمر المسار الحرج لعملية الحمل عبر بوابة XOR واحدة في الجامع وعبر بوابتين (AND و OR) في كتلة الحمل، وبالتالي، إذا استغرقت بوابات AND أو OR تأخيرًا واحدًا لإكمالها، فإن التأخير يكون كالتالي:

تيج=تيXOR+تيو+تيأو=د+د+د=3د{\displaystyle T_{\text{c}}=T_{\text{XOR}}+T_{\text{AND}}+T_{\text{OR}}=D+D+D=3D}

جدول الحقيقة للجامع الكامل هو:

المدخلاتالمخرجات
أبسينمخرج CS
00000
00101
01001
01110
10001
10110
11010
11111

يؤدي عكس جميع مدخلات جامع كامل إلى عكس جميع مخرجاته أيضًا، وهو ما يمكن استخدامه في تصميم جامعات التموج السريع، لأنه لا حاجة لعكس الحمل. [ 5 ]

دوائر منطقية رقمية متنوعة للجمع الكامل:

جامعات تدعم بتات متعددة

جامع التموج

جامع رباعي البتات مع مخطط الكتلة المنطقية الموضح
جامع رباعي البتات مع مخطط الكتلة المنطقية الموضح
جامع تموجات عشري مكون من 4 أرقام. FA = جامع كامل، HA = جامع نصف.

من الممكن إنشاء دائرة منطقية باستخدام عدة جامعات كاملة لجمع أعداد مكونة من N بت. كل جامع كامل يُدخل قيمة معينة.جأنان{\displaystyle C_{in}}، وهوجouت{\displaystyle C_{out}}من الجامع السابق. يُطلق على هذا النوع من الجامعات اسم جامع التموج (RCA)، حيث ينتقل كل بت حمل إلى الجامع الكامل التالي. يمكن استبدال الجامع الكامل الأول (والأول فقط) بجامع نصف (بافتراض أنجأنان=0{\displaystyle C_{in}=0}).

يتميز تصميم جامع التموجات بالبساطة، مما يسمح بتصميم سريع؛ إلا أنه بطيء نسبيًا، إذ يجب على كل جامع كامل انتظار حساب بت الحمل من الجامع الكامل السابق. يمكن حساب تأخير البوابة بسهولة بفحص دائرة الجامع الكامل. يتطلب كل جامع كامل ثلاثة مستويات منطقية. في جامع تموجات 32 بت، يوجد 32 جامعًا كاملًا، لذا فإن تأخير المسار الحرج (في أسوأ الحالات) هو 3 (من المدخل إلىجouت{\displaystyle C_{out}}(للجامع الأول) + 31 × 2 (لانتشار الحمل في الجامعات اللاحقة) = 65 تأخيرًا للبوابات. [ 6 ] المعادلة العامة لأسوأ حالة تأخير لجامع تموج الحمل ذي n بت، مع مراعاة كل من بتات المجموع وبتات الحمل، هي:

تيوكالة الإيرادات الكندية(ن)=تيHA+(ن-1)تيج+تيs={\displaystyle T_{\text{CRA}}(n)=T_{\text{HA}}+(n-1)\cdot T_{\text{c}}+T_{\text{s}}=}تيالاتحاد الإنجليزي لكرة القدم+(ن-1)تيج={\displaystyle T_{\text{FA}}+(n-1)\cdot T_{c}=}3د+(ن-1)2د=(2ن+1)د{\displaystyle 3D+(n-1)\cdot 2D=(2n+1)\cdot D}

يمكن أن يكون التصميم الذي يستخدم قطبية حمل متناوبة وبوابات AND-OR-Invert محسّنة أسرع بمرتين تقريبًا. [ 7 ] [ 5 ]

أفعى ذات نظرة مستقبلية مستمرة (واينبرغر وسميث، 1958)

جامع 4 بت مع خاصية التنبؤ بالترحيل
جامع 64 بت مع خاصية التنبؤ بالترحيل

لتقليل وقت الحساب، ابتكر واينبرغر وسميث طريقة أسرع لجمع عددين ثنائيين باستخدام جامعات التوقع المسبق للحمل (CLA). [ 8 ] وقد أدخلا إشارتين (P{\displaystyle P}وجي{\displaystyle G}) لكل موضع بت، بناءً على ما إذا كان الحمل ينتقل من موضع بت أقل أهمية (أحد المدخلات على الأقل يساوي 1)، أو يتم توليده في موضع البت هذا (كلا المدخلين يساويان 1)، أو يتم حذفه في موضع البت هذا (كلا المدخلين يساويان 0). في معظم الحالات،P{\displaystyle P}هو ببساطة ناتج مجموع نصف جامع وجي{\displaystyle G}هو ناتج الحمل لنفس الجامع. بعدP{\displaystyle P}وجي{\displaystyle G}يتم توليدها، ويتم إنشاء عمليات الحمل لكل موضع بت.

من بين الاشتقاقات الأخرى لمعادلة وينبرغر-سميث التكرارية لـ CLA، نجد جامع برنت-كونغ (BKA) [ 9 ] وجامع كوج-ستون (KSA) [ 10 ] [ 11 ] . وقد تم توضيح ذلك في ورقة أوكلوبدزيا وزيدل المنشورة في مجلة IEEE للدوائر المتكاملة [ 12 ] .

تقوم بعض بنى الجمع متعددة البتات الأخرى بتقسيم الجامع إلى كتل. ومن الممكن تغيير طول هذه الكتل بناءً على زمن تأخير الانتشار للدوائر لتحسين وقت الحساب. تتضمن هذه الجوامع القائمة على الكتل جامع تخطي الحمل (أو جامع تجاوز الحمل) الذي سيحددP{\displaystyle P}وجي{\displaystyle G}القيم لكل كتلة بدلاً من كل بت، وجامع اختيار الحمل الذي يقوم مسبقًا بتوليد قيم المجموع والحمل لأي مدخل حمل محتمل (0 أو 1) للكتلة، باستخدام مضاعفات الإرسال لاختيار النتيجة المناسبة عندما يكون بت الحمل معروفًا.

بدمج عدة وحدات جمع ذات خاصية التنبؤ بالحمل، يمكن إنشاء وحدات جمع أكبر. ويمكن استخدام هذه التقنية على مستويات متعددة لإنشاء وحدات جمع أكبر. على سبيل المثال، وحدة الجمع التالية هي وحدة جمع 64 بت تستخدم أربع وحدات جمع ذات 16 بت مع مستويين من وحدات التنبؤ بالحمل .

تشمل تصميمات الجمع الأخرى جامع الحمل الانتقائي ، وجامع المجموع الشرطي ، وجامع الحمل المتخطي ، وجامع الحمل الكامل.

جمعات الحفظ والحمل

إذا كانت دائرة الجمع ستحسب مجموع ثلاثة أعداد أو أكثر، فقد يكون من المفيد عدم تمرير نتيجة الحمل. بدلاً من ذلك، تُستخدم دوائر جمع ثلاثية المدخلات، تُنتج نتيجتين: المجموع والحمل. يمكن إدخال المجموع والحمل إلى مدخلين لدائرة الجمع الثلاثية اللاحقة دون الحاجة إلى انتظار تمرير إشارة الحمل. بعد جميع مراحل الجمع، يجب استخدام دائرة جمع تقليدية (مثل دائرة الحمل المتتالي أو دائرة التنبؤ) لدمج المجموع والحمل النهائيين.

ضواغط 3:2

يمكن اعتبار الجامع الكامل بمثابة ضاغط 3:2 مع فقدان البيانات : فهو يجمع ثلاثة مدخلات أحادية البت ويعيد النتيجة كرقم ثنائي البت؛ أي أنه يربط 8 قيم إدخال بـ 4 قيم إخراج. (تم تقديم مصطلح "ضاغط" بدلاً من "عداد" في [ 13 ] ). على سبيل المثال، ينتج عن إدخال ثنائي 101 مخرج 1 + 0 + 1 = 10 (العدد العشري 2). يمثل الحمل البت 1 من النتيجة، بينما يمثل المجموع البت 0. وبالمثل، يمكن استخدام الجامع النصفي كضاغط 2:2 مع فقدان البيانات ، حيث يضغط أربعة مدخلات محتملة إلى ثلاثة مخرجات محتملة.

يمكن استخدام هذه الضواغط لتسريع عملية جمع ثلاثة أعداد أو أكثر. إذا كان عدد الأعداد ثلاثة بالضبط، يُعرف التصميم باسم جامع الحفظ والحمل . أما إذا كان عدد الأعداد أربعة أو أكثر، فيلزم أكثر من طبقة واحدة من الضواغط، وهناك تصاميم مختلفة ممكنة للدائرة: أكثرها شيوعًا هي أشجار دادا ووالاس . يُستخدم هذا النوع من الدوائر بشكل ملحوظ في دوائر الضرب ، ولهذا تُعرف هذه الدوائر أيضًا باسم مضاعفات دادا ووالاس.

الجمع الكمي

جامع كمومي كامل، يستخدم بوابات توفولي وبوابات CNOT . يمكن حذف بوابة CNOT المحاطة بمربع منقط في هذه الصورة إذا لم تكن هناك حاجة إلى عكس الحساب لاستعادة خرج B.

باستخدام بوابات المنطق الكمومي Toffoli و CNOT فقط ، يُمكن إنتاج جامعات كمومية كاملة ونصفية. [ 14 ] [ 15 ] [ 16 ] كما يُمكن تنفيذ الدوائر نفسها في الحوسبة العكسية الكلاسيكية ، حيث أن كلاً من CNOT وToffoli هما بوابات منطقية كلاسيكية أيضًا .

نظراً لانخفاض تعقيد الدوائر في تحويل فورييه الكمومي ، يمكن استخدامه بكفاءة لجمع الأرقام أيضاً. [ 17 ] [ 18 ] [ 19 ]

جامعات تناظرية

كما هو الحال في دوائر الجمع الثنائية، فإن دمج تيارين دخلين يؤدي فعليًا إلى جمعهما معًا. وضمن قيود الجهاز، يمكن جمع الإشارات غير الثنائية (أي ذات أساس أكبر من 2) لحساب المجموع. تُعرف هذه التقنية أيضًا باسم "مضخم الجمع" [ 20 ] ، ويمكن استخدامها لتقليل عدد الترانزستورات في دائرة الجمع.

انظر أيضاً

مراجع

  1. سينغ، أجاي كومار (2010). "10. دوائر الجمع والضرب" . تصميم الدوائر المتكاملة الرقمية واسعة النطاق . برنتيس هول الهند. ص 321-344 . ISBN  978-81-203-4187-6 عبر كتب جوجل.
  2. لانكستر، جيفري أ. (2004). "10. نظرة مطور البرمجيات إلى الأجهزة: §الجامعات النصفية، §الجامعات الكاملة" . تصميم وتطوير برمجيات Excel HSC . دار باسكال للنشر. ص 180. ISBN  978-1-74125175-3.
  3. مانو، م. موريس (1979). المنطق الرقمي وتصميم الحاسوب . برنتيس هول . الصفحات 119-123 . ISBN  978-0-13-214510-7. OCLC 1413827071 . 
  4. تيجا، رافي (15-04-2021)، دوائر نصف الجامع والجامع الكامل ، تم الاطلاع عليه بتاريخ 27-07-2021
  5. 1 2 3 فيشر، ب. "Einfache Schaltungsblöcke" (PDF) . جامعة هايدلبرغ. مؤرشفة من الأصلي (PDF) بتاريخ 2021-09-05 . تم الاسترجاع بتاريخ 2021-09-05 .
  6. ساتباثي، بيناكي (2016). "3. تصميم جامع كامل متعدد البتات باستخدام منطق مختلف §3.1 جامع كامل رباعي البتات" . تصميم وتنفيذ جامع اختيار الحمل باستخدام T-Spice . دار نشر أنكور الأكاديمية. ص 22. ISBN  978-3-96067058-2.
  7. بورغيس، نيل (2011). دوائر الجمع السريعة ذات الحمل المتتالي في الدوائر المتكاملة واسعة النطاق بتقنية CMOS ذات الخلايا القياسية . المؤتمر العشرون لمعهد مهندسي الكهرباء والإلكترونيات حول الحساب الحاسوبي . الصفحات 103-111 . doi : 10.1109/ARITH.2011.23 . ISBN  978-1-4244-9457-6.
  8. واينبرغر، أ.؛ سميث، ج. ل. (1958). "منطق للجمع عالي السرعة" (ملف PDF) . منشور المكتب الوطني للمعايير (591). المكتب الوطني للمعايير: 3-12 .
  9. برنت، ريتشارد بيرس ؛ كونغ، هسيانغ تي (مارس 1982). "تصميم منتظم للجامعات المتوازية" . معاملات IEEE في الحوسبة . C-31 (3): 260-264 . doi : 10.1109/TC.1982.1675982 . ISSN 0018-9340 . S2CID 17348212. مؤرشف من الأصل في 24 سبتمبر 2017.  
  10. كوج، بيتر مايكل ؛ ستون، هارولد س. (أغسطس 1973). "خوارزمية متوازية للحل الفعال لفئة عامة من المعادلات التكرارية". معاملات IEEE في الحوسبة . C-22 (8): 786-793 . doi : 10.1109/TC.1973.5009159 . S2CID 206619926 . 
  11. ريندرز، نيلي؛ ديهان، ويم (2015). تصميم الدوائر الرقمية الموفرة للطاقة بجهد منخفض للغاية . الدوائر التناظرية ومعالجة الإشارات. سبرينغر . doi : 10.1007/978-3-319-16136-5 . ISBN 978-3-319-16135-8ISSN 1872-082X . LCCN 2015935431 .​  
  12. زيدل، بي آر؛ باران، دي؛ أوكلوبدزيا، في جي (يونيو 2010). "تصميم موفر للطاقة لجامعات VLSI عالية الأداء" (ملف PDF) . مجلة IEEE للدوائر المتكاملة ذات الحالة الصلبة . 45 (6): 1220-1233 . doi : 10.1109/JSSC.2010.2048730 .
  13. أوكلوبدزيا، في جي؛ فيليجر، دي. (يونيو 1995). "تحسين تصميم المضاعف باستخدام شجرة ضغط الأعمدة المحسّنة وجامع نهائي مُحسَّن في تقنية CMOS" (ملف PDF) . معاملات IEEE لأنظمة التكامل واسع النطاق جدًا (VLSI) . 3 (2): 292-301 . doi : 10.1109/92.386228 .
  14. فاينمان، ريتشارد ب. (1986). "الحواسيب الميكانيكية الكمومية". أسس الفيزياء . 16 (6). سبرينغر ساينس آند بيزنس ميديا ​​ذ.م.م: 507-531 . رمز Bibcode : 1986FoPh...16..507F . doi : 10.1007/bf01886518 . ISSN 0015-9018 . S2CID 122076550 .  
  15. "مثال على الكود: جامع كامل كمي" . QuTech (جامعة دلفت للتكنولوجيا (TU Delft) والمنظمة الهولندية للبحوث العلمية التطبيقية (TNO)).
  16. ديبيندو تشاتيرجي، أريجيت روي (2015). "مخطط جامع نصف كمومي قائم على الترانزمون" . التقدم في الفيزياء النظرية والتجريبية . 2015 (9): 093A02. رمز Bibcode : 2015PTEP.2015i3A02C . doi : 10.1093/ptep/ptv122 .
  17. دريبر، توماس ج. (7 أغسطس 2000). "الجمع على حاسوب كمي". arXiv : quant-ph/0008033 .
  18. رويز-بيريز، ليديا؛ خوان كارلوس، غارسيا-إسكارتين (2 مايو 2017). "الحساب الكمي باستخدام تحويل فورييه الكمي". معالجة المعلومات الكمية . 16 (6): 152. arXiv : 1411.5949v2 . Bibcode : 2017QuIP...16..152R . doi : 10.1007/s11128-017-1603-1 . S2CID 10948948 . 
  19. شاهين، إنجين (2020). "عمليات حسابية كمومية قائمة على تحويل فورييه الكمومي على الأعداد الصحيحة الموقعة". المجلة الدولية للمعلومات الكمومية . 18 (6): 2050035. arXiv : 2005.00443v3 . Bibcode : 2020IJQI...1850035S . doi : 10.1142/s0219749920500355 . ISSN 1793-6918 . 
  20. "مضخم الجمع هو جامع جهد باستخدام مضخم العمليات" . 22 أغسطس 2013.

للمزيد من القراءة