Contribute
Register

Z690 Chipset Motherboards and Alder Lake CPU

You're a wizard!

Perhaps faking CPUs is a step too far as macOS can’t schedule threads on CPUs that don’t exist ?

Perhaps just leave the CPUs as discovered from the madt and patch macOS to successfully bypass x86_validate_topology() ?
It seems macOS tries to activate each core/thread and times out if an “ack”nowledgement is not received. So faking a CPU by logically connecting it to a real thread (@Elias64Fr new CPUR and APIC) was intended to avoid this activation problem. That was the hope anyway!
 
Can we assign HT to each core specifically ?
what is the order of the cores? 0-5 P, 5-9 E? I wonder if macOS can run stable with the thread count NOT being x2 times the core count.
I don't think that it's possible on BIOS.
Yes, E-Cores are assigned after P-Cores.
That's a big question ! We came, we tried and we saw ;)
 
I know, I have those crazy background (low power) threads running in my brain at bedtime as well! :)


Case 1: E + P + HT
  • smbiosview in EFI Shell actually freezes when running this command, but we get enough information on screen by typing smbiosview -t 4 to show only the processor information.
  • We see:
    • Core Count = 10
    • Thread Count = 16
View attachment 534737

Case 2: E + P only (no HT)
  • Using Terminal command system_profiler SPHardwareDataType
  • (dmidecode is not present in macOS, but needs to be installed/compiled separately)
  • We see:
    • Processors: 1
    • Total Cores: 10
    • Hyper-Threading Technology: Disabled
Bash:
Hardware:

    Hardware Overview:

      Model Name: Mac Pro
      Model Identifier: MacPro7,1
      Processor Name: 10-Core Intel Xeon W
      Processor Speed: 3.68 GHz
      Number of Processors: 1
      Total Number of Cores: 10
      L2 Cache (per Core): 1.3 MB
      L3 Cache: 20 MB
      Hyper-Threading Technology: Disabled
      Memory: 16 GB
      System Firmware Version: 1715.40.15.0.0
      OS Loader Version: 540.60.2~69

Case 3: P + HT (no E)
  • We see:
    • Processors: 1
    • Total Cores: 6
    • Hyper-Threading Technology: Enabled
Bash:
Hardware:

    Hardware Overview:

      Model Name: Mac Pro
      Model Identifier: MacPro7,1
      Processor Name: Unknown
      Processor Speed: 3.68 GHz
      Number of Processors: 1
      Total Number of Cores: 6
      L2 Cache (per Core): 1.3 MB
      L3 Cache: 20 MB
      Hyper-Threading Technology: Enabled
      Memory: 16 GB
      System Firmware Version: 1715.40.15.0.0
      OS Loader Version: 540.60.2~69
You missed related SMBIOS view ? I mean for Case 2 and 3...

You can install dmidecode on macOS with : brew install dmidecode ... (like flashrom) OR
you have an alternative way from Acidanthera GitHub here, you can download binary file and call exec with ./dmidecode
This Acidanthera's version allow decoding following Apple's specification :)
 
Last edited:
I decided to order an i7-12700K rather than the i9-12900k
Since i'm building a Mini-ITX build, cooling is a challenge, especially in the Phanteks Shift 2 Glass edition.

Looking at benchmarks, I don't think I will feel any real life performance difference, also look at the power consumption below:
Screen Shot 2021-11-17 at 12.58.38.png


The 12900K is a room heater!
 
You missed related SMBIOS view ? I mean for Case 2 and 3...
Post updated with new photos.

You can install dmidecode on macOS with : brew install dmidecode ... (like flashrom) OR
you have an alternative way from Acidanthera GitHub here, you can download binary file and call exec with ./dmidecode
This Acidanthera's version allow decoding following Apple's specification :)
Will try...
 
I decided to order an i7-12700K rather than the i9-12900k
Since i'm building a Mini-ITX build, cooling is a challenge, especially in the Phanteks Shift 2 Glass edition.

Looking at benchmarks, I don't think I will feel any real life performance difference, also look at the power consumption below:
View attachment 534741

The 12900K is a room heater!
Have you seen this? Although I agree the i7-12700K is a better choice for Mini-ITX.
 
@Elias64Fr

For the sake of thoroughness, here is the output from dmidecode:

Case 1: P + E only (no HT)

Result:

  • Core Count: 10
  • Core Enabled: 10
  • Thread Count: 10
Code:
Handle 0x0083, DMI type 4, 48 bytes
0000: 04 30 83 00 01 03 CD 02 72 06 09 00 FF FB EB BF
0010: 03 8B 64 00 60 0E 60 0E 41 01 80 00 81 00 82 00
0020: 04 05 06 0A 0A 0A FC 00 CD 00 0A 00 0A 00 0A 00

Processor Information
    Socket Designation: U3E1
    Type: Central Processor
    Family: Core i5
    Manufacturer: Intel(R) Corporation
    ID: 72 06 09 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 151, Stepping 2
    Flags:
        FPU (Floating-point unit on-chip)
        VME (Virtual mode extension)
        DE (Debugging extension)
        PSE (Page size extension)
        TSC (Time stamp counter)
        MSR (Model specific registers)
        PAE (Physical address extension)
        MCE (Machine check exception)
        CX8 (CMPXCHG8 instruction supported)
        APIC (On-chip APIC hardware supported)
        SEP (Fast system call)
        MTRR (Memory type range registers)
        PGE (Page global enable)
        MCA (Machine check architecture)
        CMOV (Conditional move instruction supported)
        PAT (Page attribute table)
        PSE-36 (36-bit page size extension)
        CLFSH (CLFLUSH instruction supported)
        DS (Debug store)
        ACPI (ACPI supported)
        MMX (MMX technology supported)
        FXSR (FXSAVE and FXSTOR instructions supported)
        SSE (Streaming SIMD extensions)
        SSE2 (Streaming SIMD extensions 2)
        SS (Self-snoop)
        HTT (Multi-threading)
        TM (Thermal monitor supported)
        PBE (Pending break enabled)
    Version: 12th Gen Intel(R) Core(TM) i5-12600K
    Voltage: 1.1 V
    External Clock: 100 MHz
    Max Speed: 3680 MHz
    Current Speed: 3680 MHz
    Status: Populated, Enabled
    Upgrade: Other
    L1 Cache Handle: 0x0080
    L2 Cache Handle: 0x0081
    L3 Cache Handle: 0x0082
    Serial Number: To Be Filled By O.E.M.
    Asset Tag: To Be Filled By O.E.M.
    Part Number: To Be Filled By O.E.M.
    Core Count: 10
    Core Enabled: 10
    Thread Count: 10
    Characteristics:
        64-bit capable
        Multi-Core
        Hardware Thread
        Execute Protection
        Enhanced Virtualization
        Power/Performance Control
Case 2: P + HT only (no E)

Result:

  • Core Count: 10
  • Core Enabled: 6
  • Thread Count: 12
Code:
Handle 0x0083, DMI type 4, 48 bytes
0000: 04 30 83 00 01 03 CD 02 72 06 09 00 FF FB EB BF
0010: 03 8A 64 00 60 0E 60 0E 41 01 80 00 81 00 82 00
0020: 04 05 06 0A 06 0C FC 00 CD 00 0A 00 06 00 0C 00

Processor Information
    Socket Designation: U3E1
    Type: Central Processor
    Family: Core i5
    Manufacturer: Intel(R) Corporation
    ID: 72 06 09 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 151, Stepping 2
    Flags:
        FPU (Floating-point unit on-chip)
        VME (Virtual mode extension)
        DE (Debugging extension)
        PSE (Page size extension)
        TSC (Time stamp counter)
        MSR (Model specific registers)
        PAE (Physical address extension)
        MCE (Machine check exception)
        CX8 (CMPXCHG8 instruction supported)
        APIC (On-chip APIC hardware supported)
        SEP (Fast system call)
        MTRR (Memory type range registers)
        PGE (Page global enable)
        MCA (Machine check architecture)
        CMOV (Conditional move instruction supported)
        PAT (Page attribute table)
        PSE-36 (36-bit page size extension)
        CLFSH (CLFLUSH instruction supported)
        DS (Debug store)
        ACPI (ACPI supported)
        MMX (MMX technology supported)
        FXSR (FXSAVE and FXSTOR instructions supported)
        SSE (Streaming SIMD extensions)
        SSE2 (Streaming SIMD extensions 2)
        SS (Self-snoop)
        HTT (Multi-threading)
        TM (Thermal monitor supported)
        PBE (Pending break enabled)
    Version: 12th Gen Intel(R) Core(TM) i5-12600K
    Voltage: 1.0 V
    External Clock: 100 MHz
    Max Speed: 3680 MHz
    Current Speed: 3680 MHz
    Status: Populated, Enabled
    Upgrade: Other
    L1 Cache Handle: 0x0080
    L2 Cache Handle: 0x0081
    L3 Cache Handle: 0x0082
    Serial Number: To Be Filled By O.E.M.
    Asset Tag: To Be Filled By O.E.M.
    Part Number: To Be Filled By O.E.M.
    Core Count: 10
    Core Enabled: 6
    Thread Count: 12
    Characteristics:
        64-bit capable
        Multi-Core
        Hardware Thread
        Execute Protection
        Enhanced Virtualization
        Power/Performance Control
 
Last edited:
Have you seen this? Although I agree the i7-12700K is a better choice for Mini-ITX.

Interesting.
I'm a Frontend developer, compiling Webpack (Javascript bundler) can consume 100% cpu usage for 1min or more.
Other than that, I don't have any other real 100% cpu demanding tasks
I'm really not sure, I do have a budget for the i9-12900k but I wonder if an 120mm AIO is enough
 
If I use dmidecode -u command, on my laptop, I have :
Capture d’écran 2021-11-17 à 12.21.01.png


Here, we have Core Count to 6, Core Enabled to 6 and Thread Count to 12

For Z690, we could try patching Core Count and Core Enabled to 8 (instead of current 10) and let Thread Count to 16
 

Attachments

  • Capture d’écran 2021-11-17 à 10.30.12.png
    Capture d’écran 2021-11-17 à 10.30.12.png
    328 KB · Views: 32
Back
Top