说到ARM就不得不提RISC以及与其相对的CISC这两个概念。
CISC(complex instruction set computer)即复杂指令集,在20世纪90年代前被广泛的使用,其特点是通过存放在只读存储器中的微码(microcode)来控制整个处理器的运行。
一条指令往往可以完成一串运算的动作,但却需要多个时钟周期来执行。随着需求的不断增加,设计的指令集越来越多,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。
为改变这种状况,1980年Patterson和Ditzel 两位学者完成了一篇题为《精简指令集计算机概述》的开创性论文,全面提出了精简指令集的设计思想,随后,柏克来大学的研究生依照此理论基础,设计出了第一颗精简指令集处理器RISC I,这颗处理器远比当时已经相当流行的CISC处理器简单的多,在设计上所花费的功夫也降低许多,但整体功能上的表现却与CISC处理器不相上下。从此处理器设计方向便分别向着这两个大的方向发展。实际上1980年以来,所有新的处理器体系结构都或多或少地采用了RISC的概念,甚至有些典型的CISC处理机中也采用了些RISC设计思想,比如Intel公司的80486、Pentium系列等。而RISC思想最成功也是第一个商业化的实例就是ARM,当然,它也放弃了一些RISC特征而保留了一些CISC特征。
RISC和CISC在构架上有着几个不同的地方。