• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

couple of questions concerning multi core cpu's

Joined
Oct 7, 2007
Messages
226 (0.04/day)
Location
North of Iran
System Name Main system
Processor Intel Core-i7 4790K @4.5
Motherboard Asus Z97-Pro Gamer
Cooling Cooler Master Hyper 212 EVO
Memory 32 Gig (16 GigADATA XPG V2 DDR3 2400 + 16 Gig Geil Evo Veloce DDR3 1600 CL11)
Video Card(s) Gigabyte GTX1080 G1 Gaming
Storage Western Digital Blue Cavier 500 and 1 Terabyte + 1 Terabyte Green Cavier + Samsung SSD 860 EVO 500G
Display(s) ASUS ML238 LED Monitor
Case Green Viper X3
Audio Device(s) Onboard-Realtek
Power Supply Green 700watt (Its a rebranded psu from highpower/kolink I guess)
Software Windows 10 /Ubuntu 16.04
hello all, i have some questions concerning multi core processors which i couldnt find the exact answer for them ,
i would appreciate it if any of you guys answer my questions or direct me to find my answers .
ok .
how is the architecture of a typical multi core cpu ? i mean suppose we have a quad core cpu,
does this cpu have 4 ALU ? 4 CU (control unit)? inside itself ?(do we have these stuff for each core? )
or no there is only one ALU and one CU for all of the cores ?
in multi core cpu's , are each core a complete standalone cpu or not? its just lets say a part of a typical cpu of some kind?

what about executing an instruction ?
how does it happen on a multi core cpu? i mean suppose we have a program, how does a cpu know which core should manipulate that program( or thread/ ) ? is it done by operation system or no there is sth in the multi core cpu's which actually do these stuff (when we have a program or bunch of programs which wants or want to execute ,that specific part actually direct them to use core x for example ?

suppose we have couple of programs which are to execute and awaits the cpu to be executed, are these applications going to be executed on one core ? or they are all eaqually disrebuted on all cores?
suppose we have 4 programs and we have a quad core cpu , what happens then in this scenario ? are they going to uttelize the whole 4 cores ? or no / ? they would just use two cores (by the help of using threads ) ? or on one core again by the help of (threading on that core)

i would be grateful if anyone answer any of my questions . or atleast direct me to a place which i can read and find out the information im seeking.
thankyou in advance
 
Last edited:

Polarman

New Member
Joined
Jun 24, 2008
Messages
1,626 (0.28/day)
Location
Rimouski
System Name Polar's Dragon
Processor AMD Phenom II 975BE
Motherboard MSI 890FXA-GD65 (Bios 18.7)
Cooling Zalman CNPS 9700 Led
Memory Gskill 8GB DDR3-1333 (8,8,8,21)
Video Card(s) MSI HD6870 Hawk
Storage WD Raptor 250 - WD RE4 500GB
Display(s) Samsung T240 (1920 X1200)
Case Silverstone Raven 2
Audio Device(s) Realtek ALC892
Power Supply PC Power&Cooling Silencer 750 (Red)
Software Windows 7 Home Premium 64Bit + SP1
Too technical for me.

You could try searching WIKI.
 
Joined
Oct 7, 2007
Messages
226 (0.04/day)
Location
North of Iran
System Name Main system
Processor Intel Core-i7 4790K @4.5
Motherboard Asus Z97-Pro Gamer
Cooling Cooler Master Hyper 212 EVO
Memory 32 Gig (16 GigADATA XPG V2 DDR3 2400 + 16 Gig Geil Evo Veloce DDR3 1600 CL11)
Video Card(s) Gigabyte GTX1080 G1 Gaming
Storage Western Digital Blue Cavier 500 and 1 Terabyte + 1 Terabyte Green Cavier + Samsung SSD 860 EVO 500G
Display(s) ASUS ML238 LED Monitor
Case Green Viper X3
Audio Device(s) Onboard-Realtek
Power Supply Green 700watt (Its a rebranded psu from highpower/kolink I guess)
Software Windows 10 /Ubuntu 16.04
tanx for the feedback
but honestly i dont know what to search! i searched the phrase " multi core cpu design!" it found some info on wiki but none of the infos asked above were answered using them! thats why i asked for your help .
 

Reventon

New Member
Joined
Mar 25, 2009
Messages
2,106 (0.38/day)
Location
Sarasota, FL
System Name Black & Red
Processor AMD 64 X2 6400+ BE 3.2Ghz
Motherboard JetWay JHA06-GT 780G ATX
Cooling Xigmatek HDT SD964 92mm cooler, 5 Case Fans, PCI Slot Evercool exhaust fan
Memory 4GB DDR2 667Mhz
Video Card(s) ASUS EAH4850HD 512MB
Storage Seagate 120GB HDD 7200rpm, Samsung 160GB HDD
Display(s) 19" Enivision LCD (1280x1024), 15" HP vs15c (1024x768) dual screen
Case Cooler Master Storm Scout Mid Tower
Audio Device(s) Onboard
Power Supply Corsair 400W PSU
Software Windows Vista 32-bit
Well in terms of running programs, I believe the work is split among cores. However, there are CPUs tailored towards running multiple applications or processes, in which one core will handle one job and another core with handle another and so on.
 

[Ion]

WCG Team Assistant
Joined
Sep 15, 2009
Messages
13,391 (2.51/day)
Location
Raleigh, North Carolina, United States
System Name Niedersachsen / Ribe / Minsk
Processor i3 3240 / i7-3520M / 4x Opteron 6376 @ 2.86GHz
Motherboard BIOSTAR H61M / HP Q77 / Supermicro H8QG7
Cooling Stock / Stock / 4x 1U G34
Memory 1x8GB / 2x4GB / 4x4GB
Video Card(s) GTX260 / Intel HD 4000 / nVidia GT310
Storage 80GB Intel SSD / 256GB Intel SSD / 2x 60GB SSD (RAID1)
Display(s) Dell 3007 + HP 2245w / 12.1" 1366x768 / None
Case Antec NSK3480 / HP / Supermicro 1U
Audio Device(s) Onboard
Power Supply Enermax 500W / HP 130W / Supermicro Gold 1400W
Keyboard IBM Model M
Software Windows 7 (Niedersachsen/Ribe) / Linux Mint 17.2 (Minsk)
Th OS will always do the best it can to split things between the cores/threads. So if you are running 40 processes that each use 1% CPU, the OS will split things up so that there is 10% CPU usage on each core
 
Joined
Oct 1, 2006
Messages
4,884 (0.76/day)
Location
Hong Kong
Processor Core i7-12700k
Motherboard Z690 Aero G D4
Cooling Custom loop water, 3x 420 Rad
Video Card(s) RX 7900 XTX Phantom Gaming
Storage Plextor M10P 2TB
Display(s) InnoCN 27M2V
Case Thermaltake Level 20 XT
Audio Device(s) Soundblaster AE-5 Plus
Power Supply FSP Aurum PT 1200W
Software Windows 11 Pro 64-bit
hello all, i have some questions concerning multi core processors which i couldnt find the exact answer for them ,
i would appreciate it if any of you guys answer my questions or direct me to find my answers .
ok .
how is the architecture of a typical multi core cpu ? i mean suppose we have a quad core cpu,
does this cpu have 4 ALU ? 4 CU ? inside itself ?(do we have these stuff for each core? )
or no there is only one ALU and one CU for all of the cores ?
in multi core cpu's , are each core a complete standalone cpu or not? its just lets say a part of a typical cpu of some kind?

what about executing an instruction ?
how does it happen on a multi core cpu? i mean suppose we have a program, how does a cpu know which core should manipulate that program( or thread/ ) ? is it done by operation system or no there is sth in the multi core cpu's which actually do these stuff (when we have a program or bunch of programs which wants or want to execute ,that specific part actually direct them to use core x for example ?

suppose we have couple of programs which are to execute and awaits the cpu to be executed, are these applications going to be executed on one core ? or they are all eaqually disrebuted on all cores?
suppose we have 4 programs and we have a quad core cpu , what happens then in this scenario ? are they going to uttelize the whole 4 cores ? or no / ? they would just use two cores (by the help of using threads ) ? or on one core again by the help of (threading on that core)

i would be grateful if anyone answer any of my questions . or atleast direct me to a place which i can read and find out the information im seeking.
thankyou in advance
As far as I know, a Quad Core CPU is basically four complete units each with its own ALU(s). (Not sure what you meant by CU)
It is the OS that splits the load over the cores.
You can think of it as 4 processors sharing a single memory bandwidth and system bus.
(Depnding on the way the chip is designed, the cores can also share a data cache.)

At a software level, I believe multi-processor and multi-core are treated the same way.
The work load of a multi-threaded process that is written to utilize multi core will be distrubuted to all cores as evenly as possible by the OS kernel.
When a process is written to only utilize a single core, it will only run on one core.

The OS will assign other processes to the core with the lowest loading.
You also have to realize that each thread in a process can create a different work load.
Some are more intensive, while other minor threads might not create much of a work load.
Multi-threaded processes are not always optimized for multi-core.
For example, World of Warcraft have around 48 threads, but only 2 of the the threads are main threads,
while the OS will try to balance the work load on all cores, only 2 core will be fully utilized, thus WoW is dual-core optimized.
 
Last edited:
Joined
Sep 1, 2007
Messages
334 (0.05/day)
Location
UK
System Name Moose 5800X3D
Processor AMD Ryzen 7 5800X3D 3.4Ghz 4.5Ghz Boost 96MB L3 Cache
Motherboard Asus Prime X570-P
Cooling Custom Liquid Cooling covering CPU and GPU including liquid backplate for graphics memory cooling
Memory G.Skill Trident Z RGB 32GB (2 x 16GB) DDR4 DRAM 3600MHz CL18
Video Card(s) PNY GeForce RTX 3090 XLR8 Gaming 24GB
Storage WD Black SN770 2 TB PCIe 4.0 NVMe M.2 + Samsung 970 EVO 1TB PCIe NVMe M.2 + 2x WD Caviar Black 750GB
Display(s) AOC 34" CU34G2/BK Ultra Wide @ 3440x1440
Case Thermaltake Level 20 HT
Audio Device(s) Creative Sound Blaster Z SE
Power Supply Corsair TX850M 850W Semi Modular
Mouse Razer Viper Ultimate
Keyboard Rii K61c
Software Windows 11 Pro
This is my CPU useage when I open Flash Photoshop and Illustrator at the same time you can see they are evenly distributed across the cores, most likely with each taking a bit from every core:

Here is one when just opening flash you can see flash is multi threaded with optimisation for quad core as it uses all four cores with its many major threads:
 

Attachments

  • Untitled.jpg
    Untitled.jpg
    52.7 KB · Views: 681
  • Untitled1.jpg
    Untitled1.jpg
    52.6 KB · Views: 679
Joined
Apr 14, 2008
Messages
1,777 (0.30/day)
Location
South Australia
System Name QUACK
Processor Intel i7 2600K (3.4 GHz, 8 threads)
Motherboard Asus P67P8-V3
Cooling Xigmatek Balder 120mm (4x120,1x140mm case)
Memory Patriot 2 Viper Sector 5, 8GB DDR3 1600 MHz
Video Card(s) Gigabyte GeForce GTX 960 G1 4GB
Storage 1x Samsung EVO 850 (500GB) SSD, 1x Fujitsu 256GB SSD
Display(s) Dell Ultrasharp U2311h 23" (so sexy)
Case CoolerMaster Gladiator RC-600
Audio Device(s) Onboard 5.1
Power Supply Antec 850w with yellow racing stripes
Software Windows 7 HP 64 bit
how is the architecture of a typical multi core cpu ? i mean suppose we have a quad core cpu,
does this cpu have 4 ALU ? 4 CU ? inside itself ?(do we have these stuff for each core? )
or no there is only one ALU and one CU for all of the cores ?
in multi core cpu's , are each core a complete standalone cpu or not? its just lets say a part of a typical cpu of some kind?
Not sure what you mean by CU, but yes each core has its own dedicated ALU. Each core of the CPU is a CPU in itself, usually linked by the Frontside Bus (Core 2 Duo/Quad), or HyperTransport (AMD CPUs), or Quickpath Interconnect (i5, i7).

what about executing an instruction ?
how does it happen on a multi core cpu? i mean suppose we have a program, how does a cpu know which core should manipulate that program( or thread/ ) ? is it done by operation system or no there is sth in the multi core cpu's which actually do these stuff (when we have a program or bunch of programs which wants or want to execute ,that specific part actually direct them to use core x for example ?
The allocation of CPU resources is software based, usually controlled by the OS. The load between each core will be balanced, unless you're running a single-threaded application that requires a lot of power, in which case it'll probably get priority on one core, with other stuff being shifted to the other cores. I think...

suppose we have couple of programs which are to execute and awaits the cpu to be executed, are these applications going to be executed on one core ? or they are all eaqually disrebuted on all cores?
suppose we have 4 programs and we have a quad core cpu , what happens then in this scenario ? are they going to uttelize the whole 4 cores ? or no / ? they would just use two cores (by the help of using threads ) ? or on one core again by the help of (threading on that core)

If you have multiple single-threaded programs, then they'll most likely be distributed. There are still a large amount of single-thread applications out there, but a larger amount of multi-thread apps are being released which can spread the load across a large number of cores, maximising performance.

If you're thinking of upgrading from your current computer (which would be a very good idea), then note that even if you're using single-threaded apps most of the time, they WILL get a large performance boost from using a modern CPU, as your Pentium 4 really is old and inefficient. The architecture of modern CPUs have improved a LOT!
 
Joined
Aug 30, 2006
Messages
7,197 (1.12/day)
System Name ICE-QUAD // ICE-CRUNCH
Processor Q6600 // 2x Xeon 5472
Memory 2GB DDR // 8GB FB-DIMM
Video Card(s) HD3850-AGP // FireGL 3400
Display(s) 2 x Samsung 204Ts = 3200x1200
Audio Device(s) Audigy 2
Software Windows Server 2003 R2 as a Workstation now migrated to W10 with regrets.
Joined
Oct 7, 2007
Messages
226 (0.04/day)
Location
North of Iran
System Name Main system
Processor Intel Core-i7 4790K @4.5
Motherboard Asus Z97-Pro Gamer
Cooling Cooler Master Hyper 212 EVO
Memory 32 Gig (16 GigADATA XPG V2 DDR3 2400 + 16 Gig Geil Evo Veloce DDR3 1600 CL11)
Video Card(s) Gigabyte GTX1080 G1 Gaming
Storage Western Digital Blue Cavier 500 and 1 Terabyte + 1 Terabyte Green Cavier + Samsung SSD 860 EVO 500G
Display(s) ASUS ML238 LED Monitor
Case Green Viper X3
Audio Device(s) Onboard-Realtek
Power Supply Green 700watt (Its a rebranded psu from highpower/kolink I guess)
Software Windows 10 /Ubuntu 16.04
Oh that was fantastic , Thank a quadrillion guys ::)
you are really some thing , but about CU, by writing that i meant "Control Unit " thats it , is there only one control unit out there ? or no just like ALU.
by the way , being symmetric or asymmetric does it make any difference in the information you kindly provided? i mean if we have a symmetric multi core cpu , is it all the same? and it would be the OS which would take care of the differences ?
is there sth inside that multi core cpu which all of cores share together/? rather than front side bus
 
Last edited:
Joined
Oct 1, 2006
Messages
4,884 (0.76/day)
Location
Hong Kong
Processor Core i7-12700k
Motherboard Z690 Aero G D4
Cooling Custom loop water, 3x 420 Rad
Video Card(s) RX 7900 XTX Phantom Gaming
Storage Plextor M10P 2TB
Display(s) InnoCN 27M2V
Case Thermaltake Level 20 XT
Audio Device(s) Soundblaster AE-5 Plus
Power Supply FSP Aurum PT 1200W
Software Windows 11 Pro 64-bit
Oh that was fantastic , Thank a quadrillion guys ::)
you are really some thing , but about CU, by writing that i meant "Control Unit " thats it , is there only one control unit out there ? or no just like ALU.
by the way , being symmetric or asymmetric does it make any difference in the information you kindly provided? i mean if we have a symmetric multi core cpu , is it all the same? and it would be the OS which would take care of the differences ?
is there sth inside that multi core cpu which all of cores share together/? rather than front side bus
The core almost act like they are a complete CPU, so each core has its control unit.
The number of cores doesn't really matter, the OS will split the load accordingly.
For example, on multi-core processes a quad core should only be 25% faster than a triple core of the same architechure and frequency.
Multi-Core Opitmized Processors actually, detects the number of logical cores present and creates the number of main threads accordingly.
Ex. A media transcoder will create 4 main threads for a quad core CPU or create 8 main threads for a Core i7 with HT turned on (8 logical cores).

Interms to resources, it depends on how the CPU is designed.

For a native multi-core CPU, there is a dedicated "Crossbar" which manages the comunication between all of the members.
In this case, the cores may or may not share a Data Cache.
Ex. In a Phenom processor, the L3 Data cache is shared amoung all the cores.
In a Core 2 Duo Processor, the L2 Data Cache is shared.

In a MCM (Multi Chip Module) CPU, the individual dice comunicate via the FSB. While the cores within each chip comunicates natively.
Ex. a Core 2 Quad Processor is bulit from Two Core 2 Duo dice.

Aside frome the FSB, the access to memory (RAM) is also shared.
Physically, the socket and the cooler is shared :roll:
 
Last edited:
Joined
Oct 7, 2007
Messages
226 (0.04/day)
Location
North of Iran
System Name Main system
Processor Intel Core-i7 4790K @4.5
Motherboard Asus Z97-Pro Gamer
Cooling Cooler Master Hyper 212 EVO
Memory 32 Gig (16 GigADATA XPG V2 DDR3 2400 + 16 Gig Geil Evo Veloce DDR3 1600 CL11)
Video Card(s) Gigabyte GTX1080 G1 Gaming
Storage Western Digital Blue Cavier 500 and 1 Terabyte + 1 Terabyte Green Cavier + Samsung SSD 860 EVO 500G
Display(s) ASUS ML238 LED Monitor
Case Green Viper X3
Audio Device(s) Onboard-Realtek
Power Supply Green 700watt (Its a rebranded psu from highpower/kolink I guess)
Software Windows 10 /Ubuntu 16.04
The core almost act like they are a complete CPU, so each core has its control unit.
The number of cores doesn't really matter, the OS will split the load accordingly.
For example, on multi-core processes a quad core should only be 25% faster than a triple core of the same architechure and frequency.
Multi-Core Opitmized Processors actually, detects the number of logical cores present and creates the number of main threads accordingly.
Ex. A media transcoder will create 4 main threads for a quad core CPU or create 8 main threads for a Core i7 with HT turned on (8 logical cores).

Interms to resources, it depends on how the CPU is designed.

For a native multi-core CPU, there is a dedicated "Crossbar" which manages the comunication between all of the members.
In this case, the cores may or may not share a Data Cache.
Ex. In a Phenom processor, the L3 Data cache is shared amoung all the cores.
In a Core 2 Duo Processor, the L2 Data Cache is shared.

In a MCM (Multi Chip Module) CPU, the individual dice comunicate via the FSB. While the cores within each chip comunicates natively.
Ex. a Core 2 Quad Processor is bulit from Two Core 2 Duo dice.

Aside frome the FSB, the access to memory (RAM) is also shared.
Physically, the socket and the cooler is shared :roll:

tanx a alot bro , that was great, i really appreciate that . :respect:
 
Top