Few questions about cores, threads, frequency etc

Hey guys, so I have a few questions for you CPU freaks :D

So, here they are:

Say you have a 3 GHz quad-core CPU, does this mean each core can run at up to 3 GHz totaling 12 GHz (assuming they're all under 100% load, yes I know thats unrealistic), or is it they can output 3 GHz altogether, or what, how does that exactly work?

I heard that games were being developed to actually make use of quad-cores, is this true or not? Are there games that utilize 4 cores? Does Bad Company 2? Whats the status of this issue.

Whats the difference between threads and cores, how do they differ, how do they help, pros and cons of both?

Thanks for your time guys, my friend and I were in a debate over the games utilizing 4 cores haha, hope you guys can help me out
20 answers Last reply Best Answer
More about questions cores threads frequency
  1. Okay, so im not a math wiz and stuff but I'll give you a nice run down on how things work:)

    If you have -for example- an i7 processor, it will have 4 cores. If it runs at 3.0ghz then each core will run at an effective 3.0ghz (really like 2970mhz) but they round that shiz so you dont see it.

    So think of it like this. Your cpu has 4 brains (cores) in one head (PC). Each brain will run at the speed it says it will. This means you have 4 cores running at the same speed. The speeds are... sadly... not stackable to it making an effective 12ghz.
  2. I see, yeah I figured they weren't actually efficient, but supposedly each core is supposed to handle the frequency

    So how bout my other 2 questions
  3. Battle field uses all 4 cores and to my knowledge uses dx11 and is actually a demanding game at really high settings. and YES, quad core based games are getting more coming. Crysis 2 is a good example. The technology is there, it just cost a couple million dollars nowadays to make the games because we have all came to the high standards:p

    Okay so let me explain threads
  4. They each run at that speed, but they can't work on the same task, so totaling the speeds is pointless.
    I believe that BC2 uses 4 cores,2737-7.html
    but I think most recent games use only 3, and many use 2. However, having an extra core (4) could take the load of normal system tasks, letting the game fully utilize the other 3.
    Threads and cores are effectively the same, in that they determine how many tasks can be pursued at once. It's just that actual performance is determined by cores, so having extra threads won't help once the physical cores' workloads are maxed. The core is the physical processor, and the thread is the job that it does.
  5. Threads on a CPU: When you have a core in a CPU say a Core 2 duo, it is to effective cores with NO threads. This means you have data and information flowing TOO and FROM the cpu on ONE pipeline. So think of it as a one street with NO line in the middle, you can only have one wave of info/date flowing at one time.

    Now, what threading does it it makes 2 SEPARATE pipelines to the CPU. One pipe for incoming data and info. And the other is for Outgoing from the CPU. This makes better CPU efficient because it has more room to work with. It does not create say, another physical core, but it does create a better highway in which it can get information too and from your MOBO, VGA card, RAM etc. Hope this helped man:)
  6. I see I see, so even if games dont support 4 cores, they might utilize 2 or 3, and the other core could be working on processing other programs in the meantime.

    and for the threads, basically it opens up another path for each core, so all 4 cores can both send data and receive data am I correct?
  7. yea, if you have 4 cores, you will have 8 threads (i7) and 2 cores you will have 4 threads (i5) and i3 is, well, don't get an i3:)

    Each thread helps you see the true potential off the processor. That and cache, but thats another story:)
  8. I thought not all i5s and i7s had 8 threads, the i5-2500k doesnt have hyperthreading so...

  9. this is what a thread is
    pasted from Wikipedia

    In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. It generally results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources. In particular, the threads of a process share the latter's instructions (its code) and its context (the values that its variables reference at any given moment). To give an analogy, multiple threads in a process are like multiple cooks reading off the same cook book and following its instructions, not necessarily from the same page.

    On a single processor, multithreading generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will actually run at the same time, with each processor or core running a particular thread or task.

    Many modern operating systems directly support both time-sliced and multiprocessor threading with a process scheduler. The kernel of an operating system allows programmers to manipulate threads via the system call interface. Some implementations are called a kernel thread, whereas a lightweight process (LWP) is a specific type of kernel thread that shares the same state and information.

    Programs can have user-space threads when threading with timers, signals, or other methods to interrupt their own execution, performing a sort of ad-hoc time-slicing.

    "In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system"

    That is the main definition
    what pitchdragon is getting confused with is HyperThreading which is an Intel
    technology for duplication some parts of the cpu on the die so it can handle
    two threads at the same time

    open up task manager (cntrl-alt-del)
    and look at performance
    currently my Windows 7 Ultimate 64-Bit is running 979 threads
    average is usually about 500 or so

    this is link from Wikipedia
    used as a reputable SOURCE

    please pitchdragon we at Toms appreciate you being here
    but please source out your info you post here
  10. Not to sound unappreciative but the Wikipedia didnt help, I know how to use Wikipedia, I came here for an explanation from the community. The Wiki is too complicated, I dont need to spend hours trying to fully dissect what a thread truly is, Id rather have it explained to me. So basically I got half truth answers, and a copy and paste from wiki
  11. Best answer
    "In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system"

    basically a program creates a process which creates a thread

    your OS runs many threads at the same time

    each individual core can handle a thread at one time

    with Intel HyperThreading a single core can handle two threads

    as long as that thread doesnt use the same part of the core

    so a dual core without hyperthreading can handle two threads concurrently (same time)

    a dual core with hyperthreading can handle 4 threads

    a quad core w/o HT can handle 4 threads

    a quad core w/ HT can handle 8 threads

    A quad core is good even without HT for handling any game out there

    it will be a while before games use more than 4 cores

    If you do encoding video, 3D rendering etc than the more cores the better since they are multihreaded

    I was trying to clear up the "half truth answers" for you

    I paid money and went to school for this

    I had to read many large books

    Dont insult people trying to help you

    Dont worry about reading and go back to playing games

    I got WORK to do on my computer that make me money :)
  12. I dont play many games, Im studying for my finals, and Im not insulting you, Im saying that anyone can copy and paste from Wikipedia, I also know how to go to Wikipedia and search what it is, the forums exist because the community breaks down things to an easy to understand level, and thats how people gain experience and knowledge over time. You dont try to teach someone a complex math subject without teaching them the basics first, to me most of that was gibberish, so I needed it to be broken down, just as anyone else here would prefer.
  13. Sorry :)
    I drank too much coffee and have an itchy keyboard finger LOL

    I used Wikipedia as a referenced source since many here will spread
    some inaccurate info

    You just specifically mentioned games
    Good luck with finals
    They are F-ing brutal

    basically in reference to games a fast (over 2.8 ghz) dual core would be normally better than a slow quad core (2.6 under) with most games

    with that said
    a fast Quad core is the best
    something around 3.0ghz and higher

    for example the I5 2500k SandyBridge is a better deal for gaming than
    a I7 2600k since the I7 has HT for more thread handling but costs more

    so a I7 2600k would be preferred for multithreaded applications like video editing/rendering, 3D modeling etc

    but a I5 2500k would be a better deal for games since it is cheaper
    and the games are not going to use 8 threads

    really though the more cores that can handle the most threads in the long run
    is the best (as long as cores are fast (2.8 or higher))
    since the future of all software development is trending towards more multithreaded

    right now some games use 4 cores
    in about two to three years I wouldnt be surprised if they can use more

    so basically buy the fastest cpu with the most cores you can afford :)
    to "future proof" (i hate using that phrase)

    again my apologies for snapping at you
    rough day :)
  14. No problem I understand, future proofing I can see why you hate that term haha, I got you

    You've helped me quite a bit, thank you very much, I have learned something new, success!
  15. Best answer selected by Reaper2794.
  16. Thank you for selecting me as Best Answer

    Though I wish you didnt pick that post since I was such a jerk on it :)
  17. king smp said:
    Thank you for selecting me as Best Answer

    Though I wish you didnt pick that post since I was such a jerk on it :)

    Hi King!
    But really now,
    the post was very informative.
  18. Hey ghnader
    Nice to "see" you again
    PM me and let me know how youve been
    I have been semi-retired on Toms for a little while :)
  19. king smp said:
    "In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system"

    basically a program creates a process which creates a thread

    your OS runs many threads at the same time

    Most of what you said is accurate. I just want to add to the piece I quoted above.

    A simple-minded program will have one process running one thread. Modern games aren't all simple-minded :)

    A single program may have multiple processes (not common, but it happens). A single process may have multiple threads (fairly common).

    For a program to take advantage of multiple cores, it must have multiple threads (either multiple processes, or multiple threads in a process, or both). A simple-minded program (one process/one thread) cannot take advantage of multiple cores.

    A rule of thumb in multi-threaded coding is to aim to have roughly twice as many threads as there are available cores (counting hyper-threaded cores as two) - that way there's always work for the cores to do (some threads will be waiting on I/O, etc).
  20. Very true
    I was just keeping it simple :)
Ask a new question

Read More

CPUs Games