連載
» 2006年11月01日 10時00分 UPDATE

新約・見てわかる パソコン解体新書:第2回 Coreマイクロアーキテクチャ [前編] (1/4)

オンライン版「見てわかるパソコン解体新書」の第2回目は、インテルのCoreマイクロアーキテクチャを取り上げます。

[大島篤(文とイラスト),ITmedia]
ht_0606kaitai0.jpg

 最初のPentiumが登場したのは1993年。Pentiumの名を冠したCPUは、それから12年間進化を続けましたが、2005年発表のPentium Dがシリーズの最後のCPUとなり、2006年にはPC向けプロセッサの主力はCoreシリーズにバトンタッチすることになりました。これまでのPentium 4とは大きく異なるアーキテクチャを採用することで、高性能と低消費電力を両立させたのがCoreシリーズです。2回連続で、Coreシリーズのアーキテクチャの秘密に迫ります。

ht_0610kai01.jpg

 Pentium 4やPentium Dは、NetBurst(ネットバースト)と呼ばれるマイクロアーキテクチャを採用してきました。最大3.8GHzという動作周波数を実現し、PC用のハイエンドCPUとして数多くのパソコンに採用されてきました。しかし、NetBurstには、電力効率が悪いという大きな弱点があったのです。Pentium 4 670(3.8GHz)で最大115ワットもの電力を消費し、そのほとんどは熱になります。まるで、CPUのパッケージの中に、白熱電球のフィラメントが入っているような状況です。動作周波数を高くするほどCPUの発熱量が増大するため、予定されていた4GHz以上のPentium 4の開発はキャンセルされてしまいました。

 これからもCPUの性能を向上させて行こうとすれば、NetBurstとは異なる、電力効率のよい新しいアーキテクチャが必要なことは明らかでした。そしてインテルが生み出したのが、Core(コア)マイクロアーキテクチャと呼ばれる新世代のCPUアーキテクチャで、それを応用したCPU製品がCore 2 Duoです。

 Coreマイクロアーキテクチャを理解するには、 CPUの基本的な仕組みのほかに、NetBurstの概要と問題点を知っておく必要があります。今回はこれらをお話ししようと思います。

CPUが実行する命令ってどんなもの?

 CPUの役割は、メモリの中に記憶されたプログラムを実行することです。プログラムは、命令と呼ばれるものを組み合わせたもので、CPUにやらせる仕事の詳細をまとめた指示書です。

ht_0610kai02.jpg

 PentiumシリーズやCoreシリーズのCPUは、どれもx86命令と呼ばれる共通の命令を使います。このため、Pentiumシリーズ用に作られたプログラムは、新しいCoreシリーズのCPUでもそのまま実行可能です。

 x86命令は、全部で数百種類もあります。そのほとんどは、値を1つメモリから読むとか、足し算を1つするといった、単純な働きしかしません。しかし、CPUは毎秒数億もの命令を実行できる超絶的なスピードを持つので、結果としては非常に高度な仕事をこなすことができるのです。

 下にx86命令を5種類示します。各命令は、1から数バイトのマシンコード(機械語)として、メモリに記録されます。マシンコードのままでは、我々にはまるで意味不明なので、各命令には人間に理解可能なアセンブリ言語という表記方法が用意されています。たとえば50というマシンコードは、アセンブリ言語では push eax と書きます。この命令の働きは、「eaxレジスタをスタックメモリに退避(プッシュ)する」というものであり、アセンブリ言語はその働きをシンボル化したものとなっています。プログラマーは、アセンブリ言語の形で命令をいくつも書き連ねることで、プログラムを作ることができます。

ht_0610kai03.jpg

       1|2|3|4 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.