وحدة الحساب والمنطق

تمثيل رمزي لوحدة الحساب والمنطق (ALU) وإشارات الإدخال والإخراج الخاصة بها، موضحة بأسهم تشير إلى داخل أو خارج الوحدة، على التوالي. يمثل كل سهم إشارة واحدة أو أكثر. تدخل إشارات التحكم من اليسار وتخرج إشارات الحالة من اليمين؛ وتتدفق البيانات من الأعلى إلى الأسفل.

في مجال الحوسبة ، تُعدّ وحدة الحساب والمنطق ( ALU ) دائرة رقمية توافقية تُجري عمليات حسابية وعمليات على مستوى البت على الأعداد الثنائية الصحيحة . [ 1 ] [ 2 ] وهذا يختلف عن وحدة الفاصلة العائمة (FPU) التي تعمل على أعداد الفاصلة العائمة . تُعتبر وحدة الحساب والمنطق لبنة أساسية في العديد من أنواع دوائر الحوسبة، بما في ذلك وحدة المعالجة المركزية (CPU) في أجهزة الحاسوب، ووحدات الفاصلة العائمة، ووحدات معالجة الرسومات (GPU). [ 3 ]

تتكون مدخلات وحدة الحساب والمنطق (ALU) من البيانات المراد معالجتها، والتي تُسمى المعاملات ، ورمز يُشير إلى العملية المراد تنفيذها ( رمز العملية ). أما مخرجات وحدة الحساب والمنطق فهي نتيجة العملية المنفذة. في العديد من التصاميم، تحتوي وحدة الحساب والمنطق أيضًا على مدخلات أو مخرجات حالة، أو كليهما، والتي تنقل معلومات حول عملية سابقة أو العملية الحالية، على التوالي، بين وحدة الحساب والمنطق وسجلات الحالة الخارجية .

الإشارات

تحتوي وحدة الحساب والمنطق (ALU) على مجموعة متنوعة من شبكات الإدخال والإخراج ، وهي الموصلات الكهربائية المستخدمة لنقل الإشارات الرقمية بين وحدة الحساب والمنطق والدوائر الخارجية. عند تشغيل وحدة الحساب والمنطق، تُرسل الدوائر الخارجية إشارات إلى مدخلاتها، فتقوم وحدة الحساب والمنطق، استجابةً لذلك، بإنتاج إشارات ونقلها إلى الدوائر الخارجية عبر مخرجاتها.

بيانات

تتكون وحدة الحساب والمنطق الأساسية من ثلاثة خطوط بيانات متوازية ، كل منها يحتوي على مُدخلين ( A و B ) ومخرج ( Y ). كل خط بيانات عبارة عن مجموعة من الإشارات التي تنقل عددًا صحيحًا ثنائيًا واحدًا. عادةً ما تكون عروض خطوط البيانات A وB وY (عدد الإشارات التي يتكون منها كل خط) متطابقة وتتوافق مع حجم الكلمة الأصلي للدائرة الخارجية (مثل وحدة المعالجة المركزية المُغلِّفة أو أي معالج آخر).

رمز العملية

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

حالة

المخرجات

تُعدّ مخرجات الحالة إشارات فردية متنوعة تنقل معلومات إضافية حول نتيجة عملية وحدة الحساب والمنطق الحالية. تحتوي وحدات الحساب والمنطق للأغراض العامة عادةً على إشارات حالة مثل:

  • Carry-out ، الذي ينقل الحمل الناتج عن عملية الجمع، أو الاستعارة الناتجة عن عملية الطرح، أو بت الفائض الناتج عن عملية الإزاحة الثنائية.
  • الصفر ، مما يشير إلى أن جميع بتات Y هي أصفار منطقية.
  • يشير الرمز السالب إلى أن نتيجة العملية الحسابية سالبة.
  • يشير تجاوز النطاق إلى أن نتيجة عملية حسابية قد تجاوزت النطاق العددي لـ Y.
  • التكافؤ ، الذي يشير إلى ما إذا كان عدد البتات في Y زوجيًا أم فرديًا، وهو ما يمثل القيمة المنطقية 1.

المدخلات

تتيح مدخلات الحالة توفير معلومات إضافية لوحدة الحساب والمنطق (ALU) عند تنفيذ عملية حسابية. عادةً ما تكون هذه المعلومات عبارة عن بت "حمل داخلي" واحد يمثل قيمة الحمل الخارجي المخزنة من عملية حسابية سابقة.

تشغيل الدائرة

الدوائر المنطقية التوافقية للدائرة المتكاملة 74181 ، وهي وحدة حساب ومنطق مبكرة ذات 4 بتات، مع بوابات منطقية

وحدة الحساب والمنطق (ALU) هي دائرة منطقية توافقية ، أي أن مخرجاتها تتغير بشكل غير متزامن استجابةً لتغيرات المدخلات. في التشغيل العادي، تُطبَّق إشارات مستقرة على جميع مدخلات وحدة الحساب والمنطق، وعندما يمر وقت كافٍ (يُعرف باسم " تأخير الانتشار ") لانتشار الإشارات عبر دائرة وحدة الحساب والمنطق، تظهر نتيجة العملية على مخرجاتها. تتولى الدوائر الخارجية المتصلة بوحدة الحساب والمنطق مسؤولية ضمان استقرار إشارات مدخلات وحدة الحساب والمنطق طوال فترة التشغيل، وإتاحة وقت كافٍ لانتشار الإشارات عبر دائرة وحدة الحساب والمنطق قبل أخذ عينات من مخرجاتها.

بشكل عام، تتحكم الدوائر الخارجية في وحدة الحساب والمنطق (ALU) عن طريق تطبيق إشارات على مداخلها. عادةً، تستخدم هذه الدوائر منطقًا تسلسليًا لتوليد الإشارات التي تتحكم في تشغيل وحدة الحساب والمنطق. ويتم ضبط توقيت هذا المنطق التسلسلي الخارجي بواسطة إشارة ساعة بتردد منخفض بما يكفي لضمان وقت كافٍ لاستقرار مخارج وحدة الحساب والمنطق في أسوأ الظروف (أي الظروف التي تؤدي إلى أقصى تأخير ممكن في الانتشار).

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

الوظائف

تدعم وحدات الحساب والمنطق (ALUs) عادةً عددًا من وظائف الحساب الأساسية ووظائف المنطق الثنائي. وتشمل وحدات الحساب والمنطق الأساسية ذات الأغراض العامة عادةً هذه العمليات في مجموعاتها: [ 1 ] [ 2 ] [ 4 ]

العمليات الحسابية

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

العمليات المنطقية على مستوى البت

  • AND : يظهر ناتج عملية AND المنطقية بين A و B عند Y. يمكن استخدام AND أيضًا لاختبار البتات. في هذه الحالة، لن يتم تخزين النتيجة؛ بل سيتم تسجيل بتات الحالة فقط (وخاصةً الصفر والبتات السالبة).
  • أو : يظهر ناتج عملية OR الثنائية بين A و B عند Y.
  • عملية XOR الحصرية : تظهر عملية XOR الثنائية لـ A و B عند Y.
  • المتمم الأحادي : يتم عكس جميع بتات A (أو B) وتظهر في Y.

عمليات إزاحة البتات

أمثلة على إزاحة البتات لوحدة حساب ومنطق ثمانية بت
يكتبغادريمين
الإزاحة الحسابية
التحول المنطقي
تناوب
التناوب بين الحمل

تُؤدي عمليات الإزاحة في وحدة الحساب والمنطق (ALU) إلى إزاحة المعامل A (أو B) إلى اليسار أو اليمين (بحسب رمز العملية)، ويظهر المعامل المُزاح في الموضع Y. عادةً ما تستطيع وحدات الحساب والمنطق البسيطة إزاحة المعامل بمقدار بت واحد فقط، بينما تستخدم وحدات الحساب والمنطق الأكثر تعقيدًا مُزاحات أسطوانية تُتيح لها إزاحة المعامل بعدد غير محدود من البتات في عملية واحدة. في جميع عمليات الإزاحة أحادية البت، يظهر البت المُزاح خارج المعامل في خانة الحمل؛ وتعتمد قيمة البت المُزاح داخل المعامل على نوع الإزاحة.

عمليات أخرى

  • المرور : تظهر جميع بتات A (أو B) دون تغيير في Y. تُستخدم هذه العملية عادةً لتحديد زوجية المعامل أو ما إذا كان صفرًا أو سالبًا، أو لنسخ المعامل إلى سجل المعالج.

التطبيقات

استخدام الحالة

وحدة حسابية منطقية وسجل الحالة المرتبط بها. يتم توصيل مخرج الحمل المخزن بمدخل الحمل لتسهيل نقل الحمل بكفاءة.

بعد إتمام كل عملية حسابية منطقية، تُخزَّن إشارات حالة خرج وحدة الحساب والمنطق عادةً في سجلات خارجية لتكون متاحة لعمليات حسابية منطقية لاحقة (مثل تنفيذ عمليات حسابية متعددة الدقة ) وللتحكم في التفرع الشرطي . غالبًا ما تُعامل سجلات البتات التي تخزن إشارات حالة الخرج مجتمعةً كسجل واحد متعدد البتات، يُشار إليه باسم "سجل الحالة" أو "سجل رمز الحالة".

بحسب عملية وحدة الحساب والمنطق (ALU) المُنفذة، قد تتغير بعض بتات سجل الحالة، بينما تبقى بتات أخرى دون تغيير. على سبيل المثال، في العمليات المنطقية الثنائية مثل AND و OR، لا يتم عادةً تعديل بت حالة الحمل لأنه غير ذي صلة بهذه العمليات.

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

مسارات بيانات المعاملات والنتائج

مخطط توضيحي لوحدة معالجة مركزية (CPU) يوضح مسارات البيانات لمصادر معاملات وحدة الحساب والمنطق (ALU) ووجهات النتائج. يمكن أن تأتي معاملات وحدة الحساب والمنطق من الذاكرة، أو من سجلات في ملف السجلات، أو من التعليمات قيد التنفيذ. ويمكن تخزين نتيجة وحدة الحساب والمنطق في الذاكرة أو في سجل المعالج.

تعتمد مصادر معاملات وحدة الحساب والمنطق (ALU) ووجهات نتائجها على بنية المعالج المُغلِّف والعملية المُنفَّذة. تتنوع بنى المعالجات بشكل كبير، ولكن في وحدات المعالجة المركزية للأغراض العامة، تعمل وحدة الحساب والمنطق عادةً بالتزامن مع ملف سجلات (مصفوفة من سجلات المعالج) أو سجل تراكمي ، والذي تستخدمه وحدة الحساب والمنطق غالبًا كمصدر للمعاملات ووجهة للنتائج. ولمراعاة مصادر المعاملات الأخرى، تُستخدم عادةً مُضاعِفات الإرسال لاختيار إما ملف السجلات أو مصادر معاملات وحدة الحساب والمنطق البديلة حسب متطلبات كل تعليمة من تعليمات الجهاز.

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

الحساب متعدد الدقة

في العمليات الحسابية للأعداد الصحيحة، تُعدّ الحسابات متعددة الدقة خوارزميةً تعمل على أعداد صحيحة أكبر من حجم كلمة وحدة الحساب والمنطق (ALU). وللقيام بذلك، تُعامل الخوارزمية كل عدد صحيح كمجموعة مُرتبة من أجزاء بحجم كلمة وحدة الحساب والمنطق، مُرتبة من الأكثر أهمية (MS) إلى الأقل أهمية (LS) أو العكس. على سبيل المثال، في حالة وحدة حساب ومنطق ذات 8 بت، 0x123456يُعامل العدد الصحيح ذو 24 بت كمجموعة من ثلاثة أجزاء، كل جزء منها 8 بت: 0x12(MS)، 0x34و 0x56(LS). وبما أن حجم الجزء يُطابق تمامًا حجم كلمة وحدة الحساب والمنطق، يُمكن لوحدة الحساب والمنطق إجراء العمليات مباشرةً على هذا الجزء من المعامل.

تستخدم الخوارزمية وحدة الحساب والمنطق (ALU) لمعالجة أجزاء محددة من المعاملات مباشرةً، ومن ثم توليد جزء مطابق (جزء جزئي) من نتيجة العملية متعددة الدقة. يُكتب كل جزء جزئي، عند توليده، في منطقة تخزين مخصصة لنتيجة العملية متعددة الدقة. تُكرر هذه العملية لجميع أجزاء المعاملات لتوليد مجموعة كاملة من الأجزاء الجزئية، وهي نتيجة العملية متعددة الدقة.

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

في عمليات الإزاحة متعددة الدقة، يعتمد ترتيب معالجة أجزاء المعاملات على اتجاه الإزاحة. في عمليات الإزاحة إلى اليسار، تُعالج الأجزاء الأقل أهمية أولاً، لأن بتّ الأقل أهمية لكل جزء - والذي يُنقل عبر بت الحمل المخزن - يجب الحصول عليه من بتّ الأكثر أهمية للمعامل الأقل أهمية الذي أُزيح إلى اليسار سابقًا. وعلى العكس، تُعالج المعاملات الأكثر أهمية أولاً في عمليات الإزاحة إلى اليمين، لأن بتّ الأكثر أهمية لكل جزء يجب الحصول عليه من بتّ الأقل أهمية للمعامل الأكثر أهمية الذي أُزيح إلى اليمين سابقًا.

في العمليات المنطقية على مستوى البت (مثل AND المنطقي، OR المنطقي)، يمكن معالجة أجزاء المعامل بأي ترتيب عشوائي لأن كل جزء يعتمد فقط على أجزاء المعامل المقابلة (يتم تجاهل بت الحمل المخزن من عملية ALU السابقة).

الجمع والطرح بنظام النقطة الثابتة الثنائية

تُمثَّل القيم الثنائية ذات الفاصلة الثابتة بأعداد صحيحة. وبالتالي، لأي عامل قياس ذي فاصلة ثابتة (أو موضع فاصلة ضمني في الأساس)، يمكن لوحدة الحساب والمنطق (ALU) جمع أو طرح معاملين ذوي فاصلة ثابتة مباشرةً، وإنتاج نتيجة ذات فاصلة ثابتة. تُستخدم هذه الخاصية عادةً في عمليات الجمع والطرح ذات الفاصلة الثابتة والعائمة.

في عمليات الجمع والطرح ذات الفاصلة العائمة، يُزاح الجزء الدال من المعامل الأصغر إلى اليمين بحيث يتطابق عامل قياسه ذو الفاصلة الثابتة مع عامل قياس المعامل الأكبر. ثم تقوم وحدة الحساب والمنطق (ALU) بجمع أو طرح الأجزاء الدالة المتوافقة لإنتاج جزء دال للنتيجة. يُجرى تطبيع وتقريب هذا الجزء الدال، مع عناصر المعامل الأخرى، لإنتاج النتيجة ذات الفاصلة العائمة.

عمليات معقدة

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

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

وحدات معالجة الرسومات

تحتوي وحدات معالجة الرسومات (GPUs) عادةً على مئات أو آلاف من وحدات الحساب والمنطق (ALUs) التي يمكنها العمل في وقت واحد. وبحسب التطبيق وبنية وحدة معالجة الرسومات، يمكن استخدام وحدات الحساب والمنطق لمعالجة بيانات غير مترابطة في آنٍ واحد، أو للعمل بالتوازي على بيانات مترابطة. ومن الأمثلة على ذلك عرض الرسومات، حيث تقوم وحدات حساب ومنطق متعددة بتنفيذ العملية نفسها بالتوازي على مجموعة من البكسلات، إذ تعمل كل وحدة حساب ومنطق على بكسل واحد ضمن المشهد. [ 6 ]

تطبيق

عادةً ما تُنفَّذ وحدة الحساب والمنطق (ALU) إما كدائرة متكاملة مستقلة (IC)، مثل 74181 ، أو كجزء من دائرة متكاملة أكثر تعقيدًا. في الحالة الأخيرة، تُنشأ وحدة الحساب والمنطق عادةً عن طريق تركيبها من وصف مكتوب بلغة VHDL أو Verilog أو أي لغة أخرى لوصف الأجهزة . على سبيل المثال، يصف كود VHDL التالي وحدة حساب ومنطق بسيطة جدًا ذات 8 بت :

وحدة alu هي منفذ ( -- توصيلات وحدة alu بالدوائر الخارجية: A : إدخال عدد صحيح موقّع ( 7 إلى 0 -- المعامل A B : إدخال عدد صحيح موقّع ( 7 إلى 0 -- المعامل B OP : إدخال عدد صحيح غير موقّع ( 2 إلى 0 -- رمز العملية Y : إخراج عدد صحيح موقّع ( 7 إلى 0 ))؛ -- نتيجة العملية نهاية alu ؛بنية سلوكية لوحدة الحساب والمنطق (ALU) تبدأ بـ: حالة OP هي -- فك تشفير رمز العملية وتنفيذها: عندما "000" => Y <= A + B ; -- جمع عندما "001" => Y <= A - B ; -- طرح عندما "010" => Y <= A - 1 ; -- إنقاص عندما "011" => Y <= A + 1 ; -- زيادة عندما "100" => Y <= not A ; -- المتمم الأحادي عندما "101" => Y <= A and B ; -- عملية AND الثنائية عندما "110" => Y <= A or B ; -- عملية OR الثنائية عندما "111" => Y <= A xor B ; -- عملية XOR الثنائية عندما others => Y <= ( others => 'X' ); نهاية الحالة ; نهاية السلوك ;

تاريخ

اقترح عالم الرياضيات جون فون نيومان مفهوم وحدة الحساب والمنطق في عام 1945 في تقرير عن أسس جهاز كمبيوتر جديد يسمى EDVAC . [ 7 ]

كانت تكلفة وحجم واستهلاك الطاقة للدوائر الإلكترونية مرتفعة نسبيًا خلال المراحل الأولى من عصر المعلومات . ونتيجة لذلك، احتوت جميع الحواسيب المبكرة على وحدة حساب ومنطق تسلسلية تعمل على بت واحد من البيانات في كل مرة، على الرغم من أنها كانت غالبًا ما تعرض للمبرمجين حجم كلمة أكبر. وكان أول حاسوب يحتوي على دوائر حساب ومنطق منفصلة متوازية متعددة أحادية البت هو حاسوب Whirlwind I عام 1951 ، الذي استخدم ست عشرة وحدة حسابية من هذا النوع لتمكينه من العمل على كلمات مكونة من 16 بت.

في عام 1967، قدمت شركة فيرتشايلد أول جهاز يشبه وحدة الحساب والمنطق (ALU) تم تنفيذه كدائرة متكاملة، وهو جهاز فيرتشايلد 3800، الذي يتكون من وحدة حسابية ثمانية بت مع مُراكم. كان يدعم عمليات الجمع والطرح فقط، ولم يكن يدعم أي وظائف منطقية. [ 8 ]

سرعان ما ظهرت وحدات الحساب والمنطق المتكاملة بالكامل، بما في ذلك وحدات حساب ومنطق رباعية البتات مثل Am2901 و 74181 . كانت هذه الأجهزة عادةً قادرة على تقسيم البتات ، أي أنها مزودة بإشارات "التنبؤ المسبق بالحمل" التي سهّلت استخدام عدة رقائق حساب ومنطق مترابطة لإنشاء وحدة حساب ومنطق ذات حجم كلمة أكبر. وسرعان ما لاقت هذه الأجهزة رواجًا واسعًا، واستُخدمت على نطاق واسع في الحواسيب الصغيرة التي تعتمد على تقسيم البتات.

بدأت المعالجات الدقيقة بالظهور في أوائل سبعينيات القرن العشرين. ورغم تصغير حجم الترانزستورات، إلا أن مساحة الشريحة لم تكن كافية أحيانًا لوحدة حسابية منطقية (ALU) بعرض كلمة كاملة، ونتيجة لذلك، استخدمت بعض المعالجات الدقيقة المبكرة وحدة حسابية منطقية ضيقة تتطلب دورات متعددة لكل تعليمة لغة الآلة. ومن الأمثلة على ذلك معالج Zilog Z80 الشهير ، الذي كان يُجري عمليات جمع ثمانية بتات باستخدام وحدة حسابية منطقية بأربعة بتات. [ 9 ] ومع مرور الوقت، تقلصت أبعاد الترانزستورات أكثر، وفقًا لقانون مور ، وأصبح من الممكن بناء وحدات حسابية منطقية أعرض على المعالجات الدقيقة.

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

يمكن تصميم وحدات المنطق الآلي (ALUs) كدوائر ميكانيكية أو كهروميكانيكية أو إلكترونية [ 10 ] ، وفي السنوات الأخيرة، أُجريت أبحاث على وحدات المنطق الآلي البيولوجية [ 11 ] [ 12 ] (على سبيل المثال، تلك القائمة على الأكتين ). [ 13 ]

انظر أيضاً

مراجع

  1. 1 2 أتول ب. جودسي؛ ديبالي أ. جودسي (2009). "3" . تصميم المنطق الرقمي . منشورات تقنية. ص 9-3 . ISBN  978-81-8431-738-1.
  2. 1 2 أتول ب. جودسي؛ ديبالي أ. جودسي (2009). "ملحق". دوائر المنطق الرقمي . منشورات تقنية. ص. ج-1. ISBN  978-81-8431-650-6.
  3. "1. مقدمة في هندسة الحاسوب - تصميم الأجهزة المدمجة، الطبعة الثانية [ كتاب ] " . www.oreilly.com . تاريخ الاسترجاع: 2020-09-03 .
  4. هورويتز، بول ؛ وينفيلد هيل (1989). "14.1.1". فن الإلكترونيات ( الطبعة الثانية). مطبعة جامعة كامبريدج. ص 990–. ISBN   978-0-521-37095-0.
  5. باري، بيتر؛ كراولي، باتريك (2012). الحوسبة المدمجة الحديثة . ISBN 978-0-12-391490-3.
  6. سميث، رايان. "خلفية: كيف تعمل وحدات معالجة الرسومات" . أناند تك. مؤرشف من الأصل في 28 فبراير 2014. تم الاطلاع عليه في 14 يناير 2025 .
  7. فيليب ليفيس (8 نوفمبر 2004). "جوناثان فون نيومان وEDVAC" (ملف PDF) . cs.berkeley.edu . الصفحات 1، 3. مؤرشف من الأصل (ملف PDF) في 23 سبتمبر 2015. تم الاطلاع عليه في 20 يناير 2015 . 
  8. شريف، كين. "داخل شريحة وحدة الحساب والمنطق 74181: صور الشريحة والهندسة العكسية" . مدونة كين شريف . تم الاطلاع عليه بتاريخ 7 مايو 2024 .
  9. شريف، كين. "يحتوي معالج Z-80 على وحدة حسابية ومنطقية (ALU) ذات 4 بت. إليك كيفية عملها." 2013، righto.com
  10. ريف، جون هـ. (2009)، "الحوسبة الميكانيكية: التعقيد الحسابي للأجهزة الفيزيائية" ، في مايرز، روبرت أ. (محرر)، موسوعة التعقيد وعلوم الأنظمة ، نيويورك، نيويورك: سبرينغر، ص 5466-5482 ، doi : 10.1007/978-0-387-30440-3_325 ، ISBN  978-0-387-30440-3تم الاطلاع عليه بتاريخ 2020-09-03
  11. لين، تشون ليانغ؛ كو، تينغ يو؛ لي، وي شيان (14 أغسطس/آب 2018). "توليف وحدة تحكم للحاسوب الحيوي المستقبلي" . مجلة الهندسة البيولوجية . 12 (1): 14. doi : 10.1186/s13036-018-0109-4 . ISSN 1754-1611 . PMC 6092829. PMID 30127848 .   
  12. جيرد إتش جي مو-بيرنز. "المعالج الدقيق البيولوجي، أو كيفية بناء جهاز كمبيوتر بأجزاء بيولوجية" .
  13. داس، بيب لاب؛ بول، أفيجيت كومار؛ دي، ديباشيس (16 أغسطس 2019). "تصميم وحدة حسابية منطقية غير تقليدية وحوسبة في أتمتة الخلايا الكمومية Actin" . تقنيات الأنظمة الدقيقة . 28 (3): 809-822 . doi : 10.1007/s00542-019-04590-1 . ISSN 1432-1858 . S2CID 202099203 .  

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