This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430F5438A:用户指南:针对扩展指令的执行周期数量不稳定?

Guru**** 2581345 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/612912/msp430f5438a-user-guide-erratic-number-of-execution-cycles-for-extended-instructions

器件型号:MSP430F5438A

你好!

我认为 MSP430x5xx 和 x6xx 系列用户指南中存在错误:

表6-17 "MSP430X 格式 II 指令周期和长度"为指令 RRAM、RRCM、RRUM 和 RLAM 声明了"n"个周期。 我假设每个函数的正确指令周期数为1。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不、它不是1个周期。

    但是的、数据表中未全面介绍扩展指令的周期数。 例如、这在任何 TI 文档中都找不到...

    INS  ;周期

    MOVA R4,R5;1.
    MOVA #0、R5;2.
    MOVA #1,R5;2.
    MOVA #2、R5;1.
    MOVA #4、R5;1.

    ADDA R4,R5;1.
    ADDA #0、R5;2.
    ADDA #1,R5;2.
    ADDA #2、R5;1.
    ADDA #4, R5;2.

    SUBA R4,R5;1.
    SUBA #0、R5;2.
    SUBA #1,R5;2.
    SUBA #2、R5;1.
    SUBA #4, R5;2.

    cmpa R4,R5;1.
    cmpa #0、R4;1.
    cmpa #1,R4;2.
    cmpa #2、R4;2.
    cmpa #4, R4;2.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "n"是指令的一部分;请参阅图6-33。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将讨论表6-17、它包含每个条目的两个参数、即执行周期和指令长度。 在第一行中、始终为 RRAM、RRCM、RRUM 和 RLAM 写入"n、1"。 我假设这个"n"表示移位数(当然)、但是一条指令需要1个周期、而不是"n"个周期
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否测量过该值? 我怀疑 MSP 具有桶形转换器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [ Jürgen user="k Ω Wissenwasser">我将介绍表6-17、其中包含每个条目的两个参数、即执行周期和指令长度。 在第一行中、始终为 RRAM、RRCM、RRUM 和 RLAM 写入"n、1"。 我假设这个"n"表示移位数(当然)、但是一条指令需要1个周期、而不是"n"个周期[/引用]

    移位数=周期数

    相同数量的周期、但它会节省存储器、因为只能通过一个字来完成更多移位。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据 IAR 的分步调试、它只有一个周期、如果我使用1、2、3或4个移位、则是独立的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要100%确定、请自行测量。 CCS 呈现的周期数不正确。 它可以与 IAR 相同。 您可以向 IAR 询问我测量的 MOVA、ADVA、SUA、cmpa 的周期数。 您还可以要求 IAR 这样做(我测量这个值、并且实际周期数为24/27)...

    RRA.b @R5 ;3. RRA.b @R5    ;3.
    NOP ;1. RRA.b @R5    ;3
       RRA.b @R5    ;3. RRA.b @R5    ;3
       nop ;1. RRA.b @R5    ;3
       RRA.b @R5    ;3. RRA.b @R5    ;3
       nop ;1. RRA.b @R5    ;3
       RRA.b @R5    ;3. NOP ;1
       nop ;1. NOP ;1
       RRA.b @R5    ;3. NOP ;1
       nop ;1. NOP ;1
       RRA.b @R5    ;3. NOP ;1
       nop ;1. NOP ;1-----
    --------------
    周期总数24周期总数27 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我测量它、以便我可以确认 rram.a #1、R15需要1个周期、 而 rram.a #4、R15 需要4个周期。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    已确认-最新组合中的另一个错误(!) IAR 工作平台或新的 TI 调试器。 当我单步执行 CPU 寄存器时、似乎只影响它的操作。

    €TI 调试器100 μ A、€IAR 费用600 μ A -该怎么办?