आर्बिटर (इलेक्ट्रॉनिक्स)

मध्यस्थ इलेक्ट्रॉनिक उपकरण हैं जो साझा संसाधनों तक पहुंच आवंटित करते हैं।

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

एक मेमोरी आर्बिटर एक साझा मेमोरी (इंटरप्रोसेस कम्युनिकेशन) सिस्टम में उपयोग किया जाने वाला एक उपकरण है, जो प्रत्येक मेमोरी चक्र के लिए तय करता है कि किस सीपीयू को उस साझा मेमोरी तक पहुंचने की अनुमति होगी। कुछ परमाणु निर्देश मध्यस्थ पर निर्भर करते हैं ताकि अन्य सीपीयू को परमाणु पठन-संशोधित-लिखने के निर्देशों के माध्यम से आधे रास्ते में मेमोरी पढ़ने से रोका जा सके।

एक मेमोरी आर्बिटर आमतौर पर स्मृति नियंत्रक / डीएमए नियंत्रक  में एकीकृत होता है।

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

अतुल्यकालिक मध्यस्थ
अतुल्यकालिक अनुरोधों के बीच एक साझा संसाधन तक पहुंच के क्रम का चयन करने के लिए अतुल्यकालिक सर्किट में मध्यस्थ का एक महत्वपूर्ण रूप उपयोग किया जाता है। इसका कार्य दो कार्यों को एक साथ होने से रोकना है जब उन्हें नहीं करना चाहिए। उदाहरण के लिए, एक ऐसे कंप्यूटर में जिसमें कई CPU या स्मृति तक पहुँचने वाले अन्य डिवाइस हैं, और एक से अधिक घड़ी  हैं, संभावना मौजूद है कि दो अनसिंक्रोनाइज़्ड स्रोतों से अनुरोध लगभग एक ही समय में आ सकते हैं। गुजरने रेंज में लगभग समय के बहुत करीब हो सकता है। मेमोरी आर्बिटर को तब तय करना होगा कि कौन सा अनुरोध पहले सेवा के लिए है। दुर्भाग्य से, एक निश्चित समय [एंडरसन 1991] में ऐसा करना संभव नहीं है।

इवान सदरलैंड और हाँ एबरगेन ने अपने लेख कंप्यूटर्स विदाउट क्लॉक्स में आर्बिटर्स का वर्णन इस प्रकार किया है:


 * एक मध्यस्थ एक चौराहे पर एक यातायात अधिकारी की तरह होता है जो तय करता है कि आगे कौन सी कार गुजर सकती है। केवल एक अनुरोध को देखते हुए, एक आर्बिटर तुरंत कार्रवाई की अनुमति देता है, पहली कार्रवाई पूरी होने तक किसी भी दूसरे अनुरोध में देरी करता है। जब एक मध्यस्थ को एक साथ दो अनुरोध प्राप्त होते हैं, तो उसे यह तय करना होगा कि कौन सा अनुरोध पहले देना है। उदाहरण के लिए, जब दो प्रोसेसर लगभग एक ही समय में एक साझा मेमोरी तक पहुंच का अनुरोध करते हैं, तो आर्बिटर अनुरोधों को अनुक्रम में रखता है, एक समय में केवल एक प्रोसेसर तक पहुंच प्रदान करता है। आर्बिटर गारंटी देता है कि एक साथ कभी भी दो कार्य नहीं होते हैं, जैसे यातायात अधिकारी यह सुनिश्चित करके दुर्घटनाओं को रोकता है कि टकराव के मार्ग पर चौराहे से कभी भी दो कारें नहीं गुजरती हैं।
 * हालांकि आर्बिटर सर्किट एक समय में एक से अधिक अनुरोध कभी नहीं देते हैं, फिर भी एक आर्बिटर बनाने का कोई तरीका नहीं है जो हमेशा एक निश्चित समय सीमा के भीतर एक निर्णय पर पहुंचेगा। वर्तमान समय के मध्यस्थ निर्णयों पर औसतन बहुत जल्दी पहुँचते हैं, आमतौर पर लगभग कुछ सौ पिकोसेकंड के भीतर। [...] जब करीबी कॉल का सामना करना पड़ता है, हालांकि, सर्किट कभी-कभी दोगुना समय ले सकता है, और बहुत ही दुर्लभ मामलों में निर्णय लेने के लिए आवश्यक समय सामान्य से 10 गुना अधिक हो सकता है।

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

इस समस्या का एक विश्वसनीय समाधान 1970 के दशक के मध्य में खोजा गया था। यद्यपि एक मध्यस्थ जो एक निश्चित समय में निर्णय लेता है, संभव नहीं है, जो कभी-कभी कठिन मामले (करीब कॉल) में थोड़ा अधिक समय लेता है, उसे काम पर लगाया जा सकता है। इलेक्ट्रॉनिक्स सर्किट में मल्टीस्टेज मेटास्टेबिलिटी का उपयोग करना आवश्यक है जो यह पता लगाता है कि मध्यस्थ अभी तक स्थिर स्थिति में नहीं आया है। मध्यस्थ तब तक प्रसंस्करण में देरी करता है जब तक कि एक स्थिर स्थिति प्राप्त नहीं हो जाती। सिद्धांत रूप में, मध्यस्थ व्यवस्थित करने के लिए मनमाने ढंग से लंबा समय ले सकता है (ब्यूरिडान के सिद्धांत को देखें), लेकिन व्यवहार में, यह शायद ही कभी कुछ गेट विलंब समय से अधिक लेता है। क्लासिक पेपर [किनीमेंट एंड वुड्स 1976] है, जो इस समस्या को हल करने के लिए 3 स्टेट फ्लिप फ्लॉप बनाने का वर्णन करता है, और [गिनोसर 2003], आर्बिटर डिजाइन में सामान्य गलतियों पर इंजीनियरों के लिए एक चेतावनी है।

यह परिणाम काफी व्यावहारिक महत्व का है, क्योंकि मल्टी प्रोसेसर  कंप्यूटर इसके बिना मज़बूती से काम नहीं करेंगे। पहला मल्टीप्रोसेसर कंप्यूटर 1960 के दशक के अंत से विश्वसनीय मध्यस्थों के विकास से पहले का है। प्रत्येक प्रोसेसर के लिए स्वतंत्र घड़ियों वाले कुछ शुरुआती मल्टीप्रोसेसर मध्यस्थ दौड़ की स्थिति से पीड़ित थे, और इस प्रकार अविश्वसनीयता। आज, यह अब कोई समस्या नहीं है।

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

संदर्भ

 * D.J. Kinniment and J.V. Woods. Synchronization and arbitration circuits in digital systems. Proceedings IEEE.  October 1976.
 * Carver Mead and Lynn Conway. Introduction to VLSI Systems Addison-Wesley. 1979.
 * Ran Ginosar. "Fourteen Ways to Fool Your Synchronizer" ASYNC 2003.
 * J. Anderson and M. Gouda, "A New Explanation of the Glitch Phenomenon ", Acta Informatica, Vol. 28, No. 4, pp. 297–309, April 1991.
 * J. Anderson and M. Gouda, "A New Explanation of the Glitch Phenomenon ", Acta Informatica, Vol. 28, No. 4, pp. 297–309, April 1991.

बाहरी संबंध

 * Digital Logic Metastability
 * Metastability Performance of Clocked FIFOs
 * The 'Asynchronous' Bibliography
 * Efficient Self-Timed Interfaces for Crossing Clock Domains