वहाँ किसी भी क्रम में कम बिजली consumption.Architecture सुनिश्चित करने के लिए कोड का अनुकूलन करने की तकनीक हैं ARM.language सीक्या हम बिजली की खपत को कम करने के लिए कोड अनुकूलित कर सकते हैं?
उत्तर
एआरएम तकनीकी संदर्भ साइट से: है कि ऊर्जा दक्षता में सुधार ARM11 MPCore प्रोसेसर की
विशेषताओं में शामिल हैं:
- सही शाखा और उप दिनचर्या वापसी भविष्यवाणी, संख्या को कम करने गलत शिक्षा का लाने और डिकोड संचालन
- शारीरिक रूप से के उपयोग को संबोधित कैश है, जो कम कर देता है कैश flushes और रिफिल की संख्या, प्रणाली
- MicroTLBs के उपयोग में ऊर्जा की बचत शक्ति अनुवाद और सुरक्षा लुकअप प्रत्येक चक्र में खपत कम कर देता है
- कैश अनुक्रमिक अभिगम जानकारी का उपयोग संख्या को कम करने के करने तक पहुँचता है टैग रैम और अवांछित डेटा रैम।
ARM11 MPCore प्रोसेसर बड़े पैमाने पर इस्तेमाल में भी अप्रयुक्त कार्यात्मक ब्लॉक करने के लिए आदानों निष्क्रिय करने के लिए गेटेड घड़ियों और फाटक से बना है। सक्रिय रूप से उपयोग में केवल तर्क एक गणना किसी भी गतिशील बिजली की खपत करते हैं।
इस जानकारी के आधार पर, मैं कहूंगा कि प्रोसेसर आपके लिए बिजली बचाने के लिए बहुत काम करता है। कोई भी बिजली बर्बादी खराब लिखित कोड से आती है जो आवश्यक से अधिक प्रसंस्करण करता है, जिसे आप वैसे भी नहीं चाहते हैं। यदि आप बिजली बचाने की तलाश में हैं, तो आपके आवेदन के समग्र डिजाइन का अधिक प्रभाव होगा। नेटवर्क एक्सेस, स्क्रीन प्रतिपादन, और अन्य बिजली-भूख संचालन बिजली की खपत के लिए अधिक चिंता का विषय होगा।
कम शक्ति का उपयोग करने के लिए कोड का अनुकूलन है, प्रभावी ढंग से, बस कोड के अनुकूलन है। भले ही आपके इरादे मौद्रिक, सामाजिक, राजनीतिक या समान हैं, कम CPU चक्र = कम ऊर्जा का उपयोग किया जाता है। जो मैं कहने की कोशिश कर रहा हूं, मुझे लगता है कि आप शायद "निष्पादन समय" के साथ "बिजली की खपत" को प्रतिस्थापित कर सकते हैं, क्योंकि वे अनिवार्य रूप से सीधे आनुपातिक हो सकते हैं - और इसलिए आपको अधिक सफलता मिल सकती है जब लोगों को "डराने" बिजली से संबंधित प्रश्न। मैं, तथापि, को सही खड़े हो सकते हैं :)
-1 को न्यायसंगत बनाने के लिए देखभाल? – Jeriko
मैंने -1 नहीं किया था, लेकिन सीपीयू धीमी गति से चल रहा है, तो मेरा लैपटॉप कम शक्ति का उपयोग करता है, इसलिए निष्पादन समय बिजली की खपत के विपरीत आनुपातिक है। –
आप निष्पादन समय का दावा नहीं कर सकते हैं बिजली की खपत के विपरीत आनुपातिक है। इसका तात्पर्य है कि मैं 10 साल की एक लंबी लिपि लिख सकता हूं और उम्मीद करता हूं कि यह ऊर्जा के एक जौल का उपभोग करे। मैं पिछले अस्पष्टता को स्वीकार करूंगा- कैसे "बिजली का उपयोग सीपीयू परिचालनों की संख्या के समान होता है, इस बात को ध्यान में रखते हुए कि प्रति ऑपरेशन की आवश्यकता लगातार चल रही है, जिस पर ऑपरेशन निष्पादित किया जाता है (दस लाख के साथ अन्य कारक जो अनियमित रहते हैं क्योंकि मैं एक सामान्य नियम-अंगूठे लिखने का प्रयास कर रहा था और कानून की अदालत में खड़े होने के लिए आवश्यक एक ट्यूटोलॉजी नहीं था) "? : पी – Jeriko
प्रोसेसर जब यह कम चक्र की जरूरत कम बिजली का उपयोग करने के लिए, तो बस बनाने के लिए अपने कोड रन और अधिक कुशलता से हल है ट्यून किया गया है। अन्यथा, जब तक ऑपरेटिंग सिस्टम किसी प्रकार की पावर प्रबंधन कार्यक्षमता का खुलासा नहीं करता तब तक आप ऐसा नहीं कर सकते हैं।
कम से कम आईओ रखें।
कुछ एआरएम प्रोसेसर पर यह स्टैंडबाई मोड में वोल्टेज रेगुलेटर डाल ऊर्जा की खपत कम करना संभव है।
हां। profiler का उपयोग करें और देखें कि अधिकांश सीपीयू का उपयोग किस दिनचर्या कर रहे हैं। एआरएम पर आप कुछ JTAG कनेक्टर्स का उपयोग कर सकते हैं, यदि उपलब्ध हो (मैंने Lauterbach दोनों डिबगिंग और प्रोफाइलिंग के लिए उपयोग किया था)। सामान्य समस्या आम तौर पर कम प्रोसेसिंग स्थिति (गहरी नींद) में, निष्क्रिय होने पर, आपके प्रोसेसर को डालने के लिए होती है। यदि आप बहुत से इस्तेमाल किए गए CPU प्रतिशत को कम नहीं कर सकते हैं (उदाहरण के लिए 80% से 50% तक) इससे कोई बड़ा अंतर नहीं आएगा।आप जिस ऑपरेटिंग सिस्टम को चला रहे हैं उसके आधार पर विकल्प अलग-अलग हो सकते हैं।
और मैं जोड़ सकता हूं: जब तक आप वास्तव में उनका उपयोग नहीं कर रहे हैं, तब तक परिधीय को "खुले" स्थिति में न रखें (उदाहरण के लिए ब्लूटूथ/वाई-फाई खोलना मोबाइल उपकरणों के मामले में बैटरी जीवन का * बहुत * कम करता है। – INS
यदि आप Windows XP + या Linux का एक नया संस्करण नहीं चला रहे हैं, तो आप पृष्ठभूमि थ्रेड चला सकते हैं जो एचएलटी के अलावा कुछ भी नहीं करता है।
इस प्रकार CPUIdle जैसे प्रोग्राम बिजली की खपत/गर्मी को कम करते हैं।
यह कंधे नए ऑपरेटिंग सिस्टम के लिए जरूरी नहीं है। –
@ एक्सेल: हाँ, मैंने उल्लेख किया है कि ... –
के जुलाई 2010 संस्करण एसीएम के संचार ऊर्जा-कुशल एल्गोरिदम पर एक लेख है जो आपको रूचि दे सकता है। मैंने इसे अभी तक नहीं पढ़ा है, इसलिए इसका कोई भी ज्ञान प्रदान नहीं कर सकता है।
पूरी तरह से, मैं लेख में बहुत निराश था, दुख की बात है। –
अब मैं शायद इसे कभी नहीं पढ़ूंगा। –
निष्क्रिय लूप के लिए चिप मेमोरी (कैश) पर रहने की कोशिश करें, I/O को न्यूनतम रखें, बसों पर कम से कम फ़्लिपिंग रखें। प्रोम और फ्लैश की तरह एनवी मेमोरी एक से ज़ीरो स्टोर करने के लिए अधिक शक्ति का उपभोग करती है (यही कारण है कि वे किसी के लिए मिटते हैं, यह वास्तव में शून्य है लेकिन ट्रांजिटर इसे देखने से पहले थोड़ा उलटा करता है, शून्य के रूप में संग्रहीत शून्य, जिन्हें संग्रहीत किया जाता है शून्य, यही कारण है कि वे असफल होने पर लोगों को अपमानित करते हैं), मुझे अस्थिर यादों के बारे में पता नहीं है, नाटक कई ट्रांजिस्टर को आधा के रूप में उपयोग करता है, लेकिन इसे ताज़ा किया जाना चाहिए।
इससे कोई फर्क नहीं पड़ता कि आपको निम्न शक्ति प्रणाली के साथ शुरू करने की आवश्यकता है क्योंकि उपरोक्त उल्लेखनीय नहीं हो सकता है। उदाहरण के लिए इंटेल से कुछ भी उपयोग न करें।
- 1. गणना एंड्रॉयड सेंसर बिजली की खपत
- 2. क्या हम sandcastle तेज कर सकते हैं?
- 3. phantomjs स्मृति खपत को कम करने के लिए कैसे?
- 4. क्या हम विजुअल स्टूडियो की तरह एक्सकोड में विधियों/कोड को निष्पादित कर सकते हैं?
- 5. एंड्रॉइड एक्सेलेरोमीटर, सेंसर उपयोग और बिजली की खपत
- 6. क्या हम इमाक्स को चर की परिभाषा ढूंढ सकते हैं?
- 7. क्या हम जावास्क्रिप्ट के साथ 302 रीडायरेक्ट कर सकते हैं?
- 8. सी ++ कोड लिखने के लिए कैसे संकलक सिम के लिए आसानी से अनुकूलित कर सकते हैं?
- 9. प्रतिबिंब। हम इसका उपयोग करके क्या हासिल कर सकते हैं?
- 10. क्या हम * .dll.config को ऑटोकॉपी कर सकते हैं?
- 11. पायथन: कोड के टुकड़े के लिए आप सीपीयू खपत कैसे पा सकते हैं?
- 12. इस कोड को अनुकूलित करने के लिए कैसे करें
- 13. क्या हम एडाप्टर से startActivityForResult को कॉल कर सकते हैं?
- 14. हम nstimer के बजाय क्या उपयोग कर सकते हैं?
- 15. क्या हम एसडीएल ट्रिडियन में माइग्रेट कर सकते हैं?
- 16. क्या हम एक क्यूआर-कोड का आकार बदल सकते हैं?
- 17. क्या हम LINQ के साथ डेटाटेबल फ़िल्टर कर सकते हैं?
- 18. , हम केवल 1024bytes से कम डेटा लिख और प्राप्त कर सकते हैं: हम कैसे लिख सकते हैं या प्राप्त कर सकते हैं?
- 19. स्मृति खपत को कम करने के लिए scipy/numpy परिशुद्धता को कम करने का कोई तरीका है?
- 20. क्या हम मोबाइल ऐप विकसित करने के लिए रेल पर रूबी का उपयोग कर सकते हैं?
- 21. क्या हम Android में SearchView के संपादन में वर्ण की संख्या को सीमित कर सकते हैं?
- 22. क्या हम स्रोत नियंत्रण टाइमआउट त्रुटियों को अनदेखा करने के लिए CruiseControl.NET को बता सकते हैं?
- 23. एक क्यूआर कोड में हम कितना डेटा/जानकारी सहेज सकते हैं/स्टोर कर सकते हैं?
- 24. हम fetch एक्सटेंशन द्वारा उपयोग किए गए डिफ़ॉल्ट प्रतिबद्ध संदेश को कैसे अनुकूलित कर सकते हैं?
- 25. हम सिम्युलेटर में पुश अधिसूचना की जांच कर सकते हैं?
- 26. हम काम करने के लिए kCAOnOrderOut कैसे प्राप्त कर सकते हैं?
- 27. हम स्ट्रेटर पॉइंटर को स्ट्रिंग क्यों नहीं कॉपी कर सकते हैं जब हम सीधे स्ट्रिंग असाइन कर सकते हैं?
- 28. क्या हम लैम्ब्डा तर्क का प्रकार प्राप्त कर सकते हैं?
- 29. एसवीजी अनुकूलित करने के लिए कुछ विकल्प क्या हैं?
- 30. क्या हम एंड्रॉइड में एक फ़ोल्डर एन्क्रिप्ट कर सकते हैं?
'//' अनुकूलन ऑपरेटर का उपयोग करें। :) – SLaks
आपके प्रोग्राम द्वारा उपयोग नहीं किए जाने वाले चक्र अभी भी निष्क्रिय प्रक्रियाओं के रूप में उपयोग किए जाएंगे। मुझे लगता है कि यदि आपके सीपीयू को कम चक्र देने की आवश्यकता होती है तो इसे कम चक्र की आवश्यकता होती है, तो आपको बस अपना कोड तेज़ी से बनाना होगा। अन्यथा, आपका एकमात्र विकल्प '# शामिल करें' gogreen.h "'। – corsiKa
@ स्लक्स कि ऑप्टिमाइज़ेशन केवल सी ++ (और एएनएसआई सी वेरिएंट से नए) के लिए उपलब्ध है, इसलिए/**/ऑपरेटर का उपयोग करना बेहतर है: -पी – fortran