2010-05-25 12 views
13

वहाँ किसी भी क्रम में कम बिजली consumption.Architecture सुनिश्चित करने के लिए कोड का अनुकूलन करने की तकनीक हैं ARM.language सीक्या हम बिजली की खपत को कम करने के लिए कोड अनुकूलित कर सकते हैं?

+21

'//' अनुकूलन ऑपरेटर का उपयोग करें। :) – SLaks

+0

आपके प्रोग्राम द्वारा उपयोग नहीं किए जाने वाले चक्र अभी भी निष्क्रिय प्रक्रियाओं के रूप में उपयोग किए जाएंगे। मुझे लगता है कि यदि आपके सीपीयू को कम चक्र देने की आवश्यकता होती है तो इसे कम चक्र की आवश्यकता होती है, तो आपको बस अपना कोड तेज़ी से बनाना होगा। अन्यथा, आपका एकमात्र विकल्प '# शामिल करें' gogreen.h "'। – corsiKa

+4

@ स्लक्स कि ऑप्टिमाइज़ेशन केवल सी ++ (और एएनएसआई सी वेरिएंट से नए) के लिए उपलब्ध है, इसलिए/**/ऑपरेटर का उपयोग करना बेहतर है: -पी – fortran

उत्तर

6

एआरएम तकनीकी संदर्भ साइट से: है कि ऊर्जा दक्षता में सुधार ARM11 MPCore प्रोसेसर की

विशेषताओं में शामिल हैं:

  • सही शाखा और उप दिनचर्या वापसी भविष्यवाणी, संख्या को कम करने गलत शिक्षा का लाने और डिकोड संचालन
  • शारीरिक रूप से के उपयोग को संबोधित कैश है, जो कम कर देता है कैश flushes और रिफिल की संख्या, प्रणाली
  • MicroTLBs के उपयोग में ऊर्जा की बचत शक्ति अनुवाद और सुरक्षा लुकअप प्रत्येक चक्र में खपत कम कर देता है
  • कैश अनुक्रमिक अभिगम जानकारी का उपयोग संख्या को कम करने के करने तक पहुँचता है टैग रैम और अवांछित डेटा रैम।

ARM11 MPCore प्रोसेसर बड़े पैमाने पर इस्तेमाल में भी अप्रयुक्त कार्यात्मक ब्लॉक करने के लिए आदानों निष्क्रिय करने के लिए गेटेड घड़ियों और फाटक से बना है। सक्रिय रूप से उपयोग में केवल तर्क एक गणना किसी भी गतिशील बिजली की खपत करते हैं।

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

5

कम शक्ति का उपयोग करने के लिए कोड का अनुकूलन है, प्रभावी ढंग से, बस कोड के अनुकूलन है। भले ही आपके इरादे मौद्रिक, सामाजिक, राजनीतिक या समान हैं, कम CPU चक्र = कम ऊर्जा का उपयोग किया जाता है। जो मैं कहने की कोशिश कर रहा हूं, मुझे लगता है कि आप शायद "निष्पादन समय" के साथ "बिजली की खपत" को प्रतिस्थापित कर सकते हैं, क्योंकि वे अनिवार्य रूप से सीधे आनुपातिक हो सकते हैं - और इसलिए आपको अधिक सफलता मिल सकती है जब लोगों को "डराने" बिजली से संबंधित प्रश्न। मैं, तथापि, को सही खड़े हो सकते हैं :)

+0

-1 को न्यायसंगत बनाने के लिए देखभाल? – Jeriko

+0

मैंने -1 नहीं किया था, लेकिन सीपीयू धीमी गति से चल रहा है, तो मेरा लैपटॉप कम शक्ति का उपयोग करता है, इसलिए निष्पादन समय बिजली की खपत के विपरीत आनुपातिक है। –

+0

आप निष्पादन समय का दावा नहीं कर सकते हैं बिजली की खपत के विपरीत आनुपातिक है। इसका तात्पर्य है कि मैं 10 साल की एक लंबी लिपि लिख सकता हूं और उम्मीद करता हूं कि यह ऊर्जा के एक जौल का उपभोग करे। मैं पिछले अस्पष्टता को स्वीकार करूंगा- कैसे "बिजली का उपयोग सीपीयू परिचालनों की संख्या के समान होता है, इस बात को ध्यान में रखते हुए कि प्रति ऑपरेशन की आवश्यकता लगातार चल रही है, जिस पर ऑपरेशन निष्पादित किया जाता है (दस लाख के साथ अन्य कारक जो अनियमित रहते हैं क्योंकि मैं एक सामान्य नियम-अंगूठे लिखने का प्रयास कर रहा था और कानून की अदालत में खड़े होने के लिए आवश्यक एक ट्यूटोलॉजी नहीं था) "? : पी – Jeriko

0

प्रोसेसर जब यह कम चक्र की जरूरत कम बिजली का उपयोग करने के लिए, तो बस बनाने के लिए अपने कोड रन और अधिक कुशलता से हल है ट्यून किया गया है। अन्यथा, जब तक ऑपरेटिंग सिस्टम किसी प्रकार की पावर प्रबंधन कार्यक्षमता का खुलासा नहीं करता तब तक आप ऐसा नहीं कर सकते हैं।

0

कुछ एआरएम प्रोसेसर पर यह स्टैंडबाई मोड में वोल्टेज रेगुलेटर डाल ऊर्जा की खपत कम करना संभव है।

5

हां। profiler का उपयोग करें और देखें कि अधिकांश सीपीयू का उपयोग किस दिनचर्या कर रहे हैं। एआरएम पर आप कुछ JTAG कनेक्टर्स का उपयोग कर सकते हैं, यदि उपलब्ध हो (मैंने Lauterbach दोनों डिबगिंग और प्रोफाइलिंग के लिए उपयोग किया था)। सामान्य समस्या आम तौर पर कम प्रोसेसिंग स्थिति (गहरी नींद) में, निष्क्रिय होने पर, आपके प्रोसेसर को डालने के लिए होती है। यदि आप बहुत से इस्तेमाल किए गए CPU प्रतिशत को कम नहीं कर सकते हैं (उदाहरण के लिए 80% से 50% तक) इससे कोई बड़ा अंतर नहीं आएगा।आप जिस ऑपरेटिंग सिस्टम को चला रहे हैं उसके आधार पर विकल्प अलग-अलग हो सकते हैं।

+0

और मैं जोड़ सकता हूं: जब तक आप वास्तव में उनका उपयोग नहीं कर रहे हैं, तब तक परिधीय को "खुले" स्थिति में न रखें (उदाहरण के लिए ब्लूटूथ/वाई-फाई खोलना मोबाइल उपकरणों के मामले में बैटरी जीवन का * बहुत * कम करता है। – INS

1

यदि आप Windows XP + या Linux का एक नया संस्करण नहीं चला रहे हैं, तो आप पृष्ठभूमि थ्रेड चला सकते हैं जो एचएलटी के अलावा कुछ भी नहीं करता है।

इस प्रकार CPUIdle जैसे प्रोग्राम बिजली की खपत/गर्मी को कम करते हैं।

+0

यह कंधे नए ऑपरेटिंग सिस्टम के लिए जरूरी नहीं है। –

+2

@ एक्सेल: हाँ, मैंने उल्लेख किया है कि ... –

3

के जुलाई 2010 संस्करण एसीएम के संचार ऊर्जा-कुशल एल्गोरिदम पर एक लेख है जो आपको रूचि दे सकता है। मैंने इसे अभी तक नहीं पढ़ा है, इसलिए इसका कोई भी ज्ञान प्रदान नहीं कर सकता है।

+0

पूरी तरह से, मैं लेख में बहुत निराश था, दुख की बात है। –

+0

अब मैं शायद इसे कभी नहीं पढ़ूंगा। –

3

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

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

संबंधित मुद्दे