2012-01-12 15 views
8

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

मैंने एक त्वरित खोज की लेकिन मुझे एक निश्चित बयान नहीं मिला कि विभिन्न एआरएम चिप्स के पास अलग-अलग निर्देश सेट हैं या नहीं।

मुझे लगता है कि मुख्य में वे वही हैं।

+1

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

उत्तर

6

सामग्री के नीचे बाईं ओर http://infocenter.arm.com एआरएम आर्किटेक्चर की तलाश में है। और उस संदर्भ मैनुअल के तहत। वहां एक एकल एआरएम एआरएम (एआरएम आर्किटेक्चर रेफरेंस मैनुअल) था, लेकिन परिवार उस बिंदु तक उभरा है जिसने इसे परिवारों में तोड़ना था।

एआरएम एआरएम आपको निर्देश सेट दिखाने जा रहे हैं। मुझे लगता है कि वे एआरएमवी 5 मैनुअल कहते हैं पुराना एआरएम एआरएम है। आपको एआरएम निर्देश (32 बिट) और अंगूठे निर्देश (16 बिट) मिलेगा। प्रत्येक निर्देश के लिए वे सूचीबद्ध करते हैं कि आर्किटेक्चर इसका समर्थन करता है, इसलिए आपको एक एआरएमवी 5 निर्देश दिखाई दे सकता है जो ARMv4 (ARMv4 a.k.a ARM7, लोकप्रिय ARM7TDMI कोर की तरह) द्वारा समर्थित नहीं है। अंगूठे निर्देश ARMv4T और नए, आदि द्वारा समर्थित हैं

तो कोर 32 बिट आर्म निर्देश सेट है जिसे आप समय-समय पर जोड़े गए नए निर्देशों और बग/प्रतिबंध तय किए गए (एलडीआर आर 0, [ आर 0] उदाहरण के लिए), आदि

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

यह जावा/जैज़ेल चीज़ है, वही कहानी कुछ कोरों के पास एक विकल्प के रूप में हो सकता है इसका मतलब यह नहीं है कि विक्रेता इसमें शामिल है।

अंगूठे निर्देश सेट में अंगूठे 2 एक्सटेंशन के कम से कम दो सेट। अंगूठे 2 एक्सटेंशन से पहले अंगूठे के निर्देश सभी 16 बिट थे और एक एआरएम निर्देश के लिए एक मैपिंग था, यह समझ में आता है कि आपको केवल एआरएम कोर की आवश्यकता है, डीकोडर छोटे निर्देश से एआरएम निर्देश में अनुवाद करता है और कोर को फ़ीड करता है। सभी निर्देश शाखा को छोड़कर 16 बिट हैं, और यदि आप उस पैटर्न को देखते हैं तो आप दो अलग-अलग 16 बिट निर्देशों के रूप में आसानी से डीकोड कर सकते हैं। यदि आप केवल अंगूठे निर्देश http://github.com/dwelch67/thumbulator के साथ खेलना चाहते हैं तो मेरे पास एक सिम्युलेटर बीटीडब्ल्यू है। तो फिर वे एआरएम 7TDMI का उपयोग करके और चिप आकार और शक्ति का उपभोग करने के बजाए अपने माइक्रोक्रोनरोलर को छोटे से पेश करने का निर्णय लेते हैं, थंब 2 सक्षम प्रोसेसर केवल अंगूठे हैं, वे 32 बिट एआरएम निर्देशों का समर्थन नहीं करते हैं, कोई एआरएम कोर नहीं है जो थंब निर्देश नए कोर का अनुवाद किया जाता है। एआरएमवी 6-एम उर्फ ​​कॉर्टेक्स-एम 0 और कॉर्टेक्स-एम 1 अंगूठे निर्देश सेट लेते हैं और एआरएम में प्रदर्शन अंतर को बंद करने के लिए कुछ 32 बिट निर्देश जोड़ते हैं (अंगूठे छोटे हां थे, लेकिन अगर आप एक ही कोड को संकलित करते हैं तो एआरएम से थोड़ा धीमा दोनों, अंगूठे का उपयोग करने के लिए मेरे प्रयोगों से 10-20% अधिक निर्देशों की तरह लिया गया)। सिद्धांत थंब -2 (एआरएमवी 7-एम) एआरएम से बेहतर प्रदर्शन करता है जब आप उनकी तुलना कर सकते हैं। किसी भी कारण से कॉर्टेक्स-एम 3 पहले आया था जो एआरएमवी 7-एम है और अंगूठे निर्देश सेट में 32 बिट थंब 2 निर्देशों का एक गुच्छा है। मैंने हाल ही में गिना और एआरएमवी 6-एम 20 की तरह जोड़ा, एआरएमवी 7-एम को बेस अंगूठे निर्देश सेट में 140-150 निर्देश जोड़े गए हैं। thumb2 मूल रूप से परिवर्तनीय शब्द लंबाई है। और फिर केवल कॉर्टेक्स-एम श्रृंखला पर चलता है।इसे देखकर यह लगभग अंगूठे के नाम पर एआरएम निर्देश सेट फिर से बनाया गया है। पूरी तरह से नहीं, लेकिन आप निर्देशों की तरह बहुत सारी भुजा वापस लेते हैं, दो के बजाय तीन रजिस्टर, उच्च रजिस्टरों तक पहुंचने और तत्काल उपयोग करने में सक्षम होने के कारण। यह क्या होता है एआरएम और अंगूठे/अंगूठे 2 दोनों के लिए संकलित एएसएम लिखने की इच्छा है। तो वे एक एकीकृत वाक्यविन्यास के साथ आया था। आप

add r0,r1 

की तरह एक निर्देश लिख सकते हैं तो अंगूठे के लिए कोडांतरण, कि शिक्षा है, अगर बांह के लिए संयोजन वे इसे

add r0,r0,r1 
आप के लिए

करने के लिए, किसी भी वाक्यविन्यास त्रुटियों के बजाय परिवर्तित कर देंगे। आपको यह निर्दिष्ट करना होगा कि आप कम से कम gnu binutils assembler (गैस) के साथ एकीकृत सिंटैक्स का उपयोग कर रहे हैं।

दस्तावेजों का एक समान रूप से महत्वपूर्ण सेट तकनीकी संदर्भ मैनुअल है, infocenter.arm.com पर भी। प्रत्येक कोर में एक ट्राम होता है, वास्तव में प्रत्येक कोर के प्रत्येक संशोधन में एक टीआरएम होता है। इसके अलावा प्रत्येक संशोधन के लिए एल 2 कैश जैसे अतिरिक्त लागत वाले सामानों का अपना टीआरएम होता है। कोर विक्रेता को खरीदा/उपयोग किया जाने वाला मूल पता लगाना महत्वपूर्ण है और यदि संभव हो तो संशोधन (rev 2.0 r2p0, rev 1.0 r1p0, आदि) क्योंकि प्रोग्रामिंग मतभेद हैं और साथ ही उनके बीच इरेटा अंतर भी हैं (संदर्भ के रूप में लिनक्स पर भरोसा न करें! , यह एक बड़ी गड़बड़ है, हर बार जब मैं एक और कंपनी को देखता हूं तो पूरी तरह गलत समझा जाता है और गलत/इरेटा मतभेदों को गलत तरीके से गलत तरीके से गलत तरीके से गलत तरीके से गलत तरीके से गलत तरीके से गलत किया जाता है)। कभी-कभी टीआरएम में निर्देश जानकारी शामिल होती है, या उस कोर पर समर्थन करने के लिए एक और स्पष्ट तस्वीर पेंट करता है और समर्थन नहीं करता है। एआरएम एआरएम सामान्य हैं वे पूरे परिवार या कोर के कई परिवारों को कवर करते हैं, जहां टीआरएम एक कोर के लिए बहुत विशिष्ट है। एआरएम एआरएम और टीआरएम के बीच भ्रमित करने का एक उदाहरण यह है कि एआरएम एआरएम को देखते हुए आपको यह धारणा मिल सकती है कि आप बीई -32 या बीई -8 बड़े एंडियन मोड का उपयोग कर सकते हैं, वास्तविकता यह है कि आपके पास या तो एक या अन्य एआरएमवी 6 है और नया बीई -8 है, अवधि, इसका उपयोग करें। एआरएमवी 5 और एआरएमवी 4 बीई -32 है या एआरएमवी 6 से पहले सिर्फ बड़े एंडियन कहा जाता है। मैं आपको सलाह देता हूं कि आप इससे क्या हासिल कर सकते हैं इसके बावजूद मैं हाथ पर बड़े एंडियन का उपयोग न करने की सलाह देता हूं। मूल मोड के साथ जाओ और आप स्वयं को एक टन काम और विफलता बचाएंगे। मैं व्यक्तिगत अनुभव से इसका उल्लेख करता हूं कि एआरएम एआरएम में वर्णित बिट्स ने जिस कोर का उपयोग कर रहा था उसमें काम नहीं किया था।

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

एआरएम आर्किटेक्चर के तहत लघु उत्तर infocenter.arm.com आपको उन निर्देशों के सेट के साथ-साथ विभिन्न निर्देश सेटों के साथ-साथ सुधार/जोड़ों का वर्णन करने वाले सभी दस्तावेज़ मिलते हैं।

+0

"सभी अंगूठे संस्करण" अंगूठे निर्देश सबसे पोर्टेबल हैं क्योंकि वे एआरएमवी 4 टी से कम से कम एआरएमवी 7 के माध्यम से काम करते हैं। मैंने अभी तक एआरएमवी 8 64 बिट को नहीं देखा है। –

2

निर्देश सेट, यूएएल, थंब और थंब 2 के कुछ सामान्य भिन्नताएं सबसे आम हैं। कुछ एआरएम कोर जिनमें विशेष हार्डवेयर (जैसे डीएसपी) होते हैं, भाषा भी बढ़ाते हैं।

2

नोप। निर्माता के बीच कोई अंतर नहीं है (निर्देश सेट के बारे में)। वे सभी एआरएम विनिर्देश का सम्मान करते हैं।

कुछ एक्सटेंशन एक वैकल्पिक। यह नीयन का मामला है।

लेकिन, जहां तक ​​मुझे पता है, केवल Tegra 2 में यह एक्सटेंशन शामिल नहीं है। यही कारण है कि, टेग्रा 2 वीडियो डिकोडिंग के लिए एक बहुत खराब प्रोसेसर है (उदाहरण के लिए)।

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