• 締切済み

トレードオフ2

(3)アドレッシング方式の豊富さの観点から、プログラムの書きやすさと、プログラムの実行性能の間のトレードオフについて論ぜよ。 アドレス指定方式は、実際には利用するCPUの種類ごとにどの方式が利用可能かが異なる。ゆえに豊富なアドレス指定方式を備えたCPUは実行性能は高くなるが、種類が多い分、プログラムが複雑になる。一方、アドレス指定方式が少数種類しかないCPUは豊富なアドレス指定方式を備えたCPUと比べると実行性能は低くなるが、種類が少ない分、プログラムが簡単になる。 という答えを導きました。ご確認お願い致します。

みんなの回答

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.6

#3です。 >「レジスタも多く必要になる」「CPUの命令パイプライン~」どっちもアドレッシングの豊富さとは関係ありません。 もしわけありません。 「関係ありません」はいいすぎでした。 無関係ではないですけど 「レジスタも多く必要になる」というよりは「レジスタを多くしないと性能が出ない」だと思いますし、命令パイプラインの設計も必ずしも容易になるわけではなく「命令パイプラインの設計が容易になる可能性がある」くらいかと思います。

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.5

#4の方の指摘をしたいわけではないのですが >例えば、古典的なMIPSでは通常使われる全ての命令が1命令4バイトとなっているので10命令先まで読み込んでキャッシュしておく事は非常に簡単にできますが、Intel x86では1命令が1バイトから15バイトくらいの可変長になっており、それ故に1クロックで確実に1命令(パイプラインを勘定に入れれば、実装によって2~3命令)発行できるようにするために、かなり手荒な並列計算処理を行っており、その制御回路が複雑怪奇になっていると聞きます。 って書くと、質問者さんは 命令が可変長=豊富なアドレッシング方式を持つ と勘違いされそうな。 他の質問でのやりとりとか読んでると、そんな気がします。

回答No.4

#2です。 > という風にまとめました。いかがでしょうか? 知ってる単語をただ並べても、トンチンカンなら大幅減点です・・・。 確かに、アドレッシング方式を単純なものに限ればパイプラインまわりの回路の設計「も」簡単にはなるんですが、デコーダが簡略化される方が強く効いてくるような。 例えば、古典的なMIPSでは通常使われる全ての命令が1命令4バイトとなっているので10命令先まで読み込んでキャッシュしておく事は非常に簡単にできますが、Intel x86では1命令が1バイトから15バイトくらいの可変長になっており、それ故に1クロックで確実に1命令(パイプラインを勘定に入れれば、実装によって2~3命令)発行できるようにするために、かなり手荒な並列計算処理を行っており、その制御回路が複雑怪奇になっていると聞きます。

  • wormhole
  • ベストアンサー率28% (1621/5657)
回答No.3

>複雑なアドレス方式を廃し、単純なアドレス方式だけにすると、使用する命令数が増え、レジスタも多く必要になるが、アドレス方式を単純化することで、CPUの命令パイプラインの設計が容易になるという利点がある。 「レジスタも多く必要になる」「CPUの命令パイプライン~」どっちもアドレッシングの豊富さとは関係ありません。

回答No.2

> プログラムの書きやすさと、プログラムの実行性能の間のトレードオフについて論ぜよ とあるので、「プログラムを書きやすくすると実行性能が落ちる」という事を大真面目に論じれば問題ありません、が、その答えでは結論が逆になっています。 アセンブリ言語を何種類か触った経験があればまず間違えないことなのですが、一般に、「アドレッシング方式が豊か」≒「プログラムは書きやすいが、回路の設計が複雑化する、命令長が長くなる等の問題で実行速度は犠牲になる」となります。 アドレッシング方式が豊かであるとはどういうことなのか、調べてみてはどうでしょう?

hadid_zah
質問者

補足

ご丁寧にありがとうございます。 アドレッシング方式が豊かであることはプログラムは書きやすいが回路の設計が複雑化する、命令長が長くなる等の問題で実行速度は犠牲になるためプログラムの実行性能は低くなる。 複雑なアドレス方式を廃し、単純なアドレス方式だけにすると、使用する命令数が増え、レジスタも多く必要になるが、アドレス方式を単純化することで、CPUの命令パイプラインの設計が容易になるという利点がある。 という風にまとめました。いかがでしょうか?

回答No.1

普通は、アドレッシング方式が豊富な方が、「実行性能」は低くなります。

hadid_zah
質問者

お礼

ありがとうございます。

関連するQ&A

  • アドレス指定方式におけるトレードオフ

    アドレッシング方式の豊富さの観点から、プログラムの書きやすさと、プログラムの実行性能の間のトレードオフについて論ぜよ。 という問題です。 教えて頂きたいです。 アドレス指定方式は、実際には利用するCPUの種類ごとにどの方式が利用可能かが異なる。なお、アセンブリ言語、および、機械語の機能は、CPUの機能に直接対応しており、アドレス指定についてもCPUが持つ方式をそのまま持っている。これに対して高級言語は、より抽象的なレベルでプログラムを記述するため、物理アドレス、および、物理的なアドレス指定方式は直接意識しない。 なんとなくここらへんが絡んでるかなと思っておりますが全然検討がつきません。 宜しくお願いたします。

  • デイトレードでデータを取得したい

    デイトレードを考えています。 楽天/日興ビーンズ/カブドットコムが有力候補です。 デイトレードの最中、分足など情報を保存して分析 したいのですが、どこが一番良いですか? 普通のHPであれば(ヤフー・ファイナンスのような)、 プログラム等でソース取得して、テキストで保存する ことができますが、楽天のマーケットウォーカーなどは Javaアプレットとかでできているらしく、同じように 取得できるかわかりません。 Javaアプレットにもアドレスがあって、POSTやGETなど の情報を送ることができるのでしょうか?

  • インデックスアドレス指定方式とベースアドレス指定方式の違い

    アドレス指定方式(アドレシング)についての質問です。 タイトルの通り、インデックスアドレス指定方式とベースアドレス指定方式の違いを教えていただきたいです。 参考書などでは、 ●インデックスアドレス指定方式 ・命令の番地部とインデックスレジスタの値を加算した値を有効アドレスとする ・インデックスレジスタの内容を変えるだけで別なアドレスの内容が参照できる ●ベースアドレス指定方式 ・命令の番地部が指定するアドレスに、ベースレジスタの内容を加算した値を有効アドレスとする ・ベースレジスタの値を変えるだけでプログラムが主記憶装置のどこからでも実行できる(再配置可能) となっています。 有効アドレス=番地部のアドレス+レジスタの値 となるのが同じで、基準となる値がインデックスアドレス指定方式のほうでは命令の番地部であり、ベースアドレス指定方式のほうはベースレジスタの値、ということまではわかったのですが、この「基準」が違うことでどういう違いがあるのか、具体的にどういう場合にどちらの方式が使われるのかがわかりません。 ベースアドレス指定方式の「再配置可能」という部分もどういう仕組みなのか、よくわからないです。 ご回答、よろしくお願いいたします。

  • 日経先物225でシステムトレードを始めたいのですが・・・

    これまで、現物・信用で資産運用してきましたが、 思うところがあり、日経先物225に挑戦してみようと 勉強しております。 システムトレードをされている方が多いと知り 自分なりに、簡単なシステムを作れたらと思っています。 そこで、ご存じの方がおられましたら、 是非、教えていただけないでしょうか?  ● システムを検証できるソフトを探しています。    ザラバにパソコンを見ながら、売買サインを見て    自分の裁量を加味しながら、トレードしようと考えて    いるので、5分足、10分足での検証が可能で、    移動平均線・一目均衡表・ストキャス・MACD    などを利用し検証できるものを探しています。    有料・無料を問わず、ご存じの方がおられましたら    教えていただけないでしょうか?    パイロンを試用していますが、日足・週足・月足だけのようで・・    今のところ自分でプログラムするチカラはありません。    まずは、自分の考えているトレードの勝率を検証したいのです。    売買サインを教えてくれるソフトも探しています。    不可能かもしれませんが、フリーソフトならありがたいのですが・・ また、システムトレードをされている方に、お伺いしたいのですが   ● どのようにシステムトレードされているのでしょうか?      売買サインを参考にしている。      完全に、システムに任せている・・・etc   ● システムトレードのメリット・デメリット   ● 参考になるおすすめなどがありましたら、お願いします。  

  • プロセッサの実効性能だけを2倍に向上させても

    プロセッサの実効性能だけを2倍に向上させても、コンピュータ全体の処理性能は2倍に向上しないことをキャッシュメモリを含めたメモリ階層の仕組みと関係つけて説明せよ。 という問題でまた新たに解答を考え直してみました。 メモリデバイスには、速度や記憶容量の違いなど様々な種類がありますが、高速性と大容量は両立しない。ゆえにプロセッサの実行性能、つまり高速性と大容量を二倍にしてもそれは両立できず結果的にコンピュータの処理性能は二倍にはならない。このため、主記憶には高速・小容量なメモリと低速・大容量なメモリを組合わせて、メモリアーキテクチャを設計する。 この構成方式を記憶階層と呼ぶ。 記憶階層では、参照の局所性と呼ばれる性質をうまく利用している。 メモリ内で、あるアドレスがアクセスされたとき、次にアクセスされるのは、その近辺のアドレスである可能性が高く、それを参照の局所性と呼ぶ。 ご確認お願い致します。

  • TK-85(8085)の機械語

    TK-85の機械語でアドレス指定方式の種類がわからないので、ご教授のほどお願いします。

  • システムトレードの出来るFX業者を探しています

    現在、ヒロセ通商を利用していてヒロセの4種類あるツールの中でも HIROSE-FX(通称FX1)使用しています。 このHIROSE-FXはヒロセのツールの中で唯一システムトレードが可能です。 しかし、3月末でHIROSE-FXが廃止される事になり代わりのツールを探しています。 メタトレーダー、VTトレーダー以外のツールを使用している業者でシステムトレード が可能な業者をご存知ないでしょうか? 私の希望はVTトレーダーの様にあらかじめ移動平均、MACDなどがシステムに 組み込まれていて選択可能なもので必須条件は次の通りとなります。 1.自分でプログラムを導入する必要が無くデフォルトで移動平均のクロス、   MACDのクロスでの売買が可能(メタトレーダーはデフォルトで自動売買無し) 2.リミット、ストップが設定可能、最大ポジションが設定可能   (VTトレーダーは設定無し) 3.ログオフ中でも取引可能   (VTトレーダーはログオフ中は自動売買不能) 長文ですみませんがよろしくお願いします。

  • プログラムの実行が終了したら自動的にメールを送るソフトありますか?

    オートランで順番にプログラムを実行しています。 全てのプログラムを終了したら指定したメールアドレス(携帯アドレス)へメッセージを送るソフトがあれば欲しいです。 フリーでこの様な機能を持っているソフトがあれば教えて下さい。

  • OSはどのようにして、CPUにメモリ上の物理アドレスを伝えるのか?

    一般的なシステムにおいて、プログラムを実行するには、コンパイラが再配置可能なオブジェクトファイルにして、そのオブジェクトファイルをローダがメモリ上にローディングして、CPUによって実行が行われると認識しています。 では、実際にCPUにより実行される時に、どのようにしてCPUは、ローディングされている物理アドレスを知ることが出来るのですか?一番初めにOSがどのようにCPUに先頭番地を伝えているのかが見当がつきません。例えば、486では、セグメントレジスタの値とオフセットアドレスを加算したアドレスを基にメモリとやり取りしていますが、OSがこのセグメントレジスタに先頭アドレスをどのように格納しているのかを教えてください。お願いします。

  • タスクスケジューラの設定が解らない

    windows2000を使っています。 10分ごとに指定したプログラムを実行させたいのですが、うまくできません。 毎日1回ならできたのですが・・。