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

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

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

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

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

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

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

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

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

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

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

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

==यह भी देखें                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ==
 * नियंत्रण रजिस्टर
 * सीपीयू फ्लैग (x86)
 * फ्लैग क्षेत्र