सामग्री पर जाएं

BMI1

आर्किटेक्चर संदर्भFeex

BMI1 स्केलर बिट मैनिपुलेशन के लिए एक x86 एक्सटेंशन है, जिसमें बिट एक्सट्रैक्शन, बिट आइसोलेशन और ट्रेलिंग-ज़ीरो काउंटिंग शामिल है। यह वेक्टर लेन्स के बजाय सामान्य-उद्देश्यीय इंटीजर रजिस्टर्स पर काम करता है।

आपको क्या जानना चाहिए

BMI1 स्केलर बिट मैनिपुलेशन के लिए एक x86 एक्सटेंशन है, जिसमें बिट एक्सट्रैक्शन, बिट आइसोलेशन और ट्रेलिंग-ज़ीरो काउंटिंग शामिल है। यह वेक्टर लेन्स के बजाय सामान्य-उद्देश्यीय इंटीजर रजिस्टर्स पर काम करता है।

यह कैसे काम करता है

इस एक्सटेंशन में ANDN, BEXTR, BLSI, BLSMSK, BLSR और TZCNT शामिल हैं। ये ऑपरेशन्स मास्किंग, चयन या काउंटिंग चरणों को मिलाते हैं जिनके लिए अन्यथा लंबे अनुक्रमों की आवश्यकता होती है। निर्देश-विशिष्ट फ़्लैग प्रभाव और किनारे के मामले (एज केस) कॉन्ट्रैक्ट का हिस्सा हैं, विशेष रूप से तब जब कोई इनपुट शून्य हो।

यह कहाँ उपयोगी है

एक बिटसेट इटरेटर BLSR के साथ अपने सबसे निचले सेट बिट को साफ़ कर सकता है, जबकि एक डिकोडर BEXTR के साथ एक फ़ील्ड निकाल सकता है। यह मदद करता है या नहीं, यह निर्भरताओं और लक्षित कार्यान्वयन पर निर्भर करता है। BEXTR गैर-समीपस्थ बिट्स का कोई मनमाना गैदर नहीं है।

सपोर्ट और सक्षमता की जांच कैसे करें

BMI1 के लिए CPUID.07H.00H:EBX बिट 3 की जाँच करें। यह परीक्षण करने के बजाय कि TZCNT निष्पादित होता प्रतीत होता है या नहीं, फ़ीचर डिस्पैच का उपयोग करें। शून्य-इनपुट परिणाम और फ़्लैग व्यवहार अभीष्ट निर्देश सेमेंटिक्स से मेल खाना चाहिए।

पड़ोसी एक्सटेंशन से सपोर्ट का अनुमान लगाने के बजाय सटीक निर्देश और ऑपरेंड फॉर्म की जांच करें। स्केलर पूर्णांक सुविधाएं आम तौर पर सामान्य-उद्देश्य रजिस्टरों का उपयोग करती हैं; वैक्टर से जुड़े एन्कोडिंग का स्वचालित रूप से यह अर्थ नहीं है कि वेक्टर-स्टेट की आवश्यकता है।

यह सुविधा क्या स्थापित नहीं करती है

BMI1 का अर्थ BMI2, POPCNT, LZCNT या AVX OS-स्टेट समर्थन नहीं है। TZCNT एक पुराने निर्देश के साथ एन्कोडिंग संबंध साझा करता है, इसलिए असमर्थित निष्पादन एक स्पष्ट फ़ॉल्ट के बजाय भिन्न सेमेंटिक्स उत्पन्न कर सकता है।

व्यवहार में अनुकूलता और प्रदर्शन

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

एक व्यावहारिक सत्यापन चेकलिस्ट

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

यदि सुविधा सूचीबद्ध है लेकिन सॉफ़्टवेयर इसका उपयोग नहीं कर सकता है

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

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

इस व्याख्या के स्रोत और दायरा

Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: प्रोसेसर आर्किटेक्चर और माइक्रोआर्किटेक्चर स्तर

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

स्रोत और सत्यापन

संपादकीय स्वामित्व: Feex। कोई स्वतंत्र समीक्षा तिथि दर्ज नहीं है। हम कैसे शोध करते हैं.

क्या यह लेख उपयोगी था?

हाँ या ना ही काफी है। यदि आप चाहें तो कोई कारण चुनें, या एक संक्षिप्त नोट जोड़ें।

क्या यह लेख उपयोगी था?