非エンジニアでも知らないとヤバイCPU Part2
コラムコア、クロック周波数
前回の非エンジニアでも知らないとヤバイCPU Part1
では、CPUの処理性能がわかるクロック周波数と、CPUの中心をになっているコアについて触れました。
今回は、処理を効率よく進めるためのキャッシュメモリとスレッドについて触れていきます。
処理全体のバランスをとるキャッシュメモリ
以前、CPUの処理速度がかなりのスピードで高速化していた。
しかし、データを記憶する記憶装置であるメモリの性能は大きく向上しなかった。
なので、両者の性能が大きく開いてしまった。
これによってどのような問題が起きるかというと、CPUが高速で処理をし、メモリからデータを要求した際に、メモリの反応が遅いので、CPUは処理を終えているが次の処理を行うことが出来ず、全体の処理速度が著しく下がってしまう。
この現象をメモリ遅延という。
この問題を緩和したのが、キャッシュメモリである。
CPUとメモリの間に高速なキャッシュメモリを設けて、速度差を緩衝している。
キャッシュメモリには、超高速の記憶素子であるSRAMを使用し、メインメモリには低速で安価なDRAMを使用する。
しかし、キャッシュ(1次)を設けても、CPUとメモリの差が大きすぎるので、なかなか処理速度の差が縮まらない。
そこで、1次キャッシュだけでなく、2次・3次キャッシュを設けることで、全体の速度バランスをとっている。
一般的にCPUから遠ざかるにつれて、キャッシュの速度を遅くなり、容量は大きくなる。
マルチタスク能力を上がるスレッド
スレッドとはCPUが同時に担当できる仕事の数。
1スレッドの場合、1つの仕事しかできないが、2、3スレッドを増えるにつれて同時にこなせる仕事が増える。
正確に言えば、同時に処理ができないわけではないが、1スレッドの場合に2つの仕事が来たときに余っているスペースで処理することはできるが、効率よく処理をこなすことができない。
スレッドが増えてもコア数が増えるわけではないので格段に処理能力が上がるわけではないが、複数の仕事を効率よく処理できるので、処理がスムーズになることを体感でき、マルチタスク能力が上がる。
まとめ
キャッシュメモリやスレッドなどの機能を駆使して、現在のコンピュータの処理速度は向上している。
次回もCPUの性能について触れていきます。
株式会社Knocknote代表取締役。大学卒業後不動産営業に従事した後、ITの重要性を強く感じエンジニアへ転職。ソーシャルゲーム開発、スマホアプリやPepperアプリの企画及び開発、高校でのプログラミング講師などの業務に携わる。2017年1月に創業。現在はプログラミング教育事業、システム開発事業を展開。今後は海外向けの教育事業をさらに拡大させていく事が目標。著書:『作って学べるUnity超入門』(技術評論者)