
المهمة
"هل من الممكن عكس ثلاث إشارات ، إذا كان لديك عاكسان فقط ، وعدد غير محدود من العناصر" و "و" أو "؟ قررنا في المعهد في زوج واحد. الآن قرارها محير حتى المحترفين المتقدمين. دعونا نرى كيف يتعامل معها مجتمع geektimes ، وفي نفس الوقت نحاول استعادة تاريخ حدوثه ...
قال مدرس بالمعهد أن مهام من هذا النوع نشأت في عصر الحاسبات الأنبوبية. ولكن لم يكن لدينا ما يكفي من العقل لطلب تفاصيل من طلاب المتوسط ، لأنه الآن علينا استعادة التاريخ وفقًا لوصف السيارات القديمة والتفكير قليلاً.
تم بناء أجهزة الكمبيوتر الإلكترونية الأولى على المصابيح. لذا فقد احتوى الكمبيوتر الأول في حاسوب MESM لاتحاد الجمهوريات الاشتراكية السوفياتية (1950) على حوالي 6000 مصباح ، تم من خلاله تنفيذ الوظائف المنطقية "AND" و "OR" و "NOT" للمنطق الثنائي ، والتي تكمن وراء أجهزة الكمبيوتر الحديثة. يمكن رؤية تنفيذ الصمامات الكلاسيكية على المصابيح في الصورة.

تم بناء الوظيفة المنطقية "AND" على مصباح واحد ، وتم تحديد عدد المدخلات من خلال عدد الشبكات في المصباح. ولتطبيق عنصر صمام 2IL الكلاسيكي ، كان هناك حاجة إلى مصباحين. وعلى الرغم من ظهور ما يسمى بالميكروبات في وقت لاحق ، وهو شيء مشابه لتجمعات عدة مصابيح في لمبة واحدة ، لا يزال يتعين على المهندسين تحسين التعبيرات المنطقية بحيث تسود وظيفة "و" فيها. كانت المصابيح باهظة الثمن وغير موثوقة (MTBF 750 ساعة) ، ولدت الكثير من الحرارة ، ولكن الأهم أنها كانت ضخمة. في عام 1952 ، ظهرت أول صمامات ثنائية شبه موصلة محلية لتحل محل المصابيح منخفضة الطاقة. شكل ظهورهم مظهرًا لمنطق الصمام الثنائي ، مما سمح بتقليل حجم البوابات المنطقية بشكل كبير. يظهر تنفيذ الدالتين "و" و "أو" في منطق الصمام الثنائي في الشكل.

ولكن لا تزال هناك حاجة إلى مصباح لتنفيذ العاكس. تم استخدام الثنائيات شبه الموصلة بالفعل لبناء آلة BESM-2 ، وقد احتوت بالفعل على 4000 مصباح و 5000 صمام ثنائي أشباه الموصلات. كان الانخفاض في حجم واستهلاك الصمامات "AND" و "OR" كبيرا ، مما جعل من الضروري تحسين الوظائف المنطقية لتقليل عدد العاكسون في الدائرة. ربما كان ذلك هو الوقت الذي كان على المهندسين حل هذه المشكلة لأول مرة.
بدأ الإنتاج التسلسلي للترانزستورات ، الذي جعل من الممكن التخلي عن المصابيح تمامًا ، في بلدنا عام 1955. وفي عام 1959 ، كان أول جهاز كمبيوتر بدون
ترانزستور هو آلة سيتون ، على الرغم من أنها لا تزال تحتوي على 20 مصباحًا.
ومع ذلك ، نعود إلى مهمتنا.
إذا كان أي شخص يعرف حلًا ، فلنفسد المرح لأولئك الذين يريدون حله بأنفسهم. يتم قبول الإجابات في التعليقات ، يرجى ملؤها في شكل إدخالات في C أو Verilog.
المتغير {nA، nB، nC} <=! {A، B، C} ؛ لم يتم قبولها ، هذه ثلاث محولات.
تحديث:
الحل منeatmoreD =! ((A & B) | (B&C) | (A&C))
E =! ((D & (A | B | C)) | (A & B & C))
غير متاح = (D&E) | (D & (B | C)) | (E & B & C)
ملحوظة = (D&E) | (D & (A | C)) | (E & A & C)
nC = (D&E) | (D & (A | B)) | (E & A & B)