एंड्रॉइड फोन में कंप्यूटर की तुलना में अधिक कोर क्यों होते हैं?


80

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

दूसरी ओर, मोबाइल फोन पर, क्वाडकोर, हेक्साकोर और ऑक्टाकोर आम लगते हैं। क्यों? कौन से कार्य उनका उपयोग कर सकते हैं?

मैं समझता हूं कि बड़ा.लिट जवाब का एक हिस्सा हो सकता है। यही है, इतने सारे कोर का मुख्य लाभ उन सभी को एक साथ उपयोग करने की क्षमता नहीं है, बल्कि वर्तमान वर्कलोड के लिए उपयुक्त बिजली की खपत के साथ कोर का उपयोग करना है। हालांकि, उदाहरण के लिए, स्नैपड्रैगन 625 में आठ कॉर्टेक्स-ए 53 कोर हैं, जो बड़े.लिट के लिए एक मामला नहीं लगता है।

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

लेकिन इस मामले में भी, मैं यह नहीं देखता कि एक मोबाइल फोन पर आठ कोर क्या कह सकते हैं। लैपटॉप पर, मैं एक परियोजना के पूर्ण (गैर-वृद्धिशील) संकलन की तरह कुछ कल्पना कर सकता हूं। लेकिन फोन पर?

  • खेल प्रदर्शन-भूखे हो सकते हैं, लेकिन उन्हें आमतौर पर सीपीयू के बजाय GPU के प्रदर्शन की आवश्यकता होती है, है न?
  • सैद्धांतिक रूप से, एकाधिक कोर एंड्रॉइड लॉलीपॉप / मार्शमैलो एओटी संकलन को स्थापित करते समय या अपग्रेड करते समय (यानी, चरण "अनुकूलन एप्लिकेशन 3/121") को गति दे सकते हैं। हालाँकि, मुझे यकीन नहीं है कि यह कई कोर का उपयोग कर सकता है। जहां तक ​​मुझे कोड याद है, एक समय में केवल एक ऐप संकलित किया जा रहा है, लेकिन शायद संकलन प्रक्रिया के भीतर कुछ समानता है।
  • संकलन करते समय Android 7+ भी कई कोर का उपयोग कर सकता है। लेकिन चूंकि यह कथित रूप से निष्क्रिय और चार्ज करने के लिए संकलित करता है, इसलिए लाभ कम से कम प्रतीत होता है। कम से कम जब कोई रात भर फोन चार्ज करता है - तो मुझे वास्तव में परवाह नहीं है अगर यह इस तरह के परिदृश्य में 30 मिनट या दो घंटे लेता है।

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

4
आपका प्रश्न त्रुटिपूर्ण है, पीसी में फोन की तुलना में अधिक कोर हो सकते हैं। Intel.com/content/www/us/en/products/processors/core/x-series/… और वह भी सर्वर-क्लास मशीनों में नहीं मिल रहा है, जिसमें दर्जनों या सैकड़ों कोर हो सकते हैं। (और कुछ सुपर कंप्यूटर हजारों-हजार कोर रेंज में मिलते हैं।)
JAB

3
@ जेएबी श्योर, लेकिन मैं कोर की अधिकतम संख्या के बारे में बात नहीं कर रहा हूं, बल्कि विशिष्ट संख्या के बारे में। लैपटॉप के लिए, क्वाडकोर से अधिक बहुत ही असामान्य हैं, लेकिन आप कुछ अपवाद पा सकते हैं, शायद एक्सोन के साथ। मोबाइल फोन के लिए, यहां तक ​​कि ऑक्टाकोर भी अपेक्षाकृत सामान्य हैं।
v6ak

4
"मैंने हाल ही में क्वाडकोर से डुअलकोर में स्विच किया है और मैं पुष्टि कर सकता हूं कि क्वाडकोर के लिए usecases की एक सीमित संख्या है, यहां तक ​​कि सीपीयू गहन कार्यों के साथ भी।" - क्या आप विस्तार से बता सकते हैं कि आप उस निष्कर्ष पर कैसे पहुंचे?
अब्दुल

@ अब्दुल यह मेरी टिप्पणियों (ज्यादातर htop या इसी तरह के उपकरण का उपयोग करके सिस्टम लोड को देखकर) और आंशिक रूप से मेरे निष्कर्षों से आता है। यहां तक ​​कि कुछ टेकस्क जहां मैं समानांतरकरण की उम्मीद करूंगा (उदाहरण के लिए, OpenScad का उपयोग करके प्रतिपादन) सिंगल-कोर हैं। फ़ायरफ़ॉक्स (ESR) आमतौर पर अधिकांश एक कोर में खपत करता है। वृद्धिशील संकलन - मैंने इसे मापा नहीं है, लेकिन सहजता से, स्वतंत्र कार्यों को खोजने के लिए बहुत अवसर नहीं हैं। (पूर्ण संकलन एक अलग मामला है।)
v6ak

जवाबों:


63

आप पहले से ही ध्यान दिया है, big.LITTLE संयोजन रणनीति (तकनीकी रूप से, HMP , विषम मल्टी-प्रसंस्करण क्लस्टर) इतने सारे (और कभी कभी घने कई) कोर लिए प्राथमिक कारण है। एक मोबाइल डिवाइस अक्सर कई परिदृश्यों में चलता है, जिसमें भारी लोड और लाइट लोड दोनों शामिल होते हैं।

एक चरम उपभोक्ता-श्रेणी का उदाहरण मीडियाटेक के हेलियो एक्स 20 है, जिसमें 2 प्रदर्शन-उन्मुख ए 72 कोर, 4 संतुलित ए 53 कोर, प्लस 4 ऊर्जा-कुशल ए 35 कोर हैं। विभिन्न उपयोग के मामलों में यह बहुत लचीला है। हालांकि, मुझे लगता है कि 8 कोर 2 क्लस्टर आमतौर पर पर्याप्त हैं।

एक अन्य डेस्कटॉप जैसा उदाहरण भी है, क्वालकॉम की स्नैपड्रैगन 800 श्रृंखला (एस 800, एस 801 और एस 805)। प्रत्येक SoC में एक ही माइक्रोआर्किटेक्चर के केवल 4 कोर हैं, जिसमें 2 क्लॉकड और 2 क्लॉकड लोअर हैं। क्वालकॉम ने ये SoCs इसलिए बनाए क्योंकि वे अपने स्वयं के माइक्रोआर्किटेक्चर (क्रेट 400 और क्रेट 450) से बहुत आश्वस्त थे।

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

एक माध्यमिक कारण यह है कि एंड्रॉइड सीपीयू संसाधनों का उपयोग कैसे करता है । Android बहुत ज्यादा अपने स्वयं के अनुप्रयोग वातावरण बनाता है। यह जावा से कोड (और एपीआई) के अलावा कुछ भी नहीं उपयोग करता है, लेकिन इसकी अपनी वर्चुअल मशीन है जिसका नाम Dalvik है, जिसे बाद में ART (API Level 21) ने बदल दिया। APK में "निष्प्रभावी" प्रारूप में अपने निष्पादन योग्य कोड होते हैं, बहुत कुछ .classजावा में फाइलों की तरह । इससे पहले कि वे चलते हैं, कोड मशीन के मूल निर्देशों [1] में एक बार और संकलित हो जाते हैं । संकलन प्रक्रिया बहु-थ्रेडेड है और एक प्रदर्शन को बढ़ावा देने के लिए बहु-कोर का उपयोग कर सकती है।
और जब कोई एप्लिकेशन चल रहा होता है, तो कई अन्य प्रक्रियाएं और यांत्रिकी (जैसे कचरा कलेक्टर) होती हैं जो ऐप के साथ चलती हैं, या ऐप के समानांतर होती हैं। अधिक कोर सहायक प्रक्रियाओं को अधिक कुशलता से चलाने दे सकते हैं, साथ ही मुख्य ऐप भी।
1. यदि आप एक फ़ाइल प्रकार पहचानकर्ता का उपयोग करते हैं, तो आप पाएंगे कि "अनुकूलित" डेक्स फाइलें ईएलएफ प्रारूप में हैं, जबकि "तटस्थ" डीएक्स फाइलें सिर्फ अपने स्वयं के प्रारूप में हैं।

एक और कम कारण यह है कि एआरएम कोर एक इंटेल x86 चिप के रूप में तेजी से काम नहीं कर सकता है । इंटेल x86 माइक्रोआर्किटेक्चर को 1976 तक वापस किया जा सकता है, जब इंटेल 8086 चिप को डिजाइन करना शुरू किया गया था, जिसका अर्थ है कि x86 लंबे समय से विकसित हुआ है। एक एकल आधुनिक हाई-एंड एआरएम कॉर्टेक्स-ए 73 कोर केवल एक इंटेल क्लार्कडेल कोर के रूप में शक्तिशाली है, कोर i5-660 को एक उदाहरण ( GeekBench , सिंगल-कोर) के रूप में ले रहा है। ऐसा इसलिए है क्योंकि x86 CISC माइक्रोआर्किटेक्चर है जबकि ARM RISC हैसूक्ष्म-संरचना। आप निश्चित रूप से एक ऐसा फोन नहीं चाहते हैं जो केवल दो या इतने सक्रिय ऐप के साथ पिछड़ जाता है। अधिक कोर दबाव को राहत देने में मदद करेगा। यही कारण है कि दोहरे कोर SoCs केवल स्मार्ट घड़ियों पर अपेक्षाकृत लोकप्रिय हैं। स्मार्ट घड़ी पर प्रदर्शन की आवश्यकता किसे है?

दिलचस्प बात यह है कि अधिक कोर एक ही लोड पर एक कोर की तुलना में कम शक्ति का परिणाम देगा । सीपीयू आवृत्ति और बिजली की खपत के बीच संबंध रैखिक की तुलना में अधिक है, इसलिए दो बार आवृत्ति हमेशा दो बार से अधिक की मांग में परिणाम देगी, या यहां तक ​​कि 3x या 4x जितनी शक्ति होगी, जबकि दो बार से कम प्रदर्शन (कैश जैसी अन्य संसाधन सीमाओं के कारण) )। तो 4 कोर आसानी से एक ही भार पर एक कोर को हरा सकते हैं, बेहतर प्रदर्शन प्रदान करते हैं और साथ ही कम शक्ति की मांग करते हैं।

आगे की पढाई:


1
मुझे याद है कि कहीं न कहीं यह पढ़ना या देखना कि लिनक्स कर्नेल ने कई वर्षों पहले सुपर कंप्यूटर में फ़ोकस के साथ अच्छे मल्टी-कोर सपोर्ट पर काम किया था, और ये प्रयास "भविष्य में" (अब) स्मार्टफ़ोन के लिए एक तरह का उपयोगी साबित हुआ, जैसे " दुर्घटना "
Marc.2377

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

8
1976 का x86 सीपीयू पर दावा कुछ भ्रामक है। ARM कोर को 7 साल बाद 1983 में Acorn RISC मशीन परियोजना में वापस दिनांकित किया जा सकता है, और कुछ मायनों में नया होना एक फायदा है, Acorn ने कई चीजें सीखीं जो x86 और इसी तरह के CPU डिजाइनों के विकास के साथ गलत थीं और इसमें शामिल थीं एआरएम।
user1937198 22:12

2
इसके अलावा RISC बनाम CISC का इससे कोई लेना-देना नहीं है, Intel CPUs आंतरिक रूप से एक RISCish कोर चलाते हैं (uops)। वास्तविक अंतर आउट या ऑर्डर बनाम ऑर्डर निष्पादन में है।
user1937198

5
X86 चीज काफी ... गलत है। वे सुपरस्क्लेर चिप्स हैं, बुनियादी कार्यान्वयन कहीं भी उतना अच्छा नहीं होगा जितना कि अधिकांश एआरएम चिप्स में उपयोग की जाने वाली क्लासिक आरआईएससी पाइपलाइन। यह भी ध्यान देने योग्य है कि सुपर-स्केलर डिज़ाइनों के साथ कोर को जोड़ना आदेश निष्पादन और कैश पदानुक्रम के कारण बहुत कठिन है। कोई नहीं जानता था कि वे क्या याद कर रहे थे, इसलिए इसके लिए वास्तव में कोई मांग नहीं थी। यदि आप कुछ नए आईटीआर का परिचय नोटिस करते हैं, तो वे उच्च कोर गिनती चिप्स में नहीं हैं - वे ब्रॉडवेल पर हैं, ऐसा इसलिए है क्योंकि उन्होंने सिंक सामान को अंतरिक्ष से बाहर कर दिया है।
एलेक चैले

15

कारण उतना ही सरल है जितना जटिल।

संक्षिप्त उत्तर है "क्योंकि मोबाइल फोन बाजार कभी भी इंटेल द्वारा संचालित नहीं किया गया है"।

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

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

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

इसके बजाय, अंत में, मोबाइल बाजार ने कभी इंटेल की सफलता नहीं देखी; इसके विपरीत, वास्तव में, जैसा कि अधिकांश समय होता है कि इंटेल सामान्य X86 वास्तुकला से कुछ अलग करने की कोशिश करता है। इसलिए, कमी बाजार के प्रभाव और नियंत्रण की है, अन्य सीपीयू निर्माता उस दिशा में चले गए हैं जो पीसी बाजार के बाहर उम्र के लिए सामान्यता रहा है: समानांतर कंप्यूटिंग।


12
क्या आप वाकई सही प्रश्न का उत्तर दे रहे हैं ?
इगुन

7
@ आईबग यह उत्तर ओपी के प्रश्न पर स्वीकृत उत्तर से बेहतर है। स्वीकृत उत्तर वह है जो सही प्रश्न का उत्तर नहीं दे रहा है।
हारून

6
"सीपीयू की कीमतों को कृत्रिम रूप से बढ़ाना" -> अगर इंटेल कृत्रिम रूप से कीमतों में वृद्धि कर रहा था, तो उनकी प्रतिस्पर्धा समान कीमत वाले हार्डवेयर का उपयोग क्यों करती है और एआरएम संचालित कंप्यूटर इंटेल हार्डवेयर की तुलना में इतना कठिन क्यों चूसते हैं ? यह बुद्धि-द्वेष हास्यास्पद है। सीपीयू बनाना कठिन है । मोबाइल उपकरणों के बीच एआरएम को इतना लोकप्रिय बनाने वाली बात बड़ी थी। आईटेल से पहले उन्होंने कुछ सोचा था।
टी। सर

6
इंटेल पीसी चिप बाजार को नियंत्रित नहीं करता है और कई वर्षों से नहीं है। और कारण चिप डिजाइनर तेजी से घड़ियों से अधिक कोर में स्थानांतरित कर दिया है कि तेजी से घड़ियों कुछ मौलिक भौतिक सीमाओं को मार रहे थे। अधिक कोर को हल करने के लिए एक बहुत कठिन समस्या थी, इसलिए उन्होंने इसे तब तक बंद रखा जब तक यह बढ़ते प्रदर्शन को बनाए रखने के लिए सबसे प्रभावी तरीका था।
केविन क्रुमविडे

6
यह बुराई इंटेल कॉर्पोरेशन के बारे में एक शेख़ी के रूप में अधिक है, जो कि एआरएम के रूप में अच्छी तरह से लाइसेंस के साथ स्वतंत्र चिप निर्माताओं के शिकंजा के बाद से आईएमओ अच्छी तरह से योग्य नहीं है।
दिमित्री ग्रिगोरीव

9

दो कारक चल रहे हैं, एक बहुत ही व्यावहारिक और दूसरा ऐतिहासिक।

व्यावहारिक कारण फोन में मिश्रित आर्किटेक्चर का उपयोग है। फोन और फोन के लिए बिजली की खपत बहुत महत्वपूर्ण है, जहां वे बहुत कम प्रदर्शन की आवश्यकता होती हैं। यह कम से कम बिजली की खपत के लिए कुछ कोर को अनुकूलित करने के लिए समझ में आता है जब कुछ कोर की आवश्यकता होने पर अधिकतम प्रदर्शन प्रदान करने के लिए अनुकूलित किया जाता है।

दूसरा कारण काफी हद तक ऐतिहासिक है। 2005 तक या तो, डेस्कटॉप सीपीयू सभी एकल कोर थे। डेस्कटॉप सीपीयू प्रदर्शन में सुधार ने लगभग विशेष रूप से एक कोर बनाने में शामिल किया जो संभव के रूप में प्रति सेकंड कई निर्देशों को निष्पादित कर सकता है। आज भी, बहुत सारे डेस्कटॉप सॉफ्टवेयर मल्टीपल कोर का पूरा फायदा नहीं उठा सकते हैं, कई लोग 8 कोर सीपीयू से अधिक कोर वाले 20% धीरज वाले सीपीयू को पसंद करेंगे।

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

समय के साथ, अधिक कोर का समर्थन करने के लिए बहुत अधिक डेस्कटॉप सॉफ़्टवेयर को पूरी तरह से अनुकूलित करने की उम्मीद है। जैसा कि होता है, इंजीनियरिंग ट्रेडऑफ डेस्कटॉप पर तेजी से कोर पर अधिक कोर का पक्ष लेना शुरू कर देंगे। जबकि कोर लगभग निश्चित रूप से अभी भी तेज हो जाएगा, आप 4 कोर सीपीयू पर 8 कोर सीपीयू पसंद करने वाले लोगों को देखना शुरू कर देंगे, भले ही प्रत्येक कोर 20% धीमा हो। चिप डिजाइनर बाजार का अनुसरण करेंगे।


5

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

स्रोत: स्नातक स्तर का कंप्यूटर आर्किटेक्चर पाठ्यक्रम।


सच कहा जा रहा है, कम फटने में कम्प्यूटेशनल पावर (यदि आप ऊर्जा से मतलब है ) प्रदान करने की क्षमता डेस्कटॉप के लिए भी महत्वपूर्ण है। यही कारण है कि उनके पास इंटेल चिप्स पर टर्बोबोस्ट है।
दिमित्री ग्रिगोरीव

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

आपने जो कहा, उससे मैं सहमत हूं, केवल यह बताना चाहता हूं कि फोन के लिए विशिष्ट वर्कलोड विशिष्ट नहीं है।
दिमित्री ग्रिगोरीव

2

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

दूसरा, आपके फोन पर पृष्ठभूमि में बहुत सारी चीजें चल रही हैं: स्वचालित अपडेट, विज्ञापन डाउनलोड, एंटीवायरस सॉफ़्टवेयर, जीएसएम मॉड्यूल का प्रबंधन, आदि। एक लैपटॉप पर, ये सभी कार्य मुश्किल से एक कोर को व्यस्त रखेंगे, लेकिन एआरएम कोर हैं यदि आप एक उत्तरदायी प्रणाली चाहते हैं, तो कम से कम शक्तिशाली, आप पृष्ठभूमि कार्यों के लिए समर्पित उन लोगों में से कम से कम कुछ करना चाहते हैं।

अंत में, वहाँ विपणन है। बहुत से उपयोगकर्ता यह आकलन करने में सक्षम नहीं हैं कि उन्हें 8 कोर से लाभ होगा या नहीं, लेकिन 8-कोर वाला स्मार्टफोन निश्चित रूप से 2 या एक कोर वाले की तुलना में अधिक महंगा लगता है।


2
मैं "एआरएम कोर बहुत कम शक्तिशाली हैं" की लाइन के साथ बयानों को देखता रहता हूं - इसका ठीक मतलब क्या है? उनके पास कम घड़ी है?
अब्दुल

2
@ अब्दुल प्रति सेकंड कम परिचालन। x86 चिप्स एक साथ कई ऑपरेशन को अंजाम दे सकते हैं, इसलिए वे एआरएम को समान घड़ी की गति के लिए भी बेहतर बनाते हैं। की जाँच करें इस तुलना : शीर्ष एआरएम चिप (GT-I9100) के बारे में 10 बार शीर्ष 86 चिप (i7-2920XM) की तुलना में धीमी है।
दिमित्री ग्रिगोरिव

"ऑपरेशन प्रति सेकंड" FLOPS का पर्याय है?
अब्दुल

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

Android एप्लिकेशन जावा वर्चुअल मशीन पर नहीं चलते हैं। वे
दलिक

1

अब तक के जवाब इस समस्या के कुछ पहलुओं की व्याख्या करते हैं, जो एंड्रॉइड फोन पर सीपीयू कोर की इस भारी संख्या के लिए प्रमुख हैं। फिर से पढ़ें; Android फोन। IPhone उम्र के लिए सिर्फ कुछ कोर के लिए अटक गया है और अभी भी किसी भी एंड्रॉइड फ्लैगशिप की तुलना में बहुत अधिक चिकनी करता है।

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

JVM अपने आप में केवल एक विनिर्देश है और जब तक यह इस युक्ति का पालन करता है तब तक लोग अपने स्वयं के JVM को विकसित करने के लिए स्वतंत्र हैं। मूल Android JVM को Dalvik कहा जाता था। आजकल की जगह Google ने ART।

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

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

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

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


यह एक अच्छा स्पष्टीकरण है कि मोबाइल फोन डेस्कटॉप की तुलना में अधिक शक्तिशाली क्यों हैं। या वे नहीं हैं?
मौर्टिनस

"यह निर्माताओं को किसी भी हार्डवेयर को फेंकने की अनुमति देता है जिसे वे आवेदन संगतता के बारे में चिंता करने की आवश्यकता से पहले चाहते हैं।" - अच्छी बात है, लेकिन मुझे यकीन नहीं है कि यह कैमरों के लिए (मूल रूप से) एक सिस्टम का इरादा था।
v6ak

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

"एंड्रॉइड डिवाइस की शुरुआती पीढ़ी लैगिंग, क्रैश और कई अन्य दुर्भाग्यपूर्ण चीजों के लिए प्रसिद्ध थी" - मुझे याद है कि ऐसे फोन (एक्सपीरिया मिनी प्रो) पर मार्शमैलो चलाना है, और मुझे लगता है कि सीपीयू की तुलना में धीमा होने के लिए कई अन्य कारण हैं। वे कम रैम पर चलते थे, जिसमें एमटीडी (कुछ ऑपरेशन के लिए माइक्रोएसडी कार्ड की तुलना में धीमा) जैसे पुराने फ्लैश डिवाइस थे, पुराने एंड्रॉइड में कम कुशल "जेवीएम" (जो तकनीकी रूप से एक जेवीएम नहीं था)। निश्चित रूप से, बेहतर सीपीयू भी मदद करता है, लेकिन मैं इस तरह के निष्कर्ष से दूर रहूंगा।
v6ak

इसके अलावा, यूआई थ्रेड में I / O (या अन्य लंबे ऑपरेशन) करने जैसी प्रोग्रामिंग शैली सीपीयू प्रदर्शन की परवाह किए बिना ऐप्स को सुस्त बना सकती है। AFAIK, शुरुआती Android ऐप्स में यह शैली काफी आम है। इस तरह के ऐप आधुनिक फोन से भी पिछड़ सकते हैं। वे शायद कम सुस्त होंगे, लेकिन यह तेजी से सीपीयू या अधिक कोर की तुलना में तेज फ्लैश मेमोरी के कारण है।
v6ak

0

उपरोक्त सभी को फिर से शुरू करते हुए, मैं कह सकता हूं कि पीसी और फोन के उपयोग के मामले काफी भिन्न हैं। पीसी ज्यादातर बार एकल या युगल ऐप्स में उपयोग किया जाता है (निश्चित रूप से ब्राउज़र के टैब के साथ कई सीपीयू कोर की आवश्यकता होती है, यहां तक ​​कि शीर्ष i-3 पर भी पिछड़ सकता है), मल्टीटास्क के लिए उपयोग किए जाने वाले फोन। कम से कम नेटवर्क कनेक्शन, यूआई ड्रा, सिस्टम ट्रिगर्स, नोटिफिकेशन। यदि आप पीसी पर टास्क मैनेजर खोलते हैं तो कई प्रक्रियाएं भी होती हैं, लेकिन वे पुराने कोर 2 जोड़ी पर भी कुछ% से कम सीपीयू बिजली का उपयोग करते हैं। 4 कोर बहुत सस्ता है (एमटीके 65x2 की कीमत ओईएम के लिए शुरू में $ 1 थी) यह भी कोर बनाम प्रदर्शन पर अंतिम कमी होने पर रिस्क बनाम सीआईएससी है। ऊर्जा कुशल! = शक्तिशाली, जैसा कि हम यहां देख सकते हैं । मल्टी-कोर मोबाइल के लिए एकदम सही है, क्योंकि कोई भी गंभीर भारी चलने वाला भार नहीं है, और बहु-कार्य का अनुभव है (लेकिन हम देख सकते हैं कि अच्छे सॉफ्टवेयर के कारण iPhones को कम कोर और रैम की आवश्यकता होती हैइस वीडियो या अन्य की तरह )


इनमें से कई अक्सर लैपटॉप पर भी किए जाते हैं। और मल्टीटास्किंग में सीपीयू-डिमांडिंग होना जरूरी नहीं है। विनिर्माण लागत में अंतर कुछ अंतर पैदा कर सकता है और कम सीपीयू के लिए कम कोर के लिए एक कारण हो सकता है, लेकिन मुझे संदेह है कि विनिर्माण लागत एकमात्र कारण है, क्योंकि सभी i7 में कम से कम चार कोर नहीं हैं। मेरा मानना ​​है कि विनिर्माण लागत उन सीपीयू की कीमत का एक छोटा अंश है।
v6ak

@ v6ak, समस्या यह है कि x86 कोर बड़ा और अधिक जटिल है, intell (या amd) से सीपीयू सिर्फ शीर्ष मॉडल होने के लिए पर्याप्त अच्छे नहीं हैं। वास्तव में, उनमें से अधिकांश को कुछ हिस्सों को अवरुद्ध कर दिया जाता है और जूनियर i7 या पेंटियम बन जाते हैं। एआरएम कोर कम मुश्किल दिखता है इसलिए हर साल इतने सारे मॉडल नहीं आते हैं। फिर भी असली ऑक्टा कोर सैमसंग एक्सिनोस ऑक्टा 7 एक्सएक्सएक्स , एमटीके हेलियो एक्स 10 , लेटेस्ट (एक्स 30) यहां तक ​​कि छोटे (4)। मेडल (4) .BIG (2) का प्रस्ताव है, हम विज्ञापनों में उसे बता सकते हैं कि यह 10 कोर प्रोसेसर है, सस्ते मार्केटिंग। यह बात करता है
फ़्लिप्पी

-1

मुझे लगता है कि 4 या 8 (बड़े: छोटे विन्यास) से परे मुख्य ड्राइविंग कारकों में से एक इस समय सिर्फ विपणन है।

उच्च कोर गिनती की एक बड़ी समस्या है जब आप स्मृति के आकार पर विचार करते हैं। आम तौर पर डेस्कटॉप ऐप्स में जब आप कई कोर के उपयोग में सुधार करना चाहते हैं, तो आपको संरचनाओं को डुप्लिकेट करने और बहुत अधिक मेमोरी का उपयोग करने की आवश्यकता होती है, फिर एकल थ्रेडेड एप्लिकेशन में।

ऐसा नहीं होता है क्योंकि RAM बहुत महंगा है (विशेषकर 2017/2018 RAM संकट की स्थिति में)। विपणन उच्च संख्या चाहता है लेकिन नियंत्रण घटक कीमतों में कटौती करना चाहता है। यदि आप एक संतुलन देखते हैं जो प्रति कोर 1 गीगाबाइट रैम से कम है तो आप एक असफल समझौता देखते हैं।

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