ハードウェアとソフトウェア
携帯電話の機能について、電話機能以外で考えたことありますか、、、???
①画面表示
②音楽機能
③インターネット
(メールもインターネット機能の一部分です)
④カメラ
⑤外部記憶装置
、、、、、
など色々とあります。ハードウェアはこれらを司る装置です。その装置を操るのがソフトウェアです。
集積回路の発達に伴い、ハードウェアをコントロールする様々な[コントローラ]も、かなりコンパクトになりました。
このコントローラにデータを送ったり、受けとったりするシステムがソフトウェア、詰まりプログラムです。
画面表示の図解
┌──────┐
│携帯画面表示│
└─┬─┬──┘
↓ ↑
┌──────┐
│ハードウェア│
└─┬─┬──┘
↓ ↑
┌──────┐
│コントローラ│
└─┬─┬──┘
↓ ↑ポートアドレス
┌──────┐
│ソフトウェア│---
└─┬─┬──┘ §
↓ ↑ §
┌──────┐ §
│コマンド選択│ §
└──┬────┬§
↑Yes. ↓§
判断| $§
` /\` §
` / \ No §
┤要素*├-┐ §
` \ /` ↓ §
` \/ ` §
| §
↓ §
---
[ソフトウェア]から
[要素*]まで、
§の部分がプログラムです。
[↑、↓]は、データの移動です。
データのやり取りには、ポート(港)に、IN、OUT命令を使っていましたが、最近のマシンではアクセススピードの短縮で、メモリーマップドIOアドレスで、やり取りをします。
このIOアドレスは普段は、メモリーの裏に隠れていて、マシン語プログラムで操作しないとフリーにアクセスはできません。
IOはIn、Outの頭文字の略語です。
判断、要素部分のプログラムにバクがあれば、大変な事態が起こります。
【バク】
虫、からきた言葉で欠陥があるという意味合いです。虫くいで穴があいている、詰まりボロボロなプログラムという意味合いでしょう。
■タグ:バグ
ヒギンズコンピュータ講座
