Saat başına 11.520 kuşak sayısı / 10.016 x 6.796 kutu / 244.596 pop sayısı
İşte gidiyorsunuz ... Eğlenceliydi.
Eh, tasarım kesinlikle en uygun değil. Ne sınırlayıcı kutu bakış açısından (bu 7 segmentli rakamlar çok büyük ), ne de ilk popülasyon sayısından (bazı işe yaramaz şeyler ve kesinlikle daha kolay hale getirilebilecek bazı şeyler var) ve yürütme hızından - peki ... emin değilim.
Ama, hey, çok güzel. Bak:
Koş!
Bu karardan tasarım al . Tüm dosya metnini panoya kopyalayın.
Yeni : işte talepkar için hem AM hem de PM göstergeleri olan bir versiyon .
Git çevrimiçi JavaScript Conway yaşam simülatörü . İçe aktar'ı tıklayın , tasarım metnini yapıştırın. Tasarımı görmelisin. Ardından, ayarlara gidin ve oluşturma adımını 512'ye veya bu satırların etrafındaki bir şeye ayarlayın ; saat göstergesinin güncellenmesini görmek için sonsuza dek beklemeniz gerekir.
Click koşmak , biraz bekleyin ve hayret!
Tarayıcı içi sürümüne doğrudan bağlantı .
Bu devasa tasarımı kullanılabilir kılan tek algoritmanın hashlife olduğuna dikkat edin. Bununla birlikte, tüm saat sarma işlemini saniyeler içinde başarabilirsiniz. Diğer algoritmalarla, saatin değiştiğini görmek bile pratik değildir.
Nasıl çalışır
P30 teknolojisini kullanır. Sadece temel şeyler, planörler ve hafif uzay gemileri. Temel olarak, tasarım yukarıdan aşağıya gider:
- En üstte saat var. 11520 dönem saati. Ekranın uygun şekilde güncellenmesini sağlamak için yaklaşık 10.000 nesile ihtiyacınız olduğunu unutmayın; ancak tasarımın daha küçük bir saatle sabit kalması gerekir (yaklaşık 5.000 veya daha fazla - saatin 60'ın katı olması gerekir).
- Sonra, saat dağıtım aşaması var. Saat paraşütü dengeli bir ağaçta kopyalanır, bu yüzden sonunda, aynı anda sayaçlar aşamasına gelen 32 paraşüt vardır.
- Sayaç aşaması, her durum için ve her basamak için bir RS mandalı kullanılarak yapılır (ondalık olarak sayıyoruz). Bu nedenle, dakikaların sağ hanesi için 10 durum, minutların sol hanesi için 6 durum ve saat için 12 durum vardır (saatlerin her iki hanesi burada birleştirilmiştir). Bu grupların her biri için, sayaç bir vardiya yazmacı gibi davranır.
- Sayım aşamasından sonra arama tabloları vardır. Durum pulslarını AÇIK / KAPALI eylemlerini göstermek için dönüştürürler.
- Sonra, ekranın kendisi. Segmentler basitçe çoklu LWSS dizileri ile yapılır. Her bölüm kendi durumunu korumak için kendi mandalına sahiptir. Bir parçanın AÇIK veya KAPALI olması gerekip gerekmediğini bilmek ve bu mandallardan kurtulmak için basamak durumlarının basit bir mantıksal OR'sini yapabilirdim, ancak rakamlar değiştiğinde (çünkü sinyal gecikmeleri). Ve arama tablosundan rakam segmentlerine gelen uzun planör akışları olacaktı. Yani o kadar güzel görünmezdi. Ve olması gerekiyordu. Evet.
Her neyse, aslında bu tasarımda olağanüstü bir şey yok. Bu süreçte keşfedilen şaşırtıcı tepkiler ve daha önce kimsenin düşünmediği akıllıca bir kombinasyon yok. Sadece burada ve oradan alınmış ve bir araya getirilmiş (ve "doğru" bir şekilde yaptığımdan bile emin değilim - aslında bunun için tamamen yeniydim). Bununla birlikte, çok fazla sabır gerekiyordu. Bütün bu planörlerin doğru zamanda ve doğru pozisyonda yapılması kafa karıştırıcıydı.
Mümkün iyileştirmeler:
- Aynı kök saati n sayaç hücrelerine kopyalamak ve dağıtmak yerine , aynı saat bloğunu n kere (her bir sayaç hücresi için bir kez) yerleştirebilirdim. Bu aslında çok daha basit olurdu. Ama o zaman saati tek bir noktada değiştirerek kolayca ayarlayamazdım ... Ve elektronik bir geçmişe ve gerçek bir devrede çok yanlış olur.
- Her bölüm kendi RS mandalına sahiptir. Bu, arama tablolarının hem R hem de S darbeleri üretmesini gerektirir. Durumunu ortak bir giriş darbesinden değiştirecek bir mandal olsa, arama tablolarını yarısı kadar büyük yapabilirdik. PM noktası için böyle bir mandal var, ama çok büyük ve daha pratik bir şey bulamıyorum.
- Ekranı küçültün. Ama bu o kadar güzel görünmezdi. Ve olması gerekiyordu. Evet.