2

Possible Duplicate:
What are threads, and what do they do in the processor?

I know a process can have multiple threads, on my Windows 7 machine each process has over 10 threads in avg.

But what does thread mean in terms of CPUs. Here it says my CPU has actually 4 CPUs AND 8 threads. When I open my task manager I see the usage of each of the 8 threads, but what is a thread?

0

2 Answers 2

0

Intel are talking about something different from the normal process threads.

They are talking about their "Hyper-Threading" technology that allows the cores in the CPU to each perform the work of (almost) two.

Hyper-threading works by duplicating certain sections of the processor—those that store the architectural state—but not duplicating the main execution resources. This allows a hyper-threading processor to appear as two "logical" processors to the host operating system,

(Wikipedia)

Hyper-Threading … delivers two processing threads per physical core.

(Intel)

1

As wikipedia has it "In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. 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."

Source:Wiki

For multithreading as involved here

"Multithreading computers have hardware support to efficiently execute multiple threads. These are distinguished from multiprocessing systems (such as multi-core systems) in that the threads have to share the resources of a single core: the computing units, the CPU caches and the translation lookaside buffer (TLB). Where multiprocessing systems include multiple complete processing units, multithreading aims to increase utilization of a single core by using thread-level as well as instruction-level parallelism. As the two techniques are complementary, they are sometimes combined in systems with multiple multithreading CPUs and in CPUs with multiple multithreading cores."

Source: Wikipedia

Pretty simple explanation here, in terms of computer architecture I can go in more details if you ask!

Not the answer you're looking for? Browse other questions tagged .