ZHCZ053A December   2024  – October 2025 AM62D-Q1

 

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

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 代码时,会自动纳入该问题的权变措施。