Multithreading is the ability of a
program or an operating system process to manage its use by more than one user
at a time and to even manage multiple requests by the same user without having
to have multiple copies of the programming running in the computer. Central
processing units 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 look aside 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.
No comments:
Post a Comment