DMA启动时间是评估DMA设计优劣的重要指标之一。在多核系统中,由于DMA需要响应的同步触发事件相对单核中DMA有大量的增加而影响到DMA的启动时间。在查询DMA同步事件时采用传统的令牌环方式不仅消耗的启动时间长而且还有很大的随机性。为了优化DMA的启动时间,在DMA查询同步事件时,文中采用轮转仲裁的方式实现了单周期查询到同步触发事件。此外,在设计结构上通过设置旁路的方式避免了逻辑通道写入事件队列的过程,最终使得DMA启动时间降低到5周期,相对采用传统DMA的启动速度有了较大提高。文中介绍了DMA启动设计实现方法,深入分析了影响DMA启动时间的主要因素,详细说明了令牌环和轮转仲裁的实现原理以及旁路的选择判断条件。
The DMA startup time is one of the important indexes for evaluating the performance of the DMA design. Number of synchronization events of DMA in multi-core system has huge increase compared with DMA in singie-core system to influence DMA startup time. In the query of DMA synchronization events,using the traditional token ring approach not only consumes long start-up time but also possesses much randomness. In order to reduce the startup time of DMA,introduce a round robin arbiter method which querying synchronization events only need 1 cycle. Besides,in the design of DMA starmp,bypass is set so as to efiminate the process of logic channel writing into event queues,ultimately the start-up time of DMA is reduced to five cycle,compared with the traditional DMA,startup speed is greatly improved. In this paper,describe a DMA start design method,highly analyzing the main factors affecting the DMA stattup time, elaborating the realization of the token_ring and round robin arbiter used to query synchronization events,and analyzing the condition of choosing the bypass.