Apple and RPM package administrators refer to this 64-bit architecture as "x86-64" or "x86_64". Oracle Bone Inscriptions and Microsoft call it "x64". BSD family and other Linux distributions use "x64-64", the 32-bit version is called "i386" (or i486/586/686), and Arch Linux calls this 64-bit architecture x86_64.
Basic introduction Chinese name: X86-64 mbth: X86-64 support: 64-bit compatibility: X86 instruction set launching company: AMD abbreviation: x64 introduction, AMD64, architecture features, market analysis, Intel 64, overview, architecture features, operating system support, DOS, FreeBSD, Linux, Mac OS X, Menuetos, NetBSD, OpenBSD, Solaris, Windows, industry naming convention, application products, brief introduction X86-64 (also known as X64, the abbreviation of 64-bit e Xtender, and the 64-bit extension X64 was designed by AMD in 1999. AMD disclosed the 64-bit set for the first time and extended it to x86, which is called "AMD64". Later, it was also adopted by Intel, and now it is called Intel 64. Clackamas Technology (CT), IA-32e and EM64T have been used before. Apple and RPM package administrators refer to this 64-bit architecture as "x86-64" or "x86_64". Oracle Bone Inscriptions and Microsoft call it "x64". BSD family and other Linux distributions use "x64-64", the 32-bit version is called "i386" (or i486/586/686), and Arch Linux calls this 64-bit architecture x86_64. The AMD64 AMD64 instruction set has been applied to the newer processors such as Athlon 64, Athlon 64 FX, Athlon 64 X2, Turion 64, Turion 64 X2, Opteron, Sempron, Phenom, AMD APU and AMD Ruilong. Architecture features Before x86-64 appeared, Intel and HP jointly designed IA-64 architecture; However, IA-64 is not compatible with x86, and the market response is relatively cold. At the same time, IA-64 is subject to many patents, which makes it impossible for other manufacturers to imitate it. AMD64 architecture compatible with x86 came into being. As the name implies, its main features include supporting 64-bit general-purpose registers, 64-bit integer and logic operations, and 64-bit virtual addresses. Designers have made many improvements to the building. Some major changes are as follows: increasing the register address width and lengthening the NX bit of SSE2 and SSE3 instructions; AMD64 has a "do not execute" bit. Market analysis AMD64 represents AMD giving up the consistent style of following Intel standards, and choosing to expand the x86 architecture to a 64-bit version just like expanding 16-bit Intel 8086 to a 32-bit Intel 80386, which is compatible with the original standards. AMD64 architecture adds 64-bit registers on the basis of IA-32, and is compatible with earlier 16-bit and 32-bit software, which can easily convert the existing x86-oriented compiler into AMD64 version. In addition, NX bit is also one of the notable features. Many people think that a 64-bit RISC chip like DEC Alpha will eventually replace the outdated and changeable x86 architecture. But in fact, the application software of x86 system is too huge, which is the main reason why Alpha can't replace x86. AMD64 can effectively migrate x86 architecture to 64-bit environment, and is compatible with the original x86 applications. Intel 64 Intel 64 instruction set is suitable for Pentium 4, Pentium D, Pentium Extreme Edition, Celeron D, Xeon, Intel Core 2, Intel Core i3, Intel Core i5, Intel Core i7 and Intel Core i9 processors. Summarizing the history of Intel 64 project is quite long and complicated, mainly because of Intel's own internal affairs. The project was initially code-named "Yamhill", but Intel has always claimed that its project does not exist. Until the beginning of 2004, Intel changed its name and changed its code name to CT(Clackamas Technology). Within weeks of announcing the CT project, Intel gave the project several new names. After the Intel Developer Forum in the spring of 2004, Intel named it "IA-32E", which means an extension of IA-32. A few weeks later, it was renamed as EM64T. Intel kept this project a secret for a long time for two reasons. First of all, Intel doesn't want customers to be confused about the future of the ItaniumIA-64 processor and x86. But when Intel saw the success of Snapdragon and Athlon 64 in using AMD64, it had to meet the threat of competitors. The second reason is that for the sake of its own face, Intel will not admit to using the technology of rival AMD. Therefore, Intel introduced this technology in the name of EM64T. Although the kernel and AMD64 are almost the same, they are like twin brothers. However, if Intel uses the name AMD64, it is equivalent to advertising for its competitors. In Intel's past marketing, Intel always dismissed AMD's products as imitations of its own technology; However, this time AMD took the lead in developing civilian 64-bit technology, and Intel needs to absorb AMD's technology in turn, which makes Intel's leading position in the research and development of x86 processor technology suffer heavy losses, so Intel needs to use more manpower and material resources to build momentum. Craig Barrett, Intel's chairman, later admitted that the secret was the worst protected in terms of confidentiality. In the documentation of Intel 64(EM64T), there is no mention of the origin of its instruction set. Therefore, some media nicknamed it "iAMD64", satirizing Intel's use of AMD's technology to cater to AMD's civilian 64-bit technology, directly absorbing AMMD64, repackaging it and changing its name. Later, Intel simply named this technology Intel 64. Architecture Features Intel 64 allows processors to directly access more than 4GB of memory to run larger applications. The x86-64 architecture also adds additional registers and other improvements to the instruction set. Through the upper limit of 64-bit memory address, its theoretical upper limit of memory size reaches 65,438+06,000,000 TB (65,438+06 EB), but it cannot support the complete 64-bit address in the initial application. Intel has used its own 64-bit IA-64 technology on Itanium processors before. Although Intel 64 is also 64-bit, they are not compatible, that is, IA-64 software cannot run directly on Intel 64. X86-64 used by Intel 64 is an extension of IA-32 instruction set, while IA-64 is another independent architecture without IA-32 shadow at all. Although IA-64 can run the instructions of IA-32 through simulation, it needs to convert the instructions before running, which leads to its slow speed. Because x86-64 is derived from IA-32, it is more than enough to run IA-32 and 64-bit programs. The first processor with Intel 64 technology belongs to Xeon model and supports dual processors. Its core name is Nokona. Because Xeon is directly built on the architecture of desktop Pentium 4, Pentium 4 motherboard can also use Intel 64, such as Hyper-Threading. However, the original Prescott version did not activate Intel 64, probably because it was not perfect at that time. Intel 64 can be used on the Pentium 4 processor using the updated version of Prescott core E0, which is called Pentium 4 F, and the updated version of E0 adds "execute disable" bit, which is equivalent to NX bit of AMD64. The operating system supports x86-64 architecture, and the following operating systems all support long mode. In the DOS environment, DOS can enter the protection mode through a DOS extender (such as DOS4GW). FreeBSD FreeBSD tested x86-64 in 5. 1 official version. By the official version of 6.0, some problems of running 32-bit programs on x86-64 were solved, and many drivers were supported. Linux Linux began to join the long mode at the core of version 2.6, supporting x86-64, being compatible with 32-bit programs and simulating 32-bit systems, and allowing programs to be compiled into 64-bit versions in a 32-bit environment. Mac OS x MAC OS x 10.6 Snow Leopard began to provide a 64-bit kernel, which can be opened on some processors. 64-bit kernel only supports 64-bit kernel extensions, and vice versa; However, for ordinary applications, both 32-bit and 64-bit cores can support applications with two bit widths, but 32-bit programs can only use 4GB of memory space. Mac OS X 10.5 Leopard provides 64-bit support for GUI programs of Cocoa, Quartz, OpenGL and X 1 1 on Intel and PowerPC, and supports all command line libraries and programs. But the core is still only a 32-bit version. Mac OS X uses universal binary file format to package 32-bit and 64-bit programs and library codes in the same file, and automatically selects the most appropriate version when loading. In Mac OS X 10.6, the kernel and kernel extensions also use common binary format to support these two architectures. 2065438+From April 2008, Apple will remind you when running 32-bit applications in the macOS High Sierra operating system. It was announced at WWDC in June 20 18 that macOS Mojave will be the last version of macOS supporting 32-bit applications. MenuetOS x86-64 version of MenuetOS system was launched in June 2005. Although the original 32-bit version of Menuet was licensed by GPL, the x86-64 version is still exclusive and released as free software, and some components' source codes are provided. NetBSD x86-64 version NetBSD was first proposed in June 2006 19, and NetBSD 2.0 released on February 9, 2004 has fully supported x86-64. OpenBSD has been supporting x86-64 since it released version 3.5 on May 1 2004. Solaris Sunrise Solaris has supported x86-64 since version 10. Windows XP Professional x64 Edition for clients and Windows Server 2003SP1x64 Edition for servers were released in March 2005. Windows Vista、Windows Server 2008、Windows Server 20 12、Windows Server 20 12 R2、Windows Server 20 16、Windows Server 20 19、 Windows 7, Windows 8, Windows 8. 1 and Windows 10 all have corresponding 64-bit versions. Windows Server operating system is only available in 64-bit version since Windows Server 2008 R2. Industry appellation convention Because AMD64 and Intel64 are basically the same, many software and hardware products use a word that is not biased towards either side to indicate compatibility between the two architectures. For this reason, AMD sometimes uses the original name of this CPU architecture-"x86-64", and there is another variant "x86_64". Other companies such as Microsoft and Sun Microsystems use "x64" as the abbreviation of "x86-64" in marketing materials. Many operating systems and products, especially those that introduced x86-64 support before Intel entered this market, use "AMD64" or "AMD64" to refer to amd64 and Intel64. BSD systems (such as FreeBSD, NetBSD and OpenBSD) and some Linux distributions (such as Debian, Ubuntu and Gentoo) refer to amd64 and Intel64 as "AMD64". Red Hat's RPM calls x86-64 x86_64 or x86-64, 32-bit IA-32 i*86(* is a number from 3 to 6, such as i386). Arch Linux calls x86-64 x86_64. FedoraPackageKit calls the 64-bit architecture "x86_64". Java Development Kit (JDK): The directory containing x86-64 files is named "amd64". Mac OS X: The command arch under the terminal and the developer's documentation show that Apple calls the 64-bit architecture "x86_64". Microsoft Windows: Using 64-bit technology on IA-32 processor is called "x64", but some related directories are marked as AMD64. For example, the system directory on the installation CD of the x64 version of Windows is named "AMD64", while the 32-bit version is named "i386". Solaris: The command isalist of the operating system defines both amd64 and Intel64 as "AMD64". Application Products The following processor products use x86-64 technology. As of September 20 18, almost all consumer products on the market have adopted x86-64 technology. AMDK8(AMD64) microprocessor architecture AMD Athlon 64 AMD Athlon 64 X2 AMD Athlon 64 FX AMD Opteron AMD Turion 64 AMD Sempron (only all Manila models and all Spartan models after Palermo E6 stepping) AMDK 1 0 microprocessor architecture AMD Phenom AMD Athlon AMD Sempron AMD bulldozer microprocessor architecture AMDFX series AMD Fusion (APU) AMD Llano AMD Ontario AMD Zacate AMD Bobcat microprocessor CPU core architecture Intel Xeon ("Woodcrest"). Intel Core 2 Intel Pentium Dual Core Intel Celeron (model from "Core") Intel Core Microprocessor Architecture Intel Xeon Intel Core i7 Intel Core i5 Intel Core i. 3 Intel Pentium Intel Celeron Intel Sandy Bridge Microprocessor Architecture Intel Xeon Intel Core i7 Intel Core i5 Intel Core i3 Intel Pentium Intel Celero N intellivybridge Microprocessor Architecture Intel Xeon Intel Core i7 Intel Core i5 Intel Core i3 Intel Pentium Intel Celeron Intel Core Microprocessor Architecture Intel Xeon. N Intel Core i7 Intel Core i5 Intel Core i3 Intel Pentium Intel Celeron Intel Roadwell Microprocessor Architecture Intel Xeon Intel Core i7 Intel Core i5 Intel Core i3 Intel Core i7 Intel Core i5 Intel Core i3 Intel Pentium Intel Celeron Intel Atom (Part)