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
Program counter
(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!
== Consequences in machine architecture == Use of a PC that normally increments assumes that what a computer does is execute a usually linear sequence of instructions. Such a PC is central to the [[von Neumann architecture]]. Thus programmers write a sequential [[control flow]] even for algorithms that do not have to be sequential. The resulting β[[von Neumann bottleneck]]β led to research into [[parallel computing]],<ref name="Chambers_1984" /> including non-von Neumann or [[dataflow]] models that did not use a PC; for example, rather than specifying sequential steps, the high-level programmer might specify desired [[functional programming|function]] and the low-level programmer might specify this using [[combinatory logic]]. This research also led to ways to making conventional, PC-based, CPUs run faster, including: * [[Pipeline (computing)|Pipelining]], in which different hardware in the CPU executes different phases of multiple instructions simultaneously. * The [[very long instruction word]] (VLIW) architecture, where a single instruction can achieve multiple effects. * Techniques to predict [[out-of-order execution]] and prepare subsequent instructions for execution outside the regular sequence.
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)