बैंक स्विचिंग

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

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

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

तकनीक
बैंक स्विचिंग को कुछ प्रयुक्ति के साथ संसाधित्र निर्देशों के संबोधित स्थान को बढ़ाने का एक तरीका माना जा सकता है। उदाहरण:
 * फॉलो-ऑन सिस्टम 12 बिट संबोधित वाले संसाधित्र (प्रोसेसर) के लिए अनुसरण प्रणाली में 15 बिट संबोधित बस होती है, लेकिन संबोधित बस में हाई थ्री  द्वयंक को सीधे निर्दिष्ट करने का कोई तरीका नहीं है। उन द्वयंक को प्रदान करने के लिए आंतरिक बैंक प्रयुक्ति का उपयोग किया जा सकता है।
 * फॉलो-ऑन सिस्टम 15 बिट संबोधित वाले संसाधित्र के लिए अनुसरण प्रणाली में 18 बिट संबोधित बस होती है, लेकिन पैतृक निर्देशों में केवल 15 संबोधित द्वयंक होते हैं, आंतरिक बैंक प्रयुक्ति का उपयोग उन द्वयंक को प्रदान करने के लिए किया जा सकता है। कुछ नए निर्देश स्पष्ट रूप से बैंक को निर्दिष्ट कर सकते हैं।


 * 16-बिट बाहरी एड्रेस बस वाला संसाधित्र एक संसाधित्र केवल 216 = 65536 स्मृति स्थानों को संबोधित कर सकता है। यदि प्रणाली में एक बाहरी सिटकन (लैच) जोड़ा जाता है, तो इसका उपयोग यह नियंत्रित करने के लिए किया जा सकता है कि स्मृति प्रणाली के दो समुच्चय में से कौन से 65536 पते वाले प्रत्येक कोअधिक किया जा सकता है। सिटकन बिट को समुच्चय या साफ़ करके संसाधित्र बदल सकता है कि कौन सा समुच्चय वर्तमान उपयोग में है। सिटकन को  संसाधित्र द्वारा कई तरीकों से समुच्चय या साफ़ किया जा सकता है, एक विशेष स्मृति संबोधित को कूटानुवाद किया जा सकता है और सिटकन को नियंत्रित करने के लिए उपयोग किया जा सकता है, या, अलग-अलग-कूटानुवाद आई / ओ संबोधित वाले संसाधित्र में, निर्गम संबोधित को कूटानुवाद किया जा सकता है। कई बैंक- स्विचिंग नियंत्रण द्वयंक को एक प्रयुक्ति में इकट्ठा किया जा सकता है, प्रयुक्ति में प्रत्येक अतिरिक्त बिट के साथ उपलब्ध स्मृति स्थान को लगभग दोगुना कर देता है। चूंकि बाहरी बैंक-चयन सिटकन (या प्रयुक्ति) संसाधित्र के क्रमादेश गणित्र से सीधे जुड़ा नहीं है, क्रमादेश गणित्र अतिप्रवाह होने पर यह स्वचालित रूप से स्थिति नहीं बदलता है, इसका बाहरी सिटकन द्वारा संबोधित नहीं लगाया जा सकता है क्योंकि क्रमादेश गणित्र संसाधित्र का एक आंतरिक प्रयुक्ति है। अतिरिक्त स्मृति क्रमादेश के लिए मूल रूप से उपलब्ध नहीं है। संसाधित्र के आंतरिक प्रयुक्ति अपनी मूल लंबाई पर बने रहते हैं, इसलिए  संसाधित्र बैंक द्वारा स्विच की गई सभी स्मृति को सीधे नहीं फैला सकता है, उदाहरण एक आंतरिक प्रयुक्ति को बढ़ाना है। इसके बजाय संसाधित्र को बड़ी स्मृति उद्देश्य तक पहुंचने के लिए स्पष्ट रूप से बैंक- स्विचिंग संचालन करना चाहिए। आम तौर पर एक बैंक- स्विचिंग प्रणाली में क्रमादेश स्मृति का एक विभाग होगा जो सभी बैंकों के लिए सामान्य है, कोई फर्क नहीं पड़ता कि वर्तमान में कौन सा बैंक सक्रिय है, संबोधितस्थान के हिस्से के लिए स्मृति स्थान के केवल एक समुच्चय का उपयोग किया जाएगा। इस क्षेत्र का उपयोग संहिता रखने के लिए किया जाएगा जो बैंकों के बीच बदलाव का प्रबंधन करता है, और रूकावट को संसाधित करने के लिए भी प्रबंधन करता है।

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

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

सूक्ष्म अभिकलित्र का उपयोग
16-बिट संबोधित (8080, जेड80, 6502, 6809, आदि) वाले संसाधित्र आमतौर पर शुरुआती विडियो खेल शान्ति और गृह परिकलक में उपयोग किए जाते हैं, केवल 64 किलोबाइट को संबोधित कर सकते हैं। अधिक स्मृति वाले प्रणाली को संबोधित स्थान को कई विभागों में विभाजित करना पड़ता था जिन्हें गतिशील रूप से बड़े संबोधित स्थान के भागों में प्रतिचित्रित किया जा सकता था। स्मृति को 64 किलोबाइट तक के अलग-अलग बैंकों में व्यवस्थित करके इस बड़े संबोधित स्थल को प्राप्त करने के लिए बैंक स्विचिंग का उपयोग किया गया था। विभिन्न आकारों के विभागों को बैंक के चुनिंदा प्रयुक्ति या इसी तरह के तंत्र के माध्यम से अंदर और बाहर स्विच किया गया था। क्रोमेम्को बैंक स्विचिंग का उपयोग करने वाला पहला सूक्ष्म अभिकलित्र निर्माता था, जो अपने प्रणाली में 64 किलोबाइट के 8 बैंकों का समर्थन करता था।

बैंक स्विचिंग का उपयोग करते समय कुछ सावधानी बरतने की आवश्यकता थी ताकि उपनित्य आवाहन, रूकावट, आवाहन ढेर आदि के संचालन को दूषित न किया जा सके। जबकि सीपीयू से अस्थायी रूप से स्विच की गई स्मृति की सामग्री संसाधित्र के लिए दुर्गम थी, इसका उपयोग अन्य यंत्रोपादान, जैसे वीडियो प्रदर्श, डीएमए, आई / ओ प्रणाली, आदि द्वारा किया जा सकता है। सीपी / एम -80 3.0,1983 में जारी किया गया था और जेड 80-आधारित टीआरएस-80 प्रतिरूप 4 और  प्रतिरूप II समर्थित बैंक स्विचिंग, 64 किलोबाइट से अधिक स्मृति के उपयोग की अनुमति देने के लिए जिसे 8080 या जेड 80 संसाधित्र संबोधित कर सकता था।

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

सूक्ष्म नियंत्रक
सूक्ष्मनियंत्रण (महत्वपूर्ण निविष्ट/निर्गम यंत्रोपादान एकीकृत पटलिका आरूढ़ के साथ सूक्ष्म संसाधित्र) बैंक स्विचिंग का उपयोग कर सकते हैं, उदाहरण के लिए, एकाधिक समाकृति प्रयुक्ति या पटलिका आरूढ़ पढ़ना/लिखना स्मृति तक पहुंचने के लिए उपयोग कर सकते हैं। एक उदाहरण पीआईसी सूक्ष्मनियंत्रण है। यह अपेक्षाकृत कम उपयोग किए जाने वाले प्रयुक्ति तक पहुंचने के लिए आवश्यक अतिरिक्त निर्देशों की कीमत पर, नियमित कार्यक्रम निष्पादन के दौरान अंतरिक्ष को बचाने के लिए संक्षिप्त निर्देश शब्दों की अनुमति देता है, जैसे कि प्रवर्तन पर प्रणाली समाकृति के लिए उपयोग किया जाता है।

आईबीएम पीसी
1985 में, कंपनि लोटस और इंटेल कंपनियों ने एमएस-डॉस चलाने वाले आईबीएम पीसी संगत अभिकलित्रों में उपयोग के लिए विस्तारित स्मृति विशिष्टि (ईएमएस) 3.0 की शुरुआत की। माइक्रोसॉफ्ट 1986 में संस्करण 3.2 और 1987 में 4.0 में शामिल हुआ और विनिर्देश लोटस-इंटेल-माइक्रोसॉफ्ट ईएमएस या एलआईएम ईएमएस के रूप में जाना जाने लगा।  यह बैंक स्विचिंग तकनीक का एक रूप है जो मूल आईबीएम पीसी स्थापत्य द्वारा परिभाषित 640 केबी से अधिक आर ए एम की अनुमति देता है, इसे ऊपरी स्मृति क्षेत्र में स्थित 64 केबी "विंडो" में टुकड़े-टुकड़े करके प्रदर्शित करता है। 64 केबी को चार 16 केबी "पेजों" में विभाजित किया गया है, जिनमें से प्रत्येक को स्वतंत्र रूप से स्विच किया जा सकता है। कुछ अभिकलित्र खेल ने इसका उपयोग किया, और हालांकि ईएमएस अप्रचलित है, यह सुविधा आजकल माइक्रोसॉफ्ट विंडोज़ प्रचालन प्रणाली द्वारा अनुकरण की जाती है ताकि उन क्रमादेशों के साथ पश्चगामी संगतता प्रदान की जा सके।

बाद में विस्तारित विस्तारित स्मृति विशिष्टता(एक्सएमएस, XMS), जो अब अप्रचलित भी है, सिद्धांत रूप में, 1 एमबी (जिसे "विस्तारित स्मृति" कहा जाता है) से ऊपर स्मृति के लिए बैंक स्विचिंग का अनुकरण करने के लिए एक मानक है, जो कि एक्स86 संसाधित्र के वास्तविक नीति में सीधे संबोधित करने योग्य नहीं है। जो एमएस-डॉस चलता है। एक्सएमएस विस्तारित स्मृति को पारंपरिक स्मृति में कहीं भी अनुकरण करने की अनुमति देता है, इसलिए "बैंकों" की सीमाएं तय नहीं हैं, लेकिन हर दूसरे तरीके से यह ईएमएस (EMS) के बैंक स्विचिंग की तरह काम करता है, एक क्रमादेश के परिप्रेक्ष्य से जो इसका उपयोग करता है। एमएस-डॉस के बाद के संस्करणों (लगभग 5.0 संस्करण से शुरू) में ईएमएम386 ड्राइवर शामिल था, जो एक्सएमएस का उपयोग करके ईएमएस स्मृति का अनुकरण करता है, क्रमादेश को विस्तारित स्मृति का उपयोग करने की अनुमति देता है, भले ही वे ईएमएस के लिए लिखे गए हों। माइक्रोसॉफ़्ट विंडोज़ उन क्रमादेशों के लिए भी एक्सएमएस का अनुकरण करता है, जिन्हें इसकी आवश्यकता होती है।

विडियो खेल शान्ति
कुछ विडियो खेल शान्ति में बैंक स्विचिंग का भी उपयोग किया गया था। उदाहरण के लिए, अटारी 2600, केवल 4 किलोबाइट पठन मात्र स्मृति को संबोधित कर सकता था, इसलिए बाद में 2600 खेल संपुटिका में अधिक पठन मात्र स्मृति के उपयोग की अनुमति देने के लिए अपने स्वयं के बैंक स्विचिंग यंत्रोपादान शामिल थे और इस प्रकार अधिक परिष्कृत खेल (अधिक क्रमादेश संहिता के माध्यम से और समान रूप से) की अनुमति देते थे। महत्वपूर्ण, बड़ी मात्रा में खेल आँकड़े जैसे कि आलेखी और विभिन्न खेल चरण)। निन्टेंडो मनोरंजन प्रणाली में एक संशोधित 6502 था लेकिन इसके संपुटिका में कभी-कभी एक मेगा द्वयंक या अधिक पठन मात्र स्मृति होता था, जिसे बैंक स्विचिंग के माध्यम से संबोधित किया जाता था जिसे बहु स्मृति नियंत्रण कहा जाता है। खेल ब्वॉय संपुटिका ने एमबीसी (मेमोरी बैंक नियंत्रण) नामक एक चिप का इस्तेमाल किया, जो न केवल पठन मात्र स्मृति बैंक  स्विचिंग की पेशकश करता है, बल्कि संपुटिका एसआरएएम बैंक  स्विचिंग और यहां तक ​​​​कि अवरक्त या रंबल मोटर्स जैसे बाह्य उपकरणों तक पहुंच प्रदान करता है। बैंक स्विचिंग अभी भी बाद के खेल प्रणाली पर इस्तेमाल किया जा रहा था। कई सेगा मेगा ड्राइव संपुटिका, जैसे सुपर स्ट्रीट फाइटर IIआकार में 4 एमबी से अधिक थे और इस तकनीक के उपयोग की आवश्यकता थी (4 एमबी अधिकतम संबोधितआकार था)। खेलपार्क संग्रह से जीपी2एक्स हैंडहेल्ड दूसरे संसाधित्र के लिए आरम्भ संबोधित (या स्मृति प्रतिसंतुलन) को नियंत्रित करने के लिए बैंक स्विचिंग का उपयोग करता है।

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

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

यह भी देखें

 * बग़ल में संबोधितस्थान, बीबीसी सूक्ष्म  पर बैंक  स्विचिंग का एक उदाहरण
 * आवरण ( क्रमादेश)

इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची

 * बूटिंग
 * microcontroller
 * निर्देश समुच्चय वास्तुकला
 * टीआरएस-80 प्रतिरूप 4
 * टीआरएस-80 प्रतिरूप II
 * प्राचीन
 * अपर स्मृति एरिया
 * एम्यूलेटर
 * विस्तारित स्मृति
 * स्मृति प्रबंधन इकाई