OISC

出典: フリー百科事典『ウィキペディア(Wikipedia)』

OISC(One-instruction set computer)とは、命令が1つのコンピューターのことである。 高度なメモリマッピングの場合、算術演算は複雑な処理をも可能とする。 そのため、一部の実装では、唯一の命令がSubleq(subtract and branch if less or equal to zero、減算と0以下なら分岐)となる場合がある。 また、いくつかのOISCを使用する言語は、チューリング完全である。 OISCは、URISC(Ultimate RISC、究極のRISC)を表記される場合もある。

利用[編集]

OISCは、命令が1つのみのため、実用には向いていないといえる。 また、OISCは、いくつかの難解プログラミング言語で使用されている。

さらに、OISCを使用しプログラミングを行う際は、初期の設定やメモリマッピングが重視される。

Subleq[編集]

Subleqは、通常3つのパラメータを持つ。 基本的なSubleqの構文は、Subleq(a,b,c)である。Subleqはbからaを減算し、 bに結果を格納し、結果が0以下場合にcのアドレスに制御を移す。

  ADDRESS   a b c
ADDRESS 00: 7 7 7
ADDRESS 04: 5 1 0
ADDRESS 07: 4 3 4

このコードの場合、以下の処理が行われる。

  1. 7-7を計算し、結果の0をbに格納
  2. bが0以下なので、アドレス7に移動
  3. 4-3を計算し、結果の1をbに格納
  4. 先がないので終了

また、Subleqのソースコードを書く際に、ソースコードを見やすくするために構文を少し変える場合もある。

マシンアーキテクチャ[編集]

以下はOISCアーキテクチャの例である。

  • BitBitJump
  • ByteByteJump
  • Blues Machine
  • DJN

関連項目[編集]

外部リンク[編集]