डीएलएक्स: Difference between revisions
No edit summary |
No edit summary |
||
Line 18: | Line 18: | ||
}} | }} | ||
'''डीएलएक्स''' (उच्चारण "डीलक्स") एक [[कंप्यूटर आर्किटेक्चर|आरआईएससी प्रोसेसर आर्किटेक्चर]] है जिसे जॉन एल. हेनेसी और डेविड ए. पैटरसन द्वारा डिजाइन किया गया है | '''डीएलएक्स''' (उच्चारण "डीलक्स") एक [[कंप्यूटर आर्किटेक्चर|आरआईएससी प्रोसेसर आर्किटेक्चर]] है, जिसे जॉन एल. हेनेसी और डेविड ए. पैटरसन द्वारा डिजाइन किया गया है जो [[स्टैनफोर्ड एमआईपीएस]] और [[बर्कले आरआईएससी]] के प्रमुख डिजाइनर हैं। क्रमशः उदाहरण के लिए आरआईएससी डिजाइन के नाम पर दो बेंचमार्क बर्कले डिजाइन किए गए हैं। | ||
डीएलएक्स सामान्यतः एक क्लीनअप (मॉडर्निज़ेड) स्टैनफोर्ड एमआईपीएस सीपीयू है। डीएलएक्स में एक | डीएलएक्स सामान्यतः एक क्लीनअप (मॉडर्निज़ेड) स्टैनफोर्ड एमआईपीएस सीपीयू है। डीएलएक्स में एक साधारण [[32-बिट कंप्यूटिंग]] लोड/स्टोर आर्किटेक्चर होता है जो कुछ स्थिति मे मॉडर्निज़ेड [[एमआईपीएस वास्तुकला|एमआईपीएस आर्किटेक्चर]] सीपीयू के विपरीत होता है। चूँकि डीएलएक्स का उद्देश्य मुख्य रूप से शिक्षण उद्देश्यों के लिए था। इसीलिए डीएलएक्स डिज़ाइन को व्यापक रूप से [[विश्वविद्यालय]] स्तर के कंप्यूटर आर्किटेक्चर पाठ्यक्रमों में उपयोग किया जाता है। | ||
दो ज्ञात एस्पिडा और वैम्प "[[ नरम माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]]" हार्डवेयर कार्यान्वयन हैं। एएसपीआईडीए परियोजना (प्रोजेक्ट) के परिणामस्वरूप कई अच्छी विशेषताओं वाला एक कोर तैयार किया गया है जो पूर्ण रुप से ओपन सोर्स और विशबोन का समर्थन करता है। इसमें एक असिंक्रोनस डिजाइन है जो कई आईएसए का समर्थन करती है और [[ASIC|एएसआईसी]] से प्रमाणित है। वैम्प एक डीएलएक्स-वेरिएंट है जिसे वेरीसॉफ्ट प्रोजेक्ट के रूप में गणितीय रूप से सत्यापित किया गया | दो ज्ञात एस्पिडा और वैम्प "[[ नरम माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]]" हार्डवेयर कार्यान्वयन हैं। एएसपीआईडीए परियोजना (प्रोजेक्ट) के परिणामस्वरूप कई अच्छी विशेषताओं वाला एक कोर तैयार किया गया है जो पूर्ण रुप से ओपन सोर्स और विशबोन का समर्थन करता है। इसमें एक असिंक्रोनस डिजाइन होती है जो कई आईएसए का समर्थन करती है और [[ASIC|एएसआईसी]] से प्रमाणित होती है। वैम्प एक डीएलएक्स-वेरिएंट है जिसे वेरीसॉफ्ट प्रोजेक्ट के रूप में गणितीय रूप से सत्यापित किया गया है। इसे पीवीएस के साथ निर्दिष्ट किया गया है और वेरिलॉग में कार्यान्वित किया गया है जो सामान्यतः [[Xilinx|सीलिंक्स]] [[FPGA|एफपीजीए]] पर चलता है। कंपाइलर के कर्नेल से टीसीपी/आईपी तक इस पर एक पूर्ण स्टैक बनाया गया है। | ||
==इतिहास== | ==इतिहास== | ||
स्टैनफोर्ड एमआईपीएस आर्किटेक्चर में विनिर्देशन प्राप्त करने के लिए प्रयोग की जाने वाली विधियों में से सभी को एक क्लॉक-साइकल (सीपीयू क्षमता मापक) में पूरा करने के लिए बाध्य करना था। इसने कंपाइलरों को उन स्थितियों में "नो-ऑप्स" इनपुट करने के लिए | स्टैनफोर्ड एमआईपीएस आर्किटेक्चर में विनिर्देशन प्राप्त करने के लिए प्रयोग की जाने वाली विधियों में से सभी को एक क्लॉक-साइकल (सीपीयू क्षमता मापक) में पूरा करने के लिए बाध्य करना था। इसने कंपाइलरों को उन स्थितियों में "नो-ऑप्स" इनपुट करने के लिए इंस्ट्रक्शन (निर्देश) दिये गए थे जहां इंस्ट्रक्शन निश्चित रूप से एक क्लॉक-साइकल से अधिक समय लेते थे। इस प्रकार इनपुट और आउटपुट गतिविधियाँ (जैसे मेमोरी एक्सेस) विशेष रूप से इस स्थिति को जटिल बनती थी। जिससे आर्टिफिशियल प्रोग्राम ब्लोट हो जाता था। सामान्यतः एमआईपीएस प्रोग्रामों को बहुत से एनओपी इंस्ट्रक्शन के लिए प्रयुक्त किया गया था जो एक यूनिनटेंडेड परिणाम था। डीएलएक्स आर्किटेक्चर एकल क्लॉक-साइकल निष्पादन को बाध्य नहीं करता है। इसीलिए यह इस समस्या से प्रतिरक्षित है। | ||
डीएलएक्स डिज़ाइन में लंबे इंस्ट्रक्शन को कार्यान्वित के लिए एक आधुनिक दृष्टिकोण का उपयोग डेटा-फ़ॉरवर्डिंग और इंस्ट्रक्शन पुन: व्यवस्थित करने के लिए किया गया था। इस स्थिति में लंबे इंस्ट्रक्शन को उनकी फंक्शनल यूनिट में स्थगित कर दिया जाता है और जब वे इंस्ट्रक्शन पूर्ण करते हैं तो उन्हें इंस्ट्रक्शन स्ट्रीम में फिर से प्रयुक्त किया जाता है। सामान्यतः यह डिज़ाइन बाहर से ऐसी प्रतीत होती है जैसे कि इसका निष्पादन पूर्ण रूप से सही है। | डीएलएक्स डिज़ाइन में लंबे इंस्ट्रक्शन को कार्यान्वित करने के लिए एक आधुनिक दृष्टिकोण का उपयोग डेटा-फ़ॉरवर्डिंग और इंस्ट्रक्शन को पुन: व्यवस्थित करने के लिए किया गया था। इस स्थिति में लंबे इंस्ट्रक्शन को उनकी फंक्शनल यूनिट में स्थगित कर दिया जाता है और जब वे इंस्ट्रक्शन पूर्ण करते हैं तो उन्हें इंस्ट्रक्शन स्ट्रीम में फिर से प्रयुक्त किया जाता है। सामान्यतः यह डिज़ाइन बाहर से ऐसी प्रतीत होती है जैसे कि इसका निष्पादन पूर्ण रूप से सही है। | ||
==कार्य== | ==कार्य== | ||
डीएलएक्स इंस्ट्रक्शन को | डीएलएक्स इंस्ट्रक्शन को आर-टाइप, आई-टाइप और जे-टाइप में विभाजित किया जा सकता है। आर-टाइप इंस्ट्रक्शन शुद्ध रजिस्टर इंस्ट्रक्शन होते हैं जिसमें 32-बिट वर्ड में तीन रजिस्टर रेफ्रेंस सम्मिलित होते हैं। आई-टाइप इंस्ट्रक्शन दो रजिस्टर निर्दिष्ट करते हैं और शीघ्र मान रखने के लिए 16 बिट्स का उपयोग करते हैं। अंततः जे-टाइप इंस्ट्रक्शन जंप प्रकार के इंस्ट्रक्शन होते हैं, जिनमें 26-बिट एड्रेस होता है। | ||
कुल 64 बिट संभावित इंस्ट्रक्शन के लिए [[ऑपकोड]] 6 बिट लंबे होते हैं। 32 रजिस्टरों में से एक का चयन करने के लिए 5 | कुल 64 बिट संभावित इंस्ट्रक्शन के लिए [[ऑपकोड]] 6 बिट लंबे होते हैं। 32 रजिस्टरों में से एक का चयन करने के लिए 5 बिट की आवश्यकता होती है। | ||
* आर-टाइप | * आर-टाइप इंस्ट्रक्शन की स्थिति में इसका अर्थ यह है कि 32-बिट वर्ड मे केवल 21 बिट का उपयोग किया जाता है जो न्यूनतम 6 बिट को विस्तारित इंस्ट्रक्शन के रूप में उपयोग करने की स्वीकृति देते हैं। | ||
*डीएलएक्स 64 से अधिक इंस्ट्रक्शन का समर्थन कर सकता है जब तक वे इंस्ट्रक्शन पूरी तरह से रजिस्टरों पर कार्य करते हैं। यह क्विर्क [[फ़्लोटिंग पॉइंट इकाई|फ़्लोटिंग पॉइंट यूनिट]] जैसी डिज़ाइनों | *डीएलएक्स 64 बिट से अधिक इंस्ट्रक्शन का समर्थन कर सकता है जब तक वे इंस्ट्रक्शन पूरी तरह से रजिस्टरों पर कार्य करते हैं। यह क्विर्क [[फ़्लोटिंग पॉइंट इकाई|फ़्लोटिंग पॉइंट यूनिट]] जैसी डिज़ाइनों के लिए उपयोगी है। | ||
==पाइपलाइन== | ==पाइपलाइन== | ||
एमआईपीएस डिज़ाइन की तरह डीएलएक्स | एमआईपीएस डिज़ाइन की तरह डीएलएक्स एक इंस्ट्रक्शन-पाइपलाइन के उपयोग पर अपने इंस्ट्रक्शन को आधारित करता है। डीएलएक्स डिज़ाइन में यह अवधारणा अत्यधिक सामान्य "क्लासिक" आरआईएससी है। सामान्यतः इंस्ट्रक्शन पाइपलाइन में पाँच चरण होते हैं: | ||
;आईएफ - इंस्ट्रक्शन फ़ेच [[फ़्लोटिंग पॉइंट इकाई|यूनिट]]/साइकल | ;आईएफ - इंस्ट्रक्शन फ़ेच [[फ़्लोटिंग पॉइंट इकाई|यूनिट]]/साइकल | ||
: IR<-Mem(PC) | : IR<-Mem(PC) | ||
: NPC<-PC+4 | : NPC<-PC+4 | ||
: ऑपरेशन: पीसी | : ऑपरेशन: ऑपरेशन को पीसी मे भेजें और इंस्ट्रक्शन को मेमोरी से इंस्ट्रक्शन रजिस्टर (आईआर) में लाएं और अगले क्रम के इंस्ट्रक्शन मे वृद्धि करने के लिए पीसी को एड्रेस 4 से बढ़ाया जाता है। आईआर का उपयोग अगले इंस्ट्रक्शन को रखने के लिए किया जाता है जिसका उपयोग बाद के क्लॉक-साइकल इंस्ट्रक्शन पर किया जाता है। इसी प्रकार रजिस्टर एनपीसी का उपयोग अगले क्रम के पीसी को रखने के लिए किया जाता है। | ||
;आईडी - इंस्ट्रक्शन डिकोड यूनिट | ;आईडी - इंस्ट्रक्शन डिकोड यूनिट | ||
: ऑपरेशन: इंस्ट्रक्शन को डिकोड करें और रजिस्टरों को | : ऑपरेशन: इंस्ट्रक्शन को डिकोड करें और रजिस्टरों को रीड-मोड मे करने के लिए रजिस्टर फ़ाइल तक जाए। यह यूनिट <code>IF</code> से इंस्ट्रक्शन प्राप्त करती है और उस इंस्ट्रक्शन से ऑपकोड और ऑपरेंड को निकालती है। यदि ऑपरेशन द्वारा अनुरोध किया जाता है तो यह रजिस्टर के मान को भी पुनः प्राप्त करता है। | ||
;ईएक्स - निष्पादन यूनिट/एफ्फेक्टिव एड्रेस साइकल | ;ईएक्स - निष्पादन यूनिट/एफ्फेक्टिव एड्रेस साइकल | ||
: ऑपरेशन: अरिथमेटिक लॉजिक यूनिट (एएलयू) ईएक्स साइकल में तैयार किए गए ऑपरेंड पर कार्य करती है जो डीएलएक्स इंस्ट्रक्शन के आधार पर चार | : ऑपरेशन: अरिथमेटिक लॉजिक यूनिट (एएलयू) ईएक्स साइकल में तैयार किए गए ऑपरेंड पर कार्य करती है जो डीएलएक्स इंस्ट्रक्शन के आधार पर चार फंक्शन में से एक का प्रदर्शन करती है। | ||
: मेमोरी रेफ्रेंस: रजिस्टर-रजिस्टर एएलयू इंस्ट्रक्शन, रजिस्टर-इमीडिएट एएलयू इंस्ट्रक्शन | : मेमोरी रेफ्रेंस: रजिस्टर-रजिस्टर एएलयू इंस्ट्रक्शन, रजिस्टर-इमीडिएट एएलयू इंस्ट्रक्शन | ||
;एमईएम - मेमोरी एक्सेस यूनिट | ;एमईएम - मेमोरी एक्सेस यूनिट | ||
: इस यूनिट में सक्रिय डीएलएक्स इंस्ट्रक्शन लोड, ब्रांच और स्टोर होते हैं। | : इस यूनिट में सक्रिय डीएलएक्स इंस्ट्रक्शन लोड, ब्रांच और स्टोर होते हैं। | ||
: मेमोरी रेफ्रेंस: यदि आवश्यक होती है तो मेमोरी तक डीएलएक्स इंस्ट्रक्शन लोड होता है जिससे डेटा मेमोरी से वापस आ जाता है जिसको एलएमडी (लोड मेमोरी डेटा) रजिस्टर में रखा जाता है। | : मेमोरी रेफ्रेंस: यदि आवश्यक होती है तो मेमोरी तक डीएलएक्स इंस्ट्रक्शन लोड होता है, जिससे डेटा मेमोरी से वापस आ जाता है जिसको एलएमडी (लोड मेमोरी डेटा) रजिस्टर में रखा जाता है। | ||
;डब्ल्यूबी - राइटबैक यूनिट | ;डब्ल्यूबी - राइटबैक यूनिट | ||
: सामान्यतः आधुनिक शब्दावली में इसे "स्टोर यूनिट" कहा जाता है। इसके मेमोरी सिस्टम डेटा और एएलयू | : सामान्यतः आधुनिक शब्दावली में इसे "स्टोर यूनिट" कहा जाता है। इसके मेमोरी सिस्टम डेटा और एएलयू डेटा के आउटपुट को रजिस्टर फ़ाइल मे लिखा जाता है। | ||
==यह भी देखें== | ==यह भी देखें== | ||
Line 62: | Line 62: | ||
* [[ओपनआरआईएससी|ओपन आरआईएससी]] | * [[ओपनआरआईएससी|ओपन आरआईएससी]] | ||
==संदर्भ== | ==संदर्भ == | ||
* {{cite book |last=Sailer |first=Philip M. |author2=Kaeli, David R. |authorlink2=David R. Kaeli |title=The DLX Instruction Set Architecture Handbook |year=1996 |publisher=Morgan Kaufmann|isbn=1-55860-371-9}} | * {{cite book |last=Sailer |first=Philip M. |author2=Kaeli, David R. |authorlink2=David R. Kaeli |title=The DLX Instruction Set Architecture Handbook |year=1996 |publisher=Morgan Kaufmann|isbn=1-55860-371-9}} | ||
* {{cite book|last1=Patterson|first1=David|authorlink1=David Patterson (scientist)|last2=Hennessy|first2=John|authorlink2=John L. Hennessy|title=Computer Architecture: A Quantitative Approach|year=1996|edition=1st|publisher=[[Morgan Kaufmann]]|isbn=978-1-55-860329-5|url=https://archive.org/details/computerarchitec00patt}} | * {{cite book|last1=Patterson|first1=David|authorlink1=David Patterson (scientist)|last2=Hennessy|first2=John|authorlink2=John L. Hennessy|title=Computer Architecture: A Quantitative Approach|year=1996|edition=1st|publisher=[[Morgan Kaufmann]]|isbn=978-1-55-860329-5|url=https://archive.org/details/computerarchitec00patt}} | ||
* {{cite book|last1=Patterson|first1=David|authorlink1=David Patterson (scientist)|last2=Hennessy|first2=John|authorlink2=John L. Hennessy|title=Computer Organization and Design|year=1994|edition=1st|publisher=[[Morgan Kaufmann]]|isbn=978-1-55-860281-6|url=https://archive.org/details/computerorganiza00henn}}<br /> | * {{cite book|last1=Patterson|first1=David|authorlink1=David Patterson (scientist)|last2=Hennessy|first2=John|authorlink2=John L. Hennessy|title=Computer Organization and Design|year=1994|edition=1st|publisher=[[Morgan Kaufmann]]|isbn=978-1-55-860281-6|url=https://archive.org/details/computerorganiza00henn}}<br /> | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* [http://www.csee.umbc.edu/courses/undergraduate/411/spring96/dlx.html The | * [http://www.csee.umbc.edu/courses/undergraduate/411/spring96/dlx.html The DLX Processor] | ||
* [http://www.eng.tau.ac.il/~guy/Computer_Structure03/slides/instructions.pdf | * [http://www.csee.umbc.edu/courses/undergraduate/411/spring96/dlx.html][http://www.eng.tau.ac.il/~guy/Computer_Structure03/slides/instructions.pdf DLX] [http://www.eng.tau.ac.il/~guy/Computer_Structure03/slides/instructions.pdf instructions] | ||
* [https://web.archive.org/web/20080117091139/http://cs.uns.edu.ar/~jechaiz/arquitectura/windlx/windlx.html | * [https://web.archive.org/web/20080117091139/http://cs.uns.edu.ar/~jechaiz/arquitectura/windlx/windlx.html Win][http://www.csee.umbc.edu/courses/undergraduate/411/spring96/dlx.html DLX] | ||
* [http://www.davidviner.com/dlx.html | * [http://www.csee.umbc.edu/courses/undergraduate/411/spring96/dlx.html][http://www.davidviner.com/dlx.html DLX] [http://www.davidviner.com/dlx.html Simulator (GNU GPL)] | ||
* [http://users.elis.ugent.be/escape/ ESCAPE | * [http://users.elis.ugent.be/escape/ ESCAPE] [http://www.csee.umbc.edu/courses/undergraduate/411/spring96/dlx.html DLX] Simulator {{Webarchive|url=https://web.archive.org/web/20150623110040/http://users.elis.ugent.be/escape/ |date=2015-06-23 }} | ||
* [http://sourceforge.net/projects/opendlx/ | * [http://sourceforge.net/projects/opendlx/ openDLX - opensource DLX-Simulator in Java (GNU GPLv3)] | ||
* [http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F3092E4572A237F069257DFF168CB07A?doi=10.1.1.217.2251&rep=rep1&type=pdf Formal verification of VAMP processor] | * [http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F3092E4572A237F069257DFF168CB07A?doi=10.1.1.217.2251&rep=rep1&type=pdf Formal verification of VAMP processor] | ||
* [http://opencores.org/project,aspida ASPIDA asynchronous | * [http://opencores.org/project,aspida ASPIDA asynchronous DLX processor] | ||
* [https://www.haverford.edu/computer-science/resources/hera HERA: The Haverford Educational RISC Architecture] | * [https://www.haverford.edu/computer-science/resources/hera HERA: The Haverford Educational RISC Architecture] | ||
Revision as of 09:15, 21 September 2023
Designer | जॉन एल. हेनेसी और डेविड ए. पैटरसन |
---|---|
Bits | 32-बिट |
Introduced | 1994 |
Version | 1.0 |
Design | आरआईएससी |
Type | रजिस्टर-रजिस्टर और लोड-स्टोर |
Encoding | फ़िक्स्ड |
Branching | कंडीशन रजिस्टर |
Endianness | बी-एंडियन |
Extensions | एमडीएमएक्स और एमआईपीएस-3डी का उपयोग किया जा सकता है। |
Open | Yes |
Registers | |
General purpose | 32 (R0=0) |
Floating point | 32 (paired DP for 32-bit) |
डीएलएक्स (उच्चारण "डीलक्स") एक आरआईएससी प्रोसेसर आर्किटेक्चर है, जिसे जॉन एल. हेनेसी और डेविड ए. पैटरसन द्वारा डिजाइन किया गया है जो स्टैनफोर्ड एमआईपीएस और बर्कले आरआईएससी के प्रमुख डिजाइनर हैं। क्रमशः उदाहरण के लिए आरआईएससी डिजाइन के नाम पर दो बेंचमार्क बर्कले डिजाइन किए गए हैं।
डीएलएक्स सामान्यतः एक क्लीनअप (मॉडर्निज़ेड) स्टैनफोर्ड एमआईपीएस सीपीयू है। डीएलएक्स में एक साधारण 32-बिट कंप्यूटिंग लोड/स्टोर आर्किटेक्चर होता है जो कुछ स्थिति मे मॉडर्निज़ेड एमआईपीएस आर्किटेक्चर सीपीयू के विपरीत होता है। चूँकि डीएलएक्स का उद्देश्य मुख्य रूप से शिक्षण उद्देश्यों के लिए था। इसीलिए डीएलएक्स डिज़ाइन को व्यापक रूप से विश्वविद्यालय स्तर के कंप्यूटर आर्किटेक्चर पाठ्यक्रमों में उपयोग किया जाता है।
दो ज्ञात एस्पिडा और वैम्प "माइक्रोप्रोसेसर" हार्डवेयर कार्यान्वयन हैं। एएसपीआईडीए परियोजना (प्रोजेक्ट) के परिणामस्वरूप कई अच्छी विशेषताओं वाला एक कोर तैयार किया गया है जो पूर्ण रुप से ओपन सोर्स और विशबोन का समर्थन करता है। इसमें एक असिंक्रोनस डिजाइन होती है जो कई आईएसए का समर्थन करती है और एएसआईसी से प्रमाणित होती है। वैम्प एक डीएलएक्स-वेरिएंट है जिसे वेरीसॉफ्ट प्रोजेक्ट के रूप में गणितीय रूप से सत्यापित किया गया है। इसे पीवीएस के साथ निर्दिष्ट किया गया है और वेरिलॉग में कार्यान्वित किया गया है जो सामान्यतः सीलिंक्स एफपीजीए पर चलता है। कंपाइलर के कर्नेल से टीसीपी/आईपी तक इस पर एक पूर्ण स्टैक बनाया गया है।
इतिहास
स्टैनफोर्ड एमआईपीएस आर्किटेक्चर में विनिर्देशन प्राप्त करने के लिए प्रयोग की जाने वाली विधियों में से सभी को एक क्लॉक-साइकल (सीपीयू क्षमता मापक) में पूरा करने के लिए बाध्य करना था। इसने कंपाइलरों को उन स्थितियों में "नो-ऑप्स" इनपुट करने के लिए इंस्ट्रक्शन (निर्देश) दिये गए थे जहां इंस्ट्रक्शन निश्चित रूप से एक क्लॉक-साइकल से अधिक समय लेते थे। इस प्रकार इनपुट और आउटपुट गतिविधियाँ (जैसे मेमोरी एक्सेस) विशेष रूप से इस स्थिति को जटिल बनती थी। जिससे आर्टिफिशियल प्रोग्राम ब्लोट हो जाता था। सामान्यतः एमआईपीएस प्रोग्रामों को बहुत से एनओपी इंस्ट्रक्शन के लिए प्रयुक्त किया गया था जो एक यूनिनटेंडेड परिणाम था। डीएलएक्स आर्किटेक्चर एकल क्लॉक-साइकल निष्पादन को बाध्य नहीं करता है। इसीलिए यह इस समस्या से प्रतिरक्षित है।
डीएलएक्स डिज़ाइन में लंबे इंस्ट्रक्शन को कार्यान्वित करने के लिए एक आधुनिक दृष्टिकोण का उपयोग डेटा-फ़ॉरवर्डिंग और इंस्ट्रक्शन को पुन: व्यवस्थित करने के लिए किया गया था। इस स्थिति में लंबे इंस्ट्रक्शन को उनकी फंक्शनल यूनिट में स्थगित कर दिया जाता है और जब वे इंस्ट्रक्शन पूर्ण करते हैं तो उन्हें इंस्ट्रक्शन स्ट्रीम में फिर से प्रयुक्त किया जाता है। सामान्यतः यह डिज़ाइन बाहर से ऐसी प्रतीत होती है जैसे कि इसका निष्पादन पूर्ण रूप से सही है।
कार्य
डीएलएक्स इंस्ट्रक्शन को आर-टाइप, आई-टाइप और जे-टाइप में विभाजित किया जा सकता है। आर-टाइप इंस्ट्रक्शन शुद्ध रजिस्टर इंस्ट्रक्शन होते हैं जिसमें 32-बिट वर्ड में तीन रजिस्टर रेफ्रेंस सम्मिलित होते हैं। आई-टाइप इंस्ट्रक्शन दो रजिस्टर निर्दिष्ट करते हैं और शीघ्र मान रखने के लिए 16 बिट्स का उपयोग करते हैं। अंततः जे-टाइप इंस्ट्रक्शन जंप प्रकार के इंस्ट्रक्शन होते हैं, जिनमें 26-बिट एड्रेस होता है।
कुल 64 बिट संभावित इंस्ट्रक्शन के लिए ऑपकोड 6 बिट लंबे होते हैं। 32 रजिस्टरों में से एक का चयन करने के लिए 5 बिट की आवश्यकता होती है।
- आर-टाइप इंस्ट्रक्शन की स्थिति में इसका अर्थ यह है कि 32-बिट वर्ड मे केवल 21 बिट का उपयोग किया जाता है जो न्यूनतम 6 बिट को विस्तारित इंस्ट्रक्शन के रूप में उपयोग करने की स्वीकृति देते हैं।
- डीएलएक्स 64 बिट से अधिक इंस्ट्रक्शन का समर्थन कर सकता है जब तक वे इंस्ट्रक्शन पूरी तरह से रजिस्टरों पर कार्य करते हैं। यह क्विर्क फ़्लोटिंग पॉइंट यूनिट जैसी डिज़ाइनों के लिए उपयोगी है।
पाइपलाइन
एमआईपीएस डिज़ाइन की तरह डीएलएक्स एक इंस्ट्रक्शन-पाइपलाइन के उपयोग पर अपने इंस्ट्रक्शन को आधारित करता है। डीएलएक्स डिज़ाइन में यह अवधारणा अत्यधिक सामान्य "क्लासिक" आरआईएससी है। सामान्यतः इंस्ट्रक्शन पाइपलाइन में पाँच चरण होते हैं:
- आईएफ - इंस्ट्रक्शन फ़ेच यूनिट/साइकल
- IR<-Mem(PC)
- NPC<-PC+4
- ऑपरेशन: ऑपरेशन को पीसी मे भेजें और इंस्ट्रक्शन को मेमोरी से इंस्ट्रक्शन रजिस्टर (आईआर) में लाएं और अगले क्रम के इंस्ट्रक्शन मे वृद्धि करने के लिए पीसी को एड्रेस 4 से बढ़ाया जाता है। आईआर का उपयोग अगले इंस्ट्रक्शन को रखने के लिए किया जाता है जिसका उपयोग बाद के क्लॉक-साइकल इंस्ट्रक्शन पर किया जाता है। इसी प्रकार रजिस्टर एनपीसी का उपयोग अगले क्रम के पीसी को रखने के लिए किया जाता है।
- आईडी - इंस्ट्रक्शन डिकोड यूनिट
- ऑपरेशन: इंस्ट्रक्शन को डिकोड करें और रजिस्टरों को रीड-मोड मे करने के लिए रजिस्टर फ़ाइल तक जाए। यह यूनिट
IF
से इंस्ट्रक्शन प्राप्त करती है और उस इंस्ट्रक्शन से ऑपकोड और ऑपरेंड को निकालती है। यदि ऑपरेशन द्वारा अनुरोध किया जाता है तो यह रजिस्टर के मान को भी पुनः प्राप्त करता है। - ईएक्स - निष्पादन यूनिट/एफ्फेक्टिव एड्रेस साइकल
- ऑपरेशन: अरिथमेटिक लॉजिक यूनिट (एएलयू) ईएक्स साइकल में तैयार किए गए ऑपरेंड पर कार्य करती है जो डीएलएक्स इंस्ट्रक्शन के आधार पर चार फंक्शन में से एक का प्रदर्शन करती है।
- मेमोरी रेफ्रेंस: रजिस्टर-रजिस्टर एएलयू इंस्ट्रक्शन, रजिस्टर-इमीडिएट एएलयू इंस्ट्रक्शन
- एमईएम - मेमोरी एक्सेस यूनिट
- इस यूनिट में सक्रिय डीएलएक्स इंस्ट्रक्शन लोड, ब्रांच और स्टोर होते हैं।
- मेमोरी रेफ्रेंस: यदि आवश्यक होती है तो मेमोरी तक डीएलएक्स इंस्ट्रक्शन लोड होता है, जिससे डेटा मेमोरी से वापस आ जाता है जिसको एलएमडी (लोड मेमोरी डेटा) रजिस्टर में रखा जाता है।
- डब्ल्यूबी - राइटबैक यूनिट
- सामान्यतः आधुनिक शब्दावली में इसे "स्टोर यूनिट" कहा जाता है। इसके मेमोरी सिस्टम डेटा और एएलयू डेटा के आउटपुट को रजिस्टर फ़ाइल मे लिखा जाता है।
यह भी देखें
संदर्भ
- Sailer, Philip M.; Kaeli, David R. (1996). The DLX Instruction Set Architecture Handbook. Morgan Kaufmann. ISBN 1-55860-371-9.
- Patterson, David; Hennessy, John (1996). Computer Architecture: A Quantitative Approach (1st ed.). Morgan Kaufmann. ISBN 978-1-55-860329-5.
- Patterson, David; Hennessy, John (1994). Computer Organization and Design (1st ed.). Morgan Kaufmann. ISBN 978-1-55-860281-6.
बाहरी संबंध
- The DLX Processor
- [1]DLX instructions
- WinDLX
- [2]DLX Simulator (GNU GPL)
- ESCAPE DLX Simulator Archived 2015-06-23 at the Wayback Machine
- openDLX - opensource DLX-Simulator in Java (GNU GPLv3)
- Formal verification of VAMP processor
- ASPIDA asynchronous DLX processor
- HERA: The Haverford Educational RISC Architecture