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

実行時間

目次

    
FAQ-ID = v85exec-nnnn
0001: V850の各命令の所要クロックの記述場所 [V853, V850/S]
0002: パイプラインと命令実行速度について [V850E/IA1]
0003: ビット操作命令の実行時間 [V850/S, V850E]
0004: 内蔵周辺アクセスでの実行速度 [V850共通]
0006: 最も高速処理が可能なプログラム・エリアは? [V850共通]
0007: ほとんどの命令を 1クロックで実行できるか? [V850共通]
v85exec
-0001
V850の各命令の所要クロックの記述場所 [V853, V850/S]
Q1
各命令の所要クロックはどのマニュアルに記述されているのでしょうか?
A1
命令の実行時間は「V850ファミリ アーキテクチャ編」のマニュアルに記載されています。
なお、命令の実行時間はパイプラインの状態により異なりますので、ご注意ください。
この情報はお役にたちましたか?
back to top  

v85exec
-0002
パイプラインと命令実行速度について [V850E/IA1]
Q1
外部メモリ・アクセスは、命令フェッチかメモリ・アクセスかによらず 2クロック+ウエイト数かかり、 内蔵メモリ・アクセスは、命令フェッチかメモリ・アクセスかに関わらず 1クロックでしょうか?
A1
いいえ、違います。
V850E/IA1のメモリ・アクセス時間はハードウエア編の UMの「4.5.1 アクセス・クロック数」に記載されております。
ここに記載されたように、外部メモリ・アクセスは最低 3クロック必要です。
また、データ・アクセスと競合した場合の内蔵RAM からのフェッチは 2クロックになりますし、 内蔵ROM からのデータ・アクセスには 5クロック必要です。
この情報はお役にたちましたか?
Q2
MEMステージで内蔵RAM へ書き戻すとすると、命令の実行サイクルは
 IF + IF + ID + EX1 + MEM
(下位) (上位)

 IF+IF: 外部RAMフェッチなので 2クロックずつ合計 4クロック
 ID: 次の命令のフェッチがかかるので 2クロック
 EX1+MEM:フェッチがかからないことと内蔵RAMへのアクセスなので 1クロックずつ合計 2クロック
全体として、合計 8クロックかかるのでしょうか?
A2
いいえ違います。
外部からの命令のフェッチに関しては、バスの空き時間に先読みキューに取り込みますので、 単純に外部メモリのアクセス時間(最低3クロック)とはなりません。

この先読みキューから CPUのパイプラインに転送されますので、 上記の IF 〜 ID が全て 3クロックになるような事はございません。
逆に、SET1 や CLR1命令は EX1 - MEM - EX2 - MEM と続いていきますので、その分は長くなります。

これらの事を考慮すると、最低で (WBを含む) 7クロック以上となります。
ただし、先読みキューがそれほど埋まっているとも考えられないので、 これよりは 2、3クロックはかかると考えてください。
なお、これらの動きは前の命令に依存しますので、何クロックと規定する事はできません。
この情報はお役にたちましたか?
back to top  

v85exec
-0003
ビット操作命令の実行時間 [V850/S, V850E]
Q1
ビット・アクセス命令はリード・モディファイ・ライトの動作となるのでしょうか?
またその実行処理中に割り込みは入るのでしょうか?
A1
はい、リード・モディファイ・ライト動作となります。
このため、どちらの CPUもビット操作命令の実行は他の命令よりも余分にクロックを必要とします。
その分だけ次の命令の IF から ID の間にアイドルが 3クロック (V850/SA1の場合)、 または 2クロック (V850E/MS1の場合) 挿入されます。

この際の詳細な動作に関してはアーキテクチャ編のマニュアルの 「第8章パイプライン」のビット操作命令のところに記載されておりますので、ご参照ください。
また、リード・モディファイ・ライトの間に割り込みが入ることはありません。
この情報はお役にたちましたか?
back to top  

v85exec
-0004
内蔵周辺アクセスでの実行速度 [V850共通]
この情報はお役にたちましたか?
Q1
下記プログラムにより、P1端子にパルスを出力するのに 200ns程度かかります。
ユーザーズ・マニュアルでは「ST.B 命令は 1クロックで処理が行われる」、 とありますので 40ns程度でパルスを出力しなければならないはずですが? [V850E/MA1]
  MOV     FF,r10
  ST.B    r10,-BFE[r0]
  MOV     0,r10
  ST.B    r10,-BFE[r0]
  MOV     FF,r10
  ST.B    r10,-BFE[r0]
A1
これは内蔵周辺 (P1) をアクセスしているために、 そのアクセス時間が最低でも7クロックは 必要となることによる影響です。
このアクセス時間の分だけ実行時間が延びてしまいます。
内蔵周辺をアクセスしなければ、このように時間がかかることはありません。
この情報はお役にたちましたか?
Q2
V850E/MA1で、各I/O のアクセスには何クロックかかるでしょうか? [V850E/MA1]
A2
I/Oポート (周辺I/Oレジスタ) に対するアクセス自体は VSWCレジスタの設定で決まり、 50MHzでの推奨値12Hを使用すると6クロック必要になります。
ビット操作命令の場合にはリード・モディファイ・ライトとなるので、 アクセスは 13クロック (アクセス2回+演算) 必要となります。
この情報はお役にたちましたか?
Q3
例えば、出力ポートに 1, 0, 1, 0 をライトした時の周期 (サイクル数) を教えてください。 [V850E/MA1]
A3
連続した命令で単純に 0. 1 を出力すると 12クロックの周期となります。
ビット操作の連続では 26クロック周期となります。
これはポートのリードが必要になるためです。
この情報はお役にたちましたか?
Q4
V850/SA1を 20MHzで動作させ、以下のようなプログラムを実行させている。
P20の波形を観測すると、50ns毎に反転しないで 400nsになった。
逆アセンブルの結果でも P2.0 = ~P2.0 は1個の NOT1命令に変換されて、 余分なことは実行していない。[V850/SA1]

    while(1)
    {
         P2.0 = ~P2.0;
             :
             :
         P2.0 = ~P2.0;
    }
A4
これは、以下の 2つの要因によるものです。
1つ目は、NOT1命令自体が、ポート2 に対してリード・モディファイ・ライトの 3つの動作の組み合わせで実行されることです。
2つ目は、ポート2 に対するアクセスが 3クロック必要であることです。

備考
ほとんどの V850シリーズにおいては、 マニュアルの「バス・アクセス」の最初に内蔵メモリのアクセス速度 (クロック数) が記載されています。
デバイスによっては内蔵周辺へのアクセス速度が記載されているものもあります。
また、内蔵周辺へのアクセスの際にウエイトを指定する VSWCレジスタを内蔵しているデバイスがあり、 動作周波数に応じたウエイト数を設定する必要があります。
この情報はお役にたちましたか?
back to top  
(2003/08)

v85exec
-0006
最も高速処理が可能なプログラム・エリアは? [V850共通]
Q1
プログラムが、最も高速に処理ができるのは、どのエリアですか?
A1
最も高速な処理が可能なのは、内部ROM (フラッシュを含む) にプログラムを配置したときです。
内部のメモリからは、最速では 1クロックで 32ビットの命令をフェッチできます。
一方、外部からのフェッチは16ビット幅になり、しかも1クロックではフェッチできません。

備考
V850E/ME2の場合には内部ROM (フラッシュを含む) はございませんが、大容量の RAMを内蔵しており、
そこからは 1クロックで 32ビットの命令をフェッチできます。
また、外部バスの幅も 32ビットになっております。
この情報はお役にたちましたか?
back to top  

v85exec
-0007
ほとんどの命令を 1クロックで実行できるか? [V850共通]
Q1
V850E/MA1で、あるプログラムを動作させて時間を測定しました。
マニュアルには、「パイプライン制御によりほとんどの命令を 1クロックで実行できる」と記述されていますが、 結果はマニュアルに記載されている時間と異なります。
A1
内蔵ROM から命令をフェッチして、 パイプラインのハザードがなく動作している場合にはほとんどの命令は 1クロックで実行可能です。
しかし、外部メモリからのフェッチの場合は、1ワード (4バイト) の命令をフェッチするのに最低でも 4クロック必要となります。
(実際にはメモリのアクセス・タイムの関係からこれ以上かかります)
これだけで、命令の実行は4倍以上の時間が必要です。

さらに、実際に命令の実行時間は全命令が 1クロックではなく、2クロック必要なものもあります。
その命令の結果を次の命令で参照するような場合 (mov 3, r10 の次に st.b r10, 11[r29] のように並んでいるとき) には、実行クロックが余分に必要になります。
このような遅延要因が入り交じっていることから命令の実行時間が長くなります。

これらの動きの詳細はアーキテクチャ編UMの「5.4命令実行クロック数」を参照ください。
なお、パイプラインの動きを完全に把握するのはかなり困難です。
この情報はお役にたちましたか?
back to top  









































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