苔のむすまで1 (2003)
論理回路は出力値の決まり方により二つに分類できる。
そのときの入力値のみで決まる回路を組み合わせ回路と呼び、入力値だけでなく、そのときの内部状態にも依存する回路を順序回路と呼ぶ。
順序回路を構成するために必要な記憶素子にフリップ・フロップがある。フリップ・フロップは0と1の二つの安定状態を持ち、あらかじめ設定された何らかの状態変化が起こらない限り、前の状態を保持し続けるという特性を持っている。このフリップ・フロップをn個用い、nビットの情報を一時的に記憶する回路、レジスタを構成することができる。
ここでは苔玉がそこに与えられる水分量の多少により膨張、収縮する直径差を状態変化と捉え、それをもとにフリップ・フロップを4対作成し、4ビットのレジスタを構成した。
「苔のむすまで」は非常に永い時間を表す言葉だが、レジスタはその機能としては、ほんの一時的にしか情報を蓄えることができない。あらかじめ設定された何らかの状態変化が起きる度に、次の情報を取り込んで、以前の情報は更新されてしまうだろう。

給水装置は(給水する)⇔(給水しない)といった明解な切り替え動作は行わない。
ここでは、(比較的十分な給水を行う)⇔(比較的給水が不十分である)のように緩やかな状態変化を示し、どちらもそれなりに給水する。給水量の多少による生育条件の差により、(わりあい成長している)⇔(それほど成長していない)という程度の個体ごとの成長の差が現れ、(どちらかといえば1)⇔(どちらかといえば2)といったあいまいな2種類の信号が発生し、かろうじて2値論理が維持される。
(1) RSフリップフロップ

RSフリップフロップは最も基本的なフリップフロップで、2つの安定した状態を切り替えることで1ビットの情報を記憶する。

RSフリップフロップでは、情報を記憶している間の入力R,Sは共に0であり、2つのうちどちらかの安定状態に入ると、その状態を保持し続ける。

RとSへの入力を変化させることで、安定状態1と安定状態2を切り替えることができる。
上の例ではRを0から1に変化させ、安定状態1から安定状態2へと状態を変化させている。ここでRが1から0へ戻ったとしても、Q,Qの値は変化せず、安定状態2のまま維持される。Sが0から1へ変化した時、安定状態2から安定状態1へと状態変化する。

◎ タイミング・チャート
時刻t1以前では前の状態が保持されている。時刻t1でRが1に変化し、Q=0,Q=1の状態となる。その後Rが0となってもQ,Qの値は変わらない。
時刻t2でSが1に変化して、Q=1,Q=0の状態となる。
(2) 苔玉によるフリップフロップ

この装置は苔玉の伸縮を利用したRSフリップフロップを1単位としている。その動作は、論理値の上ではRSフリップフロップとほぼ一致する。

苔玉によるフリップフロップにおいても、2つの安定状態が存在する。
図左側の苔玉の膨縮によって制動糸が張緩し、図右側の給水装置の制水板からの給水が増少する。それにより膨縮する苔玉の動きは図右側の作動板で反転され、左側給水装置へと伝えられる。

RSフリップフロップと同様にR,Sの入力変化により、安定状態1と安定状態2を切り替えることができる。
(3) Dフリップフロップ

RSフリップフロップを3つ組み合わせてDフリップフロップを作ることができる。
クロックパルスの立ち上がりや立ち下がりに同期してDに入力されている値を取り込み、次のクロックパルスが入るまで、その値を保持することができる。

(4) レジスタ

何ビットかの情報を一時的に記憶し、必要なときに取り出せる回路をレジスタと呼ぶ。
レジスタでは、1個のフリップフロップに1ビットの情報を記憶させている。
右図は4つのDフリップフロップで構成した4ビットレジスタの回路図。
4つのフリップフロップのCK入力に共通の取り込み信号が入力されており、この信号に同期してDに入力された値を記憶する。記憶された情報は次の情報が入力されるまで維持される。
同様に、苔玉によるフリップフロップでレジスタを構成することもできる。