《戴森球計劃》中時序邏輯是指整個程式是一個序列,按時間順序輸入處理單元。如果要可擴展時序邏輯門電路其實非常簡單,只要做替換,使得藍->黃,紅->藍,黃->紅,就可以實現紅藍塊對換,也就是非門了。
《戴森球計劃》可擴展時序邏輯門電路分享:
首先要搞定的是IO的結構,IO由紅、藍、白塊組成。其中白塊標誌程式/輸入的開始和終止,紅塊代表1,藍塊代表0
左側那些就是輸入,基本的輸入結構是9白塊+藍紅序列+4白塊。白塊的作用是標誌程式起止,方便精確提取結果
非門的實現很簡單,我們可以做替換:
藍->黃,紅->藍,黃->紅,就可以實現紅藍塊對換,也就是非門了。
對換的方法是,先將藍色塊全部取出,這樣藍塊會變成空位,而後在空位插入黃快即可。
與或門更簡單,先將藍色全部取出,而後兩個輸入進入四向分流器,優先輸出端輸出的就是或門結果(兩路中有一個紅塊就輸出紅塊),非優先輸出端就是與門的結果(兩路都是紅塊才輸出紅塊)。而後再在空位上填上藍塊即可。
時序邏輯電路除了輸入的值(塊的顏色),同等重要的是輸入時間,因為一旦輸入的時間錯位了,輸出的自然就不是正確結果了。這就是為什麽我們需要一個同步模塊。
同步模塊的原理很簡單,(大家看上圖中的AND/OR模塊中間的紫色塊序列)我們先用紫塊堵住路,然後通過設定出口優先級和過濾,並調節傳送帶速度,就可以實現兩側被紫塊堵上的路同時疏通的效果,或者說輸入會同時進入我們的門電路中。
還有一個是結果提取模塊,我們隻希望提取程式運行時的輸出,而不希望看到程式開始前和結束後無意義的塊。
這就稍微複雜一些(見圖右上的模塊),首先最左側的四向分流器的作用是當程式未開始時不讓任何塊進入結果區,當程式沒開始時,所有塊,無論紅藍都將進入下方區域,然後被取走。不會向右走。而程式開始的9個白塊的作用就是堵住下方路徑,強制所有塊進入右方區域。然後塊會直接經過第二個分流器和第三個分流器。而當程式結束時,由於我們設定了最右側的四向分流器優先將白塊往下輸送,所以標誌程式結束的四個白塊進入時,會直接向下走,而多出的白塊會進一步堵住最右側四向分流器的入口。此時就不會再有塊進入右側了。同時,第二個分流器會將後續的塊導走,不堵塞路徑。
除此之外還需要有一個分線模塊。也就是我們希望一個輸入能變成兩個輸入。這是比較複雜的。
我採用的基本原理就是一個銅塊可以造出兩個電路板,所以可以用它實現一條線邊兩條線。
基本的方法是先將紅塊替換為銅板,輸入製造機器製造成電路板後分兩路輸出。而後再將輸出的電路板替換為紅塊。同理處理白塊即可。
一分二的基礎結構,最左側的是輸入序列,是藍紅藍藍紅藍白白。
這是輸出結果(剛剛是向右輸入,這裡向左輸出),可以看到輸入結果被拷貝成了兩條。
至此,所有搭建一個可擴展時序邏輯門電路的結構都有了,理論上我們可以用它搭建一台任意的圖靈機了~
試驗出了同步結構!之後製造大型電路的時候,可能出現的時序同步問題就業解決了!
基本的原理是通過三個四向分流器造倍增器,將第一個白塊倍增成白塊-磁線圈-馬達的組合。由於製造一個渦輪需要兩個馬達,所以必須兩側的馬達都到達了,才會同時吸取新的磁線圈,否則磁線圈會堵塞線路,防止先到的一方走。這樣就可以實現無損的同步。
相關攻略:《戴森球計劃》能量樞紐作用總結