买芯片网
XILINX(AMD),ALTERA(INTEL),LATTICE
聚焦三大FPGA芯片品牌,强大的现货交付能力
Xilinx,Altera,Lattice
买芯片网代理Altera(英特尔)、Lattice(莱迪思)、Xilinx(赛灵思 AMD)
首页 >> Xilinx新闻 >> 采用硬件加速发挥MicroBlaze处理能力
采用硬件加速发挥MicroBlaze处理能力

MicroBlaze处理器是赛灵思(Xilinx)在嵌入式开发套件 (EDK) 中提供的两款32位内核之一,是实现硬件加速的灵活工具。图1是MicroBlaze的典型设计。该内核含有一个32位乘法器,但不含浮点单元(FPU)、桶式移位器或专用硬件加速器。对Xilinx公司Spartan FPGA 器件而言,默认系统含有区域优化的MicroBlaze(采用三级流水线),但大多数客户通常在开始时使用速度优化版(采用五级流水线)进行性能评估,其优点是小巧简洁,易于扩展。

买芯片网专注整合全球优质赛灵思代理商现货资源,是国内领先的Altera(英特尔)、Lattice(莱迪思)、Xilinx(赛灵思 AMD)芯片采购服务平台,买芯片网轻松满足您的芯片采购需求.

Xilinx客户针对这种处理器设计所要求的两个实际应用案例可说明MicroBlaze在硬件加速方面的作用。本文以 Spartan 器件为重点,比较 FPGA 解决方案和标准控制器内核,展现我们能够达到的性价比。这一方法同样适用于Virtex FPGA

案例1:实施位反转算法

在第一个应用示例中,假定MicroBlaze处理器的运行速度仅为50MHz。采用 Spartan-3或Spartan-6器件可轻松实现这一速度。诸如本地存储器总线(指令和数据,LMB)以及处理器本机总线(PLB)等所有内部总线的运行速度均达到50MHz。为简单起见,假定没有连接外部DDR存储器。

现在假设客户想要在这个CPU上实施位反转算法。MicroBlaze自身没有通过硬件直接提供这个功能。再假定每秒需要完成2万次位反转操作。

要解决这个问题,大多数客户首先会采用纯软件方案,因为这样可轻松地实现想要的功能。而且如果性能足够高,无需进行任何修改。

为此,让我们先从简单的软件算法出发,实施简短精悍的解决方案。结果确实简单、精巧而且容易理解,不过效率很低。
unsigned int v=value;
unsigned int r = v;
int s = sizeof(v) * CHAR_BIT - 1;
for (v >>= 1; v; v >>= 1)
{
r <<= 1;
r |= v & 1;
s--;
}
r <<= s;
return r;

这段程序运行相当顺利,不过就算在专门针对速度优化的MicroBlaze(使用五级流水线)上运行处理一个32 位字的算法,也用了220个周期。要执行2万次位反转操作,在速度为50MHz的MicroBlaze上约需88ms。

客户试图采用略有不同的方法来优化算法,但仍作为纯软件解决方案来实施。

要进一步提升性能,就要采用纯硬件解决方案,通过一种新的方式来让硬件加速器充分发挥性能。

 

Xilinx中国海量优质的信息资源、行业资讯、最新开发方案等资讯信息平台。

Xilinx芯片今日搜索排行榜(2024年5月16日)
XCV100-4TQ144C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:144-LQFP
XC6SLX45T-2CSG484C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:484-FBGA,CSPBGA
XC4VFX60-10FFG672C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:672-BBGA,FCBGA
CK-U1-VCU1287-G-J
评估板 - 嵌入式 - 复杂逻辑器件(FPGA, CP
配套使用/相关产品:Virtex? UltraScale?
XC4010XL-3TQ144I
嵌入式 - FPGA(现场可编程门阵列)
产品封装:144-LQFP
XC3S500E-5PQG208C
嵌入式 - FPGA(现场可编程门阵列)
产品封装:208-BFQFP
XC2V1000-5BG575I
嵌入式 - FPGA(现场可编程门阵列)
产品封装:575-BBGA
XC2V3000-5FG676I
嵌入式 - FPGA(现场可编程门阵列)
产品封装:676-BBGA,FCBGA
Xilinx产品及其应用
Xilinx公司新闻
买芯片网轻松满足您的芯片采购需求
买芯片网,独家代理渠道,专注三大品牌:XILINX(赛灵思 AMD)ALTERA(英特尔 INTEL)LATTICE(莱迪思)