1903_CoreMark白皮书阅读笔记

1903_CoreMark白皮书阅读笔记

全部学习汇总: g_embedded: 嵌入式通用技术学习笔记 (gitee.com)

再看ARM的内核架构介绍的时候看到了不同的内核都测试了一个CoreMark/Mhz的参数。从名称看,可以理解为是MCU的算力跑分。至于这部分究竟是测试了哪些功能,接下来跟着白皮书卡一下。

白皮书的文件是可以从Embedded Microprocessor Benchmark Consortium网站上获取的。

CoreMark结果是一个数字,可以用来衡量CPU的运算能力。DMIPS以及BogoMIPS是从其他的角度做了一些类似的测试。

CoreMark是为了能够做到简单且标准化的测试而制定的,可以免费下载(这么看应该是源代码)。设计采用了常见的数据结构和算法,而且用到的运算都是在运行的过程中计算出来的从而避免编译器优化带来的影响。运行的方法以及报告方式也做了标准化的要求。

CoreMark的内容主要是链表处理、矩阵运算、以及状态机跳转。其中,链表会进行翻转、搜索、排序等操作对指针的处理、分散内存的访问等进行测试。如果链表的大小超过了Cache的大小,还可以同时测试内存以及缓存的层级结构的效率。为了检查结果的准确性,还对内容进行了CRC的校验,而CRC校验一者是可以判断对错;二者可以顺便考察一下运算能力。而状态机的跳转主要是用来测试条件分支的执行效率。

链表节点的数据结构中包括数据对象以及index。其中,index的存在是为了记录在排序中的位置。这种设计方式可以在内存比较小的平台上使用,同时避免了使用标准库进行存储的申请分配等操作。这种设计让我联想到了FreeRTOS的链表设计。

无论是什么平台,对比时候链表的节点数目都是相同的。因此,对比的时候主要看数据量而不看实际的内存消耗。

矩阵运算的主要目的是测试循环、MAC等设计。这个过程中同样采用了CRC来进行内容准确性的校验。

状态机一般可以使用switch或者if条件分支来实现,主要的测试点就是MCU的条件分支判断而非循环。

默认情况下,CoreMark需要2KB的存储来存储用到的数据。这么小的内存的需求量在一些低端的嵌入式MCU上都是可以满足的。不过,结合前面的信息我倒好奇,如果都是这么大的话再很多高端的MCU上岂不是会大量使用Cache从而导致得分虚高?

这个是一个基本的测试结果的展示,涉及到了不同的主频下的表现、不同的编译器版本的表现以及相同的MCU和编译器但是不同编译选项的表现。上面所有内容一直但是结果不同的两个就是编译选项不同,这个在文档的后续内容中给出了说明。

另外,从上面的信息看。商用的编译器看起来在效率上通常会比gcc要好一些,而gcc随着版本的升级也在不断改善生成代码在效率上的质量表现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/401166.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CV论文--2024.2.22

SOURCE:CV论文--2024.2.22 1、CounterCurate: Enhancing Physical and Semantic Visio-Linguistic Compositional Reasoning via Counterfactual Examples 中文标题:CounterCurate:通过反事实示例增强物理和语义视觉语言组合推理 简介&…

“替代云”知多少?Akamai Linode 重新定义公有云服务!

自2006年云计算概念提出以来,云产业已经成为数字化时代所必备的底层基础,但随着多元化的业务需求的增多,多云战略、本地部署所形成混合环境,都使得云复杂性,日渐成为了迫在眉睫的挑战。 451 Research 云价格指数 (CPI…

HarmonyOS Stage模型基本概念讲解

本文 我们来说harmonyos中的一种应用模型 Stage模型 官方提供了两种模型 一种是早期的 FA模型 另一种就是就是 harmonyos 3.1才开始的新增的一种模型 Stage模型 目前来讲 Stage 会成为现在乃至将来 长期推进的一种模型 也就是 无论是 现在的harmonyos 4.0 乃至 之后要发布的 …

pytest基本应用

文章目录 1.pytest安装2.用例运行规则3.常用参数断言运行参数用例控制setup和teardownini配置文件 4.常用插件5.pytest高阶用法用例跳过参数化 6.pytest之Fixture使用fixture使用装饰器usefixtures 7.pytest之conftest.py8.conftestfixtureyieldyield介绍前后置使用 1.pytest安…

2012及其以上系统修改服务器密码指南

修改服务器密码指南,目前介绍两种不同的方案 方法一 指令式 winR键 弹出运行框里输入 cmd 点击确认或者右下角开始程序里面的点开运行 2.在弹出框里手动输入以下一组文字:net user administrator 123456 框内无法粘贴 需要手动输入 其中administrator 是用…

4核8G服务器腾讯云和阿里云租用价格对比,2024更新

4核8G云服务器多少钱一年?阿里云ECS服务器u1价格955.58元一年,腾讯云轻量4核8G12M带宽价格是646元15个月,阿腾云atengyun.com整理4核8G云服务器价格表,包括一年费用和1个月收费明细: 云服务器4核8G配置收费价格 阿里…

Sora刷爆了,先来了解下基本情况

2月15日,OpenAI发布的Sora模型确实在文生视频领域取得了显著的进步,其特点和创新性表现在以下几个方面: 视频生成长度:Sora模型能够生成长达1分钟的视频,这相比之前的文生视频模型有了显著的提升。这一长度的视频已经…

后端程序员入门react笔记——react的diff算法(三)

diffing算法 虚拟dom 我们知道,react里面操作的都是虚拟dom,最后经过render渲染为真正的dom,那么为什么要提出虚拟dom这个概念呢?其实就是将逻辑和视图区分开,react的虚拟dom,就相当于mvc的c,…

网络安全实验(三)补充

1.假设内网用户需要通过外网的web服务器和pop3邮件服务器下载文件和邮件,内网的FTP服务器也需要接受外网用户上传的文件。针对该场景进行防病毒的防护。 2.我们需要针对办公区用户进行上网行为管理,要求进行URL过滤,要求在上班时间仅能访问教…

UE蓝图 入口(FunctionEntry)节点和源码

系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 UE蓝图 入口(FunctionEntry)节点和源码 文章目录 系列文章目录一、FunctionEntry节点功能二、入口节点用法1. 创建函数2. 命名函数3. 定义参数4. 编写函数逻辑5…

http协议工具:apache详解

目录 一、常见的http服务程序 1、 Apache HTTP Server 介绍 1.1 apache 概念 1.2 apache 功能 1.3 apache 特性 2、MPM(multi-processing module)工作模式 2.1 prefork 2.2 worker 2.3 event 二、Apache HTTP Server安装和相关文件 1、安装方…

五种多目标优化算法(MOGWO、MOJS、NSWOA、MOPSO、MOAHA)性能对比,包含6种评价指标,9个测试函数(提供MATLAB代码)

一、5种多目标优化算法简介 1.1MOGWO 1.2MOJS 1.3NSWOA 1.4MOPSO 1.5MOAHA 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数(zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3)&#xff0…

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测…

AWS安全组是什么?有什么用?

最近看到小伙伴在问,AWS安全组是什么?有什么用?今天我们大家就来简单聊聊,仅供参考哦! AWS安全组是什么?有什么用? 【回答】:AWS安全组是一种虚拟防火墙,用于控制进出…

Eclipse项目间的引用

我们在开发的时候,有时候需要把一个大的项目打散,尤其是现在微服务的架构很流行,一个大的项目往往被拆成很多小的项目,而有的项目作为公共工程被独立出来,比如有个工程专门提供各种Util工具类,有的工程专门…

【hoare优化版】快速排序算法(2)

目录 GitMidi三数取中 整体思想 图解分析 代码实现 Hoare优化 上篇我们介绍了hoare基础版,但是这种代码存在缺陷,所以我们提出了两种解决方案。主流的解决方案就是【三数取中选key】 GitMidi三数取中 在快排的过程中,每一次我们要取一…

Hive--内部表常用操作 全面且详细

文章中关于内部表常用操作目录 一、隔符 二、根据查询结果创建表 ​​​​​​​三、根据已经存在的表结构创建表 ​​​​​​​四、查询表的类型 ​​​​​​​五、删除表 ​​​​​​​一、隔符 create table if not exists stu2(id int ,name string) row format d…

分享:大数据信用查询去什么样的平台查?

在当今社会,大数据信用查询已经成为企业和个人了解自身信用状况的重要途径。然而,面对众多的大数据信用查询平台,如何选择一个可靠的平台进行查询呢?本文将为您介绍一些选择大数据信用查询平台的关键因素。 一、平台信誉度 首先,…

django自定义后端过滤

​ DRF自带的过滤 第一个 DjangoFilterBackend 是需要安装三方库见[搜索:多字段筛选]两外两个是安装注册了rest_framework就有。 如上图,只要配置了三个箭头所指的方向,就能使用。 第一个单字段过滤 用户视图集中加上filterset_fields …

(done) 两个矩阵 “相似” 是什么意思?

参考视频:https://www.bilibili.com/video/BV1zu411673J/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 参考资料:https://baike.baidu.com/item/%E7%9B%B8%E4%BC%BC%E7%9F%A9%E9%98%B5/10369874?frge_a…
最新文章