8086登場から40年。記念モデルCore i7-8086K登場

Intel 40周年記念版CPU - 5GHzまで昇圧された最速6コアプロセッサ Core i7-8086K

今のインテルのCPU、AMDのCPUは「x86」という呼び方で呼称されることがあります。

これはこのシリーズのCPUの基礎の基礎といえるCPU命令のセットを、インテルの昔の16bit CPU「8086」が最初に世に出したからです。その後のインテルCPUやその互換CPUは全てこの命令セットを基本に拡張を続けてきました。

最新のCore i7でも8086で使っていた命令は基本そのまま残っています。

そしてその8086が登場してから40年がたちました。それを記念する形でインテルから記念モデルのCore i7が発売されています。

今回はこの辺りのお話をあれこれまとめてみます。

Core i7-8086K

まずは最初に注目の新製品の情報をまとめてしまいましょう。

Core i7-8086Kは8086登場から40年と、インテルの会社としての50年を記念するモデルとして数量限定で発売されます。

ただ、発売日はインテルの創立記念日ではなく8086発売40周年の方に合わせられました。

中身は第8世代のCoreプロセッサで、今までのハイエンドモデルだったCore i7-8700Kの高クロック版という位置づけになります。

6コア12スレッド対応のCPUでGPUを統合しています。

動作クロックは定格4GHz、ターボブースト時最大5GHzで動作します。ただ、型番にKが付くモデルですから動作クロックのロックは外されていて、ユーザーがある程度自由にオーバークロックが可能なモデルになっています。

ターボブーストは稼働中のコア数によって最大動作クロックが変わりますが、Core i7-8700Kと比べて動作クロックが引き上げられているのは定格クロックと1コア動作時の最大クロックのみです。

複数コア動作時のブーストクロックは8700Kと同等になっています。このため通常の仕様としてはどちらかと言えばシングルスレッド性能を極めたモデル、といえるかもしれません。

記念モデルらしく、CPUのパッケージにはインテルのCEOのサイン入りメッセージカードが封入されるちょっと豪華な仕様になっています。

総合性能は数万倍?

とあるWeb媒体が単純な整数演算性能でオリジナルの8086とCore i7-8086Kの性能比較を行なっていました。その結果では1スレッドの動作性能はだいたい4,000倍近い性能アップになっていたそうです。

これは1コア1スレッドのみの性能比較ですから、Core i7-8086Kが全コア動作して12スレッド全てを利用するプログラムであれば、総合性能という意味では冗談ではなく本当に数万倍の性能が実現出来ると言うことになりますね。

さらにAVX系のベクトル演算を使ったり統合されているGPUにまで計算をさせれば、本当の総合性能はもっと高くなります。

40年間で実現されたCPU性能のジャンプアップ、8086時代を知る人間としてはなんとも言えない感慨のある数字になっているように思います。

パソコン黎明期の1つのブレイクスルーになったCPU

インテルの8086はインテルとしてはかなり初期の16bit CPUです。

このCPUの登場をきっかけとしてパソコンの世界は8bit CPUから16bit CPUに大きく舵を切ることになり、その後の一連の流れを生み出す最初のきっかけになりました。

実は8086は16bit CPUとしては当時の他社製品と比べて機能面では見劣りのするスペックのCPUです。使えるメモリはわずかに1MB。

しかもその1MB全てをリニアに扱える訳ではなく、64kB単位でちょっと複雑な取り扱いが必要なアーキテクチャになっていました。

その代わり8086以前の8bit CPUと比較的高い互換性を持っていて、そのあたりが受け入れられた要因なのかもしれません。結局セールス面では他社の16bit CPUを圧倒することになり、それが今のパソコンなどのCPUの状況を生んでいます。

ちなみに8086はCPU本体では浮動小数点の演算を実行出来ません。もちろんソフトウェア側で処理用のコードを書けばいいのですが、そうすると性能はがた落ち。

でも当時は複雑な処理だった浮動小数点演算を1チップにまとめる技術がありませんでした。このため浮動小数点演算専用のチップが「コプロセッサ」として準備されていました。それが「8087」です。

8087は非常に高価で当時はパソコンユーザーの憧れのオプションでした。

またCPU上に今では必須となったキャッシュメモリを持っていません。加えて外部にキャッシュメモリを持つ構造にもなっていませんでした。

8086が登場した時期のCPU性能ならば、メモリと同期して動作出来る程度の動作速度しかなかったからです。

拡張に次ぐ拡張

8086で採用されたアーキテクチャは拡張に次ぐ拡張を行なわれ続けることで、いまでもx86アーキテクチャとして使われ続けています。

でも、本当のオリジナルの、8086が持っていた命令セットがそのまま使われることはまずないでしょう。

80286の世代になって利用出来るメモリが16MBに拡張。ようやく「仮想記憶」の概念が扱えるようになりました。

80386世代で遂に32bitに拡張。厳密に見ると、80386で使われているCPU命令が現在のx86命令の基本になっています。

80486からは頭の「80」が消えてi486といった呼び方をされるようになりました。ここまできてようやくCPU本体に浮動小数点演算フロセッサが内蔵されるようになりました。

80386までのCPUではCPU命令の多くを実はCPU内部で実行するソフトウェアで実現しています。このため一部の命令の実行にはかなりの時間が必要になっていました。それをi486では基本全てハードウェアで実行する形式に変更。一気に性能がジャンプアップしています。

次は順番でいくとi586ですが、この名前は使われずに初めて製品名らしい製品名、オリジナルの方のPentiumが付けられました。「i486」といった名称では商標登録が行えなかったことが理由らしいです。

この段階でもCPU命令も拡張されていますが、一番大きなトピックは「スーパースカラー」を採用して性能のジャンプアップが図られたことでしょう。

インテルCPUではこのPentiumで現代的なCPUで使われる性能向上手段が一通り揃ったイメージでしょうか。パイプライン、アウトオブオーダー実行、スーパースカラー、分岐予測などの手法です。

その後PentiumII、PentiumIII、Pentium4と順当にアーキテクチャの拡張と性能の向上が行なわれていきます。

Pentium4では性能アップをクロック向上で行なう方向の設計が行なわれました。Ryzenの前のAMDのBulldozerアーキテクチャと同じような考え方です。CPUをシンプルに作ってクロックを上げやすくする設計ですね。

Pentium4ではクロック上昇に伴う消費電力と発熱の上昇に対処きれなくなり、同時期にAMDが開発したAthlon64などのCPUの性能が良かったことなどから、一度CPUの設計をリセットしてやり直すことになりました。

そのあと登場したのがCoreプロセッサシリーズです。このCPUは動作クロックを上げることよりも1クロックあたりの性能向上に重点を置いた作りになっています。

Coreプロセッサの登場でCPUのアーキテクチャが一新されますが、基本となるCPUの命令セットはx86を継承。

Core 2シリーズでx86命令をベースに64bit拡張を行なったx64と呼ばれる命令セットに切り替わり、現在のCoreプロセッサシリーズにもそれが受け継がれています。

ちなみに64bit版のx86命令セットのx64、実は基本部分はインテルのライバルでもあるAMDがまとめたものです。Pentium4時代の後期でしょうか、AMDが対抗製品として登場させたAthlon64で最初に採用されました。

それを少し遅れる形でインテルが逆輸入したようなイメージになっています。

最初に登場したときの8086プロセッサの動作クロックはわずか5MHz。それに対し今回取り上げるCore i7-8086Kでは1コアのみのブースト時限定ですが、5GHz動作を達成していて、動作クロックは40年で実に1000倍の高速化を達成しています。

CPUクロック高速化にフォーカスしたPentium4の最大の動作クロックは3.8GHzでしたが、動作クロック向上をメインのターゲットに据えていないはずの今のCoreプロセッサは、Pentium4の最大動作クロックを軽く超えて最大5GHzでの動作まで可能にしてしまいました。

改めて振り返ってみると、パソコン向けのCPUの進化の凄さがよく分かります。