分享

处理器杂谈

 思想年代 2012-09-30

这里是收集了我一个下午在微博上发表的一些言论看法的集合,虽然都只能算是杂文,有些次序还可能有问题,但是确实直接说明了许多问题,还希望大家喜欢,将就看看

处理器杂谈

关于arm说几句吧,首先同样主频的cpu的dmips运算量是不一样的。因为现在都已经是超标量计算的时代了,就是1Mhz的主频,其实可以得到2dmips的运算性能,这是从奔腾mmx开始就广为流传的基础概念。ARM呢 A8处理器是主频的2.0倍,A9呢是2.5倍A15呢是3.5倍 高通的ARM A8 的s3是2.1倍 A9 的s4是3.3倍

处理器杂谈

为什么同样是A8或者A9,高通的要快一点呢。原因就是高通的ARM A8和A9都是兼容指令集处理器,就是说处理器内部逻辑是完全自己设计的。只是兼容指令集兼容架构罢了。不过可预见的就是,比标准ARM更长的流水线管线。

处理器杂谈

处理器杂谈

什么是流水线,比如说一条简单的乘加指令,很显然,它是由乘法和加法组成的,而乘法又可以分解为位移和加法等多种指令,一条乘加指令从输入到输出,其实需要许多个周期,但是由于,每个周期都可以输入一条乘加指令,所以实际使用中,除了随机跳转指令意外,性能影响并不大。

处理器杂谈

解释一下,为啥流水线长了,能提高电路的cpu的主频,影响mos管子最主要的是一个Cgs电容,这个电容会直接影响处理器的工作频率,因为电容容量越大,充放电所需要的时间也就越长。频率自然也就越低!

处理器杂谈

如果每一级的电路越复杂,就会导致多个晶体管并联,Cgs成倍增加,直接的结果就是处理器可运行的频率直线下降!每一级运算单元越简单,需要在输入端并联的晶体管也就越少,这一单元的输入结电容也就越小。工作频率自然水涨船高。这就是流水线提升主频的秘密。

处理器杂谈

由于负责的乘加指令被拆分成了许多的简单逻辑来时间的功能,所以每一级的输入电容被降低了,于是主频就容易提升了,这就是奔腾4为何要设计20级+的流水线的根本原因了,不过很不幸的是,主频确实得到了提升,但是散热却成为了意想不到的噩梦

处理器杂谈

增加流水线还有一个好处,就是刚才提到过的,超标量计算的问题,由于往往我们都不需要用到一些复杂的指令。这个时候,我们就可以利用乘加计算流水线中的许多计算资源,来同时完成多条加法或者是位移,逻辑与非等计算。由此还引生出了乱序执行的概念

处理器杂谈

所以流水线不可能无限制的增加,当频率无法继续提升之后。为了继续提升cpu的通用运算性能,其实已经非常困难了,多核心成为少数的几个可行的技术,于是被推上台面。起初双核心,对系统的性能提升非常明显,因为现在的操作系统,早就是多任务操作系统了,但是当核心过多之后,再想提升性能就困难了,因为多数传统程序依旧只能单线程运行

处理器杂谈

既然有人提到tegra3的四核处理器我就来说说吧,首先四核心的通用计算能力其实是不如双核心的,简单的说1g的四核心和2g的双核心,用起来肯定是双核心2g的快,因为在一些焦点运算的时候,主频对传统的主流单线程游戏性能提升更加明显。这就是为何有人会说高通的28nm s4双核会比tegra3快的根本原因了

处理器杂谈

由于dmips,只是测试单纯测试处理器的基础运算量,非常片面,并不能代表一颗处理器的综合性能,于是,便有人为了获得处理器更全面的性能了解,而推出了Quadrant Advanced这类软件,全面的反应处理器的综合性能。pc上的pcmark也是类似的理念。

处理器杂谈

再来说说RISC与CISC之间的区别,最早cisc是为了程序员写汇编而优化的,后来人们发现这部分的事情,完全可以又编译器来完成,这样就能让处理器专心来完成常见使用为了80%的那只占CISC指令集总量20% 的指令,于是risc便大行其道起来。

处理器杂谈

但是x86系统由于为了保持传统程序的兼容性,所以一直只能使用原有的CISC指令集,而且还越来越多。到了一发不可收拾的地步,可能前面大家看了我的流水线与超标量执行的时候,都会意识到,其实复杂的指令是被翻译成许多简单的指令来执行的,对的没错。其实amd的k7内核就是一颗risc的Alpha处理器。

处理器杂谈

表面上看微指令翻译器的开销正在随着指令集数量的增加而逐年增加,但随着cpu工艺的提升,与缓存数量的增加,它在cpu内所占面积比例却在逐年减少,传统意义上risc在同等工艺下主频会比cisc快,从而获得更高的性能,但现在看来在用的都是risc内核的情况下,它们之间的唯一差异微指令翻译器的开销也不多了

处理器杂谈

发展到极致的时候,就是全美达Transmeta的处理器。可编程的微指令翻译器,让它在理论上可以兼容任意的一种处理器指令集。如果说intel从来没有做过什么坏事情的话,那它做的最坏的事情,就是点名直接让Transmeta死去了

处理器杂谈

共同的risc内核,x86与arm之间的理论的差异已经只剩下微指令翻译器的开销了!但是很不幸的是intel始终掌握着最陷阱的cpu制成工艺。结果也就可想而知了,即使微指令翻译器损失掉百分之几的性能,但是一代工艺的性能提升可是可以超过50%的,随着intel的x86 soc成型,arm噩梦也就到来了。

处理器杂谈

处理器杂谈

随着android和win8这类跨时代操作系统的到来,应用程序已经完全和处理器的指令集脱钩了。简单的说理论上我们可以在任意的处理器上面使用相同的应用程序。硬件微指令翻译器,与软件编译器的地位,正在被统一编程架构的java所替代

处理器杂谈

我和好友费浙平,一直在讨论是否要使用一套全新的处理器指令集,其实原因就在这里了,因为就现在的cpu物理指令集情况下java的实际调用效率只有0.6,如果硬件对它优化,应该会有大幅起色。毕竟原来20%的常用指令,其实早已变化了。使用全新的指令不仅可以获得更高的效率,还能跳过许多固有的专利问题。

处理器杂谈

想学处理器设计吗?想知道我为啥知道这么多吗?请学verilogHDL吧,一种用于设计硬件逻辑芯片的软件语言。我当年就是看这个入门的。

                                                                         沈洁

                                                                     2011年11月8日

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多