OISC

この記事は英語版の対応するページを翻訳することにより充実させることができます。（2021年2月）

翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。

* 英語版記事を日本語へ機械翻訳したバージョン（Google翻訳）。
* 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にしなければなりません。これが成されていない場合、記事は削除の方針G-3に基づき、削除される可能性があります。
* 信頼性が低いまたは低品質な文章を翻訳しないでください。もし可能ならば、文章を他言語版記事に示された文献で正しいかどうかを確認してください。
* 履歴継承を行うため、要約欄に翻訳元となった記事のページ名・版について記述する必要があります。記述方法については、Wikipedia:翻訳のガイドライン#要約欄への記入を参照ください。
* 翻訳後、`{{翻訳告知|en|One-instruction set computer|…}}`をノートに追加することもできます。
* 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

## 関連項目

[編集]

* 難解プログラミング言語

## 外部リンク

[編集]

* Esolang wikiにおける、OISCの記事
* Esolang wikiにおける、Subleqの記事

* 表
* 話
* 編
* 歴

CPUテクノロジー

アーキテクチャ|

* ISA: CISC
* EDGE
* EPIC
* MISC（英語版）
* OISC
* RISC
* VLIW
* ZISC（英語版）
* ハーバード・アーキテクチャ
* ノイマン型
* 4ビット
* 8ビット
* 12ビット
* 16ビット
* 18ビット
* 24ビット
* 31ビット
* 32ビット
* 36ビット
* 48ビット
* 60ビット
* 64ビット
* 128ビット

並列処理|

| パイプライン|

* 命令パイプライン
* イン・オーダー&アウト・オブ・オーダー
* レジスタ・リネーミング
* 投機的実行

|

レベル|

* ビット
* 命令
* スーパースカラー
* データ
* タスク

スレッド|

* マルチスレッディング
* 同時マルチスレッディング
* ハイパースレッディング
* スーパースレッディング（英語版）

コア|

* シングルコア
* マルチコア
* ホモジニアスマルチコア
* ヘテロジニアスマルチコア

フリンの分類|

* SISD
* SIMD
* MISD
* MIMD

タイプ|

* マイクロプロセッサ
* DSP
* マイクロコントローラ
* System-on-a-chip
* ベクトルプロセッサ

コンポーネント|

* 演算装置
* Back-side bus
* マルチプレクサ
* デマルチプレクサ
* レジスタ
* MMU
* TLB
* キャッシュ
* レジスタファイル
* マイクロコード
* 制御装置
* CPUクロック

電源管理|

* APM
* ACPI
* Dynamic frequency scaling(英語版)
* Dynamic voltage scaling(英語版)
* Clock gating(英語版)

典拠管理データベース: 国立図書館 |

* ドイツ

|