हम कैसे सुनिश्चित कर सकते हैं कि कंप्यूटर कभी भी गलती से 0 को 1 से स्विच नहीं करेगा?


63

मैंने Shocken / Nisan's: कम्प्यूटिंग सिस्टम के तत्वों में एक डिजिटल कंप्यूटर के निर्माण के बारे में थोड़ा पढ़ा है । लेकिन यह पुस्तक कंप्यूटर में कुछ बिजली के पहलुओं के बारे में कुछ नहीं कहती है, उदाहरण के लिए: यह अक्सर कहा जाता है कि 0 और 1 वोल्टेज द्वारा दर्शाए जाते हैं, यदि वोल्टेज अंतराल [0, 0.9) में है, तो यह 0. है यदि वोल्टेज है अंतराल में [०.९, १.५), तो यह १ है (वोल्टेज भिन्न हो सकते हैं, मैं केवल एक उदाहरण दे रहा हूं)।

लेकिन मैंने कभी नहीं पढ़ा कि विद्युत वोल्टेज "सुव्यवस्थित" किस तरह से रहता है कि कंप्यूटर के अंदर विद्युत अस्थिरता [1] के कारण 0 कभी गलती से 1 नहीं बन सकता है। शायद यह बहुत संभव है कि वोल्टेज 0.9 के पास हो, फिर इसे दहलीज से गुजरने से बचने के लिए क्या किया जाता है?

[१]: मान लीजिए कि यह मौजूद है।


7
करंट कभी भी 0.9 के पास नहीं होता है, क्योंकि कुछ भी करंट कभी भी 0.9 के पास नहीं आता है।
user253751

7
क्योंकि चीजों को बहुत करीने से आउटपुट नहीं करने के लिए डिज़ाइन किया गया है 0.9। आप यह भी पूछ सकते हैं कि "मेरे पास ठोस अनुभवजन्य साक्ष्य हैं कि मेरे लैपटॉप पर 50 गीगावाट का शुल्क नहीं लिया गया है? यह क्यों नहीं है?" केवल इसलिए कि इसका कोई कारण नहीं है।
user253751

13
Nitpick: अधिकांश डिजिटल लॉजिक तार्किक अवस्थाओं का प्रतिनिधित्व करने के लिए वोल्टेज का उपयोग करते हैं, धाराओं का नहीं।
डस्कवफ

11
उपाख्यानात्मक साक्ष्य: 2011 में मैंने एक hdd पर एक फ़ाइल में थोड़ा सा स्वैप किया था जो 5 साल से ठीक काम कर रहा था।
प्लाज़्मा एचएच

7
ये आकस्मिक स्विच शोषक हैं। Google का स्पष्टीकरण इसके लिए एक दिलचस्प मामला है। यह निश्चित रूप से सुरक्षा को बहुत कठिन बनाता है जब "सेट बिट एक्स 1 से" के लिए वास्तविक एपीआई "सेट बिट एक्स 1 से 1 और कभी-कभी गलती से बिट वाई 1 से" सेट हो जाता है। ओवरक्लॉक मशीनों के मामले में भी यह बहुत आम है। मुझे याद है कि एक कंपनी ने वास्तव में गणनाओं (प्रत्येक फ्रेम) का एक गुच्छा जोड़ा था ताकि यह पता चल सके कि हार्डवेयर गेम चलाने के लिए पर्याप्त विश्वसनीय था या नहीं।
ब्रायन

जवाबों:


100

यह अक्सर कहा जाता है कि 0 और 1 का प्रतिनिधित्व वोल्टेज द्वारा किया जाता है, यदि वोल्टेज अंतराल [0, 0.9) में है, तो यह 0. है। यदि वोल्टेज अंतराल में है [0.9, 1.5), तो यह 1 है ( वोल्टेज भिन्न हो सकते हैं, मैं केवल एक उदाहरण दे रहा हूं)।

कुछ हद तक, आपने ज्यादातर अवास्तविक उदाहरण का उपयोग करके इस समस्या को बनाया है। वास्तविक सर्किट में तार्किक कम और उच्च के बीच बहुत बड़ा अंतर है।

उदाहरण के लिए, 5V CMOS लॉजिक लॉजिक के लिए 0-0.2V और लॉजिक हाई के लिए 4.7-5V का उत्पादन करेगा, और लगातार 1.3V के तहत कुछ भी कम या 3.7V से अधिक के रूप में कुछ भी स्वीकार करेगा। यही है, इनपुट की तुलना में आउटपुट पर बहुत अधिक मामूली अंतर है, और वोल्टेज के बीच एक बड़ा अंतर बचा है जो तार्किक कम संकेतों (<1.3V) और उन लोगों के लिए उपयोग किया जा सकता है जो तार्किक उच्च (> 3.7V) के लिए उपयोग किए जा सकते हैं । यह सभी विशेष रूप से शोर के लिए भत्ते बनाने के लिए निर्धारित किया गया है, और बहुत ही आकस्मिक स्विचिंग को रोकने के लिए जिसे आप वर्णन कर रहे हैं।

यहां विभिन्न प्रकार के तर्क मानकों के लिए थ्रेसहोल्ड का एक दृश्य प्रतिनिधित्व है, जिसे मैंने interfacebus.com से उधार लिया है :

तर्क स्तर सीमा] [१]

प्रत्येक स्तंभ एक तर्क मानक का प्रतिनिधित्व करता है, और ऊर्ध्वाधर अक्ष वोल्टेज है। यहाँ प्रत्येक रंग का प्रतिनिधित्व करता है:

  • नारंगी: इस श्रेणी के वोल्टेज तार्किक उच्च के लिए आउटपुट हैं, और तार्किक उच्च के रूप में स्वीकार किए जाएंगे।
  • हल्का हरा: इस श्रेणी के वोल्टेज को तार्किक उच्च के रूप में स्वीकार किया जाएगा।
  • गुलाबी / नीला: इस श्रेणी के वोल्टेज की लगातार व्याख्या नहीं की जाएगी, लेकिन गुलाबी क्षेत्र के लोगों को आमतौर पर उच्च के रूप में व्याख्या की जाएगी, और नीले क्षेत्र में वाले आमतौर पर कम होंगे।
  • नीला हरा: इस श्रेणी में वोल्टेज तार्किक कम के रूप में स्वीकार किया जाएगा।
  • पीला: इस श्रेणी में वोल्टेज तार्किक कम के लिए आउटपुट हैं, और इसे तार्किक कम के रूप में व्याख्या किया जाएगा।

4
अच्छा जवाब, हालांकि मुझे लगता है कि यह अधिक पूर्ण हो सकता है: आप केवल (या बल्कि, संरक्षण) शोर के लिए प्रतिरक्षा को कवर करते हैं। डिजिटल त्रुटियों के लिए जिम्मेदार कई अन्य तंत्र हैं, और सुरक्षा के कई साधन हैं। अच्छी बात यह है कि, मैंने अपने उत्तर में शोर करने की प्रतिरोधक क्षमता को कवर नहीं किया :)
मिस्टर मिस्टेयर

1
@ MisterMystère यह सच है! त्रुटि सुधार एक बहुत बड़ा विषय है, हालाँकि, और मैं संभवतः एक उत्तर में यह सब कवर नहीं कर सकता।
दशकुफ

1
@ मिस्टर मिस्टेयर: खैर, "शोर" एक शब्द है जो सभी प्रकार के स्टोकेस्टिक त्रुटि स्रोतों को कवर करता है। ईएम हस्तक्षेप और ब्रह्मांडीय विकिरण के आपके उदाहरण ठीक "शोर" की श्रेणी में आते हैं। डिजिटल त्रुटि का एकमात्र अन्य कारण एक नियतात्मक है, जिसे हम "बग" कहते हैं। लेकिन यह सवाल केवल आकस्मिक त्रुटियों के बारे में है।
बेन वोइग्ट

आपकी तीसरी गोली में, मेरा मानना ​​है कि आपके पास रंग या तर्क है। गुलाबी कम होना चाहिए और नीला अधिक होना चाहिए।
गिल

@ गुइल हुह? गुलाबी क्षेत्र V_T से ऊपर है, इसलिए इसे अविश्वसनीय रूप से तार्किक उच्च माना जाएगा।
22

65

हम नहीं कर सकते। हम डेटा में चेक जोड़कर त्रुटियों की संभावना को कम कर रहे हैं। किस प्रकार के डेटा की जाँच की जानी है, इसके आधार पर इसे या तो हार्डवेयर या सॉफ्टवेयर के माध्यम से किया जा सकता है, और धारावाहिक धाराओं में सरल चेकसम बिट्स से चक्रीय राज्य मशीनों तक कोई भी रूप ले सकता है, जिससे किसी भी समय केवल विशिष्ट परिवर्तन किए जा सकते हैं।

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

सवाल यह है कि आप चाहते हैं कि आपका सिस्टम कितना विश्वसनीय हो? उपग्रहों, जो उपलब्ध सबसे विश्वसनीय कंप्यूटर प्रणालियों में से कुछ को एम्बेड करते हैं, उदाहरण के लिए कभी-कभी गैर-समान प्रणालियों के अतिरेक को पार करने के लिए और साथ ही वोट का सहारा लेते हैं: तीन अलग-अलग कंप्यूटर तीन अलग-अलग व्यक्तियों द्वारा कोड किए गए एक ही एल्गोरिदम को तीन अलग-अलग तरीकों से चलाते हैं, और यदि एक कंप्यूटर दो अन्य लोगों से एक अलग परिणाम देता है, इसे फिर से शुरू किया जाता है (और यदि यह फिर से होता है, तो पृथक)। लेकिन फिर से, यदि दो कंप्यूटर एक ही समय में दोषपूर्ण हैं, तो गलत कंप्यूटर को फिर से चालू / पृथक किया जाएगा। आमतौर पर, "ठंड अतिरेक" पर्याप्त होता है: एक प्राथमिक और एक माध्यमिक सर्किट लागू किया जाता है, प्राथमिक तब तक चलता है जब तक कि किसी प्रकार की (गैर-संरक्षित) निगरानी सर्किट द्वारा एक त्रुटि का पता नहीं चलता है और माध्यमिक सर्किट में स्वैप किया जाता है। यदि यह सिर्फ एक त्रुटि है। राम में, डेटा को रीफ्रेश करने के लिए कोड को फिर से चलाया जा सकता है। आपको बस समझदारी से निर्णय लेना है कि रेखा कहाँ खींचनी है, 100% विश्वसनीय त्रुटि पहचान सर्किट बनाना असंभव है।

उपग्रहों (विशेष रूप से उच्च ऊंचाई पर या वैन एलेन बेल्ट में) और परमाणु संयंत्रों या अन्य रेडियोधर्मी वातावरण में कंप्यूटर विशेष रूप से इसके अधीन हैं (कीवर्ड :) सिंगल इवेंट अपसेट्स या लैचअप उच्च ऊर्जा कणों के साथ टकरा जाने या अर्धचालक के क्रिस्टल लैटिस के साथ अवशोषित होने के कारण। । इन क्षेत्रों को कवर करने वाली किताबें निश्चित रूप से आपकी सबसे अच्छी शर्त होगी। विकिरण से विस्थापन क्षति से पेंट खराब हो जाता है, इसलिए यह पूरी तरह से समझ में आता है कि अर्धचालक भी आने वाले विकिरण से क्षतिग्रस्त या परेशान हो सकते हैं।


2
मुझे यकीन नहीं है कि अगर आप 'शातिर सर्कल' लिखना चाहते हैं, लेकिन 'चिपचिपा सर्कल' उतना ही अजीब लगता है।
svavil

1
वास्तव में यह विस्मयकारी चक्र था लेकिन चिपचिपा घेरे ने मुझे हँसा दिया :)
मिस्टर मिस्टेयर

1
यह केवल n n बिट्स का पता लगाने और n बिट्स में एक एकल बिट त्रुटि को ठीक करने में सक्षम होने में लेता है।
Thorbjørn Ravn Andersen

1
यह मुझे रेडियोधर्मी यौगिकों के संपर्क में आने वाले कंप्यूटरों में हार्डवेयर त्रुटियों के लिए प्रोग्राम लिखने के बारे में हाल के एक प्रश्न की याद दिलाता है: stackoverflow.com/questions/36827659/…
फैप्प

मुझे उपग्रहों के बारे में नहीं पता था कि तीन अलग-अलग 'समूह' (या अधिक) एक ही चीज़ को एक अलग तरीके से कोड कर रहे हैं। अच्छा लगता है :)
kalmanIsAGameChanger

33

सिंगल इवेंट अपसेट अब न अंतरिक्ष की चीज़ हैं और न ही विमान; हम उन्हें सतह पर एक दशक से देख रहे हैं, शायद अब तक दो।

जैसा कि उल्लेख किया गया है, कम से कम अंतरिक्ष अनुप्रयोगों में हम ट्रिपल वोटिंग का उपयोग करके अपसेट करते हैं (प्रत्येक बिट वास्तव में तीन है, और दो तिहाई वोट जीतता है, इसलिए यदि कोई ऐसा है जो अन्य दो को बदल देगा तो यह कवर होगा।) और फिर ECC या EDAC , स्क्रबर्स के साथ जो सिंगल इवेंट अपसेट्स को साफ करने के लिए अनुमानित सिंगल इवेंट अपडेट रेट की तुलना में अधिक रैम की दर से चलते हैं (जो वास्तव में दो तिहाई वोट को गलत तरीके से धकेलते हैं)।

फिर कुल खुराक है; समय के साथ सामग्री बस काम करने के लिए बहुत अधिक रेडियोधर्मी हो जाती है, इसलिए आप वाहन के जीवन को पार करने के लिए पर्याप्त सामग्री का उपयोग करते हैं। ऐसा कुछ नहीं है जिसकी हम सामान्य रूप से सतह पर चिंता करते हैं। (और latchup) समानांतर में तीन / एकाधिक सेट तर्क का उपयोग करना / पारंपरिक रेड-हार्ड तकनीक का उपयोग नहीं करने का प्रयास करने का एक तरीका है, और अच्छी तरह से, आप पा सकते हैं कि कितनी अच्छी तरह से काम कर रहा है।

वे लोग जो यह जानते थे कि अंतरिक्ष के लिए सामान कैसे बनाया जाता है, अधिकांश भाग सेवानिवृत्त या स्थानांतरित हो जाते हैं, इसलिए हमारे पास अब अंतरिक्ष कचरा बनाने के लिए कई कार्यक्रम हैं। या हर किसी को काम करने की कोशिश करने और नियंत्रित री-एंट्री और बर्नअप करने के बजाय, धरती के भीतर के उत्पादों की तरह अंतरिक्ष का इलाज करना, अब हम हर नक्षत्र के बाहर अंतरिक्ष कचरे की एक निश्चित राशि की उम्मीद करते हैं।

हम सतह पर अपसेट देखते हैं। आपके द्वारा खरीदी गई कोई भी मेमोरी स्टिक ( DRAM ) में FIT, Failures In Time, और इसमें RAM वाली कोई भी चिप (सभी प्रोसेसर, कई अन्य), FIT स्पेक के साथ-साथ RAM (SRAM) ब्लॉक भी होंगे। रैम अधिक सघन है और छोटे ट्रांजिस्टर का उपयोग करता है, इसलिए यह आंतरिक रूप से निर्मित या बाहरी परेशान करने के लिए अधिक संवेदनशील है। अधिकांश समय हम ध्यान नहीं देते हैं या ध्यान नहीं देते हैं क्योंकि हम जिस मेमोरी का उपयोग डेटा के लिए करते हैं, वीडियो देखना, आदि लिखा जाता है, वापस पढ़ा जाता है और उपयोग नहीं किया जाता है इससे पहले कि यह एक परेशान होने के लिए लंबे समय तक बैठता है। कुछ मेमोरी, जैसे कोई प्रोग्राम या कर्नेल धारण करना, अधिक जोखिम भरा है। लेकिन हम लंबे समय से अपने कंप्यूटर को रिबूट करने या अपने फोन को रीसेट / रिबूट करने के विचार के लिए उपयोग करते हैं (कुछ फोन / ब्रांड आपको नियमित रूप से बैटरी को समय-समय पर निकालना होगा)। ये अपसेट थे या ख़राब सॉफ्टवेयर या संयोजन?

आपके व्यक्तिगत उत्पाद की FIT संख्या उस उत्पाद के जीवन को पार कर सकती है, लेकिन एक बड़े सर्वर फ़ार्म को ले लें, आप सभी RAM या चिप्स या जो कुछ भी और MTBF वर्षों या आदेशों से पिछले दिनों, कहीं दिनों या घंटों के लिए जाते हैं, में कारक खेत। और आपके पास उन लोगों के लिए ईसीसी है जो आप कर सकते हैं। और फिर आप किसी कार्य को पूरा करने में विफल रहने वाली मशीनों या सॉफ़्टवेयर को कवर करने के लिए विफलताओं के साथ प्रसंस्करण भार वितरित करते हैं।

ठोस राज्य भंडारण की इच्छा, और कताई मीडिया के कदम ने इससे संबंधित एक समस्या पैदा की है। SSDs (और अन्य गैर-वाष्पशील भंडारण) के लिए उपयोग किया जाने वाला भंडारण तेज और सस्ता पाने के लिए, हम EDAC पर निर्भर और निर्भर होने की तुलना में बहुत अधिक अस्थिर है, क्योंकि हम इसके बिना डेटा खो देंगे। वे बहुत सारी अतिरिक्त बिट्स को फेंक देते हैं और पूरी चीज को ग्रहण करते हैं, जो कि भंडारण की गति, लागत और दीर्घायु को संतुलित करने के लिए गणित करते हैं। मैं हमें पीछे मुड़कर नहीं देखता; लोग हर जगह अधिक गैर-वाष्पशील भंडारण चाहते हैं जो एक छोटे पैकेज में फिट बैठता है और उत्पाद की कीमत पर हावी नहीं होता है।

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

इसलिए हम बस ट्रांजिस्टर को उसकी रेल में पटक देते हैं और एक सिग्नल के दोनों किनारे अगले घड़ी चक्र द्वारा व्यवस्थित हो जाएंगे। महान दर्द उठाए जाते हैं, और वर्तमान उपकरण काफी बेहतर होते हैं, जैसा कि वे चिप डिजाइन के विश्लेषण को करने में करते थे, यह देखने के लिए कि डिजाइन द्वारा समय पर मार्जिन है। फिर प्रत्येक वफ़र (और / या पैकेजिंग के बाद) पर प्रत्येक परीक्षण का परीक्षण, यह देखने के लिए कि प्रत्येक चिप अच्छा है।

चिप तकनीक प्रयोगों पर आधारित आँकड़ों पर बहुत निर्भर करती है। जब आप अपने सीपीयू को ओवरक्लॉक करते हैं, तो अच्छी तरह से आप उस मार्जिन को आगे बढ़ा रहे हैं, विज्ञापित घड़ी की दर, तापमान आदि के भीतर रहें और आपकी संभावना समस्या होने की संभावना काफी कम है। एक 3 गीगाहर्ट्ज़ xyz प्रोसेसर केवल एक 4 गीगाहर्ट्ज चिप है जो 4 गीगाहर्ट्ज पर विफल रहा लेकिन 3 गीगाहर्ट्ज पर पारित हुआ। भागों को गति मूल रूप से एक उत्पादन लाइन से वर्गीकृत किया जाता है।

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

कोई भी तकनीक, यहां तक ​​कि अंतरिक्ष भी सही नहीं हैं। इसे केवल काफी अच्छा होना चाहिए, उत्पाद के पर्याप्त प्रतिशत को उत्पाद के अपेक्षित जीवन काल के लिए पर्याप्त होना चाहिए। स्मार्ट फोन के कुछ प्रतिशत को कम से कम दो साल बनाने हैं, और यह वह है। पुरानी ढलाई या तकनीक में अधिक प्रायोगिक डेटा है और यह अधिक विश्वसनीय उत्पाद का उत्पादन कर सकता है, लेकिन यह धीमा है, और नए डिजाइन नहीं हो सकते हैं, इसलिए आप वहां जाते हैं। काटने की धार बस इतनी है कि, सभी के लिए एक जुआ।

आपके विशिष्ट प्रश्न के लिए, एक संकेत के प्रत्येक छोर पर ट्रांजिस्टर को उनके रैखिक क्षेत्र के माध्यम से जल्दी से धकेल दिया जाता है और एक रेल में झुक जाता है। विश्लेषण हर जुझारू पथ पर किया जाता है ताकि यह निर्धारित किया जा सके कि यह पथ के अंत में घड़ी से पहले बस जाएगा, ताकि इसे सही मायने में शून्य या एक बना दिया जाए। विश्लेषण प्रयोगों पर आधारित है। किसी उत्पाद लाइन के पहले चिप्स को डिज़ाइन की सीमाओं से परे धकेल दिया जाता है, यह निर्धारित करने के लिए कि डिजाइन में मार्जिन है , schmoo प्लॉट बनाए जाते हैं। प्रक्रिया पर बदलाव किए जाते हैं और / या व्यक्तिगत उम्मीदवार पाए जाते हैं जो धीमी और तेज चिप्स का प्रतिनिधित्व करते हैं। यह एक जटिल प्रक्रिया है और कुछ में अधिक सामग्री है, कुछ में कम है, तेजी से चल रही है लेकिन अधिक ऊर्जा का उपयोग कर रही है या धीमी गति से चल रही है, आदि।

आप उन लोगों को भी हाशिये पर धकेल देते हैं। और मूल रूप से एक गर्म फजी लग रहा है कि डिजाइन उत्पादन में जाने के लिए ठीक है। JTAG / सीमा स्कैन का उपयोग प्रत्येक लैच की गई अवस्था के बीच चिप्स के माध्यम से यादृच्छिक पैटर्न को चलाने के लिए किया जाता है यह देखने के लिए कि कॉम्बिनेशन पथ सभी एक डिजाइन के लिए ठोस हैं। और जहां चिंताएँ हैं, कुछ निर्देशित कार्यात्मक परीक्षण भी हो सकते हैं। यह सुनिश्चित करने के लिए कि उत्पाद अच्छा है, पहले सिलिकॉन और शायद यादृच्छिक परीक्षण का आगे परीक्षण। यदि / जब विफलताएं होती हैं, तो यह आपको उत्पादन लाइन पर अधिक कार्यात्मक परीक्षणों पर वापस धकेल सकती है। यह आँकड़ों / प्रतिशत पर बहुत अधिक निर्भर है। 1/1000000 बुरे लोग ठीक हो सकते हैं या 1/1000 या जो भी हो; यह इस बात पर निर्भर करता है कि आप कितना सोचते हैं कि आप उस चिप का उत्पादन करेंगे।

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


4
आपका पहला पैराग्राफ यह ध्वनि करता है कि एयरोस्पेस वातावरण के साथ कोई और समस्या नहीं है, जबकि मुझे लगता है कि आपका मतलब है कि एसईयू अब उन वातावरणों में केवल अनुभवी नहीं हैं।
W5VO

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

@ W5VO, हां, मेरा मतलब था कि विकिरण के कारण अपसेट होना अब केवल एक स्पेस की समस्या नहीं है, वे सतह के नीचे की तरफ एक समस्या है। अंतरिक्ष में उतना बुरा नहीं है, लेकिन मौजूद है।
Old_timer

1
मुझे याद है कि कुछ डीईसी मिनीकंप्यूटर बसों को व्यवहार में मेटास्टेबिलिटी की समस्या थी। यह आपके द्वारा नामांकित बिट-त्रुटियों के लिए एक अलग तंत्र है, है ना? या नहीं?
दाविदबक

2
@davidbak: मेटास्टेबिलिटी गंदी समस्या है जिसका सबसे आम प्रभाव यह है कि ऐसे मामलों में जहां कई बिट्स का मान इस बात पर निर्भर करता है कि हाल के दिनों में किसी समय कुछ इनपुट कम या अधिक थे, सभी इनपुट के अनुरूप फैशन में एक साथ स्विच नहीं कर सकते हैं कम होना, न ही उच्च स्तर के अनुरूप फैशन में, बल्कि इसके बजाय दो व्यवहारों का एक मनमाना मिश्रण हो सकता है। उदाहरण के लिए, यदि किसी बटन को धकेलने पर कोड को माना जाता है, तो प्रोग्राम काउंटर बिट्स उन मूल्यों का एक मनमाना मिश्रण पकड़ सकता है, जो बटन दबाए जाने पर उनके पास होता या यदि ऐसा नहीं होता।
सुपरकैट

12

यदि आप एक सरल उत्तर के बाद हैं:

कंप्यूटर में प्रत्येक डिजिटल घटक उत्पन्न आउटपुट में अधिक प्रतिबंधित है, इनपुट से यह स्वीकार करता है। उदाहरण के लिए, 0V से 2V तक के किसी भी "इनपुट" मूल्य को 0 के रूप में स्वीकार किया जाएगा, लेकिन 0 का "आउटपुट" हमेशा 0 से 0.5V की सीमा में होगा। (कुछ वास्तविक मूल्यों के लिए डस्कवफ़ का जवाब देखें।)

इसका मतलब है कि प्रत्येक घटक लाइन के साथ होने वाले कुछ विचलन या शोर के लिए "सही" करने में मदद करता है। बेशक, यदि शोर काफी बड़ा है, तो सिस्टम क्षतिपूर्ति नहीं कर सकता है। उच्च विकिरण वातावरण में कंप्यूटर अक्सर 1s से 0 से बदलकर और इसके विपरीत प्रभावित हो सकते हैं।

मूल रूप से, कंप्यूटर को कुछ स्तरों के शोर / हस्तक्षेप को सहन करने के लिए डिज़ाइन किया गया है , जो अधिकांश व्यावहारिक उद्देश्यों के लिए पर्याप्त है।


8

थर्मल (और अन्य) शोर के कारण संकेतों के लिए 0 और 1 के बीच बदलना सैद्धांतिक रूप से संभव है, हालांकि यह बेहद संभावना नहीं है।

डिजिटल सर्किट को 'शोर मार्जिन' नामक विशेषता के साथ डिज़ाइन किया गया है। यह वह राशि है जिसके द्वारा आउटपुट फ़्लिप अवस्था के पहले इसके इनपुट को बदलना पड़ता है। आमतौर पर सीएमओएस सर्किट में यह आपूर्ति वोल्टेज का लगभग 50% होता है। इन परिपथों में अनुपयोगी थर्मल शोर (0 केल्विन के ऊपर किसी भी तापमान पर घूमने वाले इलेक्ट्रॉनों से आता है) इन सर्किटों में << 1 mV का शोर उत्पन्न करता है, और संभावना है कि ये स्पाइक्स 500 mV से अधिक (कह सकते हैं), अत्यधिक छोटे हैं।

डिजिटल (जैसे सीएमओएस) गेट्स में एक लाभ और संतृप्ति विशेषताएं हैं। इसका मतलब यह है कि जब इनपुट सिग्नल रेंज के मध्य के करीब होता है, तो आउटपुट जल्दी (उच्च लाभ) बदल जाता है, लेकिन जब यह रेंज के चरम सीमा के करीब होता है, तो यह धीरे-धीरे बदलता है। इसका नतीजा यह है कि जब एक इनपुट सिग्नल रेल के करीब होता है, तो आउटपुट भी करीब होता है - इसका मतलब है कि शोर बढ़ नहीं रहा है।

ऊपर बताई गई अन्य विशेषताएं (त्रुटि सुधार आदि) का अर्थ है कि त्रुटियां होने पर भी, वे प्रचार नहीं करती हैं।


4

संचार चैनल और चुंबकीय भंडारण (और कभी-कभी रैम) जैसी त्रुटियों की संभावना वाले सिस्टम में, खराब डेटा को अस्वीकार करने या छोटी त्रुटियों को सुधारने के लिए एक चेकसम, सीआरसी या ईसीसी संग्रहीत किया जाता है।

आम तौर पर बाइनरी सिस्टम को डिज़ाइन किया जाता है ताकि यह संभव न हो, लेकिन एक बार कुछ मिलियन या बिलियन * बार में एक कॉस्मिक किरण या शोर का एक टुकड़ा लाइन पर चीजों को कुरेद देगा, भ्रष्टाचार का पता लगाने के लिए त्रुटि का पता लगाने / सुधार की आवश्यकता है कंप्यूटर को गंभीर रूप से प्रभावित करने से।

* संचार चैनलों में बहुत अधिक, बहुत अधिक त्रुटि दर हो सकती है!


4

कंप्यूटर हार्डवेयर अधिक मजबूत और भरोसेमंद बन गया है। लेकिन एक सरल उत्तर के लिए हार्डवेयर बहुत व्यापक है। हालाँकि यह जानना दिलचस्पी का हो सकता है कि एक सामान्य डेस्कटॉप कंप्यूटर और एक एंटरप्राइज़ सर्वर कंप्यूटर के बीच एक निर्भरता अंतर है। मुझे सर्वर हार्डवेयर के बारे में यह प्रश्न / उत्तर धागा मिला । एक सर्वर एक तुलनीय डेस्क टॉप के कई गुना खर्च करेगा। लागत बेहतर हार्डवेयर का परिणाम है जो संभवतः अप्रत्याशित रूप से "स्विच 1 और 0" की संभावना से कई गुना कम है।

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


एमएलसी फ्लैश के अपवाद के साथ, जहां घनत्व के लिए विश्वसनीयता का कारोबार होता है,
जैसन

3

कर रहे हैं दो तरीके कि कर रहे हैं आमतौर पर इस्तेमाल किया संभावना है कि एक तर्क सा हो जाएगा कम करने के लिए गलती से बंद (0 करने के लिए 1, या 0 करने के लिए 1)।
पहला एक 0 और 1 के लिए परिभाषित वोल्टेज स्तरों के बीच जितना संभव हो उतना बड़ा अंतर प्रदान करके है । जैसा कि आप उल्लेख करते हैं, एक 0 को वोल्टेज स्तर <.9v के रूप में परिभाषित किया गया है, जबकि 1 को वोल्टेज स्तर> 2.9v (जैसा कि आप कहते हैं। 9 से 1.5) के रूप में परिभाषित किया गया है। यह 2v का वोल्टेज गैप छोड़ता है। इसका मतलब है कि सिग्नल वोल्टेज में 200% तक का अंतर होगा , इससे पहले कि यह बिट की स्थिति को "गलती से" स्विच कर देगा (बहुत ही संभावना नहीं है)।
दूसरा "क्लॉकिंग" द्वारा हैतर्क संकेत। चूंकि "आकस्मिक" वोल्टेज / शोर यादृच्छिक और अल्पकालिक है, केवल विशेष (और कम) अंतराल पर राज्य परिवर्तन की अनुमति देकर, घड़ी के समय "भिन्नता" की मार की संभावना कम से कम हो जाती है।

आवश्यक विश्वसनीयता (ईसीडी, ईसीसी, आदि) की डिग्री के आधार पर, बंद कोर्स, अन्य साधन और उपयोग किए गए तरीके हैं।


2

अच्छी इंजीनियरिंग।

डेटा भ्रष्टाचार को रोकने के लिए या इसे पर्याप्त रूप से रोका नहीं जा सकता है जब इसे ठीक करने के लिए बहुत प्रयास किया जाता है (जैसे ECC मेमोरी )।

डेटा भ्रष्टाचार का कारण बनने वाली चीजों में शामिल हैं:

  • विद्युत शोर वातावरण
  • बिजली से संबंधित मुद्दे
  • समय संबंधी समस्याएं (जैसे घड़ी और डेटा लाइनों के बीच, या दो अंतर रेखाओं के बीच)
  • विद्युत क्रॉस-टॉक

संक्षेप में, बहुत सारी इंजीनियरिंग डिजिटल डिजाइनों में चली गई है ताकि सॉफ्टवेयर इंजीनियर सरल धारणा बना सकें कि '0' का अर्थ '0' और '1' का अर्थ '1' है।


और निश्चित रूप से, ईसीसी मेमोरी एक गैर-नकाबपोश व्यवधान (एनएमआई) को ट्रिगर करने जैसी अजीब चीजें भी कर सकती है यदि मरम्मत की तुलना में अधिक बिट्स दूषित हो जाते हैं। मुझे लगता है कि आधुनिक ईसीसी रैम के लिए यह 64 बिट्स में एक से अधिक त्रुटि है (एन्कोडिंग एकल-बिट त्रुटियों को ठीक कर सकता है, और पता लगा सकता है लेकिन दो-बिट त्रुटियों को सही नहीं कर सकता है), लेकिन मैं इसके बारे में गलत हो सकता हूं। ऐसी स्थितियों में जहां आप अपने डेटा की परवाह करते हैं, सिस्टम को तुरंत बंद कर देते हैं अगर कुछ मरम्मत से परे है, तो बहुत अच्छी तरह से सीमित करने के लिए बेहतर हो सकता है, यह जानने के लिए कि क्या डेटा पर भरोसा नहीं किया जा सकता है (या बदतर है, यह जानते हुए भी कि इस पर भरोसा नहीं किया जा सकता है)।
बजे एक CVn

2

व्यावहारिक इलेक्ट्रॉनिक कंप्यूटर के दो मूलभूत पहलू हैं:

  1. एक बहुत ही स्थिर बिजली की आपूर्ति

  2. समय (आमतौर पर घड़ी की आवृत्ति या देरी के रूप में परिभाषित)

कंप्यूटिंग सिस्टम के लिए बिजली की आपूर्ति बहुत सख्ती से निर्दिष्ट और विनियमित है। वास्तव में, किसी भी कंप्यूटिंग सिस्टम के लिए बिजली की आपूर्ति आमतौर पर कई बार विनियमित होती है: बिजली की आपूर्ति (या बैटरी चार्जर) पर, मदरबोर्ड के मुख्य इनपुट पर, बेटीकार्ड के इनपुट पर और अंत में चिप पर ही।

यह बहुत अधिक शोर (विद्युत अस्थिरता) को समाप्त करता है। सीपीयू जो देखता है वह एक बहुत ही स्थिर, गैर-वाष्पशील वोल्टेज स्रोत है जिसका उपयोग वह तर्क को संसाधित करने के लिए कर सकता है।

मध्यवर्ती मूल्यों का अगला मुख्य स्रोत (0 या 1 माना जाता है के बीच वोल्टेज) तब आता है जब मूल्यों का संक्रमण होता है। या तो 1 बदलकर 0 (गिरने का समय) या 0 से 1 में बदल रहा है (उदय समय)। आप वास्तव में इसके बारे में बहुत कुछ नहीं कर सकते सिवाय इसके कि सर्किट के आउटपुट को स्वीकार करने से पहले संक्रमण को समाप्त करने के लिए प्रतीक्षा करें। संक्रमण पूरा होने से पहले सर्किट का आउटपुट कचरा माना जाता है।

इंजीनियरिंग में इस समस्या का समाधान केवल यह लिखना है कि आपको पेपर पर सही होने के लिए कितने समय तक इंतजार करना होगा। यह सीपीयू घड़ी आवृत्ति की उत्पत्ति है। सीपीयू को आप कितने गीगाहर्ट्ज पर चला सकते हैं यह इस बात पर निर्भर करता है कि स्थिर होने के लिए सीपीयू में राज्य में कितना समय लगता है।

वास्तव में अस्थिरता का एक तीसरा स्रोत है: सर्किट में इनपुट। उस समस्या का समाधान ऊपर की सामान्य समस्या के समान है: सुनिश्चित करें कि सिस्टम में प्रवेश करने वाला सिग्नल (वोल्टेज या करंट) स्थिर है और सुनिश्चित करें कि सिग्नल को स्थिर होने में पर्याप्त समय हो।

समस्या का दूसरा हिस्सा यह है कि हम प्रसंस्करण से पहले कुंडी या रजिस्टर में इनपुट का नमूना लेते हैं। संकेत कचरा हो सकता है। लेकिन वे रजिस्टरों के अंदर 0 या 1 कचरा तब होंगे जब उन्हें संसाधित किया जाएगा। समस्या का पहला भाग है कि वारंटी क्या हैं।


2

लेकिन मैंने कभी नहीं पढ़ा कि बिजली के वोल्टेज को "अच्छी तरह से व्यवहार किया जाता है" इस तरह से होता है कि कंप्यूटर के अंदर 0 कभी गलती से विद्युत अस्थिरता 1 के कारण नहीं बन सकता है। शायद यह वोल्टेज 0.9 के पास होना संभव है, फिर इसे दहलीज से गुजरने से बचने के लिए क्या किया जाता है?

फीडबैक वह है जो इसे दहलीज वोल्टेज के पास जाने से रोकता है, और इसे अच्छी तरह से व्यवहार करने के लिए मजबूर करता है।

यह आमतौर पर किसी प्रकार के एक लेचिंग सर्किट के रूप में होता है, अक्सर एक क्लॉक किए गए लैचिंग सर्किट।

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

चूंकि सर्किट को डिज़ाइन किया गया है, इसलिए ट्रांजिस्टर पूरी तरह से या पूरी तरह से बंद हैं, फिर यह हमेशा बिजली की आपूर्ति और जमीनी सीमाओं के पास आउटपुट करेगा - यह 0.9v स्तर के पास नहीं जाएगा, और जब यह संक्रमण करता है तो यह जल्दी और पूरी तरह से स्थानांतरित हो जाएगा दूसरे राज्य में। सर्किट को विशेष रूप से दो राज्यों के बीच एनालॉग क्षेत्र में संचालन से बचने के लिए डिज़ाइन किया गया है।


0

सामान्य ऑपरेटिंग परिस्थितियों में, 0 और 1 की शायद ही कभी गड़बड़ है, लेकिन खराब ऑपरेटिंग परिस्थितियों (यानी कम बैटरी या एसी पावर के डिस्कनेक्ट होने के बाद और संधारित्र में वोल्टेज गिर रहा है) के दौरान, अजीब सामान होता है और 0s और 1s गड़बड़ हो जाता है पुरे समय।

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

while(1)
{
  i++;
  do something here
  if (i == 10) break;
}

सिर्फ 9 से 11 या 10 से अधिक किसी भी संख्या के लिए जंप का मान बदलने के ==लिए बेहतर है , जिसके कारण आप लूप से बाहर कभी नहीं निकलेंगे, जब तक कि 0 के आसपास लपेटता नहीं है (4 बिलियन पुनरावृत्तियों के बाद कहें)।>= ii

while(1)
{
  i++;
  do something here
  if (i >= 10) break;
}

ऐसा होता है, मुझ पर विश्वास करो ...


क्या होगा अगर iकुछ बड़ी नकारात्मक संख्या के लिए कूदता है?
१६:१६
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.