2012-05-17 19 views
24

के तहत "अंगूठे अनुदेश सेट" "ARM11TechnicalRefManual" की धारा 1-34 में यह कहा गया है कि:एआरएम थंब निर्देश सेट क्या है?

"अंगूठे अनुदेश सेट सबसे अधिक इस्तेमाल किया 32-बिट एआरएम instructions.Thumb निर्देश के एक सबसेट 16 बिट कर रहे हैं लंबे, और एक समान 32-बिट एआरएम निर्देश है जो प्रोसेसर मॉडल पर समान प्रभाव डालता है। "

क्या कोई इस बारे में और विशेष रूप से दूसरी वाक्य के बारे में और बता सकता है और कहता है कि प्रोसेसर इसे कैसे करता है?

उत्तर

29

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

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

ADDS R0, R1, R2 

एआरएम (E0910002/11,100,000 10,010,001 00000000 00,000,010) या अंगूठे (1888/00011000 10001000) संकलित किया जा सकता। बेशक, वे एक ही कार्य करते हैं (आर 1 और आर 2 जोड़ें और परिणाम को 0 तक स्टोर करें), भले ही उनके पास अलग-अलग एन्कोडिंग हों। यह का अर्थ है थंब निर्देश 16 बिट लंबे हैं, और 32-बिट एआरएम निर्देश है जो प्रोसेसर मॉडल पर समान प्रभाव डालता है।

प्रत्येक * थंब एन्कोडिंग में निर्देश एआरएम में एक समान एन्कोडिंग भी है, जिसका अर्थ "सबसेट" वाक्य से है।


*: सख्ती से सही नहीं है, वहाँ नहीं एआरएम में "आईटी" अनुदेश, हालांकि एआरएम की जरूरत नहीं है "आईटी" वैसे भी (यह कोडांतरक द्वारा नजरअंदाज कर दिया जाएगा) है।

+17

मूल थंब-निर्देश सेट में केवल 16-बिट निर्देश थे। थंब 2 ने मिश्रित 16/32 बिट निर्देश प्रस्तुत किए। थंब (1) एआरएम-निर्देश सेट का एक संकुचित संस्करण था। सीपीयू अंत में निर्देश पर एक "डिकंप्रेसर" सक्षम करेगा ताकि अंत में सीपीयू एआरएम-निर्देशों को संसाधित कर सके। एआरएम के लिए यह संभवतः वास्तविक कोर में छोटे बदलावों के साथ कोड आकार और आईसीएच-उपयोग पर ट्रिम करने के लिए एक त्वरित लेकिन सुरुचिपूर्ण हैक था। Thumb2 ने उल्लेख की गई "आईटी *" निर्देश और कुछ 32-बिट निर्देशों जैसी कई नई सुविधाएं शामिल की हैं। –

+0

किस पर दूसरे को पसंद किया जाता है? क्या हमें 32 बिट प्रोसेसर और थंब निर्देशों के लिए 16 बिट प्रोसेसर के लिए एआरएम निर्देशों का उपयोग करना है? – Rajesh

+0

@ राजेश AFAIK कोई "16-बिट एआरएम प्रोसेसर" नहीं है। यदि आप armv7 या ऊपर लक्षित कर रहे हैं तो अंगूठे का प्रयोग करें। – kennytm

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

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