このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
5.4.7. ストリームID
各トランザクションは、10ビットのストリームIDによっても分類されます。ストリームIDは、特定のマスターデバイスからのトランザクションのセットまたはストリームを表します。ストリーム内のすべてのトランザクションは、同じ変換プロセスの対象になります。例えば、DMAコントローラーに複数の独立した実行スレッドがあり、それぞれが異なるストリームを形成する場合、それらを異なる変換の対象にすることができます。あるいは、システム・インターコネクトの複数のペリフェラル・マスターが単一のストリームIDを共有する場合もあります。これらのデバイスからのトランザクションは、単一のエンティティーとしてのみ変換することができます。TCUは、ストリームIDを一連のストリーム一致レジスターであるSMMU_SMRxと照合します。 SSDにより、使用されるレジスターのセットが決定します。セキュアなソフトウェアでは、そのセットをSSD非セキュア・トランザクションで使用する非セキュアセットと、SSDセキュア・トランザクションで使用するセキュアセットに分割することができます。ストリーム一致プロセスの結果は、次のようになります。
- 一致なし: 一致が見つからない場合、トランザクションがSMMU をバイパスするかを選択することができます。
- 複数一致: 複数のSMMU_SMRnの一致が見つかった場合、SMMU はトランザクションを違反とします。これらのトランザクションの違反検出は正確ではありません。
- 単一一致: 単一の一致のみが見つかった場合、一致したSMMU_SMRnに対応するSMMU_S2CRnを使用し、必要な他の処理ステップを決定します。
それぞれのSMMU_SMRnには、対応するSMMU_S2CRnがあります。これは、単一のSMMU_SMRnのみが一致する場合に使用されます。SMMU_S2CRn.TYPEビット・フィールドは、次の結果のいずれかを特定します。
- Fault Allトランザクションでは、違反が生成されます。SMMU_sCR0.GFRE == 1の場合、クライアント・デバイスはバスアボートを受信します。それ以外の場合は、トランザクションはRAZ/WI (読み出し値は0/書き込み無視) として機能します。
- Bypassトランザクションは、SMMU をバイパスします。
- Translateトランザクションは、他の処理に向けてコンテキスト・バンクにマッピングされます。SMMU_S2CRn.CBNDXビット・フィールドは、SMMUが使用するコンテキスト・バンクを指定します。
第2ステージ・ブート・ローダーは、SDM-to-HPSのTBUインターフェイスのストリームID をコンフィグレーションします。FPGA-to- SoCインターフェイスは、独自のストリームIDを提供します。 FPGA-to- SoCストリームIDの値は、インテル® Quartus® Primeプロ・エディションで指定することができます。
各HPSペリフェラル・マスターのストリームIDは、システム・マネージャーのレジスターを介してコンフィグレーションすることができます。次の表は、ペリフェラル・マスター、ストリームIDのコンフィグレーションに使用されるシステム・マネージャーの対応レジスター、およびストリームIDを表す特定のビット・フィールドを示しています。マスターのアクセス時に、ストリームIDソースはAxUSER[12:3] 信号の一部として提供されます。
| マスター | システム・マネージャーのレジスター | ストリームID[9:0] に対応するレジスター・ビット・フィールド |
|---|---|---|
| EMAC0 | emac0_ace | awsid[29:20] arsid[17:8] |
| EMAC1 | emac1_ace | awsid[29:20] arsid[17:8] |
| EMAC2 | emac2_ace | awsid[29:20] arsid[17:8] |
| USB0 | usb0_l3master | hauser22_13[25:16] |
| USB1 | usb1_l3master | hauser22_13[25:16] |
| DMA | dma_l3master | aruser[25:16] awuser[9:0] |
| NAND | nand_axuser | aruser[25:16] awuser[9:0] |
| ETR | etr_l3master | aruser[25:16] awuser[9:0] |