- ベストアンサー
CISC
カテゴリが分からないのでここで質問させてもらいます。CISCの算術演算命令のような新しい加算/減算命令を導入した場合「クロック・サイクル時間の延長」という変更が必要となることが一般的と書いてありました。このようにクロック・サイクル時間の延長という変更が必要となる理由って何なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
クロックサイクル時間の延長って、クロックサイクルが長くなると言う意味と クロックサイクル数が増えるって言う意味があると思います。 下記の理由でどちらの場合に相当するか(両方か)は自分でご判断下さい。 理由としては、処理自体が複雑なら、 処理をするのにその複雑さに見合う論理回路を通過させる必要があり、 複雑なら論理段数は多くなり、全遅延時間は大きくなります。 また、処理自体が複雑でなくても、オペランドをとってくる先が内部レジスタではなく、 複雑なアドレス修飾を必要とするような場合はそれに時間がかかったり、 演算結果が出ないとアドレスが確定しなかったりします。 最近は予測するようですが、はずれれば遅いので平均的に見て遅くなります。 あと見逃してならないのが、複雑な命令をサポートすると 全体の回路規模が大きくなるということで、 クロックを制限してしまうクリティカルパスも遅延が大きくなる傾向が 見えて来ます。 例えばキャッシュへアクセスする部分が、他の回路に圧迫されて、 どうしてもキャッシュ直近に置けなくなり、そこがクリティカルパス化したりします。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
追加する命令がどのくらい複雑かによりそうなんですが, 思い付く理由としては ・命令実行に必要なぎりぎりのクロックサイクルになっている ・追加する命令は, 従来からある命令よる複雑 ・だから処理にはそれまでより時間が必要 ・新しい命令が, それまでの 1クロックでは処理できない ・ということでクロックサイクルを長くする ということかなぁ? 実際には命令を追加するのと同時に設計を変更しそう (従ってこんなに単純ではない) なんだけど.
お礼
どうもありがとうございます。参考になりました。
お礼
前者の方の意味ですね。参考になりました。