ROM化支援機能で外部RAMにプログラムを展開したら,実行速度が5倍程度遅くなった

お世話になっております.

SH2AのSH7254Rマイコンを使っています.

 

このマイコンの外部バス(図1参照)にSRAMを接続し,

0x0200 0000 から4MBのアドレスを割り当てて動作させております.(図2)

 

今まで,プログラム領域(P, Cセクション)は内蔵ROM,

staticな変数領域(Bセクション,Dセクションによって初期化されたRセクション)はSRAM,

スタックはマイコン内蔵RAM

を用いて動作させておりました.

 

先日,プログラム領域もROM化支援機能によってSRAMに割り当てて動作をさせたところ,

正常に動作しているものの,実行速度が5倍程度遅くなる,という結果となりました.

 

この速度低下の原因と,

速度低下を防ぐ方法,もしくは緩和する方法がありましたら,お伝えくださいませ.

 

どうぞよろしくお願いいたします.

 

 

 

図1

図2

Parents
  • りょうさん
    「実行速度が5倍程度遅くなった」これはそうなるでしょうということで、BUSのWAITの設定レジスターをデフォルトではなく0にすると少しは早くなると思います、外部BUSのクロック速度等も影響しますし、内臓ROMにはかなわないと思います、キャッシュRAM搭載機種ですとその設定で内臓ROMぐらいの速度も可能とは思いますが。
Reply
  • りょうさん
    「実行速度が5倍程度遅くなった」これはそうなるでしょうということで、BUSのWAITの設定レジスターをデフォルトではなく0にすると少しは早くなると思います、外部BUSのクロック速度等も影響しますし、内臓ROMにはかなわないと思います、キャッシュRAM搭載機種ですとその設定で内臓ROMぐらいの速度も可能とは思いますが。
Children
No Data