私は現在、Logisim (論理ゲートのみ) を使用して 16 ビット ALU を構築しており、除算プロセスで立ち往生しています。私は現在、単純な標準の「除算アルゴリズムループ」を使用しています(以下に示すように):
- 入力値を読み取ります。
- 入力値を比較します。比較プロセスが完了するまで待ちます。
- A<B の場合、ステップ 10 に進みます。A≧B の場合、次のステップに進みます。
- A から B を引きます。
- 減算プロセスが完了するまで待ちます。
- カウントに1を追加します。
- カウントプロセスが完了するまで待ちます。
- 減算プロセスからの値を入力に書き込みます。
- ステップ 1 に進みます。
- 答えはカウント余りA
ただし、これには、大きな回答を伴うプロセスでは非常に長い時間がかかります (300 ティック サイクルを 65,000 回繰り返すのは面白くありません)。ロジックゲートを使用して実装できる、より高速な(加算および/または減算および/または乗算およびブール論理のみを使用する)同様のアルゴリズムがあるかどうか疑問に思っています。どんな助けやアイデアも大歓迎です!フレイザー