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.

[参考译文] TMS320F280049C:CLA RAM 仲裁、写入后读取的流水线等待状态

Guru**** 2473260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1470148/tms320f280049c-cla-ram-arbitration-pipeline-wait-state-on-read-after-write

器件型号:TMS320F280049C

工具与软件:

我想确切地了解一个时序关键型应用的 CLA 流水线和相关时序。

通过文档和其他论坛主题帖、我了解了以下内容:

-> MSGRAM 的工作方式与 LSRAM 相同,每个 LSRAM 和 MSGRAM 块都有自己的仲裁器

-> MSGRAM 不是双端口、但也是 CPU/CLA 之间的循环

-> LS/MSGRAM 块没有独立的读/写端口、而是共享 R/W 接口、因此写访问会停止读访问

->仲裁器在读取前对每个 CPU/CLA 执行优先写入操作(否则可能导致死锁)、然后在 CPU/CPA 之间循环

->访问始终没有等待状态(如果空闲)、1个周期

->外设读取访问始终会导致2次等待状态;3个周期/指令

是这样吗?

开放性问题:

->外设写入访问的情况如何?

它是否也会引起等待状态或它是单周期?

-> W 与 R1/2相位读取/写入冲突怎么样?

因此、CPU/CLA 之间的关联是明确的、但不确切地说是读取和写入之间的关联:

CLA 具有 F1-F2-D1-D2-R1-R2-E-W 的8级流水线

我的问题:W 是否会干扰 R1或 R2?

示例:

MMOV32 @μ F LSRAM0 _x、MR0;写入 LSRAM0

MNOP

MMOV32 MR2、@Ω LSRAM0 _y;此指令处于 R2阶段、而写入处于 W 阶段->插入了等待状态?

MMOV32 MR0、@Ω LSRAM0 _z;此指令处于 R1阶段、而写入处于 W 阶段->插入了等待状态?

MMOV32 @μ F MSGRAM _x、MR0;写入消息 RAM CLA->CPU

MNOP

MMOV32 MR2、@Ω LSRAM0 _y;此指令处于 R2阶段、而写入处于 W 阶段->不同的仲裁器、没有问题? (CPU 并行访问/轮询除外...)

MMOV32 MR0、@Ω LSRAM0 _z;此指令处于 R1阶段、而写入处于 W 阶段->不同的仲裁器、没有问题? (CPU 并行访问/轮询除外...)

MI16TOF32 MR0、@AdcaResultRegs    ;->总是3个周期/2个等待状态?

MMOV32   @EPwm2Regs+108、MR0   ;-> 1个或3个周期?

如果有人能够确认我的假设并澄清开放式问题、那会更好。

谢谢!

Carl