1、我在测试IPC例程(0–7核依次相互触发中断,即core0触发core1,然后core1触发core2,依次类推)时,软件仿真时打印出的cycle数约为30万,,在6678评估板(频率为1Ghz)上的输出结果约为1秒(计时起点:core0写IPCGR1前,计时终点:core1收到中断),无论软仿还是硬仿,触发中断的时间都太长了,请问这是什么原因?如何改进?
下面为我在评估板上的程序测试结果截图:
2、请问在实际应用中核间通信利用IPC方式可以吗?
Andy Yin1:
IPC中断中分别读取两个核的TSC寄存器的方式来记录IPC通信耗时,此时如果由于两个核的不同步会导致记时的不准确。所以建议可以采用如在收到中断后再向对方法中断响应的方式,这样都由一个核来读取时间从而得到最终的两次IPC耗时。
采用何种核间通信方式与具体应用有关,IPC是一种可供选择的方式。
peter ran:
回复 Andy Yin1:
Andy Yin:
你好!
谢谢你的回答。
我现在利用触发核间中断进行多核程序设计,实现了以下功能:0核先向1、2、3、4核生成中断,当这四个核响应中断后,再触发0核中断,0核响应中断后再触发5、6、7核的中断,当这三个核响应中断后再触发0核中断,这个过程在评估版上的测试时间约为0.5秒,均在0核中计时,这个时间显然太长了,请问这是什么原因?如何才能将核间响应时间提升至微秒级别?谢谢
xiejun xie:
回复 peter ran:
请问你的问题解决了吗 ? 我也遇到了同样的问题,而且我的测试时间比你的还多,都使TSCL寄存器溢出了,而在培训资料里面的IPC例程中的测试时间是:
请高手们指点下:
Zhengliang Xue:
回复 xiejun xie:
有没有可能打印语句使用的时间太长了?