2012-02-22 5 views
17

मैं एंड्रॉइड फोन पर इस्तेमाल होने वाले सीपीयू को और समझना चाहता हूं। इसका कारण यह है कि हम सी लाइब्रेरी का निर्माण कर रहे हैं जिसमें कुछ सीपीयू/गणित प्रोसेसर आर्किटेक्चर झंडे हैं जिन्हें हम सेट कर सकते हैं।एंड्रॉइड एआरएमवी 6/वी 7 और वीएफपी/एनईओएन

  1. अब तक हम ने पाया है कि सभी Android उपकरणों सीपीयू एआरएम डिजाइन कर रहे हैं और या तो ARMv6 (पुराने उपकरणों, निम्न सिरों, Huawei, जेडटीई, छोटे एसई) या ARMv7 (Honeycomb टैबलेट और सभी को और अधिक कर रहे हैं महंगा उपकरण, लगभग सभी संकल्प WVGA और उच्चतर के साथ) मैंने ~ 20 डिवाइसों की जांच की है और सभी के पास उस प्रकार का प्रोसेसर है। क्या वो सही है? क्या कुछ और हैं?

  2. अब जब यह मल्टीमीडिया और गणितीय क्रियाओं की बात आती है मुझे लगता है कि दो इकाइयों महत्वपूर्ण हैं - चल बिन्दु गणित के लिए VFP और SIMD - नियोन। उपर्युक्त समूह के उपकरणों का परीक्षण करने के बाद मैंने पाया है कि वीएफपी समर्थन लगभग सभी उपकरणों में है, जबकि नीयन नहीं है। उस पर कोई टिप्पणी?

  3. मुझे नहीं पता कि एआरएमवी 6 और एआरएमवी 7 अंतर (सामान्य रूप से गति के अलावा) वास्तव में क्या है। अब हम एक मल्टीमीडिया सी लाइब्रेरी का निर्माण कर रहे हैं, जिसमें इमारत के लिए कुछ झंडे हैं। मेरा सवाल यह है कि एक तरफ डिवाइस की सबसे बड़ी संख्या को कैसे लक्षित किया जाए और बेहतर उपकरणों के उपयोगकर्ताओं को अपने हार्डवेयर का उपयोग करने की अनुमति कैसे दी जाए। मेरा प्रस्ताव 3 अलग-अलग बिल्ड तैयार करना है: एआरएमवी 6/वीएफपी, एआरएमवी 7/वीएफपी और एआरएमवी 7/वीएफपी/एनईओएन। अन्य प्रस्ताव?

  4. ARMv6/VFP मुझे लगता है कि सभी विन्यास पर चलाना चाहिए, उपकरणों, जो VFP (जैसे पुराने एचटीसी जंगल की आग) याद कर रहे हैं को छोड़कर - लेकिन उन असमर्थित रहेगा।

यह एक अच्छा दृष्टिकोण है? किसी भी टिप्पणी का स्वागत है।

सादर, स्टेन

उत्तर

12
  1. यह सही है। वर्तमान में दो प्रकार हैं - एआरएमवी 6 और एआरएमवी 7। निकटतम भविष्य में सबसे अधिक संभावना है कि अतिरिक्त x86 लक्ष्य होगा। नवीनतम एनडीके पहले से ही इसके लिए निर्माण का समर्थन करता है।

  2. एआरएमवी 7 पर वीएफपी अनिवार्य है, लेकिन एआरएमवी 6 पर नहीं। नीयन वैकल्पिक है, और सभी डिवाइस इसका समर्थन नहीं करते हैं। सबसे विशिष्ट उदाहरण Nvidia Tegra 2. यह उच्च-अंत टैबलेट और फोन पर तैनात है, लेकिन यह नीयन का समर्थन नहीं करता है। Nvidia Tegra 3 नीयन का समर्थन करता है।

  3. मुझे लगता है कि आपको फ्लोटिंग पॉइंट इम्यूलेशन, एआरएमवी 7 + वीएफपी, एआरएमवी 7 + नीयन के साथ एआरएमवी 6 तक चिपकना चाहिए।

  4. बिल्कुल - सभी एआरएमवी 6 उपकरणों पर वीएफपी समर्थित नहीं है। तो बस इसे वहां इस्तेमाल न करें। डिफ़ॉल्ट रूप से एनडीके आर्मेबी लक्ष्य बनाता है जो एआरएमवी 6 उपकरणों के लिए है और वीएफपी का उपयोग नहीं करता है। armeabi-v7a एआरएमवी 7 के लिए बनाता है और वीएफपी का उपयोग करता है।

4

यह सच है कि Android उपकरणों के सबसे इन तीन श्रेणियों में आते हैं:

1) ARMv6

2) ARMv7

3) ARMv7 + नियोन

NDK यह पूरी तरह से समर्थन नहीं करता है। कोई ARMv6 ABI निर्माण लक्ष्य है, वहाँ केवल दो एआरएम निर्माण NDK द्वारा समर्थित लक्ष्य कर रहे हैं: (VFP के वैकल्पिक उपयोग के साथ

1) ARMv5 (जो सभी Android एआरएम उपकरणों पर चलेंगे)

2) ARMv7 और नीयन)

इस द्वारा लगाई गई सीमाएं हैं कि यदि आप एआरएमवी 6 निर्देश (सी या एएसएम कोड से) का उपयोग करना चाहते हैं, तो आपको एनडीके में एआरएमवी 7 एबीआई को लक्षित करने की आवश्यकता है।

7

मैं v7 पर ध्यान केंद्रित करूंगा।

वी 6 के साथ कोई भी नया उत्पाद शिपिंग नहीं है, और जब तक आपकी लाइब्रेरी उत्पादन तैयार हो, v6 गैर-समस्या होगी।

यहाँ कुछ जानकारी कर रहे हैं: - नियॉन हमेशा शामिल VFP - Coretex ए 8 या तो नियॉन या कोई भी प्रस्तुत कर सकती हैं - ए 8 के नियॉन पर VFP वास्तव में VFP-लाइट जो काफी बहुत धीमी है। वी 6 के वीएफपी से बहुत धीमी है। - कोरटेक्स ए 9 और ऊपर नियॉन, वीएफपी, या कोई भी नहीं हो सकता है। - वी 7 में दो उन्नत-मुद्दे क्षमता के बगल में गणितीय परिचालनों के लिए कई उन्नत निर्देश हैं। - चिप विक्रेता नियॉन और यहां तक ​​कि वीएफपी को छोड़ सकते हैं, लेकिन वे एआरएम को समान लाइसेंस शुल्क का भुगतान करते हैं। वे केवल विनिर्माण लागत में बहुत कम बचाएंगे। - नियॉन सक्षम हाथों में बेहद शक्तिशाली है, लेकिन डबल परिशुद्धता नहीं कर सकता है। - निओलेस टेग्रा वाले लोगों के अलावा, कोई v7 आधारित एंड्रॉइड फोन मुझे ज्ञात नहीं है जिसमें नियॉन की सुविधा नहीं है। (कारण ऊपर है) - Tegra3 में नियॉन

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