TI中文支持网
TI专业的中文技术问题搜集分享网站

流水指令会冲突吗

C6000的CPU执行指令是流水线方式的,每个时钟可以同时执行8个指令,这样一来,不会产生冲突吗?

比如第一条指令,赋值给一个寄存器;第二条指令,读取这个寄存器的值;

如果并行,这样的话,第二条指令怎么能读到第一条指令赋给寄存器的值呢??

用C或者汇编编写程序时,要不要考虑这种冲突呢?

谢谢您的回答

Hank Zhao:

这样会产生冲突,应该避免同时对一个寄存器的读写操作。

ha zhang:

回复 Hank Zhao:

谢谢您的回复

编译器没有自动防止指令并行执行时产生冲突的保护机制吗?

用C语言和汇编编写都要注意这种并行执行的冲突,感觉很麻烦呀?也不清楚什么时候会冲突

谢谢

ha zhang:

回复 Hank Zhao:

还有个疑问,指令的并行执行 是自动实现的吗,还是编写指令时高速编译器哪些是并行,哪些是串行,

如果是自动进行并行执行,那么CPU如何判断 一次取指包(FP)分成几个执行包(EP),怎么判断这几个EP按什么顺序执行

ha zhang:

回复 Hank Zhao:

谢谢谢谢,知道了

赞(0)
未经允许不得转载:TI中文支持网 » 流水指令会冲突吗
分享到: 更多 (0)