Notifications
Article
[特別企画:Unityスタッフ連載]2週目・名雪 通 [1/5]
Updated a year ago
723
0
こんにちわこんにちわ!Unityでエンジニアをしている名雪と申します。弊社安原に続いて、今日から5日間(何書いてもいいと言われましたがあまりUnityに関係ないことを書くのもアレなので)普段みなさんがUnityを使っている時に必ず触っているであろう「コンピュータ」について話をしていきたいと思います。よろしくお願いします。

コンピュータって何?

さて、今みなさんの目の前にしているコンピュータ、いったいどのように動いているか知っているでしょうか?(スマホで見ている人もスマホもコンピュータなので問題ありません)
もちろんUnityを使う上ではコンピュータの仕組みを理解している必要はありません。ただこれはぼくの持論ですが、「プログラムをチューニングするためには(ある程度)コンピュータの仕組みを知らなければならない」と考えます。なぜなら仕組みが分かっていて初めてどんな処理にどのくらい時間がかかるかの予測がつくからです。
さっそくですが、↑が簡易的なコンピュータの仕組みの図解です(手書きで失礼)。
※最近のコンピュータはCPUとメモリの間にメモリコントローラがあったり(さらにそれがCPUに内蔵されていたり)、CPUとGPUの間に制御用のチップセットがあったりしますが、基本的な構造は同じです。

CPU

もっとも大切なのがCPU(中央演算処理装置)で、コンピュータの行う(ほぼ)すべての計算はこのCPUが処理します。Unityで書いたC#のプログラムもここで実行されるわけです。
※メーカーによっては、CPUのことをMPUと呼ぶこともありました。

メモリ

ただしCPUができるのは計算だけで、記憶することができません。プログラムやデータを記憶するためにメモリー(記憶装置)がCPUに接続されています。C#で書いたプログラムや変数の中身もここに保存されるわけです。
なお、よく混同されますが、メモリーとHDD・SSDなどのストレージとは別のものです。ストレージはもっとCPUから遠いところにあるため、この図には書いていません。
※実際は最近のCPUにはキャッシュというメモリが内蔵されています。詳しくは明日以降お話します。

GPU

さらに計算したり記憶した内容を人間に見せられるように、CPUにはGPUが接続されています。
Unityで表示している画面もGPUがHDMIなどに変換してディスプレイに出力することで目にできているわけです。
この図には書きませんでしたが、実際はGPU用のメモリーとしてビデオメモリ(VRAMとも呼ばれる)が接続されています。最近のCPUやチップセットではGPUが内蔵されているものもあり、その場合はメモリーはCPUと共有して使うことになります。
※実はGPUという呼び名は最近のもので、昔はCRTC(CRT(=ブラウン管)コントローラの略、まだ液晶モニターなんてものもなかったので)とかVDPとか呼ばれていました。

○○ビット

ところで32ビットCPU・64ビットCPUという言葉を聞いたことがあるでしょうか?
これは「そのCPUが一度に処理できる情報量」を示しています。32ビットCPUの場合、一度に32ビット(4バイト)を計算したり、メモリに保存したりできます。64ビットCPUは一度に64ビット(8バイト)の処理ができるので、32ビットCPUより高速に処理ができるということになります。
ちなみに↑の図をよく見るとCPUとメモリの間に8本の線があるのがわかるでしょうか?CPUとメモリをつなぐ線は「バス」と呼び、その線の数は「バス幅」と呼びます。つまり↑の図のCPUは8ビットCPUということです。
※厳密に言うとCPUとメモリーの間にはデータをやりとりするためのバスだけでなく、メモリーに保存/読み込みするための場所(アドレス)を指定するためのバスもあります。データ用のバスを「データバス」、アドレス用のバスを「アドレスバス」と呼びます。
※さらに厳密に言うと必ずしもデータバスのバス幅でCPUのビット数が決まるわけではなく、例外もあります。
※昔32ビットのCPUを2つ搭載して64ビット級!と言っていたマシンもありました。

それではまた明日

少し駆け足ではありますが、ここまででコンピュータの中でCPU・メモリー・GPUがどのような働きをしているかわかったでしょうか?
実際のコンピュータはさらにキーボードやマウス・タッチスクリーンからの入力を取り込むためのインターフェイスや、音声を出力するためのインターフェイスがついていますが、やはりもっとも大きな働きをしているのはCPU・メモリー・GPUの3つです。
明日はCPUについてもう少し詳しい話を投稿する予定です。ぜひUnityお学びグループに参加してください!
Tags:
Toru Nayuki
5
Comments