分享
 
 
 

精简指令集

王朝百科·作者佚名  2010-02-13
窄屏简体版  字體: |||超大  

精简指令集,计算机CPU的一种设计模式,也被称为RISC(Reduced Instruction Set Computing 的缩写)。常见的精简指令集微处理器包括AVR、PIC、ARM、DEC Alpha、PA-RISC、SPARC、MIPS、Power架构等。

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

实际上在后来的发展中,RISC与CISC在争吵的过程中相互学习,现在的RISC指令集也达到数百条,运行周期也不再固定……虽然如此,RISC设计的根本原则--针对流水线化的处理器优化--没有改变。

RISC之前的设计原理

在早期的计算机业中,编译器技术尚未出现。程序是以机器语言或汇编语言完成的。为了便于编写程序,计算机架构师造出越来越复杂的指令,可以高阶程序语言直接陈述高阶功能。当时的看法是硬件比编译器更易设计,所以复杂的东西就加进硬件了。

加速复杂化的其它因素是缺乏大内存。内存小的环境中,具有极高讯息密度的程序较有利。当内存中的每一字节如此珍贵,例如储存某个完整系统只需几千字节,它使产业移向高度编码的指令、长度不等的指令、执行多个操作的指令,和执行数据传输与计算的指令。当时指令封包问题远比易解的指令重要。

内存不仅小,而且很慢,打从当时使用磁性技术。这是维持极高讯息密度的其它原因。借着具有极高讯息密度封包,当必须存取慢速资源时可以降低频率。

CPU只有少数缓存器的两个原因︰

CPU内部缓存器远贵于外部内存。以当时的集成电路技术水准,大缓存器集对芯片或电路板区域只是多余的浪费。

具有大数量的缓存器将需要大数量的指令位(使用珍贵的RAM)以做为缓存器指定器。

基于上述原因,CPU设计师试着令指令尽可能做更多的工作。这导致一个指令将做全部的工作︰读入两个数字,相加,并且直接在内存储存计算结果。其它版本将从内存读取两个数字,但计算结果储存在缓存器。另一个版本将从内存和缓存器各读一个数字,并再次存入内存。以此类推。这种处理器设计原理最终成为复杂指令集(CISC)。

当时的目标是给所有的指令提供所有的寻址模式,此称为「正交性」。这在 CPU 上导致了一些复杂性,但就理论上每个可能的命令都可以单独的调试(调用,be tuned),这样使得程序员能够比用简单的命令来得更快速。

这类的设计最终可以由光谱的两端来表达, 6502 在光谱的一端,而 VAX 在光谱的另一端。单价25美元的 1MHz 6502 芯片只有单一的通用缓存器, 但它的极精简的单周期内存界面(single-cycle memory interface)让一个位的操作效能和更高频率设计几乎相同,例如 4MHz Zilog Z80 在使用相同慢速的记忆芯片下(大约近似 300ns)。The VAX was a minicomputer whose initial implementation required 3 racks of equipment for a single cpu, and was notable for the amazing variety of memory access styles it supported, and the fact that every one of them was available for every instruction. The VAX was a minicomputer whose initial implementation required 3 racks of equipment for a single cpu, and was notable for the amazing variety of memory access styles it supported, and the fact that every one of them was available for every instruction.

RISC设计中常见的特征︰

统一指令编码(例如,所有指令中的op-code永远位于同样的位位置、等长指令),可快速解译︰

泛用的缓存器,所有缓存器可用于所有内容,以及编译器设计的单纯化(不过缓存器中区分了整数和浮点数);

单纯的寻址模式(复杂寻址模式以简单计算指令序列取代);

硬件中支持少数数据型别(例如,一些CISC计算机中存有处理字节字符串的指令。这在RISC计算机中不太可能出现)。

RISC设计上同时也有哈佛内存模块特色,凡指令流和数据流在概念上分开;这意味着更改代码存在的内存地址对处理器执行过的指令没有影响(因为CPU有着独立的指令和数据缓存),至少在特殊的同步指令发出前。在另一面,这允许指令缓存和数据缓存同时被访问,通常能改进运行效率。

许多早期的RISC设计同样共享着不好的副作用——转移延时槽,转移延时槽是指一个跳转或转移指令之后的指令空间。无论转移是否发生,空间中的指令将被执行(或者说是转移效果被延迟)。这些指令让CPU的算术和逻辑单元(ALU)繁忙比通常执行转移所需更多的时间。现在转移延时槽被认为是实现特定RISC设计的副作用,现代的RISC设计通常避免了这个问题(如PowerPC,最近的SPARC版本,MIPS)。

参考

复杂指令集(CISC)

例如:Intel的奔腾系列CPU属于复杂指令集CPU,IBM 的PowerPC 970(用于苹果机MAC G5)CPU属于精简指令集CPU。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有