指令集发展

指令集发展

什么是指令集?

所谓指令集,就是CPU中用来计算和控制计算机系统的一套指令的集合,而每一种新型的CPU在设计时规定了一系列与其他硬件电路相配合的指令系统。而指令集的先进与否,也关系CPU的性能发挥,它是CPU性能体现的一个重要标志。

指令集分类:

从大类来分,一般将指令集分为精简指令集和复杂指令集。

精简指令集,即RISC指令集reduced instruction set computer

这种指令集的特点是指令数目少,每条指令都采用标准字长、执行时间短、中央处理器的实现细节对于机器级程序是可见的。

复杂指令集,即CISC指令集complex instruction set computer

在CISC微处理器中,程序的各条指令是按照顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。

顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。

通俗的理解,RISC指令集是针对CISC指令集中的一些常用指令进行优化设计,放弃了一些复杂的指令,对于复杂的功能,需要通过组合指令来完成。自然,两者的使用场合不一样,对于复杂的系统,CISC更合适。否则,RISC更合适,且功耗低。注意,当初本没有RISC和CISC之分。最开始,Intel x86的第一个CPU定义了第一套指令集,这就是最开始的指令集,后来一些公司发现很多指令并不常用,所以决定设计一套简介高效的指令集,称之为RISC指令集,从而将原来的Intel x86指令集定义为CISC指令集。

典型的RISC指令集的CPU有:ARM、MIPS等。

典型的CISC指令集的CPU有:Intel的x86指令集,以及现在的AMD的x86-64指令集。

指令集发展:

上面的分类是一个大致的分类,指令集是一直在发展的,在CISC指令集中,慢慢发展了一系列的指令集:

1、x86指令集:

x86指令集是Intel为期第一块16位CPU(i8086)专门开发的,IBM1981推出的世界上第一台PC机中的CPU--i8088(i8086简化版)使用的也是x86指令,同时电脑中为提高浮点数据处理能力而增加的x87芯片系列数学协处理器则另外是哦用x87指令,以后就将x86指令集和x87指令统称为x86指令集。

2. MMX指令集:

1997年Intel公司推出了多媒体扩展指令集MMX(MultiMedia eXtensions),它包括57条多媒体指令。

MMX指令主要用于增强CPU对多媒体信息的处理能力,提高CPU处理3D图形、视频和音频信息的能力。

3. SSE指令集:Streaming SIMD Extensions

由于MMX指令并没有带来3D游戏性能的显著提升,所以,1999年Inter公司在Pentium III CPU产品中推出了数据流单指令序列扩展指令(SSE)。SSE兼容MMX指令,它可以通过SIMD(单指令多数据技术)和单时钟周期并行处理多个浮点来有效地提高浮点运算速度。

4. SSE2指令集:

在Pentium 4 CPU中,Inter公司开发了新指令集SSE2。这一次新开发的SSE2指令一共144条,包括浮点SIMD指令、整形SIMD指令、SIMD浮点和整形数据之间转换、数据在MMX寄存器中转换等几大部分。其中重要的改进包括引入新的数据格式,如:128位SIMD整数运算和64位双精度浮点运算等。

5. SSE3指令集:

相对于SSE2,SSE3又新增加了13条新指令,此前它们被统称为pni(prescott new instructions)。13条指令中,一条用于视频解码,两条用于线程同步,其余用于复杂的数学运算、浮点到整数转换和SIMD浮点运算。

6. SSE4指令集:

SSE4又增加了50条新的增加性能的指令,这些指令有助于编译、媒体、字符/文本处理和程序指向加速。

7. 3D Now!扩展指令集:

3D Now!指令集是AMD公司1998年开发的多媒体扩展指令集,共有21条指令。

针对MMX指令集没有加强浮点处理能力的弱点,重点提高了AMD公司K6系列CPU对3D图形的处理能力。

由于指令有限,3D Now!指令集主要用于3D游戏,而对其他商业图形应用处理支持不足。

8. EM64T指令集:

Intel公司的EM64T(Extended Memory 64 Technology)即64位内存扩展技术。该技术为服务器和工作站平台应用提供扩充的内存寻址能力,

拥有更多的内存地址空间,可带来更大的应用灵活性,特别有利于提升音频视频编辑、CAD设计等复杂工程软件及游戏软件的应用。

9. 3DNow!+指令集:

在原有的指令集基础上,增加到52条指令,其中包含了部分SSE指令,该指令集主要用于新型的AMD CPU上。

10、AVX指令集

Intel公司将为Sandy Bridge带来全新的指令扩展集Intel advanced vector extensions(Intel AVX)。

AVX是在之前的128bit扩展到和256bit的SIMD(single instruction multiple data)。而Sandy Bridge的SIMD演算单元扩展到256bits的同时数据传输也获得了提升,所以从理论上看CPU内核浮点运算性能提升到了2倍。

总结:

可以看到,CPU指令集是一直在不断发展的,随着需求的不断增加,指令集也在不断地扩展,从而提高CPU的性能。

RICS指令集一般用于嵌入式开发场合,所以指令集并没有太多的扩展。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容