パイプライン制御について、その問題点を教えて下さい。最初の命令の処理結果によって、次の命令の処理結果にも連鎖して影響がある・・というようなことだったと思いますが・・・。詳しい方、よく知っている方、どうぞよろしくお願いします。

A 回答 (2件)

 パイプライン制御の問題点は、分岐命令との相性が悪いという点です。



 パイプライン制御は、命令列が途切れなくパイプラインに送り込まれ続ける場合に効力を発揮します。しかし、実際のプログラムの中には命令の分岐があります。すなわち、次にどの命令を処理すべきなのかが事前には分からないことがあります。

 分岐、すなわち命令のジャンプが生じるとパイプラインの中で実行中の命令はキャンセルしなければなりません。たとえば10段のパイプラインの中で9段まで処理が終わっていても「今のはなかったこと」にします。これをパイプラインのflushと呼びます。結果的に無駄な処理が生じます。パイプラインの段数が深くなるほどflushの被害(ペナルティ)は大きくなります。

 下のURLに図がありますのでごらんください。
http://www.watch.impress.co.jp/pc/docs/article/t …

 その対策としては「分岐予測」があります。すなわち分岐結果を予めCPUが自分で予測して、分岐先の命令列をパイプラインに詰めてしまいます。分岐予測が当たればflushは不要です。

 Pentium4などパイプライン段数が深いCPUになるほど、ペナルティを避けるために分岐予測の精度を上げる工夫がなされています。

参考URL:http://www.atmarkit.co.jp/fpc/rensai/zunouhoudan …
    • good
    • 0
この回答へのお礼

とてもわかりやすい回答、どうもありがとうございました。勉強になりました!!!
やはりamajunさんは、SEか何かなのでしょうか?マシンに詳しそうで、尊敬いたします。

お礼日時:2001/04/13 19:46

パイプライン制御ってMUの処理のことですよね。


前の処理が終る前に次の命令のフェッチをはじめるってことだと思ったので

例えば連続して同じレジスタ(やメモリ)に処理を行うもの、条件分岐前後の処理は
実行してしまうとまずいので性能低下する場合があると思います。

前者に関しては、コンパイラで最適化を行い、条件分岐については
キャッシュを行うことによって性能を維持できるのではなかったでしょうか・・・

詳しくは書籍等で学習されてはいかがでしょうか・・・
http://www.ohmsha.co.jp/data/books/contents/4-27 …
などがぱっと見つかりましたが
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございました。
とても参考になりました!!

お礼日時:2001/04/13 19:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qパイプライン方式での処理時間の求め方

応用情報の問題で、わからない所があります。

パイプラインの深さをD 、パイプラインのピッチをP 秒とすると、I 個の命令をパイプラインで実行するのに要する時間を表す式はどれか。
ここで、パイプラインの各ステージは1ピッチで処理されるものとし、パイプラインハザードについては、考慮しなくてよい。

 ア  (I +D )×P  イ  (I +D -1)×P
 ウ  (I ×D )+P  エ  (I ×D -1)+P

正解は「イ」なのですが、お恥ずかしながら全く腑に落ちません。

私の理解とそれによって導き出される式は以下のようになっています。
どこでまちがっているのか、教えていただけませんでしょうか。

◆私の理解
 パイプラインの深さをD:命令の中のステージ数はD個
 パイプラインのピッチをP 秒:1ピッチP秒かかる
 パイプラインの各ステージは1ピッチで処理:各ステージの処理はP秒かかる
 I 個の命令:命令がI個ある

◆式
 所用時間= I × (D × P)

D×Pで命令内全ステージにかかる時間を求めたつもりです。
それに命令数をかけています。

すみません、よろしくお願いいたします。

応用情報の問題で、わからない所があります。

パイプラインの深さをD 、パイプラインのピッチをP 秒とすると、I 個の命令をパイプラインで実行するのに要する時間を表す式はどれか。
ここで、パイプラインの各ステージは1ピッチで処理されるものとし、パイプラインハザードについては、考慮しなくてよい。

 ア  (I +D )×P  イ  (I +D -1)×P
 ウ  (I ×D )+P  エ  (I ×D -1)+P

正解は「イ」なのですが、お恥ずかしながら全く腑に落ちません。

私の理解とそれによって導き出される式は以下のようになって...続きを読む

Aベストアンサー

命令の個数を7、パイプラインの深さを4、パイプラインのピッチを1秒とする。

この場合、1つの命令がパイプラインを通り抜けるには4秒かかる。

そして、それぞれの命令は、1秒づつズレながら順にパイプラインに入っていく。

図にすると、以下のようになる。

 深さ4
←──→
□□□□______ 1番目のパイプに入った命令は抜けるまで4秒かかる
_□□□□_____ 2番目の命令が入るのは1ピッチ経過後。つまり1秒後
__□□□□____ 3番目の命令が入るのは2ピッチ経過後。つまり2秒後
___□□□□___ 4番目の命令が入るのは3ピッチ経過後。つまり3秒後
____□□□□__ 5番目の命令が入るのは4ピッチ経過後。つまり4秒後
_____□□□□_ 6番目の命令が入るのは5ピッチ経過後。つまり5秒後
______□□□□ 7番目の命令が入るのは6ピッチ経過後。つまり6秒後
1 2 3 4 5 67 89 10 ←(7+4-1)×1=10

最後の命令がパイプラインに入るのは「命令の個数-1ピッチ後」であり、その命令がパイプラインを通過し終わるのは、パイプラインの深さだけかかる。

つまり、最後の命令がパイプラインを通り抜け終わるのは「命令の個数-1+パイプラインの深さ」に、1ピッチの秒数を掛けた秒数が経過した時である。

「最後の命令がパイプラインを通り抜け終わる秒数」と言うのは「全部の命令を実行するのに要する時間」そのものである。

「(命令の個数-1+パイプラインの深さ)×1ピッチの秒数」を意味する式は「イ  (I +D -1)×P」である。

命令の個数を7、パイプラインの深さを4、パイプラインのピッチを1秒とする。

この場合、1つの命令がパイプラインを通り抜けるには4秒かかる。

そして、それぞれの命令は、1秒づつズレながら順にパイプラインに入っていく。

図にすると、以下のようになる。

 深さ4
←──→
□□□□______ 1番目のパイプに入った命令は抜けるまで4秒かかる
_□□□□_____ 2番目の命令が入るのは1ピッチ経過後。つまり1秒後
__□□□□____ 3番目の命令が入るのは2ピッチ経過後。つまり2秒後
___□□□□...続きを読む

Q生ごみ処理機の処理メカニズムを知りたいです。

生ごみ処理機の購入を考えています。
処理方式に大きくバイオ式と乾燥式があり、色々見てみて、乾燥式が良いのかな、という結論には達したのですが、まだまだ不明な点も多く、購入しようかどうか迷っています。
その不明な点の一つが、「乾燥式の場合、処理後のモノに水をやるとまた元の生ごみに戻る」みたいなことを聞いて出てきた、乾燥しただけでどうやってごみの量を減らすことに繋がるの?ってことです。
大雑把に、熱で分解⇒ガス発生(?)⇒ガス回収⇒ガスろ過⇒クリーンガス排出⇒モノが残る、ってところなのでしょうか。

乾燥式生ごみ処理機の処理メカニズムについて簡単に知りたいです。
ご回答よろしくお願いします。

Aベストアンサー

乾燥式の仕組みは、熱風とヒーターでただ生ゴミの水分を飛ばすだけです

ですから、バイオ式と違い大体のものは処理できます

Qパイプライン方式と非パイプライン方式

パイプライン方式はどうして非パイプライン方式に比べて高速化できるんですか?

Aベストアンサー

先の#4ですが、ごめんなさい。
 以下の部分を
----
 しかし(1)~(3)は別々の回路で実行できるので、次のように同時に実行させることができます。すると、9クロックで3処理だったのが、6クロックで3処理できるようになり、高速化となるのです。

1↓ (1)
2↓ (2)(1)
3↓ (3)(2)(1)
4↓    (3)(2)
5↓       (3)
----
次のようにしてください。
---
 しかし(1)~(3)は別々の回路で実行できるので、次のように同時に実行させることができます。すると、9クロックで3処理だったのが、5クロックで3処理できるようになり、高速化となるのです。なお、3クロックめからは、1クロックごとに処理結果を得られます。3クロックごとに結果が得れれる方式に比べて、高速化されます。

1↓ (1)
2↓ (2)(1)
3↓ (3)(2)(1)
4↓    (3)(2)
5↓       (3)
---

Q生ゴミ処理機で出たゴミの処理について

ゴミ袋を市指定の高い物を使わなくてはならなくなったのでゴミを減らしたくて生ゴミ処理機の使用を考えています。
使用する目的はゴミ袋をなるべく使わないようにしたくて、ゴミを捨てる回数を減らすことにあります。
長期間生ゴミを家に置いておくと、どんなに厳重に包んでも臭いが気になるでしょうし、処理機なら量も減らせるかなという考えです。
1.処理機でも「臭いが気になる方は○○式」というように書かれてるので、やはり臭うのでしょうか?
2.臭いが気になるからと外に置いておいてネコやカラスの被害に合いませんか?
3.処理機から出るゴミ(?処理後のもの)はどのように処理するのでしょうか?畑にまく方の話を聞いたことがありますが、全ての人が庭があるわけじゃないだろうし・・・処理後にまた可燃ゴミとして捨てるのですか?

すごく恥ずかしい質問をしてるかもしれませんが、基本的なことが分からないのでどうか教えてください。
よろしくお願いします。

Aベストアンサー

生ごみ処理機には、大きく分けて乾燥式とバイオ式があります。

私自身は生ごみ処理機を使っていませんが、バイオ式はかなり臭いと聞いた事があります。
室内に置くのであれば、絶対に乾燥式がおすすめです。

こちらのページにモニターレポートがあるので、参考になると思います。
http://national.jp/voice/product/monitor/main/ms_n21/page_01.html

処理後のごみは、2週間程度、土に混ぜて寝かせておけば、プランター等に入れて堆肥としても使えますし、普通に燃えるゴミとしてだしてもOKです。

今は、多くの自治体が補助金を出しているため、買いやすいと思います。
自治体助成金
http://www.nama53.net/jyosei/index.html

参考URLに生ごみ処理機の選び方を載せておきます。
こちらの施設では無料で家電選びのアドバイスを聞くことができます。

参考URL:http://www.tepco-switch.com/life/labo/nattoku/11-j.html

生ごみ処理機には、大きく分けて乾燥式とバイオ式があります。

私自身は生ごみ処理機を使っていませんが、バイオ式はかなり臭いと聞いた事があります。
室内に置くのであれば、絶対に乾燥式がおすすめです。

こちらのページにモニターレポートがあるので、参考になると思います。
http://national.jp/voice/product/monitor/main/ms_n21/page_01.html

処理後のごみは、2週間程度、土に混ぜて寝かせておけば、プランター等に入れて堆肥としても使えますし、普通に燃えるゴミとしてだしてもOKです。
...続きを読む

Qパイプラインについて

最近、中東問題などからよく登場する「パイプライン」ですが、ちょっと実物について調べています。

●パイプラインの大きさ(直径・長さ)
●管理などのメンテナンス方法
●安全性・耐久性
●運送量
●通過料
●どうやってパイプラインを通るのか
●敷設に関しては、国際入札を行っているのか
●敷設時の出資比率

などなど、なんでもいいのでご存じの方、教えて下さい。よろしくお願いいたします。

Aベストアンサー

●パイプラインの大きさ(直径・長さ)
パイプラインは、原油、天然ガス、精製後石油製品、上水などを輸送するさまざまなものがあります。直径は、液体であれば、MAX100cmくらい、気体は数mのものが可能だと思います。一般的には大きくても、液体で50cm、気体で100cmくらいでしょうかね。
総延長は、そのパイプラインの目的によって様々です。日本でも、ガス会社のパイプライン、石油会社の輸送用、空港燃料輸送用など様々がありますが、数kmから数100kmのものまであります。世界では、北米が最もパイプライン網が発達していて距離の非常に長いもの(数千km)があると聞いております。

●管理などのメンテナンス方法
通常、パイプ自体の設計寿命は数十年単位であり、可動部はないため点検する必要はありません。ただし、パイプラインは、送出基地(ポンプ、制御システムなど設置されている)、受入基地(タンクなど)、や緊急遮断弁ステーション(パイプライン途中に複数設置)との組み合わせ設備であり、そこにある機器は定期的に点検します。
パイプ自体の点検は、埋設されていたり、海中に敷設されているものも多いため、外部からはできない場合もあり、検査ピグという専用の砲弾形状の探傷装置をパイプの中に通して、パイプの肉厚測定を行なう技術があります。(超音波や、磁気による非破壊検査)

●安全性・耐久性
漏洩を検知した瞬間に、ところどころに設けられた緊急遮断弁により遮断します。漏洩の検知は、送出基地と受入基地の流量差検知、漏洩発生時の圧力波検知などいくつかの方法を組み合わせて行なっています。
漏洩検知システムを専用に製作・販売している会社もあります。

●運送量
配管サイズによって当然異なり、流速は3m/s(液体の場合)くらいが最大です。輸送量はパイプ断面積と、流速から計算してみてください。

●通過料
残念ながら知りません。

●どうやってパイプラインを通るのか?
人が入る方法と解釈しましたが、
通常は人は入りません。入る必要もありません。相当特殊な補修をする場合には入ることがありますが、大変危険な作業であり、その方法は細かく知りません。

●敷設に関しては、国際入札を行っているのか?
国際入札です。P/L専門のコンサルティング会社や、エンジニアリング会社もあります。日本では、大手鉄鋼メーカが、パイプの供給のみならず、敷設工事に応札しています。

●敷設時の出資比率
事業により様々ですが、大規模なものでは、その国の政府、他国政府援助、銀行団、石油会社などが出資した事業会社が設立されます。


パイプラインといっても、思っていらっしゃる以上に広い世界ですので、目的を限定して質問いただければ、さらに役立つお答えができると思います。

●パイプラインの大きさ(直径・長さ)
パイプラインは、原油、天然ガス、精製後石油製品、上水などを輸送するさまざまなものがあります。直径は、液体であれば、MAX100cmくらい、気体は数mのものが可能だと思います。一般的には大きくても、液体で50cm、気体で100cmくらいでしょうかね。
総延長は、そのパイプラインの目的によって様々です。日本でも、ガス会社のパイプライン、石油会社の輸送用、空港燃料輸送用など様々がありますが、数kmから数100kmのものまであります。世界では、北米が最もパイプライン...続きを読む

Qデバッグ<命令の無効化>

ソフトを起動する度に表示されるタイトルロゴや
使用上あまり必要の無い部分を機能させないようにしたいと思い
逆アセンブルをして解析を始めたのですが
必要の無い命令を無効にするにはどうしたらいいのでしょうか?
例えば
:0047D3EA push 000055F2
のようなダイアログ呼び出し(?)の命令があったとして
このダイアログの表示は必要無いので表示させないようにしたい
この場合どの様にして書きかえればよいのでしょうか?
バイナリエディタ等で開き書き換えるのだと思いますが
どのようにしてよいのかわかりません
また、ソフトウェア改造の違法性についても知っている方教えて下さい
アセンブリ言語初心者ですので質問に意味不明なところがあるかもしれませんが
そのへんもフォローしてお願いします

Aベストアンサー

まず、基本的に、市販のソフトウェアの場合、逆アセンブルをすることは、著作権などの関係で禁止されている場合がほとんどです。(使用許諾書を見て下さい。音楽などと違って個人での使用時でも禁じていることが多い)
上記がクリアされているとして、いらない命令はNOP(No Operation)命令(CPUによって違う名前かもしれません)で置き換えればいいと思います。ただし、置き換える命令の長さが、代わってしまうと旨く行かないので、NOPを必要な数だけ入れる必要が在るかもしれません。また、スタックの数もきちんと考える必要が有ります。
出来れば、自分で小さなアプリケーションを作成して、テストしてみると一番解りやすいと思います。

Qパイプラインの段数とクロックの関係について

Pentium4って、パイプラインの段数の構造が20段になったんですよね…?
パイプラインの段数を2倍にすると、動作クロックって大体何倍になるんでしょうか…?

変な質問して申し訳ありません。

Aベストアンサー

それは、わかりません。

一般には1.1倍かもしれないし、1.9倍かもしれません。下手すると、1倍より
下がるかも知れません。

Pentium4 に限っても、単純に段数を倍にしただけで性能を上げているんでは
なくて、それ以外の様々な改良を加えて、ようやく 2GHz 版が量産できるよう
になったはずです。それを考えれば、パイプラインの段数だけの効果では、
1.5倍も行ってないような気もします。

Q命令セットアーキテクチャとは?

学校の授業で命令セットアーキテクチャという言葉がでてくるのですが、
意味としてはHWと低レベルSWとのインターフェースとかかれているのですが、
ようするになんですか?どんな命令を組み合わせてるかの構造、
というただそれだけの意味なのでしょうか?よくわかりません。
お願いします。

Aベストアンサー

No.1の方のお話のとおりでいいと思います。

ただ、出題者(説明者)の理解不足と言う話は考えすぎではありませんか。
命令セットアーキテクチャーを素直に解釈すれば、BIOSやファームウェアは無関係のはずです。

「命令セットアーキテクチャ」はあくまでも「機械語命令の種類と数、及びそれぞれの機械語命令の書き方と動きのルール」と解釈すべきです。

ここでいう「低レベルソフトウエア」は確かに紛らわしいですが、これは機械語命令(またはアセンブラー命令)にとどめておかないと混乱を助長させるでしょう。

Qhtaccessリダイレクトの違い

htaccessリダイレクトとphp,htmlリダイレクトではどのような違いがあるのでしょうか。

また、どのようなときに使い分けをするものなのでしょうか。

ご存知の方、宜しくお願いします。

Aベストアンサー

htaccessリダイレクト:指定したサイト内URLを無条件に異なるURLに飛ばします。WEBルートへのアクセスを配下ディレクトリーに飛ばしすとか。サイトのリニューアル中とかサイト引越し中に使います。

phpまたはCGIによるリダイレクト:ブラウザの持つ環境変数を利用してリダイレクト先を指定できます。サイトが複数のドメインを持っていた場合に開くサイト名を統一したり、開くページを変えるとか。携帯等ブラウザによって開くページを変えるとか。

htmlリダイレクト:<META>もJavascriptもブラウザの設定によって無効になります。
Google等検索エンジンのリンク切れペナルティになりますのでHTMLのBODY内に転送先を必ず<a href="xxx">xxxへ自動的に飛ばない場合はここをクリック</a>でリンク記述しておく必要があります。
他のリダイレクトが使えれば利点はありません。

大まかにはこんな感じです。

Q地デジテレビについてどうぞアドバイスお願いします!

テレビの購入でパナソニックビエラか
三菱realの(どちらもDVDとブルーレイ内蔵の製品)
どちらが良いのかで主人と悩んでいます。
こちらの条件はまず、DVDとブルーレイ内蔵と
テレビでもインターネットが出来る事です。
主人はYOUTUBEが見たいそうです。
そして恥ずかしながら私がメカ音痴で主人がフランス人で難しい用語が理解不可能なので
カタログを読んだり専門用語を聞いてもイマイチピンと来ません。
恐れいりますがメカに詳しい方どうぞアドバイスをお願いします。

Aベストアンサー

ドライブ内蔵のTVはトラブルがすごいですよ。
レンタルを利用しないなら良いのですが、レンタルをよく利用するなら気をつけなければなりません

飲まれたまま出てこず、さらにTVごと持込修理 レンタルは修理から帰ってくるまで
延長なんてことは多々あることです。

ドライブが壊れたらTVごと持っていかれますからね。
別々なら、TVが壊れても、代わりの卓上テレビとかをほかの部屋から持ってくることもできますし
プレイヤーが壊れても代用があります。

それにYOUYUBEなどは、ちゃんと長い事再生できるか分かりませんよ
システムコロコロ変わりますから。PCで保存して書き直しの聞くDVD-RWなんかに焼くとか
ネットトップという超小型の3万円台のパソコンをTVの裏に設置しておけば
YOUTUBEどころかWeb閲覧もできます。

一体型は便利そうで不便になる要素が満載です。


人気Q&Aランキング

おすすめ情報