購入するとき CPU または GPU クロック速度、浮動小数点演算の数、メモリ帯域幅などの技術仕様があります。しかし、パフォーマンスを測定してプロセッサを設計する方法のXNUMXつは、命令のレイテンシと関係があります。 それが何であるか、そしてなぜより高速なCPUを取得することが非常に重要であるかを説明します。
あるプロセッサの別のプロセッサに対するパフォーマンスは、同じプログラムを解決するのにかかる時間によって測定されます。 これはさまざまな方法で実現でき、パフォーマンスを向上させて実行にかかる時間を短縮するさまざまな方法があります。 それらのXNUMXつは、実行される命令のレイテンシーを削減することです。 しかし、それは正確には何で構成されていますか?

命令レイテンシとはどういう意味ですか?

レイテンシーは、プロセッサーが命令を実行するのにかかる時間であり、データが配置されている場所から変動します。レイテンシーが遠いほど、対応するレジスターにこれらを配置するために移動する時間が長くなるためです。 これはこのためであり、メモリはプロセッサと同じ速度でスケーリングされないため、キャッシュなどのメカニズムを作成し、メモリコントローラをプロセッサ内に統合して命令のレイテンシを削減する必要がありました。
ただし、これは通常、CPUやGPUを販売する際には考慮されません。他のパフォーマンス測定値は、あるアーキテクチャが別のアーキテクチャより優れていることを示すためによく使用されます。 ただし、パフォーマンスを理解するもうXNUMXつの方法であるプロセッサをプロモートする場合、通常、命令のレイテンシは使用されません。
命令ごとのクロックサイクルとレイテンシ

パフォーマンスの最初の尺度は、命令ごとのサイクルです。これは、いくつかの異なる命令サイクルで実行する必要があるほど複雑な命令があるためです。 多くの場合、新しいプロセッサを設計するとき、アーキテクトは、CPU、GPU、またはその他のタイプのプロセッサについて話しているかどうかに関係なく、同じISAを持つ以前のプロセッサに関する命令を解決する方法を変更します。
決して変更されないのは命令の形式ですが、実行されるのはそれをスクランブルするために必要なクロックサイクルの数を削減することです。 たとえば、同じISAを搭載したプロセッサで4クロックサイクルかかり、20サイクルかかる同じ命令の以前のバージョンに比べて5%向上する、XNUMXつの数値の平均を計算する命令を作成できます。
プログラムの実行にかかる時間を短縮するために、命令の一部にかかる時間を短縮するという考え方に他なりません。 このように、全体的なパフォーマンスが向上するのは、命令の小さな加速で達成されます。
キャッシュと命令のレイテンシ

キャッシュメモリは、 RAM その時点で命令が実行されるメモリ。これにより、プロセッサはRAMにアクセスせずにメモリにアクセスできます。また、キャッシュはCPUのユニットに近いため、メモリは最終的に命令を実行できます。命令のキャプチャに必要な時間が短いため、より短い時間で。
異なるキャッシュレベルについて話しているという事実は、すべての第XNUMXレベル、第XNUMXレベル、さらには第XNUMXレベルのキャッシュが同じ距離を持ち、したがってレイテンシーがあることを意味するのではなく、アーキテクチャごとに異なることを意味します。 たとえば、現在 インテル Intelのコアであるキャッシュのレイテンシーは、競合他社の同等のものよりも低くなっています。 AMDのAMDZen。
あるバージョンから別のバージョンにアーキテクチャを改善するために、通常発生する変更のXNUMXつは、キャッシュに関するレイテンシーの減少です。 特に、同じアーキテクチャをXNUMXつのノードから別のノードに移植する場合は、プロセッササイズが小さくなり、ユニットとキャッシュの間の距離が短くなります。
チップレットとレイテンシーのジレンマ

チップレットのアイデアは、同じ機能に対してXNUMXつだけではなく複数のチップを使用することに他なりません。したがって、これにより、異なるパーツ間の通信距離が増加し、遅延が増加します。 これにより、プロセッサのモノリシックバージョンと比較してパフォーマンスが低下します。
最もよく知られているケースであるAMDRyzenの場合、チップレットに基づくバージョンとモノリシックプロセッサであるバージョンの違いを減らすXNUMXつの方法は、最終レベルのキャッシュを数秒でカットすることです。 理由? キャッシュの量が同じである場合、メモリコントローラーからの距離だけが原因でチップレットを介したバージョンでは、命令のレイテンシーが低くなり、パフォーマンスが向上します。
命令レイテンシは3DICの鍵です

3次元で統合されたチップは、特にプロセッサにメモリをスタックするチップのもうXNUMXつの重要なポイントです。 これは、メモリをプロセッサに非常に近づけたため、それだけでパフォーマンスが向上するためです。 これのトレードオフは、メモリとプロセッサ間の熱チョークであり、これによりクロック速度が低下します。一部の設計では、プロセッサとメモリを別々に配置すると、XNUMXDIC設計よりも高いクロック速度が可能になる場合があります。
メモリがプロセッサに十分近い場合、アーキテクチャのさまざまなキャッシュレベルをXNUMXつずつ通過するよりも、組み込みメモリ内のデータにアクセスするのにかかる時間が短くなるという奇妙な効果が生じる可能性があります。 キャッシュメモリは、処理するデータが離れすぎている場合の遅延を減らす方法であるため、これによりプロセッサの設計方法が完全に変わります。
距離と消費は関連しています

最後のポイントはエネルギー消費のポイントであり、データがどこにあるかによって異なります。 そのため、プロセッサの消費量に関してより最適化されたバージョンを設計する場合、プロセッサのエネルギー消費量はデータを検出する距離に応じて増加するため、データが配置される距離を短縮することが求められます。レイテンシーだけですが、残念ながら、チップのスペース内でプログラムを実行するために必要な膨大な量のデータを収めることはできません。
気候変動によるエネルギー消費が最も重要なポイントのXNUMXつになり、携帯性と低消費がセールスポイントであり、したがって多くの製品で価値がある世界では、メモリをプロセッサに近づける方法を探しているという事実、したがって命令のレイテンシーを減らします。これは、ワットあたりのパフォーマンスを向上させるために非常に重要になります。