AXI協議解析(四)


來看看事務屬性(Transaction Attributes),主要是對cache,buffer和memory controller的規定。按照協議,從機分為存儲從機(memory slave)和外設從機(peripheral slave)。存儲從機要能夠正確執行所有的事務,外設從機處理事務的能力取決於具體實現。
AXI協議用AxCACHE來控制事務屬性。如果不清楚cache基本知識,可以翻前面的文章,《CPU設計之Cache -- 基礎》。簡單了解一下。在AXI3中,AxCACHE信號的含義如下圖:

從上圖可以看出,AxCACHE信號的4bit有各自的含義,比如AxCACHE[1]就是表示該事務是不是cacheable的。
在AXI4中,AxCACHE[1]指示是否modifiable。Non-modifiable的事務不可以拆分或合並。對於Non-modifiable的事務,下列參數不可以改變。

AXI4中的Read-Allocate和Write-Allocate與AXI3中的也略有不同。
根據AxCACHE的不同,存儲類型分為下圖中的幾種:

對於Device Non-bufferable,協議規定:
寫響應必須從最終目的地獲得
讀數據必須從最終目的地獲取
事務可以改變
讀操作不得預取。不能合並寫操作
從同一ID到同一從機的所有不可修改讀寫事務(AxCACHE[1]=0)必須保持秩序(ordered)

對於Device Bufferable,協議規定:
寫響應可從中間節點獲得
寫事務必須最終目的地及時可見
讀數據必須從最終目的地獲取
事務不可修改
讀操作不得預取。不能合並寫操作
從同一ID到同一從機的所有不可修改讀寫事務(AxCACHE[1]=0)必須保持秩序(ordered)

對於Normal Non-cacheable Non-bufferable,協議規定:
寫響應必須從最終目的地獲得
讀數據必須從最終目的地獲取
事務可以改變
寫操作可以合並
同一ID到重疊地址的讀寫事務必須保持有序

對於Normal Non-cacheable Bufferable,協議規定:
寫響應可從中間節點獲得
寫事務必須最終目的地及時可見
讀數據必須從最終目的地或者正在進行到其最終目的地的寫事務獲得
事務可以改變
寫操作可以合並
同一ID到重疊地址的讀寫事務必須保持有序

對於Write-Through No-Allocate,協議規定:
寫響應可從中間點獲得
寫入事務必須最終目的地及時可見
讀取數據可從中間緩存副本獲取
事務可修改
讀取可以預取
寫入可以合並
讀和寫事務需要緩存查找
從同一ID到重疊地址的讀寫事務必須保持有序
出於性能原因,建議內存系統不要分配這些事務

對於Write-Through Read-Allocate,除了滿足Write-Through No-Allocate的要求,協議規定:
推薦讀事務分配
不推薦寫事務分配

對於Write-Through Write-Allocate,除了滿足Write-Through No-Allocate的要求,協議規定:
不推薦讀事務分配
推薦寫事務分配

對於Write-Through Read and Write-Allocate,除了滿足Write-Through No-Allocate的要求,協議規定:
推薦讀事務分配
推薦寫事務分配

對於Write-Back No-Allocate,協議規定:
寫響應可從中間點獲得
寫事務不需要在最終目的地可見
讀取數據可從中間緩存副本獲取
事務可修改
讀取可以預取
寫入可以合並
讀和寫事務需要緩存查找
從同一ID到重疊地址的讀寫事務必須保持有序
出於性能原因,建議內存系統不要分配這些事務

對於Write-Back Read-Allocate,除了滿足Write-Back No-Allocate的要求,協議規定:
推薦讀事務分配
不推薦寫事務分配

對於Write-Back Write-Allocate,除了滿足Write-Back No-Allocate的要求,協議規定:
不推薦讀事務分配
推薦寫事務分配

對於Write-Back Read and Write-Allocate,除了滿足Write-Back No-Allocate的要求,協議規定:
推薦讀事務分配
推薦寫事務分配

為了阻止非法事務越權訪問,AXI 協議設計了訪問控制信號 AxPROT。讀/寫事務的 AxPROT 信號位寬均為3bit,其具體含義如下表:

AXI主機可能支持多個級別的操作權限,並將此權限概念擴展到內存訪問。AxPROT[0]將訪問標識為非特權或特權。AXI主機可能支持安全和非安全操作狀態,並擴展了這一概念到內存訪問的安全性。AxPROT[1]將訪問標識為安全或不安全。AxPROT[2]指示是數據還是指令訪問,但是並非在所有情況下都是准確的,例如,事務包含指令和數據項的混合。協議建議主機將AxPROT[2]設置為低,以指示數據訪問,除非確認該訪問是指令訪問。
看到現在,是不是有種想吐的感覺?哈哈哈。正常現象,每次看跟memory相關的內容都很痛苦。肯定有少翻譯不到位的地方,請大家包涵了。

https://mp.weixin.qq.com/s/W9i4Gt4PK7XaxMbVI7Jgyg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM