「ルネサスの本気」、SH-2Aセミナーに行ってきました。LESSON1 SH-2とSH-2Aの比較4 [RX&SH&H8]
ところでこの写真のボードは北斗電子のボードなんですが、USBやEthernet、SDRAMがレディで最大200MHzで動作できます。http://www.hokutodenshi.co.jp/7/HSB72167F.htm
結構小さくて作りもしっかりしていてよさげなのですが、21000円かぁ。そんなに高いと言う訳でもないけれど、、、と言う事で早く何処かから電子工作ユーザーがお手軽に買えるSH-2Aボードが出ませんかね。
さて、SH-2Aの割込み処理の手順はどうなっているのか、SH-2と変わらないのか?、なんてところから調べてみましょう。例によってハードウエアマニュアルを参考にすると、
1.割込み要求が割込みコントローラに受け付けられる
2.受け付けた割込みに対応する割込みベクター先のアドレスを取得する。
3.ステータスレジスタ(SR)をスタックに退避。受け付けた割込みレベルを現在のSRの割込みマスクビット(Ibit)にコピー
4.プログラムカウンタ(PC)をスタックに退避
5.割込み処理ルーチンのアドレスにジャンプする。
となります。
ここまではハードウエアが勝手にやってくれますので、その後の処理はプログラマーがソフトウエアで行う事となります。
6.場合によっては、プログラマーが割込み処理の中で使用する各種レジスタをスタックに退避する。
あれ、若干処理の順序が変わっていますね。特に飛び先アドレスを早い段階で取得しています。これは何故でしょう。
SH-2に比較してSH-2Aの割込み応答時間の計算はえらい大変です。まず関係するクロックが3種類あります。
次に、ここが大きく改善されたところですが、レジスタの保存用に最大15レベルのレジスタバンクを利用できる様にもなった点です。
クロックから解説してみます。
SH-2の時にやったように割込み要求が発生して、それが受け付けられるまでの時間の計算ですが、もうハードウエアマニュアルを読んで欲しいのですが、
内蔵周辺IOの場合は
2Icyc+1Bcyc+2Pcycまたは2Icyc+1Bcyc+1Pcycです。
IRQが要因の場合は
2Icyc+3Bcyc+1Pcycです。
って、IcycとかBcycとかPcycって何?ってところですが、ハードウエアマニュアルのクロックパルス発振器のCPGのところを読むと詳しく書いて有ります。
IcycはCPU及び、CPUの極近くのブロックの動作クロックで、最大200MHzです。
Bcycは外部バスクロックで、最大50MHzです。
Pcycは周辺クロックで、最大50MHzです。
つまり単純にCPUクロックを基準に考えると
2Icyc+1Bcyc+2Pcyc=14サイクルとなりますか。※200MHz:50MHzなので4:1で換算
あれ!CPUクロックの周波数が上がっただけであまりSH-2と変わっていない、と言うかむしろサイクル数は増えている?、いえいえそれだけではないのです。
次回、「チート過ぎるぞSH-2A」。
結構小さくて作りもしっかりしていてよさげなのですが、21000円かぁ。そんなに高いと言う訳でもないけれど、、、と言う事で早く何処かから電子工作ユーザーがお手軽に買えるSH-2Aボードが出ませんかね。
さて、SH-2Aの割込み処理の手順はどうなっているのか、SH-2と変わらないのか?、なんてところから調べてみましょう。例によってハードウエアマニュアルを参考にすると、
1.割込み要求が割込みコントローラに受け付けられる
2.受け付けた割込みに対応する割込みベクター先のアドレスを取得する。
3.ステータスレジスタ(SR)をスタックに退避。受け付けた割込みレベルを現在のSRの割込みマスクビット(Ibit)にコピー
4.プログラムカウンタ(PC)をスタックに退避
5.割込み処理ルーチンのアドレスにジャンプする。
となります。
ここまではハードウエアが勝手にやってくれますので、その後の処理はプログラマーがソフトウエアで行う事となります。
6.場合によっては、プログラマーが割込み処理の中で使用する各種レジスタをスタックに退避する。
あれ、若干処理の順序が変わっていますね。特に飛び先アドレスを早い段階で取得しています。これは何故でしょう。
SH-2に比較してSH-2Aの割込み応答時間の計算はえらい大変です。まず関係するクロックが3種類あります。
次に、ここが大きく改善されたところですが、レジスタの保存用に最大15レベルのレジスタバンクを利用できる様にもなった点です。
クロックから解説してみます。
SH-2の時にやったように割込み要求が発生して、それが受け付けられるまでの時間の計算ですが、もうハードウエアマニュアルを読んで欲しいのですが、
内蔵周辺IOの場合は
2Icyc+1Bcyc+2Pcycまたは2Icyc+1Bcyc+1Pcycです。
IRQが要因の場合は
2Icyc+3Bcyc+1Pcycです。
って、IcycとかBcycとかPcycって何?ってところですが、ハードウエアマニュアルのクロックパルス発振器のCPGのところを読むと詳しく書いて有ります。
IcycはCPU及び、CPUの極近くのブロックの動作クロックで、最大200MHzです。
Bcycは外部バスクロックで、最大50MHzです。
Pcycは周辺クロックで、最大50MHzです。
つまり単純にCPUクロックを基準に考えると
2Icyc+1Bcyc+2Pcyc=14サイクルとなりますか。※200MHz:50MHzなので4:1で換算
あれ!CPUクロックの周波数が上がっただけであまりSH-2と変わっていない、と言うかむしろサイクル数は増えている?、いえいえそれだけではないのです。
次回、「チート過ぎるぞSH-2A」。
2010-01-29 22:45
nice!(0)
コメント(0)
トラックバック(0)
コメント 0