Librem 13v4 specs

The Librem 13 v4 page says the following about the specs:

Seventh Generation Intel Processor
Two Cores, Four Threads, 3.50GHz i7-7500U

/proc/cpuinfo shows 4 of these guys

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel® Core™ i7-7500U CPU @ 2.70GHz
stepping : 9
microcode : 0xca
cpu MHz : 598.964
cache size : 4096 KB

Were there multiple revisions of the v4?

I think the relevant part to look at is the CPU model “i7-7500U”, that info is the same in both places, so it is the same CPU they are referring to.

The difference in stated GHz values of “3.50GHz” vs “2.70GHz” is different numbers that are both “correct” for that CPU model, both numbers exist at Intel’s spec page here:

As you can see there, the “Processor Base Frequency” is 2.70 GHz and the “Max Turbo Frequency” is 3.50GHz.

The “cpu MHz” number… [edit: removing what I wrote here before, better to read what Nicole wrote below]

1 Like

What is seen there with the CPU numbers are the ‘threads’, a concept Intel invented. In fact with a CPU that has 2 cores and 4 threads there are actually almost four full cores on the silicon, but two of each share the same cache. Linux actually enumerates each core as a separate core regardless if it is complete or not. Linux also treats these as pretty much independent cores which makes sense for SMP (symmertrical multi processing).

Concerning the ‘cpu MHz’ entry, this is totally correct, this represents the actual current frequency this core is clocked at. The “model name : Intel® Core™ i7-7500U CPU @ 2.70GHz” is the nominal rating according to the CPU ID etc., the ‘cpu MHz’ field shows the current clock which will vary depending on work load on this core. This is pretty important to save power and thus heat, i.e. idle cores are clocked down and eventually put in idle mode (an almost stop) to save power and heat dissipation.

I hope this helps to understand the output of cpuinfo a bit better.

Cheers
nicole

2 Likes

Intel has a lot to answer for.

Intel used to refer to this as hyperthreads - to distinguish it from the pre-existing and different concept of threads. https://en.wikipedia.org/wiki/Hyper-threading

I’m not sure whether your OS version will match this output but

lscpu -e

CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ   MINMHZ
  0    0      0    0 0:0:0:0          yes 3500.0000 400.0000
  1    0      0    1 1:1:1:0          yes 3500.0000 400.0000
  2    0      0    0 0:0:0:0          yes 3500.0000 400.0000
  3    0      0    1 1:1:1:0          yes 3500.0000 400.0000

shows more clearly that there are two cores and each core supports hyperthreads, therefore it presents to Linux and is scheduled in Linux as four CPUs.

It is doubtful that you will get as good performance with two cores + hyperthreads as you will with four cores and without hyperthreads - all other things being equal (never mind about the security issues :slight_smile: ).

That page even shows you that you can adjust the base frequency - up (at a cost of higher power consumption and higher heat dissipation, for greater performance) or down.

You won’t see it on that particular CPU but it is also the case that for some Intel CPUs the maximum turbo frequency depends on how many CPUs are being used i.e. lower maximum turbo frequency if all CPUs are running flatstick.