وحدة الحساب والمنطق: العقل التنفيذي للمعالج

وحدة الحساب والمنطق: العقل التنفيذي للمعالج
تُعد وحدة الحساب والمنطق (Arithmetic Logic Unit - ALU) دائرة رقمية توافقية تمثل المكون الأساسي في معظم أنظمة الحوسبة. تكمن وظيفتها الرئيسية في تنفيذ العمليات الحسابية والعمليات المنطقية على الأعداد الثنائية الصحيحة. وتختلف هذه الوحدة عن وحدة الفاصلة العائمة (FPU) التي تتخصص في التعامل مع الأعداد العشرية والكسور.
تعتبر وحدة الحساب والمنطق حجر الزاوية في العديد من الدوائر الحاسوبية، بما في ذلك وحدة المعالجة المركزية (CPU)، ووحدات معالجة الرسوميات (GPU)، ووحدات الفاصلة العائمة (FPU)، حيث تقوم بتحويل التعليمات البرمجية إلى عمليات مادية ملموسة من خلال التلاعب بالبتات.
آلية عمل وحدة الحساب والمنطق
تعتمد الوحدة في عملها على استقبال مدخلات محددة ومعالجتها لإنتاج مخرجات دقيقة. تتكون هذه العملية من ثلاثة عناصر أساسية:
1. البيانات (Operands)
تستقبل الوحدة البيانات المراد إجراء العملية عليها عبر ناقلات بيانات متوازية. عادة ما يكون هناك ناقلان للمدخلات (A و B) وناقل واحد للمخرجات (Y). يتطابق عرض هذه الناقلات (عدد الأسلاك أو الإشارات) مع حجم الكلمة الأصلية للمعالج (Word Size)، مثل 32 بت أو 64 بت.
2. رمز العملية (Opcode)
يتم تزويد الوحدة برمز يسمى "Opcode"، وهو قيمة محددة تخبر الوحدة بنوع العملية المطلوب تنفيذها (مثل الجمع، الطرح، أو المقارنة المنطقية). يحدد عرض ناقل رمز العملية الحد الأقصى لعدد العمليات التي يمكن للوحدة تنفيذها؛ فعلى سبيل المثال، رمز العملية المكون من 4 بتات يمكن أن يدعم حتى 16 عملية مختلفة.
3. إشارات الحالة (Status Signals)
تعمل إشارات الحالة كجسر معلوماتي بين الوحدة وسجلات الحالة الخارجية، وتنقسم إلى:
- مخرجات الحالة: توفر معلومات إضافية عن نتيجة العملية، ومن أبرزها:
- مؤشر الحمل (Carry-out): يشير إلى وجود حمل ناتج عن عملية جمع أو استعارة في عملية طرح.
- مؤشر الصفر (Zero): يتفعل عندما تكون جميع بتات النتيجة (Y) أصفاراً.
- مؤشر السالب (Negative): يشير إلى أن نتيجة العملية الحسابية قيمة سالبة.
- مؤشر الطفح (Overflow): يشير إلى أن النتيجة قد تجاوزت النطاق العددي المسموح به للمخرجات.
- مؤشر التكافؤ (Parity): يحدد ما إذا كان عدد البتات التي قيمتها (1) في النتيجة زوجياً أم فردياً.
- مدخلات الحالة: تسمح بإدخال معلومات من عمليات سابقة، وأشهرها بت "الحمل الداخل" (Carry-in) الذي يُستخدم لربط نتائج عمليات حسابية متتالية.
العمليات التي تنفذها وحدة الحساب والمنطق
| نوع العملية | أمثلة على العمليات |
|---|---|
| عمليات حسابية | الجمع، الطرح، الضرب، القسمة |
| عمليات منطقية (Bitwise) | AND, OR, NOT, XOR |
| عمليات الإزاحة (Bit Shifts) | الإزاحة لليمين، الإزاحة لليسار |
التصميم الدائري والتشغيل
تُصنف وحدة الحساب والمنطق كدائرة منطقية توافقية (Combinational Logic Circuit)، وهذا يعني أن مخرجاتها تتغير بشكل غير متزامن استجابةً للتغيرات في المدخلات. بمجرد استقرار الإشارات على المداخل، تمر هذه الإشارات عبر البوابات المنطقية والدوائر الداخلية، وبعد فترة زمنية تُعرف بـ "تأخير الانتشار" (Propagation Delay)، تظهر النتيجة النهائية على المخرجات.
تتحمل الدوائر الخارجية (مثل وحدة التحكم في المعالج) مسؤولية ضمان استقرار الإشارات المدخلة ومنح الوحدة الوقت الكافي لمعالجة البيانات قبل قراءة النتيجة النهائية من المخرجات.
أسئلة شائعة
ما الفرق بين وحدة الحساب والمنطق (ALU) ووحدة الفاصلة العائمة (FPU)؟
وحدة الحساب والمنطق (ALU) تتعامل مع الأعداد الثنائية الصحيحة (Integers)، بينما تتخصص وحدة الفاصلة العائمة (FPU) في العمليات الحسابية المعقدة التي تتضمن أعداداً عشرية أو كسوراً.
ما هو الـ Opcode في وحدة الحساب والمنطق؟
الـ Opcode هو رمز تشغيلي يتم إرساله إلى الوحدة لتحديد العملية التي يجب تنفيذها، مثل إخبار الوحدة بأن تقوم بعملية جمع بدلاً من عملية منطقية AND.
ماذا يعني "تأخير الانتشار" في عمل الـ ALU؟
هو الوقت الذي تستغرقه الإشارات الكهربائية للانتقال عبر البوابات المنطقية داخل الوحدة من المدخلات إلى المخرجات حتى تستقر النتيجة النهائية.
ما هي وظيفة مؤشر الطفح (Overflow)؟
يُستخدم مؤشر الطفح للتنبيه عندما تكون نتيجة العملية الحسابية أكبر من السعة التخزينية المتاحة لناقل المخرجات، مما يعني أن النتيجة غير دقيقة لأنها تجاوزت الحد الأقصى.