WIMPは以下を目的として作られました:
・"Fetch and Execute"サイクルの働きを教える(というか教えるのを支援する)
・プロセサの内部のレジスタやらデコーダーやらの働きを教える(というか教えるのを(以下略))
・アセンブリ言語でのプログラミングを教える(というか(ry)
WIMPがシミュレートするのはA-levelカリキュラムの必要項目を網羅しつつ、出来るだけシンプルであるようにカスタム設計されたプロセサです。このWIMPプロセサは以下のような特徴があります:
・プロセサの内部のレジスタやらデコーダーやらの働きを教える(というか教えるのを(以下略))
・アセンブリ言語でのプログラミングを教える(というか(ry)
・プロセサ内でも全てのデータは2進法ではなくアセンブリ言語での表記法にそって表示されます。(だから例えば"a"を表示する時は"1100001"じゃなくて"/a/"として表示されるってこと。)じゃないとわけわかんないからね。
・レジスタとかバスの容量は"1ユニット"として定義される。つまり、ピッタリ一つの命令(例:"LOA A N 100")や、データ(数字だとか文字だとか)が入るということ。容量を何ビットとかにしなかったのは、1ワード以上の大きさの命令文はA-levelでは考えなくてもいいからです。
・アドレスバスとデータバスは一つの「アドレス/データバス」にくっ付けられてます。どうせ一度にアドレスかデータかのどっちかしか転送されないのでこれでも全く問題ありません。
・レジスタとかバスの容量は"1ユニット"として定義される。つまり、ピッタリ一つの命令(例:"LOA A N 100")や、データ(数字だとか文字だとか)が入るということ。容量を何ビットとかにしなかったのは、1ワード以上の大きさの命令文はA-levelでは考えなくてもいいからです。
・アドレスバスとデータバスは一つの「アドレス/データバス」にくっ付けられてます。どうせ一度にアドレスかデータかのどっちかしか転送されないのでこれでも全く問題ありません。