2025 / 01 / 08
DRP是如何工作的?

什么是DRP?

DRP全称是Dynamically Reconfigurable Processer,即动态可重配置处理器。是瑞萨独创的体系结构,能够动态的调整硬件运算单元的逻辑电路,也能够从软件层面对运算逻辑进行实时修改,保证了灵活性的同时也拥有不俗的图像处理能力。当前,DRP技术已迭代至第三代,并配套开发了一系列相关算法及工具链,免费提供客户参考及使用。


第一代DRP技术被应用在入门级的RZ/A2M MPU等产品中,使其拥有出色的AI及图像加速能力。以下内容,均是基于第一代DRP技术展开介绍的。 


DRP如何工作?

DRP有6个独立的单元称为“Tile”,它们可以加载多个配置数据(即算法库)并且并行的执行,这些算法库存放在系统内存中,在需要的时候由CPU下发指令将其加载到各个Tile中。


任何时候都可以修改各个Tile中的算法库,并且在修改过程中不会影响其它Tile的运行。


DRP采用动态加载的方法可以在极小的硬件资源上实现应用对不同图像处理算法高速处理的需求。


DRP凭什么这么优秀?

DRP是一个硬件资源,所有的运算逻辑都在硬件层面实现,每个Tile都是一个独立的运算单元,Tile拥有的硬件资源是一定的,所以当有算法库用到的硬件资源较多的时候,就需要两个甚至更多的Tile来协同配合,以下是DRP所拥有的硬件资源。


DRP在运行的过程中,会自动的根据算法库的复杂程度,灵活的对硬件资源进行一些整合,比如在一个Tile内,将两个16bit的乘法器合并成一个32bit的乘法器使用;或者将一个16bit的乘法器与一个计数器组合使用等。进一步扩大了DRP的运算能力。


硬件的运算能力我们都非常清楚,比如目前应用非常广泛的FPGA的算力就和CPU完全不在一个量级,然而FPGA的缺陷也很明显,就是运算规模直接和门电路数量挂钩,需要实现复杂的算法就必须用更多的门数,而且一旦算法要求的门数超出了项目初期的FPGA选型,则不得不更换更大规模的FPGA,非常的不方便。


这个时候,DRP的灵活性就体现出来了,它不仅可以在库与库之间灵活切换,在同一个库的内部,也能在不同的时钟周期内,动态调整运算电路之间的逻辑,来实现各种各样的运算方式。通过这种分时复用的方式,最大限度的提升了运算性能,给小体积发挥大能力提供了无限可能。


动态可重配置的性能可以在1ns内修改运算电路的组合方式,动态加载可以在1ms内重新装载整个新的算法库。


DRP甚至可以通过多个Tile运行同一个算法库来提高处理速度。比如将一张图片等分为6份,交给6个Tile进行图像处理,性能直接在原有的基础上提升6倍!


一般来说,性能提升往往会伴随着功耗的增加。但是用DRP来提升图像处理能力是一种另辟蹊径的优化方式,而且这种方式的能耗要远远低于CPU的能耗。


我们使用RZ/A2M这款芯片的CPU和DRP分别运行Canny Edge Detection并测量了这两种情况下的性能与能耗。 


Canny Edge Detection拢共分三步:


这一连串的流程,交给CPU去做,耗费了142ms左右的时间,但是如果交给DRP做,只需要10.4ms!其中还包含了不同DRP库之间切换的时间!


除了速度上的优势,能耗方面的优点也非常明显:


对比发现DRP不仅在运算速度上提升了14倍,在功耗上也只用了CPU的1/20。


以上,是第一代DRP技术特点的介绍,后续还有关于DRP技术的相关应用及最新的DRP技术介绍,敬请期待!

隐私条款

一、接受条款 使用者(也称"您")在访问或使用本网站及其服务时,即已经表示同意并不加修改地接受本《用户协议》、本网站的《隐私声明》、《法律声明》以及其关或相链接的网页和网站的条件和条款的规定。我们强烈建议:在您阅读和接受本《用户协议》时,也应阅读并接受本《用户协议》中所提到《隐私声明》、《法律声明》及其相关或相链接网页或网站所包含的资料,因为《隐私声明》、《法律声明》及其它相关网页或网站可能包含对您适用的进一步规定。(请注意:点击划有底线的词句即可链接到上述《隐私声明》、《法律声明》及其它相关或相链接的网页和网站。

 

二、使用者的资格要求 在本网站中"使用者"指的是浏览、阅读、使用本网站信息或服务的任何个人或组织。本网站的服务仅适用于根据相关法律的规定具有签订有约束力的合同的个人或组织并仅由其使用。本网站的服务不向18周岁以下的个人使用者提供,也不向临时被本网站中止或取消使用者资格的使用者提供。如果使用者不符合本条规定,请停止使用本网站或本网站的服务。