Jump to content

Talk:x86-64

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 221.9.17.174 (talk) at 23:20, 15 May 2017 (→‎x86-64 is a 64-bit version of x86? Give some proofs!). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Please add {{WikiProject banner shell}} to this page and add the quality rating to that template instead of this project banner. See WP:PIQA for details.
WikiProject iconComputing C‑class High‑importance
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
CThis article has been rated as C-class on Wikipedia's content assessment scale.
HighThis article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by Computer hardware task force (assessed as High-importance).


Hello fellow Wikipedians,

I have just modified one external link on X86-64. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{Sourcecheck}}).

checkY An editor has reviewed this edit and fixed any errors that were found.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 23:16, 8 November 2016 (UTC)[reply]

Clarification needed

The AMD64 architecture defines a 64-bit virtual address format, of which the low-order 48 bits are used in current implementations.[1](p120) This allows up to 256 TB (248 bytes) of virtual address space. The architecture definition allows this limit to be raised in future implementations to the full 64 bits,[1](p2)(p3)(p13)(p117)(p120) extending the virtual address space to 16 EB (264 bytes). This is compared to just 4 GB (232 bytes) for the x86.[15]

I don't understand this paragraph - does't AMD64 refer to x86? So what is being compared against in this sentence: This is compared to just 4 GB (232 bytes) for the x86? 169.0.179.29 (talk) 10:59, 12 December 2016 (UTC)[reply]

"x86" is, there, referring to 32-bit x86, also known as IA-32. x86 has 16-bit (8086/8088, 80186/80188, 80286), 32-bit (IA-32), and 64-bit (AMD64/Intel64/x86-64) versions. That part of the article sometimes qualifies references to x86 as "32-bit x86" and sometimes doesn't (at the time AMD64 came out, there wasn't an existing 64-bit x86). Guy Harris (talk) 19:08, 12 December 2016 (UTC)[reply]

Layman tag for this article?

Should we put a tag at the beginning of the article indicating that the article can or cannot be understood by a layman? --Polytope4d (talk) 18:05, 31 March 2017 (UTC)[reply]

x86-64 is 64-bit version of x86 Instruction Set?

To answer this very question, what is x86 exactly? An instruction set, or an architecture, or both of them? Instruction set architecture is instruction set architecture, instruction set is instruction set. They both are two things! For this very question, for years, I could not find any clue to prove that x86-64 is 64-bit version of x86 instruction set, no matter from Intel or AMD communities. If the manufacturers, inventors, vendors and so forth and so on could not prove it, how can someone else could make such irresponsible conclusion? Show my greatest objection to this statement! — Preceding unsigned comment added by 221.9.17.100 (talk) 07:11, 6 May 2017 (UTC)[reply]

"what is x86 exactly?" x86 is a term that is used to refer to, among other things, the 16-bit, 32-bit, and 64-bit versions of the instruction set architecture that started with the 8086 and continued to the current x86-64 processors. Intel hasn't used it in ages, if ever, for any purpose. AMD uses it to refer to the pre-64-bit version, as does Microsoft. Oracle, as per the link I cited, uses it when speaking of their 64-bit servers, and this article also uses "x86" to refer to the full range.
The 80286 added segmented virtual memory, and some new instructions, to that instruction set architecture; the 80386 added 32-bit support and paged virtual memory; various other processors added additional instructions (MMX, SSE, etc.); the Opteron added 64-bit support and some more instructions; processors subsequent to it added additional instructions.
So if x86-64 is an extension to the 32-bit version of x86, 32-bit x86 is an extension to the 16-bit version of x86; it's not a Shiny Brand New Instruction Set, it just continues the evolution of the existing instruction set, as anybody who actually reads and understands the instruction set descriptions can clearly see. Guy Harris (talk) 07:40, 6 May 2017 (UTC)[reply]
Well, thank you very much first! American English is derived from British English, but can people call it some version of British English, when more and more People in GB are trying to change their tone into American style? IA-32 is not the 32-bit version of x86 architecture. x86 is used by the industries to refer the processors and their architecture same or similar with IA-32. Because the legacy part of x86-64 processors are the same or similar as the IA-32 architecture, so the x86-64 processors are also referred as x86 processors, but in essence, they are 64-bit x86-64 processors.
Extension could not always be counted as a version, for many reasons. But the most important reason is that this 64-bit extension is not a completely 64-bit extension of IA-32 (or x86), leaving so many aspects of it uncertain to the future. Comparing to a true 64-bit version of IA-32, it is just like a once 64-bit extension of x86, or a 64-bit variety of x86 architecture exactly. In Intel documents, IA-32 and Intel 64 architectures are differentiated intentionally, or in other words, Intel never treat the architecture of Intel 64 as some version of IA-32, or x86, but merely treat it as an 64-bit architecture associated with Intel IA-32 architecture. And many early documents also called this AMD developed 64-bit ISA as the 64-bit instructions sets of Intel IA-32 processors. That is not a mistake by Intel, because they were and are just the IA-32 processors, but just enhanced by this 64-bit extension developed by AMD, based on IA-32. 221.9.17.100 (talk) 08:17, 6 May 2017 (UTC)[reply]
"But the most important reason is that this 64-bit extension is not a completely 64-bit extension of IA-32 (or x86), leaving so many aspects of it uncertain to the future." Really? Name one such aspect.
"Comparing to a true 64-bit version of IA-32" What "true 64-bit [versions] of IA-32" are there to compare with?
Look. x86-64 is a 64-bit architecture, with 64-bit registers, 64-bit pointers (with some of the address range currently not mappable), and 64-bit arithmetic. It adds to x86 the REX prefix, which is only available in long mode because it uses the same encoding as the existing 1-byte opcodes for INC and DEC (the 2-byte opcodes are still supported in long mode). It does not provide segmentation in long mode, i.e. no 84-bit segmented addresses with a 64-bit segment offset, so some instructions are disabled in long mode. For some reason, the "ASCII Adjust" instructions and the BOUND instruction are disabled in long mode. So it basically uses the same instruction set and same instruction encoding as are in the 32-bit instruction set, with segmentation removed (some stub use of FS and GS are provided, probably for use with per-thread data and the like), with a few instructions removed, and with one of two encodings for incrementing and decrementing the A register removed and used for an additional prefix. So what makes x86-64 not "a true 64-bit version of IA-32"? How would you have made "a true 64-bit version of IA-32"?
Similarly, the 32-bit version of x86 (which needs a better name than "IA-32", as 1) it wasn't just implemented by Intel, and AMD added instructions to it just as Intel did and 2) Intel can't seem to make up their minds as to whether "IA-32" includes the 16-bit instruction set or not - in the same document in two nearby paragraphs they speak of it in ways that suggest that it does and suggest that it doesn't) added to x86 address and operand size prefixes (for which, fortunately, there was opcode space, so they didn't have to steal some instruction codings). So it basically uses the same instruction set and instruction encodings as are in the 16-bit instruction set, with some additional prefixes. Guy Harris (talk) 09:10, 6 May 2017 (UTC)[reply]
From the AMD Architecture manual: "The AMD64 architecture is a simple yet powerful 64-bit, backward-compatible extension of the industry-standard (legacy) x86 architecture."
And yes, an "extension" is a modification of the previous, and therefore is a version of the previous. Or else this is a strange new meaning of the word "version" that everyone except the IP was previously unaware of.
btw, neither Intel nor AMD coined the term "x86", so it matters not what an anonymous self-proclaimed "Intel engineer" said in a forum post. It's an industry-wide term, and currently includes 16-, 32-, and 64-bit architectures.
This little dispute originates solely in the IP's peculiar interpretation of English. Jeh (talk) 17:56, 6 May 2017 (UTC)[reply]
Guy, I've read your words. Sorry, definitely you are wrong! 119.53.109.114 (talk) 22:48, 6 May 2017 (UTC)[reply]
We have solid references on our side. And it would be trivial to find many more. You're going to need a lot more than your declaration of "you definitely are wrong!" to counter them. Until you do, your edits will continue to be reverted, as they are unsupported by reliable sources while the claims made in the article are so supported. Face it - Wikipedia is simply not going to be edited to suit your peculiar interpretation of either the "horse's mouth" documents in the field, or your peculiar interpretation of English - not unless you have RSs for them.
Now if you want to do it the right way, you could go find some RSs that claim that x86-64 is not a version of x86. Then we could document that as a difference of opinion among experts. If there is a preponderance of sources that state that, then we would even have to say that that was the prevailing opinion. Wouldn't that be a great victory for you?
But if you just want to expound on your view of these matters, but without citing Wikipedia-grade reliable sources to back it up - which seems to be what you're trying to do here - I suggest you start a blog. Jeh (talk) 02:55, 7 May 2017 (UTC)[reply]

x86-64 is a 64-bit version of x86? Give some proofs!

x86-64 is a 64-bit version of x86? Give some proofs!

@Guy Harris:, if you find something wrong with the description like x86-64 (also known as x64, x86_64, AMD64 and Intel 64[note 1]) is the 64-bit architectural extension of the industry-standard x86 architecture, this 64-bit architecture also includes x86 within its legacy mode, would you please consult with both AMD and Intel companies, rather than fabricate the term or description?