I thought there is already i7z for this task.
Hi All,
I have programmed a software to read clock frequencies, ratio, temperatures of the Intel Core i7
It also give details from BIOS: proc, mb, ram, ...
I need some Linux users and Core iX to tell me what's work or not
Fyi my testbed is a Bloomfield 920 + Rampage II Gene X58 + 12 GB DDR3 (3x2 Corsair + 3x2 OCZ)
Source code is available in my wiki:
http://wiki.cyring.fr/index.php?title=CoreMod
U just need to compile and run as root
Let me know how it goes ?
Regards,
CyrIng
I thought there is already i7z for this task.
Off course, i7z is a great software and far away than mine, such as C STATS.
However it does not fetch the Base Clock from BIOS, but does a division between current estimated frequency and Core ratio from MSR registers.
I wanted another path which opened me to the BIOS instrumentation and the structure of components.
If feasible, my next goal is to deal with core moding and on fly overclocking.
To be short my main motivation was and is to go deep into the i7 & others specifications and share these readings through my software. DIY is my best way to learn.
Any help & suggestion are welcomed. It's opened source.
CyrIng
How about doing a tar.gz with at least a makefile (to compile and clean)? I do not intend to use copy+paste and remove numbers later. You can use git as well.
Dealing with Howto Makefile + the 14K lines of the gcc manual take me more time than programming
So far I wrote this and it just don't do what I want
coremod --> bin
coremod.o --> obj
Code:CC = gcc CFLAGS = -O0 APP_SRC=./coremod.c APP_INC=./coremod.h APP_OBJ=./obj/coremod.o APP_BIN=./bin/coremod # all : $(APP_BIN) # clean : -@rm $(APP_BIN) $(APP_OBJ) # $(APP_BIN) : $(APP_OBJ) $(CC) -o $(APP_BIN) $(APP_OBJ) # $(APP_OBJ) : $(APP_SRC) $(CC) $(CFLAGS) -c $(APP_SRC) $(APP_INC)
Well i tried it without, compared to i7z you can not run show the frequency all the time, why not? If you want to test some more flags, how about aes, avx, ht? Why do i get:
I am sure my cpu has 4 cores + ht.Code:Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz Base clock @ 100 MHz Overclocked @ 3123 MHz 1/4 cores enabled, 2 threads detected. Socket : LGA1155 Tension: 1.0 V L1-Cache [ 256] L2-Cache [1024] L3-Cache [8192]
Thanks a lot for this shoot. It's a great help
If by "all the time" you mean showing in a loop, that's definitely a functionnality to add which would be completed by some triggers [+] [-] to up & down the cores ratio, for instance.
About the issue, it seems to be a wrong reading of the SMBIOS or this last one is badly populated.
At least, some attributes looks OK, such as your CPU name, frequencies, socket and caches.
I don't have your i7 model (mine is the Bloomfield) but I much check for its factory value. Or you can reply if the tension is true or false ?
I do agree with you: the core counting is wrong and I see 2 reasons why.
- my software is buggy : the answer might be around the lines 180 of coremod.h (SMBIOS_PROCINFO_PACKED and the structure SMBIOS4) or the routine SMB_Read_Structure @ line 110 in coremod.c
- It could also mean that the DMI instrumentation by the motherboard manufacturer is not fully compliant. (but it is too easy for me to say)
I'm using ArchLinux and there's a tool called dmidecode; it should available for any distrib.
The last lines of the displayed structure will confirm or not the "Core Count", "Core Enabled" and "Thread Count"Code:dmidecode -t 4
Regards
CyrIng
Yes there i see the same, but is is not correct. You can easyly get the number of cores (+ht):
Btw. i7z shows 4 cores, HT, Turbo.Code:grep -c "model name" /proc/cpuinfo 8
Because if you look its sources, i7z parse the same file as you do : /proc/cpuinfo and CPUID
So what does it means, the SMBIOS of your board might be badly implemented.
I wonder how many motherboards will cross the same issue.
I also ask myself if the MS Windows WMI API supply the same values ?
Also about HT and other features, it is just matter of time for me to work more on CPUID, but it requires to understand Intel's specs and that's a job![]()