2012-11-16 34 views
5

पर स्वयं-आईपीआई का उद्देश्य आईए -32 आर्किटेक्चर पर इंटर प्रोसेसर इंटरप्ट को भेजने वाले प्रोसेसर का उद्देश्य क्या है?आईए -32

इंटेल आईए -32 आर्किटेक्चर सॉफ्टवेयर डेवलपर मैनुअल, वॉल्यूम के अनुसार। 3, च। 10.1:

आईपीआई सॉफ़्टवेयर स्व-इंटरप्ट्स, इंटरप्ट अग्रेषण, या प्रीपेप्टिव शेड्यूलिंग के लिए उपयोग किए जाते हैं।

लेकिन प्रोसेसर एक आईएनटी निर्देश के साथ खुद को बाधित कर सकता है, तो आप एक स्वयं आईपीआई का उपयोग क्यों करेंगे? यह सुविधा अनावश्यक प्रतीत होती है।

उत्तर

3

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

एक और परिदृश्य एक बहु कोर सिस्टम हो सकता है जहां आप लोड को संभालने के लिए "मुक्त" कोर के आसपास काम या संदेश पास कर रहे हैं। "फ्री" कोर वर्तमान कोर हो सकता है, फिर आप सॉफ़्टवेयर में एक विशेष मामला नहीं चाहते हैं क्योंकि आप स्वयं को बाधा भेज रहे हैं।

+0

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

+0

कृपया पुनः पढ़ें, क्योंकि मैंने केवल स्वयं आईपीआई (स्थिरता) और स्थिरता को दर्शाने वाले दो उदाहरण रखने का एक कारण दिया है। –

2

स्वयं आईपीआई के लिए एक और कारण है।

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

इस मामले में आप प्रारंभिक एसएमआई उस समय एक सीपीयू को भेजना चाहते हैं। यदि आप इसे सब कुछ भेजते हैं तो वे सभी राज्य को संग्रहीत करने के लिए उसी क्षेत्र का उपयोग करेंगे और यह एक आपदा होगी।

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

बीएसपी एसएमआई आईपीआई को स्वयं और उसके बाद एक एपी भेज सकता है। तब वे एक-एक करके विरोधाभासी क्षेत्रों में स्थानांतरित हो जाएंगे।

मुझे यकीन है कि कई अन्य स्थितियां हैं जहां एक स्वयं आईपीआई की आवश्यकता है। जब भी सीपीयू प्रारंभिक एसएमआई राज्य की तरह एक महत्वपूर्ण क्षेत्र साझा करता है, तो स्वयं आईपीआई स्थिरता के लिए प्रेरित होता है।

2

मुझे लगता है कि आप 2 साल बीत चुके हैं क्योंकि आप पहले से ही कारण ज्ञात हैं।

लेकिन यहाँ मेरी समझ है:

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

तो कर्नेल कुछ करना चाहता है, तो शायद स्वयं-आईपीआई की आवश्यकता है, लेकिन आईआरक्यू अक्षम होने पर नहीं। इस प्रकार, यह स्वयं को आईपीआई भेजता है, जैसे ही उस कोर पर आईआरक्यू को फिर से सक्षम किया जाता है, इस तरह के बाधा उत्पन्न होती है।