- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
服务器架构的变数,无外乎这几种?
RISC:高手过招
x86:廉颇未老
x86老么?从时间上来看,确实老了。x86从1978年至今已经将近40年。可经过各种风云变幻之后,x86依然是服务器行业绝对的领导者,说这样的一个服务器行业领袖已经老去,那无非便是在指摘支撑起整个互联网的服务器行业已老。
而且,经历了很多代的改进和变革,x86架构服务器依然是最快的架构之一。而且现在x86也是整个行业的标杆,从技术上来看x86从未落后过,只不过是和其他架构的服务器相比差距大小是否被拉近了。
从指令集架构来看,CISC确实是有些陈旧了。即便是Intel也已经承认,CISC架构确实限制了CPU的发展。在CISC微处理器程序的各条指令相互串联执行,指令操作也需要串行执行,按照这种方式来进行任务执行,其控制当然十分简单,但计算机的整体利用率却被拖了后腿,执行速度相对偏慢。这也是CISC架构为中低档服务器所采用的原因之一。
复杂指令集是一种伴随着计算机诞生便存在的一种指令集。其拥有较强的处理高级语言的能力,对于提高计算机性能有一定好处。而日趋复杂的指令系统不仅带来的效率的低下,还致使系统结构的复杂性增加,这种复杂性也将导致了CISC的通用性不佳。
RISC:高手对决
事实上,CISC的问题存在并非一两年了,在1979年,也将是x86诞生后的次年,美国的加州大学伯克利分校便发现了这一问题,而针对这些问题,一些人提出了精简指令的设想,也就是将指令系统中使用频率较高的少量指令提出,并提供一些必要的指令来支持系统操作和高级语言。而这个原则经过发展,于1980年IBM 801计划完成,精简指令集,也就是RISC正式面世。
RISC要比CISC精简太多
RISC与CISC出生的时间相差不多,但是技术上确实针对了CISC的弱点,可谓是高手过招,滴水不漏。而RISC的特点则是指令的格式全部一致,指令周期也一样,并采用了流水线技术。而与CISC小巧灵活的定位不同,RISC在中高端市场的优势会更大。
也许有的人会有疑问,既然RISC 在技术上要比CISC精简,那么为何现在称霸服务器市场的是CISC的代表x86而不是RISC呢?这是一个很矛盾的事情,事实上,采用精简的一系列指令来完成相同的任务要比采用单一的复杂指令会更慢。因为微处理器的设计者一般没有时间去调整每一条可能会用到的指令,因此他们只会优化那些常用的指令,而RISC的速度自然会慢一些。
而且在上世纪80年代,CISC会使得程序变得更加紧凑,虽然操作复杂但是速度确实会更快。而RISC在输入指令完成简单程序时,需要从存储器中度日指令的次数会更多,因此需要的时间也更长,在当时的工业和设计领域都对RISC的前景产生过担忧。
但随后人们也开始认识到一些问题,微处理器的运行速度开始变得要比内存更快了,这也就意味着增加处理器的利用率会使得整个过程变得更快。而这种趋势正在随着时间变得越来越强,很明显,更多的缓存支持更高频率的操作正在变得越发有必要,而降低CPU原本的复杂度才可能节省出一定的空间,来留给新增的缓存。
RISC:争久必合
降低CPU复杂程度促进了RISC地位的提升,可是Intel是不会允许自己一手打造的X86就此没落的。而事实也是如此,我们今天x86依然是行业绝对的主角,那么他是如何做到以弱克强的呢?
准确来讲,现在的x86架构已经不是标准的CISC了,他吸收了RISC和CISC双方的性能的有点,形成了独特的、自主的x86架构。这种X86架构依然是CISC 的骨和皮,却加入了很多RISC的特色技术,因此虽然在高端市场无法与RISC竞争,但是在占了市场主流的中低档x86架构仍然是最快的。
而且,RISC和CISC之争在上世纪就已经见了分晓,Pentium和P6时代二者几乎都走向了融合的方向。CISC指令集发展为现在的x86,而RISC 指令集提醒结果则发展为现在的ARM和MIPS为代表的高性能RISC 指令集。
IBM大型机便是采用RISC构架
RISC指令位数较短,内部有快速处理指令的电路,使得指令的译码和数据处理等能力更强,执行效率更高,但这一切的前提都是需要编译程序的处理,也就是上世纪所困扰RISC 的原因。而CISC指令译码较长,还需要机构微指令协助执行,但开发较为容易,可执行效率低,处理数据的速度慢,因此这项技术更多的被应用在中低档的服务器构架之中。