AMD Ryzen Downcore Control


AMD Ryzen 7 processor

AMD Ryzen 7 processors comes with a nice feature: the downcore control. This feature allows to enable / disable cores. Ryzen 7 and Ryzen 5 chips use the same die, which is made up of two CCX (Cpu CompleX), each CCX having 4 cores. So disabling cores on Ryzen 7 makes it possible to emulate a Ryzen 5 CPU.


AMD Ryzen CCX

 
The downcore control is an option available in the BIOS of X370 motherboards (maybe on other chipsets like the B350 too, I don’t know).

Here is the downcore control in the MSI X370 Gaming Pro Carbon BIOS:


MSI X370 Gaming Pro Carbon - Downcore control in the BIOS

 

A Ryzen 7 CPU has two CCX with all cores enabled (8 cores or 8C/16T). It’s a HEIGHT (4 + 4) or Auto configuration:

1 2 3 4
1 2 3 4


AMD Ryzen 7 Downcore control - Auto

 
A Ryzen 5 1600 or 1600X has two CCX and 6 cores (6C/12T) enabled:

SIX (3 + 3)

1 2 3 4
1 2 3 4


AMD Ryzen 7 Downcore control - SIX (3 + 3)

 
A Ryzen 5 1400 or 1500X has two CCX and 4 cores (4C/8T) enabled. This can be emulated on a Ryzen 7 with two configurations: FOUR (2 + 2) or FOUR (4 + 0).

FOUR (2 + 2)

1 2 3 4
1 2 3 4

 
FOUR (4 + 0)
This configuration is interesting because it uses only one CCX and avoids CCX inter-connection issues (mainly the slowness: two cores on different CCX can communicate at around 30GB/s –via Ryzen Infinity Fabric which depends on the memory controller clock speed– while two cores on the same CCX can communicate at 175GB/s).

1 2 3 4
1 2 3 4


AMD Ryzen 7 Downcore control - FOUR (2 + 2)

 
The downcore control allows to emulate 3C/6T and 2C/4T CPUs (Ryzen 3?) with the following configurations:

THREE (3 + 0)

1 2 3 4
1 2 3 4


AMD Ryzen 7 Downcore control - THREE (3 + 0)

 
TWO (1 + 1)

1 2 3 4
1 2 3 4

 
TWO (2 + 0)

1 2 3 4
1 2 3 4


AMD Ryzen 7 Downcore control - TWO (1 + 1)

2 thoughts on “AMD Ryzen Downcore Control”

  1. haze

    I have the ryzen 5 1600 and yep, i can emulated 8 processors as physical and 4 as thread, by configuring as 4.0+
    But something took my attention your pictures has 110-120 process like me, but your threads are even higher like 2000 o.O and mine are like 1157 threads with same process 117 etc… why is that?

    1. Kbar

      Firstly, a process, in this context, is just a thread. Think of it like this. You have hands(hardware thread 1) and feet (hardware thread 2) which together make up your limbs (one processor core). You can pick something up (assume you can only pick up one thing at a time) and you can walk somewhere. You could pick something up while walking but you can’t pick up two items or walk two places at once. However, you could pick up one thing then set it down to pick up another for a total of two things picked up overall or you could walk one place and stop, then walk to another location to walk to two locations total. Think of each thread displayed in task manager as a series of locations and items that need to be walked to or picked up respectively. Just not at exactly the same time. Those are software threads/processes. Basically windows takes all of the things that need to be done on a computer and divide them up across all available cores. With 4c/8t there can be a maximum of 4 of the same thing (a multiply operation, for example) and a total of eight things going on (4 math operations + 4 write to memory operations) at once. The thread count your looking at is basically just every snippet of code that windows is planning to execute during some fraction of the time the processor running. Windows basically just juggles threads between being executed by a cpu core and waiting to be executed extremely fast giving the appearance of many thousands of things are happening at once.

Comments are closed.