とある科学の備忘録

とある科学の備忘録

CやPythonのプログラミング、Arduino等を使った電子工作をメインに書いています。また、木製CNCやドローンの自作製作記も更新中です。たまに機械学習とかもやってます。

【パソコン】パソコンの動作原理

パソコンの動作原理について解説します。
※わかりやすくするため、一部不適切な表現があるかもしれません。

1.パソコンの中身

パソコンの中身は、おおざっぱに言うと、このような構成になっています。
f:id:pythonjacascript:20181124131552j:plain

このように、パソコン一台の中に、CPUやメモリーなど、多くの部品で成り立っているのです。それぞれの機能について簡単に紹介します。

CPU

f:id:pythonjacascript:20181124132215j:plain
Central Processing Unit (中央処理装置)の略です。
主に計算処理や機器制御を行います。コンピューターの頭脳ともいえる重要な部品です。CPUの処理速度が、パソコン作業時の処理速度に大きく関係してきます。
また、CPUの中にも、演算結果などを一時的に記録する「キャッシュ」と呼ばれる部分があります。

モリー

f:id:pythonjacascript:20181124132254j:plain
英語で書くとMemoryで、主記憶装置と言う意味です。
メモリの役割は、「データを保存」することです。
CPUで演算したデータの計算結果を保存したり、反対にハードディスクに保存されているデータをCPUに渡すときの仲介者としての役割を果たします。

モリー内には大量のデータが保存されていますが、それぞれのデータは「アドレス」というものを持っています。メモリーは、多くのデータを収納(記憶)するための箱のようなものがずらっと並んでいるイメージです。そしてアドレスは、データが格納されている箱の位置を示しています。よって、特定のデータにアクセスするときには、そのデータのアドレスを使ってデータを読み込みます。
因みに、C言語の「ポインタ」がこれにあたります。

このメモリーは高速で読み書きができるという利点があります。なので、CPUでハードディスクのデータをいじる場合、一旦ハードディスクのデータをメモリーに移して、メモリ上で作業するとより高速にデータ処理を行ことができます。

しかし、メモリーの中のデータは電源が落ちると消えてしまいます。
そのため、パソコンの電源を切ってもデータを保持しておきたい時には、メモリーではなくハードディスクに保存する必要があります。

このように、電源がなくてもデータを保持できるメモリーSRAM(Static Random Access Memory)、電源が供給されている間だけデータを保持できるメモリをDRAMDynamic Random Access Memory)と言います。


GPU

f:id:pythonjacascript:20181124132307j:plain:h300

GPUは、映像処理を担当する計算装置です。GPUは、マザーボードに実装されているもの(オンボード型)と、デスクトップのPCに増設して取り付けるもの(グラフィックボード)があります。後者の場合、GPUを搭載したグラフィックデバイスの増設用基板を「グラフィックボード」と呼びます。

GPUがなくてもパソコンは動作します。映像処理の計算をCPUが代替して行ってくれるからです。しかし、CPUは、映像処理などの多くの計算を一度に行う計算処理に最適な回路をしていないため、GPUよりも計算処理に時間がかかってしまします。そのため、映像処理専用のチップとしてGPUが誕生したのです。

おもに映像編集におけるレンダリング作業の時間短縮などで活躍します。

また、ちょっと別の使い方として、機械学習の計算にも使われています。TensorFlowというPython機械学習用ライブラリの場合、一部のGPUを使ってより高速にディープネットワークの学習を進めることができます。


I/O

Input/Output を略した単語で、入出力装置ともいいます。

コンピュータ外部のデバイス(キーボードやマウスなど)とコンピュータを接続しています。
それらのデバイスを接続する端子の例としてUSBやHDMIなどがあります。これらの端子は、「ポート」と呼ばれる入出力専用のアドレスがあります。

HDD/SSD

f:id:pythonjacascript:20181124140147j:plain
ハードディスクの役割は、データを保存することです。
モリーも同じような機能を持っていますが、メモリーとの違いは、ハードディスクは*1半永久的にデータを保持できる、ということです。一方メモリー内のデータは、パソコンの電源を切るとなくなってしまうので、電源を切っても取っておきたいデータはハードディスクに保存されます。

ハードディスクの種類として、HDD(Hard Disk Drive)とSSD(Solid State Drive)があります。HDDはディスク(円盤)をモーターで高速回転させ、その上に磁気によってデータを書き込む記憶装置です。一方、SSD半導体素子メモリを使ってデータを記録します。このため、SSDやHDDよりも高速にデータを読み書きできるという利点があります。


バス

以上のような電子機器は、それぞれがバスと呼ばれる信号線でつながれています。
バスには アドレスバス と データバス の2種類があり,メモリや I/O に対してそれぞれアドレスとデータの信号のやり取りをします。


*1:HDDの場合は数百年、SSDの場合は10年?三か月...!?