top of page

コンピューターの仕組み

3

.

コンピューターには様々な実現方式がある。

コンピューターの黎明期から現在に至るまで、「フォンノイマン型」と呼ばれている構成が主流となっている。私たちが普段目にするコンピューターは、スマートフォンを含めて「フォンノイマン型」である。


フォンノイマン型のコンピューターは、以下の5つの要素で構成されており、それぞれが協調動作することによって、処理を実現している。


・入力装置

・出力装置

・制御装置

・演算装置

・記憶装置(主記憶装置と補助記憶装置)


入力装置は、キーボード、マウス、スマートフォンの画面等になる。ユーザーは入力装置を通してコンピューターに指示を与える。


出力装置は、ディスプレイ、プリンタ、スマートフォンの画面等になる。コンピューターによって処理された結果が表示されたり、コンピューターの状態を把握したりすることに利用する。


制御装置と演算装置はCPU(中央演算装置)を構成しており、コンピューターの心臓部となっている。


制御装置から各々の装置へ指令が出されて、データが演算装置に集められて処理される。CPUの性能が、コンピューター全体の性能に大きく影響する。GPUは画像処理専用の演算装置であり、画像処理を多用する近年のコンピューターでは不可欠な部品となっている。AIの処理に利用されることもある。


記憶装置は、主記憶装置と補助記憶装置に分けられる。

主記憶装置は高速で容量が小さく、補助記憶装置は低速で容量が大きいというのが特徴である。


補助記憶装置に格納されているプログラムとデータが主記憶装置に読みだされることで、必要な処理が行われる。主記憶装置は実行中のプログラムとデータの保存場所として使われる。


また、処理した結果を永続的にコンピューターに保存したい場合は、主記憶装置から補助記憶装置に対して書き込みを行う。主記憶装置は、電源が入っている間のみプログラムとデータを保持可能となっているが、補助記憶装置は電源が入っていないときでもデータを保持可能である。


補助記憶装置から主記憶装置への読み込み、主記憶装置から補助記憶装置への書き込みが遅い場合、コンピューター全体の性能ボトルネックになってしまう可能性がある。そのため、性能を追求したい場合は補助記憶装置にはSSD等の高速な記憶媒体を使用するのが適切である。


一方、画像や動画など、大容量のデータを保存したい場合は、ハードディスクを使うことがある。SSDは高く、ハードディスクは安いため、使用条件を考えて選択する必要がある。もちろん、両方搭載しているコンピューターも存在する。


システムの機能を実現する際は、ハードウェア(装置)で実現する方法とソフトウェア(プログラム)で実現する方法の、大きく2通りが存在する。


一般的には、“ハードウェア”と呼ばれる装置に比べてソフトウェア(プログラム)は柔軟性があり、書き換えが可能である。そのため、ソフトウェア(プログラム)を用いて機能を実現することが多い。ハードウェアは基本的に機能の書き換えができない。


1つのコンピューターは「ハードウェア<->OS<->アプリケーション」という構造になっている。OSとアプリケーションのことをまとめて“ソフトウェア(プログラム)”と呼ぶ。人間やアプリケーションはOSを通じて、ハードウェアを操作することになる。


代表的なOSとしては、Windows・Linux・Android・iOSがある。OSは、モニターに文字を表示したり、キーボードやマイクからの入力を受け付けたり、様々な基本処理を担う。アプリケーションは、OSを前提として動作する、目的特化型のプログラムのことである。


アプリケーションからハードウェアは直接見えないようになっており、OSがあることにより、ハードウェアが異なっていても、アプリケーションに対して同じ動作が基本的に担保されている。したがって、アプリケーションの開発者はOSだけを意識して開発すればよい。


OSとアプリケーションは補助記憶装置に格納されており、主記憶装置に読みだされることで処理を行う。


アプリケーションのユーザーからの指示は「アプリケーション->OS->ハードウェア」の流れで変換されて伝わっていき、最終的に目的のハードウェアが処理を行う。そして、ハードウェアの処理結果が「ハードウェア->OS->アプリケーション」の逆の流れで変換されて伝わり、ユーザーの目に見える形になる。大抵の場合、画面に処理結果が表示される。


この流れを基本として、 “アプリケーション”の部分を開発し、システムの機能を実現する。


近年はシステムの機能をハードウェア(とくに“半導体”関連の部品)で実現して、システムの性能やエネルギー効率(省電力性)を追求する例が出てきている。


アップル社が独自のCPUを開発して自社のパソコンに組み込んで発売したり、グーグル社がAIに特化した独自のCPUを開発して自社のAI関連のサービスに組み込んで利用したりしている。


目的とする処理をアプリケーションで実現しようとすると、「アプリケーション->OS->ハードウェア」の流れで変換されて処理されるため、必然的に処理のオーバーヘッドが発生し、処理の遅延および電力消費量の増大につながる。


ハードウェアで目的の処理を直接行えるようにすれば、処理のオーバーヘッドを避けることが可能になり、処理の高速化と省電力化につながる。


電力消費量を意識しなければならないポータブル機器(外に持ち運びする機器)やデータセンター(大量のコンピューターを運用する組織および建屋)、性能を追求するAI関連の処理にとっては、特に重要な考え方となっている。

bottom of page