निओस II

Nios II एक 32-बिट एम्बेडेड प्रोसेसर आर्किटेक्चर है जिसे विशेष रूप से क्षेत्र में प्रोग्राम की जा सकने वाली द्वार श्रंखला (FPGA) इंटीग्रेटेड सर्किट के Altera परिवार के लिए डिज़ाइन किया गया है। Nios II में मूल Nios आर्किटेक्चर पर कई संवर्द्धन शामिल हैं, जो इसे अंकीय संकेत प्रक्रिया (DSP) से सिस्टम-कंट्रोल तक एम्बेडेड कंप्यूटिंग अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए अधिक उपयुक्त बनाता है।

Nios II Altera के पहले कॉन्फ़िगर करने योग्य 16-बिट एम्बेडेड प्रोसेसर Nios एम्बेडेड प्रोसेसर का उत्तराधिकारी है, जिसे 2000 में पेश किया गया था।

मुख्य विशेषताएं
मूल Nios की तरह, Nios II आर्किटेक्चर एक RISC शीतल माइक्रोप्रोसेसर | सॉफ्ट-कोर आर्किटेक्चर है जो पूरी तरह से Altera FPGAs के प्रोग्रामेबल लॉजिक और मेमोरी ब्लॉक में लागू किया गया है। अपने पूर्ववर्ती के विपरीत यह पूर्ण 32-बिट_कंप्यूटिंग|32-बिट डिज़ाइन है:


 * 32 सामान्य-उद्देश्य 32-बिट रजिस्टर,
 * पूर्ण 32-बिट निर्देश सेट, डेटा पथ और पता स्थान,
 * एकल-निर्देश 32 × 32 को 32-बिट परिणाम देने के लिए गुणा और विभाजित करें।

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

कस्टम निर्देश
मूल Nios II निर्देशों के समान, उपयोगकर्ता-परिभाषित निर्देश दो 32-अंश स्रोत रजिस्टरों से मान स्वीकार करते हैं और वैकल्पिक रूप से 32-बिट गंतव्य रजिस्टर में परिणाम वापस लिखते हैं। कस्टम निर्देशों का उपयोग करके, सिस्टम डिज़ाइनर प्रदर्शन लक्ष्यों को पूरा करने के लिए सिस्टम हार्डवेयर को फाइन-ट्यून कर सकते हैं और साथ ही डिज़ाइनर C (प्रोग्रामिंग लैंग्वेज) में मैक्रो के रूप में निर्देश को आसानी से संभाल सकते हैं।

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

मेमोरी मैनेजमेंट यूनिट
Altera Quartus 8.0 के साथ पेश किया गया, वैकल्पिक MMU Nios II को ऑपरेटिंग सिस्टम चलाने में सक्षम बनाता है जिसके लिए हार्डवेयर-आधारित पेजिंग और सुरक्षा की आवश्यकता होती है, जैसे कि Linux कर्नेल। MMU के बिना, Nios ऑपरेटिंग सिस्टम तक ही सीमित है जो एक सरलीकृत सुरक्षा और वर्चुअल मेमोरी-मॉडल का उपयोग करते हैं: उदाहरण के लिए, μClinux और FreeRTOS।

मेमोरी प्रोटेक्शन यूनिट
क्वार्टस 8.0 के साथ पेश किया गया, वैकल्पिक एमपीयू एक एमएमयू द्वारा प्रदान की जाने वाली स्मृति सुरक्षा प्रदान करता है, लेकिन एक सरल प्रोग्रामिंग मॉडल के साथ और एमएमयू से जुड़े प्रदर्शन ओवरहेड के बिना।

निओस II सीपीयू परिवार
Nios II क्लासिक को 3 अलग-अलग कॉन्फ़िगरेशन में पेश किया जाता है: Nios II/f (फास्ट), Nios II/s (स्टैंडर्ड), और Nios II/e (इकोनॉमी)। Nios II gen2 को 2 अलग-अलग कॉन्फ़िगरेशन में पेश किया गया है: Nios II/f (फास्ट), और Nios II/e (इकोनॉमी)।

एनआईओस II/एफ
Nios II/f कोर कोर आकार की कीमत पर अधिकतम प्रदर्शन के लिए डिज़ाइन किया गया है। Nios II/f की विशेषताओं में शामिल हैं:
 * अलग-अलग निर्देश और डेटा कैश (512 बाइट से 64 किलोबाइट)
 * वैकल्पिक मेमोरी प्रबंधन इकाई या मेमोरी सुरक्षा इकाई
 * 2 गीगाबाइट बाहरी पता स्थान तक पहुंच
 * निर्देशों और डेटा के लिए वैकल्पिक कसकर युग्मित मेमोरी
 * अधिकतम डीएमआईपीएस/मेगाहर्ट्ज हासिल करने के लिए छह चरणों वाली पाइपलाइन
 * सिंगल-साइकिल हार्डवेयर गुणा और बैरल शिफ्टर
 * वैकल्पिक हार्डवेयर विभाजन विकल्प
 * डायनेमिक शाखा भविष्यवक्ता
 * 256 कस्टम निर्देश और असीमित हार्डवेयर त्वरक तक
 * JTAG डिबग मॉड्यूल
 * वैकल्पिक JTAG डिबग मॉड्यूल एन्हांसमेंट, जिसमें हार्डवेयर ब्रेकप्वाइंट, डेटा ट्रिगर और रीयल-टाइम ट्रेस शामिल हैं

एनआईओस II/एस
Nios II/s कोर को प्रदर्शन और लागत के बीच संतुलन बनाए रखने के लिए डिज़ाइन किया गया है। यह कोर कार्यान्वयन अब Altera Quartus II v.17 और नए के लिए समर्थित नहीं है। Nios II/s की विशेषताओं में शामिल हैं:
 * निर्देश कैश
 * 2 जीबी तक बाहरी पता स्थान
 * निर्देशों के लिए वैकल्पिक कसकर युग्मित स्मृति
 * पांच चरणों वाली पाइपलाइन
 * स्थैतिक शाखा भविष्यवाणी
 * हार्डवेयर गुणा, विभाजन और शिफ्ट विकल्प
 * 256 कस्टम निर्देश तक
 * JTAG डिबग मॉड्यूल
 * वैकल्पिक JTAG डिबग मॉड्यूल एन्हांसमेंट, जिसमें हार्डवेयर ब्रेकप्वाइंट, डेटा ट्रिगर और रीयल-टाइम ट्रेस शामिल हैं

एनआईओस II/ई
Nios II/e कोर को FPGAs के सबसे छोटे संभावित लॉजिक उपयोग के लिए डिज़ाइन किया गया है। यह कम लागत वाले चक्रवात II एफपीजीए अनुप्रयोगों के लिए विशेष रूप से कुशल है। Nios II/e की विशेषताओं में शामिल हैं:
 * 2 जीबी तक बाहरी पता स्थान
 * JTAG डिबग मॉड्यूल
 * 700 से कम लॉजिक ब्लॉक#आर्किटेक्चर में पूर्ण सिस्टम
 * वैकल्पिक डिबग संवर्द्धन
 * 256 कस्टम निर्देश तक
 * नि: शुल्क, कोई लाइसेंस की आवश्यकता नहीं है

एवलॉन स्विच फैब्रिक इंटरफ़ेस
Nios II एवलॉन स्विच किया हुआ कपड़ा का उपयोग अपने एम्बेडेड बाह्य उपकरणों के इंटरफ़ेस के रूप में करता है। प्रोसेसर-आधारित प्रणाली में एक पारंपरिक बस की तुलना में, जो एक समय में केवल एक बस मास्टर को बस तक पहुंचने देता है, एवलॉन स्विच फैब्रिक, दास-पक्ष मध्यस्थता योजना का उपयोग करके, कई मास्टर्स को एक साथ संचालित करने देता है।

विकास प्रक्रिया
Nios II के विकास में दो अलग-अलग चरण होते हैं: हार्डवेयर निर्माण और सॉफ्टवेयर निर्माण।

विकास को एंबेडेड डिज़ाइन सूट (ईडीएस) नामक एक अल्टेरा एप्लिकेशन के अंदर होस्ट किया गया है। ईडीएस में हार्डवेयर और सॉफ्टवेयर दोनों को दो अलग-अलग चरणों में प्रबंधित करने के लिए एक पूर्ण एकीकृत विकास वातावरण शामिल है:

हार्डवेयर उत्पादन प्रक्रिया
Nios II हार्डवेयर डिज़ाइनर Nios सिस्टम को कॉन्फ़िगर और जनरेट करने के लिए Qsys सिस्टम इंटीग्रेशन टूल, Quartus-II पैकेज के एक घटक का उपयोग करते हैं। कॉन्फ़िगरेशन ग्राफिकल यूज़र इंटरफ़ेस (जीयूआई) उपयोगकर्ताओं को निओस-द्वितीय के फीचर-सेट को चुनने और एम्बेडेड सिस्टम में परिधीय और आई/ओ-ब्लॉक (टाइमर, मेमोरी-कंट्रोलर, सीरियल इंटरफ़ेस इत्यादि) जोड़ने की अनुमति देता है। जब हार्डवेयर विनिर्देश पूरा हो जाता है, तो क्वार्टस-द्वितीय चयनित FPGA लक्ष्य पर संपूर्ण सिस्टम को लागू करने के लिए संश्लेषण, स्थान और मार्ग निष्पादित करता है।

Qsys पुराने SOPC (सिस्टम-ऑन-ए-प्रोग्रामेबल-चिप) बिल्डर की जगह ले रहा है, जिसका उपयोग Nios II सिस्टम बनाने के लिए भी किया जा सकता है, और नई परियोजनाओं के लिए इसकी सिफारिश की जा रही है।

सॉफ्टवेयर निर्माण प्रक्रिया
एक अलग पैकेज, जिसे एंबेडेड डिज़ाइन सूट (ईडीएस) कहा जाता है, सॉफ्टवेयर विकास का प्रबंधन करता है। ग्रहण (सॉफ्टवेयर) आईडीई के आधार पर, ईडीएस में एक सी/सी++ कंपाइलर (जीएनयू टूलचैन पर आधारित), डीबगर और एक निर्देश-सेट सिम्युलेटर शामिल है। ईडीएस प्रोग्रामर्स को सिमुलेशन में अपने एप्लिकेशन का परीक्षण करने या वास्तविक एफपीजीए होस्ट पर उनके संकलित एप्लिकेशन को डाउनलोड करने और चलाने की अनुमति देता है।

क्योंकि C/C++ विकास-श्रृंखला GCC पर आधारित है, Linux के लिए अधिकांश खुला स्रोत सॉफ्टवेयर सॉफ़्टवेयर न्यूनतम या बिना किसी संशोधन के संकलित और चलता है। थर्ड-पार्टी ऑपरेटिंग-सिस्टम को भी Nios II में पोर्ट किया गया है। इनमें माइक्रियम माइक्रोC/OS-II, eCos, Segger_Microcontroller_Systems embOS, ChibiOS/RT, μCLinux और FreeRTOS शामिल हैं।

लाइसेंसिंग
Nios II की तुलना MicroBlaze से की जा सकती है, जो FPGA के Xilinx परिवार के लिए एक प्रतिस्पर्धी सॉफ्ट माइक्रोप्रोसेसर है। MicroBlaze के विपरीत, Nios II मानक-सेल एप्लिकेशन-विशिष्ट एकीकृत सर्किट के लिए तृतीय-पक्ष IP प्रदाता, Synopsys Designware के माध्यम से लाइसेंस योग्य है। डिज़ाइनवेयर लाइसेंस के माध्यम से, डिज़ाइनर Nios-आधारित डिज़ाइनों को FPGA-प्लेटफ़ॉर्म से बड़े पैमाने पर उत्पादन ASIC-डिवाइस में पोर्ट कर सकते हैं।

यह भी देखें

 * लैटिसमाइको8
 * जाली Mico32
 * माइक्रोब्लेज़
 * पिकोब्लेज़
 * मिकॉन P200

बाहरी संबंध

 * Intel's site about Nios II
 * Nios II Embedded Design Suite forum
 * Nios community wiki
 * RTEMS real-time operating system
 * Cornell ECE576 Microcontroller course using NiosII
 * FreeRTOS demo documentation for NiosII
 * UPB ECE31289 course using Nios II