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.19.140 (talk) at 11:27, 17 May 2017 (Protected edit request on 16 May 2017). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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).


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?

Well, one, that description is a near-copy from the AMD architecture book; we can't use it per WP:COPYVIO. (Changing a few words and a few word orderings is not sufficient.)
Two, neither AMD nor Intel defined or own the term x86. Their opinion is not definitive. It is an industry-wide term, used in a very large number of trade journals, books, and the like. And most of those uses show that it means the architectures that first saw the light of day with the 8086, now including x86-64 (= x64). Numerous references for this have already been provided. You can continue to ignore them if you wish but that doesn't make them go away.
Three, your claims simply fly in the face of standard English usage (which has always been a problem with much of your writing - even when you've had a valid point it's been very difficult to figure out what you're saying).
It is remarkable, by the way, that you insist that x86-64 is an extension of x86, but you have objected strenuously to the claim that x64 in long mode uses ~"an extended form of PAE" (or "enhanced"). Jeh (talk) 07:23, 16 May 2017 (UTC)[reply]
And at least one of the uses of "x86" that includes 64-bit processors came from Intel itself (from Intel, not the "lady from Intel"). Guy Harris (talk) 07:35, 16 May 2017 (UTC)[reply]
Oh, and as for AMD documents, AMD64 Architecture Programmer’s Manual, Volume 1: Application Programming, chapter 1 "Overview of the AMD64 Architecture", section 1.1 "Introduction", second paragraph, says:

The need for a 64-bit x86 architecture is driven by applications that address large amounts of virtual and physical memory, such as high-performance servers, database management systems, and CAD tools.

Gee, what might that "64-bit x86 architecture" be? AMD64, perhaps? Maybe AMD does think there is such a thing as a "64-bit x86 architecture". Guy Harris (talk) 08:49, 16 May 2017 (UTC)[reply]
No, this is not a near-copy from AMD documents. "we", what do you refer to? Only you? You provide nothing at all, sorry! — Preceding unsigned comment added by 119.53.115.198 (talk) 08:32, 16 May 2017 (UTC)[reply]
"Gee, what might that "64-bit x86 architecture" be? AMD64, perhaps? Maybe AMD does think there is such a thing as a '64-bit x86 architecture'".
Yeah, I see you've already answered one question that you always stick to is only a presumption, rather than the fact. So this 64-bit version of x86 is fabricated. Like what it said, the need for a 64-bit x86 architecture eventually brought out the 64-bit architectural extension of x86 architecture. I have completely no ideas why such a programming expert who worked in that field more than 40 years stick to the thing which is not that consolidate as it were. In other words, 64-bit x86 architecture does not mean anything around 64-bit version of x86 architecture. They both are different things, how can someone treat them the same? Even if there is an architecture, 64-bit x86 architecture, and there is no evidence(s) to say this x86 architecture has been expanded onto 64-bit, and its new version is that 64-bit x86 architecture. No, completely no! x86 is an architecture, publicly recognised by the IT industry. The x86-64 is just the 64-bit extension of x86. Here I repeat again, the relationship of x86 and x86-64 is not possession, but extension, of course, the latter extends the former. 64-bit extension of sth. does not mean 64-bitlised sth., it can 64-bitlise sth., but it can also divert it far away. AMD differentiate x86 and AMD64 obviously in their official documents, Intel also do the similar thing. You can call the x86 is a class, but you can never call it architectures! Because x86 is an architecture since the very beginning to the very ending!
" 64-bit x86 architecture does not mean anything around 64-bit version of x86 architecture. " Of course it does. That you do not agree with this shows that you are not competent to contribute to English language Wikipedia. Your only arguments are based on your interpretations of words, interpretations that no one else ever seen on these pages, except of course for your numerous sockpuppets, shares. Jeh (talk) 09:34, 16 May 2017 (UTC)[reply]
Who the earth are you? I am very sorry I did not spent any penny on your training, so I would not buy any word you said anywhere. But your words are quite funny as usual. For one thing, are you English speaker (native or not)? Sorry, I could never see any piece of that! I have bunch of friends from Ireland, UK and France, they did not trust you are one of them through your expression in English. Maybe you are from some other land? China? Or some elsewhere! Words in any language are used to express rather than fabricate, I wish you could understand! Sorry, I am very tired to mention that stupid name and stupid company. — Preceding unsigned comment added by 119.53.118.103 (talk) 10:44, 16 May 2017 (UTC)[reply]

Let us vote!

Hello readers from all over the world, no matter who you are, what you are; if you found this title please vote!


Options:

I. The x86-64 is the 64-bit version of x86 instruction set.

II. The x86-64 is the 64-bit architectural extension of industry-standard x86 architecture, this 64-bit architecture also reserves the x86 as legacy.


Requirement: Each IP or user id could only vote once! If you like, you could give your reasons and/or suggestions on that! Thank you in advanced! Please write your vote below, and sign your post.


Votes:

1.I vote option II. 221.9.23.59 (talk) 13:41, 16 May 2017 (UTC)[reply]

0.Sockpuppets don't get to vote. Jeh (talk) 13:53, 16 May 2017 (UTC)[reply]

I do appreciate your reply, but please go to the correct places rather than here to deal with your own business. You have your own choice to vote, or give up. If you continue involving unrelated things here, you are admitting that you give up your vote. 221.9.23.59 (talk) 14:00, 16 May 2017 (UTC)[reply]
Wikipedia is not a democracy. There are no votes here. Your premise of "voting" is invalid, so I'm not giving anything up. Consensus is against you. You could take a "straw poll" just to see where everyone stands, but the results are not binding. You don't get to reformat my replies, either. Jeh (talk) 14:12, 16 May 2017 (UTC)[reply]

Protected edit request on 16 May 2017

In the video game consoles section, the paragraph states:

Both PlayStation 4 and Xbox One and their successors incorporate AMD x86-64 processors, based on Jaguar microarchitecture[78][79]. Firmware and games are written in the x86-64 codes, no legacy x86 codes are involved with them.

I would like it changed to:

Both the PlayStation 4 and Xbox One incorporate x86-64 processors from AMD's Jaguar microarchitecture.[78][79] Firmware and games are written specifically for the architecture, without the need for code written for the legacy x86 component.

Because it is not very well written and I would like it corrected and clarified. Here's the markup.

Both the [[PlayStation 4]] and [[Xbox One]] incorporate x86-64 processors from AMD's [[Jaguar (microarchitecture)|Jaguar]] [[microarchitecture]].<ref name=XboxOneMay2013Anandtechcomparison>{{cite news |title= The Xbox One: Hardware Analysis & Comparison to PlayStation 4 |author= Anand Lal Shimpi |publisher= Anandtech |url= http://www.anandtech.com/show/6972/xbox-one-hardware-compared-to-playstation-4/2 |date= 2013-05-21 |accessdate= 2013-05-22}}</ref><ref name=XboxOneMay2013SpecGameinformer>{{cite web |url= http://www.gameinformer.com/b/news/archive/2013/05/21/the-tech-spec-test-xbox-one-vs-playstation-4.aspx |title= The Tech Spec Test: Xbox One Vs. PlayStation 4 |publisher= Game Informer |date= 2013-05-21 |accessdate= 2013-05-22}}</ref> Firmware and games are written specifically for the architecture, without the need for code written for the legacy x86 component.

Thank you. FosterHaven (talk) 16:08, 16 May 2017 (UTC)[reply]

"without the need for code written for the legacy x86 component"
Your request to edit it is appreciated, but you change the meaning of that sentence. Because there arise another question, are the codes written in x86 able to work on those game consoles? Many years passed after they both introduced, Microsoft provides an virtual zone for Xbox One to run their customised Windows 10 on it, but there is no voice about the backward capabilities with x86 software. As to the PS4, there is nobody hacking it and enable it to work as a traditional PC. If you read my words on the talk page of x86, you would find the differences between x64 and x86-64 processor. One could make sure that both game consoles use x86-64 processors, but unsure that they are x64 processors or not. If they are not x64 processors, in other words, they may be incapable to run x86 application if without support from software. So this necessary would turn to possibility.119.53.119.155 (talk) 22:31, 16 May 2017 (UTC)[reply]
Ignore the IP. The IP's edit warring and attempts to edit against consensus is the reason the page has been protected. If you read the IP's words on talk page of x86, and responses thereto, you will find that her/his assumption that x86-64 and x64 are, or could in any way be considered, two different things is completely unsupported. Jeh (talk) 02:37, 17 May 2017 (UTC)[reply]
Both the PlayStation 4 and Xbox One incorporate x86-64 processors from AMD's Jaguar microarchitecture.[78][79] Firmware and games are written specifically for the architecture, without the need for code written for the legacy x86 component.
There are some problems after you changed,
1. You censored the "successors", you might possibly treat those successors are the following versions of PS4 or Xbox One, or treat them as the same things.
2. Processors from microarchitecture, yeah, processors are the physical realisation of specific microarchitecture, but such expression is quite rare to find.
3. What is the legacy x86 component? Your expression might embrace the content of your own opinion or guess, such as "the need for". Why the designers and developers of game consoles put too much effort to the things they do not really care about?
In my own opinion, your version is a little bit worse than the former. But I do appreciate your request. 119.53.110.4 (talk) 07:30, 17 May 2017 (UTC)[reply]