डीएलएक्स: Difference between revisions

From Vigyanwiki
(Created page with "{{About|the CPU architecture}} {{Infobox CPU architecture | name = DLX | designer = John L. Hennessy and David A. Patterson | bi...")
 
m (6 revisions imported from alpha:डीएलएक्स)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{About|the CPU architecture}}
{{About|सीपीयू आर्किटेक्चर}}
{{Infobox CPU architecture
{{Infobox CPU architecture
| name      = DLX
| name      = डीएलएक्स
| designer  = [[John L. Hennessy]] and [[David A. Patterson (scientist)|David A. Patterson]]
| designer  = [[जॉन एल. हेनेसी]] और [[डेविड ए. पैटरसन (वैज्ञानिक)|डेविड ए. पैटरसन]]
| bits      = 32-bit
| bits      = 32-बिट
| introduced = 1994
| introduced = 1994
| version    = 1.0
| version    = 1.0
| design    = RISC
| design    = आरआईएससी
| type      = [[Register–register_architecture|Register–Register]] & [[Load–store architecture|Load–store]]
| type      = [[रजिस्टर-रजिस्टर_आर्किटेक्चर|रजिस्टर-रजिस्टर]] और [[लोड-स्टोर आर्किटेक्चर|लोड-स्टोर]]
| encoding  = Fixed
| encoding  = फ़िक्स्ड
| branching  = Condition register
| branching  = कंडीशन रजिस्टर
| endianness = [[Bi-endian]]
| endianness = [[बी-एंडियन]]
| extensions = None, but [[MDMX]] & [[MIPS-3D]] could be used
| extensions = [[एमडीएमएक्स]] और [[एमआईपीएस-3डी]] का उपयोग किया जा सकता है।
| open      = Yes
| open      = Yes
| registers  =  
| registers  =  
Line 17: Line 17:
| fpr        = 32 (paired DP for 32-bit)
| fpr        = 32 (paired DP for 32-bit)
}}
}}
डीएलएक्स (उच्चारण डीलक्स) एक कम निर्देश सेट कंप्यूटर [[सेंट्रल प्रोसेसिंग यूनिट]] [[कंप्यूटर आर्किटेक्चर]] है जिसे जॉन एल हेनेसी और डेविड पैटरसन (कंप्यूटर वैज्ञानिक) द्वारा डिजाइन किया गया है। डेविड ए पैटरसन, [[स्टैनफोर्ड एमआईपीएस]] और [[बर्कले आरआईएससी]] डिजाइन के प्रमुख डिजाइनर (क्रमशः) ), आरआईएससी डिज़ाइन के दो बेंचमार्क उदाहरण (बर्कले डिज़ाइन के नाम पर)।


डीएलएक्स अनिवार्य रूप से एक साफ (और आधुनिक) सरलीकृत स्टैनफोर्ड एमआईपीएस सीपीयू है। डीएलएक्स में एक सरल [[32-बिट कंप्यूटिंग]]|32-बिट लोड/स्टोर आर्किटेक्चर है, जो कुछ हद तक आधुनिक [[एमआईपीएस वास्तुकला]] सीपीयू के विपरीत है। चूँकि DLX का उद्देश्य मुख्य रूप से शिक्षण उद्देश्यों के लिए था, DLX डिज़ाइन का व्यापक रूप से [[विश्वविद्यालय]] स्तर के कंप्यूटर आर्किटेक्चर पाठ्यक्रमों में उपयोग किया जाता है।
'''डीएलएक्स''' (उच्चारण "डीलक्स") एक [[कंप्यूटर आर्किटेक्चर|आरआईएससी प्रोसेसर आर्किटेक्चर]] है, जिसे जॉन एल. हेनेसी और डेविड ए. पैटरसन द्वारा डिजाइन किया गया है जो [[स्टैनफोर्ड एमआईपीएस]] और [[बर्कले आरआईएससी]] के प्रमुख डिजाइनर हैं। क्रमशः उदाहरण के लिए आरआईएससी डिजाइन के नाम पर दो बेंचमार्क बर्कले डिजाइन किए गए हैं।


दो ज्ञात [[ नरम माइक्रोप्रोसेसर ]] हार्डवेयर कार्यान्वयन हैं: ASPIDA और VAMP। ASPIDA परियोजना के परिणामस्वरूप कई अच्छी विशेषताओं वाला एक कोर तैयार हुआ: यह खुला स्रोत है, [[विशबोन (कंप्यूटर बस)]] का समर्थन करता है, इसमें एक अतुल्यकालिक डिज़ाइन है, कई निर्देश सेट आर्किटेक्चर का समर्थन करता है, और [[ASIC]] प्रमाणित है। VAMP एक DLX-वेरिएंट है जिसे Verisoft प्रोजेक्ट के हिस्से के रूप में गणितीय रूप से सत्यापित किया गया था। इसे [[प्रोटोटाइप सत्यापन प्रणाली]] के साथ निर्दिष्ट किया गया था, जिसे [[Verilog]] में लागू किया गया था, और यह [[Xilinx]] [[FPGA]] पर चलता है। कंपाइलर से कर्नेल से टीसीपी/आईपी तक एक पूर्ण स्टैक इस पर बनाया गया था।
डीएलएक्स सामान्यतः एक क्लीनअप (मॉडर्निज़ेड) स्टैनफोर्ड एमआईपीएस सीपीयू है। डीएलएक्स में एक साधारण [[32-बिट कंप्यूटिंग]] लोड/स्टोर आर्किटेक्चर होता है जो कुछ स्थिति मे मॉडर्निज़ेड [[एमआईपीएस वास्तुकला|एमआईपीएस आर्किटेक्चर]] सीपीयू के विपरीत होता है। चूँकि डीएलएक्स का उद्देश्य मुख्य रूप से शिक्षण उद्देश्यों के लिए था। इसीलिए डीएलएक्स डिज़ाइन को व्यापक रूप से [[विश्वविद्यालय]] स्तर के कंप्यूटर आर्किटेक्चर पाठ्यक्रमों में उपयोग किया जाता है।
 
दो ज्ञात एस्पिडा और वैम्प "[[ नरम माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]]" हार्डवेयर कार्यान्वयन हैं। एएसपीआईडीए परियोजना (प्रोजेक्ट) के परिणामस्वरूप कई अच्छी विशेषताओं वाला एक कोर तैयार किया गया है जो पूर्ण रुप से ओपन सोर्स और विशबोन का समर्थन करता है। इसमें एक असिंक्रोनस डिजाइन होती है जो कई आईएसए का समर्थन करती है और [[ASIC|एएसआईसी]] से प्रमाणित होती है। वैम्प एक डीएलएक्स-वेरिएंट है जिसे वेरीसॉफ्ट प्रोजेक्ट के रूप में गणितीय रूप से सत्यापित किया गया है। इसे पीवीएस के साथ निर्दिष्ट किया गया है और वेरिलॉग में कार्यान्वित किया गया है जो सामान्यतः [[Xilinx|सीलिंक्स]] [[FPGA|एफपीजीए]] पर सक्रिय होता है। कंपाइलर के कर्नेल से टीसीपी/आईपी तक इस पर एक पूर्ण स्टैक बनाया गया है।


==इतिहास==
==इतिहास==
स्टैनफोर्ड एमआईपीएस आर्किटेक्चर में, प्रदर्शन हासिल करने के लिए इस्तेमाल की जाने वाली विधियों में से एक सभी निर्देशों को एक घड़ी चक्र में पूरा करने के लिए मजबूर करना था। इसने कंपाइलर्स को उन मामलों में [[एनओपी (कोड)]] | नो-ऑप्स डालने के लिए मजबूर किया जहां निर्देश निश्चित रूप से एक घड़ी चक्र से अधिक समय लेगा। इस प्रकार इनपुट और आउटपुट गतिविधियाँ (जैसे मेमोरी एक्सेस) ने विशेष रूप से इस व्यवहार को मजबूर किया, जिससे कृत्रिम प्रोग्राम ब्लोट हो गया। सामान्य तौर पर एमआईपीएस कार्यक्रमों को बहुत सारे बेकार एनओपी निर्देशों के लिए मजबूर किया गया था, एक ऐसा व्यवहार जो एक अनपेक्षित परिणाम था। डीएलएक्स आर्किटेक्चर एकल घड़ी चक्र निष्पादन को बाध्य नहीं करता है, और इसलिए इस समस्या से प्रतिरक्षित है।
स्टैनफोर्ड एमआईपीएस आर्किटेक्चर में विनिर्देशन प्राप्त करने के लिए प्रयोग की जाने वाली विधियों में से सभी को एक क्लॉक-साइकल (सीपीयू क्षमता मापक) में पूरा करने के लिए बाध्य करना था। इसने कंपाइलरों को उन स्थितियों में "नो-ऑप्स" इनपुट करने के लिए इंस्ट्रक्शन (निर्देश) दिये गए थे जहां इंस्ट्रक्शन निश्चित रूप से एक क्लॉक-साइकल से अधिक समय लेते थे। इस प्रकार इनपुट और आउटपुट गतिविधियाँ (जैसे मेमोरी एक्सेस) विशेष रूप से इस स्थिति को जटिल बनती थी। जिससे आर्टिफिशियल प्रोग्राम ब्लोट हो जाता था। सामान्यतः एमआईपीएस प्रोग्रामों को बहुत से एनओपी इंस्ट्रक्शन के लिए प्रयुक्त किया गया था जो एक यूनिनटेंडेड परिणाम था। डीएलएक्स आर्किटेक्चर एकल क्लॉक-साइकल निष्पादन को बाध्य नहीं करता है। इसीलिए यह इस समस्या से प्रतिरक्षित है।


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


==यह कैसे काम करता है==
==कार्य==
डीएलएक्स निर्देशों को तीन प्रकारों में विभाजित किया जा सकता है, आर-टाइप, आई-टाइप और जे-टाइप। आर-प्रकार के निर्देश शुद्ध रजिस्टर निर्देश हैं, जिसमें 32-बिट शब्द में तीन रजिस्टर संदर्भ शामिल हैं। I-टाइप निर्देश दो रजिस्टर निर्दिष्ट करते हैं, और तत्काल मान रखने के लिए 16 बिट्स का उपयोग करते हैं। अंततः J-प्रकार के निर्देश जंप होते हैं, जिनमें 26-बिट पता होता है।
डीएलएक्स इंस्ट्रक्शन को आर-टाइप, आई-टाइप और जे-टाइप में विभाजित किया जा सकता है। आर-टाइप इंस्ट्रक्शन शुद्ध रजिस्टर इंस्ट्रक्शन होते हैं जिसमें 32-बिट वर्ड में तीन रजिस्टर रेफ्रेंस सम्मिलित होते हैं। आई-टाइप इंस्ट्रक्शन दो रजिस्टर निर्दिष्ट करते हैं और शीघ्र मान रखने के लिए 16 बिट्स का उपयोग करते हैं। अंततः जे-टाइप इंस्ट्रक्शन जंप-टाइप इंस्ट्रक्शन होते हैं, जिनमें 26-बिट एड्रेस होता है।


कुल 64 संभावित बुनियादी निर्देशों के लिए [[ऑपकोड]] 6 बिट लंबे होते हैं। 32 रजिस्टरों में से एक का चयन करने के लिए 5 बिट्स की आवश्यकता होती है।
कुल 64 बिट संभावित इंस्ट्रक्शन के लिए [[ऑपकोड]] 6 बिट लंबे होते हैं। 32 रजिस्टरों में से एक का चयन करने के लिए 5 बिट की आवश्यकता होती है।
* आर-प्रकार के निर्देशों के मामले में इसका मतलब है कि 32-बिट शब्द के केवल 21 बिट्स का उपयोग किया जाता है, जो निचले 6 बिट्स को विस्तारित निर्देशों के रूप में उपयोग करने की अनुमति देता है।
* आर-टाइप इंस्ट्रक्शन की स्थिति में इसका अर्थ यह है कि 32-बिट वर्ड मे केवल 21 बिट का उपयोग किया जाता है जो न्यूनतम 6 बिट को विस्तारित इंस्ट्रक्शन के रूप में उपयोग करने की स्वीकृति देते हैं।
* डीएलएक्स 64 से अधिक निर्देशों का समर्थन कर सकता है, जब तक कि वे निर्देश पूरी तरह से रजिस्टरों पर काम करते हैं। यह विचित्रता [[फ़्लोटिंग पॉइंट इकाई]] समर्थन जैसी चीज़ों के लिए उपयोगी है।
*डीएलएक्स 64 बिट से अधिक इंस्ट्रक्शन का समर्थन कर सकता है जब तक वे इंस्ट्रक्शन पूरी तरह से रजिस्टरों पर कार्य करते हैं। यह क्विर्क [[फ़्लोटिंग पॉइंट इकाई|फ़्लोटिंग पॉइंट यूनिट]] जैसी डिज़ाइनों के लिए उपयोगी है।


==पाइपलाइन==
==पाइपलाइन==
एमआईपीएस डिज़ाइन की तरह डीएलएक्स, एक निर्देश पाइपलाइन के उपयोग पर अपना प्रदर्शन आधारित करता है। डीएलएक्स डिज़ाइन में यह काफी सरल, क्लासिक आरआईएससी पाइपलाइन है| अवधारणा में क्लासिक आरआईएससी। पाइपलाइन में पाँच चरण होते हैं:
एमआईपीएस डिज़ाइन की तरह डीएलएक्स एक इंस्ट्रक्शन-पाइपलाइन के उपयोग पर अपने इंस्ट्रक्शन को आधारित करता है। डीएलएक्स डिज़ाइन में यह अवधारणा अत्यधिक सामान्य "क्लासिक" आरआईएससी है। सामान्यतः इंस्ट्रक्शन पाइपलाइन में पाँच चरण होते हैं:


;आईएफ - अनुदेश फ़ेच इकाई/चक्र
;आईएफ - इंस्ट्रक्शन फ़ेच [[फ़्लोटिंग पॉइंट इकाई|यूनिट]]/साइकल
: आईआर <-मेम (पीसी)
: IR<-Mem(PC)
: एनपीसी<-पीसी+4
: NPC<-PC+4
: ऑपरेशन: पीसी को भेजें और मेमोरी से निर्देश को [[निर्देश रजिस्टर]] में लाएं|निर्देश रजिस्टर (आईआर); अगले अनुक्रमिक निर्देश को संबोधित करने के लिए पीसी को 4 से बढ़ाएं। आईआर का उपयोग अगले निर्देश को रखने के लिए किया जाता है जिसकी बाद के घड़ी चक्रों पर आवश्यकता होगी; इसी प्रकार रजिस्टर एनपीसी का उपयोग अगले अनुक्रमिक पीसी को रखने के लिए किया जाता है।
: ऑपरेशन: ऑपरेशन को पीसी मे भेजें और इंस्ट्रक्शन को मेमोरी से इंस्ट्रक्शन रजिस्टर (आईआर) में लाएं और अगले क्रम के इंस्ट्रक्शन मे वृद्धि करने के लिए पीसी को एड्रेस 4 तक बढ़ाया जा सकता है। आईआर का उपयोग अगले इंस्ट्रक्शन को रखने के लिए किया जाता है जिसका उपयोग बाद के क्लॉक-साइकल इंस्ट्रक्शन पर किया जाता है। इस प्रकार रजिस्टर एनपीसी का उपयोग अगले क्रम के पीसी को रखने के लिए किया जाता है।
;आईडी - निर्देश डिकोड इकाई
;आईडी - इंस्ट्रक्शन डिकोड यूनिट
: ऑपरेशन: निर्देश को डिकोड करें और रजिस्टरों को पढ़ने के लिए रजिस्टर फ़ाइल तक पहुंचें। यह इकाई IF से निर्देश प्राप्त करती है, और उस निर्देश से ऑपकोड और ऑपरेंड निकालती है। यदि ऑपरेशन द्वारा अनुरोध किया जाता है तो यह रजिस्टर मान भी पुनः प्राप्त करता है।
: ऑपरेशन: इंस्ट्रक्शन को डिकोड करें और रजिस्टरों को रीड-मोड मे करने के लिए रजिस्टर फ़ाइल तक जाए। यह यूनिट <code>IF</code> से इंस्ट्रक्शन प्राप्त करती है और उस इंस्ट्रक्शन से ऑपकोड और ऑपरेंड को निकालती है। यदि ऑपरेशन द्वारा अनुरोध किया जाता है तो यह रजिस्टर के मान को भी पुनः प्राप्त करता है।
;EX - निष्पादन इकाई/प्रभावी पता चक्र
;ईएक्स - निष्पादन यूनिट/एफ्फेक्टिव एड्रेस साइकल
: ऑपरेशन: अंकगणित तर्क इकाई पूर्व चक्र में तैयार किए गए ऑपरेंड पर काम करती है, जो डीएलएक्स निर्देश प्रकार के आधार पर चार कार्यों में से एक का प्रदर्शन करती है।
: ऑपरेशन: अरिथमेटिक लॉजिक यूनिट (एएलयू) ईएक्स साइकल में तैयार किए गए ऑपरेंड पर कार्य करती है जो डीएलएक्स इंस्ट्रक्शन के आधार पर चार फंक्शन में से एक का प्रदर्शन करती है।
: मेमोरी संदर्भ: रजिस्टर-रजिस्टर एएलयू निर्देश, रजिस्टर-तत्काल एएलयू निर्देश
: मेमोरी रेफ्रेंस: रजिस्टर-रजिस्टर एएलयू इंस्ट्रक्शन, रजिस्टर-इमीडिएट एएलयू इंस्ट्रक्शन
: शाखा
;एमईएम - मेमोरी एक्सेस यूनिट
;एमईएम - मेमोरी एक्सेस यूनिट
: इस इकाई में सक्रिय डीएलएक्स निर्देश लोड, स्टोर और शाखाएं हैं।
: इस यूनिट में सक्रिय डीएलएक्स इंस्ट्रक्शन लोड, ब्रांच और स्टोर होते हैं।
: मेमोरी संदर्भ: यदि आवश्यक हो तो मेमोरी तक पहुंचें। यदि निर्देश लोड होता है, तो डेटा मेमोरी से वापस आ जाता है और एलएमडी (लोड मेमोरी डेटा) रजिस्टर में रखा जाता है
: मेमोरी रेफ्रेंस: यदि आवश्यक होती है तो मेमोरी तक डीएलएक्स इंस्ट्रक्शन लोड होता है, जिससे डेटा मेमोरी से वापस आ जाता है जिसको एलएमडी (लोड मेमोरी डेटा) रजिस्टर में रखा जाता है।
: शाखा
;डब्ल्यूबी - राइटबैक यूनिट
;डब्ल्यूबी - राइटबैक यूनिट
: आमतौर पर आधुनिक शब्दावली में इसे स्टोर यूनिट कहा जाता है। परिणाम को रजिस्टर फ़ाइल में लिखें, चाहे वह मेमोरी सिस्टम से आए या ALU से।
: सामान्यतः आधुनिक शब्दावली में इसे "स्टोर यूनिट" कहा जाता है। इसके मेमोरी सिस्टम डेटा और एएलयू डेटा के आउटपुट को रजिस्टर फ़ाइल मे लिखा जाता है।


==यह भी देखें==
==यह भी देखें==
* [[शैक्षिक प्रोग्रामिंग भाषा]]
* [[शैक्षिक प्रोग्रामिंग भाषा|एजुकेशनल प्रोग्रामिंग लैंग्वेज]]
* [[छोटा कंप्यूटर 3]]|एलसी-3
* [[छोटा कंप्यूटर 3|एलसी-3]]
* [[मिक्स]], एमएमएक्स
* [[मिक्स]], एमएमएक्स
* [[ MicroBlaze ]]
* [[ MicroBlaze |माइक्रोब्लेज़]]
* [[ माइक्रो सिम ]]
* [[ माइक्रो सिम |माइक्रोसिम]]
* [[ओपनआरआईएससी]]
* [[ओपनआरआईएससी|ओपन आरआईएससी]]


==संदर्भ==
==संदर्भ ==
* {{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}}
* {{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 DLX Processor]
* [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 DLX instructions]
* [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 WinDLX]
* [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 DLX Simulator (GNU GPL)]
* [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 DLX Simulator] {{Webarchive|url=https://web.archive.org/web/20150623110040/http://users.elis.ugent.be/escape/ |date=2015-06-23 }}
* [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/ openDLX - opensource DLX-Simulator in Java (GNU GPLv3)]
* [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 DLX processor]
* [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]
{{RISC-based processor architectures}}
{{Soft microprocessors}}


{{DEFAULTSORT:Dlx}}[[Category: शैक्षिक सार मशीनें]] [[Category: अनुदेश सेट आर्किटेक्चर]] [[Category: नरम माइक्रोप्रोसेसर]]  
{{DEFAULTSORT:Dlx}}[[Category: शैक्षिक सार मशीनें]] [[Category: अनुदेश सेट आर्किटेक्चर]] [[Category: नरम माइक्रोप्रोसेसर]]  
Line 89: Line 83:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 11/08/2023]]
[[Category:Created On 11/08/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 07:05, 28 September 2023

डीएलएक्स
Designerजॉन एल. हेनेसी और डेविड ए. पैटरसन
Bits32-बिट
Introduced1994
Version1.0
Designआरआईएससी
Typeरजिस्टर-रजिस्टर और लोड-स्टोर
Encodingफ़िक्स्ड
Branchingकंडीशन रजिस्टर
Endiannessबी-एंडियन
Extensionsएमडीएमएक्स और एमआईपीएस-3डी का उपयोग किया जा सकता है।
OpenYes
Registers
General purpose32 (R0=0)
Floating point32 (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.

बाहरी संबंध