以前,51和DSP的开发都是直接和硬件打交道,现在,居然出现了嵌入式操作系统的概念。显然,这个变化来源于微处理器速度提高和价格下降的因素。其中,计算机体系结构对于微处理器的速度起到了关键作用。开发人员关心一下体系结构的知识,有助于在不同的微处理器之间作对比,正所谓举一反三。
1 RISC
大家都知道,精简指令结构有助于提高运行速度。
为什么选择RISC?
(1)用硬件方式实现复杂指令是CISC的方向,但带来的问题是:复杂性和成本增加,不利于单片集成。这个我同意。
(2)各条指令的功能不均衡,不利于采用先进的体系结构技术,如流水线;这个倒是。
(3)复杂指令复杂操作,会降低运行速度。这个我还没有找到相关证据。
有课题组统计过,CISC中,20%的指令使用频率最大,占运行时间的80%。对80X86指令统计,发现常见的10种指令占据了所有和谐指令中的96%。按“快速实现常见事件”的设计原理,应该使这些指令实现尽可能快。当然,精简的目的是克服CISC的缺点,不能为精简而精简。还要遵循以下原则。
(1)选择使用频率高的指令;
(2)每条指令尽可能短,并在一个机器周期内完成;
(3)所有指令长度相同;
(4)指令在寄存器之间操作数据;当然,还有留LOAD和STORE在寄存器和内存之间传递数据;
(5)以简单有效的方式支承高级语言。
ARM的指令系统显然出要遵循这些原则。
1楼
0
0
回复
1 RISC
大家都知道,精简指令结构有助于提高运行速度。
为什么选择RISC?
(1)用硬件方式实现复杂指令是CISC的方向,但带来的问题是:复杂性和成本增加,不利于单片集成。这个我同意。
(2)各条指令的功能不均衡,不利于采用先进的体系结构技术,如流水线;这个倒是。
(3)复杂指令复杂操作,会降低运行速度。这个我还没有找到相关证据。
有课题组统计过,CISC中,20%的指令使用频率最大,占运行时间的80%。对80X86指令统计,发现常见的10种指令占据了所有和谐指令中的96%。按“快速实现常见事件”的设计原理,应该使这些指令实现尽可能快。当然,精简的目的是克服CISC的缺点,不能为精简而精简。还要遵循以下原则。
(1)选择使用频率高的指令;
(2)每条指令尽可能短,并在一个机器周期内完成;
(3)所有指令长度相同;
(4)指令在寄存器之间操作数据;当然,还有留LOAD和STORE在寄存器和内存之间传递数据;
(5)以简单有效的方式支承高级语言。
ARM的指令系统显然出要遵循这些原则。