CPU多核和多线程技术
2022-06-06

  采用多核技术提升CPU马力,是一种通过硬件提供更高系统性能的日益常见的做法。即使对许多视成本和功耗为重要设计考虑的大量消费性应用,也是如此。但是,升级到多核系统并无法保证一定能够提升性能或改善用户体验。因为提升系统性能不仅是硬件方面的问题,软件也必须能充分利用并行硬件资源。然而软件一直在改变 —— 系统变得越来越复杂,以至于在许多情况下,多个进程和线程在同时运行;同时,应用程序也在被优化,以便在多处理硬件的趋势中更加受益。

  基于以上考虑,我们最近采用EEMBC 的 BrowsingBench™基准测试程序来评估MIPS多核 (MC) 和多线程 (MT) 技术能带来的性能提升。我们的目标是在Android™软件平台上看看这些技术能在多大程度上改善一个非常流行的、实际的消费性应用(网页浏览)的用户体验。

  BrowsingBench是一个可靠而应用广泛的工具,受到多家领先的科技公司的信任与采用。它可以测量大量不同内容页面的加载和渲染时间,并以可靠的方式进行,以生成可重复而有用的结果。它可以在任何一个有网络浏览器的联网设备上运行。与合成测试 (Synthetic Test *) 不同,BrowsingBench的运行方式与用户在联网设备上的操作完全相同。我们过去曾采用多种其他适用于评估MC/MT系统性能的基准测试程序,但没有一种能够像BrowsingBench一样,可提供代表真实世界联网设备用户体验的性能指标。

  我们在一个以MIPS32® 1004K™一致处理系统 (CPS) 为基础的系统上运行BrowsingBench。在最高配置方面,1004K CPS能支持最多4个核、每个核配备2个硬件线程(亦称为虚拟处理单元或VPE)。但为了简化测试,我们采用双核、每个核两个VPE的配置,总计有4个VPE。根据MIPS的多线程技术,VPE实际上是逻辑CPU,在1004K的每个核中两个VPE共享一条物理流水线。

  多核和多线程提升CPU马力

  我们系统上的软件平台是Android,测试中采用了每套Android系统都会配备的Android浏览器。

  为评估多核和多VPE对网络浏览器产生的性能提升,我们采用4个不同的配置来执行BrowsingBench,如下表所示。在所有的案例中,测试都是在相同的双核1004K系统上执行,不过我们通过操作系统来启用和禁用核与VPE。

  

  我们想要回答的重要问题是,Android是否能利用这些多重处理资源来更快地载入和渲染网页,从而改善用户体验。为做到这点,Android在处理浏览工作负荷时,必须能使用并行的进程和线程。

  测试结果显示于下表和下图。毫无疑问,Android的网络浏览性能因为采用MC和MT技术而得到大幅提升。

  

  多核和多线程能提升Android网页浏览性能

  一个重要的发现是,当完整配置与基本配置相比时,浏览性能提升了超过2.5倍。由于在Android中有大量的并行处理,浏览器的确能够从MT和MC的结合中受益。再进一步查看Android系统中的情况,确实显示出有许多进程都是以并行方式运行。系统中的两个主要进程,一个为Android浏览器本身,另一个称为“系统服务器 (system server)”。后者负责管理包括显示系统在内的许多Android组件,在BrowsingBench执行期间一直都非常忙碌。

  即使我们将系统限制为单核,MIPS MT技术也能让BrowsingBench性能提升43%。MT的主要特性之一是能够提升核的性能效率,这是当运行多进程和/或多线程时,通过提高核的流水线利用率来实现的。因此,对于需要小巧芯片面积的系统来说,选用多线程的核心是提升系统性能的一种极佳方式。

  当多核和多线程系统首度问世时,大部分现有的软件并没有针对这些技术进行优化设计。今天,情况已经改变Android是一个复杂的软件平台,同时也是一个大量消费性平台的绝佳范例,它正快速演进和优化,会为联网世界提供优秀的用户体验。

  在MIPS,我们对此基准测试结果感到非常高兴,因为它充分表明了我们的MC和MT技术与几年前的标准硬件相比,可提供高出许多的性能,从而给智能手机、平板电脑、联网数字电视等各种上网设备的终端用户带来重要影响。

  注:

  合成测试 (Synthetic Test/Benchmark) 通过专门设计的测试程序针对软件系统中的多个组件分别测试。应用测试 (Application Test/Benchmark) 则通过真实世界中的应用来做测试。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
  • 基于DSP的运动控制器的研究

      由于DSP将超强的高速实时处理能力和丰富的外设功能集于一身,目前,以DSP为核心的嵌入式运动控制器已经成为开放式运动控制器的发展主流,并获得广泛的应用。本文

    08-03
  • DSP在自动目标识别中的应用

      自动目标识别(ATR)算法通常包括自动地对目标进行检测、跟踪、识别和选择攻击点等算法。战场环境的复杂性和目标类型的不断增长使ATR算法的运算量越来越大,因此

    08-03
  • 多核DSP提升RNC分组处理能力

      由于与频率提高相关的功耗/散热问题日益突出,指令级并行架构(ILP)及存储能力已近极限,硅芯片已难以支撑处理器性能的大幅度提升。在单芯片上集成多个核,每个核

    08-03
  • DSP编程代码优化技巧

      前面我们提到了使用编译器的优化选项进行不同级别的代码优化的方法。俗话说“好马配好鞍”,即使我们有了强大的代码优化工具,使得我们书写的符合ANSI/ISOC/

    08-02
  • 基于DSP的JPEG图像压缩设计

      一、引言    JPEG算法是一种数字图像压缩编码算法,具有压缩比例高、失真小的特点,并已被确定为国际标准。该标准被广泛应用于数码相机、监视系统、手机、可视

    08-01
  • DSP在电能表中的应用

      实时数字信号处理、超大规模集成电路技术的飞速发展,不断地推动着数字信号处理器性能的提高,使其在信号处理、军事及民用电子技术领域发挥着越来越重要的作用,其应用

    08-01
  • 流式数据处理,它能做什么?怎么使用它最好?

      今日,流式数据处理是大数据里的很重要一环。原因有不少,其中包括:  1.商业(竞争)极度渴望更快的数据,而转换成流计算则是一个好的方法来降低延迟。  2.海

    07-19
  • CPU、GPU5个被误解的概念

      从英特尔1971年推出第一款商用微处理器4004到现在,处理器已经走过了三十多年的历程,目前,CPU处理器已经从服务器、PC发展到嵌入式、工控、消费、医疗等

    07-19
  • 数据指针DPTR的应用特性是什么?

    [导读]它用于存放即将发送或者已经接收的数据,它在SFR块中,只有一个字节地址,但实际上是由发送缓冲器和接收缓冲器组成。这两个缓冲器都是独立的寄存器,当即将发送

    07-12
  • DSP编程技巧的一些问题

      在我们有关DSP的论坛、博客和一些互动活动中,网友经常会问一些有关“编程技巧”的问题。  关于编程技巧的定义,也没有一个统一的标准,例如实现一个很复杂的多层

    07-07
  • LEC对ASIC的重要性

    "ASIC芯片是用于供专门应用的集成电路(ASIC,ApplicationSpecificIntegratedCircuit)芯片技术,在集成电路界被认为是一种

    07-06
  • 采用DSP的谐波控制器设计方案

      当今电力系统中的电能质量问题越来越突出,一方面,大量敏感性负荷对电能质量的要求越来越高,而另一方面,越来越多的非线性负荷不断接入电网,使电力系统总体的电能质

    07-04
下载排行榜
更多
广告