19 / 24 · अवधारणा
फ़्लश और रीसेट में लेनदेन का हिसाब बनाए रखें
रद्द करना और वितरण अलग रखें तथा valid स्थिति को अपेक्षित कतारों से मिलाएँ।
पाठ पढ़ना मुफ़्त है। प्रगति सेव करने के लिए नामांकन करें।
रद्द करना स्पष्ट डिज़ाइन घटना है
रीसेट नियंत्रण को ज्ञात स्थिति में लाता है; फ़्लश निर्धारित लंबित काम रद्द करता है। केवल डेटा साफ़ करना पर्याप्त नहीं। valid उच्च रहे तो शून्य नकली लेनदेन बन सकता है। valid शून्य के साथ पुराने डेटा बिट हानिरहित हैं। संबंधित स्वामित्व स्थिति साफ़ करें: एक स्थान के बफ़र में full, FIFO में count और पॉइंटर या FSM स्थिति तथा result valid।
हमारा समकालिक, एक क्लॉक वाला अनुबंध दोनों छोर पर रीसेट किनारे पर स्वीकृति और वितरण रोकता है और वहाँ सारा लंबित काम रद्द करता है। केवल एक छोर रीसेट हो और दूसरा पुराने valid को वितरण गिने तो यह समझौता टूटता है। रीसेट का दायरा और तैयार होने की नीति लिखें। रीसेट के बाद नए इनपुट नए लेनदेन अंतराल के हैं।
| घटना | accepted | delivered | canceled | outstanding |
|---|---|---|---|---|
| A,B,C स्वीकार | 3 | 0 | 0 | 3 |
| A वितरित | 3 | 1 | 0 | 2 |
| B,C फ़्लश | 3 | 1 | 2 | 0 |
| D स्वीकार | 4 | 1 | 2 | 1 |
| D वितरित | 4 | 2 | 2 | 0 |
रद्द होने पर accepted-delivered-canceled=outstanding प्रयोग करें। प्रत्येक अवितरित लेनदेन ठीक एक बार रद्द करें। संदर्भ कतार को भी रद्द काम हटाना चाहिए और जाँचना चाहिए कि नए अंतराल में पुराना परिणाम न आए।
बाहरी मेमोरी अनुरोध आंतरिक फ़्लश के बाद भी चल सकता है। देर से आने वाले उत्तरों को पीढ़ी पहचान से अलग करें या पुनः आरंभ से पहले पुराने अनुरोध पूर्ण होने दें। छोटे पीढ़ी फ़ील्ड का बहुत जल्दी पुनः प्रयोग पुराने उत्तर को वर्तमान उत्तर जैसा बना सकता है। हमारी समापन परियोजना में बाहरी विलंबित उत्तर नहीं हैं और केवल आंतरिक बफ़र रद्द होते हैं।
चयनात्मक फ़्लश ब्रांच से पुराना काम रख सकता है और नए गलत-पथ ऑपरेशन हटा सकता है। इसके लिए तय क्रम और कमिट नियम चाहिए। अवैध काम भंडारण अपडेट न करे या फ़ॉरवर्डिंग में भाग न ले। खाली, स्टॉल, भरे और संभावित एक साथ स्थानांतरण के दौरान रीसेट परखें। केवल आरंभिक रीसेट लंबित काम रद्द करने की जाँच नहीं करता।
खुद आज़माएँ
पाँच स्वीकार करें, दो वितरित करें, फिर बाकी तीन फ़्लश करें। इसके बाद दो स्वीकार और एक वितरित करें। संचयी accepted, delivered, canceled और outstanding निकालें।
व्याख्या पढ़ें
Accepted=7, delivered=3, canceled=3, outstanding=1। हिसाब 7-3-3=1 है। रद्द आइटम सफल वितरण नहीं हैं।