Difference between revisions of "CPU"

From UNSW PCSoc Wiki
Jump to navigation Jump to search
(updated CPUs to Zen 2 and Intel 10th gen)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A Central Processing Unit (CPU), is a computer component that does computation for the PC.  
+
The Central Processing Unit (CPU), is the part in your PC that performs the bulk of the computational work. It does this by carrying out instructions in a computer program. Due to its role, it is often described as the "brain" of a computer.
  
Due to its role, it can be seen as the brain of the computer.
+
A good CPU is essential for workstation tasks such as video editing and music production!
  
==Function==
+
==Recommendations (Opinionated)==
A CPU purpose is to compute things for the computer. It does this by following the set of instructions(look in architecture) detailed in a computer program.
+
===Gaming===
  
In current times CPU are not just processing units but also handle other tasks. One such controller that has been moved onto the CPU is a memory controller.
+
The importance of the CPU in gaming performance depends on a few key factors:
 +
* the resolution of your monitor,
 +
* the refresh rate of your monitor, and
 +
* the game!
  
 +
Games like The Division 2 and The Witcher 3 are far more taxing on your GPU, while Assassin's Creed: Odyssey, Shadow of the Tomb Raider and Battlefield V are notorious for hitting the CPU hard.
  
==Instruction Sets==
+
If you play at 1080p (as opposed to 1440p or 4K), the GPU has less pixels to push which puts comparatively more strain on the CPU.
A CPU follows commands which it uses to compute values. This is what is known as 'the ones and zeros' which a computer is processing.
+
 
All programs get compiled into these instructions which the cpu executes. Note the Operating Systems are also programs and thus are just instructions as well.  
+
If you also play at higher refresh rates (such as 144Hz, 240Hz or beyond) you will want to make sure your CPU can keep up with the GPU at high framerates.
 +
 
 +
In general, gamers playing at 1440p or 4K do not need to worry about the CPU very much (the majority of the workload will be placed on the GPU), but those playing at 1080p targeting very high refresh rates - especially in competitive shooter games - will need to put a bit more consideration into their choice of CPU.
 +
 
 +
====Budget====
 +
''AMD Ryzen 3 3300X''
 +
 
 +
This budget CPU brings the Zen 2 architecture to lower price points. Unlike the cheaper Ryzen 3 3100, the 3300X has all of its cores in one CCX, significantly improving latency and gaming performance.
 +
 
 +
''Intel Core i3-10100''
 +
 
 +
Although it struggles to match either the price or the performance of the 3300X, the i3-10100 still provides respectable performance. If you need integrated graphics on a budget, this may be a good choice for you.
 +
 
 +
====Mid Range====
 +
''AMD Ryzen 5 3600''
 +
 
 +
AMD continues their tradition of offering the best price/performance mid-range CPU with the Ryzen 5 3600. Praised universally by reviewers, the 3600 offers solid performance in both gaming and productivity tasks at a highly competitive price.
 +
 
 +
''Intel Core i5-10400''
 +
 
 +
When paired with high-speed memory on a Z490 motherboard, the i5-10400 manages to beat out the Ryzen 5 3600 by a small margin in gaming.
 +
 
 +
However, on B460 (or lower) boards, '''Intel's CPUs are limited to DDR4-2666 memory speeds''', which pushes this CPU below the 3600 in gaming performance.
 +
 
 +
The i5-10400F variant of this CPU drops the (often unused) integrated graphics for a lower price tag, so keep an eye out for those.
 +
 
 +
====High End====
 +
''AMD Ryzen 7 3700X''
 +
 
 +
Although its gaming performance is only marginally better than the 3600, the Ryzen 7 3700X is an appealing choice for gamers who also engage in productivity tasks, offering more cores and threads than Intel's similarly priced competitors.
 +
 
 +
''Intel Core i5-10600K''
 +
 
 +
The i5-10600K brings almost all of the i9-10900K's top-tier gaming performance down to a more affordable price point, outpacing the 3600/3700X by a small but non-negligible margin.
 +
 
 +
====Top End====
 +
''AMD Ryzen 9 3900X''
 +
 
 +
Similar to the 3700X, AMD's Ryzen 9 3900X is barely faster than its lower-priced brethren in gaming but provides the best productivity/workstation performance for those who do more than game.
 +
 
 +
''Intel Core i9-10900K''
 +
 
 +
For those with deep pockets that want a no-compromise gaming experience, the i9-10900K provides the overall best gaming performance of any CPU on the market.
 +
 
 +
===Workstation===
 +
At the same price point, AMD's Ryzen chips are better at workstation tasks than Intel's Core series chips, making them ideal for workstation tasks. Therefore, this entire section is dedicated to Ryzen CPUs.
 +
 
 +
====Budget====
 +
''AMD Ryzen 5 3600''
 +
 
 +
If money is tight a Ryzen 5 is still a good choice and is definitely competent for workstation tasks.
 +
 
 +
====Mid Range====
 +
''AMD Ryzen 7 3700X''
 +
 
 +
The ideal choice for most consumers in this category.
 +
 
 +
====High End====
 +
''AMD Ryzen 9 3900X''
 +
 
 +
''AMD Ryzen 9 3950X''
 +
 
 +
These CPUs provide well-priced high end workstation performance.
 +
The 3950X (despite the name) does provide four more cores than the 3900X, creating a significant performance gap.
 +
 
 +
====Top End====
 +
''AMD Ryzen Threadripper 3960X''
 +
 
 +
''AMD Ryzen Threadripper 3970X''
 +
 
 +
''AMD Ryzen Threadripper 3990X''
 +
 
 +
These CPUs are incredibly expensive, each moreso than the last, but provide the absolute best CPU performance you can get on an HEDT platform.
 +
 
 +
''This section was last edited on 12/06/2020.''
 +
 
 +
==Intel vs AMD (Opinionated)==
 +
Intel has historically been the leader in the CPU market by a large margin. However since the release of AMD's Ryzen CPUs the story has changed. Now, AMD's CPUs are significantly better at workstation tasks than Intel's, and in most cases come very close in gaming (sometimes even exceeding Intel's performance). Price/performance is better on the AMD front, and since AMD changes chipsets less frequently than Intel, it's less likely that you will need to upgrade your motherboard when you want to upgrade your CPU, saving you more money.
 +
 
 +
''This section was last edited on 12/06/2020.''
 +
 
 +
==Cores & Multithreading==
 +
Most modern day CPUs are multi-core. Having more than one core allows the system to run multiple tasks at the same time.
 +
 
 +
This can be better explained using an analogy. Imagine that a core is a worker in a factory. In this case the worker needs to do multiple tasks in the factory so they rotate, doing each task so they do not spend too much time on a single task. If we were to add more workers, we would be able to do more work if there were tasks the other user could do.
  
The reason this is important is that you can only run programs that are compiled for your instruction set.
+
Nowadays most games scale up to around 4-6 cores, depending on the game in question. More cores after that typically have a negligible impact on performance.
  
The instruction set which Intel and AMD CPU use is called x86 and x86_64. You might see that on the end of some installer filenames. This is
+
Workstation tasks, however scale much better with core count - up to 64 cores and beyond.
  
Another common instruction set is ARM which is is used by most popular smartphone cpus.
+
==32 Bit vs 64 Bit==
  
===Example of Instruction Sets Problems===
+
You might see 32- or 64-bit specified on the end of some installer filenames. This is important as 64-bit programs cannot be run on 32-bit systems.
Windows RT and the surface RT is an example of an operating system which which runs on ARM. As the operating system is for ARM, it is unable to run win32 applications (.exe) programs. This is the reason why you need to care about the instruction set.
 
  
 +
Higher bit systems and programs are able to address more memory. 32-bit programs, for example, are restricted to 4GB of memory, whereas 64-bit programs can access 16 EXABYTES!!! of memory. Far more than any modern system would have.
  
==Architecture==
+
==Sockets & Chipsets==
Architecture is generally used to refer to the instruction set which a cpu will use. Instead we will address the naming scheme that is used and what this means.
+
A CPU must integrate into a motherboard. The socket is the actual pin layout which the CPU connects to. Different sockets will accept different CPUs, for example the TR4 socket will accept Threadripper 1 and Threadripper 2 CPUs.
  
When looking at Intel's CPU release you may here terms such as Skylake, Haswell, Coffelake. On the AMD side your may here about RYZEN, Bulldozer and Piledriver. What are these referring too? In this case, this refers to the actual design of the CPU internally. This is how we see improvement in neewer generations of CPU in instruction efficiency.  
+
Intel has a tendency to change sockets with every new CPU generation, requiring consumers to buy a new motherboard when they wish to upgrade their Intel CPU. AMD in comparison tends to change sockets every 3 or 4 generations, allowing consumers to upgrade to a new AMD CPU without needing to buy a new motherboard.
  
==Cores & SMT==
+
==Instruction Sets==
Most modern day CPU are multicored. Having more than one core allows the user to run multiple programs at once without having to switch context.  
+
A CPU follows instructions to do things. These instructions may be maths operations, memory operations, conditional operations and more. All programs languages are compiled into basic instructions which the CPU executes.
  
This can be better explained using an analogy.
+
The reason this is important is that you can only run programs that are compiled for your instruction set.
Imagine that a core is a worker in a factory. In this case the worker needs to do multiple tasks in the factory so they rotate around doing each task so they do not spend too much time on a single task. If we were to add more workers we would be able to do more work if their were tasks the other user could do.
 
  
SMT stands for Simultaneous Mutlithreading.  
+
The instruction set which Intel and AMD CPU use is called x86 and x86_64 (a 64-bit extension of the original x86). Another common instruction set is ARM which is is used by most popular smartphone CPUs.
  
==Sockets==
+
Windows RT and the surface RT is an example of an operating system which which runs on ARM. As the operating system is for ARM, it is unable to run win32 applications (.exe) programs. This is the reason why you need to care about the instruction set.
A CPU must be integrate into a motherboard. The socket/package is the actual pin layout which the CPU will communicate through to the motherboard. Depending on the socket it will accept different CPUs, for example the TR4 socket will accept Threadripper 1 and Threadripper 2 CPUs.  
 
  
 
{{Parts}}
 
{{Parts}}

Latest revision as of 21:31, 12 June 2020

The Central Processing Unit (CPU), is the part in your PC that performs the bulk of the computational work. It does this by carrying out instructions in a computer program. Due to its role, it is often described as the "brain" of a computer.

A good CPU is essential for workstation tasks such as video editing and music production!

Recommendations (Opinionated)

Gaming

The importance of the CPU in gaming performance depends on a few key factors:

  • the resolution of your monitor,
  • the refresh rate of your monitor, and
  • the game!

Games like The Division 2 and The Witcher 3 are far more taxing on your GPU, while Assassin's Creed: Odyssey, Shadow of the Tomb Raider and Battlefield V are notorious for hitting the CPU hard.

If you play at 1080p (as opposed to 1440p or 4K), the GPU has less pixels to push which puts comparatively more strain on the CPU.

If you also play at higher refresh rates (such as 144Hz, 240Hz or beyond) you will want to make sure your CPU can keep up with the GPU at high framerates.

In general, gamers playing at 1440p or 4K do not need to worry about the CPU very much (the majority of the workload will be placed on the GPU), but those playing at 1080p targeting very high refresh rates - especially in competitive shooter games - will need to put a bit more consideration into their choice of CPU.

Budget

AMD Ryzen 3 3300X

This budget CPU brings the Zen 2 architecture to lower price points. Unlike the cheaper Ryzen 3 3100, the 3300X has all of its cores in one CCX, significantly improving latency and gaming performance.

Intel Core i3-10100

Although it struggles to match either the price or the performance of the 3300X, the i3-10100 still provides respectable performance. If you need integrated graphics on a budget, this may be a good choice for you.

Mid Range

AMD Ryzen 5 3600

AMD continues their tradition of offering the best price/performance mid-range CPU with the Ryzen 5 3600. Praised universally by reviewers, the 3600 offers solid performance in both gaming and productivity tasks at a highly competitive price.

Intel Core i5-10400

When paired with high-speed memory on a Z490 motherboard, the i5-10400 manages to beat out the Ryzen 5 3600 by a small margin in gaming.

However, on B460 (or lower) boards, Intel's CPUs are limited to DDR4-2666 memory speeds, which pushes this CPU below the 3600 in gaming performance.

The i5-10400F variant of this CPU drops the (often unused) integrated graphics for a lower price tag, so keep an eye out for those.

High End

AMD Ryzen 7 3700X

Although its gaming performance is only marginally better than the 3600, the Ryzen 7 3700X is an appealing choice for gamers who also engage in productivity tasks, offering more cores and threads than Intel's similarly priced competitors.

Intel Core i5-10600K

The i5-10600K brings almost all of the i9-10900K's top-tier gaming performance down to a more affordable price point, outpacing the 3600/3700X by a small but non-negligible margin.

Top End

AMD Ryzen 9 3900X

Similar to the 3700X, AMD's Ryzen 9 3900X is barely faster than its lower-priced brethren in gaming but provides the best productivity/workstation performance for those who do more than game.

Intel Core i9-10900K

For those with deep pockets that want a no-compromise gaming experience, the i9-10900K provides the overall best gaming performance of any CPU on the market.

Workstation

At the same price point, AMD's Ryzen chips are better at workstation tasks than Intel's Core series chips, making them ideal for workstation tasks. Therefore, this entire section is dedicated to Ryzen CPUs.

Budget

AMD Ryzen 5 3600

If money is tight a Ryzen 5 is still a good choice and is definitely competent for workstation tasks.

Mid Range

AMD Ryzen 7 3700X

The ideal choice for most consumers in this category.

High End

AMD Ryzen 9 3900X

AMD Ryzen 9 3950X

These CPUs provide well-priced high end workstation performance. The 3950X (despite the name) does provide four more cores than the 3900X, creating a significant performance gap.

Top End

AMD Ryzen Threadripper 3960X

AMD Ryzen Threadripper 3970X

AMD Ryzen Threadripper 3990X

These CPUs are incredibly expensive, each moreso than the last, but provide the absolute best CPU performance you can get on an HEDT platform.

This section was last edited on 12/06/2020.

Intel vs AMD (Opinionated)

Intel has historically been the leader in the CPU market by a large margin. However since the release of AMD's Ryzen CPUs the story has changed. Now, AMD's CPUs are significantly better at workstation tasks than Intel's, and in most cases come very close in gaming (sometimes even exceeding Intel's performance). Price/performance is better on the AMD front, and since AMD changes chipsets less frequently than Intel, it's less likely that you will need to upgrade your motherboard when you want to upgrade your CPU, saving you more money.

This section was last edited on 12/06/2020.

Cores & Multithreading

Most modern day CPUs are multi-core. Having more than one core allows the system to run multiple tasks at the same time.

This can be better explained using an analogy. Imagine that a core is a worker in a factory. In this case the worker needs to do multiple tasks in the factory so they rotate, doing each task so they do not spend too much time on a single task. If we were to add more workers, we would be able to do more work if there were tasks the other user could do.

Nowadays most games scale up to around 4-6 cores, depending on the game in question. More cores after that typically have a negligible impact on performance.

Workstation tasks, however scale much better with core count - up to 64 cores and beyond.

32 Bit vs 64 Bit

You might see 32- or 64-bit specified on the end of some installer filenames. This is important as 64-bit programs cannot be run on 32-bit systems.

Higher bit systems and programs are able to address more memory. 32-bit programs, for example, are restricted to 4GB of memory, whereas 64-bit programs can access 16 EXABYTES!!! of memory. Far more than any modern system would have.

Sockets & Chipsets

A CPU must integrate into a motherboard. The socket is the actual pin layout which the CPU connects to. Different sockets will accept different CPUs, for example the TR4 socket will accept Threadripper 1 and Threadripper 2 CPUs.

Intel has a tendency to change sockets with every new CPU generation, requiring consumers to buy a new motherboard when they wish to upgrade their Intel CPU. AMD in comparison tends to change sockets every 3 or 4 generations, allowing consumers to upgrade to a new AMD CPU without needing to buy a new motherboard.

Instruction Sets

A CPU follows instructions to do things. These instructions may be maths operations, memory operations, conditional operations and more. All programs languages are compiled into basic instructions which the CPU executes.

The reason this is important is that you can only run programs that are compiled for your instruction set.

The instruction set which Intel and AMD CPU use is called x86 and x86_64 (a 64-bit extension of the original x86). Another common instruction set is ARM which is is used by most popular smartphone CPUs.

Windows RT and the surface RT is an example of an operating system which which runs on ARM. As the operating system is for ARM, it is unable to run win32 applications (.exe) programs. This is the reason why you need to care about the instruction set.