बिट मास्क को "मास्क" क्यों कहा जाता है और वे किस उद्देश्य से सेवा करते हैं?


79

"बिट मास्क" को इस तरह क्यों कहा जाता है?

मुझे पता है कि वे मुख्य रूप से बिटवाइज़ ऑपरेशन के लिए उपयोग किए जाते हैं और बिट मास्क का उपयोग अलग-अलग चर के उपयोग से अधिक कुशल होता है।

हालांकि मेरा सवाल यह है कि बिट मास्क का आविष्कार कब और क्यों किया गया? क्या वे शुरुआती कंप्यूटिंग के बाद से इस्तेमाल कर रहे थे? क्या आईटी डोमेन में बिट मास्क के अलावा किसी अन्य प्रकार के "मास्क" हैं?


14
फोटोलिथोग्राफी (सिलिकॉन वेफर्स में यूवी प्रकाश का उपयोग करने के लिए सुविधाओं का उपयोग करके) यूवी प्रकाश स्रोत को चुनिंदा रूप से अवरुद्ध करने के लिए "फोटोमैस्क" का उपयोग करता है ताकि सिलिकॉन के उजागर क्षेत्रों का सही पैटर्न हो।
लेवी



14
कभी पेंट का काम किया और मास्किंग टेप का इस्तेमाल किया?
gnasher729

1
दूसरे प्रकार के मुखौटे: पिक्सेल परफेक्ट टक्कर का पता लगाने के बारे में 2 डी मास्क ओवरलैप का पता लगाना है।
अलुराक

जवाबों:


101

एक मुखौटा (चेहरे की विविधता) एक ऐसी चीज है जो आपके चेहरे के कुछ हिस्सों को कवर करती है और अन्य हिस्सों को दिखाती है। शब्दावली का उपयोग कंप्यूटिंग में सादृश्य द्वारा किया जाता है: एक बिटमस्क एक बिटसेट में कुछ बिट्स को कवर करता है (बाहर फ़िल्टर करता है) और दूसरों को पास करने की अनुमति देता है।

क्या आईटी डोमेन में बिट मास्क के अलावा किसी अन्य प्रकार के "मास्क" हैं?

मेरे सिर के ठीक ऊपर, इमेज प्रोसेसिंग में अक्सर मास्क का उपयोग किया जाता है। यह एक समान अवधारणा है: आप एक श्वेत-श्याम छवि बनाते हैं जो दिखावा करती है कि किस चीज़ को बंद करना है और किस चीज़ को छोड़ना है।


33
सबनेट मास्क भी बहुत आम हैं
Matthieu M.

38
@MatthieuM। लेकिन सबनेट मास्क भी बिटमास्क नहीं हैं? उनका उपयोग नेटवर्क पते और होस्ट पते को फ़िल्टर करने के लिए किया जाता है।
yoyo_fun

22
@ जेनिफरएंडरसन एक ब्लैक-एंड-वाइट इमेज के साथ ही एक पिक्सेल बिटमास्क भी नहीं है?
बर्गी

8
सिलिकॉन चिप उत्पादन में भौतिक छवि मास्क का उपयोग किया जाता है, एक तकनीक के भाग के रूप में जो पारंपरिक फोटोग्राफी और प्रोसेस प्रिंटिंग से विकसित होती है। en.wikipedia.org/wiki/Photolithography
जेंडर

20
मास्किंग एक क्षेत्र को दूसरे के परिवर्तन की अनुमति देते हुए परिवर्तन से बचाने के लिए एक कलात्मक शब्द है। इसका इस्तेमाल अक्सर पेंटिंग में किया जाता है। यह मास्किंग टेप के लिए है: इसलिए आप उन चीजों पर पेंट नहीं करते हैं जिन्हें आप पेंट नहीं करना चाहते हैं जबकि अभी भी उन चीजों पर पेंट करना चाहते हैं जिन्हें आप पेंट करना चाहते हैं।
नैट डायमंड

54

एक बिट मास्क का उपयोग दूसरों को उजागर करते समय एक बिट क्षेत्र के कुछ बिट्स को मुखौटा करने के लिए किया जाता है:

initial value: 011011001
bit mask.....: 111110000
result value.: 011010000

इसका उपयोग तार्किक गेट (और, ...) या ट्रांजिस्टर में या रिले के साथ इलेक्ट्रोमैकेनिक्स में इलेक्ट्रॉनिक्स में कंप्यूटिंग से पहले किया गया है।


6
"एक बिट मास्क का उपयोग दूसरों को उजागर करते समय एक बिट क्षेत्र के कुछ बिट्स को मुखौटा करने के लिए किया जाता है:" मैंने कभी इस तरह से नहीं सोचा था लेकिन यह बहुत मायने रखता है। स्पष्टीकरण के लिए धन्यवाद :)
yoyo_fun

1
@mouvicel क्या आप मुझे कुछ लिंक के बारे में बता सकते हैं कि तार्किक गेट के साथ इलेक्ट्रॉनिक्स में बिट मास्क का उपयोग कैसे किया जाता है। इसका उद्देश्य क्या था, इस तकनीक का उपयोग किस तरह के सिस्टम में किया गया और यह तकनीक कब शुरू हुई?
yoyo_fun

4
स्पष्ट करने के लिए: प्रारंभिक मान मास्क के साथ है, और इस प्रकार केवल "1" पर मास्क बिट्स प्रारंभिक मूल्य (जैसे, बिटवाइज़, "1 और 1 = 1" और "0 और 1 = 0") से मूल बिट्स रखता है। ), और प्रारंभिक मूल्य के दूसरे बिट्स 0 के रूप में सेट किए गए हैं (बिटवाइज़) "0 और 0 = 0" और "1 और 0 = 0") (क्योंकि "और" का कहना है कि "केवल जब पहला बिट और दूसरा बिट 1 पर सेट है, परिणाम 1 है। अन्य सभी 0 में परिणाम हैं (या इसका मतलब है: या तो 1 बिट के साथ यह 1 या 2 बिट है 1 परिणाम 1 होगा। आदि)। en.wikipedia
ओलिवियर दुलैक

2
@ जेनिफरएंडरसन: तार्किक बिट मास्क के अलावा इलेक्ट्रॉनिक्स में वास्तविक मास्क का उपयोग किया जाता है: एक सोल्डर मास्क एक स्टैंसिल (कार्ड का एक टुकड़ा) है जो पीसीबी पर मिलाप पेस्ट को जमा करने के लिए उपयोग किया जाता है। आप मास्क को PCB पर लगाते हैं, मास्क के ऊपर सोल्डर पेस्ट को स्मीयर करने के लिए एक स्क्वीजी का उपयोग करते हैं, फिर मास्क में छेद पेस्ट को सही तरीके से केवल उन क्षेत्रों को कवर करने की अनुमति देगा जो आपको मिलाप पेस्ट की आवश्यकता होती है ( youtube.com/watch?v=EqJN1VCOQQ ) । चिप में मास्क निर्माण का उपयोग सिलिकॉन पर संरचना बनाने या खोदने के लिए किया जाता है। "मुखौटा" शब्द का यह उपयोग मुद्रण उद्योग से आता है।
स्लीपबेटमैन

4
@ जेनिफरएंडरसन: कुछ को कवर करने के लिए अंग्रेजी में "मास्क" शब्द का उपयोग अधिक सामान्य है और शायद बहुत पुराना है। उदाहरण के लिए अंग्रेजी में हम कहते हैं कि इत्र का उपयोग बुरी गंध को मास्क करने के लिए किया जा सकता है।
स्लीपबेटमैन

39

बिटमास्क बहुत पुराने हैं। मैं पहले एक का संदर्भ नहीं पा सका हूं, लेकिन वे 8-बिट प्रोसेसर के आगमन से निश्चित रूप से लोकप्रिय थे, और संभवतः 4-बिट प्रोसेसर में भी उपयोग किया जाता था।

बिटमास्क के पीछे का विचार बिटवाइज़ समानता का लाभ उठाना है। एक 8 बिट कंप्यूटर एक ही बिटवाइज़ ऑपरेशन को एक ही बार में 8 बिट्स कर सकता है यदि वे एक ही मूल शब्द में पैक किए गए हैं (जिसका अर्थ है कि यह एक रजिस्टर में फिट बैठता है)।

नाम मास्किंग से आता है, जो उन क्षेत्रों को कवर करने के लिए एक सामान्य दृष्टिकोण है जिनके साथ आप बातचीत नहीं करना चाहते हैं। उदाहरण के लिए, इस स्टैंसिल पर विचार करें कि दीवार के क्षेत्रों को बंद करने के लिए (पैटर्न दिखाने के लिए पेंटिंग के बाद स्टैंसिल को स्थानांतरित किया गया है)

स्टेंसिल

मास्क का उपयोग फोटोग्राफी में भी किया जाता है, जहां वे "स्टैंसिल" के बजाय "चकमा" शब्द से जाते हैं। आप एक क्षेत्र को हल्का करने के लिए मुद्रण के दौरान कुछ प्रकाश को अस्पष्ट करने के लिए एक मुखौटा का उपयोग कर सकते हैं।

फोटोग्राफी के मुखौटे

इस शब्द का उपयोग सीधे फोटोलिथोग्राफी में किया जाता है, जो कि एकीकृत सर्किट बनाने के लिए उपयोग की जाने वाली तकनीक है। मुखौटा प्रकाश को चिप पर चित्रित फोटोरिस्टिस्ट तक पहुंचने से रोकता है, जो पैटर्न बनाता है जो बाद में चिप पर फेसिंग पैटर्न का नेतृत्व करता है। (नीचे की छवि Intel 8080A प्रोसेसर के लिए मास्क में से एक है , यदि आप उत्सुक हैं)

फोटोलिथोग्राफी मास्क

इसी तरह, बिट मास्किंग में, आप उस शब्द के हिस्सों का चयन कर रहे हैं, जिसे आप ऑपरेट करना चाहते हैं, बाकी सभी बिट्स को मास्किंग करें। नीचे दिए गए उदाहरण में, मैं इनपुट को मास्क करने के लिए "और" ऑपरेशन का उपयोग करता हूं जैसे कि केवल 3 जी, 4 वें और 8 वें बिट शो के माध्यम से। बाकी "नकाबपोश" हैं ताकि वे 0 हैं। मेरे द्वारा उपयोग किया जाने वाला मास्क है 00110001। मैं इसे #0 का .प्रतिनिधित्व करने और 1 का प्रतिनिधित्व करने के साथ नीचे दिखाता हूं क्योंकि यह ऊपर दिए गए भौतिक मुखौटे के समान बिटमास्क की दृश्य उपस्थिति बनाता है, और मैं एक "चयनित बिट्स" पंक्ति दिखाता हूं जो आउटपुट से बिट्स को दिखाता है जो नकाबपोश नहीं थे ( "चयनित बिट्स" वास्तव में एक तार्किक ऑपरेशन नहीं होता है जो होता है ... प्रोसेसर वास्तव में इनपुट और मास्क से आउटपुट में एक चरण में सही हो जाता है, लेकिन मुझे लगता है कि यह दृश्य छवि को स्पष्ट करता है)

Input          10010111
Mask           ##..###.  (aka 00110001)
-----------------------
(selected)       01   1
Input AND Mask 00010001

जैसा कि मैंने उल्लेख किया है, बिटमैपिंग बहुत पुराना है क्योंकि यह प्रोसेसर की उत्पादकता को नाटकीय रूप से बढ़ाता है। 4 बिट प्रोसेसर पर, यह प्रोसेसर को 4x तेज बना सकता है। एक 8 बिट प्रक्रिया पर, या यह इसे 8x तेज (अकेले बिटकॉइन संचालन पर, निश्चित रूप से) कर सकता है।

इसके लिए एक आकर्षक उपयोग शतरंज इंजन है। शतरंज बोर्ड में 64 वर्ग हैं। आधुनिक इंजन में 64 बिट पूर्णांक हैं। यह भाग्य का एक बहुत सुविधाजनक बिट है, इसलिए शतरंज इंजन अक्सर इसका लाभ उठाते हैं। उनके पास तथाकथित " बिटबोर्ड " हैं जिसमें टुकड़ों के स्थान शामिल हैं। इससे आप सभी प्रकार के अनुकूलन कर सकते हैं, जैसे कि एक ही चरण में सभी मोहरे चाल की तलाश करना।


33

अंग्रेजी में इसके सबसे सामान्य उपयोग में, एक मुखौटा एक उपकरण है जो कुछ छुपाता है। एक अन्य उत्तर में स्क्रीन प्रिंटिंग का उल्लेख किया गया है। पेंटिंग टेप 'मास्क ऑफ' कुछ इस पर पेंट से बचने के लिए, आदि। एक पीसी बोर्ड पर मिलाप मास्क 'बंद क्षेत्र' क्षेत्र से टांका लगाने के लिए नहीं मिलाप किया जाना है।

"बिट मास्किंग" के मामले में, कुछ बिट्स 'छिपे हुए' या नजरअंदाज किए जाते हैं, ताकि जो लोग अधिक रुचि रखते हैं, उन्हें अधिक आसानी से हेरफेर किया जा सके या बस देखा जा सके।

बिट मास्किंग केवल एक 'पुरानी' तकनीक नहीं है, यह एक आदिम ऑपरेशन है, जिसमें सभी मशीन निर्देश नहीं हैं, जहां तक ​​मैं जल्द से जल्द प्रोसेसर से जानता हूं। आमतौर पर यह "इस रजिस्टर में बिट पैटर्न का उपयोग करने के लिए बिट्स को किसी अन्य रजिस्टर में मास्क करने के लिए होता है।"


12
मैंने "पेंटिंग टेप" शब्द नहीं सुना है। मुझे लगता है कि यह वही है जिसे मैं "मास्किंग टेप" कहूंगा।
सलेम

12
@ अन्य: शब्द "मास्किंग टेप", कम से कम अमेरिका में, आसानी से फटे कपड़े-आधारित टेप को संदर्भित करता है। जब पेंटिंग के लिए उपयोग किया जाता है, तो यह कुछ हद तक "फजी" बढ़त पैदा करता है। क्योंकि इस तरह के टेप का उपयोग कई अन्य उद्देश्यों के लिए किया जाता है, नए टेप जो पेंटिंग के लिए बेहतर हैं (लेकिन अधिक महंगे हैं, और अन्य उद्देश्यों के लिए कम उपयुक्त हो सकते हैं) को "चित्रकार का टेप" कहा जाता है।
सुपरकाट

2
@ बरमार जो कोई भी हार्डवेयर स्टोर के पेंटिंग सेक्शन में गया है, वह उनके पार चला जाएगा।
क्राइसिस -ऑन स्ट्राइक-

5
मैं कोई चित्रकार नहीं हूं और मुझे पता है कि चित्रकार का टेप और मास्किंग टेप दो अलग-अलग प्रकार के टेप हैं। शायद सिर्फ इतना कह रहा है कि "मास्किंग टेप एक प्रकार का टेप है जिसका उपयोग इसकी अपारदर्शिता के लिए किया जाता है और इस पर लिखना आसान है।"
वल्बाका

2
मैंने स्थानीय (ऑस्ट्रेलिया) के विशाल हार्डवेयर स्टोर की वेब साइट की खोज करने की कोशिश की और "पेंटिंग टेप" के लिए पहली हिट "मास्किंग टेप" के रूप में लेबल किया गया उत्पाद है, इसलिए मुझे लगता है कि ऐसा है। ;) क्षेत्रों के बीच अच्छी पुरानी शब्दावली मतभेद, मुझे संदेह है। लोग वास्तव में गॉफी टेप के रूप में क्या मायने रखते हैं, इस पर निर्भर करते हैं कि वे कहाँ रहते हैं।
तर्जुक

10

एक बिट मास्क स्क्रीन प्रिंटिंग के समान है । आप परिणाम में ले जाने के लिए कुछ निश्चित बिट स्थिति का चयन करते हैं:

source value = 42 -> 00101010b
mask = 51 -> 00110011b
result 42&51 = 00100010b -> 34

मास्क का एक अन्य अर्थ ग्राफिकल यूजर इंटरफेस में एक पेज है जहां उपयोगकर्ता डेटा इनपुट कर सकता है।


3

बिट मास्क का आविष्कार कुछ कारणों से किया गया था:

  • हार्डवेयर रजिस्टरों को बिट्स के एक सन्निहित सेट पर मैप किया गया था
  • मेमोरी स्पेस बहुत दूर अतीत में सीमित नहीं था

जब आप देखते हैं कि आप बिट्स के पैटर्न को कैसे देखते हैं तो आप बिट को चालू करने के लिए ओरिंग कर रहे हैं या बिट्स को बंद करने के लिए एंडिंग कर रहे हैं, यह एक मुखौटा जैसा दिखता है।

सबसे आम मुखौटा (बिट मास्क के आधार पर) एक छवि मुखौटा है (लिंक मैं शुरुआत में शामिल देखें)।


2
झंडे के मूल्यों का एक बिटमैप अभी भी boolएक अलग बाइट में प्रत्येक झंडे के किसी या किसी अन्य तरीके से झंडे के सेट के चारों ओर पारित करने के लिए एक उपयुक्त और अधिक कुशल तरीका है । if (x & (FLAG_A | FLAG_B))इसके बजाय कुशलतापूर्वक चीजों को करना संभव बनाता है if (xflags[FLAG_A] || xflags[FLAG_B])। खासकर अगर मुखौटा स्थिर नहीं है; एक पूर्णांक के रूप में एक मुखौटा को पारित करने में सक्षम होने की जाँच की जाने वाली झंडे की सूची से गुजरने की तुलना में बहुत सस्ता है। तो भले ही मेमोरी और कैश असीमित थे, फिर भी कुछ मामलों में बिटसेट और मास्क का उपयोग करना अधिक कुशल होगा।
पीटर कॉर्ड्स

कभी नहीं कहा कि यह अभी भी उपयोगी नहीं था। बस कहा गया कि हार्डवेयर रजिस्टरों और सीमित मेमोरी से निपटने में मूल की जड़ें थीं। मैं अभी भी बिट मास्क का उपयोग करता हूं जब वे समस्या के लिए उपयुक्त होते हैं।
बेरिन लोरिट्श

1
मेरे कहने का तात्पर्य यह था कि मूल पुराने पुराने कंप्यूटरों की स्मृति और प्रदर्शन के बराबर हिस्से हैं।
पीटर कॉर्ड्स

1
माना। एक कमोडोर 64 को क्रमादेशित करने के बाद, आपको ग्राफिक्स, ध्वनि, धारावाहिक और समानांतर I / O के साथ चीजों को करने के लिए बिट मास्क जानने की आवश्यकता है। नियंत्रक चिप्स को उस पते के भीतर बिट्स के लिए मैप किए गए पिन के साथ मेमोरी पते पर मैप किया गया था। मुझे लगता है कि आप तर्क दे सकते हैं कि बिट मास्क ने हार्डवेयर इंटरफ़ेस को प्रभावित किया या इसके विपरीत। किसी भी तरह, आपको कुछ भी उपयोगी पाने के लिए उन्हें जानना था।
बेरिन लोरिट्श

@BerinLoritsch उत्तर के लिए धन्यवाद। क्या आप समझा सकते हैं कि "हार्डवेयर रजिस्टरों को बिट्स के एक आकस्मिक सेट पर मैप किया गया" से आपका क्या मतलब है? क्या हार्डवेयर रजिस्टर एक दूसरे से स्वतंत्र रूप से एक्सेस नहीं होते हैं?
yoyo_fun

3

आईटी में एक अन्य प्रकार का भौतिक मुखौटा है लिथोग्राफिक फोटोमैस्क जिसका उपयोग सिलिकॉन वेफर के केवल एक हिस्से को खोदने के लिए किया जाता है। इसका उपयोग शुरुआती कंप्यूटरों के निर्माण के लिए नहीं किया गया था, लेकिन पिछले पचास वर्षों में उद्योग में काम करने वाले किसी व्यक्ति को इसके बारे में पता था।

मुझे नहीं पता कि सटीक शब्द "बिटमास्क" कब दिखाई दिया, लेकिन ऑपरेशन ही एक बिटवाइज़ है और, जो हर बाइनरी कंप्यूटर का एक बुनियादी निर्देश है।


"प्रत्येक बाइनरी कंप्यूटर में बुनियादी निर्देश" के लिए +1। लोगों को यह जानने की आवश्यकता है कि कंप्यूटर क्या हैं , और वे इस तरह क्यों हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.