NEC ELECTRONICS NEC ELECTRONICS
NEC electronics NEC electronics NEC
ホーム
アプリケーション
製品情報
先端技術
サポート
WEBショップ
ニュース&イベント
会社案内
header
GO
詳細検索機能/特性検索
サイトマップ お問い合わせ

実行時間

目次

    
FAQ-ID = 78exec-nnnn
0002: SUBW命令の実行クロック数 [78K4]
0003: 命令実行時間が数種類あるのはなぜ? [78K4]
0004: 命令バイト数が数種類ある場合、どれが採用されるのか? [78K4]
0005: 78K4の最速デバイスは? [78K4]
0006: 命令キューは何バイト? [78K4]
0007: 命令キューの状態はつかめるのか? [78K4]
0008: 実行時間が計算値の数倍かかってしまいます。 [78K4]
78exec
-0002
SUBW命令の実行クロック数 [78K4]
Q1
uPD784038のユーザーズ・マニュアルには SUBW〜 の所のクロック数は 3クロックとなっていますが、 他のレジスタを使用した場合と同じ 5クロックで計算すると、ウエイト時間が合います。
また他のレジスタに変更した場合もウエイト時間は変わりません。
これはマニュアルのミスでしょうか?
A1
3クロックは命令が先読みキューに入っていることを前提にした値です。
お問い合わせの場合には分岐命令でキューが空になった状態からの実行ですので、 この場合には 3クロックとはならず、フェッチの時間が 3クロックに追加されます。
なお、アドレスが奇数か偶数かでも実行クロック数は異なります。
この情報はお役にたちましたか?
back to top  

78exec
-0003
命令実行時間が数種類あるのはなぜ? [78K4]
Q1
命令編のマニュアルには、各命令の実行クロック数が書かれていますが、 CALLや BR、RET命令にまで複数のクロック数が存在するのは何故でしょうか?
MOV命令のような RAMを操作するならわかるのですが、RET等もどこかの RAMを使ったりするのでしょうか?
A1
これは命令の実行に関連してメモリのアクセスが存在するためです。
BR命令でもメモリをアクセスする必要がないものは 1種類ですが、 レジスタで示されたメモリの内容を分岐先アドレスとするような場合はメモリがどこかで実行速度は異なります。
CALLやRETについてもスタック領域がどこにあるかで実行時間が異なります。
この情報はお役にたちましたか?
back to top  

78exec
-0004
命令バイト数が数種類ある場合、どれが採用されるのか? [78K4]
Q1
78K4の命令セットのクロック数に関して、
「命令バイト数についても "/" で区切られています。 命令バイト数と同じ側のクロック数がその命令実行時間になります。」
とあるのですが、どちらの命令バイトが選択されるかは、どこを見たらわかりますか?
A1
各製品のユーザーズ・マニュアル(ハードウエア編か命令編の命令セットの記述で、
「凡例」の「(1) オペランドの表現形式と記述方法」と
「(6) オペランドに saddr、saddrp、r、rp を含む命令のバイト数」を併せてご覧ください。

命令バイト数は、対象としているレジスタや saddr のアドレスで決まります。
たとえばレジスタについては、r1 の選択では短い命令になり、r2 の選択では長い命令になります。

r1 (X,A,B,C等のレジスタ)や r2 (D,E,H,L等のレジスタ)に何が含まれるかは、 「(1)オペランドの表現形式と記述方法」の表に記載されています。

また saddr については、そのアドレスによって saddr1 (FE00H-FEFFH) と saddr2 (FD20H-FDFFH、FF00H-FF1FH) に分類され、 saddr1 が長い命令、saddr2 が短い命令となります。
これも上記の表に記載されています。16ビットの場合も、同様の分類となります。
この情報はお役にたちましたか?
back to top  

78exec
-0005
78K4の最速デバイスは? [78K4]
Q1
uPD784038において、3.3Vでの外付け発振子の MAX周波数は?
3.3V時における、最速の 78K4デバイス名及び外付け発振子の MAX周波数は?
A1
78K4の中で 3.3Vで最も速いデバイスは uPD78403Xです。この時の発振子は 16MHzです。
この情報はお役にたちましたか?
back to top  

78exec
-0006
命令キューは何バイト? [78K4]
Q1
uPD784036の命令キューはどのくらいあるのでしょうか?(何バイト分?)
A1
命令キューは4バイト内蔵しています。
この情報はお役にたちましたか?
back to top  

78exec
-0007
命令キューの状態はつかめるのか? [78K4]
Q1
命令キューの状態が完全につかめないと正確な命令実行時間を算出できないとのことでしたが、 命令キューの状態を完全につかむにはどうすればよいのでしょうか?
A1
完全に状態をつかむことは困難です。
つかむ必要がある場合は、命令キュー及びその後の命令実行 (CPUの動作そのもの)を完全にシミュレートしなければなりません。

命令キューは実行される命令によって動作が異なります。
分岐命令でクリアされ、さらに分岐先のアドレスが奇数番地か偶数番地かの影響も受けます。
さらに命令の実行によりバスが使用されているとフェッチができません。
さらに命令をフェッチする時間の影響もありますので、簡単にはわかりません。
この情報はお役にたちましたか?
back to top  

78exec
-0008
実行時間が計算値の数倍かかってしまいます。 [78K4]
Q1
uPD784216の内部ROM でプログラムを動作させていますが、実行時間が計算値の数倍かかってしまいます。
なお、クロックは最高速に設定しています。
A1
MMレジスタの IFCHビットをセットされていないのではないでしょうか。
IFCHビットの初期値は 0 で、 この状態では内部ROMからのフェッチは外部メモリからのフェッチと同じ速度になってしまいます。
このため、IFCHビットが初期値のままでは実行速度が大きく低下します。
この情報はお役にたちましたか?
back to top  
(2003/04)









































 ご利用にあたって  個人情報保護について  RSS       © 1995-2008  NEC Electronics Corporation