add arrow-down arrow-left arrow-right arrow-up authorcheckmark clipboard combo comment delete discord dots drag-handle dropdown-arrow errorfacebook history inbox instagram issuelink lock markup-bbcode markup-html markup-pcpp markup-cyclingbuilder markup-plain-text markup-reddit menu pin radio-button save search settings share star-empty star-full star-half switch successtag twitch twitter user warningwattage weight youtube

Learning how CPU's work

StrallTech
  • 7 months ago

So I am a new builder to PC building, I am looking for advice and tips for what to look for when building a PC. I am wanting to learn what info I need consider when looking at a CPU. I know that there are different cores and different socket types. Any info would be greatly appreciated.

Comments

  • 7 months ago
  • 2 points

What CPU to get depends on budget and what you are using it for. Both AMD and Intel both have good options at different budget ranges. If you need help picking a CPU it would help if you can list what you want to use the PC for and how much you are willing to spend on the whole PC. Also if monitor/keyboard/mouse needs to fit within that budget or not.

  • 7 months ago
  • 1 point

So I am looking into doing gaming, video editing, animation, streaming, and graphic design. As far as budget goes at the current moment I am looking for within a budget for my next upgrade, but I am also trying to figure out my dream build so budget is not as much of a question. I already have the mouse and keyboard I want (at least for the next while).

  • 7 months ago
  • 1 point

Well if there is no budget to adhere to considering your uses I would say you have 2 choices. The i9-9900k and the R9-3900x CPUs. The i9 would have the best gaming potential due to single core speed but is still 8 core 16 threads to handle multi threaded workloads like content creation. The R9 will still game very well but have much more multi-threaded power due to having 12 cores 24 threads which content creation could potentially take advantage of. Costs wise they are only about $10 apart. If you still want 8 core 16 thread but want to save a buck the R7 3700x is a solid choice too for $150 less.

Technically both CPUs are the top end performers and both will crush the performance in all those uses that you listed. It just depends on which side you want to focus more on, gaming or content creation. Both are still going to need some good cooling for best results. Either a top end noctua or be quiet air cooler or a 280mm-360mm AIO cooler.

If budgets get tighter then people can still use more budget oriented 6 core CPUs to do those tasks but it won't have the performance of the top CPUs.

  • 7 months ago
  • 2 points

Speaking very generally, the things that determine CPU performance are architecture, clock speed, and cores/threads.

The architecture (such as Coffee Lake or Zen 2) determines how much work a single thread (sequence of instructions) can get done per clock tick. For a given architecture, higher clock speeds means faster execution. You can't compare clock speeds across different architectures! For instance, the old Intel Netburst architecture was designed for very high clock speeds, but not much work got done per clock on average.

Clock speeds are usually listed as base and max turbo (or boost). The latest architectures, especially Zen 2 (Ryzen 3000) from AMD, do a lot of tricky stuff to adjust clock speeds dynamically according to temperature and other parameters. Older architectures used much simpler algorithms that tended to be very conservative.

Cores and threads indicate number of processing units. If you have N cores, you can be doing N things at a time. In most architectures, a core has multiple execution "stations" or resources; when a thread is busy with one resource, another thread can run as long as it wants to use a different resource. This is hyperthreading or SMT (simultaneous multi-threading). If you have N cores and 2 threads per core, you don't get to run 2N things at a time, it's usually more like 1.2 or 1.3N, but that depends on architecture.

If you have a single program running on the computer, it might be single-threaded or multi-threaded. The program has to be explicitly written to break up its work among multiple threads. This is not the easiest thing in the world to do, but as time goes on we're seeing more and more game engines and applications taking advantage of multi-threading. If you run a multi-thread app, it's generally an advantage to have multiple cores. For simple web, email, basic office work, 2 cores is plenty. For gaming and more resource intensive things (content creation, database serving, etc), 4 cores is desirable, and 6, 8, or more cores is becoming more and more of an advantage.

As a very very very rough guide, comparing Intel 9th gen vs Ryzen 3000/Zen 2, Intel chips have faster single-thread performance capability by a small margin. Ryzen has a slight advantage doing multi-threaded work and tends to run a bit cooler. Both are very impressive designs.

  • 7 months ago
  • 1 point

Thank you kschendel for this breakdown of CPU's, this helps out in knowing what I am looking for. I know that I will be looking for a 4 core at the least for my CPU. I am a gamer and looking into doing graphic design/video editing/streaming. I have a little bit of a better understanding of what to look for.

  • 7 months ago
  • 2 points

Trust me when I say it is 100% pointless to learn the fine details of how a CPU works. A lot of it is probably gonna go over your head and its not really all of that useful. I have done probably thousands of part lists and knowing how cache works, the fetch execute cycle, registers etc has helped me exactly zero times.

But if you still insist here is a good write up/book on it written by a member here.

https://docs.google.com/document/d/1xMFlt0GTRhy1LtR-Bjcc897IvT84UTmxp77Z0nrvAow/edit

  • 7 months ago
  • 1 point

[this was supposed to be in the main thread, but at least references vagabond's link].

First of all, nearly the big issues in "how a CPU works" have already been decided once you choose an x86 (PC) CPU. After that, there are only a few different ways a core is designed: coffee lake (and all previous Intel cores since Sandy Bridge: they are a straightforward progression at the block diagram level plus maybe different vector [SSE/AVX] extensions), zen (zen, zen+, zen2), and soon ice lake (try to avoid bulldozer, jaguar, and atom cores)).

Even if you know the ins and outs of a CPU, it wouldn't have been obvious that bulldozer would have been such a disaster (and AMD would have switched course earlier). The devil's in a lot of proprietary details. You might care about things like "typical IPC" (a number that is specific to each bit of software, and can only be averaged so well), clock speed (which thanks to boost clocks is changing to a variable similar to IPC), and cache sizes (which fortunately doesn't change, but you'll have L1, L2, L3, and maybe L4 to consider). Things that might matter in choosing a PC:

How fast is the core on its own? (basically IPC*clock rate) How many are on the chip (and will my software use them all often)? How big are the caches/how fast ram do they need? Does it have SMT and how much of a boost can I expect (and if so, will it speed up my software at all?)

If you can slog through the introduction in vagabond's link it might help. Going into the specific chapters appears necessary only if you plan on designing your own computer (presumably from a FPGA or something). If it really interests you, it might make more sense to learn how the AVR in arduinos work, and then effectively throw that all away and learn how modern CPUs work (they basically emulate a hypothetical single issue - in order 64 bit x86, but do so by guessing which instructions need to be executed and executing multiple ones simultaneously. So it helps to understand the ultimate goal while learning how they do it).

  • 7 months ago
  • 1 point

Thanks vagabond139, that is good to know that it isn't as important to know the ins and outs of CPUs. I appreciate the info about that.

Sort

add arrow-down arrow-left arrow-right arrow-up authorcheckmark clipboard combo comment delete discord dots drag-handle dropdown-arrow errorfacebook history inbox instagram issuelink lock markup-bbcode markup-html markup-pcpp markup-cyclingbuilder markup-plain-text markup-reddit menu pin radio-button save search settings share star-empty star-full star-half switch successtag twitch twitter user warningwattage weight youtube