Hi everybody, today I will be explaining all components of a CPU and how they together can form something that we call a core!
Brief Introduction to CPUs
A Central Processing Unit (CPU) or also know as processor is what makes our Computers be logic nowadays, without it it would only power itself up but it wouldn’t know what to do next. For example, imagine a body, this body has different organs (liver, lungs, brain, pancreas….), so imagine if I took out the brain out of that, what would happen ? That is right it would be that because that is what gives instructions to the other organs about how they should be working. And this is exactly what would happen if we removed a CPU from a computer. What we will talk about now is what inside this “brain” makes it do what it is supposed to do.
Types of CPU Architectures
Before anything we have to introduce the two types of CPUs that exist. The first one is RISC (Reduce Introduction Set Computer) and the second one being CISC (Complex Instruction Set Computer).
- RISC: Risc is a type of architecture that is responsible for doing specific types of instruction, take for example your toaster, it has a microprocessor inside, which does something very specific that is to toast your bread in a certain amount of time but the thing is that when you tell it to do so, it does it very well! So what we can take from this is that, whenever we say a processor is Risc we mean that it is usually a microprocessor, it does something very specific but very well. But on the other hand there an example of an architecture that runs on Risc which are complex like the arm processors on smartphones used by Samsung, Huawei, and apple.
- CISC: Cisc is a type of architecture that can perform what Risc does and also complex tasks like running a game or rendering a 4k video. An example of this architecture is the x86 which intel has created back in 1978 that is used nowadays to create the AMD and Intel processors.
Components of a CPU
- Arithmetic Logic Unit (ALU)
- This unit is very self-explanatory by itself, it performs arithmetic functions like divisions, subtractions, multiplications, and additions.
- It also operates using only binaries which are 1 and 0.
- Floating Point Unit (FPU)
- This component besides performing arithmetic it also works with functions.
- It operates on real numbers, not binaries.
- Control Unit
- It is responsible for fetching, decoding, and executing instructions of the system.
- It mostly controls all data flow within the CPU.
- Instruction Unit
- Organizes program instructions from the memory, it serves as a parking lot which keeps track of what data has gotten into the unit first therefore processing and filtering data that came in chronological order.
- Provide last data access for the processing.
- Uses SRAM (Static ram) which means it does not need to be refreshed like normal RAM memory which uses energy charge “to remind itself”.
- Cache Memory
- It is used by the CPU to access data quicker than having to move the data from the main memory to itself.
- It has 3 levels of quality which are L1, L2, and L3 . the lower the number the better it performs.
All components together forming a core
The CPUs needs someone to keep the order of all data that it receives, process, and sends. To do that he uses a clock that tells all the parts when they should be moving on, this clock operates by Hz per second, for example my CPU has a base Clock speed of 2.9 Ghz but I can increase the speed of the clock by overclocking, by doing that you will increase the voltage that the CPU consumes therefore increasing the heat that it produces so it is recommended that if you want to do that you better have a very good cooler.
Whenever a CPU has multithreading it means that the CPU is capable of virtualizing one core to become two which means that if we have one physical core with all the components that I just described it will become two instead. But for this to work the application needs to support this feature by sending its threat to the CPU interpreting as if there was two cores instead of only one. But for now we ca not triplicate or quadruplicate the number of cores within one CPU because that is logical impossible for the time being, but what we can do instead is to add more cores and each core have multithreading.