• ベストアンサー

ハードウェア化すると速い?

最近ハードウェアに関する本を読んでいるんですが、ソフトウェア上で実行するアプリケーションをハードウェア化にすると高速に実行できるって書いてあります。 それはなぜですか?ソフト上では1クロックのCPUで1命令しか実行できないに対して、ハードウェアでは数命令もできるらしいですが、具体的にまだよく理解できないです。 特に最近FPGAとかを使用するとハードウェア化を実現可能ですって。。 でも、1命令でパイプライン処理するとソフト上でも数命令できると思います。 この辺はよくご存じる方がいれば是非教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • zuntac
  • ベストアンサー率36% (45/124)
回答No.3

ハードウェア化することにより処理をパイプライン処理できます。これにより処理速度を劇的に高速化できます。 例えば、テレビを組み立てる工場でたとえてみます。1台のテレビを組み立てるのに10行程があるとします。最初の行程ではTVの外箱を組み立てる、2番目の行程では電源ユニットを取り付ける、3番目ではブラウン管を取り付ける、等々です。この作業を「CPU処理する」ということは、この10の行程の全てを一人の作業者が行うといういことです。この一人の作業者は行程1から順に作業していき、行程10まで行って、やっと1台のテレビが完成します。1つの行程に10分かかるとすると、1台のテレビを作るには100分かかることになります。これに対して「専用ハードウェア化する」ということは10人の作業者を用意することです。最初の作業者は外箱を組み立てる作業のみを行います。外箱1台を作ったら、それを2番目の作業者に渡して、また外箱の組み立て作業に入ります。その間に2番目の作業者は電源ユニットの取り付けを平行して行います。つまり、流れ作業を行うということです。このように10人の作業者が1つの作業を専門に行いますので、100分の間に10台のテレビを作ることができます。つまり、「専用ハードウェア化する」ことにより「CPUで処理する」ことの10倍の速度が得られたわけです。この説明で理解の手助けとなれば幸いです。

その他の回答 (2)

  • rx-78gp03
  • ベストアンサー率43% (138/314)
回答No.2

No.1の方が言われるように特化したH/Wを導入することで専用の処理を高速化させるのと、この事によりCPUの負荷を下げることが出来るからです。(こう言った場合CPUは別のH/W機器に対して命令を送るだけなので。)

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

ハードウェア化というのは、特化するということですね。 その機能専用となるわけです。 だから、無駄な部分がなくなるため、速くなりますね。 また、HDDじゃなくて ROMなどにしたほうがアクセスの時間がかからない分 速くなります。

関連するQ&A