بت التكافؤ

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

بلا صفة (none)

يصف أنه لايجب على النظام المحلي إضافة بت تكافؤ للمحارف التي يتم نقلها .
وكما يدل على أن النظام المحلي لا يقوم بفحص وجود بت التكافؤ في البيانات المرسلة من المستخدم.

الزوجي (Even Parity Bit)

يصف أن إجمالي عدد البتات (1) ضمن سلسلة البتات تساوي إلى عدد زوجي و إلا فبت التكافؤ يكون (1) ليصبح عدد الواحدات زوجي.
يكون بت التكافؤ الزوجي مساوي للقيمة "1" إذا كانت عدد البتات + 1 زوجية القيمة.
يكون بت التكافؤ الزوجي مساوي للقيمة "0" إذا كانت عدد البتات + 0 زوجية القيمة.
بت التكافؤ الزوجي هو حالة خاصة من (cyclic redundancy check) (CRC) (فحص دوري التكرار).

الفردي (Odd Parity Bit)

يصف أن مجموع عدد البتات (1) ضمن سلسلة البتات مساوية لعدد فردي.
يكون بت التكافؤ الفردي مساوي للقيمة "1" إذا كانت عدد البتات + 1 فردية القيمة.
يكون بت التكافؤ الفردي مساوي للقيمة "0" إذا كانت عدد البتات + 0 فردية القيمة.
والقيمة الافتراضية الذي يأخدها بت التكافؤ هي بت التكافؤ الفردي.
مثال:
في جدول ال ASCII المحرف ( ‘A’ ) يمثل بالرمز الثنائي 1000001، الذي يضم اثنان من البت (1).
إذا كان بت التكافؤ المتفق عليه هو بت تكافؤ زوجي، فسيتم إلحاق "0 " في الخانة الثامنة ، حتى يتم إبقاء عدد الواحدات ضمن السلسلة زوجي.
أما إذا كان بت التكافؤ المتفق عليه فردي، فسيتم إلحاق 1 في الخانة الثامنة الرمز الثنائي،وبذلك يصبح عدد الواحدات فردي ضمن سلسلة البتات المكون من ثمان خانات.

الفراغ (Space)

يكون بت التكافؤ مساويًا "0" دومًا. ومصطلح آخر يطلق على بت التكافؤ الفراغي بـ( بت الامتلاء ) ( filling bit).
واشتق هذا المصطلح كون بت التكافؤ يستخدم لملئ البتات السبعة وإتمامها للثمانية بحيث يتم إرسالها إلى جهاز يستقبل حصرًا ثمان بتات .
مثل هذه الأجهزة ترى بت التكافؤ الفراغي بت إضافي ضمن البيانات المنقولة إليه ولايأثر بقرائتها للخانات السبع.

علامة (Mark)

يعمل كبت التكافؤ الفراغي، إلا أن هذا البت يكون مساويًا دائما إلى" 1 ". ويعمل أيضًا لاتمام البتات السبع إلى الثمانية المطلوبة.
إذا كان بت التكافؤ موجود ولكنه غير مستخدم، فأنه من هذا النوع الأخير.

آلية الإرسال بين المستقبل والمرسل

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

استخداماته

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

تاريخه

كان موجودًا من بداية إنتاج أول شريط ممغنط مخزن للبيانات (magnetic tape data storage) عام 1951م.
كما تم استخدام بت التكافؤ على الأقل في بعض الأشرطة الورقية ( paper-tape ( punched tape )) نظم إدخال البيانات (التي سبقت نظم الشريط المغناطيسي).