- Community Home
- >
- HPE Community, Japan
- >
- HPE Blog, Japan
- >
- 【連載】導入前のアドバイス – プロセッサー①:Intel / AMD / プロセッサー技術
カテゴリ
Company
Local Language
フォーラム
ディスカッションボード
フォーラム
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
ディスカッションボード
フォーラム
ディスカッションボード
ディスカッションボード
ディスカッションボード
フォーラム
ディスカッションボード
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
フォーラム
ブログ
【連載】導入前のアドバイス – プロセッサー①:Intel / AMD / プロセッサー技術
この記事は2020年12月に更新されました
連載記事「導入前のアドバイス」 - プロセッサー(Intel/AMD/プロセッサー技術)編です。
今回は、サーバーの中核を担うプロセッサーについて、各半導体メーカーの特徴と、プロセッサーが持つ構造や高速化させる機能などのプロセッサー技術をご紹介します。
コンピューターにおいて、プログラムの実行により、データの処理などの演算処理を行う部品をプロセッサーと呼びます。x86サーバーの場合、プロセッサーは、主にサーバーの中核としてサーバーコンポーネントのすべての動作や演算を制御するCPU(Central Processing Unit中央演算処理装置)機能を持ったマイクロプロセッサーを指します。マイクロプロセッサーとは、複数の半導体で行われる CPU の処理を 1つの半導体チップに集積したものです。
HPE ProLiantサーバーでは、プロセッサーとして x86アーキテクチャーを採用しており、主に米Intel社製のXeonプロセッサーを採用したシステム(製品名の末尾が0で終わるサーバー 例:DL360、ML350、SY480など)と、米AMD社製のEPYCプロセッサーを採用したシステム(製品名の末尾が5で終わるサーバー 例:DL325、DL385など)を幅広い製品レンジで提供しています。
Intel XeonもAMD EPYCも、32ビットアプリケーション資産との互換性を保つために、x86命令セットアーキテクチャーに準拠しています。従って、プログラミングレベルでは、どちらのプロセッサーも基本的には同じように動作します。
Intel社とAdvanced Micro Devices (AMD)社について
現在、HPEのx86サーバーに搭載されているプロセッサーは、米Intel社製、または米Advanced Micro Devices(AMD)社製のものとなっています。
Intel社は1968年設立の半導体メーカーで、現在のPCやサーバーで広く用いられている
x86プロセッサーの元となった8086というプロセッサーを開発した会社です。8086以来x86のプロセッサーを発展させ、現在のCoreシリーズやXeonといったプロセッサーにつながっています。
Intel社とHPEは、HPE Integrityサーバーで使用されているItaniumプロセッサーの共同開発や、Core Boosting と呼ばれるサーバーチューニング機能の開発など、長く協力関係を築いています。
HPEサーバーの機能では、Core BoostingやHPE Persistent Memoryのサポートなど、Intel社製のプロセッサーでしかサポートしない機能も多くあり、AMD社製プロセッサーとの差別化につながっています。HPEのサーバーでは、DL360、DL380など、末尾が0のサーバーでIntel社製のプロセッサーが採用されています。
一方のAdvanced Micro Devices(AMD)社は1969年設立の半導体メーカーで、長くIntel社のx86互換のプロセッサーを開発してきた会社です。2003年にx86互換の64ビット プロセッサーを初めて開発し、これが現在のPC・サーバーで利用される64ビット プロセッサーの標準となりました。現在ではPC用にRyzen、サーバー用にEPYCといったプロセッサーを提供しています。
HPEはAMD社とも協力関係にあり、HPE製サーバーではDL325やDL385など、末尾が5のサーバーにAMD製のプロセッサーが採用されています。AMD製のプロセッサーは、コア数が多く、かつコアやクロック当たりの性能はIntel社製のプロセッサーと同等性能を発揮するため、CPU単体のコストパフォーマンスだけでなく、CPUソケットや、物理サーバーに紐づくソフトウェアライセンスコストの削減効果も見込めます。
プロセッサーの中身について
現在のプロセッサーは一つの巨大なLSI(Large Scale Integrated circuit:大規模集積回路)ですが、その中には全体を制御するための制御装置、計算を行う演算装置、データを一時記憶するレジスタ、メモリなど記憶装置や、周辺機器とのインターフェース等から構成されています。
さらに、最近のプロセッサーは、以前はプロセッサー本体とは別に設けられていたレジスタより多くの情報を記録し処理を高速化させるためのキャッシュメモリ、浮動小数点演算を行うための浮動小数点演算ユニット、PCI Expressのインターフェース、メモリを制御するメモリコントローラー、グラフィックを表示するためのGPUまで1つのプロセッサーのLSIの中に含まれています。
また、以前は、1つのプロセッサーのLSIには、1つ分のプロセッサーのコアしか入っていませんでした。しかし近年は1つのLSIの中にプロセッサーコアを複数搭載したマルチコアとなっており、多いものでは64個ものコアが入っている製品もあります。
キャッシュメモリについて
キャッシュメモリとは、プロセッサー内部に存在する、メインメモリよりはるかに高速に動作するメモリです。最近のプロセッサーは、一次(L1)キャッシュ、二次(L2)キャッシュ、三次(L3)キャッシュという3段階に分かれたキャッシュメモリを持っています。
一次キャッシュは一番高速ですが容量が少なく、三次キャッシュは一番低速ですが容量が大きいものです。二次キャッシュはその中間となります。
プロセッサーは、必要なデータをまず一番高速な一次キャッシュに探しに行き、無ければ二次キャッシュ、三次キャッシュと探し、最後にメインメモリに探しに行きます。キャッシュメモリにデータがあればプロセッサーの動作を高速化できるため、キャッシュメモリの容量は多いほどプロセッサーの動作は速くなります。また、現在のプロセッサーは、三次キャッシュは複数のコアでデータを共有できるような仕組みになっています。
プロセッサーのマルチコア化
マルチコアとは、1つの物理的なプロセッサーの中に、複数のプロセッサー コアを搭載する技術の事です。外見的には1つのプロセッサーですが、論理的にはコアの数だけプロセッサーがあるものとして認識されます。
後に説明するハイパースレッディング(Intel) / SMT (Simultaneous Multi-Threading) (AMD)は、1つのプロセッサー コアを複数に見せかける技術でしたが、マルチコアは実際にコアが複数あります。
2000年代前半頃までは、1つの物理的なプロセッサーには、CPUコアは1つしか無いのが当然でした(シングルコア)。そのため、複数スレッドを同時に処理しようとすると、物理的なプロセッサーを複数搭載するしかありませんでした。
しかし、後に1つの物理的なプロセッサー内部にコアを複数搭載する技術が開発され、現在では1つの物理的なプロセッサーの中に2個以上のプロセッサー コアを搭載するのが当たり前になっています。多いものでは64個ものプロセッサー コアを1つの物理的なプロセッサーの中に搭載したものもあります。
ハイパースレッディング(Intel) / SMT (Simultaneous Multi-Threading) (AMD)
米Intel社のハイパースレッディング、米AMD社のSMT (Simultaneous Multi-Threading)は、基本的には同じ技術で、プロセッサーの1つの物理的なコアを、疑似的に2つあるように見せかける技術です。これにより、本来は1つのコアでは1つの命令の流れ(スレッド)しか実行できなかったものが、並行して2つの命令の流れが実行可能になります。尚、疑似的に見せかけたコアを論理コアと言います。
現在のプロセッサーは、内部にパイプラインという、流れ作業的に命令を処理する仕組みを持っています。プロセッサーが処理を行う際、場合によって流れ作業のラインに空きが出来てしまったり、エラーを起こしてパイプライン上にある処理を全て破棄する必要が起きたりすることがあります。
こういった場合でも論理コアを複数にして命令を並列実行させると効率よく処理を行うことが出来るようになるために、この技術が開発されました。
上の図はプロセッサーのHT無しの場合とありの場合の概念図です。
ハイパースレッディング / SMT (Simultaneous Multi-Threading)なし無しの場合、1つのコアには1つのスレッドしか実行できませんが、ハイパースレッディング / SMT (Simultaneous Multi-Threading)ありの場合は、1つのコアで2つのスレッドを同時に実行可能です。
ハイパースレッディング / SMT (Simultaneous Multi-Threading)はプロセッサーによっては対応していないものもありますので、詳細はシステム構成図を参照するか、Intel社・AMD社にお問い合わせください。
システム構成図では、Overviewのプロセッサーの項目に、対応についての記載があります。
クロック周波数について
プロセッサーの性能の一つの重要な指標として、クロック周波数(動作周波数)があります。プロセッサーはその動作のタイミングを合わせるために、クロック信号という電圧が高い→電圧が低いを周期的に繰り返す信号を利用しています。一度電圧が高くなった時から次にまた電圧が高くなる時までが1クロックです。
プロセッサーはクロック信号に合わせて動作しますので、この1クロックの時間が短ければ短いほど、プロセッサーは高速に動作することになります。1秒を1クロックの時間で割ると、1秒当たりのクロック数を求めることが出来ます。これをクロック周波数といい、1秒に1クロック動作することを1Hz(ヘルツ)という単位として表されます。クロック周波数が高い=CPUは高速で動作することになります。
プロセッサーの処理能力はその構造そのものの違いにもよるので、構造の異なるプロセッサー同士の処理能力をクロック周波数の速度のみで測ることは出来ませんが、同じ構造のプロセッサー同士であればクロック周波数が高い方が高速となります。そのため、クロック周波数はプロセッサーの処理能力を見る上での重要な一つの判断材料となります。
昔のプロセッサーでは、このクロック周波数は常に固定であり、例えば2.0GHzのプロセッサーであれば動作は常に2.0GHzでした。しかし、クロック周波数が上がるとそれに比例して消費電力や発熱も増大します。そのため、プロセッサーがあまり働いていないときにもその速度を維持するのは無駄という事で、最近のプロセッサーはクロック周波数が可変になりました。これにより、あまり働いていないときにはクロック周波数を落として消費電力や発熱を抑えることが出来るようになりました。
従って、現在は「2.0GHzのプロセッサー」というと、プロセッサーの定格のクロック周波数が2.0GHzである、という意味となります。
Intelターボ ブースト テクノロジー / AMD Turbo Coreテクノロジー
Intelターボ ブースト テクノロジー、AMD Turbo Coreテクノロジーは、若干の違いはありますがどちらもほぼ同じ技術で、プロセッサーのクロック周波数を定格より速く動作させる技術です。
例えば、上図のような、プロセッサーコアが4個ある、定格のクロック周波数が2.0GHzのプロセッサーがあったとします。
現在、4個あるコアのうち1個だけは負荷が多くかかり、定格一杯の2.0GHzで動作していますが、他の3個のコアは負荷が少ないので定格より低い0.5GHzで動作しています。
この場合、負荷がかかっているコアの仕事を他に分散できればいいのですが、行っている処理によっては必ずしもそれが出来るとは限りません。そういった場合、「負荷がかかっているコアは確かに定格一杯だが、プロセッサー全体としての発熱(消費電力)はまだ余裕がある。負荷を他に分散できないのだったら、今定格一杯で動いているコアに定格を超えて出来る限り速く動いてくれた方が良いのではないか」ということで、
集中して負荷がかかっているプロセッサー コアを、本来の定格をオーバーしてクロック周波数を高く動作させる機能を設けました。これがIntelターボ ブースト テクノロジー / AMD Turbo Coreテクノロジーです。
実際にいくつのコアを同時にどのくらいまで速くできるのかは、プロセッサーやメーカーによって異なります。製品によっては、プロセッサーの全てのコアを、発熱量や温度が許す限り同時に定格オーバーで動作させられるといった製品もあります。
Intel ターボ ブースト テクノロジー / AMD Turbo Coreテクノロジーの搭載の有無や、定格を超えて最大どのくらいまでクロック周波数を上げることが出来るかについては、各社の個別の製品によって異なりますので、詳細はIntel社 / AMD社にご確認ください。
次回は、プロセッサーに関するHPE独自技術やプロセッサーの選定・名称に関してご紹介します。
- ブログへ戻る
- より新しい記事
- より古い記事
- kkuma 場所: HPE Linux技術情報サイトの歩き方~CentOS代替ディストビューション情報について~
- 土井康裕 場所: 篠田の虎の巻「PostgreSQL 15 GA 新機能検証結果」公開!
- MiwaTateoka 場所: Windows Server 2019のCertificate of Authenticity (C...
- 今更感 場所: 【連載】導入前のアドバイス – アレイコントローラー
- OEMer 場所: タイトル: HPE OEM Windows Serverのライセンスに関する質問にすべて回答しましょ...
- いわぶちのりこ 場所: 【連載】次世代ハイパーコンバージド「HPE SimpliVity」を取り巻くエコシステム ー 第3回...
- Yoshimi 場所: ジェフェリー・ムーア氏からのメッセージ - 未訳の新著 "Zone To Win" を解説! (2)...
- Yoshimi 場所: ジェフェリー・ムーア氏からのメッセージ - 未訳の新著 "Zone To Win" を解説! (...
- 三宅祐典 場所: 「HPE Synergy」 発表! ~ (3) この形・・・ ブレードサーバー??