This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 |
Is x86-64 the architecture name or a name pointing to implementations of Intel64 and AMD64?
The same question would in turn turns to the name AMD64 and Intel64. Exactly, is the legacy mode, IA-32, part of them, or just reserved for a duration helping maintain the legacy and transit in the implementations of their both?
Few documented details of Yamhill, and also rumored all the Prescott Pentium 4 already equipped with 64-bit support but just not enabled, or nobody knew how to. Is the name IA-32e the product of later Clackamas Technology or that Yamhill? If the latter, might IA-32e imply that the Intel's own 64-bit extension support might be a sub-mode alongside 32/16bit protected, rather than a completely switch-out like it in AMD64, leaving the OS kernel 32bit with the extension support for the potential 64-bit applications? Sorry for my fantasy guess. Janagewen ( talk) 23:02, 7 September 2014 (UTC)
I am Done from this topic.
Janagewen (
talk)
00:09, 25 October 2014 (UTC)
Janagewen made this edit, resulting in the following text - I've bolded the new bit:
* Early Intel 64 implementations only allowed access to 64 GB of physical memory while original AMD64 implementations allowed access to 1 TB of physical memory. Recent AMD64 implementations provide 256 TB of physical address space (and AMD plans an expansion to 4 PB) citation needed, while some Intel 64 implementations could address up to 64 TB [1]. Physical memory capacities of this size are appropriate for large-scale applications (such as large databases), and high-performance computing (centrally oriented applications and scientific computing.)
(46 bits gives you 64 TiB.) This is a very interesting find, and well-referenced, albeit to a primary source. It's actually contradicted, though, by later material in the very same set of documents. In Part 3, the "System Programmer's Guide", section 4.5, says:
IA-32e paging translates 48-bit linear addresses to 52-bit physical addresses.
But the document also frequently references a model-specific characteristic called MAXPHYADDR, the number of bits of physical address supported by the CPU. It is clear, for ex. on page 4-19, that this can never be greater than 52:
M is an abbreviation for MAXPHYADDR, which is at most 52; see Section 4.1.4.
but that it might be less. Section 4.1.1 doesn't say anything about it except that it can't be greater than 52. 252 give you 4 PiB.
So, what should we do with this? It seems extremely clear to me that 52 bits is the architectural limit. Perhaps 46 bits is the most supported by any current processor. Or perhaps it's the least. Or maybe it was 46 bits on the first implementation. Or maybe it's an old bit of text that hasn't been updated in too long. We really have no way of knowing.
Is there a RS somewhere for a table of MAXPHYADDR values for various Intel processors? Or even a non-RS? (Not in our endless collection of articles like "List of Intel Core7 CPUs", there isn't.) I think this would be useful to help interpret the doc. Maybe we should just cite the architectural limit of 52 bits and note that implementations can support fewer? Jeh ( talk) 09:23, 23 October 2014 (UTC)
For the IA-32 architecture, there are at most 8192 local segment descriptors and 8192 global descriptors, which means 16384 descriptors in total, referenced by 14 bits on the segment registers, such as CS, SS and so forth. Each segment has maximum 4GiB space, could be represented and referenced by 32 bits. If all the segments never overlap each other, then logically there would be 64TiB (16K segments of 4GiB segments space) space could be addressing by 46 bits. And this 46 bits are the logical address in the IA-32 architecture and most potential addressing limit for the original IA-32 architecture.
Processors | Physical Addressing Bit Width |
---|---|
Intel Pentium Pro/Pentium II/Pentium III/Pentium II Celeron/Celeron | 36 bits |
Intel Pentium 4/Pentium 4 Celeron/Pentium D/Celeron D | 36 bits |
Intel Core 2/Pentium Dual-Core/Celeron | 36 bits |
Intel Core i3/i5/i7/Celeron/Pentium | 36 to 39 bits |
Intel Xeon | 36 to 46 bits |
AMD Athlon 64/Athlon X2/Sempron/Sempron X2 | 40 bits |
AMD Athlon/Athlon II/Sempron/Sempron X2 | 48 bits |
AMD C-50 | 36 bits |
AMD APU A4/A5/A6/A8/Athlon/Sempron | 48 bits |
X86-64#AMD64 lists AMD's AMD64 processors at the beginning and also in the "Implementations" subsection. The same is true for Intel's Intel64 processors in X86-64#Intel64 and its "Implementations" subsection. Should one of each of those pairs be removed? Guy Harris ( talk) 23:07, 14 February 2015 (UTC)
This is quite an interesting and important thing which might always confuse beginners trying to get in touch with x86-64 architecture. Some might confuse and mistake x86-64 architecture is an 48-bit architecture, no, that is absolutely wrong. x86-64 is a real 64-bit architecture, 64-bit(48-bit implemented) virtual address and 52-bit(48-bit implemented) physical address for AMD64, 64-bit(48-bit implemented) virtual address and 46-bit(fully implemented for latest Xeon processors) physical address for Intel64. 64-bit virtual/linear address is further paged into four levels, the top level is PML4, Page-map level-4, ranging from 9-bit (48-bit LA) through 25-bit (64-bit LA), leaving other three levels as 9-bit each for walking through a 4-KiB (12-bit) page. So if future x86-64 processors could fully implement 64-bit virtual address, this paging schema would not be changed. For AMD64 processor, under legacy mode, it could address up to 40 or 48-bit physical space when PAE enabled.
Another thing should also be paid attention to, the PAE capability is irrelative with it of IMC, Integrated Memory Controller. The actual maximum memory support is much less than it, but large physical space could enable devices to map their resources into this space, making expanded memory possible too. — Preceding unsigned comment added by 221.9.23.11 ( talk) 02:09, 15 February 2015 (UTC)
“ | When engineers at Intel started with a “clean sheet of paper” in 1991, it was no surprise that two schools of thought emerged: one to extend CISC IA-32 instructions to support 64-bits, and another to introduce a cleaner RISC style instruction set with the 64-bit support (while maintaining the old instructions for compatibility). While we settled on the RISC approach for a new 64-bit architecture, the attractive idea of extending IA-32 for 64-bit addressing was revisited several times within Intel. It turns out that, for all the marketing charm that a simplistic idea like adding 64-bit addressing to IA-32 holds, in reality that approach would not yield the long-term value we needed. We didn’t figure it out right away, but the RISC approach faced the same reality. | ” |
The above words are directly referenced from Foreword of Itanium Architecture for Software Developers by Walter Triebel, Intel Press 2000, ISBN: 0970284640. Focusing on the date, 1991, possibly guesses would easily be put to consideration of Intel's own 64-bit version of IA-32 more than a decade before Yamhill rumoured. 175.17.63.223 ( talk) 01:52, 15 September 2015 (UTC)
It should be clearly noted that the term "x64" is wrong and only used by two companies. The correct terms used by Intel and AMD are "x86_64" and "amd64". 193.166.70.166 ( talk) 12:51, 30 September 2015 (UTC)
“ | x64 is a generic name for the 64-bit extensions to Intel's and AMD's 32-bit x86 instruction set architecture (ISA). AMD introduced the first version of x64, initially called x86-64 and later renamed AMD64. Intel named their implementation IA-32e and then EMT64. | ” |
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
With the 80386, the 86/186/286 instruction set is extended in two orthogonal directions: 32-bit forms of all 16-bit instructions are added to support the 32- bit data types, and 32-bit addressing modes are made available for all instructions referencing memory. This orthogonal instruction set extension is accomplished having a Default (D) bit in the code seg- ment descriptor, and by having 2 prefixes to the instruction set.
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
As far as I'm concerned, "x86" is the family of instruction sets that includes the 16-bit version without an MMU, the 16-bit version with an MMU, the 32-bit version, and the 64-bit version, so the "difference between x86-64 and x86" is that x86 is the family and x86-64 is the 64-bit member of the family.
x86 has several modes:
Not all of the features of a version of the architecture are accessible from all modes supported by that version of the architecture. You can't do virtual-memory segmentation, or paging, in real mode. You can't do paging in 16-bit protected mode in the 16-bit version with an MMU, although you can run 16-bit protected-mode code in 32-bit protected mode, with or without paging. You can't support linear addresses larger than 32 bits in the 32-bit version. None of this makes x86-64 anything other than the 64-bit version of x86, as far as I'm concerned, and I don't see "64-bit instruction set of x86 processor" as being an improvement over "64-bit version of the x86 instruction set". For one thing, not all x86 processors support a 64-bit instruction set, only the ones that support the 64-bit version do. An "x86 processor" is just a processor that supports some version of the x86 instruction set, just as a MIPS processor is a processor that supports some version of the MIPS instruction set (32-bit or 64-bit), and a SPARC processor is a processor that supports some version of the SPARC instruction set (32-bit or 64-bit), and a PowerPC/Power ISA processor is a processor that supports some version of the PowerPC/Power ISA instruction set (32-bit or 64-bit), and a "System/3x0", or whatever it should be called, is a processor that supports some version of the System/3x0 instruction set (which includes System/360, System/370, System/370-XA, System/370-ESA, System/390, and z/Architecture, so it includes 32-bit with 24-bit physical addresses, 32-bit with 24-bit virtual addresses, 32-bit with 31-bit virtual addresses, 32-bit with multiple address spaces each with 31-bit virtual addresses, and 64-bit with multiple address spaces each with 64-bit virtual addresses; that family of instruction sets also has multiple modes, and not all of the features of a version of the architecture are accessible from all modes, and the behavior of instructions is mode-dependent, e.g. the uppermost 8 bits of addresses are ignored in the 24-bit address modes and the uppermost bit of addresses is ignored in the 31-bit address modes). Guy Harris ( talk) 06:47, 12 October 2015 (UTC)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
Hello fellow Wikipedians,
I have just added archive links to one external link on
X86-64. Please take a moment to review
my edit. If necessary, add {{
cbignore}}
after the link to keep me from modifying it. Alternatively, you can add {{
nobots|deny=InternetArchiveBot}}
to keep me off the page altogether. 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}}).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— cyberbot II Talk to my owner:Online 03:55, 28 February 2016 (UTC)
Hello fellow Wikipedians,
I have just modified 6 external links 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:
{{
dead link}}
tag to
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmdac/html/data_mdacroadmap.aspWhen you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 13:35, 21 July 2016 (UTC)
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}}
).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 23:16, 8 November 2016 (UTC)
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)
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)
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)
Section started by blocked user |
---|
The following discussion has been closed by jeh. Please do not modify it. |
@ 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)
|
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!
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.
1.I vote option II. 221.9.23.59 ( talk) 13:41, 16 May 2017 (UTC) 0.Sockpuppets don't get to vote. Jeh ( talk) 13:53, 16 May 2017 (UTC)
|
This
edit request to
X86-64 has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
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)
"without the need for code written for the legacy x86 component"
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.
are the codes written in x86 able to work on those game consoles?
As to the PS4, there is nobody hacking it and enable it to work as a traditional PC.
There are some problems after you changed, [...] [and] your version is a little bit worse than the former. But I do appreciate your request.
You censored the "successors", you might possibly treat those successors are the following versions of PS4 or Xbox One
yeah, processors are the physical realisation of specific microarchitecture, but such expression is quite rare to find.
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?
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 ( talk • contribs) 08:00, 18 May 2017 UTC (UTC)
We need sources! — Preceding unsigned comment added by 221.9.19.34 ( talk) 10:23, 21 May 2017 (UTC)
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 ( talk • contribs) 15:48, 18 May 2017 (UTC)
"64-bit version of x86...", "enhanced version of PAE...", this title referenced and many more, is that the versionstar invented by version genius? No, the x86-64 architecture in VIA Nano processors are the strict clone of AMD64, only with additional unrelated additional instruction sets from Centaur Technology. — Preceding unsigned comment added by 221.9.22.167 ( talk) 10:14, 25 May 2017 (UTC)
"Note, BTW, that VIA repeatedly speak of it as an x86 chip...."
Under the
official openSUSE wiki we are said that AMD is also a donor to openSUSE, however why openSUSE refers 64-bit into x86_64 (like
Fedora,
macOS,
Arch Linux,
Slackware), instead of amd64 (like
Debian and
his derivatives and
Gentoo)?
202.40.137.199 (
talk)
01:49, 4 June 2017 (UTC)
War, the IP to whom you responded ( 175.19.66.153 ( talk · contribs · deleted contribs · logs · filter log · block user · block log)) is a confirmed sockpuppet of LTA Janagewen. I recommend WP:RBI, consistent with WP:DFTT. Jeh ( talk) 01:14, 11 June 2017 (UTC)
Hello fellow Wikipedians,
I have just modified 4 external links 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, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 11:40, 3 September 2017 (UTC)
A small detail, I know -- I found it confusing that the caption on the X86-64 page says " Opteron, the first CPU to introduce the x86-64 extensions in 2003" while the inset image clearly shows a copyright date of 2001 printed on the CPU. It immediately begged the question "which is it: 2001 or 2003?" Documentation, both here and externally, agree that the official Opteron release date was 2003.
Perhaps the image is of a prerelease unit? The model number "OSA146DAA5BN" indicates an OEM/non-retail CPU. The OEM aspect implies it was likely produced for system builders like Dell, HP, Compaq, or Gateway. These companies would have needed some prerelease CPU's for development and initial release. That could explain the 2001 date. Except... Adding to potential confusion, this model wasn't actually released until 2005 (at least, according to the list of AMD Opteron microprocessors).
I don't know if it is possible to find an image of an Opteron CPU with a 2003 copyright date, much less of a model that was also released in 2003. I feel this would be the ideal solution. I know that copyright dates don't always align with release dates, but a 2 year difference feels extreme. A quicker-and-good-enough solution might be to drop the "in 2003" from the image caption. I could make the edit myself, but would appreciate the opinions/involvement of experienced editors.
-- GG Crew ( talk) 06:36, 7 January 2018 (UTC)
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)
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)
According to the lead,
According to the History section,
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)
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)
x86-64 (also known as x64, x86_64, AMD64 and Intel 64[note 1]) is the 64-bit version of the x86 instruction set. — Preceding unsigned comment added by JustAUser201468 ( talk • contribs) 06:49, 21 June 2021 (UTC)
Instead of the article being "x86-64" with a dash and listing "x86_64" as an alias, we should do it the other way around and have "x86_64" with an underscore be the article name with "x86-64" listed as an alias. In the vast majority of places I've seen the architecture written down it is "x86_64", not "x86-64". I assume this is mostly the case because "-" cannot be used in an identifier in programming languages. However, outside of the actual content of programs, it seems that programmers almost always use "x86_64" when chatting or writing documentation. So I propose we rename the article to "x86_64". Aaronfranke ( talk) 06:06, 31 August 2021 (UTC)
Current AMD64 processors support a physical address space of up to 248 bytes of RAM, or 256 TiB.[18] However, as of 2020, there were no known x86-64 motherboards that support 256 TiB of RAM.
Aside from the "248 bytes" thing (LOLWUT?), those kind of address spaces aren't now, and probably will never be available on a single motherboard. Most home users still buy computers with 8 or 16GB of ram on a regular basis despite modern operating systems performing far better with 64GB and above unless they've just not bothered to implement memory caching of hot data. Intel processors support using PCIe lanes as transparent links or other types of bridges to other motherboards and devices for clustering purposes, and sharing of memory spaces that aren't necessarily board-local. So no, a single motherboard doesn't support 256TB, but something like a 3rd generation scalable Xeon in 2S configuration could have 12TB on a board, and multiple lanes loaded up with high speed interconnects to other boards. Depending on the configuration of the PCIe links you could probably expose 256TB to a single processor within a half-filled rack of blade servers, and I'm just spitballing there because things have probably progressed quite a bit since I last read a processor spec sheet and the method of configuring this at the hardware level in detail. There's a reason 57-bit addressing is already a thing in the architecture docs and I guarantee it isn't because nobody needed it fast.
Mentioning that it can't be done on a single board is pointless; they don't make ram modules large enough to fill out the number of slots that can be crammed within the very short distance to the processor required because of timing issues as of 2022. E7v4 Xeons capable of 8S configurations managed tons of ram with memory riser boards; the cost was that the memory controllers were moved out onto the risers, the boards needed to be fully populated, and the RAM ran a decent downclock below the standard 2133MHz speed of DDR4 so timing could work. A Shortfall Of Gravitas ( talk) 13:26, 22 April 2022 (UTC)
@ Locke Cole: COMPUNITS reads "Do not assume that the binary or decimal meaning of prefixes will be obvious to everyone. Explicitly specify the meaning of k and K as well as the primary meaning of M, G, T, etc. in an article ( is a convenient helper). Consistency within each article is desirable, but the need for consistency may be balanced with other considerations." My edit made the meaning obvious. Yours achieved the opposite. Dondervogel 2 ( talk) 16:43, 12 April 2021 (UTC)
Specifies the size of the segment. The processor puts together the two segment limit fields to form a 20-bit value. The processor interprets the segment limit in one of two ways, depending on the setting of the G (granularity) flag:
- If the granularity flag is clear, the segment size can range from 1 byte to 1 MByte, in byte increments.
- If the granularity flag is set, the segment size can range from 4 KBytes to 4 GBytes, in 4-KByte increments.
References
This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 | Archive 2 |
Is x86-64 the architecture name or a name pointing to implementations of Intel64 and AMD64?
The same question would in turn turns to the name AMD64 and Intel64. Exactly, is the legacy mode, IA-32, part of them, or just reserved for a duration helping maintain the legacy and transit in the implementations of their both?
Few documented details of Yamhill, and also rumored all the Prescott Pentium 4 already equipped with 64-bit support but just not enabled, or nobody knew how to. Is the name IA-32e the product of later Clackamas Technology or that Yamhill? If the latter, might IA-32e imply that the Intel's own 64-bit extension support might be a sub-mode alongside 32/16bit protected, rather than a completely switch-out like it in AMD64, leaving the OS kernel 32bit with the extension support for the potential 64-bit applications? Sorry for my fantasy guess. Janagewen ( talk) 23:02, 7 September 2014 (UTC)
I am Done from this topic.
Janagewen (
talk)
00:09, 25 October 2014 (UTC)
Janagewen made this edit, resulting in the following text - I've bolded the new bit:
* Early Intel 64 implementations only allowed access to 64 GB of physical memory while original AMD64 implementations allowed access to 1 TB of physical memory. Recent AMD64 implementations provide 256 TB of physical address space (and AMD plans an expansion to 4 PB) citation needed, while some Intel 64 implementations could address up to 64 TB [1]. Physical memory capacities of this size are appropriate for large-scale applications (such as large databases), and high-performance computing (centrally oriented applications and scientific computing.)
(46 bits gives you 64 TiB.) This is a very interesting find, and well-referenced, albeit to a primary source. It's actually contradicted, though, by later material in the very same set of documents. In Part 3, the "System Programmer's Guide", section 4.5, says:
IA-32e paging translates 48-bit linear addresses to 52-bit physical addresses.
But the document also frequently references a model-specific characteristic called MAXPHYADDR, the number of bits of physical address supported by the CPU. It is clear, for ex. on page 4-19, that this can never be greater than 52:
M is an abbreviation for MAXPHYADDR, which is at most 52; see Section 4.1.4.
but that it might be less. Section 4.1.1 doesn't say anything about it except that it can't be greater than 52. 252 give you 4 PiB.
So, what should we do with this? It seems extremely clear to me that 52 bits is the architectural limit. Perhaps 46 bits is the most supported by any current processor. Or perhaps it's the least. Or maybe it was 46 bits on the first implementation. Or maybe it's an old bit of text that hasn't been updated in too long. We really have no way of knowing.
Is there a RS somewhere for a table of MAXPHYADDR values for various Intel processors? Or even a non-RS? (Not in our endless collection of articles like "List of Intel Core7 CPUs", there isn't.) I think this would be useful to help interpret the doc. Maybe we should just cite the architectural limit of 52 bits and note that implementations can support fewer? Jeh ( talk) 09:23, 23 October 2014 (UTC)
For the IA-32 architecture, there are at most 8192 local segment descriptors and 8192 global descriptors, which means 16384 descriptors in total, referenced by 14 bits on the segment registers, such as CS, SS and so forth. Each segment has maximum 4GiB space, could be represented and referenced by 32 bits. If all the segments never overlap each other, then logically there would be 64TiB (16K segments of 4GiB segments space) space could be addressing by 46 bits. And this 46 bits are the logical address in the IA-32 architecture and most potential addressing limit for the original IA-32 architecture.
Processors | Physical Addressing Bit Width |
---|---|
Intel Pentium Pro/Pentium II/Pentium III/Pentium II Celeron/Celeron | 36 bits |
Intel Pentium 4/Pentium 4 Celeron/Pentium D/Celeron D | 36 bits |
Intel Core 2/Pentium Dual-Core/Celeron | 36 bits |
Intel Core i3/i5/i7/Celeron/Pentium | 36 to 39 bits |
Intel Xeon | 36 to 46 bits |
AMD Athlon 64/Athlon X2/Sempron/Sempron X2 | 40 bits |
AMD Athlon/Athlon II/Sempron/Sempron X2 | 48 bits |
AMD C-50 | 36 bits |
AMD APU A4/A5/A6/A8/Athlon/Sempron | 48 bits |
X86-64#AMD64 lists AMD's AMD64 processors at the beginning and also in the "Implementations" subsection. The same is true for Intel's Intel64 processors in X86-64#Intel64 and its "Implementations" subsection. Should one of each of those pairs be removed? Guy Harris ( talk) 23:07, 14 February 2015 (UTC)
This is quite an interesting and important thing which might always confuse beginners trying to get in touch with x86-64 architecture. Some might confuse and mistake x86-64 architecture is an 48-bit architecture, no, that is absolutely wrong. x86-64 is a real 64-bit architecture, 64-bit(48-bit implemented) virtual address and 52-bit(48-bit implemented) physical address for AMD64, 64-bit(48-bit implemented) virtual address and 46-bit(fully implemented for latest Xeon processors) physical address for Intel64. 64-bit virtual/linear address is further paged into four levels, the top level is PML4, Page-map level-4, ranging from 9-bit (48-bit LA) through 25-bit (64-bit LA), leaving other three levels as 9-bit each for walking through a 4-KiB (12-bit) page. So if future x86-64 processors could fully implement 64-bit virtual address, this paging schema would not be changed. For AMD64 processor, under legacy mode, it could address up to 40 or 48-bit physical space when PAE enabled.
Another thing should also be paid attention to, the PAE capability is irrelative with it of IMC, Integrated Memory Controller. The actual maximum memory support is much less than it, but large physical space could enable devices to map their resources into this space, making expanded memory possible too. — Preceding unsigned comment added by 221.9.23.11 ( talk) 02:09, 15 February 2015 (UTC)
“ | When engineers at Intel started with a “clean sheet of paper” in 1991, it was no surprise that two schools of thought emerged: one to extend CISC IA-32 instructions to support 64-bits, and another to introduce a cleaner RISC style instruction set with the 64-bit support (while maintaining the old instructions for compatibility). While we settled on the RISC approach for a new 64-bit architecture, the attractive idea of extending IA-32 for 64-bit addressing was revisited several times within Intel. It turns out that, for all the marketing charm that a simplistic idea like adding 64-bit addressing to IA-32 holds, in reality that approach would not yield the long-term value we needed. We didn’t figure it out right away, but the RISC approach faced the same reality. | ” |
The above words are directly referenced from Foreword of Itanium Architecture for Software Developers by Walter Triebel, Intel Press 2000, ISBN: 0970284640. Focusing on the date, 1991, possibly guesses would easily be put to consideration of Intel's own 64-bit version of IA-32 more than a decade before Yamhill rumoured. 175.17.63.223 ( talk) 01:52, 15 September 2015 (UTC)
It should be clearly noted that the term "x64" is wrong and only used by two companies. The correct terms used by Intel and AMD are "x86_64" and "amd64". 193.166.70.166 ( talk) 12:51, 30 September 2015 (UTC)
“ | x64 is a generic name for the 64-bit extensions to Intel's and AMD's 32-bit x86 instruction set architecture (ISA). AMD introduced the first version of x64, initially called x86-64 and later renamed AMD64. Intel named their implementation IA-32e and then EMT64. | ” |
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
With the 80386, the 86/186/286 instruction set is extended in two orthogonal directions: 32-bit forms of all 16-bit instructions are added to support the 32- bit data types, and 32-bit addressing modes are made available for all instructions referencing memory. This orthogonal instruction set extension is accomplished having a Default (D) bit in the code seg- ment descriptor, and by having 2 prefixes to the instruction set.
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
As far as I'm concerned, "x86" is the family of instruction sets that includes the 16-bit version without an MMU, the 16-bit version with an MMU, the 32-bit version, and the 64-bit version, so the "difference between x86-64 and x86" is that x86 is the family and x86-64 is the 64-bit member of the family.
x86 has several modes:
Not all of the features of a version of the architecture are accessible from all modes supported by that version of the architecture. You can't do virtual-memory segmentation, or paging, in real mode. You can't do paging in 16-bit protected mode in the 16-bit version with an MMU, although you can run 16-bit protected-mode code in 32-bit protected mode, with or without paging. You can't support linear addresses larger than 32 bits in the 32-bit version. None of this makes x86-64 anything other than the 64-bit version of x86, as far as I'm concerned, and I don't see "64-bit instruction set of x86 processor" as being an improvement over "64-bit version of the x86 instruction set". For one thing, not all x86 processors support a 64-bit instruction set, only the ones that support the 64-bit version do. An "x86 processor" is just a processor that supports some version of the x86 instruction set, just as a MIPS processor is a processor that supports some version of the MIPS instruction set (32-bit or 64-bit), and a SPARC processor is a processor that supports some version of the SPARC instruction set (32-bit or 64-bit), and a PowerPC/Power ISA processor is a processor that supports some version of the PowerPC/Power ISA instruction set (32-bit or 64-bit), and a "System/3x0", or whatever it should be called, is a processor that supports some version of the System/3x0 instruction set (which includes System/360, System/370, System/370-XA, System/370-ESA, System/390, and z/Architecture, so it includes 32-bit with 24-bit physical addresses, 32-bit with 24-bit virtual addresses, 32-bit with 31-bit virtual addresses, 32-bit with multiple address spaces each with 31-bit virtual addresses, and 64-bit with multiple address spaces each with 64-bit virtual addresses; that family of instruction sets also has multiple modes, and not all of the features of a version of the architecture are accessible from all modes, and the behavior of instructions is mode-dependent, e.g. the uppermost 8 bits of addresses are ignored in the 24-bit address modes and the uppermost bit of addresses is ignored in the 31-bit address modes). Guy Harris ( talk) 06:47, 12 October 2015 (UTC)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
(Comment by block-evading sockpuppet removed per WP:DENY. See Wikipedia:Sockpuppet investigations/Janagewen.)
Hello fellow Wikipedians,
I have just added archive links to one external link on
X86-64. Please take a moment to review
my edit. If necessary, add {{
cbignore}}
after the link to keep me from modifying it. Alternatively, you can add {{
nobots|deny=InternetArchiveBot}}
to keep me off the page altogether. 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}}).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— cyberbot II Talk to my owner:Online 03:55, 28 February 2016 (UTC)
Hello fellow Wikipedians,
I have just modified 6 external links 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:
{{
dead link}}
tag to
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmdac/html/data_mdacroadmap.aspWhen you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at {{
Sourcecheck}}
).
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 13:35, 21 July 2016 (UTC)
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}}
).
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 23:16, 8 November 2016 (UTC)
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)
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)
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)
Section started by blocked user |
---|
The following discussion has been closed by jeh. Please do not modify it. |
@ 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)
|
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!
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.
1.I vote option II. 221.9.23.59 ( talk) 13:41, 16 May 2017 (UTC) 0.Sockpuppets don't get to vote. Jeh ( talk) 13:53, 16 May 2017 (UTC)
|
This
edit request to
X86-64 has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
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)
"without the need for code written for the legacy x86 component"
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.
are the codes written in x86 able to work on those game consoles?
As to the PS4, there is nobody hacking it and enable it to work as a traditional PC.
There are some problems after you changed, [...] [and] your version is a little bit worse than the former. But I do appreciate your request.
You censored the "successors", you might possibly treat those successors are the following versions of PS4 or Xbox One
yeah, processors are the physical realisation of specific microarchitecture, but such expression is quite rare to find.
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?
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 ( talk • contribs) 08:00, 18 May 2017 UTC (UTC)
We need sources! — Preceding unsigned comment added by 221.9.19.34 ( talk) 10:23, 21 May 2017 (UTC)
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 ( talk • contribs) 15:48, 18 May 2017 (UTC)
"64-bit version of x86...", "enhanced version of PAE...", this title referenced and many more, is that the versionstar invented by version genius? No, the x86-64 architecture in VIA Nano processors are the strict clone of AMD64, only with additional unrelated additional instruction sets from Centaur Technology. — Preceding unsigned comment added by 221.9.22.167 ( talk) 10:14, 25 May 2017 (UTC)
"Note, BTW, that VIA repeatedly speak of it as an x86 chip...."
Under the
official openSUSE wiki we are said that AMD is also a donor to openSUSE, however why openSUSE refers 64-bit into x86_64 (like
Fedora,
macOS,
Arch Linux,
Slackware), instead of amd64 (like
Debian and
his derivatives and
Gentoo)?
202.40.137.199 (
talk)
01:49, 4 June 2017 (UTC)
War, the IP to whom you responded ( 175.19.66.153 ( talk · contribs · deleted contribs · logs · filter log · block user · block log)) is a confirmed sockpuppet of LTA Janagewen. I recommend WP:RBI, consistent with WP:DFTT. Jeh ( talk) 01:14, 11 June 2017 (UTC)
Hello fellow Wikipedians,
I have just modified 4 external links 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, you may follow the instructions on the template below to fix any issues with the URLs.
An editor has reviewed this edit and fixed any errors that were found.
Cheers.— InternetArchiveBot ( Report bug) 11:40, 3 September 2017 (UTC)
A small detail, I know -- I found it confusing that the caption on the X86-64 page says " Opteron, the first CPU to introduce the x86-64 extensions in 2003" while the inset image clearly shows a copyright date of 2001 printed on the CPU. It immediately begged the question "which is it: 2001 or 2003?" Documentation, both here and externally, agree that the official Opteron release date was 2003.
Perhaps the image is of a prerelease unit? The model number "OSA146DAA5BN" indicates an OEM/non-retail CPU. The OEM aspect implies it was likely produced for system builders like Dell, HP, Compaq, or Gateway. These companies would have needed some prerelease CPU's for development and initial release. That could explain the 2001 date. Except... Adding to potential confusion, this model wasn't actually released until 2005 (at least, according to the list of AMD Opteron microprocessors).
I don't know if it is possible to find an image of an Opteron CPU with a 2003 copyright date, much less of a model that was also released in 2003. I feel this would be the ideal solution. I know that copyright dates don't always align with release dates, but a 2 year difference feels extreme. A quicker-and-good-enough solution might be to drop the "in 2003" from the image caption. I could make the edit myself, but would appreciate the opinions/involvement of experienced editors.
-- GG Crew ( talk) 06:36, 7 January 2018 (UTC)
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)
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)
According to the lead,
According to the History section,
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)
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)
x86-64 (also known as x64, x86_64, AMD64 and Intel 64[note 1]) is the 64-bit version of the x86 instruction set. — Preceding unsigned comment added by JustAUser201468 ( talk • contribs) 06:49, 21 June 2021 (UTC)
Instead of the article being "x86-64" with a dash and listing "x86_64" as an alias, we should do it the other way around and have "x86_64" with an underscore be the article name with "x86-64" listed as an alias. In the vast majority of places I've seen the architecture written down it is "x86_64", not "x86-64". I assume this is mostly the case because "-" cannot be used in an identifier in programming languages. However, outside of the actual content of programs, it seems that programmers almost always use "x86_64" when chatting or writing documentation. So I propose we rename the article to "x86_64". Aaronfranke ( talk) 06:06, 31 August 2021 (UTC)
Current AMD64 processors support a physical address space of up to 248 bytes of RAM, or 256 TiB.[18] However, as of 2020, there were no known x86-64 motherboards that support 256 TiB of RAM.
Aside from the "248 bytes" thing (LOLWUT?), those kind of address spaces aren't now, and probably will never be available on a single motherboard. Most home users still buy computers with 8 or 16GB of ram on a regular basis despite modern operating systems performing far better with 64GB and above unless they've just not bothered to implement memory caching of hot data. Intel processors support using PCIe lanes as transparent links or other types of bridges to other motherboards and devices for clustering purposes, and sharing of memory spaces that aren't necessarily board-local. So no, a single motherboard doesn't support 256TB, but something like a 3rd generation scalable Xeon in 2S configuration could have 12TB on a board, and multiple lanes loaded up with high speed interconnects to other boards. Depending on the configuration of the PCIe links you could probably expose 256TB to a single processor within a half-filled rack of blade servers, and I'm just spitballing there because things have probably progressed quite a bit since I last read a processor spec sheet and the method of configuring this at the hardware level in detail. There's a reason 57-bit addressing is already a thing in the architecture docs and I guarantee it isn't because nobody needed it fast.
Mentioning that it can't be done on a single board is pointless; they don't make ram modules large enough to fill out the number of slots that can be crammed within the very short distance to the processor required because of timing issues as of 2022. E7v4 Xeons capable of 8S configurations managed tons of ram with memory riser boards; the cost was that the memory controllers were moved out onto the risers, the boards needed to be fully populated, and the RAM ran a decent downclock below the standard 2133MHz speed of DDR4 so timing could work. A Shortfall Of Gravitas ( talk) 13:26, 22 April 2022 (UTC)
@ Locke Cole: COMPUNITS reads "Do not assume that the binary or decimal meaning of prefixes will be obvious to everyone. Explicitly specify the meaning of k and K as well as the primary meaning of M, G, T, etc. in an article ( is a convenient helper). Consistency within each article is desirable, but the need for consistency may be balanced with other considerations." My edit made the meaning obvious. Yours achieved the opposite. Dondervogel 2 ( talk) 16:43, 12 April 2021 (UTC)
Specifies the size of the segment. The processor puts together the two segment limit fields to form a 20-bit value. The processor interprets the segment limit in one of two ways, depending on the setting of the G (granularity) flag:
- If the granularity flag is clear, the segment size can range from 1 byte to 1 MByte, in byte increments.
- If the granularity flag is set, the segment size can range from 4 KBytes to 4 GBytes, in 4-KByte increments.
References