HWiNFO64 and Haswell Systems

parsec

Well-Known Member
Hi Martin, I'm using HWiNFO64 v4.18-1930 on my Haswell based PC (ASRock Z87 EX 6 board with Nuvoton NCT6776 chip, i5-4670K CPU, Windows 8 Pro 64bit), and it is working fine. I don't see any posts about HWiNFO64 and Haswell PCs in the forum, so just some comments, FYI information, and questions of course.

The Uncore Clock field seems correct, and changes perfectly as the CPU multiplier changes due to SpeedStep and other power saving options.

I really like the Total DRAM Power display! I'm using two 4GB DIMMs, Samsung M379B5273DH0-YK0, at 2133, 1.425V. I'm seeing power values from 1.264W - 1.852W. These values really are the total DRAM power being used by both DIMMs together? I'm not saying it is wrong, just interesting to see it is that low. This memory is low power memory, but not categorized as LPDDR3.

The Z87 PCH chipset is showing temps from ~35C - 40C.

Nice work getting the new basic Haswell CPU voltages correct (which is more than I can say for my board's manufacture...).

The Vccin field (Vcc internal?) seems correct (matches CPU-Z, FWIW) and is the CPU core voltage? (formerly knows as Vcore). I normally see a reading of ~0.900V.

The latest AIDA64 sensors list this: CPU VRM, and CPU Core. CPU VRM seems to correspond to your Vccin (readings match when each program is run by itself, ~0.900V.) The AIDA64 CPU Core reading is ~1.2V. I'm just trying to sort all these readings out, and I realize the CPU voltages have drastically changed with Haswell, and I imagine you and all the other programs are also trying to sort this all out.

The Vccp2 field seems to be the new CPU input voltage, of 1.80V? (default) I'm seeing ~1.856V - 1.864V, which is a bit over the BIOS/UEFI setting (frankly I trust your reading more...) The average value I'm seeing is 0.897V.

BTW, the UEFI and monitoring utility of my ASRock board only displays the CPU input voltage correctly, which they have labeled as Vcore, and has no other CPU voltage displays (OMG...). They are working on this after I pointed this out to them.

I can (supposedly) change the CPU input voltage with a Windows utility, but when I do, I see no change in the HWiNFO64 display. I do see small changes in the Vccin voltage when I change the CPU input voltage.

Any idea if the VIN4 - VIN6 values correspond to anything with Haswell? For example, the Vddq voltage spec seems close to VIN5 (1.680V) although a bit high.

Or, are the VIN4 - VIN6 values VID's for CPU and DDR input voltages?

If I have the new C7 C State enabled, I have seen the Current Core #0 Clock reading become 0.0MHz very briefly, but the Minimum Core #0 Clock value is never 0.0Mhz, just FYI. It does display the new Haswell minimum of 800MHz.

The only new reading I don't understand at all is Memory Channel 0 Rank Max, whose value is 1.0 C, and never changes. What is that and is it even applicable to my platform?

As usual, IMO HWiNFO64 still has the best PC sensor and information displays, thanks for all your work!! It is a fact that you've done better than a major mother board manufacture!
 
Thanks for your report. As first, please upgrade to the latest Beta (build 1945), because it adds additional improvements for Haswell.
Yes, voltage monitoring with Haswell is quite different from previous generations and that's because of the Fully Integrated Voltage Regulator (FIVR) in the CPU. So the CPU gets only Vccin (~1.8V) from mainboard's VR and the CPU FIVR then transforms it to particular voltage per core (Vcore). Now what most mainboards should be able to monitor is Vccin, but only some of them are able to monitor (the now internal) Vcore values, because it requires additional logic on board. For example ASUS boards seem to support this pretty well. I'm not sure about ASRock Z87 yet, since I haven't got enough data from these boards.
After you upgrade to the latest HWiNFO Beta, you'll probably see slightly different values. I believe VIN1 is +12V rail (needs *6.6), VIN3 is +3.3V, VIN5 is +5V (*3.0). As for the other VINs, I'm not sure, but I think only ASRock knows this exactly. I'm not even sure if the board can monitor Vcore...
If you post here a HWiNFO report + Debug File using the latest Beta, I can have further look at it.
As for the "Memory Channel n Rank Max" values - please ignore them..
 
Well, I've changed my mind about the "Vccin" and "Vcore" values in v4.18-1930 and v4.19-1945 Beta, respectively. They are both not the correct CPU core voltage, but I realize that is because you don't have enough information for my board, hopefully. Actually, the Beta version is worse with my board, the CPU input voltage (Vccp2 in '1930) is gone, and Vcore is the same as Vccin in '1930. I'll post the report and debug files, does it matter to you which version I use, '1930 or '1945?

AIDA64 seems to display the correct CPU core voltage (the value that was labeled Vccin in '1930 is called "VRM Voltage" in AIDA64, the values matched.)

By some miracle, the Intel Extreme Tuning Utility runs on my Haswell system using Windows 8. The CPU core voltage as it is called in IXTU, matched the AIDA64 value, and was close to the values posted by ASUS board users in forum post about Haswell CPUs. So it seems my ASR board can read the CPU core voltage, but it is NOT displayed anywhere in the ASR UEFI or their Windows monitoring utility! I have contacted them about this and are working on it... I hope.

They had the CPU input voltage labeled as Vcore... imagine starting you new board's UEFI for the first time and seeing, Vcore: 1.800V!!!

Yes, in a sense the Haswell CPU input voltage is vaguely similar to the standard Vcore voltage, but how can that same term be used here?

I have the Report and Debug files for you, thanks for looking into this!


Sorry Martin, I could not attach both files to the above post, Debug file here...
 

Attachments

  • ASR Z87ex6.HTM
    145.3 KB · Views: 2
  • HWiNFO64.DBG
    576.2 KB · Views: 2
Yes, I'm still lacking some information about ASRock boards.
So let's clarify this:
The new Beta 1945 displays correct Vcore value (which matches "VRM Voltage" in AIDA64), right ?
In the new Beta 1945 the Vccin value is no longer shown, right ?
The new Beta 1945 should now display correct +5V and +12V values...
Maybe a screenshot showing various tools run concurrently might explain it best...

Well, the Vccp2 from 1930 disappeared, because I analyzed some ASRock configuration files for your mainboard and according to them, this rail is not monitoring Vccin, but +12V rail instead. So maybe ASRock is wrong with this ? I think we need to wait for a statement from ASRock or until they fix it.
 
Update:
AIDA64 uses a trick to display Vcore - on Haswell systems, it displays CPU VID as Vcore.
So the Vcore value you see in AIDA64 is not the real measured value. You can see VID as VID in HWiNFO sensors too ;)
 
Martin said:
Update:
AIDA64 uses a trick to display Vcore - on Haswell systems, it displays CPU VID as Vcore.
So the Vcore value you see in AIDA64 is not the real measured value. You can see VID as VID in HWiNFO sensors too ;)
This is not a trick,but incorrect reading.
Miklos know about this?
 
Yep, I just talked to him, so I know where that value comes from in AIDA64 ;)
It's tough with Haswell... Some vendors like ASUS say that VID is not always correct and they can monitor Vcore (but I suppose this requires a motherboard change) - and that seems to be true, since many ASUS 8-series mobos can monitor particular Vcore per core. So, since the cores can run at different operating points in Haswell, a single Vcore value is not correct, because it doesn't reflect per-core status.
 
Hope he will correct this in AIDA64 soon,I still waiting for my Z87X-OC board. :dodgy:
Edit:
Helped Ray with some info from my friends Z87.......
 
Martin said:
Yep, I just talked to him, so I know where that value comes from in AIDA64 ;)
It's though with Haswell... Some vendors like ASUS say that VID is not always correct and they can monitor Vcore (but I suppose this requires a motherboard change) - and that seems to be true, since many ASUS 8-series mobos can monitor particular Vcore per core. So, since the cores can run at different operating points in Haswell, a single Vcore value is not correct, because it doesn't reflect per-core status.

I should have known better, sorry Martin, that AIDA64 value seemed plausible and was close to what I saw using Intel XTU (who knows if XTU is right?) Also, so obvious (Duh!) a VID for each core has been displayed by HWiNFO64 for a long time.

Before Haswell, the Vcore into the CPU was one value, and the per-core voltage was basically ignored. With Haswell, Intel must have created a specification describing how the internal CPU voltages should be read, and what they are. I'm sure that documentation exists, but it has become complicated regarding what voltage is what, and what is and should be displayed. I now appreciate much more how difficult it is figuring this all out. I've learned more about Haswell CPU voltages in these few thread posts than I have anywhere else! :) So forgive me for saying, "it's wrong..." :blush:

If you still care at this point, screenshots from my ASR Z87 board, first '1930:

[attachment=656]

This is '1945:

[attachment=657]
 

Attachments

  • hwinfo 1930.PNG
    hwinfo 1930.PNG
    95.3 KB · Views: 13
  • hwinfo 1945.PNG
    hwinfo 1945.PNG
    95.6 KB · Views: 5
Yes, there's some (non-public) documentation about FIVR, but it doesn't contain the required information. There's of course advanced documentation available, but I believe this is Intel internal-only and at a high security level, so it's almost impossible to get it even with an NDA and Orange-level access (which I have) :(
As for particular sensor implementation on mainboard, it's fully in the hands of the mainboard vendor and they usually don't tell others too :( So the ability to monitor Vcore is in their hands too.

Thanks for the screenshot, I think you have disabled the CPU VID values ;) I also believe HWiNFO shows all values correctly with the latest build, until maybe we get a statement from ASRock.
 
Yes Martin, I did have the VID fields disabled, since I thought that the VID (Voltage Identification ) value (in earlier Intel CPUs?) was a data item that causes a specific voltage to be sent to the CPU, rather than the actual voltage itself. The VID values for a core shown did not match the Vcore value shown. But I obviously do not understand how this works...:-/ but I'm starting to get it now, which is what matters.

Is that the way it has always been for earlier Intel CPUs, IB, SB, etc, the VID value is the core voltage?

I see now that the Core VID values are the correct core voltages in '1945 (Ha, I'm telling you it's right, that's not what I mean :blush:.) It matches the single core voltage value shown by IXTU, and CPU-Z 1.64.2.

Since the Core VID values are the actual core voltages, then what is Vcore? Vcore on IB or SB does not remain static (I could swear...), but does basically with Haswell.

Just trying to learn what is going on, which HWiNFO has helped me do.

Who knows what ASRock will do or say, all I know is their Haswell monitoring software is worthless for checking core voltages.
 
I'm still not quite sure whether VID reflects the real voltage on Haswell, since I'm lacking the required information from Intel. Though it might be much closer to the real value...
Some people think it still doesn't provide accurate results, especially in low-power states. I suppose that's why ASUS has implemented measuring of individual Vcore values on some of their boards.
So far it doesn't seem that ASRock boards are able to monitor the right Vcore value (which is actually displayed in HWiNFO under the Nuvoton sensor). You might watch how the value behaves, if you think it might be right.. But anyway since it's a single value only, I doubt it's the true Vcore... Let's see what ASRock comes up with.. have you got any feedback from them?
 
I have checked the latest A-Tuning tool and it still reports the same Vcore and HWiNFO does now...
 
stasio said:
parsec said:
Who knows what ASRock will do or say, all I know is their Haswell monitoring software is worthless for checking core voltages.
Do you have latest AsRock OC Tools ?
Here is latest 0612:
http://picx.xfastest.com/nickshih/asrock/Z87OCFtool0612.rar

Maybe will work also for your board.

Btw,
CPU-Z 1.64.3 is also out.

Thanks, I'll try that, maybe it will work. Not included in the downloads for my board.

Martin, Thanks, I'll try that version from ASR, but it's listed as an older version (1.0.26) compared to my board's version (1.0.36), if those numbers matter between boards.

UPDATE: All the drivers and utilities for the ASR board that uses that version of A-Tuning are dated 6/14/13, so that board seems to have been just released and the A-Tuning version may not be new.

Frankly, I don't really need the ASRock software, I have HWiNFO64 that is just plain better (seriously), among others. It just worries me, if they can't get a core voltage display right, with (I assume) access to internal Intel documents, what else is wrong with the board?

I have heard nothing from ASRock since their initial response three days ago. I have a feeling this issue is common to most if not all of the Haswell boards. I've seen threads in forums describing this problem on the Z87 Ex 4 board too.
 
Hi Martin, hope all is good.

Hope you do not mind a few questions/thoughts to your statements, I do not have a Haswell system yet so hopefully they don't appear too stupid.

First of all Haswell 328897 CPU datasheet sec 4.2.1 suggest vcore operates much the same as previously, that is one frequency and one voltage for all cores at the same time.
— All active processor cores share the same frequency and voltage. In a multi-core processor, the highest frequency P-state requested amongst all active cores is selected.
Of course Intel do get documentation wrong so idk.


Martin said:
I'm still not quite sure whether VID reflects the real voltage on Haswell, since I'm lacking the required information from Intel. Though it might be much closer to the real value...
Some people think it still doesn't provide accurate results, especially in low-power states.
Unless things have changed, to measure VID you need to read the MSR which means waking a sleeping core, if asleep, which must affect the result.

Secondly isn't VID an arbitrated request (one value, the highest, for all cores) for the input voltage to the CPU from the VRM?

Is "adaptive voltage" just a fancy name for VID? That is when using adaptive voltage the VRM is accepting VID requests whilst when using fixed voltage it just ignores them.



Martin said:
I suppose that's why ASUS has implemented measuring of individual Vcore values on some of their boards.
I don't see any ballouts for individual measurements so I wonder how is that achieved? I hope not by using VID with an offset similar to the way they used CPU PECI core temp with a 10C offset and called it Tcase temperature on older arch. Maybe there are other registers at work here.
 
Good observation and questions :) You have catched some areas that trouble my mind for some time ;)

Though some Intel documents say that Haswell can run all cores at the same ratios only, some others mention the ability to run cores at different states as a new feature on Haswell. Based on the results I've seen so far, it seems to me, that the second option is true. But maybe we should check this directly with Intel to be sure...

You're right that reading the current VID is based on accessing a MSR on the given core/thread. So performing such operation will indeed most likely wake up a core in a low-power state. As for the exact meaning of this value, I'm not sure since such information is not disclosed by Intel. The FIVR supports voltage override, where the desired target voltage/offset can be specified and this is then the voltage used independent of requests. In adaptive mode, the voltage is maintained dynamically. These parameters are reported by HWiNFO in the main window under the CPU section.

As for the individual Vcore measurement on some boards, I think this is done by strapping a certain pin from the CPU. Some ASUS boards do this and they say this is the preferred method for measuring Vcore (most probably because of the issue with VID MSR readout). I haven't yet checked the details how this can be realized, it might be done via PECI. I guess I'm going to dive into some documents and try to figure this out...
 
Martin said:
Though some Intel documents say that Haswell can run all cores at the same ratios only, some others mention the ability to run cores at different states as a new feature on Haswell.

That should be easy to check, well if one has an 1150 that is. :( If EIST is disabled in the BIOS, which generally does not disable EIST but presents zero performance states to the OS instead, then the cores can be software programmed with different ratio's and then checked by loading all cores at the same time and seeing if they all run at the highest ratio programmed or are running at the different ratio's programmed.


Martin said:
I haven't yet checked the details how this can be realized, it might be done via PECI.

If works along those lines then that would IMO be really cool.
 
Parsec was very kind and did some testing.

6018d1374117562-asrock-z87-extreme-6-uefi-1-90-cstates3.png


C-States were OS disabled, including C1, EIST disabled in the BIOS and multi's software set as 1st core = x8, second core = x14, third core = x20 and 4th core = x26. As you can see, at least for the Desktop SKU, the processor runs at one frequency, the highest of the 4 requested and one voltage / VID (with a small variance in values).
 
Back
Top