2017年2月21日火曜日

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

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

話の内容

○ハードもソフトも仕事は同じ

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

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

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

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

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

違いは速度と規模

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

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

ですが、それは理論上の話。
ハードウェアは実体を持つものなので大規模にすると値段が跳ね上がり、図体がデカくなります。
それに引き換え、ソフトウェアは大規模にするとそれを記録する媒体(ハードウェア)は大規模なものが必要になりますが、比較的影響は小さいです。1GBと4TBのハードディスクは同じ体積ですが、記録できる量は雲泥の差ですよね。

全部ハードでやってちゃ採算合わねーよということで、通常は安く、小さく、消費電力が小さく、速く完成するように“得意なことを得意な方で実現する”という選択を行います。


どっちがナニしてナニすんの

前回の記事で、定型的な演算をハードウェア内に取り込んで速くするとか書きました。また、ニュースで量子コンピュータが実現か?などと報じられたりしています。
使用頻度の非常に高い“共通した演算”や、ソフトウェアでは時間が掛かりすぎる部分を演算するためのハードウェア(専用回路)を作成し、必要時にソフトウェアがその専用回路に仕事を丸投げするという構成にして高速化を図ります。

また、カメラやビデオカメラのように大量の画素データを扱うものがあります。以前撮った写真と比較してユーザの使い方の特徴を認識する機能を作ろうとします。ハードウェアがその大量のデータから特徴を検出し、様々な判断をするとなると回路規模が膨大になってしまいます。このような大量のデータを参照して複雑な倫理が必要な場合は、ソフトウェアで判断する構成にします。


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


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

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

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

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


話の内容

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


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

コンピュータ動作原理解説

ハードとソフトの仕事の違い


スポンサーリンク



blogramのブログランキング

目次
コンピュータ(ハード/ソフト) 映画・ドラマ・芸能 変人のつぶやきとトラブル
ホームへ戻る ページ上部へ


0 件のコメント:

コメントを投稿