Thursday, September 24, 2009

1+1+2は難しい


IstpikaのConcept Exective Officerをやっている、fukutopikaです。
私は認知心理学が好きで、よく自分が頭の中でどう考えているかを、リバースエンジニアリングするように考えて楽しんでいます。

先日突然、ひらめきました。
人間の頭のなかのワーキングレジスタはソースが2個でデスティネーションが1個程度しかない。

SEGAのゲームマシン、"メガドライブ"は16BITのCPU、モトローラ社の68000を積んでいて、大変高度なゲーム機なのですが、昔、このプログラムをアセンブラで組むことになった時、掛け算が命令1個でできるMULUという大変便利なニーモニックがあることに感動しました。しかし、D0xD1=D2はできるのに、D1xD2+D3はできない。まあ、組み合わせればいいだけのことですが。

そういえば暗算するときに、AxBはできても、AxBxCはパッと出てこない。さらに言えば、1+1+2すらも、パッと出てくるわけではない。1+1の答えを意識した後に、+2している気がする。

皆さんもやってみてください。
どうですか?3ついっぺんに処理できますか?

やはり人間のワーキングレジスタはソースが2個でデスティネーションが1個なのに違いない。

※レジスタ ... CPUが計算する時、数値を仮に入れておくための箱。マシンによって何個あるかなどの仕様が固定されている。ちなみにファミコンのCPUはワーキングレジスタが1個しかなくて大変。

1 comment:

  1. とても興味深いポストだと思います。
    脳って単純で、argumentsを二つ取っておき、作業をやり、最終的に結果を一つのレジスターに入れておくと。
    argumentsが二つ以上だと不可能ということですね。

    ReplyDelete