Xilinx的DDR controller的Round Robin with aging调度算法

Xilinx的DDR控制器结构图如下:

分为三层,其中DDR core部分负责任务调度和队列排序,其结构图:

仲裁是这样实现的:

实现的调度方法如下:

是一种基于Aging的循环调度策略(round robin with aging)

The round robin mechanism circularly scans all requesting devices and services all outstanding requests before servicing the same device again.

The aging mechanism measures the time each request has been pending and assigns higher
priority to requests with longer wait times.

循环调度策略是一种简洁的调度策略,来实现各个任务的顺序执行。同时,Aging的加入,保证了等待过久的任务也依然能被执行到。

每个任务都被分配了一个优先级号码,作为Aging CountDown的起始值。也就是说,优先级越高的进程,会更早的CountDown to 0,即最高优先级,从而更早的被执行。

每个任务还带有urgent信号输入,正常情况下urgent信号无效。当urgent置位时,对应任务的Aging值就被复位为0,即最高优先级,从而在下一个调度时隙被执行。

参考链接:进程调度 https://blog.csdn.net/lyfwill/article/details/81175082

猜你喜欢

转载自blog.csdn.net/lyfwill/article/details/81176201