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架构类型发展

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位微处理器的发展历史)②

IA-32e与X86-64的发展,关系,与技术分析

64位技术 概述(从16位-32位-64位)

Intel安腾处理器(IA64,EPIC架构)介绍

Intel与AMD的起源、关系 及其三十年的战争

CPU内核结构

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>

源文档 <http://en.wikipedia.org/wiki/64-bit>

源文档 <http://en.wikipedia.org/wiki/32-bit>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值