今日もPower9 CPUアーキテクチャのUsers Manualを読んでいきます。
原著は以下からダウンロードできます。
https://openpowerfoundation.org/?resource_lib=power9-processor-users-manual
Page29から開始していきます。
From a logical perspective, the POWER9 processor consists of six main components:
論理的な視点から、POWER9プロセッサは6のメインのコンポーネントから成り立っています。
• POWER9 processing core including the L1 cache
L1キャッシュを含むPOWER9プロセッシングコア
• L2/L3 caches and noncacheable unit (NCU)
L2/L3キャッシュとノンキャッシャブルユニット(NCU)
noncacheable unitについてググってみると、以下のような文面がヒットしました。
The Non-Cacheable (NC) Unit is responsible for handling instruction serializing functions and performing any noncacheable operations in the storage topology.
(https://en.wikipedia.org/wiki/POWER4)
ノンキャッシャブルユニットは、シリアライズ関数の命令の扱い、ストレージのトポロジーにおけるノンキャッシャブル操作の実行に責任を負います。
うーむ何言ってるのかわからないですが、スルーしておきます。
• Processor bus fabric interconnect
プロセッサのバスの組織の相互接続の機能が、POWER9プロセッサの機能として存在するようです。
• Memory subsystem
メモリの下位組織がPOWER9プロセッサの一部として存在するのかな?
• PCIe I/O subsystem
PCIe I/Oのサブシステム
• Accelerator subsystem
アクセラレータのサブシステム
次、P30のGeneral Featureですね
The POWER9 processor can have up to 24 cores enabled on a single chip and is offered with a direct-attached memory for scale-out computers.
POWER9プロセッサは、一つのチップに24のコアを有効にすることができ、スケールアウトコンピュータ用に、メモリをダイレクトアタッチすることができるようです。
POWER9プロセッサは、以下のアーキテクチャーの機能を持つようです。
• Power ISA Architecture (Books I, II, and III), version 3.0B
Power ISAという標準規格があって、それに準拠しているようです。3冊のPDFにまとめられています。
• Linux on Power Architecture Platform Requirements
Powerアーキテクチャ上のLinuxをサポートしているようですね。
• I/O Design Architecture v2 (IODA2) Specification, Version 2.4+
IODA2をググってみたら、以下のような記述を見つけました。
The IODA2 Specification will describe the chip architecture for key aspects of PCIe-based host bridge (PHB) designs for POWER8 systems.
IODA2の仕様は、POWER8システムのPICeベースドホストブリッジのキーとなるチップのアーキテクチャを記述しているようです。
• IEEE P754-2008 floating-point compliant
IEEEで決められた浮動小数点の要求も機能として入っているようです。
• Big-endian, little-endian, strong-ordering support extension
ビッグエンディアン、リトルエンディアン、はわかるんですが、strong-orderingって何だろうと思って、調べてみたけどよくわからないです。
• 56-bit real address, 68-bit virtual address
56ビットの実アドレス、68ビットのバーチャルアドレス、物理アドレスと仮想アドレスという記述ならいかにありましたね。
The following features describe the main components of the 24-core POWER9 processor chip:
以下の機能が24コアのPOWER9プロセッサチップのメインコンポーネントを記述しています。
• POWER9 core and cache
POWER9のコアとキャッシュ。
Up to 24 processor cores
24のプロセッサコアで構成されている。最近はかなりマルチコアになってますね。タスク管理が大変そうです。
Four-slice design plus
-Branch Unit
-Decimal floating point Unit
Decimalって10進数ですよね。金融計算に使われる型。Decimalって浮動小数点演算って可能でしたっけ?
Crypto Unit
暗号ユニット、暗号ってCPUにビルトインで実装されているんですね。
Each slice can perform one FX or VSX operation per cycle and one LS operation
FX VFX LSって命令セットの一種なのかなとは思ったりします。operationというからには、そういうことみたいですね。cycleってのはCPUサイクルのことかなと思います。
Four SMT,O-o-O
SMTとはSimultaneous Multithreadingのことみたいですね。O-o-Oって何ってよくわからないです。
追記:Out of Order実行のようです。@tenmyoさんありがとうございます。
32 GPR ,32 FPR , and 64 VSR register per thread
GPRってのは、General Purpose Registerだと思います。FPRはFloating Point Register、VSRは、何かのレジスタだと思うんですが、よくわからないです。一つのスレッド(一つのコアかな?)あたりこれだけレジスタがあることになりそう。
ということで、次回に続きます。