8086 block diagram in hindi-8086 ब्लाक डायग्राम हिंदी में

हेल्लो दोस्तों आज के इस पोस्ट में आपको 8086 block diagram in hindi के बारे में बताया गया है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है

8086 की संरचना(Structure of 8086)

इन्टेल 8086 एक 16-बिट HMOS माइक्रोप्रोसेसर है। यह एक 40-पिन IC पैकेज है। यह 5Vdc सप्लाई पर ऑपरेट ता है। इसमें 20-बिट एड्रेस बस. तथा 16-बिट डेटा बस है। 16-बिट डेटा वर्ड low-order तथा high-order बाइट में जित रहता है। 20-बिट एड्रेस बस मल्टीप्लैक्स्ड मोड (multiplexed mode) में ऑपरेट होती है। 16-low-order एड्रेस लाइने डेटा के साथ तथा 4-high order लाइनें स्टेटस सिगनलों के साथ मल्टीप्लैक्स्ड रहती हैं।

Diagram

8086 का CPU दो अलग-अलग भागों में विभाजित है; बस इन्टरफेस यूनिट (Bus Interface Unit-BIU) तथा एक्जीक्यूशन युनिट (Execution Unit-EU) । माइक्रोप्रोसेसर का कार्य, इन दोनों भागों में विभाजित होने के कारण. 8086 में प्रोसेसिंग तीव्र (fast processing) होता है। BIU, एड्रेस बाहर भेजती है,

मैमोरी से इन्सट्रक्शन्स फैच करती है, पोर्टस तथा मैमोरी से डेटा read करती है, पोर्टस एवं मैमोरी में डेटा write करती है। इस प्रकार BIU, एक्जीक्यूशन यूनिट के लिए, बस (buses) पर समस्त डेटा एवं एडैस के ट्रांसफर का कार्य सम्पन्न करती है। यह एक 6-बाइट का ऑपकोड क्यू (queue) भी बराबर बनाये रखती है।

एक्जीक्यूशन यूनिट, क्यू (queue) से इन्सट्रक्शन ऑब्जेक्ट कोड (instruction object code) प्राप्त करती है. इन्सट्रक्शन्स को डिकोड करती है तथा एक्जीक्यूट करती है।

क्यु(Oueue)-प्रोग्राम एक्जीक्यूशन की गति बढ़ाने (speed up) के लिए BIU, मैमोरी से 6 इन्सट्रक्शन बाइट, समय स पहले फैच (fetch) कर लेती है। इस प्रकार पहले से फैच किये गये (prefetched) इन्सट्रक्शन बाइट्स (instruction bytes) एक्जीक्यूशन यूनिट (EU) के लिए, रजिस्टर्स के एक FIFO समूह (first-in-first-out group of registers) में स्टोर किये जाते है, जिसे QUEUE कहते हैं।

जब EU किसी ऐसी इन्सट्रक्शन को डिकोड अथवा एक्जीक्यूट कर रही होती है जिसमें बस (buses) की आवश्यकता नहीं होती है, उस समय भी BIU इन्सट्रक्शन फैच कर सकती है। जब EU अगली (next) इन्सटक्शन एक्जीक्यूट करने के लिए तैयार (ready) होती है तब वह, BIU में क्यू (queue) से इन्सट्रक्शन पढ़ लेती है। यह प्रक्रिया सस्टम मैमोरी पर कोई एडैस भेज कर मैमोरी द्वारा अगली (next) इन्सट्रक्शन भेजे जाने की प्रतीक्षा करने से, अधिक तीव्र है।

इसे भी पढ़े-

इन्सट्रक्शन्स की इस प्रीफैच तथा क्यू (prefetch and queue) स्कीम से प्रोसेसिंग की क्रिया अत्यन्त तीव्र हो जाता किसी इन्सट्रक्शन के एक्जीक्यूट किये जाने की अवधि में ही दूसरी इन्सट्रक्शन फैच करने की क्रिया पाइपला, (pipelining) कहलाती है।

इन्टेल,8086 के रजिस्टर्स(Registers of Intel 8086)

डायग्राम में इन्टेल 8086 के विभिन्न रजिस्टर्स दिखाये गये हैं। इन्हें निम्न प्रकार वर्गीकृत किया जा सकता है

1. जनरल-परपज रजिस्टर्स (General Purpose Registers)

2. सेगमेन्ट रजिस्टर्स (Segment Registers)

3. स्टैक प्वाइन्टर रजिस्टर्स (Stack Pointer Registers)

4. अन्य प्वाइन्टर तथा इन्डैक्स रजिस्टर (Other Pointer and Index Registers)

डायग्राम

General Purpose Registers

इन्टेल 8086 की एक्जीक्यूशन यूनिट (EU) में 8 जनरल परपज रजिस्टर्स हैं। इनका नामांकन निम्न प्रकार हैAH, AL, BH, BL, CH, CL, DH तथा DL

इन रजिस्टरों को अलग-अलग 8-बिट डेटा के अस्थायी स्टोरेज (temporary storage) के लिए प्रयोग किया जा सकता है। रजिस्टर AL को एकमुलेटर की भाँति प्रयोग किया जाता है। इस रजिस्टर में कुछ ऐसी विशेषताएँ (features) हैं जो अन्य रजिस्टरों में नहीं हैं।

इन जनरल परपज रजिस्टरों के कुछ विशेष जोड़ों (certain pairs) को एक साथ 16-बिट डेटा वर्ड स्टोर करने के लिए प्रयुक्त किया जा सकता है। अनुमन्य (acceptable) रजिस्टर पेयर्स AH-AL, BH-BL, CH-CL तथा DH-DL हैं AH-AL पेयर को AX रजिस्टर, BH-BL पेयर को BX रजिस्टर, CH-CL पेयर को CX रजिस्टर तथा DH-DL पेयर को DX रजिस्टर कहा जाता है। 16-बिट ऑपरेशन्स के लिए रजिस्टर AX. एकमलेटर कहलाता है।

डाटा के अस्थायी (temporary) स्टोरेज के लिए internal रजिस्टर्स प्रयोग करने का मुख्य लाभ यह है कि, चूंकि डेटा BU में ही रहता है अत: external मैमोरी की तुलना में इनसे सरलता एवं शीघ्रता से (quickly) सम्पर्क (access) किया जा सकता है।

सेगमेन्ट रजिस्टर्स(Segment Registers)

बस इन्टरफेस यूनिट में चार 16-बिट सेगमेन्ट रजिस्टर्स होते हैं

1. कोड सेगमेन्ट रजिस्टर (Code Segment Registers) -CS

2.स्टैक सेगमेन्ट रजिस्टर (Stack Segment Registers)-SS

3. एक्स्ट्रा सेगमेन्ट रजिस्टर (Extra Segment Registers)-ES

4. डेटा सेगमेन्ट रजिस्टर (Data Segment Registers) OS

माइक्रोप्रोसेसर 8086 की सिस्टम मैमोरी इन चार सेगमेन्ट्स, कोड, डेटा, स्टैक तथा एक्स्ट्रा सेगमेन्ट्स में विभाजित हती है। सेगमेन्ट रजिस्टर्स, बेस रजिस्टर्स की भाँति कार्य करते हैं। ये रजिस्टर मैमोरी, सेगमेन्ट्स के स्टार्टिंग एड्रैस के उन upper 16-बिट्स प्रदर्शित करते हैं, जिन पर किसी क्षण 8086 कार्य कर रहा होता है। 8086 का BIU, 20-बिट एड्रैस ट्रांसमिट करता है

अत: यह मैमोरी के 220 अर्थात् 1048576 (1 megabytes) बाइट्स में से किसी को भी एड्रैस कर सकता है। परन्तु 2086 किसी क्षण पर इसे (1 mega byte) रेंज में चार, 65,536 बाइट (64 Kilobyte) सेगमेन्टस के साथ कम्युनिकेट करता है। इस प्रकार प्रत्येक सेगमेन्ट की अधिकतम क्षमता 64 Kilobyte हो सकती है। किसी क्षण इन चार सेगमेन्टस को मैमोरी 100000H-FFFFFFH में चित्र 10.3 के अनुसार स्थित किया जा सकता है।

डायग्राम

8086 की 1 Mbyte मैमोरी स्पेस में चार 64K बाइट, सेगमेन्टस को स्थित करने की एक विधि

यह ऊपर वर्णन किया जा चुका है कि सेगमेन्ट रजिस्टर, प्रत्येक सेगमेन्ट के प्रारम्भिक (starting) एडैस के upper 16-बिट्स होल्ड करता है। उदाहरण के लिए कोड सेगमेन्ट रजिस्टर उस सेगमेन्ट के स्टार्टिंग एडैस के 10-15 जिसको करता है जिससे BIU, उस समय (currently) इन्सट्रक्शन बाइट फैच कर रहा होता है। BIU, सेगमेन्ट के 20-बिट स्टार्टिंग एड्रेस के lowest 4-बिट्स के स्थान पर (Zeros) अंकित करता है।

उदाहरणत: यदि कोड सेगमेन्ट रजिस्टर 348AH होल्ड करता है तब कोड सेगमन्ट का स्टार्टिंग एड्रैस 348AOH होगा। दूसरे शब्दों में 64 Kilobyte सेगमेन्ट, 1 megabyte एड्रेस स्पेस म कहीं पर भी स्थित की जा सकती है, परन्तु सेगमेन्ट सदा उसी एड्रेस से स्टार्ट होगी जिसके lowest 4-बिट्स शन्य हों। यह प्रतिबन्ध सेगमेन्ट्स की लोकेशन्स पर इस कारण से लगाया गया है,

जिससे कि सेगमेन्ट के स्टार्टिंग एड्रैस के साथ कार्य करते समय केवल 16-बिट संख्याएँ ही स्टोर एवं हेन्डल करने की आवश्यकता हो। सेगमेन्ट के स्टार्टिंग एड्रैस का वह भाग (16-बिट्स) जिसे सेगमेन्ट रजिस्टर में स्टोर किया जाता है सेगमेन्ट बेस (Segment Base) कहलाता है।

स्टैक, किसी subprogram के एक्जीक्यूशन के समय एड्रैस तथा डाटा स्टोर करने के लिए मैमोरी का एक अलग पड़ा हुआ भाग (section set aside) होता है। स्टैक सेगमेन्ट रजिस्टर, स्टैक प्रोग्राम के स्टार्टिग एड्रैस के upper 16-बिट्स होल्ड करता है।

 एक्स्ट्रा सेगमेंट रजिस्टर तथा डाटा सेगमेंट रजिस्टर ,इन मैमोरी सेगमेन्ट्स के स्टाटिंग एड्रेस के upper 10 बिट्स होल्ड करते हैं डायग्राम में देखे | इनका प्रयोग डाटा के लिए किया जाता है

इन्सट्रक्शन प्वाइन्टर(Instruction Pointer)

बस इन्टरफेस यूनिट (BIU) का एक अन्य मुख्य रजिस्टर इन्सट्रक्शन प्वाइन्टर (IP) रजिस्टर है। जैसा बताया जा चुका है कि कोड सेगमेन्ट रजिस्टर उस सेगमेन्ट के स्टार्टिंग एड्रेस के अपर (upper) 16-बिट्स होल्ड का से BIU इन्सट्रक्शन कोड फैच करता है। इन्सटक्शन प्वाइन्टर रजिस्टर, कोड सेगमेन्ट के अगल (nezt) कोड बाट का।

एड्रेस होल्ड करता है। IP रजिस्टर द्वारा प्रदर्शित यह मान (value), प्राय: ऑफसेट अथवा प्रभावा एडस (Offsetor En Address) कहलाता है। ऑफसैट को सेगमेन्ट बेस एड्रेस में जोड़ कर मेमोरी लोकशन का 20-bit physical address ज्ञान किया जाता है

Generation of Physical Address

डायग्राम  में physical address गणना करने की विधि दी गयी है CS रजिस्टर, Current code segment का बेस एड्रेस प्रदर्शित करता है। IP रजिस्टर, इस बेस रजिस्टर का उस एड्रेस से ऑफसेट (offset) प्रदर्शित करता है, उसे एक्जीक्यूट किया जाने वाला next इन्सट्रक्शन बाइट फैच किया जाना है। ऑफसेट को Effective Address (EA) भी कर जाता है। डायग्राम 2 में IP रजिस्टर द्वारा प्रदर्शित 16-बिट ऑफसैट (or EA) को CS के 16-बिट एड्रेस के साथ जोड़ का 20-बिट physical एड्रैस प्राप्त करने की विधि दिखायी गयी है।

डायग्राम

चित्र 10.4-CS के साथ IP को जोड़कर कोड बाइट के 20-बिट एड्रैस की गणना करना

IP रजिस्टर के contents, CS रजिस्टर में जोड़ने से पहले, CS रजिस्टर को 4-बिट leी शिफ्ट किया जाता है। रजिस्टर 20-बिट के एड्रैस के अपर 16-बिट अर्थात् 123AH होल्ड करता है। इसे 4-बिट left शिफ्ट करने पर कोड सगमन्ट का स्टार्टिग एड्रेस 123AOH प्राप्त होता है। IP रजिस्टर के ऑफसैट 341BH को इस बेस में जोड़ने पर 20-बिट physical address, 157BBH प्राप्त होता है।

8086 के 20-बिट एड्रेस प्राय: Segment Base : Offset के रूप में भी प्रदर्शित किये जाते हैं। कोड बाइट व्यक्त की एक अन्य विधि CS:IP है। उदाहरण के लिए उपरोक्त गणना किया गया एडैस 157BBH निम्न प्रकार भी प्रदाशत कर सकता है

CS : IP → 123A: 341B

सारांश यह है कि CS रजिस्टर, 8086 की 1 megabyte मैमोरी स्पेस में कोड सेगमेन्ट के स्टार्टिंग एड्रेस के 16-बिट प्रदर्शित करता है। इन्सट्रक्शन प्वाइन्टर रजिस्टर 16-बिट ऑफसैट (AFFAप्रदर्शित करता है जिससे ज्ञात होता हाक कोड सेगमेन्ट के 64 kilobyte मैमोरी स्पेस में next इन्सट्रक्शन किस स्थान से फैच की जानी है। मैमोरी को भेजा जान वास्तविक एड्रेस (actual physical address) CS रजिस्टर को 4-bit left शिफ्ट कर IP द्वारा प्रदर्शित ऑफसेट म प्राप्त होता है।

Flag Register

पलैग, एक फ्लिप-फ्लॉप है जो किसी इन्सट्रक्शन के एक्जीक्यूट किये जाने पर उत्पन्न किसी स्थिति (condition) को करता है। फ्लैग द्वारा, एक्जीक्यूशन यूनिट के किसी विशेष ऑपरेशन को कन्ट्रोल भी किया जा सकता है।

8086 की एक्जीक्यूशन यूनिट (EU) में एक 16-बिट फ्लैग रजिस्टर है। इसमें 9 एक्टिव फ्लैग्स हैं। डायग्राम में जिस्टर में 9 एक्टिव फ्लैग्स की लोकेशन दिखायी गयी है। इनमें से 6 फ्लैग्स किसी इन्सट्रक्शन के एक्जीक्यूशन से इस स्थिति प्रदर्शित करते हैं। उदाहरणत: कैरी फ्लैग (Carry flag) उस समय सैट (1) होता है

जब दो 16-बिट बाइनरी सख्याओ को जोड़ने पर most significant bit (MSB) पोजीशन से कैरी (Carry) उत्पन्न होती है। यदि जोड़ने पर MSB शान से कैरी उत्पन्न नहीं होती, तब कैरी फ्लैग जीरो (0) रहता है। फ्लैग रजिस्टर के 6 Conditional फ्लैग्स निम्न हैं

डायग्राम

डायग्राम 8086 का फ्लैग रजिस्टर

Carry flag (CF), Parity flag (PF), Auxiliary Carry flag (AF), Zero flag (ZF), Sign flag (SF), तथा Towerflowflag OF)। इन फ्लैग्स के नाम से स्पष्ट होता है कि कौन सी condition इन्हें प्रभावित (affect) करती है। 8086 की कुछ इन्सट्रक्शन्स इन फ्लैग्स को चैक कर यह निर्धारित करती है कि इन्सट्रक्शन को एक्जीक्यूट करने के लिए कौन सी कल्पिक क्रिया (alternative action) की जाये।

फ्लैग रजिस्टर के शेष तीन फ्लैग्स का उपयोग माइक्रोप्रोसेसर के कुछ विशेष ऑपरेशन्स कन्ट्रोल करने के लिए किया आता है। इनके सैट अथवा रिसैट होने की विधि अन्य 6 फ्लैग्स से भिन्न हैं। EU, 6 Conditional फ्लैग्स को, किसी गणितीय अश्या लॉजिक ऑपरेशन (arithmetic or logic operation) के परिणाम के अनुसार सैट अथवा रिसैट करती है जबकि टोल फ्लैग्स, प्रोग्राम में दी गयी इन्सट्रक्शन द्वारा (deliberately) सैट/रिसैट किये जाते हैं। ये तीन कन्ट्रोल फ्लैग्स निम्न है

Trap flag (TE) : इसका उपयोग प्रोग्राम द्वारा सिंगल स्टैपिंग (single stepping) के लिए किया जाता है।

Interrupt flag (IF) : इसका उपयोग प्रोग्राम इन्ट्रप्ट को enable/disable करने के लिए किया जाता है।

Direction flag (DF): इसका उपयोग स्ट्रिग इन्सट्रक्शन (string instructions) के साथ किया जाता है।

 स्टैक प्वाइन्टर रजिस्टर

स्टैक, मैमोरी का एक सेक्शन है जिसे किसी subprogram के एक्जीक्यूशन के समय एड्रेस एवं डेटा स्टोर करने के र अलग छोड दिया जाता है। 8086 में एक 64K byte की सम्पूर्ण सेगमेन्ट स्टेक के लिए (reserve) रखी जा सकती है। मर के स्टाटिंग एडस के अपर (upper) 16-बिट्स स्टैक सेगमेन्ट रजिस्टर (SS) में होल्ड रहते हैं।

स्टैक प्वादर जटर सेगमेन्ट के स्टार्ट से उस मैमोरी लोकेशन का ऑफसेट (offset) होल्ड करता है जहाँ पर सबसे अन्तिम वर्ड (most recent word)स्टोर किया गया है। वह मैमोरी लोकेशन जहाँ पर सबसे अन्त में (most recently) वर्ड स्टोर किया गया है  ‘top of stack’ कहलाती है

डायग्राम

चित्र 10.6-SS तथा IP को जोड़कर स्टैक टॉप (stack top) का Physical address ज्ञात करना

stack  में reading अथवा writing के लिए फिजिकल एड्रैस, स्टैक प्वाइन्टर रजिस्टर के contents को सर के बेस एड्रैस में जोड़ कर ज्ञात किया जाता है। इसके लिए स्टैक सेगमेन्ट रजिस्टर के contents 4-बिट पोजिशन बांये 1 शिफ्ट किये जाते हैं तथा SP रजिस्टर के Contents इस शिफ्ट की गयी संख्या में जोड़े जाते हैं। इसका उदाहरण चित्र डायग्राम  दिया गया है।

स्टैक सेगमेन्ट के बेस एडैस 5000H को 4-बिट बाँयें शिफ्ट कर तथा दांयी ओर चार, 0s लगाने पर 50000H प्राप्त होता है। जब SP रजिस्टर के Contents FFEOH इसमें जोड़े जाते हैं तब स्टैक टॉप का physical address 5FFEOH प्राप्त होता है। इस एड्रैस को एक संख्या 5FFEOH द्वारा अथवा SS:SP फॉर्म में 5000 : FFEOH द्वारा प्रदर्शित किया जा सकता है।

अन्य प्वाइन्टर तथा इन्डैक्स रजिस्टर्स

एक्जीक्यूशन यूनिट (EU) में, SP रजिस्टर के अतिरिक्त एक 16-बिट बेस प्वाइन्टर रजिस्टर (base pointer register), तथा एक 16-बिट डेस्टीनेशन इन्डैक्स रजिस्टर (destination index register) होते हैं। इन रजिस्टरों का उपयोग, जनरल-परपज रजिस्टर की भाँति डाटा के अस्थायी स्टोरेज (temporary storage) के लिए किया जा सकता है।

परन्तु उनका मुख्य उपयोग किसी सेगमेन्ट में डेटा वर्ड के 16-बिट ऑफसैट को होल्ड (hold) करने के लिए किया जाता है। उदाहरणत: सोर्स इन्डैक्स (SI) रजिस्टर, डेटा सेगमेन्ट में किसी डेटा वर्ड के ऑफसैट को होल्ड करने के लिए प्रयुक्त किया जा सकता है।

डाटा एड्रैस जेनरेट करने के लिए BX अथवा BP रजिस्टर के Contents, SI या DI रजिस्टर के Contents तथा लोकेशन का डिसप्लेसमेन्ट जोड़ा जा सकता है। इस प्रकार एड्रैस की गणना करने पर effective address (EA) या ऑफसेट प्राप्त होता है। डेटा का अन्तिम एड्रैस, EA तथा उपयुक्त डेटा सेगमेन्ट (DS), एक्स्ट्रा सेगमेन्ट (ES) अथवा स्टैक सेगमेन्ट (SS) रजिस्टर द्वारा ही निर्धारित होता है।

एडैसिंग के लिए BX, IP, SP, BP, SI अथवा DI रजिस्टर कोई भी प्रयुक्त किया जा सकता है। ये सभी 16-बिट रजिस्टर हैं अत: EA में केवल 16 बिट होते हैं। इसके विपरीत एड्रैस बस पर भेजे जाने वाले PA (physical address) – 20-बिट होने आवश्यक हैं। ये अतिरिक्त 4-बिट, EA को सेगमेन्ट बेस एड्रैस में चित्र डायग्राम के अनुसार प्राप्त किये जा सकते हैं।

डायग्राम
किया चित्र 10.4 तथा चित्र 10.6 में भी दिखायी गयी है। स्पष्ट है कि जोड़ने से पूर्व सेगमेन्ट बेस एड्रैस के दायीं ओर चार Os लगायी जाती हैं।

8086 के ऑपरेटिंग मोड

इन्टेल 8086 के दो ऑपरेटिंग मोड हैं; मिनिमम मोड (Minimum Mode) तथा मैक्सिमम मोड (Maximum Mode)। जब किसी कम्प्यूटर प्रणाली में केवल एक 8086 CPU प्रयुक्त किया जाता है, तब 8086 मिनिमम मोड (Minimum Mode) में ऑपरेट होता है। इस मोड में CPU, मैमोरी तथा I/O के लिए आवश्यक कन्ट्रोल सिगनल भेजता है।

ऐसी प्रणाली जिसमें अनेक माइक्रोप्रोसेसर प्रयुक्त किये जाते हैं, तब यह Maximum Mode में ऑपरेट होता है। Maximum Mode में कन्ट्रोल सिगनल, बस कन्ट्रोलर 8288 द्वारा ट्रांसमिट (issue) किये जाते हैं जिसे इसी उद्देश्य के लिए 8086 के साथ प्रयुक्त किया जाता है।

reference-https://electronicsdesk.com/8086-microprocessor.html

8086 block diagram in hindi

निवेदन-अगर आपको यह आर्टिकल(8086 block diagram in hindi) अच्छा लगा हो तो आप इस पोस्ट को अपने दोस्तों के साथ जरुर शेयर(8086 block diagram in hindi) करे और आपको जिस टॉपिक(8086 block diagram in hindi) पर आपको पढना या नोट्स चाहिए तो हमें जरुर कमेंट(8086 block diagram in hindi) करे आपका कमेंट्स हमारे लिए बहु मूल्य है धन्यवाद

8086 block diagram in hindi

Leave a Comment