C++ को नए हार्डवेयर प्लेटफॉर्म RISC-V का समर्थन प्राप्त हुआ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C++ ने आधिकारिक तौर पर RISC-V आर्किटेक्चर का समर्थन जोड़ा: डेवलपर्स के लिए इसका क्या अर्थ है?



प्रोग्रामिंग भाषाओं की दुनिया लगातार विकसित हो रही है। इस महीने की शुरुआत में, C++ मानकीकरण समिति (WG21) और प्रमुख कंपाइलर डेवलपमेंट टीमों (GCC, Clang/LLVM) ने C++17, C++20 और आगामी C++23 के वर्तमान संस्करणों में ओपन हार्डवेयर आर्किटेक्चर RISC-V के पूर्ण आधिकारिक समर्थन की घोषणा की। यह घटना भाषा के विकास में एक नए चरण का प्रतीक है, जिसे पारंपरिक रूप से एम्बेडेड सिस्टम और उच्च-प्रदर्शन कंप्यूटिंग का "राजा" माना जाता है।



पहले, C++ के पास RISC-V के लिए प्रायोगिक समर्थन था, लेकिन अब यह स्थिर हो गया है। इसका मतलब है कि डेवलपर्स इस आर्किटेक्चर पर बने माइक्रोकंट्रोलर, सर्वर और यहां तक कि सुपरकंप्यूटर पर भी भाषा की आधुनिक क्षमताओं (टेम्पलेट्स, constexpr, कोरूटीन, ranges) का उपयोग कर सकते हैं, बिना अप्रलेखित कंपाइलेशन त्रुटियों का सामना किए।



C++ के लिए RISC-V इतना महत्वपूर्ण क्यों है?



RISC-V कोई सामान्य प्रोसेसर नहीं है। यह एक ओपन मॉड्यूलर आर्किटेक्चर है जिसका उपयोग कोई भी निर्माता बिना लाइसेंस शुल्क के कर सकता है। ARM या x86 के विपरीत, जहां पारिस्थितिकी तंत्र को विक्रेताओं द्वारा सख्ती से नियंत्रित किया जाता है, RISC-V पूर्ण स्वतंत्रता देता है: IoT चिप्स बनाने वाले स्टार्टअप से लेकर तकनीकी स्वतंत्रता के लिए प्रयासरत सरकारी परियोजनाओं तक।



C++ के लिए, यह एक आदर्श वातावरण है:

  • निम्न-स्तरीय नियंत्रण। भाषा हार्डवेयर के सबसे करीब कोड लिखने की अनुमति देती है, और RISC-V में निर्देशों का एक सरल और पूर्वानुमानित सेट है।
  • स्केलेबिलिटी। 8-बिट माइक्रोकंट्रोलर (RV32E) से लेकर 64-बिट मल्टी-कोर सिस्टम (RV64GC) तक - C++ हर जगह काम करता है।
  • सुरक्षा। C++20/23 के नए मानक मॉड्यूल, कॉन्सेप्ट और बेहतर मेमोरी प्रबंधन जोड़ते हैं, जो जटिल MMU के बिना RISC-V उपकरणों के लिए महत्वपूर्ण है।


वास्तव में क्या बदला है?



मुख्य नवाचार जिन्हें "production-ready" का दर्जा मिला है:

  • GCC 13+ और Clang 16+: RISC-V एक्सटेंशन (वेक्टर निर्देश V, संपीड़ित निर्देश C, परमाणु संचालन A) का पूरी तरह से समर्थन करते हैं।
  • मानक लाइब्रेरी: RISC-V पर हार्डवेयर टाइमर, इंटरप्ट और मल्टीथ्रेडिंग के साथ काम करने के लिए अनुकूलित।
  • टूलचेन: QEMU में अब C++ के लिए पूर्ण GDB डिबगिंग समर्थन के साथ RISC-V का एक संदर्भ मॉडल है।
  • ऑपरेटिंग सिस्टम: RISC-V के लिए Linux 6.x और FreeBSD पूरी तरह से C++ एप्लिकेशन (std::thread, std::filesystem सहित) का समर्थन करते हैं।


उपयोग के व्यावहारिक उदाहरण



पहले से ही, डेवलपर्स सक्रिय रूप से जटिल C++ फ्रेमवर्क को RISC-V पर पोर्ट कर रहे हैं:

  • गेम इंजन (Godot, Unity - प्रायोगिक रूप से)।
  • मशीन लर्निंग लाइब्रेरी (TensorFlow Lite, ONNX Runtime)।
  • क्रिप्टोग्राफिक लाइब्रेरी (OpenSSL, Botan)।

विशेष रुचि SiFive प्रोजेक्ट में है, जहां RISC-V चिप्स पर IoT नेटवर्क में एसिंक्रोनस I/O के लिए कोरूटीन के साथ पूर्ण C++ एप्लिकेशन चलाए जा रहे हैं।



आगे क्या?



C++ समिति ने पहले ही RISC-V के लिए ABI (बाइनरी इंटरफ़ेस) को अनुकूलित करने और मानक हार्डवेयर विशेषताओं (जैसे, रजिस्टरों तक सीधी पहुंच के लिए) को जोड़ने के लिए कार्य समूहों की घोषणा की है। उम्मीद है कि 2025 तक RISC-V हो सकता है

अनुशंसित लाइब्रेरीज़