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.34 (talk) at 14:53, 21 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?

— Preceding unsigned comment added by 221.9.17.174 (talk) 22:58, 15 May 2017‎ (UTC)[reply]

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!
— Preceding unsigned comment added by 119.53.118.103 (talk) 09:07, 16 May 2017‎ (UTC)[reply]
" 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!

Wikipedia is not a democracy
The following discussion has been closed by Murph9000. Please do not modify it.

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]

@FosterHaven: Not done: The page's protection level has changed since this request was placed. You should now be able to edit the page yourself. If you still seem to be unable to, please reopen the request with further details. Murph9000 (talk) 08:43, 20 May 2017 (UTC)[reply]
@Murph9000: Thank you! FosterHaven (talk) 15:21, 20 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]
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]

I'm very willing to believe you don't actually appreciate my contribution. I just read up the sections in the x86 talk page you mentioned that actually wasted Guy Harris' time. Let me counter-argue in full support of his word salad claim:
are the codes written in x86 able to work on those game consoles?
If by "codes" you mean the raw instructions, then I would like to point out that if it doesn't, then it's not an x86 processor. x86-64 is an extension of x86; it extends the capabilities of the x86 architecture to support 64-bit instructions. And if you couldn't tell what that means, x86-64 supports x86 instructions. At least, that's what the article should explain. If it didn't do that, then by all means, create an account and edit it so that it does.
And I can tell you're inexperienced because absolutely nobody refers to programs as "codes".
As to the PS4, there is nobody hacking it and enable it to work as a traditional PC.
I raise this blog post by fail0verflow detailing how they ported Linux to the PS4. And don't bring up "but it's Linux, not Windows," that just means you can do way more with the system than Microsoft allows with Windows. It's always been like that for Linux.
There are some problems after you changed, [...] [and] your version is a little bit worse than the former. But I do appreciate your request.
Subtle. But here's why those problems don't actually apply:
You censored the "successors", you might possibly treat those successors are the following versions of PS4 or Xbox One
You might. But that's not what censorship is. I've removed it because we don't know if the successor consoles will have the same processors, and it's certainly not Wikipedia's job to speculate on that. A reliable source would have to confirm leaked or revealed information, and that obviously hasn't happened in the years that the consoles have been out. (As per the fact that "a schedule of future events may be appropriate if it can be verified.")
yeah, processors are the physical realisation of specific microarchitecture, but such expression is quite rare to find.
It's actually not rare, so what's the "problem" you speak of? Is my expression not good enough for Wikipedia?
What is the legacy x86 component? Your expression might embrace the content of your own opinion or guess, such as "the need for".
It's a copyedit. My expression embraces Wikipedia's perspective, which I didn't know was actually yours before I arrived. If a copyedit contains bias somehow, then the editor is not doing a very good job.
Why the designers and developers of game consoles put too much effort to the things they do not really care about?
That's not for us to explain, certainly not on this article. And that's probably why that second sentence isn't even needed.
So with your points countered, I would like explain what it is you're trying to do, because I know it very well; you are setting a trap, and so far it's worked. You show persistence, and a pure lack of involvement in the project's efforts. The first thing you tell us is that you try to find the claims we make, and apparently you can't? And so we're wrong as a result? And after failing to take in the opposing side, you insist that your conclusion is the correct one, even when Guy Harris stated the proof you brought up had went against your claims. So when he's proved all he's needed to, you go out of your way to get the last word as if it actually matters. And then, while I wander onto the page and see what I believe is an error, and suggest it accordingly because it's restricted, you dissect my copyedit for "changing the meaning of the sentence" which is basically that it goes against your perspective.
So let me clarify. x86 is a set of architectures, x86-64 is the 64-bit architecture that adds more capabilities and is backwards compatible with x86. You cannot argue otherwise when scientific journals are using the jargon without your involvement. I sincerely apologize that you're not important to this article, but we rely on them for our facts, not you. Don't go around this place acting like you own it, because you don't even have an account, and I assume if you made one, you would get your editing privileges revoked immediately.
I had been off to do other things for two days whilst not even being aware of this whole discussion taking place. I did not notice what happened at all but now I'm very, very glad I did, thanks to Murph notifying me above. FosterHaven (talk) 15:21, 20 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]
@Jeh: I figured that was the case after I skimmed it. I'll be removing the second sentence in the section, since I feel like it's a fact that shouldn't need to be stated already. FosterHaven (talk) 15:21, 20 May 2017 (UTC)[reply]
I've you read your words, and that is enough! 221.9.20.168 (talk) 05:09, 21 May 2017 (UTC)[reply]
I'm just being honest, even if a bit pushy. I know you want to help this article (and you should know that everyone here wants to, otherwise what would be the point), but not everyone is going to be on your side if you argue against the editors about how the article and the writers are wrong. Ultimately, Wikipedia being a collaborative effort means that even though we do value input, it's not a necessity to insert your perspective. I'm not saying we don't need your help at all, but you're positioning yourself in a bad spot so if you want to help, you'd have to follow the consensus. There's really not much more for me to say. FosterHaven (talk) 13:08, 21 May 2017 (UTC)[reply]
Thank you for your reply. In 2008, you were 9, but I was 24. I read articles on Wikipedia.org since late 2004, I got in touch with x86-64 processor in that same year too. I experienced Windows XP on IA-32, Itanium and x64 platforms, I experienced the Xbox in your words too when in high school. So ..., ok, you are welcome.

x86 is a bunch of architectures, and x86-64 is only the 64-bit version instruction set?

From wiki article x86

"x86 is a family of backward-compatible instruction set architectures based on the Intel 8086 CPU and its Intel 8088 variant."

From wiki article x86-64

"x86-64 (also known as x64, x86_64, AMD64 and Intel 64 is the 64-bit version of the x86 instruction set."


Those two wiki articles say that the x86 architecture includes all the architecture(s) since Intel 8086 through Core i7 and AMD Ryzen; and x86-64 is only an instruction set of the former. I do not want to be accused as the human embodiment of the Dunning-Kruger effect by some a computer genius from Wikipedia.org, who experienced programming more than 40 years! Maybe writers and editors from AMD and Intel are fools because they deny them, by differentiating x86 and AMD64 or IA-32 and Intel 64. Most Linux distributions differentiate them both as x86 and x86-64 too, the very famous free productivity software, Libre Office differentiate them both in that way too. Maybe all of them are completely wrong, because they are not computer genius. Maybe Bill Gates is neither a computer genius, because his programming experiences began also more than 40 years ago, but today Microsoft also differentiate them both as x86 and x64.


A programmer with more than 40 years programming experiences would give the definitions like above about x86 and x86-64, I just realise the definition of computer genius maybe also need to be redefined! A person programmed for more than 40 years something like below,

"Repeating your assertions over and over again is not going to convince me. If you're also a software developer who's worked at that level, you can probably come up with arguments based on more than just arguments about the meaning of words; if you're just a fanboy who's read a bunch of articles and thinks that makes him an expert who can lecture people with more experience in the field, you're simply wasting your time and convincing us that you're a fool."

I understand I have to accept this person's words, "you're simply wasting your time"! For any penny, I have to say this guy is a computer genius! — Preceding unsigned comment added by 119.53.113.164 (talkcontribs) 08:00, 18 May 2017 UTC (UTC)

Take an extent look of x86 or IA-32,

In the history of IBM PC and its compatible machines, the dominated Operating Systems are from Microsoft, such as MS-DOS, IBM PCDOS, Microsoft OS/2, IBM OS/2 Wrap, Windows 3.x, Windows 9x, Windows NT and Windows 2000/XP. Later IBM and Legend merge into Lenovo, the new IBM rather than the new Legend. IBM dropped their market on personal computing, and the new IBM, Lenovo lose all its dominated position in personal computing market. And that period was gone! IBM PC Compatible is gone too! But its platform rooted into today's personal computers.

What is x86 architecture? From another aspect of it, not constrained by the aspect from its inner world, another definition could be drawn,

The architecture (ISA) of IBM PC and all its compatibles is x86.

or

The x86 is the architecture of IBM PC and all its compatibles.


The dominated or major operating system for IBM PC are DOS and Windows! Such as 16-bit Windows, Windows 1.x/2.x/3.x; 16-bit/32-bit mixed Windows, such as Windows 3.1 Workgroup, Windows 95/95 OSR2/98/98SE/ME; 32-bit Windows, Windows NT/2000/XP. The architecture those operating system are build on is just the x86 architecture. And those Windows 9x operating systems are the good examples to say that this x86 architecture is an architecture rather than many. Because Windows 9x span over almost the entire modes of IA-32 processors in their running time. Omitting any one, these OSes would fail to work. From the aspect of a computing system rather than the level on the architecture of processor itself, the x86 is an architecture, rather than many. Of course, system based on 16-bit processors have no chances to work on Windows 9x, that is another reason to say the 16-bit architecture introduced by those 16-bit processors has been eventually evolved the IA-32 or x86 architecture. In other words, the x86 architecture is not separable. Another important role of Windows 9x is that they are the native OS for those IBM PC Compatibles and x86 processors. But Windows NT is not, they are not designed exclusively for x86 processors, in fact they are developed on an Intel RISC processors. The support for then mainstream RISC processors was their initial design purpose. On the port of x86, this OS just utilise the pure 32-bit mode, rather than saying that that 32-bit environment is the IA-32, or 32-bit version of x86. And what IA-32 refers to, in Intel official documents, has already stats the entire architecture of 32-bit processors, or x86, exactly.

Different from that Windows 95 is the native operating system for x86 architecture, Windows NT is a portable operating system. In order to make an OS to be portable, the designers must be in consideration of the differences among different architectures. They would design it carefully and avoid to get in touch with the unique features of each supported architecture, obviously, codes on those things are hard to be portable. In order to achieve this goal, the OS itself must be stand above a little bit higher than the native one. Like moving a building from a place to another, the most easiest way is put the live onto the bottom and contact part. Because moving that part, the remains above on it would follow its movement, without worrying it to be crushed. Windows NT, like so many other portable OS, such as Linux, BSD and VMS, it is built above on one portable abstract layer rather than get in touch with the hardware directly. For the port of x86, they just utilise the partial features found on the 32-bit architecture introduced by 80386, and denote such architecture as "i386" on its installation media. Of course, Windows NT is not designed exclusively and natively for x86 architecture. Even though the needs for backward support for the legacy 16-bit applications were important, they realise such features like in other ports, in the form of software emulation, rather than trap processors back to 16-bit real mode (like Windows 9x), or utilise the Virtual x86 mode. Like Windows NT, Linux is also a product of 80386 age. Even though Linux is not UNIX, but its ideas are brought from UNIX, so the process to make it realise on the 80386 processor is also a process of porting rather than design for x86 processor natively.

Evaluating the modern operating system and applications, AMD designed a 64-bit architecture, which is extended from x86 architecture, catering for those who are eager to port their current OS, rather than re-design from the ground, with enough support for the backward supports, and this 64-bit architecture is named as AMD64 or x86-64. Comparing with that Windows 9x is designed natively for x86 architecture, and Windows NT is actively ported to x86 architecture; this x86-64 architecture is designed intentionally for those modern OSes. Comparing to saying that Windows 9x is the native OS of x86; x86-64 is the native architecture for Windows, Linux, FreeBSD and so many other modern OSes. From the viewpoint of this, x86-64 is an architecture, rather than merely an instruction set. For its independence from legacy x86 architecture, it is an standalone architecture, rather than an 64-bit extension to the IA-32, like SSE, MMX and so forth.

Apple once gave an illusion that it were an 64-bit extension to the IA-32, like SSE, MMX and so forth since Mac OS X 10.4.6 though Mac OS X 10.7. But that is only an illusion, this special 32-bit kernel completely run within IA-32e mode rather than span the entire modes of Intel 64 processors. This link between IA-32 and Intel 64 is a fake. This once again says that the relationship between x86 and x86-64 is not the latter is part of the former, but just in the opposite, x8-64 succeeds the history of x86. Legacy in software development implies that those software would not be modified or updated. On x86-64 architecture, the shadows of x86 present itself in the legacy form no matter in Legacy mode or Compatibility Mode. Or in other words, the fundamental architecture of x86 has not been changed. In the words of AMD, it is called "backward compatible". This also stats that x86-64 is not the 64-bit version of x86, but for their similar natures, it is the 64-bit extension of x86 architecture. Or in other words, the x86-64 is designed mostly based on extending the x86 architecture, rather than some a version of it.

I do appreciate differentiate the architecturer(s) among every generation of x86 processor and x86-64 processor. But, that is not only my imagination, it is widely accepted that x86 is a 32-bit architecture introduced with 80386 processor, and also denoted as i386, Intel refer it as IA-32. This 32-bit architecture does not only point to the architecture within the 32-bit protected mode, but the entire architectures of Intel 80386 processor. Because no matter in protected mode or real mode, 32-bit registers are visible and could be utilised, and the values keep consistent across operating modes. This is not my interpretation of IA-32, such similar contents could be found on both Intel and AMD official documents.

People often use the term Chinese to refer to the entire Chinese ethnic from all over the world (they might not even know how to speak Chinese), but strictly, the term Chinese is only used to referred to the people native in China. In the similar way, people often use the term x86 to refer to all the processors whose architectures are similar or same as x86, but strictly x86 is only used to refer the architecture introduced by Intel 80386 processor, or IA-32. The fact that both x86 and x86-64 architectures co-exist on x86-64 processors, so the x86-64 is also an x86 processor. But an x86 processor might not be an x86-64 processor. Today there is no legacy x86 processor being manufactured anymore, all current x86 processor are actually the x86-64 processor. And it is the age of x86-64! — Preceding unsigned comment added by 221.9.20.9 (talkcontribs) 15:48, 18 May 2017 (UTC)[reply]

"AMD64 might have been AMD's response to IA-64", is it real?

We need sources! — Preceding unsigned comment added by 221.9.19.34 (talk) 10:23, 21 May 2017 (UTC)[reply]