8位单片机8051内核与RISC内核的区别及发展历史对比

一、引言

计算机发展至今,CPU 一直是计算机性能提高的关键部件,到目前为止,一共有两大主流的 CPU 架构设计思想,分别是 CISC(复杂指令集计算机)和 RISC (精简指令集计算机)。其中 CISC 是最早出现的架构设计思想,其特点主要是指令编码不等长,指令集复杂,硬件实现,研发成本高;而采用精简指令集(一种比复杂指令集指令条数和复杂程度小得多的指令集)是 RISC 的主要特点,通过大量使用通用寄存器有效减少指令实现的硬件成本,并提高了运算速率。

本文将会先分析两种技术的简介,再从起源,历史发展分析到市场占比,并最终展望未来。

二、CICS和RISC技术的简介[1][2]

1. CICS

CICS(complex instruction set computer)是复杂指令系统计算机的简称,它的意思就是微处理器架构方式采用不定长的指令集,即复杂指令集的计算机。在计算机微处理器和指令集发展之初,人们就采用复杂指令集的方式。人们通过不断的增加新的复杂指令或增强原有指令的功能来实现一些本来由软件实现的一些功能,简而言之,就是用大量硬件的组合来实现本来通过软件的一系列指令来实现的功能。

在计算机刚出现的前几十年,计算机的性能和成本不成正比,运算速度和主频率都很低,人们为了提高计算机的性能,就逐步的增加复杂指令的条数,这才逐渐形成的 CISC,在早期,复杂指令集运算速度是满足人们的需求的,即使成本较高。但是到了 20 世纪 70 年代,人们逐渐发现随着指令集的越来越复杂,指令条数越来越多,会造成了很严重的“指令浪费现象”。因为在实际应用中,在这大量指令中,只有大约 20%的指令在代码中经常出现,而其他 80%的指令在一般的程序中基本都不会出现一次,这 80%的指令既占用了 CPU 的编译能力,又没有发挥该有的效果,这种现象急需被人们解决。

2.RISC

RISC(reduce instruction set computer)是精简指令系统计算机的简称,这就是人们为了解决 CISC 中的“指令浪费现象”提出的解决方案。RISC 显然是一种更加优化的架构方式,设计理念和思想都比 CISC 有着巨大的优势,它的精髓就在于这种架构方式实现了用较少指令完成程序执行的功能,由于其中使用了流水线的结构,使得很大一部分指令可以在一个时钟周期内被执行完毕,这样计算机的性能就大大的得到了提高。再者就是,由于采用微处理器的模式导致指令数量大大减少,相较之 CISC 的大量硬件实现,RISC 这种架构方式的出现使得硬件成本和研发周期可以得到较大程度的节省。更为巧妙的是,硬布线控制逻辑、超标量和超流水线结构等能大幅度提高计算机性能的结构出现在了 RISC 架构中,这样的设计使得处理能力更强,速度更快,并行处理能力更强,同时对于硬件的损耗,发热等问题也有长足的长进。

三、CISC 和 RISC 的历史[3]

随着计算机的越加发展,人们逐渐无法容忍大约 80%的指令浪费,IBM 研究院的 John Cocke(后来因为 RISC 获得了图灵奖)首先意识到一个简洁明了的指令系统将使处理器的硬件实现更为简单、有效,不仅如此,编译器对于代码的优化工作也会变得更加简单,于是他带着他的研究小组最先开始这个课题的研究。紧随其后,几位斯坦福大学的教授也认识到这个问题,其中后来举足轻重一位大佬就是当时在伯克利任教的年轻教师 David Patterson 决定带着他的学生们开始研究这个新项目,想要设计出一款比原来的指令集更为简单明了的微处理器来验证自己的猜想,但是他比较着急,在研发成功之前的 1980 年,他就将他对 CISC 的设计的不合理之处的意见发表在了《计算机结构体系通讯》杂志上,这个时候正是 CISC 如日中天的时期,这种反对意见当然会引来许多 CISC 方面大佬的反驳,于是乎引发了 RISC 和 CISC 的第一次“战争”。

由于 David 的研究成果还未做出和 CISC 设计者的权威性,这第一次几乎是以 RISC 的惨败而告终的,加之他的第一组学生做出的处理器并没有达到预期的效果,更是使得 RISC 雪上加霜,招到行业的嘲笑,不过幸运的是,一个较为成功的设计终于是被他的另外一组学生做了出来。1983 年,David 和他的学生们带着他们的成果登上了国际固态电子电路大会(ISSCC)向整个行业介绍了这个优秀的设计。在这里,David 赢得大家的掌声,虽然他们所设计的 CPU 在一系列硬件和技术都落后于同时期的 Intel 设计的 80286 芯片,但是最终他们研究出来的 RISC 架构的 CPU 却在编译器等辅助下,在性能上超过了 Intel 同时期的芯片。

这一结果引起了当时业界的震惊,RISC 也第一次在与 CISC 的竞争中占据上分。

鉴于 RISC 在设计上的优越性,RISC 的设计理念被越来越多的人接受,一大批公司也开始用 RISC 的理念来设计 CPU,在此期间,诞生一大批人们耳熟能详的产品:DEC Alpha、MIPS 和现在统治嵌入式市场的 ARM。RISC 和 CISC 的争论被这一系列的以 RISC 架构的处理器将推向了巅峰,因为 RISC 表现出的潜力,连一直做 CISC 兼容所有产品的 Intel 都犹豫不决,并且在同时期推出了以 RISC 架构的处理器。

在 RISC 最巅峰的时期,服务器市场一度被 RISC 处理器占领,但是好景不长,拥有大量技术积累的 Intel 公司在 20 世纪 90 年代中期通过研发一系列技术弥补了 CISC 的缺点,实现了性能上和 RISC 比肩的 CISC 芯片,为了更好的发展,差不多还是 90 年代中期 ARM 公司也在他们的产品中融入了具有 CISC 元素的 Thumb 指令集。他们的 RISC 处理器也有了 CISC 元素。尽管这个时候仍有人争论这场“战争”到底是谁获胜了,但是这只不过是 RISC 和 CISC 的相互融合罢了。

随着科技的进步,体系结构和微电子技术不断地发展进步,CISC 和 RISC 在指令集结构上造成的性能的差距越来越小,CISC 阵容发起了反击,在服务器市场上,逐渐成了 CISC 阵容的领域。

四、两种芯片的优缺点分析

1. CISC 的优点

(1) CISC 芯片的兼容性。由于人们从一开始就采用的 CISC 架构,所以可以在 DOS,Windows 等操作系统上完美运行,并且拥有大量兼容的应用程序。

(2) CISC 硬件上的要求不严格。因为 CISC 采用的复杂指令集里的指令是不定长的,简而言之不定长就意味着指令设计可以按照怎么好实现怎么设计,要求并不严格。

2. CISC 的缺点

(1) CISC 硬件消耗大。由于指令条数多且冗杂,结构复杂,所以在指令执行速度上不尽人意。

(2) CISC 型 CPU 功耗大,面积大。由于指令条数多,包含的单元电路就多,要想将这些电路串联起来,就需要极其复杂的电路,这就造成了 CPU 的面积偏大,功耗偏大。

(3) 程序执行麻烦。上下文在程序执行过程中需要被保存在堆栈中否则会造成程序执行错误,某些时候甚至还需要调用内存。

3. RISC 的优点

(1) RISC 指令简明扼要,设计方便、简单。采用精简指令集,指令长度定长,且指令格式和寻址方式为了简单,只设计出了几个种类罢了。

(2) 指令执行速度快。只有两个指令(LOAD,STRORE)需要调用内存,其他都在通用寄存器中执行。并且运用了流水线和高速缓存(cache)技术来帮助程序执行,使指令执行速度进一步提高

(3) 编译程序对程序优化能力强。

(4) CPU 面积小,功耗小。单元电路少,构成结构不复杂。

4. RISC 的缺点

(1) 虽然也能在 DOS,WINDOWS 上运行,但是由于人们最开始设计操作系统时并没有考虑 RISC,所以 RISC 在这些操作系统上运行时需要翻译成操作系统能看懂额指令,导致程序执行速度较慢。

(2) 由于面向高级语言,高级语言在编译时需要转换为大量的汇编语言,这些汇编语言需要大量的空间来存储,同时因为优化能力更强,所以设计难度相应变大。

5. 总结

虽然 RISC 和 CISC 有着很多在之前认为相互独立的优缺点,但是随着科技发展和相互融合,现在的两种架构都不是最初的样子了,本身的缺点在融合对方的优点后趋于完美,但是因为材料,物理等学科的局限超大规模集成电路的发展也陷入了瓶颈,只有两者联合在一起相互促进才是新时代科技的发展的正确方向。五、当前市场分析[4]

在 RISC 尚未得到充分发展的早期,它在和 CISC 的竞争中,虽然总体上来看难分难舍,但是很多时候还是 CISC 阵容站上风。ARM 公司在 RISC 阵营中充当主力,而 Intel 公司则是 CISC 阵营的主力,从他们两个公司的产品的市场份额,我们可以推断出 RISC 和 CISC 的竞争情况。

我们首先不得不承认 Intel 的 CPU 的强大,作为 CPU 界的老大哥,在目前来说,他们生产的 CPU 在性能上是优与 ARM 架构的芯片的(来源于不断地积累和对外界的技术壁垒),但是从目前的局面来看却是 Intel 公司和 ARM 公司各分半壁江山。

x86 构架的 CPU 是 Intel 公司的代表产品,他们的产品在 PC 和服务器处理器的市场中占据大约 99%的市场份额,丝毫没有给 ARM 芯片插足的余地,原因有以下两点:

(1) 强大的性能。虽然在设计上来说 RISC 的设计理念比 CISC 更为先进,但是由于其他种种原因,如:制造工艺等。在性能上来看,Intel 的 CPU 是明显优与 ARM 的 CPU 的,这也是为什么很多人选择 Intel 的理由。

(2) 历史原因。由于人们从一开始就是用的是 CISC 来设计芯片,其他的一系列配套设施,如:操作系统(Windows)等对 CISC 芯片是非常兼容的,而对其他的处理器就需要一个翻译的过程,这就会使处理的速度变慢,人们往往因为这种捆绑,而选择 Intel。

但是为什么在移动端的市场上,Intel 却败给了 ARM 呢?

因为在乔布斯刚开始研发 iphone 时,曾想用 Intel 的芯片,但是由于当时移动市场菜刚刚起步,Intel 并没有看得上这块“小蛋糕”,再到后来想进去这个行业也进不来了。更具体的原因也分为以下两点:

(1) Intel 在 PC 和服务器市场的垄断引起了行业的不满。由于在 PC 和服务器市场山,没有人是 Intel 公司的有力竞争对手,包括 AMD 公司,所以 CPU 的价格是 Intel 想定多高就定多高,这就引发了行业的“众怒”,以至于在后来的移动设备市场上,只要能其他的选择,厂商们都不会选择 Intel。

(2) 当然 RISC 在移动端的表现也是可圈可点的。ARM 芯片在手机等智能设备上具有 Intel 芯片难以具备的优势,更关键的是,ARM 是开放的构架,对所有厂商开放架构技术,以致于使得 Intel 陷入“人民战争”的海洋中,这才使得 ARM 芯片在移动端的市场占有度达到 90%以上。

讨论了在移动端、PC 端和服务器端的 Intel 和 ARM 之争,除此之外,在其他领域这两个公司也有竞争,比如工业领域。

在工业控制领域,ARM 处理器在市场份额上占据着巨大的优势,因为 ARM 处理器在对 Intel 处理器的优势主要在于低价和低耗。因为 ARM 处理器的指令集简单,执行功耗低,所以体现在具体层面就有两个巨大的优势:1.开机速度快 2. 能耗低,常年开机还能保持常温并正常运行。ARM 在工业控制领域较之 Intel 处理器有着不小的优势。但是并不是说 ARM 处理器就可以完全取代 Intel 处理器。

Intel 处理器也有很多 ARM 处理器不曾具有的优势。X86 架构的处理器较之 ARM 处理器来说,优势在于功能额多样性和扩展的灵活性。在工业控制领域中有相当一部分地方需要更为人性化的控制,这种地方,X86 架构处理器就比 ARM 处理器具有更大的优势。所以根据市场调研发现,X86 架构处理器在工业领域仍有很大的生存空间。

鉴于 Intel 公司强大的技术,且由于技术的发展,CISC 和 RISC 的界限不再是那么清楚明了了,Intel 的继续强大并在接下来的一段时间内仍然会在 CPU 市场占据统治地位是可以预料的,但是至于 ARM 的未来发展前景,它有着很大的潜力,将来会不会超过 Intel 还是值得讨论的一件事。

六、Intel 公司和 ARM 公司前景分析

由于精简指令集计算机和复杂指令集计算机的争论很大程度上受到以上两家公司的影响,所以接下来,我们分析一下这两家公司的发展前景来展望精简指令计算机和复杂指令集算计的未来。

1. Intel

提到 Intel 公司,我们想到的就是它强大的科研能力,和强大性能的产品。从

1978 年 Intel 与 IBM 公司的交易开始,Intel 着力于个人电脑项目上,推出 8086,

8088 微处理器,8088 微处理器的成功使 Intel 公司进入了世界 500 强,从此一发不可收拾,研发的微处理器对世界的微处理器发展都有举足轻重的作用。

著名的摩尔定律便是 Intel 对世界做的贡献,更有 Intel 公司钟摆理论的带领,奇数年就会推出精密制造新的制造工艺,偶数年推出 CPU 新的架构方式,使世界的处理器研发工作循序渐进的得以发展。

即便做出很多贡献,但是由于它对于行业的垄断行为,如果不改变公司战略的话,很容易被 ARM 超过。就目前而言,虽然 Intel 公司在世界的微处理器行业占领着绝大的优势,但是由于它在移动项目进入与否的决策错误,导致它失去了移动市场这个大市场。再加上 ARM 的强烈攻势,我对未来 Intel 公司的发展前景呈消极态度。

2. ARM

ARM(曾命名 CPU 公司)公司于 1978 年成立,当时由于想要得到 80286 芯片的制造技术遭到拒绝后被迫开始研发芯片。

ARM 公司并不是一个以生产处理器来牟利的公司,它只是将处理器的技术授权给其他厂家,得技术专利费,这导致 ARM 处理器近乎开源,得到大量厂商的支持,并且在移动端市场占领领导地位,是 RISC 国际标准的制定者。

虽然目前来看,ARM 公司的体量比不过 Intel 公司,但是随着 2011 年微软宣布和它的合作,和后来宣布进入服务器,数据中心行业的一系列举动来看,ARM 公司在接下来的发展中有着明确的目标和方向,看得出来会有一个良好的发展前景。更关键的是,总体来说 RISC 的设计理念是比 CISC 更加优秀的,所以我对 ARM 公司的发展前景呈乐观态度。

七、CPU 未来发展展望

伴随着架构体系和微电子技术的发展和进步,精简指令集计算机和复杂指令集计算机在性能(因为架构方式的不同)上差距并不大了,而且,在这么多年的争论中,两者也在不断的相互融合,举个例子来说,CISC 的代表 Intel 公司的产品中都有着明显的 RISC 痕迹,且 ARM 也在吸收 CISC 的优点,比如较新的架构就可以看出其中也有着明显的 CISC 的痕迹。

目前而言,想要单独走一个方向来实现技术突破是一件很难的事,因为受到材料科学和物理学基础等的限制,所以吸取同行的优势来实现自身的进步是一个大势。比较精简指令集和复杂指令集这两者的优缺点都是可以通过相互融合解决的,精简指令集,精简是精简了,代码也等长了,执行也变快了,但是他的缺点也明显,由于代码格式过于规整,硬件实现,设计有困难,并且具有代码密度低的缺点。而复杂指令集的缺点就更加明显了:指令条数多,有几十上百条,指令格式也复杂难懂,编译器难以精确识别和执行,执行速度慢。

目前市场上的 CPU 大都融合了两种 CPU 的长处,一般采用外围 CISC 架构,内部 RISC 架构。两者相互的取长补短使得在硬件和软件方面都有长足的进步,形成了目前的 CPU 设计理念。

为了更好的融合这两种指令集的长处,目前业界有种名为超长指令集的现世,这种指新的令集结合了复杂指令集和精简指令集各自的长处,未来 CPU 发展的方向之一就是这种超长指令级,值得我们去研究。这种技术会使我们 CPU 程序并行能力和处理能力得到进一步加强。

八、结语

因为随着科技的发展,CISC 和 RISC 在架构层面的差距几乎可以忽略不计,所以我们不必纠结于谁比谁更加优秀,处理器的性能的进一步提高,必须从结合

CISC 和 RISC 两者的优点入手。

作者:好哥哥oh

物联沃分享整理
物联沃-IOTWORD物联网 » 8位单片机8051内核与RISC内核的区别及发展历史对比

发表评论