当前位置: 首页 > >

ARM11 MPCore性能分析与优化研究_图文

发布时间:

第45卷第1期 2009年1月

南京大学学报(自然科学)
JOURNAL OF NANJING UNIVERSITY
(NATURAL SCI ENCES)

V01.45,No.1

Jan.,2009

ARMll MPCore性能分析与优化研究。


余,都思丹”

(南京大学电子科学与T程系,南京,210093) 摘要: ARMll MPCore是最新的嵌入式多核处理器,传统的嵌入式软件在该平台上不能发挥该处

理器的所有性能.针对这个问题,对ARMll MPCore的基本运算能力与ARM9处理器进行了对比分

析,提出了使用硬件向量浮点单元及并行计算的软件优化方法,实验结果表明优化后的MPCore浮点处 理能力是ARM9系列处理器的浮点处理能力的10倍左右.对于多核架构,可以采用并行计算模型对软 件进行优化,试验结果表明,对整数运算采用OpenMP并行计箅模型优化后,实验程序的效率提高3.8 倍左右.对于嵌入式多媒体处理。提出了使用硬件向量浮点单元对DCT运箅进行优化,对视频解码,音 频解码以及音视频同步显示采用并行处理的方法进行优化.实验结果表明,这两种优化方法能提高软件
在ARMll MPCore平台上的运行效率,提高了系统的整体性能. 关键词:

ARMll,MPCore,VFP,并行计算

中图分类号:TP 311.11

The analysis and optimization

on

performance of

ARMI I MPCore

ZhOU Yu,Du si-Dan
(Department of Electronic Science and

Engineering,Nanjing University,Nanjing,210093,China)
process

Abstract:

With

the wide application of multimedia,network and digital signal
processor’S

in the embedded field,the

requirement of the power

embedded

performance was improving.In order
processor

to

improve the
to

performance and reduce system.The
not run

consumption,MPSOC(multi

system

on

chip)was used

design the embedded

ARM ll MPCore was the newest embedded multi-core processor.The traditional embedded software could
efficiently
on

this platform,because they only used
tO

one

processor

and did

not

use

VFP

module

to

optimize the float

point computation.In order

solve this problem,the

basic computation performance of

ARMl 1 MPCore and
tO

ARM9 was analyzed.The parallel computing method and hardware acceleration method were adopted
multi—core performance for

optimize the

ARMl 1 MPCore processor.Compared with the single-core processor,the ARMl 1 optimization methods in the experiment.The results of times when the VFP(vector float point)optimization

MPCore

processor

had excellent performance by adopting the

the experiment showed that the capability could

improve

by 10

,基金项目:国家自然科学基金(60832003) 收稿日期:2008—05—20 ¨通讯联系人,E-mail:dsd@ese.nju.edu.ell

万方数据

?



?

南京大学学报(自然科学)

第45卷

method was

used.In of

the other parallel

hand,the efficiency

of

the program could

improve

by

3.8

times
core

when

the

optimization method processor could
not

computation was used.For the multimedia of multimedia program。because of

program the single the
poor

embedded float point

process

the decoding

capability
not

of

computation.For the multi—core architecture of

embedded processor.the traditional embedded
tO

software did

suit for the new
one

MPSOC.In order

deal with this problem,two optimization methods were presented.The

was
one

DCT optimization with VFP which could improve capability of the float point computation greatly.The other was parallelization of audio decoding,video decoding and playing which could
put

the three threads into

three

different processors.The experiments showed that the two optimization methods could improve the performance of software running
on

ARM 1 1 MPCore platform.

Key words:

ARM 1 1,MPCore,Vector float point,parallclization

随着多核技术的发展,在嵌入式领域也出 现多核设计方案,ARMll MPCoretl ̄3l就是其 中之一.ARMll MPCore是以ARMll核心为 基础组成,架构上属于V6指令体系.根据不同 应用的需要,MPCore可以被配置为1~4个处 理器的组合方式,其最高性能约可达到2
600

件配置,其架构如图1所示,主要特点如下: ?1到4个ARMll处理器. ?高性能的存储器系统;每个处理器的第 一级数据及指令cache可配置为16 kbyte到64 kbyte;一个SCU(snoop
control

unit)单元,它

连接所有处理器与L2 Cache,并支持各个处理
器私有I。1 Cache问的cache-to—cache传输方式

MIPS.与ARM9系列处理器相比,ARMll
MPCore拥有多核架构,增加了L2 Cache,加

?一个或两个64

bit AMBA 3

AXI总线

入了浮点协处理. 传统的嵌入式软件只有一个线程,当其在
ARMll MPCore平台上运行时,传统的单线程

?可选的向量浮点处理单元(VFP)

?最多255个硬件中断
ARMll核心基于ARM V6架构,支持

编成模式是软件提高效率的重要障碍之一.由
于ARMll MPCore添加了硬件浮点处理单

Thumb指令集,Java扩展指令集,I)SP扩展指
令集以及SIMD ISA扩展指令集.MPCore还

元,提升了嵌入式处理器的多媒体处理能力,但 需要适当的方法根据硬件架构对软件进行优 化.文献[4]中分析了ARMll MPCore性能提 升与功耗之间的关系,提出了采用ARMl


包含一个智能电源管理模块(IEM),该模块能 关闭没有使用的硬件资源并支持动态电压频率 变化. 处理器核心有8个流水线状态,可以进行 静态或动态分支预测.可使用向量浮点处理单 元对并行乘除法等浮点数学运算进行优化,向 量浮点处理单元有3条流水线,这3条流水线 相互独立,并行处理的优化可通过这3条流水 线进行.这3条流水线分别是: ?乘法及累加(FMAC)流水线
?除法及平方根(DS)流水线

MPCore能在系统性能提升的同时能降低功 耗.文献[5~15]中提出了在X86平台上采用 并行处理来优化性能的方法,但没有应用于嵌 入式平台.本文将对ARMll MPCore的基本 运算能力以及多媒体处理能力进行分析,并讨 论通过使用浮点协处理器,特殊指令集和采用 并行计算的方式对软件进行优化的方法.


ARMll MPCore介绍
ARMll MPCore能根据用户需求进行软

?读取存储(LS)流水线

万方数据

第l期

周余,都思丹:ARMll MPCore性能分析与优化

?





Contigurable number of hardware interrupt lines

Per CPU private fasl

—{乏孚=簪遵基军=习



interrupts(FIQ/NMl。

。。!

,硎——————

。llTime rI 7||Wd。刮

CPU interface

l幢m。rl

CPU interfaee

HlwdogI

l llTimerI

CPU inteffaee

广11wdogI


r|1wd。gI


IITimr rl

CPU interfaee



P ●







芷 一






l CPU/VFP lI。I Mem。ryl

l CPU/VFP lI。1 M…,ryI

CPU/VFP



CPU/VFP

lI-1 Mem。ryI

|I』l Mem。ryl



訾Private一一二S1noop
图1
Fig.1

kL一旺J—J上秽£—一kj Con.照trol
bit bus

Unit(S广CU)一64
Read何rite
(10ad sharing)
ARMl 1 MPCore operations per

l懑

ARMll MPCore架构图

Architecture of

2基本运算能力分析与优化
对ARMll MPCore的基本运算能力分析

各种运算的次数,从而得到M()PS(million second)作为性能指标.由于
ARMll MPCore最多可以配置4个处理器核

与优化主要从两个方面进行,分别是整数计算 能力及浮点数计算能力.在对系统进行分析时 采用嵌入式IAnux操作系统以及GCC编译器. 在实验中采用了ARM9(¥3C2410)处理器与 ARM“MPCore进行性能对比分析,S3C2410 处理器与ARMll MPCore每个处理器的频率 都没置为200 MHz.在进行系统优化时,根据
ARMll MPCore的硬件架构特点,采用了并行

心,普通的编程模型只能充分利用一个处理器, 如果要充分利JH 4个处理器的计算能力,需要 采用并行计算模型对软件进行优化.本文采用 了OpenMP并行处理模型对整数计算能力测 试软件进行了优化,实验结果如图2所示,从实 验结果中可以得到使用并行处理模型对软件优 化能充分的利用硬件架构的优势提高软件 性能. 从实验数据中可以看出,MPCore单线程程 序的性能比在S3C2410处理器上提高不够明显, 这部分性能提升主要是由MPCore流水线及存 储器系统架构带来的.如果采用OpenMP并行处 理模型,能有效的提升软件性能,在MPCore上 采用OpenMP模型(4个线程)与不采用 OpenMP模型的处理能力比为3.8:1.

处理,硬件浮点运算等方式,使ARMll MP— Core的运算能力得到了提升.
2.1

整数计算能力

在对ARMll MPCore

整数计算能力分析中,主要在IAnux环境下对 加法,乘法与除法运算能力进行了测试,并与 ¥3C2410处理器的整数计算能力进行了对比. 在测试中采用C语言编程,在一定时间能计算

万方数据

?

8?

南京大学学报(自然科学)

第45卷

图2整数计算能力分析与优化
Fig.2 Analysis and optimization of integer computation

Float point computation

图3浮点数计算能力分析与优化
Fig.3 Analysis and optimization of float point compu—

2.2浮点数计算能力

在对ARMll MPCore

tation

浮点数计算能力分析中,同样在Linux环境下 对加法,乘法与除法运算能力进行测试,并与 ¥3C2410处理器的整数计算能力进行对比.浮 点数汁算实现方法主要有三种:对于没有硬件 浮点处理单元的处理器,可以采用软件模拟的 方式实现;对于有硬件浮点处理单元的处理器, 一种方法是使用汇编语言直接采用浮点计算指 令集,另外一种方法是通过C语言实现,并在 编译器中将C语言翻译为浮点计算指令集,这 种方法的优点是软件的可移植性好,缺点是运 行效率没有前一种高. 浮点数计算能力分析与优化实验中,对在 ¥3C2410上软件模拟浮点数计算,在MPCore 上软件模拟浮点数计算以及在MPCore上使用 VFP优化等进行了对比分析,实验结果如图3 所示.在MPCore上使用VFP优化采用了浮点 数实现的第三种方法,在使用对MPCore优化 过的交叉编译器编译时,加上“一mfpu=vfp— mfloat-abi=softfp”编泽参数即可.从实验数据 中可以得到:使用硬件浮点处理单元能对MP— Core的浮点处理性能提高3~5倍,但对除法 运算的性能提高并不明显;单核MPCore处理 器与¥3C2410相比,由于MPCore处理器有 VFP以及在架构上的优化,使浮点数处理性能 得到了10倍左右的提高. 进行处理.ARMll MPCore采用了多核技术并 增加了浮点处理单元,使得处理器的浮点计算 能力得到了很大的提高.根据ARM MPCore 架构特点,对多媒体软件进行浮点计算和并行 计算优化,可以使嵌入式系统在没有专用DSP 芯片的情况下对多媒体解码并播放.
3.1

DCT优化在视频解码过程中,DCT计

算是最消耗时间的部分之一.所以对DCT运 算的性能优化,能提高解码器解码效率.在对 DCT效率分析中,使用硬件浮点处理单元对 MPCore的DCT运算进行优化,DCT算法采
用Cooley—Tukey算法,并与¥3C2410上的软

件模拟浮点处理进行了对比,其结果如图4所 示.从实验数据中可以得到,在都采用软件模拟 的方式进行浮点处理时,MPCore的处理能力 是¥3C2410的6.8倍左右;在MPCore平台 上,采用VFP硬件浮点单元与采用软件模拟方 式性能比是3.6左右.
3.2

多媒体并行处理优化

传统的多媒体播

放软件一般采用单线程,由于MPCore有4个 处理器核心,所以采用多线程的方式对多媒体 播放软件进行优化能提高处理性能.在对多媒 体播放软件进行并行处理优化时,采用了三个 线程,一个线程用于视频解码,一个线程用于音 频解码,最后一个线程用于音视频同步及显示, 并将三个线程绑定到不同的处理器上.采用 MPEG4格式文件进行实验,文件分辨率为

3多媒体处理性能优化
传统嵌入式系统由于浮点处理能力不强, 所以在设计时会使用专用DSP芯片对多媒体

万方数据

第1期

周余.都思丹:ARMll MPCore性能分析与优化

?9?

VGA(640×480),25帧/秒(fps),210.7

kbps.

Core测试芯片在显示上存在瓶颈,如果对LCD 控制器添加加速模块,多线程媒体播放器的性
能提升将更加明显.

实验结果如表1所示.实验结果表明多线程方 式播放比单线程播放性能能提高50%左右,在 VGA分辨率下,播放并不流畅,这是因为MP—

Size of transformed

data(1092(N))

图4
Fig.4

DCT计算能力分析与优化
Analysis and optimization of DCT

表1

多媒体播放软件的并行优化
Parallelization optimization of multimedia

的浮点处理能力的lO倍左右.对于多核架构,

Table 1 gram

p附

可以采用并行计算模型对软件进行优化,试验 结果表明,对整数运算采用OpenMP并行计算 模型优化后(采用四个线程),实验程序的效率 提高3.8倍左右. 传统嵌入式处理器多媒体处理能力较低, 不适合于多媒体处理.ARMll MPCore在性能



结论
由于采用了ARM V6及多核架构,增加了

上有显著的提升,使其处理多媒体变得可行.在
ARMll MPCore上处理多媒体,也需要在浮点

I。2

Cache及向量浮点处理单元,ARMll MP—

处理和并行计算方面进行优化.本文利用向量 浮点处理单元对DCT运算进行了优化并采用 三个线程对多媒体播放软件进行并行处理,实 验结果表明,采用这两种方法能提高多媒体播 放软件的性能.

Core的性能与ARM9系列处理器相比,有了 显著的提高.但要充分利用ARMll MPCore 的性能,需要根据其架构对软件进行优化,对于 硬件向量浮点处理单元,可以使用增加的浮点 运算指令集进行优化,实验结果表明优化后的 MPCore浮点处理能力是ARM9系列处理器

万方数据

?10?

南京大学学报(自然科学)

第45卷

namic power management for embedded system. References

Journal

of

Nanj ing University(Natural Sci—

[1]

ARM(ARM 1I MPCore
ence

processor

technical refer—

ences),2005,41(4):595~601.(王

悦,赵

manual)Limited.ARM DDl 0360D,2006.
user

霞。陈向群.嵌入式系统设备级动态电源管理.

[2]

ARM(core tile for ARM l I MPCore
Limited.DUl 0318C。2006.

guide)

南京大学学报(自然科学),2005,41(4):
595~601).

[3]

Wolf W.The future of multiprocessor systems—
on-chips.Design Conference Automation Conference,4 1
st

[1IJ

Ouyang T,Teng
er

Q M,Chen x Q.Device driv-

model for component--based embedded operat--

on(DAC’04),2004,681~685. J V,Rotenberg L,et a1. analysis of parallelized MPCore multiprocessor

ing system (Natural

TICK.Journal of Nanjing University

[4]

Blume H,Livonius

Sciences),2005,41(4):563~569.

Performance and power implementations
on an

(欧阳图,滕启明,陈向群.构件化嵌入式操作

系统TICK的设备驱动模型.南京大学学报(自 然科学),2005,41(4):563~569). [1 2]
Wang W,Du S D.Research
ty
on

platform.Embedded Computer Systems:Archi-

tectures,Modeling and Simulation,2007,2007 (s):74~81.

interrupt affini—

based

on

MPCore and Linu】‘.Journal of Nan—
Science),2009,1:

[5]

Marathe J,Mueller F。Source-code-correlated
cache coherence characterization of

jing University(Natural 24~30.(王

OpenMP

伟,都思丹.基于MPCore与

benchmarks.Parallel and Distributed Systems,
IEEE

I,inux的中断亲和性研究.南京大学学报(自然
科学),2009,1:24~30).

Transactions,2007,18(6):818~834.

[6]

Dorta l,I。eon C,Rodriguez C.A comparison between

D33

Wang W
matching

X,Yuan algorithm

J,Zang J.A

fingerprint
on

MPI

and

OpenMP

branch-and—bound

of minutia based of

local

skeletons.Parallel and

Distributed Processing International。

characteristic.Journal
(Natural

Nanjing

University

Symposium,2003.Proceedings 2003(s):8.

Sciences),2009,1:18~23.(王伟希, 炅.基于局部特征的点模式指纹

袁杰,臧
comprehensive analy—
on

[7]

Grant R E,Afsahi A.A sis of Xeon

匹配算法.南京大学学报(自然科学),2009,
1:18~23).

OpenMP applications

dual—core

Intel

SMPs.Parallel and Distributed Processing

[143

Xiao B,Shen decoder with phase locked

Q H,Ding Y I,.A digital video
high precision without using


Symposium,2007.II’DPS 2007。IEEE Interna-

tionaJ,2007(s):1~8.

loop.Journal of Nanjing Universi—

[8]

Vaswani

R,Zahorjan J.The
on

implications of

ty(Natural

Sciencess),2009,1:11~17.(肖

cache affinity programmed,

processor

scheduling for multi—

波,沈庆宏,丁银亮.一种无锁相环的高精度 数宁视频彩色解码方案的研究.南京大学学报

shared

memory multiprocessors. ACM symposium
Grove,199 l,

Proceedings of the thirteenth
on

(自然科学),2009,1:II~17). [15J
Zheng F,Shen

Operating

systems,Pacific

Q H,Huang Y C.The research
on

26~40.

and implementation K,Goodaere and

the digital decoding of

[9]

Hirata

J.ARM

MPCore:The
processor

NTSC video sity(Natural

signal.Journal of Nanj ing Univer- Sciences),2009,1:31~38.(郑

streamlined core.Design

scalable

ARMl 1

Automation

Conference,2007.

峰,沈庆宏,黄勇才.NTSC视频信号的数字懈

ASP—DAC’07.Asia and South Pacific

January.

码方案研究与实现.南京大学学报(自然科
学),2009,1:31~38).

2007(s):747~748.

[103

Wang

Y,Zhao X,Chen X Q.Device level dy-

万方数据




友情链接: