क्या यह संभव है कि सभी बिटवाइज़ ऑपरेटरों को 'बिटवाइंड नंद' के समान परिभाषित किया जाए कि कैसे केवल 'बूलियन नंद' का उपयोग करके सभी बूलियन तर्क का निर्माण किया जा सकता है?


9

Nand एक 'यूनिवर्सल' लॉजिक गेट के रूप में जाना जाता है, क्योंकि यह आपको अन्य सभी बूलियन लॉजिक गेट्स को परिभाषित करने की अनुमति देता है:

not(x) = nand(x,x)
and(x, y) = not(nand(x, y))
or(x, y) = nand(not(x), not(y))
nor(x, y) = not(or(x, y))
xor(x, y) = nand(nand(a, nand(a, b)), nand(b, nand(a, b)))

यह नंद-तर्क के रूप में जाना जाता है , और आमतौर पर आधुनिक कंप्यूटरों में उपयोग किया जाता है क्योंकि एक ट्रांजिस्टर को नंद-द्वार की तरह व्यवहार किया जा सकता है।

मुझे आश्चर्य हो रहा है कि क्या बिटवाइज़ ऑपरेशंस के साथ भी कुछ ऐसा करना संभव है। कर सकते हैं एक जैसे बिटवाइज़ नंद (bnand) को परिभाषित करने में इस्तेमाल किया जा bnot, bor, band, bnor, bxor? क्या एक सार्वभौमिक बिटवाइज़ ऑपरेशन है?

जवाबों:


13

एक हार्डवेयर स्तर पर बिटवाइज़ और लॉजिकल के बीच कोई अंतर नहीं है। तो हाँ। एक तार्किक ऑपरेशन एक बिट पर सिर्फ एक बिटवाइज़ ऑपरेशन है।


2

अधिकांश आधुनिक माइक्रोप्रोसेसरों पर बिटवाइज़ ऑपरेशंस को मूल रूप से लागू किया जाता है, ताकि NAND ऑपरेशन होने का कोई लाभ न हो।

उदाहरण के लिए x86 निर्देश सेट में है: AND , OR , XOR , NOT । ये सभी एक ही चक्र में किए जाते हैं जहाँ तक मुझे पता है, ताकि उन्हें कई नंद आपरेशनों के साथ प्रतिस्थापित करने से कोई लाभ न हो। इसमें ANDN भी है जो ((NOT x) AND y)कि चक्र के लाभ के लिए एक चतुर अनुकूलन संकलक द्वारा उत्पन्न किया जा सकता है के लिए एक बराबर है।

RISC आंदोलन एक सरल एक अधिक performant वास्तुकला के लिए कम अनुदेश सेट को बढ़ावा देने की कोशिश की। यह विचार था कि संकलक को सरल और तेज निर्देशों को संयोजित करना होगा। हालांकि यह प्रतीत होता है कि अलग से कुछ प्रयोगात्मक या शिक्षण प्रोसेसर, सबसे मूल रूप नन्द के साथ ही हमेशा की तरह बिटवाइज़ आपरेशन (जैसे प्रदान PowerPC या एआरएम )।


मैं वास्तव में निश्चित नहीं हूं कि इन दिनों सीपीयू में बूलियन ऑपरेटरों को कैसे लागू किया जाता है, लेकिन 4-से -1 mux का उपयोग करना काफी सामान्य था, "सत्य तालिका" में 4 आदानों के रूप में खिला, फिर दो बिट्स का उपयोग करें आउटपुट के लिए चयनकर्ता के रूप में काम करते हैं। आपको एक एकल सर्किट देता है जिसका उपयोग सभी 16 दो-ऑपरेटिव बूलियन कार्यों के लिए किया जा सकता है।
वेटिन

2
तथ्य यह है कि OR, XOR और NOT को "मूल रूप से" लागू किया जाता है और एक भी घड़ी चक्र से अधिक नहीं लिया जाता है, इस बारे में कुछ भी नहीं कहता है कि वे केवल NAND सर्किट का उपयोग कर निर्माण कर रहे हैं या नहीं। मुझे संदेह है कि वे इन दिनों केवल NANDs का उपयोग कर निर्माण कर रहे हैं क्योंकि ट्रांजिस्टर वास्तव में सस्ते हैं और वास्तव में तेज हैं। वैटाइन की 4-टू -1 विधि ट्रांजिस्टर की एक छोटी संख्या का उपयोग करने के लिए अनुकूलित है, जो नैनोमीटर युग में व्यर्थ है।
मार्टिन माट

आरआईएससी को समय के आधार पर निरर्थक रूप दिया गया है। जब यह उभरा, तो विशिष्ट जटिल निर्देशों ने कई घड़ी चक्रों को लिया, जैसे 10 या तो। और यह OR / AND / NOT के बारे में नहीं था, ये पहले से ही त्वरित थे और किसी भी सीपीयू के लिए "सरल" और आवश्यक माना जाता था, इसलिए उन्हें निश्चित रूप से RISC प्रोसेसर द्वारा नहीं छोड़ा जाएगा। आज, जटिल निर्देश कम होते हैं, फिर एक घड़ी चक्र (पाइप लाइनिंग और मल्टी-थ्रेडिंग / मल्टी-कोर के कारण।
मार्टिन मेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.