Abstract:
In order to improve the bandwidth of DRAM, memory request queue inside the memory controller usually equips out-of-order scheduler, which affects the real-time stream processing of multi-core multi-threading processor. The authors propose a novel memory request queue to solve the problem based on studying typical structure of memory request queue. The scheduler of the new memory request queue dispatches memory request with out-of-order scheduler, but is controlled by window. Window defines the certain number of memory requests which are visible to scheduler. The scheduler receives memory request of new window only when finishing all of the requests belonging to the current window served. On the one hand, the out-of-order scheduling algorithm based on parallel execution can improve the memory bandwidth effectively, and on the other hand, the window constrains the largest memory request delay occurring in the worst case by preventing the scheduler from postponing the execution of memory request for unlimited duration. The simulation shows that the memory request queue proposed can adjust the largest memory request delay with scalability and the hardware cost is small. Compared with general out-of-order memory request queue, this presentation not only retains the memory bandwidth, but also supports real-time stream processing, thus proposing a new way of real-time computing with multi-core multi-threading processor.