常见的CPU架构

CPU架构从大的层面分两类——CISC、RISC。

x86

CISC就是复杂指令集计算机,目前专指 x86 和 x86-64 两类

其中 x86 又叫 IA32,即 Intel Architecture 32(Intel32位架构),不管是Intel生产的 x86 CPU,还是AMD或者VIA生产的,都是 IA32,IA32 并非没有专利保护而是 AMD 和 VIA/Cyrix 通过交叉专利授权获得了 IA32 的使用权。

x86-64 又叫 AMD64,它的 Intel 版本叫做 EM64T(换个名字而已),是AMD在 IA32 的基础上扩展出来的一套 64位 CPU 架构,Intel 可以使用的原因也是因为 Intel和AMD之间的交叉专利授权。x86-64是AMD在其最新的Athlon 64处理器系列中采用的新架构,但这一处理器基础架构还是IA-32,在IA-32架构基础之上作了一些扩展,以支持64位程序的应用,进一步提高处理器的运算性能。x86-64相比Intel的64位服务器处理器产品Itanium和 Itanium 2系列处理器产品来说最大的优点就是可以全面兼容以前的32位x86架构的应用程序,保护以用户以前的投资;而Intel的Itanium和 Itanium 2系列处理器需要另外通过软件或硬件来实现对以前32位程序的兼容,所以IA-32(即x86-32)、x86-64都属于x86,即英特尔的32位x86架构,如Intel的32位服务器Xeon(至强)处理器系列、AMD的全系列,还有VIA的全系列处理器产品都属于x86架构的

IA-64

IA-64架构是英特尔为了全面提高以前IA-32位处理器的运算性能,是Intel和Hp共同开发了6年的64位CPU架构,是专为服务器市场开发的一种全新的处理器架构,它放弃了以前的x86架构,认为它严重阻碍了处理器的性能提高。它的最初应用是英特尔的Itanium(安腾)系列服务器处理器,现在最新的Itanium 2系列处理器也是采用这一架构的。由于它不能很好地解决与以前32位应用程序的兼容,所以应用受到较大的限制,尽管目前Intel采取了各种软、硬方法来弥补这一不足,但随着AMD Operon处理器的全面投入,Intel的IA-64架构的这两款处理器前景不容乐观。

RISC就是精简指令集计算机

除了以上所介绍的两类IA架构的服务器处理器外,还有一种主流的处理器架构,也可称之为“RISC”(其实它是一种按处理器指令执行方式划分的类型)。采用这一架构的仍是IBM、SUN和HP等。不过近几年由于这一处理器架构标准没有完全统一、处理器的发展和应用非常缓慢,使得原来本占有的绝大多数中高档服务器市场被IA架构瓜分了大部分江山,已是日趋衰落。目前连这几家服务器厂商也开始了自己放弃,转投IA旗下,推出越来越多的IA架构服务器,以保生存。

RISC就是精简指令集计算机,目前常见的有

一、IBM 的 POWER/PowerPC架构(Power G4、G5、G6、PowerXCell),性能超强,第一个主频超4GHz

二、MIPS 的 MIPS架构(多家厂商,包括AMD也获授权生产,龙芯也是MIPS变种)

三、SUN 的 UltraSPARC架构(UltraSPARC III、IV、VI、T1、T2)

四、DEC 的 Alpha架构(现今少见,DEC被Compaq收购,Compaq又被HP收购)

五、Intel和HP 的 EPIC架构(Iantium、Iantium2),这也就是 IA64 架构,Intel Architecture 64(Intel64位架构),有时单独列为一类而不算RISC

六、Transmeta(全美达)的 VLIW(超长指令字)架构,和 IA64 在设计思想上有某种程度上的神似之处,有时也单独列为一类而不算RISC

七、Acorn的 ARM架构(类似于 MIPS 也授权多家公司制造,包括Intel),后来 Intel 还开发出 ARM的变种 XScale 架构。目前的安卓,苹果手机的CPU,三星,高通等生产。

需要指出的是,现在的 Intel 和 AMD CISC处理器的内核其实都是 RISC内核,是在内核的外围电路中把复杂指令动态翻译成精简指令,然后送到 RISC内核中处理。严格来说,现代CPU本质上都是 RISC处理器。

常见的CPU架构

时间: 2024-11-09 06:16:55

常见的CPU架构的相关文章

cpu架构

转自 http://blog.csdn.net/wyzxg/article/details/5027738 CPU架构 Architecture ,结构.架构,这个词用于 CPU 的时候是指 CPU “接受和处理信号的方式”,及其内部元件的组织方式.CPU架构,从大的层面分两类——CISC.RISC x86 CISC就是复杂指令集计算机,目前专指 x86 和 x86-64 两类 其中 x86 又叫 IA32,即 Intel Architecture 32(Intel32位架构),不管是Intel

android多cpu架构适配开篇

简介:做项目的时候经常会使用到so文件.例如使用高德地图,其SDK中就包含了armeabi.armeabi-v7a.arm64-v8a.x86等其他文件夹,里面通常放着同样名称.同样数量的so文件.实际使用过程中,关于这些so文件引发的问题确实不少,也不好解决.写下此文,希望以后遇到相关的问题,能有个大概的思路. 名词解析: NDK:Native Development Kit JNI:Java Native Interface ABI: Application Binary Interface

CUDA学习之从CPU架构说起

最近要学习GPU编程,就去英伟达官网下载CUDA, 遇到的第一个问题就是架构的选择 所以我学习的CUDA的第一步是从学习认识CPU架构开始的,x86-64简称x64,是64位版的x86指令集,向前兼容与16位版和32位版的x86架构.x64最初是由AMD于1999年设计完成,AMD首次公开64位集以扩充给x86,称为“AMD64”.后来也被Intel所采用,又被intel 叫做“Intel 64”. 那么ppc64le又指什么呢,下面引用wiki上的两段话“ ppc64 是Linux和GCC开源

ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机

ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framework中分离出各种架构,然后合并你需要的,具体的方式举例如下: 首先从framework中分离出armv7 arm64,或者还有armv7s lipo XXXX.framework/XXXX -thin arm64 -output XXXX.framework/XXXX-arm64 lipo XXXX

常见的CPU访问引起的内存保护问题为什么只用event_122上报 - 举例1

在代码维护中,发现一个指针的初始值是0,在没有走到正常分支处该指针是不会被赋值的,而在软件的启动阶段,恰恰该指针不会走到正常分支,所以在后面使用该指针的时候,并没有判断指针值是否为空,所以CPU使用空指针访问,就会出现问题,并在L1内存控制器中被检测到,通过event 122=0x7A上报. 根据下图CPU通过空指针访问0x48的地址,是因为空指针指向一个结构体,在用指针去访问结构体中某个变量,而该变量在结构体中的offset就是0x48,所以这里寄存器记录了FaultingAddress =

Android Studio指定引用jnilibs 特定CPU架构的so库文件

稍微大一些的项目都会用到第三方库,所以不可避免的会有针对不同手机cpu架构的.so库文件 'x86', 'x86_64', 'mips', 'mips64'  'armeabi' ,'armeabi-v7a',  'arm64-v8a' 但是不是所有的第三方库都会适配所有的cpu架构,本人亲测采用一种降低性能却减少库文件的方式 就是只用armeabi-v7a库:有armeabi-v7a就把其他的都删掉,没有armeabi-v7a,把armeabi的文件移到armeabi-v7a中,把其他的都删除

X86-64 CPU架构以及64 位GCC对程序编译处理的一些变化

X86-64 CPU架构以及64 位GCC对程序编译处理的一些变化 作者:Jochen1986 转载请注明出处:http://blog.csdn.net/youkawa/article/details/45458921 通用寄存器全部扩展到了64位,寄存器名称前面由R开头,如RAX, RBX, RCX, RDX, RSI和RDI: 指令指针(Instruction pointer).基址指针(base pointer)以及堆栈指针(stack pointer)也全部扩展到了64位,这些专用寄存器

如何查询当前手机的cpu架构,so库导入工程又出异常了?

执行adb命令: adb shell cat /proc/cpuinfo 对应文件夹 AArch64 == arm64-v8a ARMv7 == armeabi-v7a ............等 其他你们自己发现吧. 注意:这里我要说明一个开发中要注意的问题. 首先说明下android studio中apk打包so文件的机制和机器自动选择so库文件执行的问题 1.apk打包会把工程中出现的armeabi等文件按照原来的文件名直接打包到apk中,如果多个module中有相同的文件夹,会把modu

4 .3 .4 常见高CPU利用率的原因

4 .3 .4 常见高CPU利用率的原因存在髙CPU利用率的问题类型有很多种,但是我们可以关注一些常见类型,至于其他 极端类型暂时不包含.以下便是高CPU利用率的常见类型:□缺失索引(Missing Index)□统计信息过时□ 非 SARG查询□ 隐式 转 换 (Implicit conversions □ 参数嗅探(Parameter sniffing) □非参数化Ad-hoc査询 □非必要的并行查询 下面分别介绍一下.1 . 缺失索引缺失索引是最常见的引起髙CPU和 I/O利用的原因之一,