コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

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

関連項目

[編集]

外部リンク

[編集]