11,520 पीढ़ी प्रति घड़ी की गिनती / 10,016 x 6,796 बॉक्स / 244,596 पॉप गिनती
वहाँ तुम जाओ ... मजेदार था।
खैर, डिजाइन निश्चित रूप से इष्टतम नहीं है। न तो बाउंडिंग बॉक्स के दृष्टिकोण से (वे 7-खंड अंक विशाल हैं ), न ही प्रारंभिक जनसंख्या गणना से (कुछ बेकार सामान हैं, और कुछ सामान जो निश्चित रूप से सरल बनाया जा सकता है), और निष्पादन की गति - अच्छी तरह से ... मैं मुझे यकीन नहीं है।
लेकिन, हे, यह सुंदर है। देखो:
चलाओ!
इस जिस्ट से डिजाइन प्राप्त करें । संपूर्ण फ़ाइल पाठ को क्लिपबोर्ड पर कॉपी करें।
नई : यहां मांग के लिए AM और PM दोनों संकेतकों के साथ एक संस्करण है ।
पर जाएं ऑनलाइन जावास्क्रिप्ट कोनवे जीवन सिम्युलेटर । आयात पर क्लिक करें , डिज़ाइन टेक्स्ट पेस्ट करें। आपको डिज़ाइन देखना चाहिए। फिर, सेटिंग्स पर जाएं और उन चरणों के आसपास पीढ़ी के चरण को 512 पर सेट करें , या घड़ी प्रदर्शन को देखने के लिए आपको हमेशा इंतजार करना होगा।
रन पर क्लिक करें , थोड़ा इंतजार करें और आश्चर्यचकित हो जाएं!
ब्राउज़र संस्करण में सीधा लिंक ।
ध्यान दें कि इस विशाल डिजाइन को उपयोगी बनाने वाला एकमात्र एल्गोरिथ्म हैशलाइफ। लेकिन इसके साथ, आप पूरे घड़ी के आवरण को सेकंडों में हासिल कर सकते हैं। अन्य एल्गोरिदम के साथ, घंटे को बदलते हुए देखना अव्यावहारिक है।
यह काम किस प्रकार करता है
इसमें p30 तकनीक का इस्तेमाल किया गया है। बस बुनियादी चीजें, ग्लाइडर और हल्के अंतरिक्ष यान। मूल रूप से, डिजाइन ऊपर-नीचे जाता है:
- बहुत ऊपर, घड़ी है। यह 11520 अवधि की घड़ी है। ध्यान दें कि डिस्प्ले को उचित रूप से अपडेट करने के लिए आपको लगभग 10.000 पीढ़ियों की आवश्यकता है, लेकिन डिज़ाइन अभी भी छोटी अवधि (लगभग 5.000 या तो - घड़ी को 60 के कई होने की आवश्यकता है) की घड़ी के साथ स्थिर होना चाहिए।
- फिर, घड़ी वितरण चरण है। घड़ी के ग्लाइडर को एक संतुलित पेड़ में कॉपी किया जाता है, इसलिए अंत में, काउंटर्स चरण में ठीक उसी क्षण 32 ग्लाइडर आते हैं।
- काउंटर अवस्था प्रत्येक राज्य के लिए और प्रत्येक अंक (हम दशमलव में गिनती कर रहे हैं) के लिए एक आरएस कुंडी का उपयोग करके बनाया गया है। तो मिनटों के दाएं अंक के लिए 10 राज्य हैं, 6 राज्यों के न्यूनतम अंक, और 12 राज्यों में घंटे (दोनों ही घंटों के अंक यहाँ विलय किए गए हैं)। इनमें से प्रत्येक समूह के लिए, काउंटर शिफ्ट रजिस्टर की तरह व्यवहार करता है।
- काउंटिंग स्टेज के बाद, लुकअप टेबल होते हैं। वे चालू / बंद कार्रवाइयों को प्रदर्शित करने के लिए राज्य दालों को परिवर्तित करते हैं।
- फिर, प्रदर्शन ही। सेगमेंट को बस LWSS के कई स्ट्रिंग्स के साथ बनाया गया है। प्रत्येक खंड के पास अपना राज्य बनाए रखने के लिए स्वयं कुंडी है। मैं एक साधारण तार्किक-या अंकों के राज्यों को पता कर सकता था कि किसी सेगमेंट को चालू या बंद करना चाहिए, और इन कुंडों से छुटकारा पाना चाहिए, लेकिन गैर-बदलते क्षेत्रों के लिए ग्लिच होंगे, जब अंक बदल रहे होंगे (क्योंकि संकेत देरी)। और लुकअप टेबल से डिजिट सेगमेंट में आने वाली ग्लाइडर की लंबी धाराएँ होंगी। इसलिए यह उतना अच्छा नहीं होगा। और यह होना चाहिए। हाँ।
वैसे भी, वास्तव में इस डिजाइन में कुछ भी असाधारण नहीं है। इस प्रक्रिया में कोई अद्भुत प्रतिक्रियाएं नहीं मिली हैं, और कोई भी वास्तव में चतुर संयोजन नहीं है जो पहले किसी ने नहीं सोचा था। बस बिट्स को यहां और वहां ले जाया गया और एक साथ रखा गया (और मुझे भी यकीन नहीं है कि मैंने इसे "सही" तरीके से किया था - मैं वास्तव में इसके लिए पूरी तरह से नया था)। हालाँकि इसके लिए बहुत धैर्य की आवश्यकता थी। उन सभी ग्लाइडरों को सही समय पर सही स्थिति में लाना सिर को खुजलाना था।
संभावित अनुकूलन:
- के बजाय एक ही रूट घड़ी की प्रतिलिपि बनाने और वितरित करने के लिए एन काउंटर कोशिकाओं , मैं केवल एक ही घड़ी ब्लॉक एन बार (प्रत्येक काउंटर सेल के लिए एक बार) डाल सकता था । यह वास्तव में बहुत सरल होगा। लेकिन तब मैं इसे एक बिंदु पर घड़ी को बदलकर आसानी से समायोजित नहीं कर पाऊंगा ... और मेरे पास एक इलेक्ट्रॉनिक्स पृष्ठभूमि है, और एक वास्तविक सर्किट में, यह बहुत गलत होगा।
- प्रत्येक सेगमेंट में इसका RS कुंडी है। इसके लिए R और S दोनों दालों के आउटपुट के लिए लुकअप टेबल की आवश्यकता होती है। यदि हमारे पास एक कुंडी होती जो कि एक सामान्य इनपुट पल्स से केवल अपने राज्य को टॉगल करती, तो हम लुकअप तालिकाओं को आधा बड़ा बना सकते थे। पीएम डॉट के लिए इस तरह की कुंडी है, लेकिन यह बहुत बड़ी है, और मैं कुछ और अधिक व्यावहारिक नहीं आ पा रहा हूं।
- डिस्प्ले को छोटा करें। लेकिन यह उतना अच्छा नहीं होगा। और यह होना चाहिए। हाँ।