स्टैक / स्टैक पॉइंटर क्या है: प्रकार और इसके अनुप्रयोग

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





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

स्टैक / स्टैक पॉइंटर क्या है?

परिभाषा: स्टैक एक स्टोरेज डिवाइस है, जिसका इस्तेमाल LIFO (लास्ट इन फर्स्ट आउट) के तरीके से जानकारी या डेटा स्टोर करने के लिए किया जाता है। जब भी हम LIFO तरीके से डेटा दर्ज करते हैं, तो पहले हटाए जाने वाले तत्व को अंतिम सम्मिलित तत्व होता है, इसलिए अंतिम सम्मिलित तत्व को पहले निकाल लिया जाता है। यह एक मेमोरी रजिस्टर के भीतर मेमोरी यूनिट है जिसे स्टैक पॉइंटर (SP) कहा जाता है। स्टैक पॉइंटर हमेशा स्टैक में शीर्ष तत्व को इंगित करता है जिसका अर्थ है कि डेटा किस स्थान पर डाला जाना है।




ढेर के प्रकार

दो प्रकार के ढेर हैं वे रजिस्टर स्टैक और मेमोरी स्टैक हैं।

रजिस्टर ढेर

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



रजिस्टर स्टैक में पुश ऑपरेशन

चरण 1: स्टैक पॉइंटर वेतन वृद्धि 1 से।

एसपी SP एसपी + १


चरण 2: स्टैक में डेटा दर्ज करें।

1000 [एसपी] ← सीटी

जहां DR डेटा रजिस्टर है

चरण 3: जांचें कि स्टैक भरा हुआ है या नहीं

अगर (sp = 0) तो (पूर्ण sp 1)

चरण 4: निशान खाली नहीं

खाली ← 0

रजिस्टर स्टैक में पॉप ऑपरेशन

चरण 1: स्टैक से डेटा पढ़ें।

डीआर SP एम [एसपी]

चरण 2: घटाव ढेर बिंदु।

एसपी SP एसपी -1

चरण 3: जांचें कि स्टैक खाली है या नहीं

अगर sp = 0 तो खाली empty 1

64-बिट रजिस्टर स्टैक का स्टैक संगठन नीचे दिए गए आंकड़े में दिखाया गया है।

रजिस्टर स्टैक संगठन

रजिस्टर स्टैक संगठन

मेमोरी स्टैक

मेमोरी स्टैक में, स्टैक की गहराई लचीली होती है। यह बड़ी मात्रा में मेमोरी डेटा रखता है, जबकि रजिस्टर स्टैक में केवल एक सीमित संख्या में मेमोरी शब्द संग्रहीत किए जाएंगे।

मेमोरी स्टैक में पुश ऑपरेशन

चरण 1: एसपी SP एसपी -1

चरण 2: 1000 [एसपी] ← सीटी

मेमोरी स्टैक में पॉप ऑपरेशन

चरण 1: डीआर SP एम [एसपी]

चरण 2: एसपी SP एसपी -1

रजिस्टर इकाई की तुलना में, मेमोरी यूनिट बड़ी मात्रा में डेटा संग्रहीत करती है। मेमोरी स्टैक आंकड़ा नीचे के आंकड़े में दिखाया गया है।

मेमोरी स्टैक

मेमोरी स्टैक

कुल मेमोरी यूनिट को तीन भागों में विभाजित किया जाता है, पहली मेमोरी यूनिट में प्रोग्राम (कुछ भी नहीं लेकिन निर्देश) होता है, दूसरा भाग डेटा (ऑपरेंड) होता है और तीसरा भाग स्टैक होता है। कार्यक्रम निर्देश हमेशा प्रोग्राम काउंटर (पीसी) में संग्रहीत करते हैं, डेटा रजिस्टर पता रजिस्टर (एआर) द्वारा पहचाने जाते हैं। स्टैक के लिए उपयोग किया जाने वाला पता 3000 से 4001 और पहला आइटम या तत्व 4001 पर संग्रहीत है।

8085 माइक्रोप्रोसेसर में स्टैक / स्टैक पॉइंटर

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

8085 का प्रोग्रामर व्यू

8085 का प्रोग्रामर व्यू

स्टैक पॉइंटर एक 16-बिट रजिस्टर है जिसमें मेमोरी एड्रेस होता है, मान लीजिए कि स्टैक पॉइंटर (SP) सामग्री FC78H है, तो माइक्रोप्रोसेसर 8085 इसे इंटरप्रिट करता है। स्मृति स्थानों में उपयोगी जानकारी FC78H से FFFH तक और FC77H से 0000H तक स्मृति स्थान उपयोगी जानकारी नहीं है। स्टैक पॉइंटर की व्याख्या नीचे दिए गए आंकड़े में दिखाई गई है।

स्टैक पॉइंटर की व्याख्या

स्टैक पॉइंटर की व्याख्या

स्टैक / स्टैक पॉइंटर के बुनियादी संचालन

स्टैक के दो ऑपरेशन हैं वे हैं: PUSH ऑपरेशन और POP ऑपरेशन।

PUSH ऑपरेशन

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

PUSH और POP का बेसिक ऑपरेशन

PUSH और POP का बेसिक ऑपरेशन

चित्रा (ए) स्टैक है। यदि आप उस तत्व को धक्का देना चाहते हैं जो तत्व को ढेर में सम्मिलित कर रहा है, तो आपको धक्का देना होगा (s), जहाँ ‘s’ एक स्टैक के अलावा और कुछ नहीं है। स्टैक में, हम 'ए' तत्व रख रहे हैं और यह ऑपरेशन आकृति (बी) में दिखाया गया है। आकृति (3) देखें, मान लें कि स्टैक में तीन तत्व होते हैं a, b, c और स्टैक एक तत्व से भरा होता है।

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

धक्का (ढेर [], ऊपर, अधिकतम ढेर, आइटम)

अगर (शीर्ष == मैक्सस्टैक -1)

{{

प्रिंट 'अतिप्रवाह'

}

अन्य

{{

शीर्ष = शीर्ष + १

ढेर [शीर्ष] = आइटम

}

समाप्त

पीओपी ऑपरेशन

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

क्रमशः पॉप ऑपरेशन के मामले में अंडरफ्लो की जाँच की जानी है। पॉप ऑपरेशन में, जो भी शीर्ष तत्व स्टैक में मौजूद है, उसे पॉप या डिलीट किया जाना चाहिए, इसलिए यह बताने की आवश्यकता नहीं है कि कौन सा तत्व पॉप अप किया जाएगा, डिफ़ॉल्ट रूप से सबसे ऊपरी तत्व पॉप जाएगा। पॉप ऑपरेशन का एल्गोरिदम नीचे दिखाया गया है।

पॉप (ढेर [], शीर्ष, आइटम)

अगर (शीर्ष == - 1)

{{

'अंडरफ्लो' प्रिंट करें

}

अन्य

{{

आइटम = स्टैक [शीर्ष]

शीर्ष = शीर्ष -1

}

उदाहरण

तत्वों को ए, बी, सी, डी, ई के रूप में क्रम में डाला जाता है, यह पांच तत्वों के ढेर का प्रतिनिधित्व करता है। आकृति (ए) में, हम स्टैक पर 'ए' तत्व को धक्का देना चाहते हैं तो शीर्ष शून्य (शीर्ष = 0) हो जाता है, इसी तरह शीर्ष = 1 जब 'बी' तत्व को धक्का दिया जाता है, शीर्ष = 2 जब 'सी' तत्व धक्का दिया जाता है, शीर्ष = 3 जब 'डी' तत्व को धकेल दिया जाता है, और शीर्ष = 4 जब 'ई' तत्व को धकेल दिया जाता है।

इसलिए मैंने जो भी तत्व निकाले हैं उन्हें स्टैक में रखा गया है, अब स्टैक भरा हुआ है। यदि आप किसी अन्य तत्व को धक्का देना चाहते हैं, तो स्टैक में कोई जगह नहीं है, इसलिए यह अतिप्रवाह को इंगित करता है। अब स्टैक भरा हुआ है यदि आप तत्व को पॉप करना चाहते हैं तो पहले 'E' तत्व को हटाना होगा। पुश ऑपरेशन नीचे दिए गए आंकड़े में दिखाया गया है।

पुश ऑपरेशन

पुश ऑपरेशन

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

पीओपी ऑपरेशन

पीओपी ऑपरेशन

तो यह स्पष्टीकरण है कि पुश और पॉप ऑपरेशन का उपयोग करके स्टैक में तत्वों को कैसे डाला और हटाया जाता है।

अनुप्रयोग

स्टैक / स्टैक पॉइंटर के अनुप्रयोग हैं

  • स्ट्रिंग उलट
  • संतुलित कोष्ठक
  • UNDO / FINGER
  • सक्रियण रिकॉर्ड के लिए सिस्टम स्टैक
  • Infix, उपसर्ग, उपसर्ग, अभिव्यक्ति

पूछे जाने वाले प्रश्न

1)। हाथ में स्टैक पॉइंटर क्या है?

स्टैक पॉइंटर रजिस्टर (R13) एआरएम में सक्रिय स्टैक के लिए एक पॉइंटर के रूप में उपयोग किया जाता है।

२)। स्टैक पॉइंटर 16 बिट क्यों है?

स्टैक पॉइंटर (SP) और प्रोग्राम काउंटर (PC) का उपयोग पिछली लोकेशन को स्टोर करने के लिए किया जाता है और मेमोरी लोकेशन का पता 16 बिट्स होता है, इसलिए स्टैक पॉइंटर (SP) भी 16 बिट का होता है।

३)। स्टैक पॉइंटर की क्या भूमिका है?

स्टैक पॉइंटर (SP) की भूमिका स्टैक में तत्व के शीर्ष को इंगित करने के लिए है।

4)। 8085 में किस ढेर का उपयोग किया जाता है?

8085 में इस्तेमाल किया गया स्टैक लास्ट इन फर्स्ट आउट (LIFO) है।

५)। क्या स्टैक पॉइंटर एक रजिस्टर है?

हां, स्टैक पॉइंटर (एसपी) एक एड्रेस रजिस्टर है जो हमेशा स्टैक में तत्व के शीर्ष को इंगित करता है।

इस लेख में क्या है

अनुशंसित
एयर से एक छोटी NiMh बैटरी चार्ज करना
एयर से एक छोटी NiMh बैटरी चार्ज करना
बैंड स्टॉप फिल्टर क्या है: सिद्धांत और इसके अनुप्रयोग
बैंड स्टॉप फिल्टर क्या है: सिद्धांत और इसके अनुप्रयोग
इंजीनियरिंग छात्रों के लिए इमेज प्रोसेसिंग प्रोजेक्ट
इंजीनियरिंग छात्रों के लिए इमेज प्रोसेसिंग प्रोजेक्ट
3 उच्च शक्ति SG3525 शुद्ध सिन्वेट इन्वर्टर सर्किट
3 उच्च शक्ति SG3525 शुद्ध सिन्वेट इन्वर्टर सर्किट
OSI मॉडल और उसके तत्वों में ट्रांसपोर्ट लेयर क्या है
OSI मॉडल और उसके तत्वों में ट्रांसपोर्ट लेयर क्या है
ग्रिड-टाई इन्वर्टर सर्किट डिजाइन करना
ग्रिड-टाई इन्वर्टर सर्किट डिजाइन करना
SIPO शिफ्ट रजिस्टर क्या है: सर्किट, वर्किंग, ट्रुथ टेबल और इसके अनुप्रयोग
SIPO शिफ्ट रजिस्टर क्या है: सर्किट, वर्किंग, ट्रुथ टेबल और इसके अनुप्रयोग
LDR सर्किट और कार्य सिद्धांत
LDR सर्किट और कार्य सिद्धांत
एक आर्मेचर क्या है आरेख और अनुप्रयोगों के साथ काम करना
एक आर्मेचर क्या है आरेख और अनुप्रयोगों के साथ काम करना
इस सिंपल वाशिंग मशीन सिस्टम को बनाएं
इस सिंपल वाशिंग मशीन सिस्टम को बनाएं
सर्वो मोटर्स के विभिन्न प्रकार: डीसी सर्वो मोटर और एसी सर्वो मोटर
सर्वो मोटर्स के विभिन्न प्रकार: डीसी सर्वो मोटर और एसी सर्वो मोटर
किरचॉफ के नियम काम करने के बारे में एक संक्षिप्त व्याख्या
किरचॉफ के नियम काम करने के बारे में एक संक्षिप्त व्याख्या
संरक्षण डायोड Ciruit कार्य और इसके अनुप्रयोग
संरक्षण डायोड Ciruit कार्य और इसके अनुप्रयोग
फ्रीक्वेंसी डिवीजन मल्टीप्लेक्सिंग: ब्लॉक डायग्राम, वर्किंग एंड इट्स एप्लिकेशन
फ्रीक्वेंसी डिवीजन मल्टीप्लेक्सिंग: ब्लॉक डायग्राम, वर्किंग एंड इट्स एप्लिकेशन
कैसे एक पोर्टेबल झूठ डिटेक्टर सर्किट और इसके काम करने के लिए?
कैसे एक पोर्टेबल झूठ डिटेक्टर सर्किट और इसके काम करने के लिए?
Nyquist प्लॉट: ग्राफ, स्थिरता, उदाहरण समस्याएं और इसके अनुप्रयोग
Nyquist प्लॉट: ग्राफ, स्थिरता, उदाहरण समस्याएं और इसके अनुप्रयोग