CPU

From UNSW PCSoc Wiki
Revision as of 23:31, 20 November 2018 by CharcoalSocks (talk | contribs) (added a space in between "Central Processing Unit(CPU)". it hurt me.)
Jump to navigation Jump to search

A Central Processing Unit (CPU), is a computer component that does computation for the PC.

Due to its role, it can be seen as the brain of the computer.

Function

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.

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.


Instruction Sets

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.

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. You might see that on the end of some installer filenames. This is

Another common instruction set is ARM which is is used by most popular smartphone cpus.

Example of Instruction Sets Problems

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.


Architecture

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.

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.

Cores & SMT

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.

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 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.

Sockets

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.