مشفر
المشفر عبارة عن دارة إلكترونية أو منطقية أو حتى برنامج وظيفته تحويل المعلومات من نسق ما إلى نسق آخر لغرض الالتزام بالمعايير، السرية، ضغط البيانات أو الأمان.
تقوم المشفرات بعمل معاكس لعمل فاكات الشيفرة.فهي تستقبل على مداخلها مستويات منطقية تتصف بأن واحد منها فقط يتميز عن البقية في أي وقت كان (كالمستويات التي نحصل عليها من مخارج فاك الشيفرة) ويتم توليد شيفرة على المخارج لكل مدخل متميز.
تحتوي الأنظمة الرقمية عادة على عناصر تقوم بتوليد إشارات يمكن اعتبارها طلبا لاتخاذ إجراءات معينة أي طلب خدمة service to request كما يمكن أن تحتوي على عناصر يمكنها تحقيق هذا الطلب أي (خدمة الطلب) service the request.
فمثلا إذا زود خزان للماء بآلية تسبب تشغيل مفتاح عندما يصبح مستوى الماء عالياً ووصل هذا المفتاح بخط موجود في الحالة العادية في المستوى المنطقي (صفر) وحين عمل المفتاح في المستوى المنطقي (واحد)أمكن اعتبار انتقال المستوى المنطقي لهذا الخط من الصفر إلى الواحد طلباً للخدمة.كما أمكن اعتبار إغلاق مجرى الماء خدمة لهذا الطلب.
غالباً ما توجد في الأنظمة الرقمية عدة خطوط طلب خدمة وعدة عناصر خدمة ولتمييز هذه العناصر عن بعضها يخصص لكل منها عنوان يتم استخدامه من قبل المشفر عند الانتقاء.
يستخدم المشفر عادة طلب الخدمة كمداخل بينما تعطي مخارجه عنوان العنصر الذي سيقوم بالخدمة.
وبما أن المشفر يميز في أي لحظة حالة واحدة فقط فمن الممكن خدمة طلب واحد فقط في أي وقت.وفي الحالة التي يتم فيها توليد أكثر من طلب للخدمة تتم خدمة هذه الطلبات بتحديد أفضليات لكل من خطوط طلب الخدمة حيث يقوم المشفر بتوليد عنوان عنصر الخدمة ذو الأفضلية الأولى وعند الانتهاء من خدمة هذا الخط يصبح مستواه المنطقي (صفر) ويتم الانتقال إلى الخط ذو الأفضلية التالية وهكذا.
ومشفرات الأولوية قد تكون بأربعة مداخل أو ثمانية مداخل أو أكثر.
ولنكتب جدول الحقيقة لمشفر أولوية من نظام عشري إلى ثنائي له ثمانية مداخل وأربع مخارج:
! y0
! y1
! y2
! y3
! a0
! a1
!a2
! a3
! a4
! a5
! a6
! a7
! a8
!a9
حيث نلاحظ أن القاعدة المعتمدة في الجدول التالي هي:أن الدخل ذو القيمة الأعلى هو الدخل الفعال.
وكمثال أخر على مشفر الأفضلية نورد المشفر(9318) المنتج من شركة Texas instrument وكما هو ملاحظ جميع الداخل والمخارج وخطوط التحكم لها مستوى فعال منخفض.تتقبل هذه الدارة ثمانية مداخل (I0'…..I7') ولها ثلاثة مخارج(A0',A1',A2') يمكن أن تولد(2^3=8) عنوان ومدخل تحكم واحد (EI').
ونظراً لتعدد بوابات AND وOR المستخدمة في الدارة السابقة ولتوضيح الرسم تم رسم مدخل واحد فقط ووضع فوقه خط مائل يمثل عدد الخطوط الحقيقية كما تم تتميم المداخل لأنها فعالة عند المستوى المنخفض.
يتم تشغيل المشفر عندما يكون المدخل (EI') منخفضاً ويتم توقيفه عندما يكون عالياً (EI'=High) وفي هذه الحالة تصبح جميع مخارج المشفر في مستو عال بغض النظر عن مستويات المداخل.عندما يعمل المشفر ويكون المدخل (I7') منخفضاً تكون المخارج (A2'A1'A0'=LLL=7) بغض النظر عن مستويات المداخل وعندما (I6'=L)تكون المخارج (A2'A1'A0'=LLH=0) على أن لا يكون المدخل (I7')
في مستوى منخفض وبغض النظر عن بقية المداخل وهكذا.
أي عندما يكون مدخلان أو أكثر في مستو منخفض يتم تشفير المدخل ذو الأفضلية الأولى ويتم إهمال بقية المداخل.
وعندما يكون المخرج (EO') منخفضاً يشير المشفر إلى عدم وجود طلب للخدمة أي أن جميع المداخل في مستو عال لا يشير إلى وجود طلب لأن (EO') يصبح عالياً أيضاً عندما يكون (EI') عالياً لذا زود المشفر بمخرج إضافي (GS') ليشير إلى وجود خدمة عندما يصبح منخفضاً.
من الممكن تشكيل مشفر أفضلية بستة عشر مدخلاً وذلك بوصل مشفرين بثمانية مداخل.كما يمكن تشكيل مشفرات بمداخل أكثر وذلك بوصل أكثر من مشفرين وعندما يكون خط التحكم (Enable')عالياً يوقف عمل المشفر كاملاً وتصبح المخارج عالية أما حينما يعمل المشفر
فإن العنوان(A3',A2',A1',A0')على المخرج يشير إلى المدخل ذو الأفضلية الأولى والموجود عندها في مستو منخفض.وكما هو واضح من الشكل المدخل (I15') هو المدخل ذو الأفضلية الأولى لأنه في حال كونه منخفضاً فإن المخارج (A3'A2'A1'A0') تكون منخفضة وتساوي (LLLL=15) بغض النظر عن بقية المداخل.
تعمل دارة المشفرعمل معاكس لدارة فاك الشيفرة إذ تستقبل على دخلها عدة إشارات
تتميز بأن واحد منها فعال فقط.والمشفرات لها2^n مدخل وخرجها قيمة مؤلفة من n خانة بعكس فاكات الشيفرة تماماً.وذلك بالاعتماد على قيمة دخل واحدة لها القيمة 1.
المشفر من 4 إلى 2 وشكله التخطيطي ممثل في الشكل 1. لاحظ بأن هناك خرج ثالث وهو V
ويمييز فيما إذا كان أحد المداخل فعّال وكما هو موضح في الشكل 1.(a) حيث أن المستقر يعطي قيمة
00=S1S0 في حالتين
إما الدخل(L0) فعّال أو لا يوجد أي مدخل على الإطلاق.و الإشارة V تمييز هاتين الحالتين.
الشكل 1 : مشفر 4 إلى 2 (a)هو بنيته الداخلية و(b) يمثل شكله التخطيطي مع
تفعيل بالمستوى المرتفع.
مثلاً:
إذا كان كلا المدخلين في المستوى المرتفع فإن خرج المشفر سيكون S1S0 = 11 والتي لا تمثل أي مدخل.
وعندما يكون بالإمكان وجود أكثر من مدخل في حالة مستوى مرتفع تستخدم أنواع أخرى من المشفرات. تدعى مشفرات الأولوية.
يعمل مشفر الأولوية مثل المشفر العادي باستثناء حالة واحدة وهي عندما يكون
أكثر من مدخل فعّال فإن قيمة الخرج سوف توافق
المدخل الفعّال ذو القيمة الأعلى.
مثلاً:
إذا كانت المداخل (3,2,1,0) فعّآلة فإن الخرج سوف يكون S1S0 = 11 موافقاً للمدخل 3.
هناك شكلين ممكنين لدارة المشفر الأولوية 4-to-2(بدون إشارة تمكين)موضح في الشكل 2, مع جداول الحقيقة المرافقة له.
الشكل 2: تمثيلان لمشفر أولوية 4 إلى 2
الأول يلغي تفعيل المدخل إذا تم تفعيل مدخل أعلى منه وهذا يضمن بأنه لن يتم
تمرير أكثرمن قيمة دخل إلى المشفر والذي يمكن أن يكون له نفس شكل المشفر العادي، والثاني يمرر كل قيم الدخل إلى دارة التشفير ولكن تم تعديل دارة الدخل لتمرير الدخل ذو الأفضلية العليا.
مثلا:
الدخل (1) يوضع القيمة S0 إلى 1 إذا كان الدخل 2 غير فعّال
و قد تم تعديل هذه الدارة إلى الوضع الأمثل لاختصار حالات الأفضلية التي لا أهمية لها.
في هذه الدارة S1 = 1 عندما تكون input2 في المستوى المرتفع حتى لو كان input3 في المستوى المرتفع,
حيث كلاهما يحتاج أن يكون S1 = 1