一、微处理器的指令集架构(Instruction Set Architecture)分类

复杂指令集运算(Complex Instruction Set Computing,CISC);

精简指令集运算(Reduced Instruction Set Computing,RISC);

显式并行指令集运算(Explicitly Parallel Instruction Computing,EPIC);

超长指令字指令集运算(Very Long Instruction Word,VLIW);

最常见的是CISC和RISC。

二、仔细品品四种指令集

1、CISC:从计算机诞生以来,人们一直沿用CISC指令集方式。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制 简单,但计算机各部分的利用率不高,执行速度慢。CISC是目前家用机的主要处理器类型。

基于CISC指令集的处理器有哪些?

>>>>>目前X86架构微处理器如Intel的Pentium/Celeron/Xeon与AMD的Athlon/Duron/Sempron;以及其64位扩展系统的x86-64的架构的EM64T的Pentium/Xeon与AMD64的Athlon 64/Opteron都属于CISC系列。

>>>>>主要针对的操作系统是微软的Windows。

2、RISC:RISC是在CISC指令系统基础上发展起来的,有人对CISC机进行测试表明,各种指令的使用频度相当悬殊,最常使用的是一些比较简单的指令,它们仅占指令总数的20%,但在程序中出现的频度却占80%。复杂的指令系统必然增加微处理器的复杂性,使处理器的研制时间长,成本高。并且复杂指令需要复杂的操作,必然会降低计算机的速度。基于上述原因,20世纪80年代RISC型CPU诞生了,相对于CISC型CPU,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。相比CISC而言,RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少,它只要求硬件执行很有限且最常用的那部分执令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU。

基于RISC指令集的处理器有哪些?

>>>>>IBM的PowerPC处理器、SUN公司SPARC处理器、HP公司的PA-RISC处理器、MIPS公司MIPS处理器、Alpha处理器以及ARM都采用了RISC指令集,。

>>>>>目前只有UNIX,Linux,MacOS等操作系统运行在RISC处理器上。

3、VLIW:一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。 VLIW的基本思路是:处理器在一个长指令字中赋予编译程序控制所有功能单元的能力,使得编译程序能够精确地调度在何处执行每个操作、每个寄存器存储器读和每个转移操作。实际上,编译程序创立每个程序的执行记录,计算机则反演该记录。在早期的VLIW计算机中,如果编译程序出错,计算机将产生错误的结果,计算机没有逻辑来检验是否以正确的次序来读寄存器、是否重复使用资源。

基于VLIW指令集的处理器有哪些?

>>>>>目前基于这种指令架构的微处理器主要有Intel的IA-64和AMD的x86-64两种

>>>>>主要操作系统有微软安腾版的Windows系统、UNIX系统等。

4、EPIC:EPIC从VLIW中衍生出来。EPIC指令构架也叫做“IA-64架构”。每时钟周期例如IA-64可运行20条指令,而CISC通常只能运行1-3条指令,RISC能运行4条指令,可见VLIW要比CISC和RISC强大的多。

三、MIPS、ARM和X86架构又是什么,和指令集什么关系?

处理器(CPU)架构就是处理器的硬件架构,称为微架构。是一堆硬件电路,去实现指令集所规定的操作运算。其实就是CPU的集中电路图纸,用来实现我们我们这些指令集,从而通过指令集就可以操作电路进而操作硬件。所以指令集决定了处理器的架构,因为处理器架构就是用硬件电路实现指令集。但是具体用什么样的处理器架构,设计怎样的硬件电路,每个人设计的都可以不一样。

当今处理器一共有三个最强大的架构,其中之一是以Intel和AMD为代表的X86架构,另外一个是手机,平板处理器所使用的ARM架构,最后一个便是我国龙芯处理器所选择的MIPS架构。

换句话说就是:X86架构是建立在CISC指令集上开发的CPU架构;ARM是建立在RISC指令集上开发的CPU架构;MIPS也是建立在RISC指令集上开发的CPU架构;

从某些方面来看,MIPS和ARM非常相似,都是采用精简指令集,都是针对低功耗应用设计,而且都是采用第三方授权方式生产;但实际上两者也有几大的不同,学院派的MIPS允许第三方对CPU架构进行大幅修改,而ARM只允许全球极少的几家半导体公司修改CPU架构(包括高通、苹果、NVIDIA和三星,全是半导体大拿),其他生产ARM芯片的公司都是直接采用ARM公版设计,而不能做任何修改(例如华为海思)。ARM的这项策略显然很适合商业推广,对第三方公司的技术要求也有所降低,开发的周期也会大大缩短,只需要照着ARM公版的CPU和GPU架构找芯片代工厂下单、流片、生产即可。

中国龙芯采用的都是64位MIPS指令架构,它与大家平常所知道的X86指令架构互不兼容,MIPS指令架构由MIPS公司所创,属于RISC体系。过去,MIPS架构的产品多见于工作站领域,索尼PS2游戏机所用的"Emotion Engine"也采用MIPS指令,这些MIPS处理器的性能都非常强劲,而龙芯2也属于这个阵营,在软件方面与上述产品完全兼容。普通用户关注MIPS主要还是因为我国所谓的"龙芯"。龙芯一开始抄袭MIPS,后来购买到了授权。倒也并非龙芯不想发展X86架构的桌面CPU市场或者ARM架构的移动设备市场,是因为这两家的授权太过于苛刻。X86的授权Intel已然不可能再授权。ARM是一家芯片设计公司,只能给出使用授权,不会同意让龙芯自行设计。只有MIPS才可行,MIPS的授权说白了就是随便抄随便改。很多龙芯的支持者提出了MIPS在理论上有诸多的领先,但不要忘了ARM是一家商业公司,市场占有率高,竞争意识也非常强。几乎所有的智能手机都是ARM架构,就是最有力的证明。

四、再来看看什么是汇编语言

汇编语言是用人类看得懂的语言来描述指令集。否则指令集的机器码都是一堆二进制数字,也就是机器语言,人类读起来非常麻烦,但汇编是用类似人类语言的方式描述指令集,读起来方便多了。要设计处理器,首先就需要有指令集,规定处理器相应操作,通过指令集去控制处理器实现相应功能。但处理器是一堆硬件电路,只能识别二进制数据,所以指令集是由一堆二进制数据组成。而二进制数据对人类来说读起来很麻烦。为了方便人类操作指令集,发明了汇编语言来描述指令集。汇编语言类似人类语言,读起来方便多了,至于汇编语言怎么转换成机器语言,是通过对应得汇编器来转换的。

虽然汇编语言读起来方便了,但也有缺陷。首先汇编语言操作起来还是挺麻烦的。其次汇编语言对应一条条指令集,所以当指令集改变时,就得修改相应汇编语言,导致其可移植性很差,不能跨平台使用,如ARM的汇编语言与Intel X86的就不同。这时人们就想开发一种更方便操作,超越指令集的语言,于是有了C,C++等高级语言。

但处理器只能识别二进制码,那怎么能识别高级语言呢?于是人们开发了编译器,依照如下顺序,将高级语言翻译成二进制码: 高级语言 汇编语言 二进制机器码。至此,人类可以很方便的利用高级语言编写程序,控制处理器完成相应功能。然后程序员这个红火的职业就此大规模诞生了。

五、小结

经常有人会提到ARM架构、X86架构,也会说到某某处理器采用了ARM或者X86,记得计算机(台式机、平板、笔记本)里面能看到的那个东西叫CPU(中央处理器),是指令集或者微架构的物理实现,那个玩意都是有说的制造他的厂家,例如Intel处理器、ARM处理器、海思处理器、龙芯处理器,这些处理器都采用的那些架构就是前面提到的微架构(硬件架构),就是ARM架构、X86架构或者MIPS架构,这些架构再往上的区别就是指令集区别了,包括CISC、RISC、VLIW和EPIC,这些以后跟别人说起来的时候也能让自己逼格高一点。

一文看透指令集、微架构、CPU相关推荐

  1. 处理器架构 (三) 架构指令集微架构ISA 等概念

    简述 指令集架构标准 RISC与CISC RISC(全称Reduced Instruction Set Computer,精简指令系统计算机)则是一套优化过的指令架构 更像是 指令集架构标准,并不是实 ...

  2. 指令集架构、微架构、处理器架构、CPU架构、内核

    前两天看书碰到了"CPU架构"这个词,脑子里感觉有点模糊不懂.查阅相关资料后又陆续碰到了"指令集架构"."微架构"."处理器架构& ...

  3. 指令集架构、微架构、处理器架构、CPU架构

    前两天看书碰到了"CPU架构"这个词,脑子里感觉有点模糊不懂.查阅相关资料后又陆续碰到了"指令集架构"."微架构"."处理器架构& ...

  4. 关于CPU、指令集、架构、芯片概述

    原文来自:https://zhuanlan.zhihu.com/xpenrynidea/19893066 随着智能设备的广泛普及,这几年媒体上越来越多的出现关于"架构"" ...

  5. 计算机术语中英文对照表(流水线/微架构/体系结构/指令集)

    术语 翻译 描述 Intel Architecture (IA) IA架构 执行x86指令集的CPU架构 Pipeline 流水线 根据上下文,翻译做"流水线"或者"管道 ...

  6. 指令集与微架构 扫盲

    作者:王强 链接:https://zhuanlan.zhihu.com/p/19893066 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 随着智能设备的广泛普及, ...

  7. 关于CPU、指令集、架构、芯片的一些科普

    作者:王强 链接:https://zhuanlan.zhihu.com/p/19893066 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 随着智能设备的广泛普及, ...

  8. ARM 之十五 扫盲 ARM 架构、指令集、微架构、系统架构、ARM IP、授权方式

      ARM 架构的 MCU 用了好多年,进一步对于 ARM 架构也或多或少的有了一些了解.之前都是遇到啥问题直接去官网找对应的手册,一直没有系统的总结一下.是时候总结一下,以便进行下一步学习了! 总的 ...

  9. 2_指令集、体系架构、微架构

    指令集.体系架构.微架构 [转] 转载自<操作系统真相还原> 指令集是什么?表面上看它是一套指令的集合.集合的意思显而易见,那咱们说说什么是指令. 在计算机中,CPU只能识别0.1这两个数 ...

最新文章

  1. python多线程的几种方法
  2. (转)SSL/TLS 漏洞“受戒礼”,RC4算法关闭
  3. 可滚动Widget SingleChildScrollView
  4. 在线设计 html5 表单,html5注册表单制作-表单制作-小程序表单制作
  5. netbeans连接数据库_NetBeans Java EE技巧#1 –数据库中的实体类
  6. wordpress在Linux nginx下权限设置
  7. 35岁腾讯员工:准备退休!1kw房产+1kw股票+3百万现金,勉强够用了
  8. SEO如何辨别真假Baiduspider
  9. CF712E [Memort and Casinos]
  10. 【数学】线性代数技巧篇
  11. 内网穿透干货教程,1分钟极速穿透内网端口
  12. 微信公众号采集之免费采集公众号爆文工具
  13. base64还原成图片
  14. SQL-spj库创建脚本
  15. 真正中文攻略之 SAKURA~雪月華~ 花鳥風月プレミアムエディション 汉化、攻略...
  16. UE4(虚幻4)中蓝图的使用
  17. B.系数 (Lucas定理)
  18. 修改bash中PS1命令提示符的颜色
  19. 神策数据如何帮助企业实现营销自动化?
  20. C/C++字符串函数strtok()详解

热门文章

  1. mpo光纤端面检测 mpo光纤端面检测仪 Sumix 一体式光纤端面检测仪 便携光纤端面检测仪 便携式光纤端面检测仪 光端面检测 光端面检测仪 光纤断面检测仪 光纤端检仪 光纤端面仪 光纤端面干涉仪
  2. cocos 禁掉快速点击_如何用PAM2500叶绿素荧光仪测量快速光曲线
  3. RISC-V from scratch 2
  4. 使用Unity接入VIVE新设备
  5. android餐厅菜单功能,基于安卓Android平台餐馆点餐订餐系统的设计与实现(SQLite)...
  6. 评测三款免费的mobi阅读器(windows适用)
  7. 2020渗透测试面试问题大全
  8. 安卓dj专业打碟机软件_Pioneer DJ发布蓝牙智能打碟机DDJ-200:功能齐全 专为初学者打造...
  9. 看漫画学Python 第二章代码
  10. 两点二次插值法求极值matlab,三点二次插值法