ZHCZ052C March   2023  – October 2025 AM62A1-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1

 

  1.   1
  2. 1使用说明和公告模型
    1. 1.1 支持的器件
  3. 2器件使用说明和公告
    1. 2.1 器件使用说明
      1.      i2351
      2.      i2330
      3.      i2372
      4.      i2424
    2. 2.2 器件公告
      1.      i2049
      2.      i2062
      3.      i2087
      4.      i2097
      5.      i2134
      6.      i2189
      7.      i2196
      8.      i2199
      9.      i2208
      10.      i2249
      11.      i2278
      12.      i2279
      13.      i2310
      14.      i2311
      15.      i2312
      16.      i2366
      17.      i2371
      18.      i2120
      19.      i2137
      20.      i2190
      21.      i2253
      22.      i2373
      23.      i2383
      24.      i2401
      25.      i2407
      26.      i2409
      27.      i2410
      28.      i2376
      29.      i2399
      30.      i2413
      31.      i2414
      32.      i2419
      33.      i2420
      34.      i2421
      35.      i2422
      36.      i2423
      37.      i2431
      38.      i2435
      39.      i2160
      40.      i2436
      41.      i2482
      42.      i2464
      43.      i2487
      44.      i2493
  4.   商标
  5.   修订历史记录

i2376

C7x:执行两条连续的 VPUT/MVC 指令后,SE/SA/HWAOPEN 接收到损坏的模板

详细信息

在 C7604 CPU 上,编程信息通过 SEOPEN 发送到流引擎,通过 SAOPEN 发送到流地址生成器,并通过 HWAOPEN 指令发送到 MMA。该编程信息来源于 CPU 中的 CUCR 寄存器,这些寄存器通过 MVC 和 VPUT 系列指令进行填充与更新。如果在三个 CPU 周期序列中,前两个周期更新了某个 CUCR 寄存器,第三个周期该寄存器被 SEOPEN、SAOPEN 或 HWAOPEN 指令使用,则写入这些 CUCR 寄存器的数据可能会错误地转发至上述指令。

例如,以下序列会导致 SAOPEN 指令执行时出现转发错误,进而破坏 SA0 的编程配置:

MVC .C2 VB0, CUCR0
VPUTD .C2 B1, 0, CUCR0
SAOPEN .C2 CUCR1:CUCR0, 0

权变措施

避免以下三个执行包序列即可规避该问题:前两个执行包包含向同一 CUCR 写入数据的 MVC/VPUT 指令,第三个执行包包含从同一 CUCR 读取数据的 SE/SA/HWAOPEN 指令。编译器在编译 C7504 代码时,会自动纳入该问题的权变措施。