x86 and x86-64
用PC这么久了,对于他的大脑:CPU的结构,架构,类型,发展等一直不是很清楚,很多东西一知半解,知其然不知其所以然,趁着这今天不忙,给自己冲冲电,补充下这方面的知识。
目录:
1.32 bit VS 64 bit
2.x86 andx86-64
3.Instruction Set Architecture (ISA)
1)VAX
2)IBMPower
3)ARM architecture
4)MIPSarchitecture
5)IA-32
4.CPU架构类型发展
X86 CPU,IA-32; X86-64,AMD64; EM64T,IA-32e; IA-64(EPIC) 的意思与区别X86系列CPU的历史
64位微处理器体系结构发展回顾和展望(RISC与 IA-64微处理器的发展历史)(64位微处理器的发展历史)①
64位微处理器体系结构发展回顾和展望(RISC与 IA-64微处理器的发展历史)(64位微处理器的发展历史)②
1.32 bit VS 64 bit
32-bit
Incomputerarchitecture,32-bitintegers,memory addresses, or otherdataunits are those thatareat most 32bits(4octets)wide.Also, 32-bitCPUandALUarchitecturesare those that are based onregisters,address buses, ordata busesof that size.32-bitis also a term given to a generation of computers in which 32-bit processors are the norm. The range ofintegervalues that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bitmemory addressescan directly access 4GiBofbyte-addressablememory.
The external address and data buses are often wider than 32 bits but both of these are stored and manipulated internally in the processor as 32-bit quantities. For example, thePentium Proprocessor is a 32-bit machine, but the external address bus is 36 bits wide, and the external data bus is 64 bits wide.[1]
64-bit
Incomputerarchitecture,64-bitintegers,memory addresses, or otherdataunits are those that are at most 64bits(8octets) wide. Also, 64-bitCPUandALUarchitecturesare those that are based onregisters,address buses, ordata busesof that size.64-bitis also a term given to a generation of computers in which 64-bit processors are the norm.
64-bitis awordsize that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them.64-bit CPUs have existed insupercomputerssince the 1970s (Cray-1, 1975) and inRISC-basedworkstationsandserverssince the early 1990s. In 2003 they were introduced to the (previously32-bit) mainstreampersonal computerarena in the form of thex86-64and 64-bitPowerPCprocessor architectures.
A 64-bit register can store 264=18446744073709551616different values, a number in excess of 18quintillion. Hence, a processor with 64-bitmemory addressescan directly access 264bytes ofbyte-addressablememory.
Without further qualification, a64-bit computer architecturegenerally has integer and addressingregistersthat are 64 bits wide, allowing direct support for 64-bit data types and addresses. However, a CPU might have externaldata busesoraddress buseswith different sizes from the registers, even larger (the 32-bitPentiumhad a 64-bit data bus, for instance). The term may also refer to the size of low-level data types, such as 64-bitfloating-pointnumbers.
32-bit vs 64-bit
A change from a32-bitto a 64-bit architecture is a fundamental alteration, as mostoperating systemsmust be extensively modified to take advantage of the new architecture, because that software has to manage the actual memory addressing hardware.[18]Other software must also beportedto use the new capabilities; older 32-bit software may be supported through either ahardware compatibility modein which the new processors support the older 32-bit version of the instruction set as well as the 64-bit version, through softwareemulation, or by the actual implementation of a 32-bit processor core within the 64-bit processor, as with the Itanium processors from Intel, which include anIA-32processor core to run 32-bit x86 applications. The operating systems for those 64-bit architectures generally support both 32-bit and 64-bit applications.[19]
2.x86 andx86-64
x86
The termx86refers to a family ofinstruction set architectures[2]based on theIntel 8086CPU. The 8086 was launched in 1978 as a fully 16-bit extension of Intel's 8-bit based8080microprocessor and also introducedsegmentationto overcome the 16-bit addressing barrier of such designs. The term x86 derived from the fact that early successors to the 8086 also had names ending in "86". Many additions and extensions have been added to the x86 instruction set over the years, almost consistently with fullbackward compatibility.[3]The architecture has been implementedin processors fromIntel,Cyrix,AMD,VIA, and many others.
The term is not synonymous withIBM PC compatibilityas this implies a multitude of othercomputer hardware;embedded systemsas well as general-purpose computers used x86 chipsbefore the PC-compatible market started,[4]some of them before theIBM PCitself.
As the term became commonafterthe introduction of the80386, it usually implies binary compatibility with the 32-bitinstruction setof the 80386. This may sometimes be emphasized asx86-32[5]to distinguish it either from the original 16-bit "x86-16" or from the 64-bitx86-64.[6]Although most x86 processors used innewpersonal computersandservershave 64-bit capabilities, to avoid compatibility problems with older computers or systems, the termx86-64(orx64) is often used to denote 64-bit software, with the termx86implying only 32-bit.[7][8]
Although the 8086 was primarily developed forembedded systemsand small single-user computers, largely as a response to the successful 8080-compatibleZilog Z80,[9]the x86 line soon grew in features and processing power. Today, x86 is ubiquitous in both stationary and portable personal computers and has replacedmidrange computersandRISC-basedprocessors in a majority of servers andworkstationsas well. A large amount ofsoftware, includingoperating systems(OSs) such asDOS,Windows,Linux,BSD,Solaris, andMac OS Xsupports x86-based hardware.
Modern x86 is relatively uncommon inembedded systems, however, and smalllow powerapplications (using tiny batteries) as well as low-cost microprocessor markets, such ashome appliancesand toys, lack any significant x86 presence.[10]Simple 8-bit and 16-bit based architectures are common here, although the x86-compatibleVIA C7,VIA Nano,AMD'sGeode,Athlon Neo, andIntel Atomare examples of 32- and 64-bit designs used in somerelativelylow power and low cost segments.
There have been several attempts, also within Intel itself, to break the market dominance of the "inelegant" x86 architecture that descended directly from the first simple 8-bit microprocessors. Examples of this are theiAPX 432(aliasIntel 8800), theIntel 960,Intel 860, and the Intel/Hewlett-PackardItaniumarchitecture. However, the continuous refinement of x86microarchitectures,circuitry, andsemiconductor manufacturingwould prove it hard to replace x86 in many segments. AMD's 64 bit extension of x86 (which Intel eventually responded to with a compatible design)[11]and the scalability of x86 chips such as the eight-core Intel Xeon and 12-core AMD Opteron is underlining x86 as an example of how continuous refinement of established industry standards can resist the competition from completely new architectures.[12]
Note: In the following text, all instances of use of the prefixes kilo/mega/giga/tera are to be understood in the binary (powers-of-1024) sense. See the article on theIEC prefixes(kibi/mebi/gibi/tebi) for details.
x86-64
x86-64is an extension of thex86 instruction set. It supports vastly larger virtual and physical address spaces than are possible on x86, thereby allowing programmers to conveniently work with much larger data sets. x86-64 also provides64-bitgeneral purpose registers and numerous other enhancements. The original specification was created byAMD, and has been implemented by AMD,Intel,VIA, and others. It is fully backwards compatible with32-bitcode.[1](p13)Because the full 32-bit instruction set remains implemented in hardware without any intervening emulation, existing 32-bit x86executablesrun with no compatibility or performance penalties,[2]although existing applications that are recoded to take advantage of new features of the processor design may see performance increases.
After launching the architecture under the "x86-64" name, AMD renamed itAMD64in 2003;[3]Intel initially used the namesIA-32eandEM64Tbefore finally settling onIntel 64for their implementation. x86-64 is still used by many in the industry as a vendor-neutral term, while others, notablySun Microsystems[4](nowOracle Corporation) andMicrosoft,[5]usex64.
TheAMD K8core was the first to implement the architecture; this was the first significant addition to thex86architecture designed by a company other than Intel. Intel was forced to follow suit and introduced a modifiedNetBurstfamily which was fully software-compatible with AMD's design and specification.VIA Technologiesintroduced x86-64 in their VIA Isaiah architecture, with theVIA Nano.
The x86-64 specification is distinct from the IntelItanium(formerlyIA-64) architecture, which is not compatible on the native instruction set level with the x86 architecture.
3.Instruction Set Architecture(ISA)
VAX
VAXwas aninstruction set architecture(ISA) developed byDigital Equipment Corporation(DEC) in the mid-1970s. A32-bitcomplex instruction set computer(CISC) ISA, it was designed to extend or replace DEC's variousProgrammed Data Processor(PDP) ISAs. The VAX name was also used by DEC for a family ofcomputersystems based on this processor architecture.
The VAX architecture's primary features were virtual addressing (for exampledemand pagedvirtual memory) and itsorthogonal instruction set. VAX has been perceived as the quintessential CISC ISA, with its very large number of programmer-friendlyaddressing modesand machine instructions, highly orthogonal architecture, and instructions for complex operations such asqueueinsertion or deletion andpolynomialevaluation.[1]
IBMPower
Term |
Description |
POWER |
PerformanceOptimizationWithEnhancedRISC. A microprocessor architecture designed by IBM. Main article:IBM POWER |
PowerPC |
Power PerformanceComputing. A 32/64-bit instruction set for microprocessors derived from POWER, including some new elements. Designed by theAIM alliance; Apple, IBM and Motorola. Main article:PowerPC |
PowerPC-AS |
PowerPC-AdvancedSeries. Codename "Amazon". A purely 64-bit variant of PowerPC, including some elements from the POWER2 specification. Used in IBM'sRS64family processors and newer POWER processors. Main article:RS64 |
POWERn |
Wherenis a number from 1 to 7. A series of high-end microprocessors built by IBM using different combinations of POWER, PowerPC and PowerPC-AS instruction sets. Main articles:POWER1,POWER2,POWER3,POWER4,POWER5,POWER6andPOWER7 |
Cell |
Cell Broadband Engine Architecture (CBEA), a microprocessor architecture designed by IBM, Sony and Toshiba, which has Power Architecture as a part. Main article:Cell microprocessor |
Power Architecture |
The broad term designating all that is POWER, PowerPC and Cell including software,toolchainand end-user appliances. These are the focus of this article. |
Power ISA |
A new instruction set, combining late versions of POWER and PowerPC instruction sets. Designed by IBM andFreescale. |
ARM architecture
ARMis a32-bitreduced instruction set computer(RISC)instruction set architecture(ISA) developed byARM Holdings. It was named theAdvanced RISC Machineand, before that, theAcorn RISC Machine. The ARM architecture is the most widely used32-bitinstruction set architecture in numbers produced.[2][3]Originally conceived byAcorn Computersfor use in itspersonal computers, the first ARM-based products were theAcorn Archimedesrange introduced in 1987.
MIPSarchitecture
MIPS(originally an acronym forMicroprocessorwithout Interlocked Pipeline Stages) is areduced instruction set computer(RISC)instruction set architecture(ISA) developed byMIPS Technologies(formerly MIPS Computer Systems, Inc.). The early MIPS architectures were 32-bit, and later versions were 64-bit. Multiple revisions of the MIPS instruction set exist, including MIPS I, MIPS II, MIPS III, MIPS IV, MIPS V, MIPS32, and MIPS64. The current revisions are MIPS32 (for 32-bit implementations) and MIPS64 (for 64-bit implementations).[1][2]MIPS32 and MIPS64 define a control register set as well as the instruction set.
Several optional extensions are also available, includingMIPS-3Dwhich is a simple set of floating-pointSIMDinstructions dedicated to common 3D tasks,[3]MDMX(MaDMaX) which is a more extensive integerSIMDinstruction set using the 64-bit floating-point registers, MIPS16e which adds compression to the instruction stream to make programs take up less room,[4]and MIPS MT, which addsmultithreadingcapability.[5]
Computer architecturecourses in universities and technical schools often study the MIPS architecture.[6]The architecture greatly influenced later RISC architectures such asAlpha.
MIPS implementations are primarily used inembedded systemssuch asWindows CEdevices,routers,residential gateways, andvideo game consolessuch as theSonyPlayStation 2andPlayStation Portable. Until late 2006, they were also used in many ofSGI's computer products. MIPS implementations were also used byDigital Equipment Corporation,NEC,Pyramid Technology,Siemens Nixdorf,Tandem Computersand others during the late 1980s and 1990s. In the mid to late 1990s, it was estimated that one in three RISC microprocessors produced were MIPS implementations.[7]
IA-32
IA-32(Intel Architecture, 32-bit), also known asx86-32,i386[α]orx86,[α]is theCISC[1]instruction-set architectureofIntel's most commercially successfulmicroprocessors, and was first implemented in theIntel 80386as a32-bitextension ofx86 architecture. This architecture has defined the instruction set for the family of microprocessors currently installed in mostpersonal computersin the world, although it is now being supplanted byx86-64.
源文档 <http://en.wikipedia.org/wiki/X86-64>
源文档 <http://en.wikipedia.org/wiki/X86>
源文档 <http://en.wikipedia.org/wiki/IA-32>
源文档 <http://en.wikipedia.org/wiki/IA-32>
源文档 <http://en.wikipedia.org/wiki/MIPS_architecture>
源文档 <http://en.wikipedia.org/wiki/ARM_architecture>
源文档 <http://en.wikipedia.org/wiki/ARM_architecture>
源文档 <http://en.wikipedia.org/wiki/Power_Architecture>
源文档 <http://en.wikipedia.org/wiki/VAX>
源文档 <http://en.wikipedia.org/wiki/64-bit>
源文档 <http://en.wikipedia.org/wiki/64-bit>
相关推荐
X64 Debuggers And Tools-x64_en-us.msi 和 X86 Debuggers And Tools-x86_en-us.msi,,,Qt + vs 调试环境
X86 Debuggers And Tools-x86_en-us
This edition of TDM-GCC is a bi-arch bootstrap of GCC's x86_64-w64-mingw32 target, built to run on 32-bit or 64-bit Windows and generate binaries for 32-bit or 64-bit Windows.
【mingw官网】https://sourceforge.net/projects/mingw-w64/files/ 【版本】MinGW-W64 GCC-8.1.0 【文件】x86_64-win32-sjlj
Intel’s IA32 instruction set architecture (ISA...at x86-64, followed by a summary of the main features that distinguish x86-64 code from IA32 code, and then work our way through the individual features.
qt-opensource-windows-x86-msvc2012-5.6.3 这个是在vs2012中的使用的qt 编绎时使用的命令: configure -prefix d:\win32-msvc2012 -platform win32-msvc2012 -opensource -confirm-license -nomake tests -nomake ...
Use Debugging Tools for Windows to debug drivers, applications, and services on Windows systems. Debugging Tools for Windows includes a core debugging engine and several tools that provide interfaces ...
X86 Debuggers And Tools-x86_en-us.msi
win7上qt5安装后不能后不能调试,...我把X64 Debuggers And Tools-x64_en-us.msi和X86 Debuggers And Tools-x86_en-us.msi都放在一起的,可以下载以后直接解压,选择自己需要的版本直接安装,再重启Qt Creater即可。
Ksplice for zero-downtime kernel security updates and bug fixes; Xen enhancements; Unbreakable Enterprise Kernel (UEK) 3; systemd, a new service and system manager; GRUB 2 as the default bootloader ...
MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. (:(:windows操作系统下mongodb3.6安装包,欢迎下载:):)
f6flpy_x86_and_x64.rar
mysql-shell-8.0.18-windows-x86-64bit.zip MySQL Shell is an advanced command-line client and code editor for MySQL. In addition to SQL, MySQL Shell also offers scripting capabilities for JavaScript ...
linux自带版本,网上很难找到免费的,故上传一下,方便使用。压缩包包含 pcre-7.8-7.el6.x86_64.rpm 和 pcre-devel-7.8-6.el6.x86_64.rpm 和pcre-7.8.tar.gz 三个版本
MongoDB for MacOS安装包4.2.0 MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. No database is more productive to use.
将Windows纸牌游戏完美移植到WinCE
google 删除了的addon-google_apis_x86-google-19
TensorRT-8.0.0.3.Linux.x86_64-gnu.cuda-10.2.cudnn8.2.zip使用需要的环境: ubuntu18.04 tensorrt==8.0.0.3 cuda==10.2 cudnn==8.2
rpmforge-release-0.3.4-1.el3.rf.x86_64.rpm 16K RHEL3 and CentOS-3 x86 64bit rpmforge-release-0.3.4-1.el4.rf.i386.rpm 16K RHEL4 and CentOS-4 x86 32bit rpmforge-release-0.3.4-1.el4.rf.x86_64.rpm 16K ...
Eclipse IDE for Enterprise Java and Web Developers (eclipse-jee-2021-12-R-win32-x86_64.zip)适用于Windwos x86_64