1

私は組み込みシステムのメモリ階層のトピックを研究しています。一部の組み込みSOCデバイスでは、専用のSRAMがダイに提供されます。私の質問は:

SOC組み込みSRAMが通常メインメモリシステムとキャッシュコヒーレントでないのはなぜですか?

その結果、通常、SRAMはキャッシュされていないアドレス空間にマップされます。

SRAMの内容はアプリケーションによって異なり、通常、特定のリンカーセクションが特定のデータ構造をSRAMにマップして、それらのデータへのアクセス時間を短縮します。たとえば、割り込みベクタテーブルをSRAMに配置して、アクセス時間を短縮し、決定論的な割り込み処理を強制することができます。SRAMをキャッシュすると、キャッシュミスが発生する可能性があるため、SRAMアクセスが決定論的ではなくなります。

とにかく、これがSRAMがキャッシュコヒーレントでない理由に関連しているかどうかはわかりません。

ありがとう。

4

1 に答える 1

4

ダイメモリでは、通常、非常に高速です。キャッシュとオンチップRAMの速度が同じであるかどうかに応じて、サイクルを追加し、その前にスラムを配置してアクセスを拡大することで、オンダイスラムの速度を落とすのはばかげています。これらのシステムにはオンチップフラッシュも搭載されていることが多く、実行を高速化するためにキャッシュまたは何らかのバッファリングが必要です。その場合、フラッシュの前にキャッシュが表示されます。データアクセスにsramの前にあるキャッシュを使用するには、ある種のメモリ管理、ダイのスペースを取るためのより多くのもの、および速度を落とすためのより多くのものが必要になります。

オンチップメモリ​​とオフチップメモリ​​がある場合、オフチップメモリ​​スペースにキャッシュが必要になる可能性があり、おそらく上位アドレスのビットまたはビットソリューションのように、オフチップメモリ​​のみがキャッシュされます(低速になる可能性が高いため)。

一般に、ベクターテーブルを起動するには、フラッシュが必要です。一部のシステムでは、起動後にどのメモリがそのアドレススペースに応答するかを切り替え、フラッシュ用に別のアドレススペースに分岐し、制御ビットを反転すると、ivtにRAMがあり、RAMに新しいベクターテーブルをコピーまたは作成できます。起動時にivtを保持するフラッシュメモリは、必ずしも非決定論的ではありません。オンチップRAMと同じように、非常に決定論的であることに傾倒します。おそらく、アクセスごとに数クロック遅くなります。多くの場合、割り込みやその他の実行パフォーマンスは、システムよりも言語とコンパイラによって決まります。

おそらく、混乱しているシステムを正確に指定する必要があります。

于 2012-10-28T23:29:31.577 に答える