構文木に取り付くprocessing unit(enzyme)のpoolというJIT-optimizer

現状のCPUが処理しているのは、畢竟、object codeのstringなわけだ。計算(computation)の発現する前の状態:DNAと言ってもいいかもしれない。
それにenzymeのように取り付いて、組み換え、最適化していくのがpeep hole optimize。
最近は、投機的な分岐予測をしてしまうこともある。これは、stringを枝分かれさせてしまうことだ。そして、処理が済んだ部分からのメッセージ(registorが伸ばしたニューロンの信号)を受け取って、枝刈りをしていく。
こんなpoolから、ときおり、外部(globalなmemory空間)へ、値が漂いだす。
こういうイメージで、CPUが作れないだろうか。
いや、すでにこういうイメージで動作はしてるわけだから、CPUの構成法とか、その動的な(資源割り当ての)最適化とかに、上記のようなモデルはどんな寄与ができるだろうか?

poolというイメージは、何を何に変換しているのか

CPUの資源と、その状態の時間的かつ(comvoluted:畳み込まれていく)な変化の状態空間を、
object codeのtreeの形態(object code空間)へとマップしている。
,,という考え方、かな。
実際には、registerの内容の変化を「一度実行してしまえば」treeの刈り込みがおきて、外部の状態に依存しない計算については、常に枝分かれのない1本のstringに縮退してしまうんだけれども。
この辺りを、Functorとか自然変換として、すらすらイメージできるようになりたかったな。

こういう思いつきを見てみると

自分ってのは、つくづくtreeとか、networkとかが好きなんだなと思う。enzymeってのもそうだな。