R4000

आर4000 एक माइक्रोप्रोसेसर है जिसे एमआईपीएस संगणक प्रणाली के द्वारा विकसित किया गया है, जो एमआईपीएस III इंस्ट्रक्शन सेट आर्किटेक्चर (आईएसए) को लागू करता है। इसे 1 अक्टूबर 1991 को आधिकारिक रूप से घोषित किया गया था, यह पहले 64-बिट माइक्रोप्रोसेसरों में से एक था और पहला एमआईपीएस III कार्यान्वयन में से एक था। जब आरआईएससी माइक्रोप्रोसेसरों की अपेक्षा की जा रही थी कि वे इंटेल i486 जैसे CISC माइक्रोप्रोसेसरों को परिवर्तित कर दिया जायेगा, तब विकसित संगणना परिसर (एडवांस्ड कंप्यूटिंग एनवायरनमेंट, एसीई) का माइक्रोप्रोसेसर बनाने के लिए आर4000 का चयन किया गया। एसीई अंततः कई कारणों से असफल रहा, लेकिन आर4000 को कार्यस्थल और सर्वर मार्केट में सफलता प्राप्त हुई।

मॉडल
आर4000 के तीन संस्थिति (कॉन्फ़िगरेशन) होते हैं: आर4000पीसी, एक प्रारंभिक स्तर का मॉडल जिसमें द्वितीयक कैश के लिए कोई समर्थन नहीं होता है; आर4000एससी, एक मॉडल जिसमें द्वितीयक कैश होता है लेकिन मल्टीप्रोसेसर क्षमता नहीं होती है; और आर4000एमसी, एक मॉडल जिसमें द्वितीयक कैश होता है और मल्टीप्रोसेसर सिस्टमों द्वारा आवश्यक कैश संसक्तता प्रोटोकॉल के लिए समर्थन होता है।

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

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

पूर्णांक निष्पादन
R4000 में एक अंकगणितीय तर्क इकाई (ALU), एक शिफ्टर, गुणक और विभाजक और पूर्णांक निर्देशों को निष्पादित करने के लिए लोड संरेखक है। ALU में 64-बिट कैरी-सेलेक्ट ऐडर और एक लॉजिक यूनिट होता है और यह पाइपलाइन में होता है। शिफ्टर 32-बिट बैरल शिफ्टर है। यह दो चक्रों में 64-बिट बदलाव करता है, जिसके परिणामस्वरूप पाइपलाइन रुक जाती है। डाई एरिया को बचाने के लिए इस डिजाइन को चुना गया था। मल्टीप्लायर और डिवाइडर को पाइपलाइन नहीं किया जाता है और महत्वपूर्ण लेटेंसी होती है: मल्टीप्लायर में क्रमशः 32-बिट या 64-बिट पूर्णांक के लिए 10- या 20-साइकिल लेटेंसी होती है; जबकि विभाजन में क्रमशः 32-बिट या 64-बिट पूर्णांकों के लिए 69- या 133-चक्र विलंबता होती है। अधिकांश निर्देशों में एक एकल चक्र विलंबता होती है। लोड, स्टोर और शाखाओं के लिए आभासी पतों की गणना के लिए ALU योजक का भी उपयोग किया जाता है।

लोड और स्टोर निर्देश पूर्णांक पाइपलाइन द्वारा निष्पादित किए जाते हैं, और ऑन-चिप 8 KB डेटा कैश तक पहुंच प्राप्त करते हैं।

फ़्लोटिंग-पॉइंट निष्पादन
R4000 में ऑन-डाई IEEE 754-1985-संगत फ्लोटिंग-पॉइंट यूनिट (FPU) है, जिसे R4010 कहा जाता है। FPU एक सहसंसाधक नामित CP1 है (MIPS ISA ने चार सहसंसाधकों को परिभाषित किया, CP0 से CP3 नामित)। FPU दो मोड में काम कर सकता है, 32- या 64-बिट जो CPU स्थिति रजिस्टर में बिट, FR बिट सेट करके चुने जाते हैं। 32-बिट मोड में, 32 फ्लोटिंग-पॉइंट रजिस्टर 32 बिट चौड़े हो जाते हैं, जब सिंगल-प्रिसिजन फ्लोटिंग-पॉइंट नंबरों को होल्ड किया जाता है। जब डबल-सटीक संख्या रखने के लिए उपयोग किया जाता है, तो 16 फ़्लोटिंग-पॉइंट रजिस्टर होते हैं (रजिस्टर जोड़े जाते हैं)।

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

योजक और गुणक पाइपलाइन में हैं। मल्टीप्लायर में चार चरणों वाली मल्टीप्लायर पाइपलाइन होती है। यह पर्याप्त प्रदर्शन के लिए माइक्रोप्रोसेसर की क्लॉक फ्रीक्वेंसी से दुगुनी घड़ी पर क्लॉक किया जाता है और हाई क्लॉक फ्रीक्वेंसी प्राप्त करने के लिए डायनेमिक लॉजिक (डिजिटल इलेक्ट्रॉनिक्स) का उपयोग करता है। डिवीजन में सिंगल- या डबल-प्रिसिजन ऑपरेशंस के लिए 23- या 36-चक्र विलंबता है और स्क्वायर-रूट में 54- या 112-चक्र विलंबता है। डिवीजन और स्क्वायर-रूट डिवीजन एल्गोरिदम#SRT डिवीजन एल्गोरिदम का उपयोग करता है।

स्मृति प्रबंधन
वर्चुअल पतों का अनुवाद करने के लिए स्मृति प्रबंधन इकाई  (MMU) 48-एंट्री ट्रांसलेशन लुकसाइड बफर का उपयोग करता है। R4000 64-बिट  आभासी पता  का उपयोग करता है, लेकिन 64 बिट्स में से केवल 40 को लागू करता है, जिससे 1 टीबी  आभासी मेमोरी  की अनुमति मिलती है; शेष बिट्स की जाँच यह सुनिश्चित करने के लिए की जाती है कि उनमें शून्य है। R4000 36-बिट भौतिक पते का उपयोग करता है, इस प्रकार 64 GB भौतिक मेमोरी को संबोधित करने में सक्षम है।

माध्यमिक कैश
R4000 (SC और MC कॉन्फ़िगरेशन केवल) 128 KB से 4 MB की क्षमता वाले बाहरी द्वितीयक कैश का समर्थन करता है। कैश को समर्पित 128-बिट डेटा बस के माध्यम से एक्सेस किया जाता है। द्वितीयक कैश को एकीकृत कैश के रूप में या विभाजित निर्देश और डेटा कैश के रूप में कॉन्फ़िगर किया जा सकता है। बाद वाले कॉन्फ़िगरेशन में, प्रत्येक कैश की क्षमता 128 केबी से 2 एमबी तक हो सकती है। सेकेंडरी कैश CPU cache#Address translation|भौतिक रूप से अनुक्रमित, भौतिक रूप से टैग किया गया है और इसमें 128, 256, 512 या 1,024 बाइट्स का प्रोग्राम करने योग्य लाइन आकार है। कैश कंट्रोलर ऑन-डाई है। कैश मानक स्थिर रैंडम एक्सेस मेमोरी (SRAM) से बनाया गया है। डेटा और टैग बसें ईसीसी-संरक्षित हैं।

सिस्टम बस
R4000 64-बिट सिस्टम बस का उपयोग करता है जिसे SysAD बस कहा जाता है। SysAD बस एक एड्रेस और डेटा मल्टीप्लेक्स बस थी, यानी यह डेटा और एड्रेस ट्रांसफर करने के लिए तारों के एक ही सेट का इस्तेमाल करती थी। जबकि यह बैंडविड्थ को कम करता है, यह एक अलग एड्रेस बस प्रदान करने की तुलना में कम खर्चीला भी है, जिसके लिए अधिक पिन की आवश्यकता होती है और सिस्टम की जटिलता बढ़ जाती है। SysAD बस को आंतरिक घड़ी आवृत्ति के आधे, एक तिहाई या एक चौथाई पर संचालित करने के लिए कॉन्फ़िगर किया जा सकता है। SysAD बस ऑपरेटिंग फ्रीक्वेंसी को विभाजित करके अपना क्लॉक सिग्नल उत्पन्न करती है।

ट्रांजिस्टर की संख्या, डाइ डायमेंशन और प्रक्रिया विवरण
R4000 में 1.2 मिलियन ट्रांजिस्टर हैं। इसे 1.0 माइक्रोन दो-परत धातु सीएमओएस | पूरक धातु-ऑक्साइड-सेमीकंडक्टर (सीएमओएस) प्रक्रिया के लिए डिज़ाइन किया गया था। चूंकि MIPS एक काल्पनिक कंपनी थी, इसलिए R4000 को साझेदारों ने अपनी प्रक्रियाओं में बनाया था, जिसमें 0.8 μm न्यूनतम फीचर आकार था।

क्लॉकिंग
R4000 बाहरी रूप से उत्पन्न मास्टर क्लॉक सिग्नल से विभिन्न क्लॉक सिग्नल उत्पन्न करता है। ऑपरेटिंग फ्रीक्वेंसी के लिए, R4000 ऑन-डाई चरण बंद लूप  (PLL) के उपयोग से मास्टर क्लॉक सिग्नल को दो से गुणा करता है।

पैकेजिंग
R4000PC को 179-पिन सिरेमिक पिन ग्रिड सरणी (CPGA) में पैक किया गया है। R4000SC और R4000MC को 447-पिन सिरेमिक कंपित पिन ग्रिड ऐरे (SPGA) में पैक किया गया है। R4000MC का पिन R4000SC से अलग है, कुछ पिन जो R4000SC पर अप्रयुक्त हैं, R4000MC पर कैश सुसंगतता को लागू करने के लिए संकेतों के लिए उपयोग किया जाता है। R4000PC का पिन-आउट PGA-संकुलित R4200 और R4600 माइक्रोप्रोसेसरों के समान है। यह विशेषता तीन माइक्रोप्रोसेसरों में से किसी एक का उपयोग करने के लिए ठीक से डिज़ाइन की गई प्रणाली को सक्षम बनाती है।

R4400
R4400, R4000 का एक और विकास है। नवंबर 1992 की शुरुआत में इसकी घोषणा की गई थी। जनवरी 1993 में सामान्य उपलब्धता के साथ माइक्रोप्रोसेसर के नमूने इससे पहले चयनित ग्राहकों को भेज दिए गए थे। R4400 100, 133, 150, 200 और 250 मेगाहर्ट्ज की घड़ी की आवृत्ति पर काम करता है। R4000 से एकमात्र बड़ा सुधार बड़ा प्राथमिक कैश है, जो प्रत्येक 8 KB से 16 KB की क्षमता में दोगुना हो गया था। इसमें 2.3 मिलियन ट्रांजिस्टर थे।

R4400 को एकीकृत उपकरण प्रौद्योगिकी  (IDT), LSI लॉजिक, NEC, परफॉर्मेंस सेमीकंडक्टर, Siemens AG और Toshiba द्वारा लाइसेंस दिया गया था। आईडीटी, एनईसी, सीमेंस और  तोशीबा  ने माइक्रोप्रोसेसर का निर्माण और विपणन किया। LSI लॉजिक ने कस्टम उत्पादों में R4400 का उपयोग किया। प्रदर्शन सेमीकंडक्टर ने अपने लॉजिक डिवीजन को सरू सेमीकंडक्टर को बेच दिया जहां एमआईपीएस माइक्रोप्रोसेसर उत्पादों को बंद कर दिया गया था।

NEC ने VR4400 के रूप में अपने संस्करण का विपणन किया। पहला संस्करण, एक 150 मेगाहर्ट्ज भाग, नवंबर 1992 में घोषित किया गया था। प्रारंभिक संस्करण 0.6 μm प्रक्रिया में निर्मित किए गए थे। 1995 के मध्य में, 250 मेगाहर्ट्ज वाले हिस्से का नमूना लेना शुरू किया गया। इसे 0.35 माइक्रोन चार-परत-धातु प्रक्रिया में बनाया गया था। NEC ने MR4401, एक सिरेमिक मल्टी-चिप मॉड्यूल (MCM) का भी उत्पादन किया जिसमें दस 1 Mbit SRAM चिप्स के साथ VR4400SC शामिल था जिसने 1 MB द्वितीयक कैश को लागू किया। MCM R4x00PC के साथ पिन-संगत था। पहला संस्करण, एक 150 मेगाहर्ट्ज भाग, 1994 में घोषित किया गया था। 1995 में, एक 200 मेगाहर्ट्ज भाग की घोषणा की गई थी।

तोशिबा ने अपने संस्करण की मार्केटिंग TC86R4400 के रूप में की। एक 200 मेगाहर्ट्ज वाला हिस्सा जिसमें 2.3 मिलियन ट्रांजिस्टर हैं और जिसकी माप 134 मिमी है2 0.3 μm प्रक्रिया में निर्मित 1994 के मध्य में पेश किया गया था। R4400PC की कीमत थी US$1600, R4400SC at US$1950, और R4400MC पर US$2150 10,000 की मात्रा में।

उपयोग
R4400 द्वारा प्रयोग किया जाता है:


 * Carrera कंप्यूटर अपने Windows NT पर्सनल कंप्यूटर और वर्कस्टेशन में
 * उनके रीयल-टाइम मल्टीप्रोसेसर मैक्सियन सिस्टम में समवर्ती कंप्यूटर निगम
 * डेस्कस्टेशन प्रौद्योगिकी उनके विंडोज एनटी पर्सनल कंप्यूटर और डेस्कस्टेशन टाइन वर्कस्टेशन में
 * डिजिटल उपकरण निगम उनके DECstation 5000/260 वर्कस्टेशन और सर्वर में
 * एनईसी अपने एनईसी रिस्कस्टेशन वर्कस्टेशन, आरआईएससी सर्वर सर्वर और सेनजू-3 सुपरकंप्यूटर में
 * उनके विंडोज एनटी वर्कस्टेशन और सर्वर में नेटपॉवर
 * पिरामिड प्रौद्योगिकी ने अपने नाइल सीरीज सर्वर में R4400MC का इस्तेमाल किया
 * Siemens Nixdorf Informationssysteme (SNI) उनके RM-श्रृंखला यूनिक्स सर्वर और SR2000 मेनफ़्रेम कंप्यूटर में
 * उनके एसजीआई गोमेद, एसजीआई इंडिगो, एसजीआई इंडिगो² और चैलेंज एम, और एसजीआई इंडी वर्कस्टेशन में सिलिकॉन ग्राफिक्स; और उनके SGI चैलेंज सर्वर में
 * टंडेम कंप्यूटर उनके नॉनस्टॉप (सर्वर कंप्यूटर) दोष-सहिष्णु सर्वर में

चिपसेट
R4000 और R4400 माइक्रोप्रोसेसरों को कस्टम ASIC या व्यावसायिक रूप से उपलब्ध चिपसेट द्वारा सिस्टम से जोड़ा गया था। एसजीआई जैसे सिस्टम विक्रेताओं ने अपने सिस्टम के लिए अपने स्वयं के एएसआईसी विकसित किए। तोशिबा जैसी कंपनियों द्वारा अपने टाइगर शार्क चिपसेट के साथ वाणिज्यिक चिपसेट विकसित, निर्मित और विपणन किए गए थे, जो i486-संगत बस प्रदान करते थे।

संदर्भ

 * Heinrich, Joe. MIPS R4000 Microprocessor User's Manual, Second Edition.
 * Sunil Mirapuri, Michael Woodacre, Nader Vasseghi, "The Mips R4000 Processor," IEEE Micro, vol. 12. no. 2, pp. 10–22, March/April 1992