CPU はどのトランジスタを使用するかをどのように決定するのでしょうか?

CPU はどのトランジスタを使用するかをどのように決定するのでしょうか?

おそらく私はこれについて正しく考えていないのでしょうが、CPU に Multiply Registers (MR) R2,R4 などのコマンドを与えると、CPU はどの論理ゲートを使用するかをどのように決定するのでしょうか。それは単に利用可能な最初のゲートだけなのでしょうか、それとも私が知らない裏で何かが起こっているのでしょうか。CPU には何百万もの論理ゲートがあることは理解していますが、それらの使用をどのように正しく管理するのでしょうか。

答え1

あなたの質問は、コンピュータサイエンスというよりもむしろ電気工学の分野なので、少し話題から外れますが、できることをしてみます。

乗算命令はキューに入れられ、演算処理装置入力/出力接続の 1 つに。

ALUは組み合わせ論理レイアウトでは、電気が回路全体に流れ、その出力は受信した入力に基づいて変化します。使用するゲートのセットを選択するのではなく、すべてのゲートが信号を受信しますが、回路のレイアウトによって、結果を運ぶ入力信号の再現可能な変換が作成されます。このレベルでは、デジタル ビットと同じくらいアナログ信号を扱っていることに注意してください。つまり、電気はパイプ ネットワークを通る水のように流れ、回路はさまざまな経路を通る水の量を増減させます。

命令を実行する実行ユニットは、それを処理のために ALU に送信し、次のクロック ティックで、結果が ALU 出力レジスタの 1 つで利用可能になることを期待します。詳細については、次を参照してください。https://en.wikipedia.org/wiki/算術論理ユニット#回路操作

答え2

簡単に言えば、実行しているコマンド自体がトランジスタの状態、つまり使用中のロジック ゲートを決定します。一連のバイトが参照され、その一連のバイトがプロセッサの初期状態を効果的に構成します。複数の実行ユニットを備えた最新のプロセッサでは、はるかに複雑になりますが、これが要点です。

プロセッサが起動すると、アドレス 0 になり、そのアドレスがアドレス バスに送られます。その後、アドレス 0 のバイトがデータ入力に現れるのを待ちます。これにより、プロセッサに必要な開始状態が伝えられ、次のアドレス位置がアドレス バスに送られ、次のバイトを待つという動作が繰り返されます。

すぐに完全なコマンドと、掛け合わせる必要のあるバイトが揃います。これらのバイトはすべて、実行する必要のあるタスクに合わせてプロセッサ コアを効果的に「構成」します。

完全なコマンドと必要なデータ バイトをレジスタに取り込むと、必要なコマンドを続行し、必要な一連のロジック遷移を循環させた後、結果を出力します。

関連情報