Okay so this one confused me for a while. I keep seeing it confuse people who just started hashing.
Your chip has cores. The OS and the miner also show threads. On a Ryzen those counts are not the same. A 6-core chip shows 12 threads. A 16-core chip shows 32. The extras are SMT. That is AMD's name for a second slot on the same core. Intel calls the same trick Hyper-Threading. It is not a second core.
Monero on a CPU is RandomX. Each mining thread keeps about a 2 MB scratchpad hot. That 2 MB wants a seat in L3 cache. So L3 is seats. Cores are the workers. SMT is a second person trying to use the same worker.
If L3 has empty seats, you can try one extra thread. It can sit. It still shares the math units and the small caches on that one core. Sometimes you pick up a little. Often you just add heat. Fill every thread the OS lists and you are usually splitting workers, not adding them.
RAM is a different lever. Dual-channel and speed decide how fast those workers get fed. Extra gigabytes are so the computer is still usable while it mines. A faster stick does not turn the SMT twin into a real core.
Practical start: set the miner to the physical core count. If you want to experiment, add one thread and watch the heat. Don't fill 12 because the box says 12 threads.
If you are brand new, this is not the door. Gupax is. Bundled build, start there. This note is for after you are hashing and the thread count looks like a magic number.
The second thread is a seat-sharer, not a second engine.
Thanks for the info, that might answer a bunch of questions!
Yep, my CPU has eight cores but says it has 16 threads and so I always do physical core count minus one so that there's at least one core available for the rest of the system