インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

21.5.2.2. IIR_FCR.TET = 3

IIR_FCR.TET = 3は、ウォーターマーク・レベル64にデコードされます。

  • 送信FIFOのウォーターマーク・レベル = IIR_FCR.TETをデコードしたウォーターマーク・レベル = 64 †
  • DMAバースト長 = FIFO_DEPTH - IIR_FCR.TETをデコードしたウォーターマーク・レベル = 64 †
  • UART送信FIFO_DEPTH = 128 †
  • ブロック・トランザクション・サイズ = 448 †
図 122. 送信FIFOのウォーターマーク・レベル = 64

ブロック内のバースト・トランザクション数は次のとおりです。†

ブロック・トランザクション・サイズ/DMAバースト長 = 448/64 = 7 †

このブロック転送の場合、DMAブロック転送内には送信先へのバースト・トランザクションが15ありますが、ウォーターマーク・レベルであるデコードされたIIR_FCR.TETのレベルが高いため、UARTの送信アンダーフローの可能性は低くなります。これは、UART送信FIFOが空の状態になる前に、バースト送信先からのトランザクション要求を処理する時間がDMAコントローラーに十分にあるためです。†

よって、2番目の例では、ブロックあたりのバースト・トランザクションを増やすことでアンダーフローの可能性を下げています。そのため、最初の例よりもブロックあたりのバースト量が増加し、バスの使用率が低下する可能性があります。†

したがって、ウォーターマーク・レベルを選択する目的は、ブロックあたりのトランザクション数を最小限に抑えると同時に、アンダーフロー状態が発生する可能性を許容レベルに保つことです。これは実際には、UARTがデータを送信する速度と、DMAがバースト送信先からの要求に応答できる速度の比率の関係です。†