सीपीयू गतिशील रूप से अपनी घड़ी की आवृत्ति को कैसे बदल सकता है?


16

मेरा Intel CPU उपयोग के आधार पर घड़ी की गति को बदलता है, लेकिन यह कैसे तय करता है कि किस घड़ी की गति को चलाना है? क्या एल्गोरिथ्म का उपयोग करके OS सॉफ़्टवेयर द्वारा घड़ी की गति निर्धारित की जाती है, या यह हार्डवेयर आधारित है? क्या यह व्यवधानों के # आधार पर निर्भर है? कैश का कारोबार? क्या CPU स्वयं अपनी घड़ी सेट करता है? या एक अलग नियंत्रक इसे सेट करता है? या सॉफ्टवेयर?


1
कौन सा CPU है? एंबेडेड सिस्टम आमतौर पर उस तरह काम नहीं करते हैं।
लियोन हेलर

शायद सुपरयूजर के लिए कुछ और ?

कुछ एम्बेडेड प्रोसेसर परिवार, जैसे PIC24F कहते हैं, में प्रोग्राम योग्य घड़ी की दरें हैं, और इसका उपयोग बिजली बचाने के लिए किया जा सकता है। एक बाहरी थरथरानवाला इस्तेमाल किया जा सकता है ताकि समय के प्रति संवेदनशील बाह्य उपकरणों के लिए घड़ी स्थिर रहे।
काज

जवाबों:


18

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

आगे भी बिजली को कम करने के लिए, सीपीयू अपने कोर वोल्टेज की आपूर्ति करने वाले वोल्टेज नियामक को कम सेट बिंदु पर चलाने के लिए संकेत देता है। कम आवृत्तियों पर सीपीयू खराबी के बिना एक कम वोल्टेज पर चल सकता है, और क्योंकि बिजली की खपत वोल्टेज के वर्ग के लिए आनुपातिक है, यहां तक ​​कि वोल्टेज में थोड़ी सी कमी भी बड़ी मात्रा में बिजली बचा सकती है।

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

संदर्भ: " इंटेल पेंटियम एम प्रोसेसर के लिए उन्नत इंटेल स्पीडस्टेप प्रौद्योगिकी "


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

फ्रीक को स्विच करने के संबंध में बचत Btw लगभग रैखिक हैं और प्रवाहकत्त्व के कारण उतना नहीं है, जो av ^ 2 रिश्ते होंगे
JonRB

3

खैर, आधुनिक ऑपरेटिंग सिस्टम पर "कार्य अनुसूचक" नामक कुछ है। यह समय-समय पर (बहुत तेज) चलता है और (एक सूची से) चयन करने के लिए अगले कार्य का चयन करता है। कार्य कई राज्यों में हो सकते हैं, जैसे चुनिंदा, अवरुद्ध, नींद आदि।

यदि सभी कार्य चुनिंदा मोड में हैं (ऑपरेटिंग सिस्टम से किसी चीज़ की प्रतीक्षा कर रहे हैं) और सेवा नहीं की जा सकती है, या कुछ सो रहे हैं आदि, तो प्रोसेसर के भारी उपयोग नहीं हो रहे हैं, कार्य अनुसूचक "निष्क्रिय" नामक एक विशेष कार्य को लागू करेगा। "।

यदि CPU ड्राइवर कार्य शेड्यूलर तालिका की जाँच करता है और यह सत्यापित करता है कि निष्क्रिय कार्य अधिकांश CPU समय चल रहा है, तो यह बस अपनी घड़ी को कम करने के लिए CPU की घड़ी पीढ़ी PLL सर्किट को एक कमांड भेजेगा। इसके विपरीत, यदि निष्क्रिय कार्य में कम और कम CPU समय लगता है (जिसका अर्थ है कि CPU का भारी उपयोग हो रहा है) CPU चालक CPU की गति बढ़ाएगा।

इसकी बहुत मुश्किल नहीं है, लेकिन एक कम सीमा है जहां सीपीयू को कम नहीं किया जा सकता है क्योंकि सभी सीपीयू पूरी तरह से स्थिर नहीं हैं (इसलिए उन्हें रीफ्रेशिंग साइकल की आवश्यकता होती है)। पूरी तरह से स्थिर सीपीयू 0 (शून्य) मेगाहर्ट्ज के रूप में कम जा सकता है क्योंकि घड़ी बंद होने पर खो जाने की कोई स्थिति नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.