Community Translations - How to decrease the CPU load of an AURIX™ TriCore™ CPU? – KBA234357

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Dear Sirs and Madams,

 

I would like to translate KBA234357, please confirm to my work.

KBA234357

https://community.infineon.com/t5/Knowledge-Base-Articles/How-to-decrease-the-CPU-load-of-an-AURIX-T...

 

Regards,

Masashi

0 Likes
1 Solution
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Jenna-san,

 

I translated KBA234357 into Japanese.

We would appreciate it if you could confirm.

 

Regards,

Masashi

/***************************************************************************/

AURIX™ TriCore™ CPUのCPU負荷を減らす方法は? – KBA234357

 

Version: **

質問:AURIX™ TriCore™ CPUのCPU負荷を減らす方法は?

回答:

CPUの負荷を軽減するには、次の方法を適用できます。

 1. 負荷の大部分を消費する機能とタスクの識別:

 ツールを使用して、各タスクの期間とタスクの再パーティション化を経時的に測定できます。インフィニオンのWebサイトで、この種のトレースおよびリアルタイム監視ツールを提案できるパートナーのリストを見つけることができます。

 

 さらに、各コアでいくつかのパフォーマンスカウンターを使用できます。 これらは、CPUのパフォーマンスを測定するために使用できます:CCNT(CPUクロックカウントレジスタ)、ICNT(命令カウントレジスタ)、およびMxCNT(マルチカウントレジスタx、x = 1,2,3)。

 

 2. キャッシュのアクティブ化とソフトウェアでのキャッシュ可能なアドレスの使用:

 各CPUには、データキャッシュと命令キャッシュの2種類のキャッシュがあります。 これらを個別にアクティブ化して、フラッシュリソースへの平均アクセス時間を短縮できます。

 

 3. CPUyのローカルRAMに重要なリソースをマップします(y = 0,1,2)。

 CPUxは、ローカルRAMにアクセスするために0の待機状態を必要とします。

 ほとんどの時間アクセスするCPUのDSPR(データスクラッチパッドRAM)の変数をマップします。

 この関数を呼び出すCPUxのローカルPSPR(プログラムスクラッチパッドRAM)の重要な関数のマップコード。

 

 4. コンパイラオプションの使用:

 関数とコードサイズの実行速度を上げるために、各コンパイラでいくつかのオプションを使用できます。

 

 5. 効率的なアドレス指定:

 特定のアドレス指定タイプを使用すると、実行時間を短縮できます。顧客は、リソース(レジスタ、メモリなど)にアクセスするために必要な命令が少なくなります。

 1. ショートアドレッシング(グローバルベースレジスタ(A0、A1、A8、A9)を使用したベース+ロングオフセットアドレッシングは、64 KBのアドレス範囲で効率的なデータアクセスを提供します)。

 2. ニアアドレッシング(お客様はニアセグメントを使用して変数と定数を見つけることができます(各TriCore™ 256MBメモリセグメントの最初の16KBにあります)。

 3. フラッシュにアクセスするための待機状態の構成を確認します。(ユーザーマニュアルで利用可能な計算式)。

 4. クロックが正しく構成されているかを確認します。(CPU、SRI(共有リソース相互接続)、SPB(システムペリフェラルバス)など)

  5. 潜在的な最適化の追加:

エミュレーションライブラリの代わりに、単精度浮動小数点ユニット(コンパイラオプション)を使用できます。

--no-doubleオプションを設定することにより、コンパイラはdouble型の変数をfloatとして扱います。

 

 9. 組み込み関数:

 いくつかの組み込み関数は、Cで同等性を持たない特定のアセンブリ命令を使用するために提案されます。

 

 10. 重要な機能/タスクは、アセンブラによる指示を最適化:

この場合、TriCore™スーパースカラーパイプラインの使用を最適化します(命令IP、LS、およびLPのシーケンスで遅延時間を最適化します)。

インラインアセンブラはCコードで直接使用できます(C変数をオペランドとして渡すことができます)。

詳細については、アプリケーションノートAP32168を参照してください。

 

注:このKBAは、次の一連のAURIX™ MCUに適用されます。

AURIX™ TC2xxシリーズ
AURIX™ TC3xxシリーズ

View solution in original post

0 Likes
3 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Masashi-san

Confirm to work this KBA.

Please work to do.

Thanks. 

Jenna Jo
Jenna Jo
0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Jenna-san,

 

I translated KBA234357 into Japanese.

We would appreciate it if you could confirm.

 

Regards,

Masashi

/***************************************************************************/

AURIX™ TriCore™ CPUのCPU負荷を減らす方法は? – KBA234357

 

Version: **

質問:AURIX™ TriCore™ CPUのCPU負荷を減らす方法は?

回答:

CPUの負荷を軽減するには、次の方法を適用できます。

 1. 負荷の大部分を消費する機能とタスクの識別:

 ツールを使用して、各タスクの期間とタスクの再パーティション化を経時的に測定できます。インフィニオンのWebサイトで、この種のトレースおよびリアルタイム監視ツールを提案できるパートナーのリストを見つけることができます。

 

 さらに、各コアでいくつかのパフォーマンスカウンターを使用できます。 これらは、CPUのパフォーマンスを測定するために使用できます:CCNT(CPUクロックカウントレジスタ)、ICNT(命令カウントレジスタ)、およびMxCNT(マルチカウントレジスタx、x = 1,2,3)。

 

 2. キャッシュのアクティブ化とソフトウェアでのキャッシュ可能なアドレスの使用:

 各CPUには、データキャッシュと命令キャッシュの2種類のキャッシュがあります。 これらを個別にアクティブ化して、フラッシュリソースへの平均アクセス時間を短縮できます。

 

 3. CPUyのローカルRAMに重要なリソースをマップします(y = 0,1,2)。

 CPUxは、ローカルRAMにアクセスするために0の待機状態を必要とします。

 ほとんどの時間アクセスするCPUのDSPR(データスクラッチパッドRAM)の変数をマップします。

 この関数を呼び出すCPUxのローカルPSPR(プログラムスクラッチパッドRAM)の重要な関数のマップコード。

 

 4. コンパイラオプションの使用:

 関数とコードサイズの実行速度を上げるために、各コンパイラでいくつかのオプションを使用できます。

 

 5. 効率的なアドレス指定:

 特定のアドレス指定タイプを使用すると、実行時間を短縮できます。顧客は、リソース(レジスタ、メモリなど)にアクセスするために必要な命令が少なくなります。

 1. ショートアドレッシング(グローバルベースレジスタ(A0、A1、A8、A9)を使用したベース+ロングオフセットアドレッシングは、64 KBのアドレス範囲で効率的なデータアクセスを提供します)。

 2. ニアアドレッシング(お客様はニアセグメントを使用して変数と定数を見つけることができます(各TriCore™ 256MBメモリセグメントの最初の16KBにあります)。

 3. フラッシュにアクセスするための待機状態の構成を確認します。(ユーザーマニュアルで利用可能な計算式)。

 4. クロックが正しく構成されているかを確認します。(CPU、SRI(共有リソース相互接続)、SPB(システムペリフェラルバス)など)

  5. 潜在的な最適化の追加:

エミュレーションライブラリの代わりに、単精度浮動小数点ユニット(コンパイラオプション)を使用できます。

--no-doubleオプションを設定することにより、コンパイラはdouble型の変数をfloatとして扱います。

 

 9. 組み込み関数:

 いくつかの組み込み関数は、Cで同等性を持たない特定のアセンブリ命令を使用するために提案されます。

 

 10. 重要な機能/タスクは、アセンブラによる指示を最適化:

この場合、TriCore™スーパースカラーパイプラインの使用を最適化します(命令IP、LS、およびLPのシーケンスで遅延時間を最適化します)。

インラインアセンブラはCコードで直接使用できます(C変数をオペランドとして渡すことができます)。

詳細については、アプリケーションノートAP32168を参照してください。

 

注:このKBAは、次の一連のAURIX™ MCUに適用されます。

AURIX™ TC2xxシリーズ
AURIX™ TC3xxシリーズ

0 Likes
IFX_Publisher1
Community Manager
Community Manager
Community Manager
250 sign-ins First comment on KBA 250 replies posted

Hi Masashi-san,

Confirm to receive this KBA. 

Thank you for your Contribution. 

Thanks,
Mohammed

0 Likes