8-बिट नियंत्रकों की तुलना में कोर्टेक्स M0 कैसे प्रदर्शन करता है?


10

यह दस्तावेज़ एक कॉर्टेक्स M0 के लिए 60 DMIPS / mW, एक M3 के लिए 31 DMIPS / mW का हवाला देता है। (उत्तरार्द्ध इस दस्तावेज़ में संख्याओं से सहमत नहीं है , जो 1.25 DMIPS / MHz और 0.19 mW / MHz का हवाला देते हुए 6.6 DMIPS / mW देता है।)
क्या कोई जानता है कि M0 प्रदर्शन / शक्ति 8/16-बिट नियंत्रकों की तुलना कैसे करता है । AVR, PIC और MSP430 की तरह? और M3 के आंकड़ों के साथ क्या सौदा है?


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

1
@ फ्रेंक: क्या स्फटिक बेंचमार्क प्रीफैच और बस की गति जैसी चीजों को ध्यान में नहीं रखता है? मैं विशेष रूप से NXP M3 के आंकड़ों का खंडन करना चाहूंगा। आपको ऐप के बारे में विवरण नहीं दे सकते, क्योंकि विवरण अभी तक मौजूद नहीं हैं
फेडरिको रूसो

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

इन दिनों ढिशोन एक मजेदार खिलौना है, लेकिन आपको बहुत कुछ नहीं बताता। सामान्य रूप से बेंचमार्क आपको ज्यादा नहीं बताते हैं। आपको अपना आवेदन लेना होगा और उसे चलाना होगा। आपके द्वारा चुना गया कंपाइलर किसी भी कोड या हार्डवेयर को नहीं बदलना, कई बार प्रदर्शन अंतर या माइनस बना सकता है, इसलिए यह सब बहुत मुश्किल है। आप बेंचमार्क बना सकते हैं जो संख्याओं को दिखाते हैं जो आप चाहते हैं।
old_timer

एआरएम शुद्ध प्रदर्शन (समान आकार और समान कीमत पर, जरूरी नहीं कि शक्ति के लिए) बाकी के चारों ओर सर्कल चलाने जा रहा है। मुझे नहीं लगता कि एक 8051 भी PIC के रूप में धीमा है, क्या आप कुछ भी उपयोगी करने के लिए खोई घड़ियों की संख्या को थाह सकते हैं? एसम का उपयोग करना, फिर लोग सी का उपयोग करते हैं और यह देखने के लिए असहनीय हो जाता है। Msp430, आप शायद इसे उन ऐप्स के लिए चाहते हैं जहां आप इसे बंद कर देते हैं, यह एक बार उठता है एक नीला चाँद में एक दो चीजें करता है फिर सो जाता है, जैसे टीवी रिमोट कंट्रोल या ऐसा कुछ।
old_timer

जवाबों:


9

यहाँ कुछ संकेत दिए गए हैं जो मैं प्रदान कर सकता हूँ। एनएक्सपी जो विनिर्देश प्रदान कर रहा है, वह उनकी पूरी चिप (कोर, मेमोरी, पेरिफेरल) के लिए है। ARM द्वारा दिए गए स्पेसिफिकेशन सिर्फ कोर पर आधारित है। जैसा कि संख्याओं को अलग-अलग तरीके से लिया गया है, तुलना करना वास्तव में कठिन है।

इसलिए, मैं प्रस्ताव करता हूं कि हम वापस कदम रखें और दो उपकरणों को देखें। एक NXP M0 आधारित MCU और एक MXP M3 आधारित MCU।

M0 आधारित MCU के लिए LPC1111 को देखें। जब यह MCU एक व्यस्त निष्क्रिय लूप को क्रियान्वित कर रहा है तो यह 12 मेगाहर्ट्ज क्लॉक रेट पर 3mA वर्तमान की खपत करेगा। इससे 250uA / MHz की पैदावार होती है, जो 3.3V पर 825uW / MHz है।

M3 आधारित MCU के लिए LPC1311 को देखें। जब यह MCU उसी व्यस्त निष्क्रिय लूप को निष्पादित कर रहा है तो यह 12MHz पर 4mA वर्तमान का उपभोग करेगा। उपज 333.3uA / MHz, जो 1.1mW / MHz है।

यदि हम MSP430C1101 MCU (16-बिट) को देखते हैं, तो हम देखेंगे कि वोल्टेज 3V होने पर 1MHz पर 240uA का उपयोग किया जाएगा। इससे 720uW / MHz की पैदावार होती है।

अगला, चलिए ATMega328 (Arduino Uno में प्रयुक्त) की ओर मुड़ते हैं। हम 2V के वोल्टेज के साथ 1MHz पर 200uA का उपयोग करते हैं। इससे 400uA / MHz उपज होती है।

यह भी ध्यान दिया जाना चाहिए कि MSP430 और AVR अलग-अलग कल्पना करते हैं। उनकी बिजली की खपत 1MHz पर दी जाती है, जहां M0 और M3 को 12MHz पर दिया जाता है। इसका मतलब है कि M0 और M3 में 12MHz तक की स्केलिंग की अक्षमताएं हैं, जो उनकी संख्या में बेक की गई हैं।

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

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

मुझे आशा है कि वह मदद करेंगे। यह कहने का एक लंबा तरीका है कि बिजली की खपत थोड़ी खराब है, लेकिन आप उन घड़ी चक्रों के साथ बहुत अधिक काम करते हैं जो अन्य चिप्स की तुलना में अधिक हैं। तो, यह वास्तव में आपके आवेदन पर निर्भर करता है।


1
अपना पहला पैराग्राफ फिर से लाएं: यदि एआरएम आंकड़े सिर्फ कोर के बारे में हैं, तो वे एनएक्सपी आंकड़ों से अधिक होना चाहिए, जिसमें परिधीय शक्ति शामिल है। लेकिन वे कम हैं। मैं इसे समझा भी नहीं सकता।
स्टीवनवह

1
साथ ही, आपको नियंत्रकों की समान वोल्टेज पर तुलना करनी चाहिए। यदि आप MSP430 की तरह LV1111 को 3V पर चलाते हैं तो उनकी बिजली की खपत बहुत करीब है। NXP एआरएम के लिए बुरा नहीं है; MSP430 अपनी कम शक्ति के लिए जाना जाता है।
स्टीवनवह

1
MSP430 की तुलना में एआरएम कॉर्टेक्स उपकरणों के साथ मुझे जो एक बड़ी समस्या है, वह यह है कि एआरएम डिवाइस अपने कम पावर मोड से रनिंग स्टेट में वापस आने वाले प्रोसेसर के बहुत सारे चक्रों को जला सकते हैं। RAM डेटा खो गया है और इसे फिर से बनाया / आरंभीकृत किया जाना है (बैटरी समर्थित SRAM के अलावा) PLL और क्लॉक सिस्टम को फिर से शुरू करना होगा। MSP बस अगले निर्देश से शुरू होता है जब वह सोने गया था तब से सभी RAM के साथ बरकरार है। यदि आपकी प्रक्रिया में सक्रिय और नींद मोड के बीच लगातार बदलाव शामिल हैं, तो एआरएम खो जाएगा।
u

3

12MHz से 1MHz की तुलना करना पक्षपाती है - उच्च घड़ी दर को प्रति मेगाहर्ट्ज कम वर्तमान की आवश्यकता होती है। उदाहरण के लिए नवीनतम MSP430 सक्रिय मोड में 8 / 16MHz के साथ मेगाहर्ट्ज प्रति 80-120uA प्रति कम के रूप में जा सकता है।

यह ध्यान देने योग्य है कि ठीक से लिखा गया कोड एमसीयू के सक्रिय मोड को 1% (या यहां तक ​​कि 0.1%) से कम रखता है, इसलिए पावर मोड यहां बहुत अंतर करते हैं।

वास्तविक जीवन में MSP430 बहुत मुश्किल कम शक्ति वाले राज्यों के कारण (मैं एक टीआई नौकरी नहीं कर रहा हूं) को हरा देना मुश्किल है, जहां अन्य एमसीयू जागने में अधिक समय लेते हैं या रैम सामग्री नहीं रखते हैं, जो हास्यास्पद है।

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