बाइनरी पॉइंटर और ग्रे कोड पॉइंटर के बीच अंतर

Dec 06, 2019

बाइनरी पॉइंटर और ग्रे कोड पॉइंटर के बीच अंतर

(1) हैंडशेक सिंक्रोनाइज़ेशन के कारण, पॉइंटर एक ही समय में कई बिट्स बदल सकता है, और बाइनरी पॉइंटर हर बार जब चलती है तो एक मनमानी लंबाई पर कूद सकता है, जो फीफो के कुछ कार्यों के कार्यान्वयन के लिए सुविधा लाता है (के लिए) उदाहरण के लिए, हार्डवेयर सीधे FIFO को कैश से नियंत्रित करता है डेटा स्ट्रीम में एक त्रुटि पैकेट को छोड़ दिया जाता है); और ग्रे कोड पॉइंटर आमतौर पर केवल ऊपर या नीचे की ओर बढ़ सकता है।

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


जांच भेजें