• ベストアンサー

CISC

カテゴリが分からないのでここで質問させてもらいます。CISCの算術演算命令のような新しい加算/減算命令を導入した場合「クロック・サイクル時間の延長」という変更が必要となることが一般的と書いてありました。このようにクロック・サイクル時間の延長という変更が必要となる理由って何なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Donotrely
  • ベストアンサー率41% (537/1280)
回答No.2

クロックサイクル時間の延長って、クロックサイクルが長くなると言う意味と クロックサイクル数が増えるって言う意味があると思います。 下記の理由でどちらの場合に相当するか(両方か)は自分でご判断下さい。 理由としては、処理自体が複雑なら、 処理をするのにその複雑さに見合う論理回路を通過させる必要があり、 複雑なら論理段数は多くなり、全遅延時間は大きくなります。 また、処理自体が複雑でなくても、オペランドをとってくる先が内部レジスタではなく、 複雑なアドレス修飾を必要とするような場合はそれに時間がかかったり、 演算結果が出ないとアドレスが確定しなかったりします。 最近は予測するようですが、はずれれば遅いので平均的に見て遅くなります。 あと見逃してならないのが、複雑な命令をサポートすると 全体の回路規模が大きくなるということで、 クロックを制限してしまうクリティカルパスも遅延が大きくなる傾向が 見えて来ます。 例えばキャッシュへアクセスする部分が、他の回路に圧迫されて、 どうしてもキャッシュ直近に置けなくなり、そこがクリティカルパス化したりします。

ogihs
質問者

お礼

前者の方の意味ですね。参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

追加する命令がどのくらい複雑かによりそうなんですが, 思い付く理由としては ・命令実行に必要なぎりぎりのクロックサイクルになっている ・追加する命令は, 従来からある命令よる複雑 ・だから処理にはそれまでより時間が必要 ・新しい命令が, それまでの 1クロックでは処理できない ・ということでクロックサイクルを長くする ということかなぁ? 実際には命令を追加するのと同時に設計を変更しそう (従ってこんなに単純ではない) なんだけど.

ogihs
質問者

お礼

どうもありがとうございます。参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 計算機工学のプロセッサについて教えて下い

    あるプロセッサにおいて各命令タイプの命令実行の各ステップにおける所要時間は画像の通りとする。 1 以下の2種類のプロセッサ構成方式を採った場合のクロックサイクル時間(最小値単位はns)、各命令タイプの実行所要時間(単位はns)および実行所要クロックサイクル数を求めよ   ・シングルサイクル・データパス   ・マルチサイクル・データパス   ・命令パイプライン処理 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー といった問題です 自分で解いてみたのですが解答がないため、答えが合っているのかが知りたいです ・シングルサイクル 実行時間: ロード命令   1.1+0.4+0.7+1.1+0.4=3.7ns ストア命令   1.1+0.4+0.7+1.1=3.3ns 演算命   1.1+0.4+0.7+0.4=2.6ns 分岐命令   1.1+0.4+0.8=2.3ns よってクロックサイクル時間=3.7ns ・クロックサイクル数: 実行時間=クロックサイクル数*クロックサイクル時間より ロード命令:3.7/3.7 ストア命令:3.3/3.7 演算命令:2.6/3.7 分岐命令:2.3/3.7 ・マルチサイクル 実行時間: ロード命令   (1.1*4)+(0.4*4)+(0.7*3+0.8)+(1.1*2)+0.4=11.5ns ストア命令   (1.1*4)+(0.4*4)+(0.7*3+0.8)+(1.1*2)=11.1ns 演算命令   (1.1*4)+(0.4*4)+(0.7*3+0.8)+(1.1*2)+0.4=11.5ns 分岐命令   (1.1*4)+(0.4*4)+(0.7*3+0.8)=8.9ns クロックサイクル時間は命令フェッチに合わせた4.4ns クロックサイクル数 ロード命令:5 ストア命令:4 演算命令:4 分岐命令:3 ・パイプライン 実行時間 ロード命令   1.1+0.4+0.4+0.7+1.1+0.4=4.1ns ストア命令   1.1+4.1=5.2ns 演算命令   1.1+5.2=6.3ns 分岐命令   1.1+6.3=7.4ns というのが私の考えです 全体的に自信がありません どなたかお分かりになるのでしたら教えていただけませんか 一応画像のものを手書きしておきます         命令フェッチ  レジスタ読み出し ALU演算 データアクセス レジスタ書き込み ロード命令   1100ps      400ps       700ps    1100ps        400ps ストア命令   1100ps      400ps       700ps    1100ps 演算命令    1100ps      400ps       700ps                 400ps 分岐命令    1100ps      400ps       800ps

  • コンピュータアーキテクチャ

    教えてください! クロックサイクルが80nsのプロセッサAとクロックサイクルが20nsのBがあり、両プロセッサの各命令実行に、必要なクロックサイクル数は下表に従うものとする。今プロセッサに加算命令を10回、乗算命令を4回、無条件分岐を3回実行させる場合を考える。このときプロセッサをAからBに置き換えた場合の平均的な性能向上率を求めよ。 プロセッサA      クロックサイクル数  加減算命令    5         乗除算命令    8         無条件分岐    6         プロセッサB      クロックサイクル数  加減算命令    2         乗除算命令    5         無条件分岐    20        

  • 命令の実行時間について

    「命令の実行時間=クロックサイクル時間×CPI」とあります。 で、クロックサイクル時間が「10ナノ」秒で、 「CPI」が「5」の機械語命令は、1つの命令を実行する為に、 「=10ナノ秒/クロックサイクル数×5クロックサイクル数/命令」とあります。 上記の計算式を使えば、 クロックサイクル数が「10ナノ」秒で「CPI」が「5」なので、 1つの命令を実行するのに「50ナノ」秒が必要なのは分かりますが、 上記の式の中にある、「/クロックサイクル数」・「/命令」とは 何を意味しているのでしょうか。 単位分数方式として、下記が記載されていました。 「10(ナノ秒/クロックサイクル数)×5(クロックサイクル数/命令)=50(ナノ秒/命令)」 お手数ですが、分かる方おられましたら、ご教授お願いします。 出来ましたら、詳しく解説して頂けると幸いです。 以上、よろしくお願い致します。

  • 下記の問いの解き方を教えて下さい。

     基本動作時間(クロック時間)が 3 ナノ秒の処理装置で,命令の実行に必要 なクロック数とその命令の出現比率が表に示す値である場合、この処理装置の性 能は平均約何 MIPS か。 ┌───―───────┬――――――――─────┬──────┐ │  命令の種別    │命令実行に必要なクロック数│ 出現比率 │ ├────―──────┼―――――――――────┼──────┤ │レジスタ間演算    │       4      │  40%  │ ├─────―─────┼──―――――――――――┼──────┤ │メモリ・レジスタ間演算│       8      │  50%  │ ├─────────―─┼──――――――――――─┼──────┤ |無条件分岐      |      10      |  10%  | └─────────―─┴─―――――――――───┴──────┘

  • 16ビットCPUで32ビットの計算方法

    16ビットのCPUを持つシーケンサ(PLC )で32ビットの四則演算(加算、減算、乗算、除算)をさせたいのですが、命令語にダブルワードを処理できるものがないので、演算がオーバーフローした情報から何かしら自分でプログラムを組まなければなりません。 16ビットのレジスタを使った32ビット演算の考え方を教えてください。

  • 基本情報技術者試験の午前過去問が分からなくて困っています。

    基本情報技術者試験の午前過去問が分からなくて困っています。 以下にその問題を示します。宜しくお願いします。 表のCPIと構成比率で、3種類の演算命令が合計1000000命令実行されるプログラムを、クロック周波数が1GHzのプロセッサで実行するのに必要な時間は何ミリ秒か? 表。 演算命令     CPI  構成比率(%) 浮動小数点加算  3    20 浮動小数点乗算  5    20 整数演算       2    60 解説では、(3*0.2+5*0.2+2*06)÷10^9*1000000という式になり、 答えは2.8ミリ秒となるらしいです。 なぜ、(3*0.2+5*0.2+2*06)÷10^9*1000000という式がでてくるのか、よくわかりません。一応、CPIやクロック周波数などの用語は理解しているつもりなのですが。 宜しくお願いします。

  • コンピュータアーキテクチャ

    教えてください! クロックサイクルが60nsのプロセッサAとクロックサイクルが30nsのBがあり、各プロセッサが命令を実行するのに、必要なクロックサイクルおよび、プログラム中での各命令の出現頻度(使用確率)が下表に従うとする。ここで、システムのプロセッサをAからBに置き換えた場合の平均的な性能向上率を求めよ。 プロセッサA      クロックサイクル数 命令の出現頻度 加減算命令    8        60% 乗除算命令    3        10% 無条件分岐    2        30% プロセッサB      クロックサイクル数 命令の出現頻度 加減算命令    2        50% 乗除算命令    6        20% 無条件分岐    4        30%

  • Javascriptで算術演算子を作っているのですがわかりません・・・

    あの、JavaScriptの課題で、算術演算子つくり、加算、減算、乗算、除算、整数の除算の商と余りが求めれるように、a bにそれぞれ数値を代入して計算開始というのを作りました。それで、数値以外のたとえば、アルファベットなどを代入した場合、それは数値ではありません、数値を代入してくださいというような数値の入力を促すようになるようにしたいのですが、エラーばかりでます。どのようにソースを打ったら良いのかさっぱりわかりません。教えてください!!よろしくおねがいします。

  • CISCとRISCの移植性について

    こんにちわ. CISCとRISCの基本的な違いについては調べればいくつものサイトが出てくるのですが,移植性について根本的に分からないことがあったので質問させていただきます. CISCは複雑な機能をハードウェア(命令セットアーキテクチャ)で実現し,RISCは単純な命令セットで複雑な機能はソフトウェアで任せるためCISCのほうが移植性が高いと言われています. 移植性が高いとは,既存のソフトウェアを変更する必要がなく新しい機種に移行できるという意味ですが,そもそもRISCもCISCも最終的には用意された命令セットアーキテクチャを使用していることには代わりがないので,単純にその命令セットが変更しなければどちらも移植が可能な気がします. そうなると,単純な命令セットしか使用しないRISCのほうがその分変更が少ないので移植性がむしろ高いと思うんですが,実際はそうではありません. ソフトウェアで実現とは,コンパイラとOSのことを指すと思うのですが基本的にこれらが提供する機能に変更がなければ既存のソフトウェアは動くと思うんです.なのでこれらのコンパイラとOSがそれらの機能を実現するために使用する命令セットさせ変更がなければ良いと思うのですが…全く分かりません. どなたか教えて頂けないでしょうか? 宜しくお願いします. ちなみに教科書以外に以下のサイトを参考に調べていました. http://www.atmarkit.co.jp/fsys/zunouhoudan/027zunou/end_of_risc.html

  • マイコンの1サイクルの処理時間について

    周波数8MHzののマイコンで、1命令(1サイクル)の処理時間を計算しています。 某サイトで、以下のような計算式があったのですが、×4している理由が分かりません。 1サイクル実行時間=4/クロック発振子の周波数 1サイクルの実行時間にはかならず4クロック要するのでしょうか? 素人質問で申し訳ありません。

このQ&Aのポイント
  • MG7730のwifi接続でのトラブルが発生しています。半日程経過するとネットワークが見つからず、エラーが出る問題が続いています。
  • Jcom HUMAX-HG100R-02JGというルーターを使用していますが、ファームウェアのアップデートなどを行っても改善されない状況です。
  • 同じ現象の方もいるようで、ルーター側の問題なのか疑問です。MG7730 wifi接続の問題を解決する方法を教えてください。
回答を見る