パソコン・スマホの中の仕組み~制御系エンジニアの世界~

パソコン・スマホの中の仕組み~制御系エンジニアの世界~

今やインターネットが無ければ日常生活にも不便をきたすほどになっています。ですのパソコンやスマホは必需品と言っても良いでしょう。しかし、パソコンやスマホはどういう仕組みで動いているのでしょうか?その具体的な内容を知っている方はあまり多くはいません。それは当たり前で、これらの電子機器の中の仕組みというのは相当に複雑なのです。そこで、ここでは、パソコンを例に取って、あなたがテキストに文書を書いて保存と終了をするまでの動作を逐一、説明してみましょう。知っていたからといって、何かの役に立つ訳ではありませんが「へー、そんな事やってるんだ」とあらためて知るのも面白いかもしれません。

パソコンの電源を入れるとどうなるのか

パソコンの全体動作を制御しているのはCPUです。CENTRAL PROSSEING UNITの略で、形はこんな形をしています。

いわゆるICと同じでチップから足が沢山出ていますが、この足の中に電源供給用の足が有り、そこから電気が供給されCPUは動作を開始します。そしてCPUはメモリーが無いと動作できないので、この時にメモリにも電源が供給されます。メモリはこんな形をしています。

メモリにはROMとRAMの2種類があります。ROMはREAD ONLY MEMORY、RAMはRANDOM ACCES  MEMORYの略です。ここまではご存じの方も多いでしょう。ROMにはパソコンやスマホを動作させる最も基本となる動きをするプログラムが入っており、これが消えてしまうと動かなくなってしまうので一切、書き換えが出来ないROMに入っているのです。ちなみに最も基本的動きをするプログラムは、いわゆるOSとは違う物です。CPUは電源が入り動き始めると必ず「特定のアドレス」から命令を読み始め実行を開始します。その特定のアドレスは必ずROM内のアドレスです。アドレスというのは住所、という意味ですがメモリは、いわば情報の格納庫なので順番に番号が振られおり、それをアドレスと言うのです。動作を開始したCPUは最初、特定のアドレスに書いてある命令コードに従って動き始めますが、ROM内に書かれている命令コードは、それほど複雑な物では無くひたすら無限ループを繰り返しているだけです。つまりアクション待ち、という状態で待機しているのです。

テキスト文書を開く

あなたがマウスで編集したいテキスト文書をクリックするとMouse ControllerというICが、その動きをキャッチし「どのアイコンがクリックされたか」を判定してからCPUにIRQ信号という物を送ります。IRQは INTERRUPT REQUEST の略で、通称「割り込み信号」とも呼ばれます。IRQ信号はCPUの足のどれか1つで、そこに信号が入ってくるとCPUは無限ループをやめ「IRQ信号で指定されたアドレス」に飛びます。そして、その指定されたアドレスに格納されているプログラムの処理を開始します。テキスト文書の場合ですとハードディスク上のテキスト文書のプログラムが格納されている場所からテキストのプログラムをRAMに移す作業をしてから、読み込んだプログラムの命令を実行します。テキスト文書の場合、文書を開くという所までプロフラムされていますので読み込んだプログラムの命令に従い、テキストプログラムの内容をVRAMと呼ばれる]画像情報専用エリア(これもRAMの中です)に移していきます。そして全ての情報をVRAMに移したらCTRCと呼ばれるICに「VRAMの情報を画面に表示しろ」という命令を出して終了し、またROMに戻り無限ループに入ります。

つまりCPUは普段はROM内の命令に従い無限ループしており、IRQという割り込み信号が入ると、それに応じた作業をして、それが終わると、またROM内で無限ループに戻る、というのが全体の仕組みなのです。割り込み信号を出すのは「周辺IC」と呼ばれる、いわば手足となって動いてくれるICで用途によって実に多彩な物があります。上記の説明でCRTCというのが出てきましたが、これはCRT-Controllerという画面処理を行っているICです。

キーボードで文書を入力する

さて、これで画面上には、あなたがクリックしたテキスト文書が開き中身が画面に表示されている状態になっています。そして、キーボード上のAのキーを押したとします。するとkeyboard-contorollerがそれを感知し、押されたキーに該当する情報をRAMのメモリ上に送ってからCPUにIRQ信号を送ります。するとCPUは無限ループからIRQ信号が示すアドレスに飛び、RAMの指定されたアドレスに有る情報をVRAMに移してから、CRTCに画面に表示する命令を送って再びROMの無限ループに戻ります。すると画面上のテキストにAという文字が表示されるのです。Aのキーを押すと画面にAの文字が表示されるのは、当然の事のように思ってしまいますが、実は裏では、こんな作業が行われているのです。実際にはCPUは「0と1」だけで構成された2進数の命令でしか動きませんし、扱えるのも2進数だけです。ですので全ての情報は一旦、2進数に置き換えられてからRAMに書き込まれます。2進数は数字ですので、数字情報は問題ないのですが、そのままでは文字や記号を表す事はできません。ですのでキーボードから入ってきた文字、記号の情報はASCIIという規約に従い一旦、2進数に置き換えられCPUに処理されます。CRTCはASCIIの規約に従いVRAM上の2進数を数字、文字、記号に変換してから画面に表示します。ちょっと考えると、「ある2進数」が数字なのか文字・記号なのかが分からなくなってしまいそうですがkeyboard-contorollerは「どのキーが押されたのか」の情報を送ってくれるので数字キーであれば2進数は10進化され、文字キーであればASCII規約に基づいて文字・記号に変換して表示されるので数字と文字が混同されてしまう事はありません。

メモリのRAM内には、このようにCPUと周辺ICの情報の受け渡しをする専用エリアがICごとに設けられており、これをポートアドレス言います。そしてポートアドレスは周辺ICごとに事前に決められていますのでプログラムを作る時にはポートアドレスの情報が必要になります。とはいえ、java、C++といった高級言語では、そういった情報はあらかじめ言語内に組み込まれているのでプログラマーは意識する必要が無いのです。ポートアドレスの情報が必要なのは低級言語であるアセンブラ言語や高級言語でもアドレスを指定してプログラムできるC言語くらいの物です。

テキスト文書を保管し終了する

文書入力が終わりメニューから保管をクリックすると、Mouse Controllerはポートアドレスに「テキストの内容を保管せよ」という情報を書き込んでからIRQ信号をCPUに送ります。するとCPUはCRTCに画面情報を全てVRAMに移せ、という命令を出し、それが終わるとVRAMの情報を全てハードディスクに書き込む作業をします。次にMouse Controllerから「テキストを終了する」という情報がIRQ信号で送られてくるとCRTCに「テキスト画面を画面から除去しろ」という命令を出します。するとCRTCは画面上からテキストのプログラムから受けた画面表示情報を全て消しさる作業をしますので、画面ではテキストが終了したように見えるのです。RAM上にはテキストのプログラムが読み込まれた状態になっていますが、これはそのままで消される事はありません。もし、またテキストが呼び出されたらハードディスクからRAMに再度、読み込むのは時間がかかるので、その可能性に備え、わざと消さないようにしているのです。もし別のプログラムが呼び出され、それをRAMに読み込む時にRAMの容量が足りないと、先に読み込んでおいたテキストのプログラムをRAMから消す作業が行われ、それから別のプログラムの読み込みが始まります。これは少し時間がかかる作業ですのでRAMの容量は少しでも多い方がPCは早く動く事が出来るのです。このRAMの事を通常は「メモリ」と呼んでいます。

色々な周辺IC

いかがでしたでしょうか? 普段、何気なく使っているパソコンやスマホですが中ではこんな面倒な事が行われているのです。しかしCPUは機械ですので「面倒だからイヤだ」とは言いません。CPUは人間の作ったプログラム命令に従って動きますが、その動きとは「周辺ICと情報交換を行い命令する事」だけなのです。ですので、CPUに何が出来るかは周辺ICに何があるかで決まります。例えばモーターを使ってロボットの手足を動かす場合には信号を一回、送ると角度で1度だけ動くステッピングモーターという物を使います。もし90度、動かしたければ90回、信号を送れば良い訳で、それをやってくれるICもあります。もちろんセンサーや通信やカメラを扱う周辺ICもあります。近年はCPUを組み込んで複雑な機能を搭載している機械類が増えてきています。こういった機械向けプログラムを制作する人を制御系エンジニアと呼びますが常時、人材不足というのが現状です。ちょっと考えると、こういった物を作るのは「凄い事」ではあるのですが、ハードウェアと周辺ICの知識が必要なので難易度が高いのと制御系の知識はCPUが違うと言語も周辺ICも全て変わってしまい全く通用しないので、いわゆる「つぶしが効かない」職業でもあるのです。普通のソフトウェア会社は企業の業務システムを作るのが仕事ですので、扱う分野が違い要求される知識も全く違います。ですので、制御系エンジニアは「なるのが難しい貴重な存在」ではあるけれど、「今、いる会社を出たら次の仕事はそう簡単には見つからない」という存在でもあるのです。

タグ一覧↓

すまい給付金 イギリス ウイルス シングルマザー ジブリ スピリチュアル スポーツ スマホ ダイエット バイアス メンタルトレーニング 不動産投資 人生 住宅ローン減税 切手 動物占い 北朝鮮 営業の見える化 営業マンの交渉の極意 営業マンの売れる極意 営業マンの売れる話し方の極意 営業マンの契約する極意 営業手法 弾道ミサイル 授業 教え方シリーズ 映画 潜水艦 相手にしゃべらせる質問術 知ると面白い 節約 細菌 自動化営業法 豊かになるお金の話 買ってよかった 除毛 音楽 麻薬 龍涎香

最新記事↓