2017年2月21日火曜日

ハードの仕事とソフトの仕事 【回路やデジタルの自己満説明!】

専門外の方に回路、コンピュータの動作原理を解説し興味を持ってもらうためのブログ。今回は、ハードウェアとソフトウェアでできることを比較します。

話の内容

前回はこんな話を書きましたが、今回はこんな話です。
○ハードウェアもソフトウェアも仕事は同じ

ここでハードウェアとソフトウェアの違いを書きました。

ハードウェアとソフトウェア

再度書くと、
ハードウェアとソフトウェア
ハードウェア 電気回路
メモリ
ハードディスク
それらの複合体そのもの
ソフトウェア 記憶媒体に記録されているBIOSプログラム
パソコン上のOS
OS上で動くプログラム

では、以下に違いはあるのでしょうか。
      ハードウェアでできること
      ソフトウェアでできること

実際に機械を作らないとなかなか気付かないことだと思います。
結論は“どちらも同じことができるし、同じことしかできない。違いは速度と規模。”

違いは速度と規模

ハードとソフトの得意・不得意
ハードウェア ソフトウェア
速度 速い 遅い
規模 小規模
(大規模にすると値段が高くなりデカくなる)
大規模
(大規模にしても値段への影響が小さくデカくならない)

昔々、ビル内に真空管を並べてそのビル一つのために変電所を設けてコンピュータを構成していたという話を聞いたことがないでしょうか。やろうと思えば、東京ドームにハードウェアを並べてハードウェアだけのすんごいのも作れます。

ですが、それは理論上の話。
ハードウェアは実体を持つものなので大規模にすると値段が跳ね上がり、図体がデカくなります。
それに引き換え、ソフトウェアは大規模にするとそれを記録する媒体(ハードウェア)は大規模なものが必要になりますが、比較的影響は小さいです。
全部ハードでやってちゃ採算合わねーよということで、通常は安く、小さく、消費電力が小さく、速く完成するように“得意なことを得意な方で実現する”という選択を行います。


前回の記事で、定型的な演算をハードウェア内に取り込んで速くするとか書きました。
また、ニュースで量子コンピュータが実現か?などと報じられたりしています。
使用頻度の非常に高い“共通した演算”や、ソフトウェアでは時間が掛かりすぎる部分を演算するためのハードウェア(専用回路)を作成し、必要時にソフトウェアがその専用回路に仕事を丸投げするという構成にして高速化を図ります。
また、
カメラのように画像データを採取して大量の画素一つ一つに演算を施して一瞬で記録・表示するものがあります。
これをソフトウェアで行うとなると最新のハイスペックCPUで演算しないと処理し切れません。
このような場合は、最新のハイスペックCPUを搭載するより安く小さくできる専用回路を作成して対処します。

ケースバイケースです。
できあがる機械として、どちらが安く、小さく、消費電力が小さく、速く完成するようにできるか?それに尽きます。


なんだか偉そうにまとめる

“ハードはソフトが無ければただの箱。”という文章を耳にしますが、
ここで言ってるハードは商品、ソフトは仕様を元に作成したアプリケーション(サードパーティ製含めて)。

世の中が進んできてハードとソフトの専門家を区別する傾向にありますが、エンジニアは、上の文章が何を指しての文章であるかをはっきりと認識していないとマズイのでは?と思います。ハード、ソフトの両輪を駆使して機械を作る必要があるからです。

“ハードはソフトが無ければただの箱。ソフトはハードが無ければただのメモ。”


話の内容

こんな話でしたが内容は伝わりましたでしょうか。
○ハードウェアもソフトウェアも仕事は同じ


【関連記事】  同じ速度でなぜ動く
bit数の大きなコンピュータは速い
1バイト…1バイト…
なんで16進数!?(怒)



スポンサーリンク

スポンサーリンク



0 件のコメント:

コメントを投稿