你好!
1、采用NO-EDMA方式接收directIO的packet时,是否由指定的coreX来实现数据的搬移?那么,coreX是如何响应这个操作请求的,采用中断响应的方式么?可是程序中仅设置了doorbell的中断;
2、在srio硬件结构中,采用shared buffer缓存接收到的packet,若缓存没有及时处理,最终会溢出,丢失packet么?芯片之间的有没有响应的握手机制解决这一问题?directIO方式也会有这样的握手机制么,还是一股脑全部发送出去不管?
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.
你好!
1、采用NO-EDMA方式接收directIO的packet时,是否由指定的coreX来实现数据的搬移?那么,coreX是如何响应这个操作请求的,采用中断响应的方式么?可是程序中仅设置了doorbell的中断;
2、在srio硬件结构中,采用shared buffer缓存接收到的packet,若缓存没有及时处理,最终会溢出,丢失packet么?芯片之间的有没有响应的握手机制解决这一问题?directIO方式也会有这样的握手机制么,还是一股脑全部发送出去不管?
我的理解
1,DIO方式接受数据,有SRIO内部的DMA来搬运数据,与COREX没关系。
2,同一个LSU发出去的数据底层会保证前后顺序和丢包重发。
1. 由SRIO自己内部的DMA来进行搬移数据;
2. 不会,RIO的协议规定会有流控。
非常感谢!但是这条EDMA并没有在手册中标明么?或者说,它并不属于edma user guide中所描述的edma控制器的范畴
不是EDMA,这个是SRIO模块内部的DMA引擎,非应用代码可见。