原子操作控制(ATOMCTL)寄存器

我们有原子操作控制(ATOMCTL)寄存器。该寄存器决定了在使用 S32C1I 指令时,在各种组合情况下的影响:

  1. 无论有无可以进行内部原子事务的相干缓存控制器。

  2. 无论有无可以自行进行原子事务的智能内存控制器。

对于三种类型的缓存操作,Core 以默认值启动。

0x28: (WB: Internal, WT: Internal, BY:Exception)

在 FPGA 卡上,我们通常模拟一个可以实现 RCW 事务的智能内存控制器。 对于带有外部内存控制器的 FPGA 卡,我们在执行缓存(WB)事务时,让它在内部执行原子操作,并使用内存 RCW 进行非缓存操作。

对于没有相干缓存控制器的系统(非 MX),我们总是使用内存控制器的 RCW,尽管非 MX 控制器可能支持内部操作。

客户警告

几乎所有客户都从不支持原子 RCW 内存事务的供应商处购买其内存控制器,并且可能希望将此寄存器配置为不使用 RCW。

在绕过缓存进行测试时(例如,研究缓存别名问题),开发人员可能会发现使用旁路模式下的 RCW 很方便。

参见 ISA 的第 4.3.12.4 节;位

  WB     WT      BY
5   4 | 3   2 | 1   0

2 位

字段

WB - 写回

WT - 写通

BY - 旁路

0

例外

例外

例外

1

RCW 事务

RCW 事务

RCW 事务

2

内部操作

内部操作

保留

3

保留

保留

保留