如何评估现代处理器的性能——以ARM Cortex-A53为例

这篇具有很好参考价值的文章主要介绍了如何评估现代处理器的性能——以ARM Cortex-A53为例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如何评估现代处理器的性能——以ARM Cortex-A53为例

1 有哪些通用评价指标?

现代处理器内核的性能可以从以下几个方面进行评估:

时钟速度(Clock Speed):它是CPU内部时钟发生器的频率,以赫兹(Hz)为单位。时钟速度越高,每秒钟内执行的指令数就越多,因此性能也会更好。

指令级并行性(ILP):现代处理器采用了一些技术来提高指令级并行性,如超标量、超线程等。这些技术可以同时执行多条指令。

流水线(Pipeline):现代处理器还采用了流水线技术来提高性能。流水线将指令分成多个阶段,并且同时执行多个指令,从而使得处理器每个时钟周期可以完成更多的工作。

缓存(Cache):缓存是一种快速的存储设备,用于暂时存储处理器需要使用的数据和指令。现代处理器内置了多级缓存系统,从而可以大大降低访问内存的延迟,提高处理器的性能。

向量化(Vectorization):向量化是一种并行计算技术,可以同时处理一组数据。现代处理器内置了向量化指令集,如SSE、AVX等,可以在单个时钟周期内执行多个操作。

芯片工艺(Process Technology):芯片工艺是指用于制造处理器的制造工艺。随着芯片工艺的不断进步,处理器的晶体管数量和频率都有了大幅度提升。

2 为什么不再使用MIPS指标?

MIPS代表每秒钟可以执行的百万条指令数。具体来说,MIPS值等于 CPU执行的指令总数除以执行这些指令所花费的时间(单位为秒),再除以一百万。

在过去,MIPS评价处理器内核性能被广泛使用是因为它是衡量计算机性能的一种简单而直观的方式。然而,在现代计算机中,MIPS已经不再被广泛使用来评估处理器的性能,原因如下:

处理器架构复杂:现代处理器的架构非常复杂,包括多级缓存、预取和超标量执行等功能,这些都使得MIPS评价成为不够准确的性能指标。

指令集变化:随着处理器指令集的变化,MIPS评价可能会失去其原有的意义。例如,现代处理器引入了向量指令,可以实现并行计算,但这不会反映在MIPS评价中。

单纯指令计数难以反映性能提升: 现代处理器通常会使用更短的指令序列来完成相同的操作,从而提高性能,这些性能提升很难通过简单的指令计数进行比较。

不同应用场景需要不同指标: 不同的应用场景需要不同的性能指标,例如,数据库系统需要高并发、低延迟的I/O操作,而图像处理则需要高吞吐量的向量计算。在这些应用场景中,MIPS评价可能无法提供有用的信息。

因此,现代计算机中常用的处理器性能指标包括时钟频率、IPC(每时钟周期指令数)、功耗和浮点运算性能等。这些指标可以更准确地衡量处理器性能,并且可以根据不同的应用场景进行定制化的性能评估。

3 主推何种评价指标?

现代计算机中常用的处理器性能指标包括时钟频率、IPC(每时钟周期指令数)、功耗和浮点运算性能等。这些指标可以更准确地衡量处理器性能,并且可以根据不同的应用场景进行定制化的性能评估。

《计算机体系结构量化研究方法》的作者约翰• L.亨尼西(John L. Hennessy) 和大卫•A.帕特森(David A. Patterson)认为时钟周期时间、CPI(1/IPC,执行每条指令需要的时钟周期数)和指令数量这三个评价指标能够综合反映某个计算机系统的性能。
如何评估现代处理器的性能——以ARM Cortex-A53为例

4 为什么选择这些指标?

究其原因,就是上一节那张图里的约束条件了。

emmm首先我们要意识到,仅仅关注指令数量和主频是不够的。可执行文件中的指令数是受到指令集体系结构和编译器技术制约的。对于同样的测试程序/负载,我们使用不同的编译器编译产生的指令数量可能不同。即使是同样的编译器和程序,在目标架构不同时,输出文件的指令数也可能有差异。

GCC的编译过程分为四个阶段:预处理、编译、汇编和链接。在预处理阶段,预处理器将源代码转换为一个更大的、包含了所有头文件和宏替换的单一文件。在编译阶段,编译器将这个单一文件翻译成汇编代码。在汇编阶段,汇编器将汇编代码转换成二进制目标文件。最后,在链接阶段,链接器将多个目标文件组合成一个可执行文件。

LLVM的编译过程分为三个主要阶段:前端、优化和后端。在前端阶段,源代码被翻译成一个中间表示(IR),这种表达方式非常接近于高级语言的语法。在优化阶段,LLVM将IR进行各种优化操作以提高程序性能。在后端阶段,IR会被翻译成目标平台的机器码。这种模块化的设计使得LLVM更易于扩展和定制,因为用户可以用自己的前端或后端替换默认实现。而且,LLVM还可以生成可重定向的对象文件,这些对象文件可以在链接时进行优化。

其次就是组成与指令集体系结构会影响CPI,比如总线宽度、主存速率,都会拖处理核的后腿。对于支持向量运算的处理核,即使每条指令需要的周期数比不支持向量指令的处理核多3倍,它也可能比后者更快地完成同一个运算任务。比如下图所示,armv7支持Dn/Qn寄存器,分别可以存64bits/128bits的数据,这样每次可以运算2/4个32位浮点数,自然就能更快地做完一批运算。
如何评估现代处理器的性能——以ARM Cortex-A53为例

最后咱也不能迷信主频,和CPI一样,处理核周围的设备的速率也可能会制约处理核发挥真正的实力。即时处理核能跑4GHz,cache却总是miss(cache太小),或者总线总是处于忙碌状态(位宽不够),这样系统的吞吐量也是上不去的。
如何评估现代处理器的性能——以ARM Cortex-A53为例

5 ARM Cortex-A53的性能

我找到有人对A53的IPC和FOP两个参数做了测试,结果贴在这里用作参考。

每周期指令数(IPC)

32bit浮点类型数乘/加运算任务,每周期可执行两个标量/SIMD 2(64bits)操作指令,每周期执行1个SIMD 4(128bits) 操作指令。
如何评估现代处理器的性能——以ARM Cortex-A53为例

64bits浮点类型数乘/加运算任务,每周期可执行两个标量操作指令,每周期执行1个SIMD 2(128bits) 操作指令。
如何评估现代处理器的性能——以ARM Cortex-A53为例

每周期浮点运算次数(FOP)

每周期可执行两次标量单/双精度浮点运算。
如何评估现代处理器的性能——以ARM Cortex-A53为例
使用SIMD情况下,每周期可执行4次单精度浮点运算,8次乘积累加运算(FMA)。
如何评估现代处理器的性能——以ARM Cortex-A53为例
使用SIMD情况下,每周期可执行2条双精度浮点运算,4次乘积累加运算(FMA)。
如何评估现代处理器的性能——以ARM Cortex-A53为例

参考

  1. mips of cortex a53 - Architectures and Processors forum - Support
    forums - Arm Community

  2. Why does FPU performance differ in AArch64 and AArch32 with
    Cortex-A53? - Architectures and Processors forum - Support forums -
    Arm Community

  3. ホイール欲しい ハンドル欲しい » ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較 (flatlib.jp)

  4. opengl:cpufop [HYPERでんち] (flatlib.jp)

  5. 计算机体系结构:量化研究方法(第6版) (豆瓣) (douban.com)文章来源地址https://www.toymoban.com/news/detail-436685.html

到了这里,关于如何评估现代处理器的性能——以ARM Cortex-A53为例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一文深入搞懂ARM处理器架构

    典型的微处理器由控制单元、程序计数器(PC)、指令寄存器(IR)、数据通道、存储器等组成 。 指令执行过程一般分为:   取指: 从存储器中获得下一条执行的指令读入指令寄存器; PC: 程序计数器, 总是指向下一条将要执行的指令; IR: 指令寄存器,用于保持已取得指令

    2024年04月28日
    浏览(36)
  • ARM架构版本及处理器系列详细介绍

    ARM是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器,它只设计芯片而不生产。ARM的经营模式在于出售其知识产权核(IP core),将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供技术服务。         ARM的版本

    2024年02月16日
    浏览(33)
  • [ARM 汇编]进阶篇—异常处理与中断—2.4.2 ARM处理器的异常向量表

    异常向量表简介 在ARM架构中,异常向量表是一组固定位置的内存地址,它们包含了处理器在遇到异常时需要跳转到的处理程序的入口地址。每个异常类型都有一个对应的向量地址。当异常发生时,处理器会自动跳转到对应的向量地址,并开始执行异常处理程序。 异常向量表

    2024年02月09日
    浏览(56)
  • ARM微处理器的指令集概述

    ARM处理器是基于精简指令集计算机(RISC)原理设计的 ,指令集和相关译码机制较为简单。ARM微处理器的指令集是加载(Load)/存储(Store)型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来

    2024年02月02日
    浏览(34)
  • 『ARM』和『x86』处理器架构解析指南

    如果问大家是否知道 CPU,我相信不会得到否定的答案,但是如果继续问大家是否了解 ARM 和 X86 架构 ,他们的区别又是什么,相信 可能部分人就会哑口无言 了 目前随着深度学习、高性能计算、NLP、AIGC、GLM、AGI 的技术迭代,助力大模型快速发展,对于 多元算力结合(CPU+GP

    2024年02月08日
    浏览(43)
  • 嵌入式ARM设计编程(三) 处理器工作模式

    文章和代码已归档至【Github仓库:hardware-tutorial】,需要的朋友们自取。或者公众号【AIShareLab】回复 嵌入式 也可获取。 (1) 通过实验掌握学会使用msr/mrs 指令实现ARM 处理器工作模式的切换,观察不同模式下的寄存器,加深对CPU 结构的理解; (2) 通过实验掌握ld 中如何使

    2024年02月03日
    浏览(38)
  • [ARM汇编]ARM体系结构简介—1.2.1 ARM处理器的历史与发展

    ARM(Advanced RISC Machine,先进的精简指令集计算机)处理器是一种广泛应用于嵌入式系统的处理器架构,具有低功耗、高性能、低成本等特点。接下来,我们将介绍 ARM 处理器的历史与发展。 ARM 处理器的历史 ARM 处理器的历史可以追溯到 1983 年,当时英国的 Acorn 电脑公司为了

    2024年02月09日
    浏览(35)
  • ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么?ARM异常中断处理流程?

    快速学习嵌入式开发其他基础知识? 返回专栏总目录 《嵌入式工程师自我修养/C语言》 Tip📌:鼠标悬停双虚线/句,可获得更详细的描述   ARM处理器有多种工作模式,如下表所示。应用程序正常运行时,ARM处理器工作在 用户模式(User mode) ,当程序运行出错或有中

    2024年02月21日
    浏览(43)
  • 强大的处理器和接口支持BL304ARM控制器

    在智慧医疗领域,BL304可以用于实现医疗设备的智能化、远程监控和数据交换。在智慧电力领域,BL304可以帮助实现电网的智能化管理,提升电力供应的效率。在智慧安防领域,BL304可以实现智能监控、智能门锁等应用,保障安全。 搭配四核 Cortex-A53+单核Cortex-M4构架,运行速度

    2024年02月10日
    浏览(43)
  • ARM Cortex-M处理器中的SysTick定时器简介

    ARM Cortex-M处理器中的SysTick是一个内部的系统定时器,它提供了一种简单而有效的方式来生成定时的中断请求。SysTick定时器是一个24位的下计数定时器,它可以配置为周期性地产生中断,这些中断可以用于操作系统的任务调度、性能测量、时间延迟等。 SysTick定时器的主要特点

    2024年04月28日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包