2016-12-03 9 views
5

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

उत्तर

5

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

विभिन्न आर्किटेक्चर के पास विभिन्न निर्देश सेट हैं। विभिन्न प्रोसेसर में अलग-अलग कार्यान्वयन रणनीतियों (फिर चीजों को तेज़ी से बनाने के लिए) हो सकती है, जब तक वे spec का अनुपालन करते हैं।

नीचे कुछ उदाहरण

सीएमपी आदेश दो मानों की तुलना करने के लिए इस्तेमाल किया जाता है। यहां Instruction set reference से एक अंश दिया गया है।

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

इसका मूल रूप से मतलब है कि सभी बिट्स की जांच की जाती है। मुझे लगता है कि गैर-समानता (<,>) तुलना करने की अनुमति देने के लिए इसे लागू किया गया था।

तो सभी बिट्स की जांच की जाती है। सबसे सरल मामलों में जो क्रमशः किया जा सकता है, लेकिन तेजी से किया जा सकता है। wikibooks on add/subtract blocks देखें।

Add block scheme with carry lookahead

एआरएम

TEQ आदेश समानता के लिए दो मानों परीक्षण करने के लिए इस्तेमाल किया जा सकता। यहाँ infocenter.arm.com

से एक अंश TEQ अनुदेश प्रदर्शन करती एक बिटवाइज़ विशेष या आर एन में मूल्य और Operand2 के मूल्य पर आपरेशन है। यह ईओआरएस निर्देश के समान है, सिवाय इसके कि यह परिणाम को त्याग देता है। परीक्षण के लिए टीईक्यू निर्देश का प्रयोग करें कि क्या दो मान वी या सी झंडे को प्रभावित किए बिना बराबर हैं।

फिर से सभी बिट्स की जांच की जाती है।

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