SSブログ

「ルネサスの本気」、SH-2Aセミナーに行ってきました。LESSON1 SH-2とSH-2Aの比較3 [RX&SH&H8]

K3300018.jpgSH-2とSH-2Aでは割込み処理も随分異なっています。

従来タイプのSH-2の割込み処理の手順は、
1.割込み要求が割込みコントローラに受け付けられる
2.ステータスレジスタ(SR)とプログラムカウンタ(PC)をスタックに退避
3.受け付けた割込みレベルを現在のSRの割込みマスクビット(Ibit)にコピー
4.受け付けた割込みに対応する割込みベクター先のアドレスにジャンプする。
となります。
ここまではハードウエアが勝手にやってくれますので、その後の処理はプログラマーがソフトウエアで行う事となります。
5.プログラマーが、割込み処理の中で使用する各種レジスタをスタックに退避する。

と、多数のレジスタの退避が必要な時に5の処理に時間が掛かってしまい、割り込みの応答性を損なってしまいます。

実際にSH-2の5を抜かした1~4までの処理でどれ位時間が掛かるかはハードウエアマニュアルに記載されていますが簡単に説明すると、

割込み要因が内蔵周辺モジュールの場合、最低で10サイクル、最大は12+メモリアクセスに必要なサイクル数となります。
割込み要因がIRQの場合、最低で12サイクル、最大は13+メモリアクセスに必要なサイクル数となります。
当然遅いメモリを使用した場合はその分時間が掛かる事になります。

※この為、割込み応答時間の観点からも可能な限りプログラムコードやスタック領域は可能な限り内蔵メモリを利用した方が良いですね。

※やっぱり最大時間の方が問題なので、ROMやRAMに内蔵メモリを使うとして1~4までに掛かる時間は、IRQに起因する場合は20サイクル、内蔵周辺の場合は19サイクルと言う事になります。

※これ本当はパイプラインの動きを図に表した方が判り易いんだけれど、ルネサスのハードウエアマニュアルの図をそのまま掲載する訳にはいかないし、かといって自分で絵を描けるほど絵心がある訳では無し。なのでそれぞれ皆さんハードウエアマニュアルをご覧下さい。
特にSH-2Aのそれは図が無いと本当に理解できない。

SH-2Aでは!、、、続く。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。