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 119.53.106.136 (talk) at 02:21, 4 January 2020 (x86_64 Is Not The 64-bit Version of x86 Instruction Set!). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Vital article

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



Correct naming - x64 and Intel 64

About the naming in the very first line; I think it should be distinguished that "x64" is NOT a correct way of referring to the 64-bit x86 (and to a certain extent neither is "Intel 64", although Intel themselves use it; it implies Intel's 64-bit Itanium which does exist, as much as some would like to forget it). I've seen many people confused why the 32-bit version is x86 and not x32 when the 64-bit is called x64; it's of course not x64 and this leads to initial confusion. I wouldn't like to see the same situation that we got when x86 was extended from a 16-bit address space pointers to a 32-bit one but it was still called "x86" and not e.g. "x86-32" to indicate the change. We indicate(d) other extentions (SSE, MMX), so why not something as big as the extention of address space? It's a small thing and you'd be right to say I'm getting hung up on naming, but I'd argue language and naming things is something very important since that's what allows us to communicate, learn and discuss; neglecting to name things correctly inevitebly leads to problems when we try to do the three things mentioned. I propose just a small change, such as "also known as x86_64, AMD64, incorrectly as x64, Intel 64" while leaving the note in place. — Preceding unsigned comment added by 85.163.18.131 (talk) 12:52, 22 July 2018 (UTC)[reply]

Who defines what's "correct"? AMD? Intel? AMD and Intel?
x64 may not be used by AMD or Intel, but it is used by Microsoft and Sun^WOracle, so, "correct" or not, it is used, and that probably should be noted.
Intel uses "Intel 64"; it doesn't imply Itanium - some people might incorrectly infer Itanium, but those people may not be aware that the Itanium architecture used to be called "IA-64", with the existing 32-bit version of x86 being called "IA-32". That meant that Intel couldn't call their flavor of x86-64 "IA-64" and they wanted to come up with some name for their flavor of x86-64; "AMD64" was unlikely to be chosen, for obvious reasons, so they imitated AMD and called it "Intel 64".
So, for better or worse, it's referred to as "x64" and "Intel 64" by organizations whose use can't simply be dismissed as "incorrect". Yes, those names may cause confusion, but that's what happens with names chosen by marketing departments; it's just something we have to live with, because Wikipedia is extremely unlikely to be able to effect any change there. Guy Harris (talk) 20:27, 22 July 2018 (UTC)[reply]
Agree with Guy Harris. x64 is very commonly used in the industry. We're not in a place to declare that it's "wrong". Jeh (talk) 04:58, 23 July 2018 (UTC)[reply]
My line of thinking was: the x86 name comes from the x86 naming of Intel's processors (80286 and 80286, 286 and 386 for short, hence x86), where does x64 come from? I don't remember an iconic line of processors using a similar naming scheme, the closest that comes to mind is the Athlon 64 line. Again, I'm being pedantic but as I already stated, there's nothing wrong with pointing wrong (or at least illogical) naming, regardless whether a couple of "industry leaders" use it. I also take back labeling Intel 64 as incorrect (although it still is illogical, Intel Architecture 32 is the 32-bit x86, IA-64 is Itanium, AMD64 is the widely implemented 64-bit x86 extention; Intel 64 = Itanium, AMD 64 = x86-64, seems simple enough for me). — Preceding unsigned comment added by 85.163.18.131 (talk) 08:15, 23 July 2018 (UTC)[reply]
I have no clue how marketing-department minds work, so I have no clue where "x64" comes from - and my curiosity about it is mild, at best. Why didn't IBM go from "System/370" to "System/380" when they added 31-bit-addressing support in 1980, but went with "System/390" in 1990 when no change that significant was made, for example? Or why did Apple go from "Mac OS X" to "OS X", several years after a non-Mac derivative, iOS, came out, rather than just going directly to "macOS"? Illogical, maybe, but, even if a lot of people might find a name illogical, I don't see any need for the Wikipedia to point that out. Guy Harris (talk) 11:15, 23 July 2018 (UTC)[reply]
To the IP: If Wikipedia were to state in its own voice that the "x64" name was "wrong" or even "illogical", regardless of reasoning, then Wikipedia would be expressing an opinion. We don't do that. See WP:NOTESSAY, which is part of our policy. We can report on opinions of recognized experts, but WP:N then requires that we give WP:DUE attention to all countering opinions, other than WP:FRINGE ones. And given the popularity of the "x64" name I'd say yours qualifies as WP:FRINGE. So, what can you do? Write your opinion on your own blog, or on a Facebook post, or maybe write it up and send it to a tech blog. But Wikipedia is not the place for your opinion or even your own reasoning. In fact, since article talk pages are not for general discussion about a topic but are supposed to be specifically for discussing improving the article, and an editor's opinion will not ever be allowed as part of the article, even the discussion here is borderline. Jeh (talk) 12:42, 23 July 2018 (UTC)[reply]

Is it also aa64?

aa64 is mentioned, for example, at https://github.com/pbatard/uefi-simple/commit/3250411a643b8967d9ed724219a33aa8af3855f7 and http://lkml.iu.edu/hypermail/linux/kernel/0008.1/0809.html. My guess is it is an abbreviation for AMD Architecture 64. And yet another abbreviation for x86-64. Is it justified to add this acronym to the x86-64 entry? — Preceding unsigned comment added by 5.102.216.121 (talk) 18:24, 11 March 2019 (UTC)[reply]

No. "mentions" in Github commits, esp from .edu , are not reliable sources. Wikipedia is not for things someone made up one day. When you see this used routinely in mainstream industry publications we can think about whether it merits as much as a mention. Jeh (talk) 18:56, 11 March 2019 (UTC)[reply]
And, at least in the uefi-simple GitHub site, it's an abbreviation for AArch64, i.e. the 64-bit ARM whatever-AArch64-and-AArch32-are (as opposed to the 64-bit ARM instruction set, which is A64, and the two 32-bit ARM instruction sets, which are A32 and T32, at least in AArch32).
In the LKML message, it appears to be x86-64/AMD64, but there's no indication where the person who sent the original message got "aa64" from - perhaps AMD used it at one point, but they mainly used x86-64 originally, and then switched to AMD64.
So, without anything more than one short thread on LKML, and with at least one place using "aa64" to refer to 64-bit ARM rather than 64-bit x86, I wouldn't include it. Guy Harris (talk) 19:08, 11 March 2019 (UTC)[reply]

Which was first?

According to the lead,

"The AMD K8 processor was the first to implement it."

According to the History section,

"The first AMD64-based processor, the Opteron, was released in April 2003."

Neither is cited. Wasn't K8 an architecture, rather than a processor? It's article suggests so, in which case would it be correct to say that "the first AMD64-based architecture was AMD K8" and "the first AMD64-based processor was the K8-based Opteron, released in April 2003"? 87.75.117.183 (talk) 00:35, 25 June 2019 (UTC)[reply]

Yes, AMD K8 was a microarchitecture, not a processor. That paragraph mainly talks about microarchitectures, so I changed it to speak of the K8 microarchitecture as being the first to implement x86-64, and gave both Opteron and Athlon64 as examples of processors using that microarchitecture. Guy Harris (talk) 03:15, 25 June 2019 (UTC)[reply]
That makes sense now. Thanks. 87.75.117.183 (talk) 05:52, 26 June 2019 (UTC)[reply]

x86_64 Is Not The 64-bit Version of x86 Instruction Set!

Please read the official documents from both AMD and Intel, both ISA manuals stat that the relationship between x86_64 and x86 are two ISA but not one! Intel calls it as Intel 64, different from IA-32; while AMD calls it as AMD64, extended and backward compatible with x86! So they are two related architectures, ISA exactly! For the similarity and the base of the design of AMD64 architecture, in Intel document, it says this thing, 64-bit mode could be treated as 64-bit mode in IA-32 architecture (page 63, Volume 1:Basic Architecture). So it isn't some a version of x86 architecture, but a 64-bit related architecture with x86. So in this viewpoint, the precise and correct description should be

x86-64 (also known as x64, x86_64, AMD64 and Intel 64[note 1]) is the 64-bit instruction set in the x86.

rather than

x86-64 (also known as x64, x86_64, AMD64 and Intel 64[note 1]) is the 64-bit version of the x86 instruction set.

The latter implies the x86 architecture is a 64-bit architecture, but in fact the x86 architecture still remains in its 32-bit form, had never been changed, reserved for later development in the future! Word "in" could be more used to describe the relationship between them two, the related two things rather than one! 119.53.106.136 (talk) 02:21, 4 January 2020 (UTC)[reply]