स्टेटस रजिस्टर

एक स्टेटस रजिस्टर, फ्लैग रजिस्टर, या कंडीशन कोड रजिस्टर (सीसीआर) एक सेंट्रल प्रोसेसिंग यूनिट के लिए स्टेटस फ़्लैग (कंप्यूटिंग)   अंश ्स का एक संग्रह है। ऐसे रजिस्टरों के उदाहरणों में x86 आर्किटेक्चर में FLAGS रजिस्टर (कंप्यूटिंग),  कार्यक्रम स्थिति शब्द  (PSW) में फ्लैग, IBM सिस्टम/360 आर्किटेक्चर में z/आर्किटेक्चर के माध्यम से रजिस्टर, और ARM कॉर्टेक्स में एप्लिकेशन प्रोग्राम स्टेटस रजिस्टर (APSR) शामिल हैं। -एक वास्तुकला. स्टेटस रजिस्टर एक हार्डवेयर रजिस्टर है जिसमें सेंट्रल प्रोसेसिंग यूनिट की स्थिति के बारे में जानकारी होती है। अलग-अलग बिट्स को प्रोसेसर पर निष्पादित होने वाले मशीन कोड निर्देशों द्वारा स्पष्ट रूप से पढ़ा और/या लिखा जाता है। स्थिति रजिस्टर किसी निर्देश को पिछले निर्देश के परिणाम के आधार पर कार्रवाई करने की अनुमति देता है।

आमतौर पर, स्थिति रजिस्टर में फ्लैग अंकगणित और बिट हेरफेर संचालन के प्रभाव के रूप में संशोधित किए जाते हैं। उदाहरण के लिए, यदि ऑपरेशन का परिणाम शून्य है तो एक Z बिट सेट किया जा सकता है और यदि यह गैर-शून्य है तो साफ़ किया जा सकता है। निर्देशों के अन्य वर्ग भी स्थिति दर्शाने के लिए झंडों को संशोधित कर सकते हैं। उदाहरण के लिए, एक स्ट्रिंग निर्देश यह संकेत करने के लिए ऐसा कर सकता है कि क्या निर्देश समाप्त हो गया क्योंकि उसे एक मिलान/बेमेल मिला या क्योंकि उसे स्ट्रिंग का अंत मिला। फ्लैग को बाद के सशर्त निर्देश द्वारा पढ़ा जाता है ताकि निर्दिष्ट कार्रवाई (प्रोसेसर, जंप, कॉल, रिटर्न, आदि के आधार पर) केवल तभी होती है जब फ्लैग पिछले निर्देश के निर्दिष्ट परिणाम को संकेत करते हैं।

कुछ सीपीयू आर्किटेक्चर, जैसे एमआईपीएस वास्तुकला और डीईसी अल्फा, एक समर्पित ध्वज रजिस्टर का उपयोग नहीं करते हैं। अन्य लोग अप्रत्यक्ष रूप से फ्लैग सेट नहीं करते और/या पढ़ते नहीं हैं। ऐसी मशीनें या तो निर्देशों के मध्य अंतर्निहित स्थिति की जानकारी को पास नहीं करती हैं, या वे इसे स्पष्ट रूप से चयनित सामान्य प्रयोजन रजिस्टर में पास कर देती हैं।

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

सामान्य फ्लैग
यह सबसे आम सीपीयू स्टेटस रजिस्टर फ़्लैग की एक सूची है, जो लगभग सभी आधुनिक प्रोसेसर में प्रयुक्त किया गया है।

अन्य फ्लैग
कुछ प्रोसेसरों पर, स्थिति रजिस्टर में निम्न जैसे फ्लैग भी होते हैं:

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

स्थिति रजिस्टर का एक अन्य विकल्प प्रोसेसर निर्देशों के लिए यह है कि जब प्रोग्राम अनुरोध करता है तो स्थिति की जानकारी सामान्य प्रयोजन रजिस्टर में जमा करें। एमआईपीएस आर्किटेक्चर, एएमडी 29000, डीईसी अल्फा और RISC-वी ी आर्किटेक्चर के उदाहरण हैं जो तुलना निर्देश प्रदान करते हैं जो तुलना परिणाम को सामान्य प्रयोजन रजिस्टर में एकल बिट या 0 या 1 के संख्यात्मक मान के रूप में संग्रहीत करते हैं। सशर्त शाखाएं कार्य आधारित होती हैं सामान्य प्रयोजन रजिस्टर में मूल्य पर.

आमतौर पर, तुलना निर्देश समानता या हस्ताक्षरित/अहस्ताक्षरित परिमाण का परीक्षण करते हैं। अन्य स्थितियों के परीक्षण के लिए, एक प्रोग्राम एक तुल्यता सूत्र का उपयोग करता है। उदाहरण के लिए, एमआईपीएस में कोई कैरी बिट नहीं है, लेकिन एकाधिक-शब्द जोड़ करने वाला प्रोग्राम यह परीक्षण कर सकता है कि रजिस्टरों का एक-शब्द जोड़ ओवरफ्लो हो गया है या नहीं, यह परीक्षण करके कि योग ऑपरेंड से कम है या नहीं:

ई> निर्देश सेट  इसके दो अन्य ऑपरेंड की निर्दिष्ट तुलना के आधार पर 1 या 0 तक। (यहां, सामान्य प्रयोजन रजिस्टर   सशर्त छलांग को नियंत्रित करने के लिए स्थिति रजिस्टर के रूप में उपयोग नहीं किया जाता है; बल्कि, 1 का संभावित मान, जो निम्न-क्रम जोड़ से आगे बढ़ने का संकेत देता है, उच्च-क्रम वाले शब्द में जोड़ा जाता है।) तीन या अधिक शब्द जोड़ते समय यह योजना कम सुविधाजनक हो जाती है, क्योंकि गणना करते समय दो जोड़ होते हैं, जिनमें से कोई भी कैरी उत्पन्न कर सकता है, जिसे दो के साथ पता लगाया जाना चाहिए   निर्देश। सौभाग्य से, उन दो कैरीज़ को अतिप्रवाह के जोखिम के बिना एक-दूसरे में जोड़ा जा सकता है, इसलिए स्थिति प्रति शब्द पांच निर्देशों पर स्थिर हो जाती है।

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

यह भी देखें

 * नियंत्रण रजिस्टर
 * सीपीयू ध्वज (x86)
 * ध्वज क्षेत्र