Meta tags:
Headings (most frequently used words):
edit, execution, navigation, tools, speculative, contents, overview, variants, related, concepts, security, vulnerabilities, see, also, references, menu, eager, predictive, lazy, personal, namespaces, views, search, contribute, print, export, languages,
Text of the page (most frequently used words):
#execution (38), the (31), speculative (23), and (17), bit (16), unit (15), memory (14), branch (14), edit (12), processor (11), instruction (10), processing (10), machine (10), register (9), architecture (9), wikipedia (8), this (8), with (8), computer (8), per (8), cache (8), prediction (8), eager (8), from (7), retrieved (7), security (7), performance (7), data (7), spectre (7), lazy (7), are (7), 2022 (6), article (6), articles (6), for (6), system (6), vulnerabilities (6), variant (6), september (5), related (5), not (5), chip (5), power (5), quantum (5), cpu (5), buffer (5), control (5), instructions (5), turing (5), also (5), resources (5), needed (5), that (5), may (4), page (4), was (4), concurrency (4), org (4), hardware (4), digital (4), management (4), decoder (4), program (4), predictor (4), load (4), store (4), core (4), second (4), order (4), out (4), automaton (4), value (4), haskell (4), optimistic (4), evaluation (4), january (4), isbn (4), research (4), see (4), known (4), executed (4), work (4), about (3), available (3), pdf (3), cite (3), file (3), changes (3), tools (3), random (3), main (3), navigation (3), history (3), all (3), bare (3), urls (3), citations (3), science (3), array (3), microprocessor (3), clock (3), dynamic (3), signal (3), address (3), counter (3), logic (3), systems (3), package (3), pipelined (3), multithreading (3), risc (3), pipeline (3), mips (3), access (3), cellular (3), bypass (3), variants (3), august (3), journal (3), 2011 (3), 540 (3), language (3), predictive (3), form (3), where (3), predicted (3), documentation (3), mobile (2), view (2), contact (2), privacy (2), policy (2), terms (2), using (2), non (2), use (2), links (2), english (2), languages (2), wikidata (2), link (2), special (2), upload (2), learn (2), help (2), current (2), contents (2), search (2), more (2), read (2), talk (2), categories (2), covered (2), wikiproject (2), wikify (2), short (2), description (2), https (2), speculative_execution (2), module (2), ppw (2), watt (2), voltage (2), scaling (2), integrated (2), barrel (2), datapath (2), microcode (2), stack (2), target (2), floating (2), point (2), heterogeneous (2), multi (2), count (2), others (2), word (2), network (2), gpu (2), graphics (2), coprocessor (2), application (2), vector (2), types (2), task (2), superscalar (2), pipelining (2), level (2), dependence (2), visc (2), isa (2), series (2), computing (2), set (2), architectures (2), hierarchy (2), dataflow (2), stored (2), machines (2), finite (2), state (2), transient (2), bug (2), spoiler (2), rogue (2), meltdown (2), pacman (2), microarchitectural (2), sampling (2), injection (2), foreshadow (2), bounds (2), check (2), 2006 (2), 2003 (2), microsoft (2), 2019 (2), 2018 (2), springer (2), 978 (2), vol (2), corporation (2), computation (2), 1992 (2), programming (2), france (2), database (2), schemes (2), references (2), include (2), implementations (2), common (2), which (2), made (2), case (2), concepts (2), some (2), path (2), true (2), however (2), has (2), conditional (2), results (2), would (2), provide (2), employed (2), when (2), overview (2), technique (2), after (2), optimization (2), citation (2), jump (2), http (2), web (2), sep (2), cookie, statement, statistics, developers, disclaimers, text, under, additional, apply, site, you, agree, registered, trademark, profit, organization, wikimedia, foundation, inc, creative, commons, attribution, sharealike, license, last, edited, utc, українська, српски, srpski, simple, русский, polski, norsk, bokmål, 日本語, nederlands, lombard, italiano, français, español, deutsch, čeština, العربية, printable, version, download, print, export, item, information, permanent, pages, what, here, recent, community, portal, contribute, donate, events, views, namespaces, log, create, account, contributions, logged, personal, menu, hidden, needing, cleanup, matches, cs1, errors, missing, periodical, index, php, title, oldid, 1112597353, carrier, pin, grid, tick, tock, model, semiconductor, device, fabrication, electronics, design, chronology, general, purpose, cpus, gating, frequency, acpi, apm, pmu, switch, analog, boolean, mixed, circuit, circuitry, shifter, sum, addressed, binary, multiplier, adder, demultiplexer, multiplexer, horizontal, rom, write, hardwired, status, registers, gate, glue, sequential, combinational, imc, controller, mmu, tlb, translation, lookaside, fpu, agu, generation, alu, arithmetic, functional, units, fifo, rate, bus, coherence, replacement, policies, scratchpad, components, manycore, single, variable, slicing, 512, 256, 128, size, baseband, secure, cryptoprocessor, tpu, tensor, dsp, ppu, physics, vpu, vision, image, accelerator, accelerators, noc, psoc, programmable, mpsoc, multiprocessor, soc, soft, asip, ultra, low, notebook, microcontroller, embedded, pop, sip, mcm, cpld, fpoa, fpga, asic, pal, tile, stream, gpgpu, central, orders, magnitude, metrics, sups, synaptic, updates, tps, transactions, flops, operations, ips, ipc, cpi, cycles, cycle, transistor, spmd, mimd, misd, swar, associative, simt, simd, sisd, flynn, taxonomy, cooperative, preemptive, hyperthreading, simultaneous, temporal, distributed, process, thread, scalar, serial, parallelism, wide, issue, renaming, reservation, station, tomasulo, algorithm, scoreboarding, false, sharing, structural, dependency, hazards, classic, operand, forwarding, stall, epiphany, tilera, 3x0, 390, 370, 360, lmc, microblaze, openrisc, itanium, unicore, m32r, etrax, cris, dec, alpha, superh, sparc, clipper, powerpc, stanford, arm, x86, pdp, vax, motorola, 68000, sets, addressing, modes, comparison, zisc, nisc, oisc, misc, epic, vliw, trips, edge, specific, cisc, orthogonal, neuromorphic, cognitive, multiprocessing, fabric, secondary, storage, virtual, huma, numa, endianness, transport, triggered, modified, harvard, von, neumann, microarchitecture, pointer, belt, zeno, hypercomputation, probabilistic, nondeterministic, post, universal, alternating, queue, deterministic, hierarchical, abstract, models, technologies, side, channel, attack, topics, retbleed, restore, mail, pipermail, 018424, html, requires, jones, simon, peyton, ennals, robert, via, www, com, fast, strategy, strict, programs, mark, hill, gourindar, sohi, 2000, morgan, kaufman, 9781558605398, readings, norman, jouppi, jurij, šilc, borut, robič, theo, ungerer, 1999, 150, 64798, 148, beyond, randy, osborne, 1990, lecture, notes, 441, 103, 137, 52782, 1007, bfb0024152, doi, equipment, lab, parallel, lisp, multilisp, bernd, krieg, brückner, 55253, esop, 4th, european, symposium, rennes, february, proceedings, john, robinson, june, 1981, original, archived, acm, trans, syst, methods, kung, international, business, division, prabhakar, raghavan, hadas, schachnai, mira, yaniv, 1998, ibm, code, opodis, bordeaux, december, butler, lampson, slipstream, these, starting, 2017, were, found, effectively, enabled, elevation, privileges, opposite, does, involve, speculation, incorporation, into, topic, designed, around, idea, phd, thesis, support, kind, abortion, mechanism, back, bad, choice, called, deemed, too, complicated, ghc, outcome, proceeds, along, until, actual, result, allowed, commit, there, misprediction, unrolled, forms, generalized, sometimes, referred, predictors, both, sides, committed, only, predicate, unlimited, theory, same, perfect, limited, should, carefully, since, number, grows, each, eagerly, exponentially, oracle, earlier, concept, modern, reduce, cost, predict, based, executions, improve, utilization, can, scheduled, time, yet, been, determined, will, need, ahead, microprocessors, objective, extra, approach, variety, areas, including, exploiting, locality, prefetching, files, processors, performs, done, before, whether, actually, prevent, delay, have, incurred, doing, turns, most, reverted, ignored, how, remove, template, message, please, consider, converting, them, ensure, remains, maintains, consistent, style, assist, formatting, such, bot, refill, reflinks, several, templates, verifiable, full, uses, uninformative, vulnerable, rot, free, encyclopedia, wayback, archive, 20221017062212, wiki, timestamps, capture, fail, success, 2023, 2021, nov, oct, 2004, 2026, 525, captures,
Text of the page (random words):
speculative execution wikipedia 525 captures 10 may 2004 01 sep 2026 sep oct nov 17 2021 2022 2023 success fail about this capture timestamps the wayback machine http web archive org web 20221017062212 http en wikipedia org wiki speculative_execution speculative execution from wikipedia the free encyclopedia jump to navigation jump to search optimization technique this article uses bare urls which are uninformative and vulnerable to link rot please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style several templates and tools are available to assist in formatting such as reflinks documentation refill documentation and citation bot documentation september 2022 learn how and when to remove this template message speculative execution is an optimization technique where a computer system performs some task that may not be needed work is done before it is known whether it is actually needed so as to prevent a delay that would have to be incurred by doing the work after it is known that it is needed if it turns out the work was not needed after all most changes made by the work are reverted and the results are ignored the objective is to provide more concurrency if extra resources are available this approach is employed in a variety of areas including branch prediction in pipelined processors value prediction for exploiting value locality prefetching memory and files and optimistic concurrency control in database systems 1 2 3 speculative multithreading is a special case of speculative execution contents 1 overview 2 variants 2 1 eager execution 2 2 predictive execution 3 related concepts 3 1 lazy execution 4 security vulnerabilities 5 see also 6 references overview edit modern pipelined microprocessors use speculative execution to reduce the cost of conditional branch instructions using schemes that predict the execution path of a program based on the history of branch executions 2 in order to improve performance and utilization of computer resources instructions can be scheduled at a time when it has not yet been determined that the instructions will need to be executed ahead of a branch 4 variants edit speculative computation was a related earlier concept 5 eager execution edit see also eager evaluation eager execution is a form of speculative execution where both sides of the conditional branch are executed however the results are committed only if the predicate is true with unlimited resources eager execution also known as oracle execution would in theory provide the same performance as perfect branch prediction with limited resources eager execution should be employed carefully since the number of resources needed grows exponentially with each level of branch executed eagerly 6 predictive execution edit see also pipeline computing main article branch predictor predictive execution is a form of speculative execution where some outcome is predicted and execution proceeds along the predicted path until the actual result is known if the prediction is true the predicted execution is allowed to commit however if there is a misprediction execution has to be unrolled and re executed common forms of this include branch predictors and memory dependence prediction a generalized form is sometimes referred to as value prediction 7 related concepts edit lazy execution edit main article lazy evaluation lazy execution is the opposite of eager execution and does not involve speculation the incorporation of speculative execution into implementations of the haskell programming language a lazy language is a current research topic eager haskell a variant of the language is designed around the idea of speculative execution a 2003 phd thesis made ghc support a kind of speculative execution with an abortion mechanism to back out in case of a bad choice called optimistic execution 8 it was deemed too complicated 9 security vulnerabilities edit starting in 2017 a series of security vulnerabilities were found in the implementations of speculative execution on common processor architectures which effectively enabled an elevation of privileges these include foreshadow meltdown microarchitectural data sampling spectre spoiler pacman see also edit branch predictor out of order execution slipstream computer science speculative multithreading hardware security bug transient execution cpu vulnerabilities references edit lazy and speculative execution butler lampson microsoft research opodis bordeaux france 12 december 2006 a b international business machines corporation research division prabhakar raghavan hadas schachnai mira yaniv 1998 dynamic schemes for speculative execution of code ibm retrieved 18 january 2011 kung h t john t robinson june 1981 on optimistic methods for concurrency control pdf acm trans database syst vol 6 archived pdf from the original on august 31 2019 bernd krieg brückner 1992 esop 92 4th european symposium on programming rennes france february 26 28 1992 proceedings springer pp 56 57 isbn 978 3 540 55253 6 retrieved 18 january 2011 randy b osborne 1990 03 21 speculative computation in multilisp parallel lisp languages and systems ps lecture notes in computer science vol 441 digital equipment corporation research lab pp 103 137 doi 10 1007 bfb0024152 isbn 3 540 52782 6 retrieved 2018 01 26 jurij šilc borut robič theo ungerer 1999 processor architecture from dataflow to superscalar and beyond springer pp 148 150 isbn 978 3 540 64798 0 retrieved 21 january 2011 mark d hill norman p jouppi gourindar s sohi 2000 readings in computer architecture morgan kaufman isbn 9781558605398 retrieved 5 january 2018 jones simon peyton ennals robert 1 august 2003 optimistic evaluation a fast evaluation strategy for non strict programs retrieved 15 may 2019 via www microsoft com cite journal cite journal requires journal help https mail haskell org pipermail haskell 2006 august 018424 html v t e speculative execution security vulnerabilities variants bounds check bypass spectre variant 1 bounds check bypass store spectre ng branch target injection spectre variant 2 foreshadow lazy fp state restore spectre ng load value injection microarchitectural data sampling pacman retbleed rogue data cache load meltdown variant 3 rogue system register read spectre ng variant 3a speculative store bypass spectre ng variant 4 spoiler topics cache side channel attack hardware security bug speculative execution transient execution cpu vulnerabilities v t e processor technologies models abstract machine stored program computer finite state machine with datapath hierarchical deterministic finite automaton queue automaton cellular automaton quantum cellular automaton turing machine alternating turing machine universal post turing quantum nondeterministic turing machine probabilistic turing machine hypercomputation zeno machine belt machine stack machine register machines counter pointer random access random access stored program architecture microarchitecture von neumann harvard modified dataflow transport triggered cellular endianness memory access numa huma load store register memory cache hierarchy memory hierarchy virtual memory secondary storage heterogeneous fabric multiprocessing cognitive neuromorphic instruction set architectures types orthogonal instruction set cisc risc application specific edge trips vliw epic misc oisc nisc zisc visc architecture quantum computing comparison addressing modes instruction sets motorola 68000 series vax pdp 11 x86 arm stanford mips mips mips x power power powerpc power isa clipper architecture sparc superh dec alpha etrax cris m32r unicore itanium openrisc risc v microblaze lmc system 3x0 s 360 s 370 s 390 z architecture tilera isa visc architecture epiphany architecture others execution instruction pipelining pipeline stall operand forwarding classic risc pipeline hazards data dependency structural control false sharing out of order scoreboarding tomasulo algorithm reservation station re order buffer register renaming wide issue speculative branch prediction memory dependence prediction parallelism level bit bit serial word instruction pipelining scalar superscalar task thread process data vector memory distributed multithreading temporal simultaneous hyperthreading speculative preemptive cooperative flynn s taxonomy sisd simd array processing simt pipelined processing associative processing swar misd mimd spmd processor performance transistor count instructions per cycle ipc cycles per instruction cpi instructions per second ips floating point operations per second flops transactions per second tps synaptic updates per second sups performance per watt ppw cache performance metrics computer performance by orders of magnitude types central processing unit cpu graphics processing unit gpu gpgpu vector barrel stream tile processor coprocessor pal asic fpga fpoa cpld multi chip module mcm system in a package sip package on a package pop by application embedded system microprocessor microcontroller mobile notebook ultra low voltage asip soft microprocessor systems on chip system on a chip soc multiprocessor mpsoc programmable psoc network on a chip noc hardware accelerators coprocessor ai accelerator graphics processing unit gpu image processor vision processing unit vpu physics processing unit ppu digital signal processor dsp tensor processing unit tpu secure cryptoprocessor network processor baseband processor word size 1 bit 4 bit 8 bit 12 bit 15 bit 16 bit 24 bit 32 bit 48 bit 64 bit 128 bit 256 bit 512 bit bit slicing others variable core count single core multi core manycore heterogeneous architecture components core cache cpu cache scratchpad memory data cache instruction cache replacement policies coherence bus clock rate clock signal fifo functional units arithmetic logic unit alu address generation unit agu floating point unit fpu memory management unit mmu load store unit translation lookaside buffer tlb branch predictor branch target predictor integrated memory controller imc memory management unit instruction decoder logic combinational sequential glue logic gate quantum array registers processor register status register stack register register file memory buffer memory address register program counter control unit hardwired control unit instruction unit data buffer write buffer microcode rom horizontal microcode counter datapath multiplexer demultiplexer adder multiplier cpu binary decoder address decoder sum addressed decoder barrel shifter circuitry integrated circuit 3d mixed signal power management boolean digital analog quantum switch power management pmu apm acpi dynamic frequency scaling dynamic voltage scaling clock gating performance per watt ppw related history of general purpose cpus microprocessor chronology processor design digital electronics hardware security module semiconductor device fabrication tick tock model pin grid array chip carrier retrieved from https en wikipedia org w index php title speculative_execution oldid 1112597353 categories speculative execution instruction processing concurrency computer science hidden categories cs1 errors missing periodical articles with short description short description matches wikidata articles needing cleanup from september 2022 articles with bare urls for citations from september 2022 all articles with bare urls for citations articles covered by wikiproject wikify from september 2022 all articles covered by wikiproject wikify navigation menu personal tools not logged in talk contributions create account log in namespaces article talk english views read edit view history more search navigation main page contents current events random article about wikipedia contact us donate contribute help learn to edit community portal recent changes upload file tools what links here related changes upload file special pages permanent link page information cite this page wikidata item print export download as pdf printable version languages العربية čeština deutsch español français italiano lombard nederlands 日本語 norsk bokmål polski русский simple english српски srpski українська 中文 edit links this page was last edited on 27 september 2022 at 02 56 utc text is available under the creative commons attribution sharealike license 3 0 additional terms may apply by using this site you agree to the terms of use and privacy policy wikipedia is a registered trademark of the wikimedia foundation inc a non profit organization privacy policy about wikipedia disclaimers contact wikipedia mobile view developers statistics cookie statement
|