Unix Linux 2016-12-05
复杂指令集CISC(Complex Instruction Set Computing)和精简指令集RISC(Reduced Instruction Set Computing)是两种广泛应用的微处理器指令集架构。相较CISC,RISC旨在精简的是单一指令所完成的工作量,而不是指令数量。
编译器技术落后,复杂硬件结构以便程序的编写
在早期的计算机业界,编译器技术并不发达,程序多半以机器语言或汇编语言完成的。为了便于编写程序,电脑架构师设计出越来越复杂的指令,可以直接对应高级编程语言的高级功能,每个指令可执行若干低阶操作,诸如从内存读取、储存、计算操作,全部集于单一指令之中。当时的看法是硬件比编译器更容易设计,所以结构的复杂性在硬件这端。
内存容量小且慢
当时内存中的每一字节都很宝贵,例如只有几千个字节来存储某个完整系统。它使产业界倾向于高度编码的指令、长度不等的指令、多操作数的指令,以及把数据的搬移与计算合并在一起的指令。在当时看来,相对于使指令更容易解码,指令的编码打包问题尤为重要。
编译器使用增多,汇编语言减少
编译器通常情况下将高级语言都编译成精简的一系列指令,单一复杂指令很少使用。
微处理器比内存运行的更快
处理器运行的越来越快,为了解决内存瓶颈,支持更高频率的操作,就需要更多的寄存器(以及后来的缓存)。为此,必须降低微处理器原本的复杂度,以节省出空间给新增的寄存器和缓存。
1. 精简指令集 2. RISC vs. CISC
Copyright (C) 2016 archiexie@cnblogs. All Rights Reserved.