English
FAQプログラム全般
戻る進む
FAQ/プログラム全般

Work RAM High & Low



High-RAMとLow-RAMの違いは何?

Q)
「High RAM」と「Low RAM」どれほどの差があるのでしょうか? ウェイトサイクルや、RAMの速度等、ハードウェア的な観点からお答え いただけるとありがたいのですが...
また、実際に使用する際にはキャッシュが効いてくると思うのですが、 キャッシュがそれらのRAMにどの程度効果があるのでしょうか?

A)
まず、両者の置かれているアドレスですが、WORKRAM-HはシンクロナスDRAMを利用しており、06000000Hから1Mbyte、WORKRAM-LはDRAMを使用しており、00200000Hから1MByteとなっています。

これは、キャッシュ時のアドレスであり、キャッシュスルー時にはそれぞれWORKRAM-Hは26000000Hから1Mbyte、WORKRAM-Lは20200000Hから1MByteとなっています。
(HARDWARE MANUAL■1.2 SCUマッピングの項参照)

読み出し動作では、 WORKRAM-Hではキャッシュヒットの場合、ウェイトなしで読み出せますが、キャッシュミスの場合には16バイト分でアクセスが必要に なります。
WORKRAM-Hで使用しているシンクロナスDRAMでは、キャッシュミスヒット時のアクセスは大変高速で行われ、7クロック程度で16バイト分の情報を取得できます。
しかし、WORKRAM-Lの空間は14(long Wordあたりのクロック数)×4 クロック分(56クロック)かかります。

書き込み時は、1ロングワードの場合、WORKRAM-Hで4クロック、WORKRAM-Lで14クロック(1ワードの場合は7クロック)かかりますが、1ロングワード分の ライトバッファを設けているため、連続書き込みの場合はこれよりも早くなります。

以上のように、WORKRAM-HとWORKRAM-Lのキャッシュを速度が違うため、できるだけWORKRAM-H側にプログラムをおくことを推奨します。 その他、WORKRAM-LはSCUのDMA転送を使用することができません(転送先、転送元共に)のでご注意ください。

これは、このWORKRAM-Lの空間がSCUの制御外の空間になっているためです。
SH2のプログラムの高速化の手法としては、パイプライン処理を意識したプログラミングと、キャッシュを効率よく活用することを念頭に置いてプログラムの記述を行えばよいでしょう。


戻る進む
FAQプログラム全般
Copyright SEGA ENTERPRISES, LTD,. 1997