Meta tags:
Headings (most frequently used words):
edit, 64, implementations, mode, operating, x86, amd64, intel, and, system, navigation, history, address, space, details, bsd, tools, contents, via, implementation, microarchitecture, levels, differences, between, adoption, compatibility, characteristics, video, game, consoles, industry, naming, conventions, licensing, see, also, notes, references, external, links, menu, architectural, features, virtual, physical, modes, recent, older, dos, linux, macos, solaris, windows, personal, namespaces, views, search, contribute, print, export, languages, canonical, form, addresses, page, table, structure, limits, long, legacy, dragonfly, freebsd, netbsd, openbsd, protected, real,
Text of the page (most frequently used words):
the (553), bit (269), and (268), from (146), mode (142), intel (123), x86 (120), original (105), retrieved (95), archived (95), for (92), amd64 (85), #architecture (79), with (70), address (70), windows (69), amd (68), this (55), that (53), system (51), space (51), may (50), kernel (50), virtual (48), processors (46), not (45), edit (44), operating (44), are (42), pdf (40), also (39), was (38), used (37), bits (35), instruction (35), microsoft (33), use (32), long (32), which (32), run (32), 2010 (31), can (31), code (31), processor (31), september (30), all (30), support (30), applications (30), page (29), 2021 (28), linux (28), june (27), 2013 (27), physical (26), via (26), registers (26), november (25), 2009 (24), july (23), january (23), versions (23), only (23), march (22), instructions (22), 2012 (22), october (21), memory (21), systems (21), compatibility (21), x64 (21), first (21), august (20), set (20), implementations (20), version (19), extensions (19), has (19), their (18), implementation (18), december (17), new (17), level (17), april (16), server (16), 2008 (16), 2011 (16), while (16), both (16), real (16), under (15), protected (15), addressing (15), than (15), supports (15), 2004 (15), pentium (15), such (15), legacy (15), user (15), 2020 (14), core (14), software (14), when (14), running (14), 2014 (14), features (14), name (14), size (14), available (13), 2017 (13), 2016 (13), dos (13), february (13), general (13), addresses (13), xeon (13), but (13), some (13), using (12), articles (12), full (12), x86_64 (12), one (12), have (12), mac (12), programs (12), register (12), most (12), allows (12), table (12), time (11), 2018 (11), developer (11), application (11), release (11), purpose (11), will (11), however (11), since (11), modes (11), these (11), released (11), bytes (11), file (10), current (10), more (10), 2003 (10), technology (10), limits (10), larger (10), based (10), apple (10), performance (10), manual (10), cpu (10), corporation (10), pae (10), data (10), any (10), 128 (10), wikipedia (9), 2005 (9), series (9), 2006 (9), 2019 (9), port (9), either (9), architectures (9), opteron (9), microarchitecture (9), levels (9), does (9), its (9), other (9), two (9), they (9), execute (9), 8086 (9), ram (9), 256 (9), number (9), 2022 (8), recent (8), example (8), limit (8), edition (8), macos (8), athlon (8), cmpxchg16b (8), volume (8), stack (8), interface (8), power (8), sse2 (8), details (8), limited (8), were (8), bsd (8), into (8), licensing (8), openbsd (8), introduced (8), still (8), like (8), segment (8), feature (8), implemented (8), executables (8), default (8), later (8), machines (8), canonical (8), additional (7), org (7), com (7), early (7), differences (7), same (7), 2007 (7), hardware (7), programming (7), large (7), abi (7), native (7), include (7), supercomputer (7), cpus (7), extended (7), family (7), therefore (7), there (7), solaris (7), see (7), those (7), must (7), implement (7), netbsd (7), firmware (7), would (7), x87 (7), point (7), libraries (7), supported (7), been (7), allow (7), vector (7), operations (7), operand (7), sets (7), form (7), about (6), non (6), tools (6), history (6), different (6), releases (6), including (6), between (6), access (6), option (6), editions (6), debian (6), work (6), fpu (6), future (6), computing (6), top500 (6), machine (6), specification (6), free (6), low (6), isaiah (6), project (6), operation (6), increased (6), architectural (6), emulation (6), prior (6), named (6), several (6), distributions (6), many (6), similar (6), even (6), pointers (6), extension (6), pointer (6), integer (6), inc (5), links (5), statements (5), contain (5), technologies (5), program (5), em64t (5), 2015 (5), xbox (5), playstation (5), need (5), professional (5), x32 (5), reference (5), paging (5), lahf (5), stepping (5), update (5), revision (5), list (5), binary (5), required (5), them (5), although (5), order (5), existing (5), refers (5), freebsd (5), itanium (5), compiled (5), state (5), cannot (5), wide (5), 512 (5), aware (5), characteristics (5), out (5), just (5), allowing (5), format (5), without (5), being (5), requires (5), older (5), floating (5), prefix (5), four (5), models (5), take (5), 120 (5), precision (5), developers (4), information (4), link (4), article (4), talk (4), containing (4), computers (4), platforms (4), porting (4), report (4), video (4), extending (4), 2001 (4), cross (4), source (4), term (4), chips (4), launch (4), game (4), guide (4), documentation (4), availability (4), compiler (4), lock (4), section (4), product (4), sahf (4), virtualization (4), red (4), hat (4), nano (4), line (4), prescott (4), supermicro (4), bios (4), 2000 (4), benefit (4), wow64 (4), gentoo (4), arch (4), model (4), post (4), should (4), various (4), patents (4), command (4), refer (4), development (4), components (4), compatible (4), entry (4), indicate (4), created (4), well (4), instead (4), made (4), started (4), ability (4), types (4), because (4), higher (4), starting (4), backward (4), possible (4), lacks (4), added (4), had (4), fully (4), provide (4), risc (4), needed (4), note (4), atom (4), previous (4), sse (4), through (4), times (4), design (4), after (4), implementing (4), did (4), supporting (4), operands (4), bootloader (4), uefi (4), entire (4), half (4), arithmetic (4), cores (4), mobile (3), you (3), pages (3), changes (3), what (3), here (3), navigation (3), read (3), unsourced (3), research (3), failed (3), verification (3), description (3), wayback (3), avx (3), how (3), enter (3), way (3), protection (3), archive (3), isa (3), anandtech (3), agreement (3), tree (3), www (3), blog (3), tech (3), comparison (3), docs (3), jet (3), driver (3), handle (3), visual (3), ars (3), technica (3), notes (3), sites (3), andi (3), kleen (3), phi (3), coprocessor (3), change (3), notification (3), launched (3), mailing (3), install (3), needs (3), ibm (3), migration (3), programmer (3), vmware (3), practice (3), press (3), idf (3), web (3), yamhill (3), motherboards (3), market (3), 1999 (3), unlike (3), oracle (3), date (3), generally (3), modern (3), names (3), industry (3), internally (3), sun (3), techniques (3), dragonfly (3), fedora (3), directory (3), completely (3), written (3), thread (3), case (3), mmx (3), defined (3), control (3), thus (3), segments (3), though (3), segmented (3), per (3), removal (3), drivers (3), linked (3), boot (3), following (3), increase (3), uses (3), lacked (3), process (3), referred (3), store (3), base (3), manner (3), calls (3), sparc (3), single (3), kernels (3), individual (3), faster (3), currently (3), itself (3), expected (3), works (3), initial (3), platform (3), included (3), done (3), official (3), years (3), subset (3), incompatible (3), algorithms (3), cmpxchg8b (3), privilege (3), fxsave (3), differently (3), top (3), specific (3), zero (3), destination (3), citation (3), each (3), designed (3), fast (3), began (3), submode (3), could (3), integers (3), primary (3), 80286 (3), known (3), rather (3), 131 (3), 00000000 (3), addition (3), significant (3), ffffffff (3), capabilities (3), xmm (3), followed (3), modified (3), statistics (2), view (2), contact (2), privacy (2), policy (2), terms (2), apply (2), license (2), simple (2), english (2), download (2), wikidata (2), cite (2), special (2), upload (2), related (2), random (2), contents (2), main (2), search (2), log (2), categories (2), vague (2), ambiguous (2), clarification (2), potentially (2), dated (2), short (2), cs1 (2), maint (2), unfit (2), url (2), advanced (2), micro (2), computer (2), https (2), aes (2), bmi1 (2), fma (2), f16c (2), 3dnow (2), high (2), obsolete (2), xilinx (2), agesa (2), paper (2), almost (2), practical (2), transition (2), gnu (2), tweaks (2), second (2), documents (2), external (2), smith (2), gets (2), billion (2), settlement (2), patent (2), processorarchitecture (2), fields (2), live (2), expect (2), making (2), largeaddressaware (2), linker (2), studio (2), center (2), sp1 (2), news (2), speed (2), solution (2), john (2), leopard (2), review (2), google (2), packages (2), faq (2), userland (2), dragonflybsd (2), summer (2), src (2), sys (2), atomic (2), powers (2), world (2), limitations (2), introduction (2), 3rd (2), gen (2), scalable (2), tom (2), linear (2), michael (2), 0f47h (2), dual (2), extreme (2), forced (2), flag (2), requirements (2), why (2), wait (2), segmentation (2), weimer (2), florian (2), enterprise (2), dev (2), craig (2), barrett (2), published (2), assigned (2), 10h (2), runs (2), websphere (2), above (2), layer (2), installers (2), allowed (2), darwin (2), wiki (2), references (2), ship (2), conversion (2), material (2), defines (2), receive (2), materials (2), upon (2), initially (2), before (2), others (2), now (2), microsystems (2), 32e (2), developed (2), entered (2), files (2), value (2), opposed (2), installation (2), rom (2), contrast (2), ubuntu (2), products (2), vendor (2), naming (2), conventions (2), respectively (2), incorporate (2), zen (2), jaguar (2), consoles (2), compile (2), anycpu (2), behave (2), save (2), restore (2), behavior (2), descriptor (2), structures (2), block (2), due (2), device (2), within (2), vista (2), offered (2), reduce (2), recompiled (2), 3gb (2), lack (2), 4096 (2), fold (2), over (2), primarily (2), benefits (2), heaps (2), paged (2), pool (2), total (2), subject (2), provided (2), offer (2), actually (2), much (2), sold (2), image (2), contains (2), dvd (2), selected (2), universal (2), includes (2), add (2), gui (2), frameworks (2), powerpc (2), approximately (2), provides (2), permits (2), retaining (2), another (2), suse (2), unless (2), extender (2), capability (2), executable (2), granularity (2), standard (2), then (2), during (2), arm (2), along (2), enabled (2), replace (2), alpha (2), adoption (2), difference (2), netburst (2), switch (2), useful (2), alternative (2), prevents (2), having (2), executed (2), sysret (2), rev (2), enable (2), raise (2), exception (2), fld (2), override (2), sign (2), offset (2), sub (2), sysexit (2), sysenter (2), syscall (2), msrs (2), considered (2), microcode (2), implements (2), upper (2), undefined (2), unmodified (2), few (2), mainly (2), compilers (2), least (2), found (2), movbe (2), lzcnt (2), circa (2), sse3 (2), popcnt (2), cmov (2), baseline (2), three (2), exposed (2), generation (2), par (2), ranging (2), predecessors (2), five (2), codenamed (2), unveiled (2), merom (2), nocona (2), celeron (2), oregon (2), river (2), originally (2), announced (2), position (2), traditional (2), style (2), operate (2), penalty (2), where (2), advantage (2), creating (2), 0x66 (2), interacting (2), type (2), usable (2), given (2), hierarchy (2), sizes (2), entries (2), mapping (2), map (2), structure (2), addressed (2), lower (2), regions (2), effect (2), grows (2), become (2), unused (2), etc (2), tagged (2), cost (2), translation (2), remain (2), saving (2), restoring (2), far (2), attempt (2), write (2), make (2), buffer (2), double (2), makes (2), streaming (2), simd (2), relative (2), often (2), compared (2), gprs (2), internal (2), rax (2), logical (2), improvements (2), phenom (2), turion (2), amounts (2), expands (2), numbers (2), york (2), city (2), bus (2), jump (2), sep (2), cookie, statement, disclaimers, text, site, agree, registered, trademark, profit, organization, wikimedia, foundation, creative, commons, attribution, sharealike, last, edited, utc, tiếng, việt, українська, türkçe, ไทย, svenska, српски, srpski, slovenščina, slovenčina, русский, română, polski, norsk, bokmål, 日本語, nederlands, bahasa, melayu, മലയാളം, magyar, עברית, italiano, हिन्दी, 한국어, français, فارسی, español, ελληνικά, eesti, deutsch, dansk, čeština, العربية, languages, printable, print, export, item, permanent, community, portal, learn, help, contribute, donate, events, views, namespaces, create, account, contributions, logged, personal, menu, hidden, needing, mdy, dates, webarchive, template, devices, introductions, index, php, title, oldid, 1111485688, asf, sse5, tbm, abm, bmi, fma3, fma4, cvt16, xop, virtex, wraith, astc, turbo, powertune, powerplay, powernow, bandwidth, cool, quiet, horus, dragon, spider, gpuopen, rocm, vivado, ise, amdgpu, radeon, seven, steps, migrating, turboirc, tutorials, examples, raw, network, andreas, jaeger, excellent, explaining, aspects, gcc, summit, ia32e, analyst, reverse, engineered, enhanced, virus, technical, architect, speaker, guides, manuals, ryan, settle, fabless, stephen, shankland, jonathan, skillings, cnet, pay, antitrust, 6732258, 6889312, 6877084, displaying, usage, cutress, ian, hot, 00pm, indian, express, sony, informer, spec, test, anand, lal, shimpi, analysis, office, kb957570, ole, provider, odbc, sql, guidelines, behind, chris, amand, move, everything, know, start, matt, pietrek, tells, gigabytes, options, administration, pack, raises, thomases, ken, win32, codeweavers, don, catalina, yet, siracusa, llc, snow, v10, macs, xcode, linuxplumbersconf, thorsten, leemhuis, online, around, drawbacks, multilib, i686, chroot, arch64, describing, back, simulators, status, tool, chain, boots, simulator, tutorial, entering, release24, accepted, students, googlesoc2008, cvs, commit, genassym, asm, bootinfo, coredump, cpufunc, elf, endian, exec, float, frame, globaldata, ieeefp, md_var, param, pcb, pcb_ext, pmap, proc, profile, psl, fastest, reveals, phitm, sublist, generator, huaisheng, lenovo, logan, 3960x, increases, vol, larabel, phoronix, preparing, 104101, debuted, 0f48h, 105271, tony, ghz, ne80551kg0724mm, bx80551kg2800ha, 800, sequence, 840, 105224, petkov, borislav, patch, clear, incorrectly, x86_feature_lahf_lm, your, prefetchw, darwou, old, thing, 4gb, anyway, maged, cas, 412, 419, pagetable, retiring, broke, 400, 397, discussion, overflow, wasson, scott, theory, gitlab, psabi, repo, building, llvm, launches, stokes, jon, revealed, digitimes, subscription, 1q08, lapedus, mark, aspencore, media, edn, demo, roundup, internetnews, inquirer, confirms, neowin, continuing, american, megatrends, ami, archives, amibios, efi, mitec, international, tyan, matrix, 8000, xeonsolutions, 6100, larry, seiler, 64kb, 4kb, issued, corp, 9858198, ept, msdn, shanley, 1998, addison, wesley, 201, 30973, isbn, 445, pro, myth, facts, bkdg, part, mauerer, wiley, sons, enables, driven, discloses, microporcessor, forum, figures, show, emulate, mentioned, demystified, raymond, chen, come, certain, class, kevin, van, vechten, standardized, mach, xnu, bug, commands, reported, 0f49h, sample, document, says, samples, whereas, projected, customer, customers, prepared, converted, workaround, effectively, acme, silently, substituting, installshield, finally, settling, notably, oss, transient, execution, vulnerability, generic, encapsulated, solely, holds, licensed, settled, lawsuits, disagreements, agreements, 115, 114, 113, 112, 111, 110, 109, haiku, breaking, seen, terminal, opensuse, collection, 108, jdk, java, kit, identifies, isalist, moniker, designate, processor_architecture, i386, 107, environment, variable, midnightbsd, especially, confused, substantially, neutral, designation, sometimes, variant, companies, contraction, marketing, next, generations, 106, 105, variants, games, involved, 104, 103, target, counterparts, managed, ported, 102, 101, 100, objects, database, engine, reports, claimed, scheduler, across, context, switches, observed, shows, saved, restored, except, threads, limitation, exists, states, deprecated, cause, problems, nt_tib, region, kpcr, member, maintaining, convention, easier, retain, function, really, win16, subsystem, ntvdm, relied, int, derived, llp64, 192, dynamic, furthermore, optional, dll, exe, spaces, cache, accessible, backing, client, build, 3790, 1830, share, binaries, updates, unified, labeled, manually, determine, isainfo, illumos, package, library, appropriate, automatically, load, longer, presented, problem, commercial, able, termed, bring, nominally, thunks, wine32on64, crossover, winehq, continues, x11, opengl, quartz, cocoa, posix, math, processes, decreases, footprint, cases, preceding, users, installing, off, alongside, concurrent, slackware, mandriva, userlands, complex, adequate, backend, mass, storage, 4gw, return, call, interrupts, cloned, left, smp, symmetric, multiprocessing, complete, achieved, loaned, year, taken, easy, hackathon, committed, integrated, syscalls, heap, experimental, distribution, designated, tier, cleaned, quirks, integrate, preliminary, infrastructure, stalled, again, continued, soc, called, appeared, played, big, role, coprocessors, tianhe, knights, corner, gpgpu, fugaku, a64fx, fujitsu, tracked, appearance, previously, tried, unsuccessfully, supercomputers, area, chart, showing, representation, families, microprocessors, ranking, 1993, visible, isas, plans, expansion, sandy, bridge, ice, lake, potomac, 0f41h, revisions, distinguished, sockets, present, octa, words, values, parallel, common, workarounds, approaches, absence, critical, compare, swap, 80486, am2, ddr2, ddr, returning, fault, handler, ever, reintroduced, lmsle, ease, guests, reduced, involving, fxrstor, invalid, performing, signalling, nan, fstp, near, branches, 66h, ignores, truncated, field, clears, top_mem2, top_mem, syscfg, unchanged, act, leaves, silicon, behaviour, separate, claim, maybe, preserving, hasn, verified, ruled, skylake, microarchitectures, bsr, bsf, nearly, identical, semantics, seldom, situations, produce, avoid, ordinary, interest, deal, concerned, computation, excluded, rdrand, avx512vl, vpmullq, avx512dq, vplzcntd, avx512cd, vdbpsadbw, avx512bw, kmovw, avx512f, xgetbv, osxsave, vfmadd132pd, vcvtph2ps, bzhi, bmi2, andn, vpermd, avx2, vzeroall, haswell, excavator, gracemont, phaddd, ssse3, pcmpestri, sse4_2, blendpd, sse4_1, addsubpd, nehalem, eden, silvermont, qemu, cvtpi2pd, cvtss2si, sce, osfxsr, emms, fxsr, cx8, collaboration, define, targeted, programmers, optimizations, follows, boost, efficiency, appliances, twice, equivalent, consumption, built, unavailable, encryption, thermal, clock, esther, division, brand, centaur, intel64, 5x1, 506, 516, 3x1, 3x6, 355, 347, 352, 360, 365, 230, 330, d410, d425, d510, d525, n450, n455, n470, n475, n550, n570, n2600, n2800, 7200, celerons, none, earlier, notebook, duo, multi, socket, subsequently, selling, oem, adds, disable, mainstream, desktop, irwindale, changed, presumably, codename, weeks, referring, late, paralleling, clackamas, willamette, valley, denying, existence, indeed, underway, chairman, admitted, worst, kept, secrets, historically, produced, patterned, designs, roles, reversed, adopting, own, initialized, backwards, today, bootloaders, configure, transitioning, communicate, 8088, acts, maximum, 118, basic, executing, underlying, mean, slower, dedicated, guaranteed, optimization, regularly, wider, cryptographic, rewrite, handling, huge, recompile, intended, combination, combined, emulated, desired, diagram, below, 80386, normally, interpreted, changing, interfacing, unreal, latter, italics, place, amount, applicable, scheme, further, expanding, walks, allocation, superset, whole, 195, pml4, restricted, until, eases, scalability, true, themselves, leave, stacks, ensures, every, compliant, halves, starts, upwards, docked, downwards, enforcing, checking, flags, markers, problematic, copies, akin, requirement, met, complying, rule, 00007fff, ffff8000, 536, 130, planning, stages, foreseeable, simply, complexity, decided, lookup, diagrams, scale, underused, exist, retained, vestigial, extra, mechanism, modifications, proved, rarely, pusha, popa, decimal, bound, jumps, immediate, task, bypass, setting, specify, result, violation, difficult, malicious, unchecked, attacks, attribute, descriptors, overrun, adopted, supplement, scalar, offers, 8bit, 64bit, proliferation, ubiquitous, home, improvement, standards, presence, rip, loaded, efficient, shared, independent, extends, extend, means, very, operated, working, definition, raised, 117, get, direct, exchange, similarly, fewer, 168, 160, renaming, vliw, mips, increasing, eight, keep, local, variables, let, hold, frequently, accessed, constants, arguments, small, subroutines, passed, greater, extent, r15, r14, r13, r12, r11, r10, rdi, rsi, rbp, rsp, rbx, rdx, rcx, edi, esi, ebp, esp, ebx, edx, ecx, eax, expanded, directly, byte, strides, pushes, pops, notable, defining, characteristic, designers, took, opportunity, xlt, palermo, manila, epyc, ryzen, fusion, apu, sempron, variously, literature, radically, never, invited, contributing, party, kind, seemed, unlikely, positioned, beginning, evolutionary, approach, entirely, hewlett, packard, logo, distinct, formerly, company, follow, suit, coexisting, intervening, little, newer, achieve, vastly
Text of the page (random words):
its on the amount of ram that is usable or supported details on this point are given in the operating system compatibility and characteristics section of this article operating modes edit the architecture has two primary modes of operation long mode and legacy mode operating operating system required type of code being run size in bits no of general purpose registers mode sub mode addresses operands default in italics long mode 64 bit mode 64 bit os 64 bit uefi firmware or the previous two interacting via a 64 bit firmware s uefi interface 64 bit 64 8 16 32 64 16 compatibility mode bootloader or 64 bit os 32 bit 32 8 16 32 8 16 bit protected mode 16 8 16 32 8 legacy mode protected mode bootloader 32 bit os 32 bit uefi firmware or the latter two interacting via the firmware s uefi interface 32 bit 32 8 16 32 8 16 bit protected mode os 16 bit protected mode 16 8 16 32 m 1 8 virtual 8086 mode 16 bit protected mode or 32 bit os subset of real mode 16 8 16 32 m 1 8 unreal mode bootloader or real mode os real mode 16 20 32 8 16 32 m 1 8 real mode bootloader real mode os or any os interfacing with a firmware s bios interface 29 real mode 16 20 21 8 16 32 m 1 8 a b c d note that 16 bit code written for the 80286 and below does not use 32 bit operand instructions code written for the 80386 and above can use the operand size override prefix 0x66 normally this prefix is used by protected and long mode code for the purpose of using 16 bit operands as that code would be running in a code segment with a default operand size of 32 bits in real mode the default operand size is 16 bits so the 0x66 prefix is interpreted differently changing operand size to 32 bits state diagram of the x86 64 operating modes long mode edit main article long mode long mode is the architecture s intended primary mode of operation it is a combination of the processor s native 64 bit mode and a combined 32 bit and 16 bit compatibility mode it is used by 64 bit operating systems under a 64 bit operating system 64 bit programs run under 64 bit mode and 32 bit and 16 bit protected mode applications that do not need to use either real mode or virtual 8086 mode in order to execute at any time run under compatibility mode real mode programs and programs that use virtual 8086 mode at any time cannot be run in long mode unless those modes are emulated in software 11 11 however such programs may be started from an operating system running in long mode on processors supporting vt x or amd v by creating a virtual processor running in the desired mode since the basic instruction set is the same there is almost no performance penalty for executing protected mode x86 code this is unlike intel s ia 64 where differences in the underlying instruction set mean that running 32 bit code must be done either in emulation of x86 making the process slower or with a dedicated x86 coprocessor however on the x86 64 platform many x86 applications could benefit from a 64 bit recompile due to the additional registers in 64 bit code and guaranteed sse2 based fpu support which a compiler can use for optimization however applications that regularly handle integers wider than 32 bits such as cryptographic algorithms will need a rewrite of the code handling the huge integers in order to take advantage of the 64 bit registers legacy mode edit legacy mode is the mode that the processor is in when it is not in long mode 11 14 in this mode the processor acts like an older x86 processor and only 16 bit and 32 bit code can be executed legacy mode allows for a maximum of 32 bit virtual addressing which limits the virtual address space to 4 gb 11 14 24 118 64 bit programs cannot be run from legacy mode protected mode edit protected mode is made into a submode of legacy mode 11 14 it is the submode that 32 bit operating systems and 16 bit protected mode operating systems operate in when running on an x86 64 cpu 11 14 real mode edit real mode is the initial mode of operation when the processor is initialized and is a submode of legacy mode it is backwards compatible with the original intel 8086 and intel 8088 processors real mode is primarily used today by operating system bootloaders which are required by the architecture to configure virtual memory details before transitioning to higher modes this mode is also used by any operating system that needs to communicate with the system firmware with a traditional bios style interface 29 intel 64 edit intel 64 is intel s implementation of x86 64 used and implemented in various processors made by intel history edit historically amd has developed and produced processors with instruction sets patterned after intel s original designs but with x86 64 roles were reversed intel found itself in the position of adopting the isa that amd created as an extension to intel s own x86 processor line intel s project was originally codenamed yamhill 30 after the yamhill river in oregon s willamette valley after several years of denying its existence intel announced at the february 2004 idf that the project was indeed underway intel s chairman at the time craig barrett admitted that this was one of their worst kept secrets 31 32 intel s name for this instruction set has changed several times the name used at the idf was ct 33 presumably original research for clackamas technology another codename from an oregon river within weeks they began referring to it as ia 32e for ia 32 extensions and in march 2004 unveiled the official name em64t extended memory 64 technology in late 2006 intel began instead using the name intel 64 for its implementation paralleling amd s use of the name amd64 34 the first processor to implement intel 64 was the multi socket processor xeon code named nocona in june 2004 in contrast the initial prescott chips february 2004 did not enable this feature intel subsequently began selling intel 64 enabled pentium 4s using the e0 revision of the prescott core being sold on the oem market as the pentium 4 model f the e0 revision also adds execute disable xd intel s name for the nx bit to intel 64 and has been included in then current xeon code named irwindale intel s official launch of intel 64 under the name em64t at that time in mainstream desktop processors was the n0 stepping prescott 2m the first intel mobile processor implementing intel 64 is the merom version of the core 2 processor which was released on july 27 2006 none of intel s earlier notebook cpus core duo pentium m celeron m mobile pentium 4 implement intel 64 implementations edit intel s processors implementing the intel64 architecture include the pentium 4 f series 5x1 series 506 and 516 celeron d models 3x1 3x6 355 347 352 360 and 365 and all later celerons all models of xeon since nocona all models of pentium dual core processors since merom 2m the atom 230 330 d410 d425 d510 d525 n450 n455 n470 n475 n550 n570 n2600 and n2800 all versions of the pentium d pentium extreme edition core 2 core i9 core i7 core i5 and core i3 processors and the xeon phi 7200 series processors via s x86 64 implementation edit via technologies introduced their first implementation of the x86 64 architecture in 2008 after five years of development by its cpu division centaur technology 35 codenamed isaiah the 64 bit architecture was unveiled on january 24 2008 36 and launched on may 29 under the via nano brand name 37 the processor supports a number of via specific x86 extensions designed to boost efficiency in low power appliances it is expected that the isaiah architecture will be twice as fast in integer performance and four times as fast in floating point performance as the previous generation via esther at an equivalent clock speed power consumption is also expected to be on par with the previous generation via cpus with thermal design power ranging from 5 w to 25 w 38 being a completely new design the isaiah architecture was built with support for features like the x86 64 instruction set and x86 virtualization which were unavailable on its predecessors the via c7 line while retaining their encryption extensions microarchitecture levels edit in 2020 through a collaboration between amd intel red hat and suse three microarchitecture levels on top of the x86 64 baseline were defined x86 64 v2 x86 64 v3 and x86 64 v4 39 40 these levels define specific features that can be targeted by programmers to provide compile time optimizations the features exposed by each level are as follows 41 cpu microarchitecture levels level cpu features example instruction x86 64 baseline all x86 64 cpus cmov cmov cx8 cmpxchg8b fpu fld fxsr fxsave mmx emms osfxsr fxsave sce syscall sse cvtss2si sse2 cvtpi2pd x86 64 v2 circa 2009 nehalem and jaguar also qemu emulation atom silvermont 2013 via nano and eden c 2015 cmpxchg16b cmpxchg16b lahf sahf lahf popcnt popcnt sse3 addsubpd sse4_1 blendpd sse4_2 pcmpestri ssse3 phaddd x86 64 v3 circa 2015 haswell and excavator also atom gracemont 2021 avx vzeroall avx2 vpermd bmi1 andn bmi2 bzhi f16c vcvtph2ps fma vfmadd132pd lzcnt lzcnt movbe movbe osxsave xgetbv x86 64 v4 avx 512 s general purpose subset avx512f kmovw avx512bw vdbpsadbw avx512cd vplzcntd avx512dq vpmullq avx512vl n a all levels include features found in the previous levels instruction set extensions not concerned with general purpose computation including aes ni and rdrand are excluded from the level requirements differences between amd64 and intel 64 edit although nearly identical there are some differences between the two instruction sets in the semantics of a few seldom used machine instructions or situations which are mainly used for system programming 42 compilers generally produce executables i e machine code that avoid any differences at least for ordinary application programs this is therefore of interest mainly to developers of compilers operating systems and similar which must deal with individual and special system instructions recent implementations edit intel 64 s bsf and bsr instructions act differently than amd64 s when the source is zero and the operand size is 32 bits the processor sets the zero flag and leaves the upper 32 bits of the destination undefined citation needed note that intel documents that the destination register has an undefined value in this case but in practice in silicon implements the same behaviour as amd destination unmodified the separate claim about maybe not preserving bits in the upper 32 hasn t been verified but has only been ruled out for core 2 and skylake 43 not all intel microarchitectures like 64 bit pentium 4 or low power atom amd64 requires a different microcode update format and control msrs model specific registers while intel 64 implements microcode update unchanged from their 32 bit only processors intel 64 lacks some msrs that are considered architectural in amd64 these include syscfg top_mem and top_mem2 intel 64 allows syscall sysret only in 64 bit mode not in compatibility mode 44 and allows sysenter sysexit in both modes 45 amd64 lacks sysenter sysexit in both sub modes of long mode 11 33 in 64 bit mode near branches with the 66h operand size override prefix behave differently intel 64 ignores this prefix the instruction has 32 bit sign extended offset and instruction pointer is not truncated amd64 uses 16 bit offset field in the instruction and clears the top 48 bits of instruction pointer amd processors raise a floating point invalid exception when performing an fld or fstp of an 80 bit signalling nan while intel processors do not intel 64 lacks the ability to save and restore a reduced and thus faster version of the floating point state involving the fxsave and fxrstor instructions clarification needed amd processors ever since opteron rev e and athlon 64 rev d have reintroduced limited support for segmentation via the long mode segment limit enable lmsle bit to ease virtualization of 64 bit guests 46 47 when returning to a non canonical address using sysret amd64 processors execute the general protection fault handler in privilege level 3 48 while on intel 64 processors it is executed in privilege level 0 49 older implementations edit the amd64 processors prior to the revision f 50 distinguished by the switch from ddr to ddr2 memory and new sockets am2 f and s1 of 2006 lacked the cmpxchg16b instruction which is an extension of the cmpxchg8b instruction present on most post 80486 processors similar to cmpxchg8b cmpxchg16b allows for atomic operations on octa words 128 bit values this is useful for parallel algorithms that use compare and swap on data larger than the size of a pointer common in lock free and wait free algorithms without cmpxchg16b one must use workarounds such as a critical section or alternative lock free approaches 51 its absence also prevents 64 bit windows prior to windows 8 1 from having a user mode address space larger than 8 tb 52 the 64 bit version of windows 8 1 requires the instruction 53 early amd64 and intel 64 cpus lacked lahf and sahf instructions in 64 bit mode amd introduced these instructions also in 64 bit mode with their 90 nm revision d processors starting with athlon 64 in october 2004 54 55 intel introduced the instructions in october 2005 with the 0f47h and later revisions of netburst 61 the 64 bit version of windows 8 1 requires this feature 53 early intel cpus with intel 64 also lack the nx bit of the amd64 architecture it was added in the stepping e0 0f41h in october 2004 62 this feature is required by all versions of windows 8 early intel 64 implementations had a 36 bit 64 gb physical addressing of memory while original amd64 implementations had a 40 bit 1 tb physical addressing intel used the 40 bit physical addressing first on xeon mp potomac launched on 29 march 2005 the difference is not a difference of the user visible isas recent when amd64 implementations provide 256 tb of physical address space and as of 2021 amd plans an expansion to 4 pb 63 while intel s sandy bridge e from 2011 features a 46 bit 64 tb physical addressing 64 65 on the ice lake 3rd gen xeon scalable processors intel increased the virtual addressing to 57 bits 128 pb and physical to 52 bits 4 pb 66 adoption edit an area chart showing the representation of different families of microprocessors in the top500 supercomputer ranking list from 1993 to 2019 67 in supercomputers tracked by top500 the appearance of 64 bit extensions for the x86 architecture enabled 64 bit x86 processors by amd and intel to replace most risc processor architectures previously used in such systems including pa risc sparc alpha and others as well as 32 bit x86 even though intel itself initially tried unsuccessfully to replace x86 with a new incompatible 64 bit architecture in the itanium processor as of 2020 update a fujitsu a64fx based supercomputer called fugaku is number one the first arm based supercomputer appeared on the list in 2018 68 and in recent years non cpu architecture co processors gpgpu have also played a big role in performance intel s xeon phi knights corner...
|