下面的内容来自百度百科,我觉得很有用,也回答了我的一些疑问,就记下来了。
软硬件的功能划分
在CISC中,为了支持目标程序的优化,支持高级语言和编译程序,增加了许多复杂的指令,用一条指令来替代一串指令。这些复杂指令简化目标程序,缩小了高级语言与机器指令之间的语义差距。但是,增加了这些复杂指令并不等于缩短了程序的执行时间。
为了实现复杂的指令,不仅增加了硬件的复杂程序,而且使指令的执行周期大大加长。例如,为了支持编译程序的对称性要求,一般的运算型指令都能直接访问主存储器,从而使指令的执行周期数增加,数据的重复利用率降低。据统计,一般CISC处理器的指令平均执行周期都在4以上,有些在10以上,如Intel公司的8088等。
这里有一个软件与硬件的功能如何恰当分配的问题。在CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而,由于指令复杂了,指令的执行时间必然加长,从而有可能使整个程序的执行时间反而增加,因此,在计算机体系结构设计中,软硬件功能划分必须核实。
RISC 和CISC 是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效
的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有:
(1) 指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC 计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。
(2) 存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。
(3) 程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序让设计相对容易,效率较高。
(4) 中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在一条指令执行结束后响应中断。
![](/qrcode.jpg)
(5) CPU:RISC CPU 包含有较少的单元电路,因而面积小、功耗低;而CISC CPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。
(6) 设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。
(7) 用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
(8) 应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机;而CISC 机器则更适合于通用机。