ARMV8 datasheet學習筆記3:AArch64應用級體系結構之Memory Type and Attributes


1.前言

 

2. Memory類型和屬性

memory分為normal memory和device memory,兩種類型的Memory有各自的屬性,除了下面介紹的幾種屬性外,還有其他一些雜項屬性

2.1 Normal Memory

  • Shareable  Normal Memory

可以被所有的PE訪問, 包括:Inner Shareable, and Outer Shareable;

  • Non-shareable Normal Memory

只能被唯一的PE訪問;

  • Cacheability屬性

Normal Memory具有Cacheability屬性,此屬性包含如下三種:

(1)Write-Through Cacheable:同時寫入cache與內存;

(2)Write-Back Cacheable:直接更新cache,閑時再更新到內存;

(3) Non-cacheable:無cache,不需要更新cache,直接更新內存

2.2 Device Memory

Device Memory具有如下幾種屬性:

  • Gathering 或者non Gathering (G or nG)

這個特性表示對多個memory的訪問是否可以合並,如果是nG,表示處理器必須嚴格按照代碼中內存訪問來進行,不能把兩次訪問合並成一次。例如:代碼中有2次對同樣的一個地址的讀訪問,那么處理器必須嚴格進行兩次read transaction

  • Re-ordering (R or nR)

這個特性用來表示是否允許處理器對內存訪問指令進行重排。nR表示必須嚴格執行program order。

  • Early Write Acknowledgement (E or nE)

PE訪問memory是有問有答的(更專業的術語叫做transaction),對於write而言,PE需要write ack操作以便確定完成一個write transaction。為了加快寫的速度,系統的中間環節可能會設定一些write buffer。nE表示寫操作的ack必須來自最終的目的地而不是中間的write buffer。

3. memory訪問的限制

1. 如果訪問的是兩個連續字節p、q,則p、q需要有相同的存儲類型和共享屬性;要有共同的cacheablbility;

2. 如果訪問的是device memory,則要求必須是對齊的;

4. 參考文檔

[1] DDI0487A_k_armv8_arm_iss10775.pdf

 


免責聲明!

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



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