BMI2
BMI2 स्केलर x86 बिट और इंटीजर ऑपरेशन्स जोड़ता है जैसे कि पैरेलल बिट डिपॉजिट/एक्सट्रैक्ट, वेरिएबल शिफ्ट्स और फ़्लैग-स्वतंत्र मल्टिप्लिकेशन। यह BMI1 से अलग है।
आपको क्या जानना चाहिए
BMI2 स्केलर x86 बिट और इंटीजर ऑपरेशन्स जोड़ता है जैसे कि पैरेलल बिट डिपॉजिट/एक्सट्रैक्ट, वेरिएबल शिफ्ट्स और फ़्लैग-स्वतंत्र मल्टिप्लिकेशन। यह BMI1 से अलग है।
यह कैसे काम करता है
PEXT चयनित इनपुट बिट्स को एक घने लो-ऑर्डर परिणाम में इकट्ठा करता है; PDEP लो-ऑर्डर इनपुट बिट्स को मास्क द्वारा चुने गए स्थानों पर बिखेरता है। अन्य BMI2 निर्देशों में BZHI, MULX, RORX, SHLX, SHRX और SARX शामिल हैं। VEX एन्कोडिंग का उपयोग करने के बावजूद ये स्केलर इंटीजर रजिस्टर्स पर काम करते हैं।
यह कहाँ उपयोगी है
एक कॉम्पैक्ट बोर्ड प्रतिनिधित्व या बिटफ़ील्ड कोडेक घने और विरल बिट लेआउट के बीच मैप करने के लिए PEXT/PDEP का उपयोग कर सकता है। उनकी निष्पादन लागत कार्यान्वयनों के बीच काफी भिन्न होती है, इसलिए किसी एल्गोरिदम को यह मानने के बजाय कि एक छोटा निर्देश अनुक्रम तेज़ है, प्रतिनिधि इनपुट्स का बेंचमार्क करना चाहिए।
सपोर्ट और सक्षमता की जांच कैसे करें
CPUID.07H.00H:EBX बिट 8 BMI2 को एन्यूमरेट करता है। वास्तव में उपयोग किए जाने वाले निर्देशों के लक्ष्य-विशिष्ट प्रदर्शन की जाँच करें और डिस्पैच को असमर्थित सुविधाओं की आवश्यकता के लिए संकलित कोड से बाहर रखें।
पड़ोसी एक्सटेंशन से सपोर्ट का अनुमान लगाने के बजाय सटीक निर्देश और ऑपरेंड फॉर्म की जांच करें। स्केलर पूर्णांक सुविधाएं आम तौर पर सामान्य-उद्देश्य रजिस्टरों का उपयोग करती हैं; वैक्टर से जुड़े एन्कोडिंग का स्वचालित रूप से यह अर्थ नहीं है कि वेक्टर-स्टेट की आवश्यकता है।
यह सुविधा क्या स्थापित नहीं करती है
BMI2 कोई AVX वेक्टर एक्सटेंशन नहीं है और केवल इसलिए YMM स्टेट की आवश्यकता नहीं रखता क्योंकि एन्कोडिंग VEX है। यह ADX या BMI1 को स्थापित नहीं करता है। MULX और पारंपरिक मल्टिप्लिकेशन रजिस्टर और फ़्लैग व्यवहार में भिन्न होते हैं।
व्यवहार में अनुकूलता और प्रदर्शन
सटीकता गति के साथ-साथ एज केस पर भी निर्भर करती है। शून्य इनपुट, ओवरफ्लो, कैरी फ्लैग, ऑपरेंड चौड़ाई, संरेखण और मेमोरी ऑर्डरिंग सिमेंटिक्स को बदल सकते हैं। उन कंपाइलर या लाइब्रेरी इंटरफेस को प्राथमिकता दें जो इन विवरणों का दस्तावेजीकरण करते हैं और एक समर्थित फ़ॉलबैक प्रदान करते हैं।
एक व्यावहारिक सत्यापन चेकलिस्ट
- शामिल सटीक प्रोसेसर या प्लेटफ़ॉर्म मॉडल और एप्लिकेशन, OS और रनटाइम संस्करणों को रिकॉर्ड करें। वास्तविक त्रुटि या आवश्यकता के शब्दों को सुरक्षित रखें।
- उस सटीक मॉडल के लिए निर्माता संदर्भ की जांच करें, फिर उस परिवेश में प्रभावी क्षमता और सक्षम स्थिति का निरीक्षण करें जहां प्रोग्राम चलता है।
- चयनित बाइनरी या बैकएंड की प्रत्येक आवश्यकता की तुलना करें। समान नाम वाली सुविधा, उपनाम या व्यापक तकनीक लेबल पर्याप्त नहीं है।
- पुष्टि करें कि एप्लिकेशन ने इच्छित कार्यान्वयन का चयन किया है। आवश्यकताएं पूरी न होने पर इसके दस्तावेजीकृत डायग्नोस्टिक्स और समर्थित फ़ॉलबैक का उपयोग करें।
- एक समय में एक समर्थित परिवर्तन करें और वही कार्यभार दोहराएं। मूल कॉन्फ़िगरेशन और पुनर्प्राप्ति पथ उपलब्ध रखें।
यदि सुविधा सूचीबद्ध है लेकिन सॉफ़्टवेयर इसका उपयोग नहीं कर सकता है
सटीक रूप से विफल घटक से शुरुआत करें। हार्डवेयर डेटाबेस रिकॉर्ड की गई क्षमता का वर्णन करता है; ऑपरेटिंग सिस्टम या हाइपरवाइज़र एक अलग प्रभावी वातावरण प्रदर्शित कर सकता है। एक अवैध-निर्देश त्रुटि के लिए वास्तविक दोषपूर्ण निर्देश और बाइनरी बिल्ड की जांच की भी आवश्यकता होती है, क्योंकि भ्रष्टाचार या एक असंबंधित असमर्थित निर्देश एक समान लक्षण उत्पन्न कर सकता है।
सटीक प्लेटफ़ॉर्म के लिए समर्थित एप्लिकेशन, ड्राइवर या रनटाइम संस्करण इंस्टॉल करें, और यदि आवश्यक हो तो विक्रेता के दस्तावेजीकृत बेसलाइन या फ़ॉलबैक बिल्ड का उपयोग करें। एक सॉफ़्टवेयर अपडेट ऐसा निर्देश नहीं बना सकता जिसकी प्रोसेसर में कमी है। फ़र्मवेयर और सुरक्षा-नीति परिवर्तनों को सामान्य अनुकूलन नुस्खे के बजाय सिस्टम निर्माता की प्रक्रिया और पुनर्प्राप्ति योजना का पालन करना चाहिए।
इस व्याख्या के स्रोत और दायरा
Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: प्रोसेसर आर्किटेक्चर और माइक्रोआर्किटेक्चर स्तर
ये संदर्भ आर्किटेक्चरल व्यवहार और सॉफ़्टवेयर आवश्यकताओं को स्थापित करते हैं। वे किसी लिंक्ड हार्डवेयर मॉडल पेज पर प्रत्येक सुविधा मान को स्वतंत्र रूप से सत्यापित नहीं करते हैं। मॉडल समर्थन के लिए, उस पेज के निर्माता साक्ष्य का उपयोग करें और प्रभावी सिस्टम कॉन्फ़िगरेशन की जांच करें। यह आलेख कोई बेंचमार्क, प्रमाणन या स्वतंत्र समीक्षा तिथि प्रदान नहीं करता है।
स्रोत और सत्यापन
संपादकीय स्वामित्व: Feex। कोई स्वतंत्र समीक्षा तिथि दर्ज नहीं है। हम कैसे शोध करते हैं.
- Intel 64 and IA-32 Architectures Software Developer's Manual · खंड 1 और 2 नामित निर्देश परिवारों और CPUID का वर्णन करते हैं; खंड 3 स्टेट, पेजिंग, VMX और सुरक्षा नियंत्रणों का वर्णन करता है। आर्किटेक्चर दस्तावेज़ किसी विशेष मॉडल के लिए समर्थन स्थापित नहीं करता है।
- x86-64 psABI: प्रोसेसर आर्किटेक्चर और माइक्रोआर्किटेक्चर स्तर · मशीन इंटरफ़ेस, प्रोसेसर आर्किटेक्चर: बेसलाइन और संचयी v2/v3/v4 फ़ीचर टेबल, OS-स्टेट जाँचें और डिप्लॉयमेंट सिफ़ारिशें।
क्या यह लेख उपयोगी था?
हाँ या ना ही काफी है। यदि आप चाहें तो कोई कारण चुनें, या एक संक्षिप्त नोट जोड़ें।
धन्यवाद। इससे हमें इस पृष्ठ को बेहतर बनाने में मदद मिलती है।