CLA是完全独立的一个处理器,简单一点,你把带CLA的芯片当作有两个独立的内核。
C28x主CPU执行浮点运算,是通过调用FPU完全,而CLA是完全独立的内核,它就是一个浮点处理器,所以它是通过自己的内核直接进行浮点运算。
.
CLA的运行是去独立响应一个中断,而不是由C28x主CPU干预。
比如你产生一个定时器中断,或者ADC中断,以前在只有C28x主CPU的芯片上,它是由C28x直接响应这个中断,通过PIE进入到ISR。
而CLA是跟C28x主CPU一样的机制,当一个外设或软件中断发生时,你可以选择让C28x主CPU响应,也可以选择让CLA去响应(这需要在CLA程序初始化时进行配置),因为CLA就可以独立响应中断(而且它只能响应中断),此时如果CLA响应了,这个中断就跟C28x主CPU没有任何关系。
所以你理解成两条通道就对了,当中断产生时,可以选择任意一个通道接收并处理,而另一条不受影响,可以继续做自己的其它事情。
只是由于C28x是主CPU,而CLA相当于是协处理器,在CLA响应完这个中断后,CLA还可以产生CLA的任务中断让C28x主CPU知道,我已经完成了这个任务,你可以继续通过PIE进行处理,比如来实现两个内核之间的数据交互。
下面是一个简单的示意图,供你参考。
If a post answers your question, please mark it with the "verify answer" button.
CLA是完全独立的一个处理器,简单一点,你把带CLA的芯片当作有两个独立的内核。
C28x主CPU执行浮点运算,是通过调用FPU完全,而CLA是完全独立的内核,它就是一个浮点处理器,所以它是通过自己的内核直接进行浮点运算。
.
CLA的运行是去独立响应一个中断,而不是由C28x主CPU干预。
比如你产生一个定时器中断,或者ADC中断,以前在只有C28x主CPU的芯片上,它是由C28x直接响应这个中断,通过PIE进入到ISR。
而CLA是跟C28x主CPU一样的机制,当一个外设或软件中断发生时,你可以选择让C28x主CPU响应,也可以选择让CLA去响应(这需要在CLA程序初始化时进行配置),因为CLA就可以独立响应中断(而且它只能响应中断),此时如果CLA响应了,这个中断就跟C28x主CPU没有任何关系。
所以你理解成两条通道就对了,当中断产生时,可以选择任意一个通道接收并处理,而另一条不受影响,可以继续做自己的其它事情。
只是由于C28x是主CPU,而CLA相当于是协处理器,在CLA响应完这个中断后,CLA还可以产生CLA的任务中断让C28x主CPU知道,我已经完成了这个任务,你可以继续通过PIE进行处理,比如来实现两个内核之间的数据交互。
下面是一个简单的示意图,供你参考。
If a post answers your question, please mark it with the "verify answer" button.
举报