Overclock.net › Forums › General Hardware › General Processor Discussions › Processor Performance Explained
New Posts  All Forums:Forum Nav:

Processor Performance Explained

post #1 of 4
Thread Starter 
I'm going to try to sum up exactly how processor performance is measured in such a way that even someone with minimal knowledge on computers can understand.



I give a lot of advice to friends on buying computer parts, and a couple of times I got asked this question:
"These two processors are about the same price, but this Intel one has 4 cores and 3.5 GHz and the AMD one has 8 cores and 4.0 GHz so isn't it better?

Theoretically, yes. But there are some things that are worth mentioning.




How is processing power measured?


First things first, Processor performances is commonly measured in a unit called "FLoating point Operations Per Second" or "FLOPS". The term measures how many operations or "Calculations" your processor can carry out in a single second using this formula:


FLOPS* = Sockets x (Cores/Sockets) x Clock x (FLOPs**/Cycle)
Credit: wikipedia
*FLOPS indicating the total calculations made by all processors and cores in a single computer over 1 second of time.
**FLOPs indicating the number of Floating Point Operations carried out by a single core of a single processor over 1 cycle.



Now, I've always found this equation confusing so i'm going to try and simplify it to the best of my knowledge:

FLOPS* = Total number of cores x Clock Speed x Number of calculations carried out in a single cycle
*FLOPS indicating the total calculations made by all processors and cores in a single computer over 1 second of time.



What this means is if a single Core on a 4 core processor with a clock speed of 3.5GHz can do 4 "calculations" in a single cycle, it would look like this when plugged into the equation:

FLOPS = 4 cores x 3,500,000,000 hertz x 4 calculations per cycle
4 x 3,500,000,000 x 4 = 56,000,000,000 FLOPS


Simple enough, right?


What is Clock speed and Cycles?

Cycle: a series of events that are regularly repeated in the same order.
In a computer a cycle usually consists of the Processor retrieving instructions from a program, determining what actions the program wants it to do, and carrying out those instructions. This is most commonly adding, subtracting, and multiplying binary digits. In simple processors, only one calculation can be done on a single core at any given time. But modern processors in computers can perform around 4 processes in a single core every cycle. It used to be that since there was only one core and that core could only perform 1 process at a time, it would have to carry out every single task separately. This means that moving your mouse would take an entire process and anything else that you are doing such as watching a video or playing an audio file would have to wait for that process to be done before it could continue. Thankfully, even if single process CPU's were still used in modern computers, the speed at which each cycle is completed is so fast that it would seem as if your processor was multitasking.


Modern computers operate in the Gigahertz range. A Gigahertz being 1,000,000,000 cycles/second. Meaning that your computer pulls instructions from your memory, calculates those instructions, and sends an output over 1 Billion times every second! This is what we call Clock speed. So whenever you read on a CPU box that it operates at 4.0 GHz that means that each core does approximately 4 Billion "calculations" every second under full load assuming all cores are "Physical".

What is a core?

As i said before, processors used to only carry out a single operation every cycle. But after awhile processor developers decided it would be better to put in multiple "calculation circuits" in a single processor. That way multiple calculations can be performed every cycle. Every one of these separate but identical circuits are what we call "Cores". They Operate at the same speed and all receive their instructions from the same queue. When you do a task on your computer it sends each task to the queue where each task is sent to an open core to be calculated. Since the processor is on a clock it doesn't wait for all the cores to have a calculation so during low load some cores will have little to no calculations to make.

What is the difference between a Physical and a Virtual core?

When you look at the Specs of an Intel i7 processor, you will notice that it says "4 Cores/8 Threads". What this means is that the processor it's self has only 4 cores to carry out operations, but it tricks your operating system into thinking you have 8 cores using "Virtual Cores". Virtual cores don't have an exact definition since there are multiple ways to split work loads up to make it seem like there are more cores than what is physically on the Chip. For Intel, a virtual core is currently a single physical core with two schedulers that are pre-loading the data about to be calculated kind of similar to RAM and cache's. The CPU is the fastest operating component in any computer so it's often waiting on things like RAM to send over instructions for what it should calculate next. It takes time for data to transfer anywhere on a computer so by pre-loading the data in one queue while it performs the calculations requested in the other queue it can reduce the waiting time and significantly increase the efficiency of the processor without having to add extra cores.

AMD has a different Virtual Core system that it currently uses on it's Bulldozer Architecture. It calls each of it's cores "Modules" and instead of the modules each containing a single core with it's own seperate task scheduler and caches, it splits the core into two and has them share a task scheduler and cache. Each pair of cores split the work on a single task while each Module does a different task entirely. Your operating system recognizes each of these tasks individually but in reality they are two processors acting kind of like one thanks to some trickery from the task scheduler. By splitting the 256 bit instructions in half it can have each core do half the workload. It may sound like the processors are faking their extra cores to get some extra money out of the consumers, but the added efficiency in the design can make a huge difference on certain tasks. Speaking of tasks, let me explain why more cores isn't always better.

Why more virtual cores isn't always better.

So we've already established that having more virtual cores can be a benefit, but there are certain cases where little to no difference is made on those extra fake cores. In the case of Intel's Hyper Threading, there are times when it can't always queue up extra data to speed up the calculation process. In video editing where all the data is prerecorded, it's easy for your processor to take advantage of the saved data and get a massive boost out of pre-loading. But when you are doing something like playing video games, it often can't gather enough data to make the extra task schedulers any use. and if the process is a single thread operation, then it won't matter if your cores are real or virtual because it can only take advantage of one of those threads. If that's the case, then you are better off overclocking your processor to get some extra speed out of those single thread operations.




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is all i've gathered out of two terms of studying computer engineering as well as some outside research. If i am off with any of this information or you feel like this guide is missing something, please tell me and i'll try my best to correct it smile.gif
Edited by lolllll117 - 1/13/15 at 2:03am
The Black Box
(21 items)
 
Area 6
(10 items)
 
craptop (Rev III)
(10 items)
 
CPUMotherboardGraphicsRAM
AMD Athlon II X2 260 M2N68-AM Plus NVIDIA GeForce 7025 / NVIDIA nForce 630a G.skill 
RAMHard DriveHard DriveOS
G.skill western digital velociraptor Western Digital Caviar SE microsoft windows vista 
PowerCase
antec 330w rosewill atx mid tower 
CPUMotherboardGraphicsRAM
AMD Turion 64 X2 Mobile TL-50 30B0 Standard VGA Graphics Adapter g.skill 2x2 
Hard DriveOptical DriveCoolingOS
WD scorpio blue stock optical drive not good enough! windows 7 ultimate 
MonitorPower
it has mercury in it battery. 30 minutes of charge at most on light ... 
  hide details  
Reply
The Black Box
(21 items)
 
Area 6
(10 items)
 
craptop (Rev III)
(10 items)
 
CPUMotherboardGraphicsRAM
AMD Athlon II X2 260 M2N68-AM Plus NVIDIA GeForce 7025 / NVIDIA nForce 630a G.skill 
RAMHard DriveHard DriveOS
G.skill western digital velociraptor Western Digital Caviar SE microsoft windows vista 
PowerCase
antec 330w rosewill atx mid tower 
CPUMotherboardGraphicsRAM
AMD Turion 64 X2 Mobile TL-50 30B0 Standard VGA Graphics Adapter g.skill 2x2 
Hard DriveOptical DriveCoolingOS
WD scorpio blue stock optical drive not good enough! windows 7 ultimate 
MonitorPower
it has mercury in it battery. 30 minutes of charge at most on light ... 
  hide details  
Reply
post #2 of 4
What about integer calculations?
Cute PC
(15 items)
 
  
CPUMotherboardGraphicsRAM
4930k@4200 Sabertooth x79 R9 290 Tri-X@950/1250 4x4GB@2133CL9 
Hard DriveCoolingOSMonitor
Crucial BX100 Mugen 4 Win7 Benq xl2411z 
MonitorKeyboardPowerCase
NEC EA231WMi QPad-MK50 (reds) Seasonic S12G 750 Define R4  
MouseMouse PadAudio
Deathadder 3.5G BE Razer Goliathus Speed Edition Large Onboard 
  hide details  
Reply
Cute PC
(15 items)
 
  
CPUMotherboardGraphicsRAM
4930k@4200 Sabertooth x79 R9 290 Tri-X@950/1250 4x4GB@2133CL9 
Hard DriveCoolingOSMonitor
Crucial BX100 Mugen 4 Win7 Benq xl2411z 
MonitorKeyboardPowerCase
NEC EA231WMi QPad-MK50 (reds) Seasonic S12G 750 Define R4  
MouseMouse PadAudio
Deathadder 3.5G BE Razer Goliathus Speed Edition Large Onboard 
  hide details  
Reply
post #3 of 4
Very cool and thanks for sharing!
Machine
(16 items)
 
Workstation
(10 items)
 
 
CPUMotherboardGraphicsRAM
i7 3930K Asus P9X79 Pro EVGA GTX 970 SSC 4GB 32GB Crucial Ballistix Elite 
Hard DriveHard DriveHard DriveOptical Drive
Intel 520 SSD Intel 520 SSD WD Caviar Blue DVD+-RW 
CoolingOSMonitorPower
Corsair H100 Win7 Pro 64-bit 2x Acer 22" 850w Thermaltake Black Widow 
Case
Rosewill Conqueror 
CPUCPUMotherboardGraphics
Xeon e5-2670 v2 Xeon e5-2670 v2 GIGABYTE GA-7PESH2 GeForce GTX 1080 
RAMHard DriveOptical DriveCooling
DDR3 ECC Server Memory Crucial BX200 SSD LG Blu Ray RW Server Heatsinks 
OSCase
Windows 10 Rosewill 
  hide details  
Reply
Machine
(16 items)
 
Workstation
(10 items)
 
 
CPUMotherboardGraphicsRAM
i7 3930K Asus P9X79 Pro EVGA GTX 970 SSC 4GB 32GB Crucial Ballistix Elite 
Hard DriveHard DriveHard DriveOptical Drive
Intel 520 SSD Intel 520 SSD WD Caviar Blue DVD+-RW 
CoolingOSMonitorPower
Corsair H100 Win7 Pro 64-bit 2x Acer 22" 850w Thermaltake Black Widow 
Case
Rosewill Conqueror 
CPUCPUMotherboardGraphics
Xeon e5-2670 v2 Xeon e5-2670 v2 GIGABYTE GA-7PESH2 GeForce GTX 1080 
RAMHard DriveOptical DriveCooling
DDR3 ECC Server Memory Crucial BX200 SSD LG Blu Ray RW Server Heatsinks 
OSCase
Windows 10 Rosewill 
  hide details  
Reply
post #4 of 4
Thread Starter 
Quote:
Originally Posted by Tivan View Post

What about integer calculations?

From what i understand, Floating Point units in processors CAN calculate integer values, but integers are more often sent to separate Arithmetic logic units. I assume this is because many spare bits are reserved for just telling the Floating Point units where the decimal is. for example: if the processor's Floating Point Units have 256 bits of input and 56 of those are reserved for just showing where the decimal is, then it can handle calculating a binary integer that has let's say, 189 bits. it just tells the decimal bits that the decimal point is all the way to the right of the number so that it has no decimals. but if it was a decimal number with 205 bits used for example, some of the bits used to write out the entire number will overlap with the bits used for stating where the decimal point is resulting in an overflow unless it splits that calculation into two parts which would be time consuming and wasteful.

A Floating Point unit thinks of it's input like it's in scientific notation. By that i mean, it has digits reserved for the number, the base that it's going to be multiplied by (always 2?) and the exponent to multiply it by. by setting the exponent to a negative number it can output an integer similar to how in scientific notation 1.23 x10^-2 would be 123. so technically it's still a floating point operation, but the output is a whole number.

If the number is a large Floating point number with a lot of decimal values, something like 1234.567, it's possible that the processor could take "1230" and process it seperately in an ALU while the FLU processes the 4.567 (all of this in the same core) and then after that operation is complete, add them together. the output would still technically be a floating point operation even though part of the number was processed as a decimal operation.
Edited by lolllll117 - 1/13/15 at 12:51pm
The Black Box
(21 items)
 
Area 6
(10 items)
 
craptop (Rev III)
(10 items)
 
CPUMotherboardGraphicsRAM
AMD Athlon II X2 260 M2N68-AM Plus NVIDIA GeForce 7025 / NVIDIA nForce 630a G.skill 
RAMHard DriveHard DriveOS
G.skill western digital velociraptor Western Digital Caviar SE microsoft windows vista 
PowerCase
antec 330w rosewill atx mid tower 
CPUMotherboardGraphicsRAM
AMD Turion 64 X2 Mobile TL-50 30B0 Standard VGA Graphics Adapter g.skill 2x2 
Hard DriveOptical DriveCoolingOS
WD scorpio blue stock optical drive not good enough! windows 7 ultimate 
MonitorPower
it has mercury in it battery. 30 minutes of charge at most on light ... 
  hide details  
Reply
The Black Box
(21 items)
 
Area 6
(10 items)
 
craptop (Rev III)
(10 items)
 
CPUMotherboardGraphicsRAM
AMD Athlon II X2 260 M2N68-AM Plus NVIDIA GeForce 7025 / NVIDIA nForce 630a G.skill 
RAMHard DriveHard DriveOS
G.skill western digital velociraptor Western Digital Caviar SE microsoft windows vista 
PowerCase
antec 330w rosewill atx mid tower 
CPUMotherboardGraphicsRAM
AMD Turion 64 X2 Mobile TL-50 30B0 Standard VGA Graphics Adapter g.skill 2x2 
Hard DriveOptical DriveCoolingOS
WD scorpio blue stock optical drive not good enough! windows 7 ultimate 
MonitorPower
it has mercury in it battery. 30 minutes of charge at most on light ... 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: General Processor Discussions
Overclock.net › Forums › General Hardware › General Processor Discussions › Processor Performance Explained