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

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

बैंक स्विचन की शुरुआत लघु अभिकलित्र प्रणाली से हुई है। कई आधुनिक सूक्ष्म नियंत्रक और सूक्ष्म संसाधित्र छोटे अंतः स्थापित प्रणाली में यादृच्छिक अभिगम स्मृति, अनह्रासी स्मृति, निवेश निर्गम प्रणाली और प्रणाली प्रबंधन पंजी को प्रबंधित करने के लिए बैंक स्विचन का उपयोग करते हैं। तकनीक 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 किलोबाइट RAM की अनुमति देने के लिए बैंक स्विचन का उपयोग किया और अभी भी ROM और स्मृति- प्रतिचित्रित्ड आई / ओके लिए भी प्रदान करता है। अटारी 130XE अपने दो संसाधित्र (6502 और ANTIC) को अलग-अलग RAM बैंकों तक पहुंचने की अनुमति दे सकता है, जिससे  क्रमादेशर को सीपीयू को दिखाई देने वाली स्मृति का उपयोग किए बिना बड़े प्लेफील्ड और अन्य ग्राफिक ऑब्जेक्ट बनाने की अनुमति मिलती है।

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

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

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

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

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

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

यह भी देखें

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

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

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