2015-01-13 41 views
5

मैं सोच रहा था कि $k0 और $k1 एमआईपीएस आर्किटेक्चर में रजिस्ट्रार हैं। WikiBooks MIPS Assembly

पर कश्मीर रजिस्टरों ओएस गिरी द्वारा उपयोग के लिए आरक्षित हैं वहाँ के रूप में किया जाता है।

लेकिन मुझे के बारे में कुछ भी नहीं मिला जो वे उपयोगी हैं? और उनका उपयोग कैसे करें?

धन्यवाद।

+0

'$ k0' और' $ k1' क्रमशः पंजीयक '26 'और' 27 डॉलर के लिए उपनाम हैं। "आरक्षित" हिस्सा सिर्फ सम्मेलन से है, सीपीयू परवाह नहीं है। ओएस इसे जो चाहें उसका उपयोग कर सकता है। स्क्रैच रजिस्टरों के रूप में उपयोगी हो सकता है जिसका उपयोग उपयोगकर्ता अंतरिक्ष स्थिति को दूषित करने के डर के बिना किया जा सकता है। – Jester

+0

@ जेस्टर ओके, और इसलिए, ओएस इन रजिस्टरों का उपयोग कैसे कर सकता है? ('$ 1' की तरह जो असेंबलर द्वारा उपयोग किया जाता है, जबकि छद्म निर्देशों को निर्देशित किया जाता है) (जब मैं अपने उत्तरों की तलाश में था, तो मुझे इस तरह के शब्दों का सामना करना पड़ा:" इन्हें इंटरप्ट्स के प्रबंधन के लिए उपयोग किया जाता है "और इसलिए। इनका उपयोग कैसे किया जाता है इंटरप्ट्स के प्रबंधन के आदेश या वे किसके लिए उपयोगी हैं?) – AliLotfi

+0

वे सामान्य रजिस्ट्रार हैं, आप उन्हें सामान्य रूप से उपयोग कर सकते हैं। अपने प्रश्न को समझ में नहीं आता। इंटरप्ट प्रबंधित करने के लिए, जब तक उपयोगकर्ता स्थिति सहेजी नहीं जाती है तब तक उन्हें स्क्रैच रजिस्टरों के रूप में उपयोग किया जा सकता है। मैंने पहले ही कहा था। – Jester

उत्तर

9

एक बाधा वाले हैंडलर को किसी भी सामान्य प्रयोजन रजिस्ट्रार को सहेजना होगा जो इसे उपयोग करने जा रहा है (बदले में बहाल किया जा सकता है)। लेकिन ऐसा करने के लिए आपको पहले कम से कम एक रजिस्टर को संशोधित करने की आवश्यकता है ( जैसे sw $t0, saved_t0$at का उपयोग करके दो मशीन निर्देशों तक फैलता है)।

यह स्थिति दो सामान्य प्रयोजन रजिस्टरों, $k0 और $k1 (के कर्नेल के लिए खड़ा है, जो एक अपवाद हैंडलर का हिस्सा है) का उपयोग करने से उपयोगकर्ता प्रोग्राम को मना कर हल कर हल किया जाता है। इंटरप्ट हैंडलर को उनके मूल्यों को सहेजने या पुनर्स्थापित किए बिना $k0 और $k1 का उपयोग करने की अनुमति है। यह रजिस्टरों को सहेजना शुरू करने के साथ ही इंटरप्ट हैंडलर से वापस लौटने के लिए पर्याप्त छूट देता है।

संबंधित मुद्दे