失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 计算机体系结构-精简指令集和复杂指令集

计算机体系结构-精简指令集和复杂指令集

时间:2018-12-16 02:06:31

相关推荐

计算机体系结构-精简指令集和复杂指令集

精简指令集(CISV)和复杂指令集(RISC)

一、Intel和AMD可以认为是CISC的典型代表。一条复杂的指令实现复杂的功能,对于编译器的要求低,只需一条指令就可以解决问题。ARM必须将数据加载到寄存器才能被指令使用。举例如下:

// Intel AVX指令集如下:// 将寄存器ymm1 += ymm3(或者地址mem中值) * ymm2// 这是一条CISC指令集,最后一个操作数可以从地址或者寄存器中直接读,这将增加逻辑电路的复杂度。vfmadd231ps ymm1, ymm2, ymm3/mem// ARM是典型的RISC代码,其fmadd指令只能从寄存器中读数据,必须线从内存加载数据到寄存器。// v0 += v1 * v2ld1 {v1.4s}, [x9]ld1 {v2.4s}, [x10]ld1 {v0.4s}, [x11]fmla v0.4s, v1.4s, v2.4sst1 {v0.4s}, [x11]

CISC对CPU逻辑电路的设计要求高,简化了对编译器的要求,但是带来了CPU成本和功耗的增加。

RISC通过多条简单指令拼凑一个复杂功能,对编译器优化要求高,但是功耗低,CPU设计简单,主要用在端侧。

CISC指令长度不固定,指令较多,这将导致指令切割复杂,通常需要切割未多个微操作码,然后执行计算。

RISC指令长度固定,指令较少,指令码切割简单,这将更容易并行化,执行效率高。

主要体现在可访存指令上: 指令不加限制(CISC) 只能是LOAD/STORE指令(RISC)

二、指令的组成

一条指令主要有操作码和操作数地址码两部分组成

(1)定长操作码指令:计算机的硬件简单,指令译码和执行速度快,但是随着指令增多,指令划分为操作地址码的位数降低,适用于较长位数系统32位及以上。

(2)变长操作码指令:技能表示较多指令集又能表示较大的操作数地址码,这在16位系统常用。指令译码和执行速度慢。

(3)操作码和操作数交织:操作码不再集中在指令高字节处,指令译码很复杂,不常用。

如果觉得《计算机体系结构-精简指令集和复杂指令集》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。