Venus
Awesome RISC-V

Venus

RISC-V इकोसिस्टम

वीनस UC बर्कले से RV32IM असेंबली के लिए एक शिक्षण सिम्युलेटर है, जिसका उपयोग CS 61C में किया जाता है।

अवलोकन

वीनस एक RISC-V सिम्युलेटर है जो वेब ब्राउज़र में चलता है। सिम्युलेटर एक ऐसा प्रोग्राम है जो प्रोसेसर की नकल करता है, इसलिए आप RISC-V हार्डवेयर के बिना भी मशीन कोड चला सकते हैं। वीनस RV32IM के लिए लिखे गए असेंबली कोड को पढ़ता है। असेंबली कोड मशीन निर्देशों का पठनीय पाठ रूप है। RV32I मूल 32-बिट RISC-V निर्देश सेट है, और M एक्सटेंशन गुणा और भाग जोड़ता है।

एडिटर और सिम्युलेटर एक ही पेज साझा करते हैं। प्रोग्राम ecall के माध्यम से सेवाओं का अनुरोध करते हैं, जो RISC-V निर्देश है जो वातावरण से कुछ माँगता है। Venus मानों को प्रिंट करने और अधिक मेमोरी आवंटित करने के लिए ecall संभालता है।

इतिहास

कीहान वकील ने 2017 में UC बर्कले में वीनस की शुरुआत की। यह प्रोजेक्ट Kotlin में लिखा गया है, जो एक प्रोग्रामिंग भाषा है जिसे JavaScript में कंपाइल किया जा सकता है। यही कंपाइलेशन सिम्युलेटर को बिना कुछ इंस्टॉल किए ब्राउज़र के अंदर चलने देता है।

UC बर्कले ने वीनस को CS 61C के लिए अपनाया, जो मशीन स्ट्रक्चर पर उनका कोर्स है, जहाँ छात्र अपने पहले RISC-V प्रोग्राम लिखते हैं। बाद में कोर्स ने venus.cs61c.org पर अपना अलग फ़ोर्क रखा। फ़ोर्क किसी प्रोजेक्ट की एक प्रति होती है जिसे मूल से अलग विकसित किया जाता है। एक और फ़ोर्क, Venus164, बर्कले के कंपाइलर कोर्स में ChocoPy कंपाइलर प्रोजेक्ट के लिए सुविधाएँ जोड़ता है।

इसका उपयोग कहाँ होता है

वीनस असेंबली में प्रथम पाठ्यक्रम के लिए उपयुक्त है। एक छात्र एक पृष्ठ खोलता है, एक प्रोग्राम पेस्ट करता है और उसे चलाता है। इसका निर्देश सेट RV32IM पर स्थिर रहता है, एक छोटा सेट जो पहले के पाठों को रजिस्टर, मेमोरी और नियंत्रण प्रवाह पर केंद्रित रखता है।

स्रोत

  1. kvakil/venus README
  2. CS 61C Lab 3, UC Berkeley
  3. Venus164 fork