कोर्यूल को प्रक्रियाओं/धागे को शेड्यूल करना पूरी तरह से up to the OS है। हार्डवेयर को चलाने के लिए इंतजार कर रहे कार्यों की कोई समझ नहीं है। ओएस की प्रक्रियाओं की सूची को बनाए रखना जो चलने योग्य बनाम I/O के लिए प्रतीक्षा कर रहा है पूरी तरह से एक सॉफ्टवेयर चीज है।
एक कोर से दूसरे में एक थ्रेड माइग्रेट करना मूल कोर पर architectural state को स्मृति में संग्रहीत करने के लिए कर्नेल कोड द्वारा किया जाता है, फिर नए कोर पर ओएस कोड उस सहेजे गए राज्य को बहाल करता है और उपयोगकर्ता-स्थान निष्पादन को फिर से शुरू करता है।
पारंपरिक रूप से, आवृत्ति और वोल्टेज स्केलिंग निर्णय ओएस द्वारा किए जाते हैं। लिनक्स को एक उदाहरण के रूप में लें: निर्णय लेने वाले कोड को governor (और यह भी arch wiki link came up high on google) कहा जाता है। यह चीजों को देखता है कि वर्तमान कोर पर कितनी बार प्रक्रियाओं ने अपने पूरे time slice का उपयोग किया है। अगर राज्यपाल सीपीयू को एक अलग गति से चलाना तय करता है, तो यह परिवर्तन को लागू करने के लिए कुछ नियंत्रण रजिस्टरों को प्रोग्राम करता है। जैसा कि मैं इसे समझता हूं, हार्डवेयर right voltage to support the requested frequency चुनने का ख्याल रखता है।
जैसा कि मैं इसे समझता हूं, प्रत्येक कोर पर चल रहा ओएस स्वतंत्र रूप से निर्णय लेता है। हार्डवेयर पर जो प्रत्येक कोर को विभिन्न आवृत्तियों पर चलाने की अनुमति देता है, निर्णय लेने वाले कोड को एक-दूसरे के साथ समन्वय करने की आवश्यकता नहीं होती है। यदि एक कोर पर उच्च आवृत्ति चलाना एक उच्च वोल्टेज चिप-चौड़ा होना आवश्यक है, तो हार्डवेयर इसका ख्याल रखता है। मुझे लगता है कि डीवीएफएस (गतिशील वोल्टेज और फ्रीक्वेंसी स्केलिंग) का आधुनिक कार्यान्वयन काफी उच्च स्तर है, ओएस बस हार्डवेयर को बताता है कि एन विकल्पों में से कौन सा विकल्प चाहता है, और ऑनबोर्ड पावर माइक्रोकंट्रोलर प्रोग्रामिंग ऑसीलेटर/घड़ी डिवाइडर के विवरण का ख्याल रखता है और वोल्टेज नियामक।
इंटेल की "टर्बो" सुविधा, जो अधिकतम टिकाऊ आवृत्ति के ऊपर आवृत्ति को बढ़ा देती है, हार्डवेयर में निर्णय लेती है। किसी भी समय ओएस उच्चतम विज्ञापित आवृत्ति का अनुरोध करता है, जब बिजली और ठंडा करने की अनुमति देता है तो सीपीयू टर्बो का उपयोग करता है।
इंटेल का स्काइलेक इसे एक कदम आगे ले जाता है: ओएस हार्डवेयर के लिए वैकल्पिक रूप से बाधाओं के साथ डीवीएफएस पर पूर्ण नियंत्रण रख सकता है। इससे मिलीसेकंड के समय-समय पर माइक्रोसॉन्ड से माइक्रोसॉन्ड तक प्रतिक्रिया हो सकती है। यह वास्तव में विस्फोटक वर्कलोड में बेहतर प्रदर्शन की अनुमति देता है, क्योंकि यह उपयोगी होने पर टर्बो के लिए अधिक बिजली बजट उपलब्ध है। कुछ बेंचमार्क इस बात को देखने के लिए काफी विस्फोटक हैं, जैसे कुछ ब्राउज़र/जावास्क्रिप्ट वाले आईआईआरसी।
वहाँ IDF2015, check out the slides and/or archived webcast पर Skylake की नई ऊर्जा प्रबंधन के बारे में एक पूरी बात थी। अंतर को स्पष्ट करने के लिए पुरानी विधि को भी बहुत विस्तार से वर्णित किया गया है, इसलिए यदि आप मेरे सारांश से अधिक विस्तार चाहते हैं तो आपको वास्तव में इसे देखना चाहिए। (अन्य आईडीएफ वार्ता की सूची here है, लिंक के लिए Agner Fog's blog पर धन्यवाद)
@xmojmr मैंने आपके द्वारा प्रदान किए गए लिंक से कई पीडीएफ की कोशिश की है। वे सभी चित्रा 3-9, लेकिन आपके द्वारा वर्णित नहीं। क्या आप कृपया मुझे बता सकते हैं कि आपका क्या मतलब है? – v010dya
खुला http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf (_Combined वॉल्यूम्स: 1 , 2 ए, 2 बी, 2 सी, 3 ए, 3 बी और 3 सी_), ctrl + f "_ प्रोसेसर फ्रीक्वेंसी_ निकालने के लिए एल्गोरिदम" – xmojmr
@xmojmr वहां चर्चा किए गए सभी मॉडल (जैसा कि उस आरेख से कम तालिका में देखा गया है) सिंगल-कोर प्रोसेसर से निपटता है । तो यह वास्तव में मदद नहीं करता है। – v010dya