एआरएम आर्किटेक्चर x86 से कैसे भिन्न है? [बन्द है]


192

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


37
जब तक x86 के पास ps / 2 पोर्ट नहीं है, जिसके बारे में मुझे नहीं पता है, यह गंदे अंडरवियर की जोड़ी की तुलना में कीबोर्ड के लिए नहीं बनाया गया है :-)
paxdiablo

6
मुझे लगता है कि कीबोर्ड भौतिक डिवाइस के विपरीत एक विशिष्ट पीसी की भूमिका का उल्लेख कर रहा है ।
आर्टलेस शोर

24
X86 को डिज़ाइन नहीं किया गया था; यह एक अजीब पक्षी के साथ एक द्वीप पर विकसित हुआ, जिसने हमेशा कुछ खाया जिसने उस पर प्रार्थना करने की कोशिश की। यह अब एक बतख बिल प्लैटिपस की तुलना में अजनबी दिखता है, और नए जानवरों से भरा जहाज के साथ आने पर अच्छा नहीं होगा।
ctrl-alt-delor 20

5
@richard - दुख की बात है, यह x86 का अब तक का सबसे ऐतिहासिक सटीक विवरण है। यह उद्योग के बारे में काफी कुछ कहता है।
लीर

6
@ लॉयर सॉरी मैंने अपनी टिप्पणी में एक छोटी सी गलती की, मैंने कहा कि पक्षी x86 के शिकारियों को खा गए, जहां उन्होंने उन्हें नहीं खाया, यह उन पर बैठ गया। यह भी ध्यान देने योग्य है कि पक्षी के नरम पंख जहां बहुत बहुत साफ हैं।
ctrl-alt-delor-Janor

जवाबों:


306

ARMएक है RISC जबकि (कम इंस्ट्रक्शन सेट कम्प्यूटिंग) वास्तुकला x86एक है CISC (परिसर इंस्ट्रक्शन सेट कम्प्यूटिंग) एक।

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

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

" क्या x86 आर्किटेक्चर विशेष रूप से एक कीबोर्ड के साथ काम करने के लिए डिज़ाइन किया गया है, जब एआरएम मोबाइल होने की उम्मीद करते हैं? " x86विशेष रूप से कीबोर्ड के साथ काम करने के लिए डिज़ाइन नहीं किया गया है और न ही ARMमोबाइल के लिए। हालांकि फिर से कोर वास्तुशिल्प विकल्पों की वजह से वास्तव में x86 के पास सीधे काम करने के निर्देश हैं, IOजबकि एआरएम नहीं है। हालाँकि, USB जैसे विशेष IO बसों के साथ, ऐसी विशेषताओं की आवश्यकता भी गायब हो रही है।

यदि आपको उद्धृत करने के लिए एक दस्तावेज की आवश्यकता है, तो यह कॉर्टेक्स-ए सीरीज प्रोग्रामर्स गाइड (4.0) आरआईएससी और सीआईएससी आर्किटेक्चर के बीच अंतर के बारे में बताता है:

एआरएम प्रोसेसर एक कम किया गया इंस्ट्रक्शन सेट कंप्यूटर (आरआईएससी) प्रोसेसर है।

जटिल निर्देश सेट कंप्यूटर (CISC) प्रोसेसर, x86 की तरह, एक एकल अनुदेश के साथ जटिल चीजें करने में सक्षम एक समृद्ध अनुदेश सेट है। ऐसे प्रोसेसर में अक्सर महत्वपूर्ण मात्रा में आंतरिक तर्क होते हैं जो आंतरिक निर्देशों (माइक्रोकोड) के अनुक्रम के लिए मशीन निर्देश को डिकोड करते हैं।

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

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

निर्देश सेट आर्किटेक्चर की तुलना करने वाला एक उदाहरण:

उदाहरण के लिए यदि आपको अपने अनुप्रयोग में किसी प्रकार के मेमोरी मेमोरी तुलना ब्लॉक की आवश्यकता होगी (संकलक, लंघन विवरण द्वारा उत्पन्न), तो यह है कि यह कैसा दिख सकता है x86

repe cmpsb         /* repeat while equal compare string bytewise */

जबकि पर ARMकम से कम रूप की तरह लग सकता है (त्रुटि आदि की जाँच के बिना)

top:
ldrb r2, [r0, #1]! /* load a byte from address in r0 into r2, increment r0 after */
ldrb r3, [r1, #1]! /* load a byte from address in r1 into r3, increment r1 after */
subs r2, r3, r2    /* subtract r2 from r3 and put result into r2      */
beq  top           /* branch(/jump) if result is zero                 */

जो आपको यह संकेत देना चाहिए कि RISC और CISC निर्देश सेट जटिलता में कैसे भिन्न हैं।


9
ARMv8-A में 64-बिट आर्किटेक्चर है, जिसे AArch64 कहा जाता है।
कियारास

9
यद्यपि x86 में कुछ बहुत शक्तिशाली निर्देश हैं, फिर भी हाथ इसे एक लड़ाई में हरा सकते हैं (यदि दोनों में एक ही घड़ी की गति हो)। यह आंशिक रूप से है क्योंकि हाथ में रजिस्टरों का एक अच्छा सेट है, जहां x86 अपने समय के 1/2 डेटा को रजिस्टरों के अपने सीमित सेट में और बाहर स्थानांतरित करता है (यह x86-64 का कम सच है, क्या यह अधिक रजिस्टर है )। और आंशिक रूप से क्योंकि आर्म की सादगी एक बड़े कैश के लिए जगह छोड़ती है, और इसमें सभी निर्देश सशर्त होते हैं (कैश कम याद आती है)। और आर्म के मूव मल्टीपल इंस्ट्रक्शन (केवल नॉन आरआईएससी इंस्ट्रक्शन), इसे डेटा को जल्दी स्थानांतरित करने की अनुमति देता है।
ctrl-alt-delor-Janor

4
मैं एआरएम कोड को तेजी से लिख सकता हूं, हालांकि अधिक रजिस्टरों का उपयोग करके बड़ा। अगर मैं इस क्रियान्वयन को देखता हूं तो x86 5 + 9 × N घड़ियां लेता है, ARM 4 × N घड़ियां लेते हैं (दोनों आंकड़े बिना कैश मिस के हैं)। इस उदाहरण पर निर्देश बाइट्स के लिए x86 स्कोर बेहतर है: x86 = 2 बाइट्स, आर्म = 16 बाइट्स। एआरएम अधिक यथार्थवादी परीक्षणों में इस मीट्रिक पर बहुत बेहतर स्कोर करता है, उदाहरण के लिए लूप आर 2 से बाहर निकलने पर जानकारी होगी कि क्या तार बराबर हैं / जो बड़ा है, इसलिए स्थिति कोड होंगे। हालत कोड की जाँच करने से पहले बांह अन्य निर्देश चला सकता है। स्थिति कोड की जाँच करते समय शाखा को शाखा में नहीं होना चाहिए।
ctrl-alt-delor

2
@JeremyFelix ऐसा लगता है कि यह stackoverflow.com/questions/13106297/… विभिन्न प्रकार के निर्देशों के लिए अलग-अलग पाइप हैं, यहां तक ​​कि डुप्लिकेट वाले भी हैं। सीपीयू निर्देश को सूक्ष्म निर्देशों में विभाजित करता है और वे पाइप लाइन के बीच समानांतर में चल सकते हैं।
अनुसेन

2
आप कहते हैं "जबकि x86 सीधे मेमोरी पर भी काम कर सकता है।" हालांकि x86 (पूर्व x86-64) के लिए, इसमें इतने कम रजिस्टर हैं कि कोई "समान" नहीं था, आपको मेमोरी में सब कुछ स्टोर करना था; एक कार्यक्रम में निर्देशों के बारे में जहां सिर्फ चीजों को स्थानांतरित करना है। जबकि एआरएम में डेटा को स्थानांतरित करने के लिए बहुत कम निर्देशों की आवश्यकता होती है।
ctrl-alt-delor

94

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

जहां तक ​​वास्तविक अंतर है: एआरएम में अधिक रजिस्टर हैं, इंटेल ने इसे जोड़ने से बहुत पहले अधिकांश निर्देशों के लिए समर्थन का समर्थन किया है, और लंबे समय तक सभी प्रकार की तकनीकों को शामिल किया है (उन्हें "ट्रिक" कहें, यदि आप चाहें तो) लगभग हर जगह बिजली बचाने के लिए।

वहाँ भी काफी अंतर है कि कैसे दो सांकेतिक शब्दों में बदलना है। इंटेल एक काफी जटिल वैरिएबल-लेंथ एन्कोडिंग का उपयोग करता है जिसमें एक निर्देश 1 से 15 बाइट तक कहीं भी रह सकता है। यह कार्यक्रमों को काफी छोटा करने की अनुमति देता है, लेकिन निर्देश को डिकोडिंग को अपेक्षाकृत कठिन बनाता है (जैसे: समानांतर में तेजी से डिकोडिंग निर्देश एक पूर्ण दुःस्वप्न की तरह अधिक होता है)।

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

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

स्थिति के आधार पर, सीपीयू की ऊर्जा खपत अक्सर इसकी बिजली की खपत से अधिक महत्वपूर्ण होती है। कम से कम जैसा कि मैं शर्तों का उपयोग कर रहा हूं, बिजली की खपत तात्कालिक आधार पर (कम या ज्यादा) बिजली के उपयोग को संदर्भित करती है। हालाँकि, ऊर्जा की खपत गति के लिए सामान्य होती है, इसलिए यदि (उदाहरण के लिए) CPU A काम करने के लिए 2 सेकंड के लिए 1 वाट की खपत करता है, और CPU B समान कार्य करने के लिए 1 सेकंड के लिए 2 वाट की खपत करता है, तो दोनों CPU एक ही कुल राशि का उपभोग करते हैं उस काम को करने के लिए ऊर्जा (दो वाट सेकंड) - लेकिन सीपीयू बी के साथ, आपको दो बार तेजी से परिणाम मिलते हैं।

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

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

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


इसीलिए ? RISC को अधिक RAM की आवश्यकता होती है, जबकि CISC में छोटे कोड के आकार पर जोर होता है और RISC की तुलना में कम RAM का उपयोग करता है
Waqar Naeem

अंगूठा मोड (कम लंबाई की अनुमति देने वाली चर लंबाई) कोई अंतर नहीं है ; यह है कि x86 हमेशा कैसे काम करता है (लेकिन moreso, निर्देश की लंबाई 1 से 15 बाइट्स से भिन्न होती है, और Thumb2 की तुलना में डिकोड करने के लिए बहुत कठिन है)। एआरएम मोड (3-ऑपरेंड गैर-विनाशकारी निर्देशों के साथ निश्चित चौड़ाई एन्कोडिंग) x86 से अंतर है!
पीटर कॉर्ड्स

बहुत तेज़ प्रोसेसर होने से बड़ी मदद नहीं मिलती है - वीडियो कॉन्फ्रेंसिंग एक बेहतर उदाहरण हो सकता है: कम विलंबता का मतलब है कि आप एक सभ्य आकार के बफर में डीकोडिंग का काम नहीं कर सकते हैं और गहरी या मध्यम स्तर की नींद की स्थिति में वापस जा सकते हैं। । "रेस टू स्लीप" एक निश्चित मात्रा के लिए ऊर्जा की खपत में एक महत्वपूर्ण अवधारणा है, यह देखते हुए कि आधुनिक सीपीयू महत्वपूर्ण शक्ति को बचा सकते हैं जब पूरी तरह से निष्क्रिय (घड़ी बंद हो जाती है, या यहां तक ​​कि कोर के कुछ हिस्सों को बिजली देने लगती है। या गहरी नींद में भी, कैश)। लिखने के बाद वापस।) ... और यह वह बिंदु है जिसे आप अगले पैराग्राफ में बनाते हैं। >। <
पीटर कॉर्ड्स

@PeterCordes: अंगूठे मोड एन्कोडिंग x86 एन्कोडिंग की तरह ज्यादा नहीं है। यद्यपि यह एआरएम एन्कोडिंग के रूप में काफी नियमित नहीं है , यह अभी भी बहुत अधिक निश्चित प्रारूप है। घनत्व में वृद्धि काफी हद तक बिट्स को नष्ट करने से होती है जो केवल एआरएम एन्कोडिंग में शायद ही कभी उपयोग किए जाते हैं। उदाहरण के लिए, वस्तुतः सभी एआरएम निर्देश सशर्त होते हैं, लेकिन शर्तों का उपयोग केवल समय के काफी कम प्रतिशत के लिए किया जाता है (इसलिए सबसे गैर-शाखा THUMB निर्देश बिना शर्त के हैं)।
जेरी कॉफिन

@PeterCordes: आप सही हैं: वीडियो कॉन्फ्रेंसिंग एक बेहतर उदाहरण है - मैंने इसे संपादित किया है। धन्यवाद।
जेरी कॉफिन

39

जेरी कॉफिन के पहले पैराग्राफ के लिए अतिरिक्त । यानी, एआरएम डिजाइन कम बिजली की खपत देता है।

कंपनी ARM, केवल सीपीयू तकनीक का लाइसेंस देती है। वे भौतिक चिप्स नहीं बनाते हैं। यह अन्य कंपनियों को विभिन्न परिधीय तकनीकों को जोड़ने की अनुमति देता है, जिसे आमतौर पर एसओसी या सिस्टम-ऑन-चिप कहा जाता है । चाहे डिवाइस टैबलेट हो, सेल फोन हो या फिर इन-कार एंटरटेनमेंट सिस्टम। यह चिप विक्रेताओं को एक विशेष एप्लिकेशन के लिए चिप के बाकी हिस्सों को दर्जी करने की अनुमति देता है। इसके अतिरिक्त लाभ हैं,

  1. कम बोर्ड लागत
  2. कम शक्ति (नोट 1)
  3. आसान निर्माण
  4. छोटा रूप कारक

ARMएएमबीए के साथ एसओसी विक्रेताओं का समर्थन करता है , जिससे एसओसी कार्यान्वयनकर्ताओं को शेल्फ 3 पार्टी मॉड्यूल को खरीदने की अनुमति मिलती है; एक ईथरनेट, मेमोरी और इंटरप्ट कंट्रोलर की तरह। कुछ अन्य CPU प्लेटफ़ॉर्म इसका समर्थन करते हैं, जैसे MIPS , लेकिन MIPS शक्ति के प्रति जागरूक नहीं है।

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

Open sourceटूल सेट के उदय और operating systemsविभिन्न SOCचिप्स की सुविधा भी । एक बंद संगठन में एआरएम के लिए उपलब्ध सभी विभिन्न उपकरणों का समर्थन करने की कोशिश करने वाले मुद्दे होंगे। दो सबसे लोकप्रिय सेलुलर प्लेटफॉर्म एंड्रॉइड और ओएसएक्स / आईओएस, लिनक्स और फ्रीबीएसडी, मच और नेटबीएस ओएस पर आधारित हैं । विक्रेताओं को अपने चिप सेट के लिए सॉफ़्टवेयर समर्थन प्रदान करने में Open Sourceमदद करता है SOC

उम्मीद है, कीबोर्ड के लिए x86 का उपयोग स्वयं-स्पष्ट क्यों है। यह सॉफ्टवेयर है, और अधिक महत्वपूर्ण बात यह है कि लोगों को उस सॉफ्टवेयर का उपयोग करने के लिए प्रशिक्षित। नेटविंदर एक प्रणाली है जिसे मूल रूप से कीबोर्ड के लिए डिज़ाइन किया गया था । इसके अलावा, निर्माता वर्तमान में सर्वर बाजार के लिए ARM64 को देख रहे हैं। 24/7 डेटा केंद्रों पर बिजली / गर्मी एक चिंता का विषय है।ARM

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

नोट 1: कई चिप्स को ज्ञात वोल्टेज और ड्राइव पर अंतर-संचार करने के लिए बस ड्राइवरों की आवश्यकता होती है। इसके अलावा, आमतौर पर अलग-अलग चिप्स को सपोर्ट कैपेसिटर और अन्य पावर घटकों की आवश्यकता होती है, जिन्हें एसओसी सिस्टम में साझा किया जा सकता है।


22

एआरएम एक इतालवी स्पोर्ट्स कार की तरह है:

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

X86 एक अमेरिकी मांसपेशी कार की तरह है:

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

संक्षेप में: x86 1974 से एक डिजाइन पर आधारित है और एक सीधी रेखा में अच्छा है (लेकिन बहुत सारे ईंधन का उपयोग करता है)। हाथ थोड़ा ईंधन का उपयोग करता है, कोनों (शाखाओं) के लिए मंदी नहीं करता है।


रूपक खत्म, यहाँ कुछ वास्तविक अंतर हैं।

  • आर्म में अधिक रजिस्टर हैं।
  • आर्म में कुछ विशेष उद्देश्य रजिस्टर हैं, x86 सभी विशेष उद्देश्य रजिस्टर हैं (इसलिए चारों ओर कम चलती सामग्री)।
  • आर्म में कुछ मेमोरी एक्सेस कमांड हैं, केवल लोड / स्टोर रजिस्टर।
  • आर्म आंतरिक रूप से हार्वर्ड वास्तुकला मेरा डिजाइन है।
  • बांह सरल और तेज है।
  • आर्म निर्देश आर्किटेक्चरली सिंगल साइकल (लोड / स्टोर को छोड़कर) हैं।
  • आर्म निर्देश अक्सर एक से अधिक काम करते हैं (एक चक्र में)।
  • जहाँ अधिक एक आर्म निर्देश की आवश्यकता होती है, जैसे कि x86 का लूपिंग स्टोर और ऑटो-इंक्रीमेंट, आर्म अभी भी कम घड़ी चक्रों में करता है।
  • आर्म में अधिक सशर्त निर्देश हैं।
  • शाखा शाखा भविष्यवाचक तुच्छ सरल है (यदि बिना शर्त या पीछे की ओर है तो शाखा मान लें, अन्यथा शाखा नहीं मानें), और बेहतर प्रदर्शन करता है कि x86 में बहुत बहुत जटिल एक (इसे समझने के लिए यहां पर्याप्त स्थान नहीं है, ऐसा नहीं है कि मैं नहीं कर सकता )।
  • आर्म में एक सरल सुसंगत निर्देश सेट है (आप हाथ से संकलन कर सकते हैं, और निर्देश सेट जल्दी सीख सकते हैं)।

7
यह सादृश्य इस तथ्य पर टूटता है कि एआरएम सीपीयू नहीं होने पर इतालवी स्पोर्ट्स कारें हर पल उन्हें तोड़ सकती हैं, और यह कि यह आसानी से किया जा सकता है, आप वास्तव में एक एकल एआरएम सीपीयू नहीं खरीद सकते हैं जो डेस्कटॉप सीपीयू गति कर सकते हैं , अकेले ही सॉकेट वाले और
मेनबोर्ड

1
प्रदर्शन के लिहाज से यह सीधे तौर पर कुछ सबसे बड़े / तेज एक्सॉन प्रोसेसर (जैसे E5-2690 v3) के साथ प्रतिस्पर्धा करता है, लेकिन कम बिजली, लागत पर। quora.com/…
ctrl-alt-delor-

1
डेटाबेस और आई / ओ सर्वर जैसे बड़े पैमाने पर समानांतर कार्यभार के लिए, निश्चित रूप से। एकल-थ्रेडेड प्रदर्शन के लिए, किसी ने भी एआरएम कोर को x86 जितना बड़ा नहीं बनाया है। कोई कारण नहीं कि वे नहीं कर सकते, बस किसी के पास नहीं है। बिजली और डाई क्षेत्र पर "x86 टैक्स" उच्च-शक्ति सीपीयू कोर में आउट-ऑफ-ऑर्डर मशीनरी के लिए उपयोग किए जाने वाले सिलिकॉन की मात्रा की तुलना में बड़ा नहीं है। निश्चित रूप से x86 में मौसा होते हैं, लेकिन RISC में कोड-घनत्व का नुकसान होता है (जो आमतौर पर ज्यादा मायने नहीं रखता है, लेकिन यह अभी भी मायने रखता है)। यह realworldtech.com फ़ोरम पर बार-बार तर्क दिया जाता है ।
पीटर कॉर्ड्स

1
@richard: बहुत सारी चीजें हैं जिनकी आपको "आवश्यकता" नहीं है, लेकिन इससे कोड घनत्व बढ़ जाता है। चाल कोड आकार / निर्देशों की संख्या के खिलाफ डिकोड जटिलता को संतुलित कर रही है। आउट-ऑफ-ऑर्डर कोर की चौड़ाई बढ़ाना बिजली की खपत में बेहद महंगा है, इसलिए प्रत्येक निर्देश में अधिक काम पैक करना मूल्यवान है। डिकोड जटिलता में एक छोटी वृद्धि बहुत सस्ती है। आधुनिक x86 CPU पहले से ही x86 को जल्दी से डिकोड करने का प्रबंधन करते हैं। (बहुत जल्दी ऊप-कैश या लूप बफर के बजाय डिकोडर्स से खिलाए गए 4-वाइड ओओओ कोर को रखने के लिए पर्याप्त नहीं है, और निश्चित रूप से उच्च शक्ति लागत पर।)
पीटर कॉर्ड्स

3
@ Evi1M4chine, यह इस तथ्य पर भी टूटता है कि एक इतालवी स्पोर्ट्स कार बेहद महंगी है, जबकि एक अमेरिकी मांसपेशी कार अपेक्षाकृत सस्ती है। और मांसपेशियों की कार क्या है क्योंकि यह सरल है, जबकि फेरारी की तरह कुछ बहुत जटिल है। CISC बनाम RISC के विपरीत
लोरेंजो डेमेटे

15

एआरएम आर्किटेक्चर मूल रूप से एकोर्न पर्सनल कंप्यूटरों के लिए डिज़ाइन किया गया था (देखें एकोर्न आर्किमिडीज़ , लगभग 1987, और आरएसएसपीसी ), जो कि x86 आधारित आईबीएम पीसी मॉडल के समान ही कीबोर्ड-आधारित व्यक्तिगत कंप्यूटर थे। केवल बाद में एआरएम कार्यान्वयन को मुख्य रूप से मोबाइल और एम्बेडेड मार्केट सेगमेंट पर लक्षित किया गया था।

मूल रूप से, लगभग बराबर प्रदर्शन के सरल RISC CPU को इंटेल पर x86 के विकास पर काम करने वालों की तुलना में बहुत छोटी इंजीनियरिंग टीमों ( बर्कले RISC देखें ) द्वारा डिज़ाइन किया जा सकता है ।

लेकिन, आजकल, सबसे तेज़ एआरएम चिप्स में बहुत जटिल बहु-मुद्दे आउट-ऑफ-ऑर्डर निर्देश प्रेषण इकाइयां हैं जो बड़ी इंजीनियरिंग टीमों द्वारा डिज़ाइन की गई हैं, और x86 कोर में कुछ ऐसा हो सकता है जैसे कि RISC कोर एक अनुदेश अनुवाद इकाई द्वारा खिलाया जाता है।

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


अभी भी बड़े पैमाने पर वास्तु अंतर हैं। हालांकि इंटेल ने एक अद्भुत काम किया है और पैसे का एक शेड लोड किया है, जिससे खराब तरीके से तैयार किए गए सीपीयू को बहुत अच्छी तरह से चलाया जा सकता है (एक आश्चर्य यह है कि क्या किया जा सकता था, अगर यह सभी प्रयास एक अच्छी तरह से आर्किटेक्चर वाले सीपीयू में डाल दिए गए थे)।
ctrl-alt-delor
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.