• 其他语言



超线程(HT)技术、多核,及移动式英特尔
® 
奔腾
® 
处理器 — M 的相关特性
页面和feed选项
打印
收藏此页
Digg此页 | 添加到您的del.icio.us帐号
目录

HTMulticore 库概述
HTMulticore 库包括两个部分:库本身,称为 HTMulticore.lib;以及 include 文件,称为 HTMulticore.h。

该库可分为三个类别:超线程(HT)技术、特性和移动。HTMulticore 库中所包含的函数在这三个类别中均已列出。本文接下来将对每个类别进行详细介绍。

超线程(HT)技术

在超线程(HT)技术类别中列出了以下函数:

GetAPIC_Physical_ID

语法: unsigned char GetAPIC_Physical_ID (void)

说明:该函数返回一个字节值,该字节值包含了当前进程中使用的物理和逻辑处理器编号。

返回值:如果系统不支持该特性,则返回 0xFF

LogicalProcPerPhysicalProc

语法: unsigned char LogicalProcPerPhysicalProc (void)

说明: 该函数返回一个字节值,该字节值包含了每个物理处理器封装中逻辑处理器的最大数量。这是一个物理处理器封装能够处理的逻辑处理器的最大值。可利用函数 CPUCount 来获得 AvailLogicalNum 的值,从而得出程序可使用的逻辑处理器数量。

返回值:逻辑处理器的数量。

CorePerPhysicalProc

语法: unsigned char CorePerPhysicalProc (void)

说明:该函数返回一个字节值,该字节值包含了每个物理处理器封装中最大的内核数。这是物理处理器封装能处理的最大内核数。可利用函数 CPUCount 来获得 AvailCoreNum 的值,从而得出程序可使用的内核数量。

返回值:每个物理处理器封装中的最大内核数。

HTSupported

语法: unsigned int HTSupported (void)

说明:该函数用于检查处理器是否具有内置超线程(HT)技术。

该函数用于检查处理器是否具有内置超线程(HT)技术。如处理器没有内置超线程(HT)技术,则返回 0

CPUCount

语法: unsigned char CPUCount 

(unsigned char *AvailLogicalNum,
unsigned char *AvailCoreNum,
unsigned char *PhysicalNum,)

说明:该函数检索每个物理处理器封装中可用的逻辑处理器及内核数量,并检索物理处理器的总数。“可用的”表示应用能够使用的逻辑处理器或内核数量。这些数量与函数 LogicalProcPerPhysicalProcCorePerPhysicalProc 所返回的数量有所不同。这两个函数返回的是物理处理器封装可处理的逻辑处理器和内核的最大值。这些数据仅供参考,不能用于创建线程。否则会导致性能降低。

如果由于某种原因无法确定物理处理器的总数,则变量 “PhysicalNum” 将设置为该值:CANNOT_DETECT_PHY_CPU 0xFF

返回值:返回系统状态。以下是几种可能的状态:

SINGLE_CORE_AND_HT_ENABLED  1
SINGLE_CORE_AND_HT_DISABLED  2
SINGLE_CORE_AND_HT_NOT_CAPABLE  4
MULTI_CORE_AND_HT_NOT_CAPABLE  5
MULTI_CORE_AND_HT_ENABLED  6
MULTI_CORE_AND_HT_DISABLED  7
CORE_AND_HT_CANNOT_DETECT  8
CORE_CANNOT_DETECT_AND_HT_NOT_CAPABLE  9

IsMultiCore

语法: unsigned int IsMultiCore (void)

说明:该函数将检查处理器是否为多核处理器。

返回值:如果不是多核处理器,则返回 0

CurProcessId

语法: DWORD CurProcessId (void)

说明:该函数用于检索当前进程的编号。

返回值: DWORD

CurThreadId

语法: DWORD CurThreadId (void)

说明:该函数用于检索当前物理处理器的编号。

返回值: DWORD

特性

在特性类别中列出了以下函数:

SupportMMX

语法: bool SupportMMX (void)

说明:该函数用于检查处理器是否支持英特尔® MMX™ 技术。

返回值:如果不支持MMX 技术,则返回 0

SupportSSE

语法: bool SupportSSE (void)

说明:该函数用于检查处理器是否支持 SSE

返回值:如果不支持SSE,则返回 0

SupportSSE2

语法: bool SupportSSE2 (void)

说明:该函数用于检查处理器是否支持 SSE2

返回值:如果不支持SSE2,则返回 0

SupportSSE3

语法: bool SupportSSE3 (void)

说明:该函数用于检查处理器是否支持 SSE3(PNI)

返回值:如果不支持SSE3(PNI),则返回 0

移动
在移动类别中,列出以下函数:

ACLineON

语法: bool ACLineON (void)

说明:该函数用于检查笔记本电脑是否插入交流电源插座中。

返回值:若没有插入,则返回 0

GetBatteryChargingStatus

语法: BYTE GetBatteryChargingStatus (void)

说明:该函数用于获取笔记本电脑的电池状态。

返回值:  NO_BATTERY 128
BATTERY_STATUS_UNKNOWN   255
CHARGE_HIGH1
CHARGE_LOW2
CHARGE_CRITICAL4
CHARGE_CHARGING8

注意:该函数仅可用于非关键应用。

PercentBatteryRemain

语法: BYTE PercentBatteryRemain (void)

说明:该函数用于获取笔记本电脑电池剩余电量的百分比。

返回值:如果出现错误,则返回 PERCENT_BATTERY_UNKNOWN 255

注意:该函数仅可用于非关键应用。

BatteryTimeRemain

语法: DWORD BatteryTimeRemain (void)

说明:该函数用于获取笔记本电脑电池的剩余使用时间。

返回值:如果出现错误,则返回 UNKNOWN 0xFFFFFFFF

注意:该函数仅可用于非关键应用。

BatteryFullTime

语法: DWORD BatteryFullTime (void)

说明:该函数用于获取笔记本电脑电池剩余电量百分比。

返回值:如出现错误,则返回 UNKNOWN 0xFFFFFFFF

注意:该函数仅可用于非关键应用。

上一部分1  2  3  4  5  下一部分

第 2 页, 共 5 页