SylixOS中CPU性能計算
阿新 • • 發佈:2017-11-22
sylixos cpu性能計算
1、概述
本篇主要介紹SylixOS中CPU性能計算方法。
2、簡介
BogoMips是SylixOS中衡量CPU運行速度的一種標準,但只能用來粗略計算CPU的性能,並不十分精確。
SylixOS中關於CPU性能計算的方法位於內核文件"libsylixos/SylixOS/kernel/interface/CpuPerf.c"中。
3、接口及具體實現
SylixOS內核中定義了用於計算CPU運算速度的相關接口。
3.1 接口介紹
#include <SylixOS.h>
ULONG API_CpuBogoMips (ULONG ulCPUId, ULONG *pulKInsPerSec);
函數API_CpuBogoMips 原型分析:
此函數成功返回ERROR_NONE,失敗返回ERROR_CODE;
參數ulCPUId是CPU ID;
參數pulKInsPerSec是每秒執行的指令數量 (千條指令為單位)。
3.2 具體實現流程
SylixOS中計算CPU的運算速度需考慮單核和多核處理器的區別。單核處理器只需直接執行一定數量的計數循環,根據執行計數循環所耗費的tick數換算成每秒執行的指令數即可;多核處理器則需要先將計數循環線程綁定到特定的CPU,確保其進入該CPU運行,提高計算結果的準確性。其具體實現流程如圖 3.1所示。
圖 3.1 CPU性能計算流程圖
SylixOS中CPU性能計算