पंजीकरण
रजिस्टर: CPU के हाथ
पहले, बिट क्या है? एक बिट एक एकल 0 या 1 है, वह सबसे छोटी सूचना इकाई जिसे कंप्यूटर स्टोर कर सकता है। इन्हें 32 एक साथ रखें और आपके पास एक 32‑बिट संख्या हो जाती है, जो 0 से लगभग 4 बिलियन तक गिन सकती है। RISC‑V में हर रजिस्टर और हर मेमोरी स्लॉट में एक 32‑बिट संख्या होती है।
एक रजिस्टर प्रोसेसर के अंदर एक छोटा स्टोरेज स्लॉट है जो एक 32‑बिट संख्या रखता है। RISC‑V 32 रजिस्टर प्रदान करता है। चूंकि वे प्रोसेसर कोर में स्थित हैं, रजिस्टर मुख्य मेमोरी की तुलना में बहुत तेज़ होते हैं, क्रमशः। इनमें से कुछ आपके अधिकांश कोड को कवर करेंगे: t0 से t2 (अस्थायी मान), a0 से a2 (आर्गुमेंट्स और परिणाम), zero (हमेशा 0), sp (स्टैक पॉइंटर), और ra (रिटर्न एड्रेस)।
# 42 का संख्या प्रिंट करें, फिर बाहर निकलें।# a7 सेवा चुनता है और a0 मान ले जाता है।li a7, 1 # सेवा 1 = पूर्णांक प्रिंट करेंli a0, 42 # प्रिंट करने के लिए मूल्यecall # करेंli a7, 10 # सेवा 10 = बाहर निकलेंecall
का मतलब है load immediate, और यह एक स्थिरांक को रजिस्टर में रखता है। सेवा 1 चुनता है, जो एक पूर्णांक प्रिंट करता है। प्रिंट करने के लिए संख्या को a0 में रखता है। नियंत्रण को सिस्टम को देता है, जो a0 में मान प्रिंट करता है। फिर एग्जिट सेवा चुनता है, और प्रोग्राम समाप्त करता है। Run दबाएँ, फिर 42 बदलें और प्रोग्राम को फिर से चलाएँ।
a7 को 1 पर सेट करने से अगला ecall एक संख्या प्रिंट करता है।
pc नामक बॉक्स, जिसका पूरा नाम program counter है, वर्तमान में हाइलाइट की गई पंक्ति का पता रखता है। यह संख्या ही प्रोसेसर को प्रोग्राम में उसकी स्थिति के बारे में पता है: यह program counter में पते पर निर्देश को प्राप्त करता है, उसे निष्पादित करता है, फिर अगले निर्देश तक पहुँचने के लिए program counter में चार जोड़ता है। एक रजिस्टर अपना मान तब प्राप्त करता है जब उसकी पंक्ति पर निष्पादित होता है, और आउटपुट केवल तब दिखाई देता है जब पहला चलता है।