Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Superscalar processor
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Alternatives== Collectively, these limits drive investigation into alternative architectural changes such as [[very long instruction word]] (VLIW), [[explicitly parallel instruction computing]] (EPIC), [[simultaneous multithreading]] (SMT), and [[Multi-core (computing)|multi-core computing]]. With VLIW, the burdensome task of dependency checking by [[hardware logic]] at run time is removed and delegated to the [[compiler]]. [[Explicitly parallel instruction computing]] (EPIC) is like VLIW with extra cache prefetching instructions. Simultaneous multithreading (SMT) is a technique for improving the overall efficiency of superscalar processors. SMT permits multiple independent threads of execution to better utilize the resources provided by modern processor architectures. The fact that they are independent means that we know that the instruction of one thread can be executed out of order and/or in parallel with the instruction of a different one. Also, one independent thread will not produce a pipeline bubble in the code stream of a different one, for example, due to a branch. Superscalar processors differ from [[multi-core processor]]s in that the several execution units are not entire processors. A single processor is composed of finer-grained execution units such as the [[Arithmetic logic unit|ALU]], [[Integer (computer science)|integer]] [[Binary multiplier|multiplier]], integer shifter, [[Floating-point unit|FPU]], etc. There may be multiple versions of each execution unit to enable the execution of many instructions in parallel. This differs from a multi-core processor that concurrently processes instructions from ''multiple'' threads, one thread per [[Central processing unit|processing unit]] (called "core"). It also differs from a [[instruction pipelining|pipelined processor]], where the multiple instructions can concurrently be in various stages of execution, [[Assembly line|assembly-line]] fashion. The various alternative techniques are not mutually exclusive—they can be (and frequently are) combined in a single processor. Thus a multicore CPU is possible where each core is an independent processor containing multiple parallel pipelines, each pipeline being superscalar. Some processors also include [[vector processor|vector]] capability.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)