1、概述

本篇主要介绍SylixOSCPU性能计算方法。

2、简介

BogoMipsSylixOS中衡量CPU运行速度的一种标准,但只能用来粗略计算CPU的性能,并不十分精确。

SylixOS中关于CPU性能计算的方法位于内核文件"libsylixos/SylixOS/kernel/interface/CpuPerf.c"中。

3、接口及具体实现

SylixOS内核中定义了用于计算CPU运算速度的相关接口。

3.1 接口介绍

#include

ULONG  API_CpuBogoMips (ULONG  ulCPUId, ULONG  *pulKInsPerSec)

函数API_CpuBogoMips原型分析:

  • 此函数成功返回ERROR_NONE,失败返回ERROR_CODE

  • 参数ulCPUIdCPU ID

  • 参数pulKInsPerSec是每秒执行的指令数量 (千条指令为单位)

3.2 具体实现流程

SylixOS中计算CPU的运算速度需考虑单核和多核处理器的区别。单核处理器只需直接执行一定数量的计数循环,根据执行计数循环所耗费的tick数换算成每秒执行的指令数即可;多核处理器则需要先将计数循环线程绑定到特定的CPU,确保其进入该CPU运行,提高计算结果的准确性。其具体实现流程如图 3.1所示。

3.1 CPU性能计算流程图