mirror of
https://github.com/openhardwaremonitor/openhardwaremonitor
synced 2025-09-04 00:05:27 +00:00
Fixed the Intel Sandy Bridge CPU core clock calculation.
This commit is contained in:
@@ -255,14 +255,20 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
||||
{
|
||||
newBusClock =
|
||||
TimeStampCounterFrequency / timeStampCounterMultiplier;
|
||||
if (microarchitecture == Microarchitecture.Nehalem ||
|
||||
microarchitecture == Microarchitecture.SandyBridge)
|
||||
{
|
||||
switch (microarchitecture) {
|
||||
case Microarchitecture.Nehalem: {
|
||||
uint multiplier = eax & 0xff;
|
||||
coreClocks[i].Value = (float)(multiplier * newBusClock);
|
||||
} else {
|
||||
double multiplier = ((eax >> 8) & 0x1f) + 0.5 * ((eax >> 14) & 1);
|
||||
} break;
|
||||
case Microarchitecture.SandyBridge: {
|
||||
uint multiplier = (eax >> 8) & 0xff;
|
||||
coreClocks[i].Value = (float)(multiplier * newBusClock);
|
||||
} break;
|
||||
default: {
|
||||
double multiplier =
|
||||
((eax >> 8) & 0x1f) + 0.5 * ((eax >> 14) & 1);
|
||||
coreClocks[i].Value = (float)(multiplier * newBusClock);
|
||||
} break;
|
||||
}
|
||||
} else {
|
||||
// if IA32_PERF_STATUS is not available, assume TSC frequency
|
||||
|
@@ -193,23 +193,21 @@ namespace OpenHardwareMonitor.Hardware.HDD {
|
||||
if (attributes.Length > 0) {
|
||||
r.AppendLine("Drive name: " + name);
|
||||
r.AppendLine();
|
||||
r.AppendFormat(CultureInfo.InvariantCulture, " {0}{1}{2}{3}{4}{5}",
|
||||
r.AppendFormat(CultureInfo.InvariantCulture, " {0}{1}{2}{3}{4}",
|
||||
("ID").PadRight(6),
|
||||
("RawValue").PadRight(20),
|
||||
("WorstValue").PadRight(12),
|
||||
("AttrValue").PadRight(12),
|
||||
("Name"),
|
||||
Environment.NewLine);
|
||||
|
||||
foreach (SMART.DriveAttribute a in attributes) {
|
||||
if (a.ID == SMART.AttributeID.None) continue;
|
||||
string raw = BitConverter.ToString(a.RawValue);
|
||||
r.AppendFormat(CultureInfo.InvariantCulture, " {0}{1}{2}{3}{4}{5}",
|
||||
r.AppendFormat(CultureInfo.InvariantCulture, " {0}{1}{2}{3}{4}",
|
||||
a.ID.ToString("d").PadRight(6),
|
||||
raw.Replace("-", " ").PadRight(20),
|
||||
a.WorstValue.ToString(CultureInfo.InvariantCulture).PadRight(12),
|
||||
a.AttrValue.ToString(CultureInfo.InvariantCulture).PadRight(12),
|
||||
a.ID,
|
||||
Environment.NewLine);
|
||||
}
|
||||
r.AppendLine();
|
||||
|
@@ -37,5 +37,5 @@
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("0.2.1.7")]
|
||||
[assembly: AssemblyInformationalVersion("0.2.1.7 Alpha")]
|
||||
[assembly: AssemblyVersion("0.2.1.9")]
|
||||
[assembly: AssemblyInformationalVersion("0.2.1.9 Alpha")]
|
Reference in New Issue
Block a user