扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

ARM CPU write streaming模式介绍

15小时前
31
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

ARM Neoverse CPU core支持write steaming模式,例如Neoverse N2、N3、V2、V3 core等都支持write streaming模式。

1. write streaming介绍

write streaming模式也叫做read allocate模式,就是将数据直接写入到某一级cache中。

当L1/L2 cache发生读miss或者写miss时,cacheline会被分配到L1/L2 cache。然而,写大块的数据有时会污染cache,也会浪费功耗和性能,因为cacheline数据会被接下来的写操作覆盖掉(例如使用memset、memcpy函数时)。

在一些情况下,cacheline的写分配是不需要的。例如,执行C标准库里的函数memset()来将一大块的内存清除为已知值时。为了避免不必要的cacheline分配,内存系统会检测cpu core是否已连续写入了一组完整的cacheline。如果检测到连续的完整cacheline的写操作到达一定阈值,那么系统就会切换到write streaming模式。也就是说,ReadUnique + WriteBackFull操作在达到一定阈值时,会变为WriteUniqueFull操作。

在write streaming模式下,load操作表现正常,仍然可以引发cacheline填充。写入操作仍会在缓存中查找,但如果miss的话,则会写入L2 cache或系统,而不是进行cacheline填充。

write streaming模式会一直保持使能,直到检测到以下任意一个:

1. 检测到cacheable写操作不是完整的cacheline,即不是64 Byte写操作;

2. 检测到接下来的load操作的cacheline地址与outstanding write stream的地址相同。

2. write streaming寄存器

用户可以配置触发write streaming的阈值,也可以关闭write streaming模式。

以ARM N2 core为例,寄存器IMP_CPUECTLR_EL1里的相关域段如下:

WS_THR_L2控制write stream到L2 cache的阈值,默认值是256B。

WS_THR_L3控制write stream到L3(即SLC) cache的阈值,默认值是256KB。

WS_THR_L4控制write stream到L4 cache的阈值,默认值是512KB。

WS_THR_DRAM控制write stream到DDR RAM阈值,默认值是1MB。

参考:

Arm Neoverse N2/N3 Core TRM

Arm Neoverse V2/V3 Core TRM

Arm

Arm

ARM公司是一家知识产权(IP)供应商,主要为国际上其他的电子公司提供高性能RISC处理器、外设和系统芯片技术授权。目前,ARM公司的处理器内核已经成为便携通讯、手持计算设备、多媒体数字消费品等方案的RISC标准。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知识产权(IP)供应商,主要为国际上其他的电子公司提供高性能RISC处理器、外设和系统芯片技术授权。目前,ARM公司的处理器内核已经成为便携通讯、手持计算设备、多媒体数字消费品等方案的RISC标准。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相关推荐