子源吧 关注:642贴子:190,970

【科普】BGA,PGA,那些你不搞专业你不知道的东西

只看楼主收藏回复


原文搬运,如觉得意犹未尽请参看《写在前面的说明》
http://tieba.baidu.com/p/2294394680


IP属地:广东1楼2013-04-28 05:54回复
    本人大学狗一枚,同时也算一个商人,有些老人也认识我,
    因为我也是学计算机科学的,在芯片设计和应用上,算是略微有所了解,故而发此科普贴,如有错误或疏漏,欢迎指正
    下面插播一条广告先


    IP属地:广东2楼2013-04-28 05:54
    回复
      各位对BGA平台稍有了解的吧友,都知道一些BGA转针U的传统的问题,比如说脱焊,掉针。
      其实脱焊很难,cpu的发热量远远不足以让焊锡融化
      ,真正怕的是虚焊,还有软化,虚焊靠良好的焊接技术就能避免,但软化属于材料学,这里不提
      掉针也是,断了抖出来就好,而且只要你不经常拆装,很难出现断针的情况。
      所以,黑断针,虚焊,只是低层次的讨论,BGA的封装的CPU的本质,并非只是简单的封装形式与PGA不同,下面,开始知识部分,各位欢迎指正


      IP属地:广东3楼2013-04-28 05:56
      回复
        写在前面:
        关于楼主我,是HKU大学狗一枚,在发帖前已和教授详细沟通,并且研究了相当数量的书籍,资料与图纸,再发的帖子。
        延续一句各位小学时就说烂的老话:“知识,是枯燥无味,但是却有用的”;尤其是专业知识,大多是晦涩,形容委婉的一些操蛋玩意,所以,还请各位有求知欲的基佬们耐心跟着我,一起来研究下这个课题,我会尽量绕开晦涩的部分,用更加轻松简洁的形容来表达我这几个月的研究结果(这个期末的Assessment就决定搞这个了),部分太学术的地方会尽量绕开,那么,开始,欢迎各位指正,诸位小白酱还请仔细审题哦~太初级的问题我不会回答的哈~
        但愿各位不要嫌弃太长,不看


        IP属地:广东4楼2013-04-28 05:56
        回复
          额....有点不得体...刚刚那图片我们改一下...
          这样子:

          【红色部分是运算单元】
          注意看,图中的运算单元被分割成很多个块。
          因为呢,制造产品就像是在游戏里打造装备一样,是有这么个良品率的问题存在的,
          如果做的是整体化设计的话,就会出现坏了一小部分而导致整个都废掉的情况发生。
          而如果我们在设计上就把各个运算单元分隔开,之间保留信道保证能协同运算,就能很方便的把其中扑街了的单元封禁掉,让好的单元继续工作,这样子就能避免浪费,降低成本。
          (补充:实际上设计师会故意设计多一些多的运算单元,因为这些损耗都会有,晶片里面的晶体管单位以亿记,从概率学上说,完美芯片的出现率为无穷小,那些多余的单元本来就是损耗用的,这里我们不详谈,顺口一提,不把问题搞得更复杂,下文中的无损伤芯片指损坏数量在备用损耗范围内的芯片)
          继续:
          如果有一个晶片,它的运算单元很完整,如下图:

          那么,这枚晶片就会被做成I7 3940xm这种高段数的CPU
          那么,接下来,如果有这么一枚芯片,它的运算单元扑街了两个:

          这种,坏了两个的,就把坏的关闭掉,然后intel把它做成3920xm。
          但是因为少了一部分运算单元,所以就会让频率下降一点点,就是这样子
          另外顺便一提,所谓的芯片体质:
          体质是看坏区分布的,如果好的区域是连续又集中的话,那么这个芯片的体质就高,反之就是低体质
          好了,继续:
          现在诸位知道了,cpu的良品率问题,以及intel的解决方案:屏蔽,然后分成不同等级的cpu
          那么,接下来呢,在这个cpu工程模板里面,,运算单元里面有一个特殊的部分(黄色)

          【绿色部分为内存控制器】
          这一部分的运算单元是协从运算单元,为什么叫他协从运算单元呢?(以下部分名词我不知道解释的得不得体,因为我的资料都是英文....直译的....中文学名可能不是这样子,大家见谅,但是字如其意,不会很难理解哈~)
          其实CPU核心运算单元很多,大部分都是主逻辑运算单元,而协从运算单元的作用就是辅佐一些功能单元的工作,比如上图的黄色部分


          IP属地:广东6楼2013-04-28 05:57
          收起回复
            那么,在CPU的功能模块里面,是这样子一个工作体系:
            “协运算单元”-“控制器总成”-“逻辑单元”
            以上,是三个部分协同工作完成的,我们称之为电子工程体系的“黄金三角组合”
            其中逻辑单元就是内存控制器这种功能单位,他本身的运算都依赖于协运算单元来完成,这也是为什么你超频cpu,内存也会自动超频的原因,因为人家的时钟本来就是跟着核心走的。
            (控制器总成将在下文提及,这里先挂起不说)
            好的,回来,现在诸位知道了紧挨着内存控制器的那些运算单元的重要性了吧?我们可以举个例子:

            还是这个工程模板
            我们假设:坏8个运算单元的晶片用来做了3610QM
            在这里,坏的单元的位置都是随机的,我们看看几个例子:

            如上图

            我们不难得出结论,这个U的体质一般般,因为完好的逻辑单元虽然连续,但是却不集中;
            恩,好的,那么接下来我们来看另一种情况:


            这样子,如果很不走运,内存控制器的协处理器扑街了,那么“黄金三角组合”的体系就被打破了,这也就意味着其中的一组内存控制器不能工作。
            另外,还有可能是内存控制器直接扑街了,如图:

            但是丢掉有点可惜是不是?蛮浪费的,毕竟其他单元可能很完好。
            所以呢,intel就把内存控制器挂掉的(为了方便,我们叫他A组),还有协处理器挂掉的(我们叫他B组)这两批,取其中只挂了一个或者两个的晶片(三个的都丢掉了),放入仓库


            IP属地:广东7楼2013-04-28 05:57
            回复

              好,A组和B组的晶元先放在仓库里吧,我们来娱乐下,广告时间:


              IP属地:广东8楼2013-04-28 06:06
              回复
                对了,补充一下,

                这里给的工程模板,是指在设计初期的最早期工程模板,因为步进只是微调,即使是A到D,变动的量也绝对不可能到改变布局的程度。
                所以,前面也说了,为了让问题更加简单好理解,我们只论述BGA与PGA的最深层次的问题,繁杂的学术先放下,用简单直观的方法来讨论问题


                IP属地:广东9楼2013-04-28 06:07
                回复
                  我们继续:
                  现在A组和B组两个情况的晶片,已经被放入了intel的仓库,那么我们就先不管他,我们看看别的;

                  下图:

                  【黑色部分,总线控制器】
                  这样子,当然,也是模组化设计,一块块的,方便屏蔽。
                  同运算单元相同,总线控制器挂了一般是封掉坏块,但是呢,相对应的就是,总线带宽会变低。
                  在这里提及一下,计算机总线,说的形象点,里面跑的是你在使用的,正在来回交换的数据,就当他是管道吧,一般来说设备在高负荷工作下就会占用较多的总线资源,而且不同规格的硬件平台对总线的占用需求不同。
                  打个比方,集显的机器
                  我们定义,集显的机器,总线带宽800单位就够满足
                  那么,相应的,如果有一张GT630存在,就要1000单位的带宽才能发挥了
                  如果是GTX680的平台,就要至少1600单位的总线带宽才能发挥其性能
                  【总线不足的情况请参考16X显卡插8X带宽接口的性能影响】

                  那么,现在PGA的U,都是1600单位以上的晶片制成,因为PGA本身就是一种模块化设计,作为通用零件存在的,需要保证他的支持能力,其他部分也是同理。
                  那么,是所有的PGA都是1600的吗?
                  答案是:不是的。
                  也有一部分的PGA的U不是1600单位的的,可能是1400单位的或者1500的,比如部分i3的U
                  但是为了保证即使在1500单位的总线下,还能支持到680这种高带宽的硬件,那么,就相应的,降低下支持的内存的频率,或者一些别的什么,这样子就不会显得总线不够用


                  IP属地:广东10楼2013-04-28 06:07
                  收起回复
                    那么,继续:

                    以上,关于总线控制器,就是这个样子,intel的应对方法如下:
                    ①总线有问题的u里面呢,不严重的变成了低端u,通过限制内存频率或者降低其对其他硬件的支持力度来规避掉芯片的缺点
                    ②剩下的是比较严重的,剩余带宽在1000到1400之间,虽然比较严重,但是还没有坏到要丢掉的程度,丢掉可惜啊,此时intel的做法是,打包,放入仓库。 【在这里,我们把它归类为C组】
                    ③最严重的部分,带宽低于1000,报废处理。


                    IP属地:广东11楼2013-04-28 06:08
                    回复
                      继续,下一批:
                      你看我多懒,连集显部分都没画出来~
                      好吧,在此我再次强调一下,请诸位认真阅读,这是一次有所侧重的讨论,我避开了那些需要太多知识性的地方,和一些无关的,但是却存在的东西。
                      还请诸位不要怪我不严谨,我的论文原件是非常严谨晦涩的...但正是因为严谨晦涩...我想除了我的教授,应该不会有人有耐心读下去吧...
                      所以现在我在尽可能的简化它,用浅显易懂的方法告诉大家,恩,谢谢支持~

                      【蓝色部分是控制器总成】
                      通宵了...困...格子不画了,还请诸位自行脑补吧~
                      总之呢,依然是模块化设计。
                      你懂得...前面我插播了,
                      “协运算单元”-“控制器总成”-“逻辑单元”之间是协同的关系
                      恩,没画格子哈~简单的说呢,就是这里面的控制器总成扑街了一组吧,或者两组,相对应的那部分运算单元和执行单元都会无法工作。
                      那么,现在这一批总成有问题的,严重的就报废处理,不严重的就存起来,放进仓库,命名为【D组】
                      那么好~总结时间~

                      现在intel,把坏了厉害的丢掉了,坏的很轻的按损伤程度做低端u,坏的不轻不重的存了起来。
                      而仓库里有四组晶片,分别是
                      A组:协处理器有一个或者两个不能用的晶片;
                      B组:内存控制器有一个或者两个不能用的芯片;
                      C组:总线控制器有问题,总线带宽在1400以下,1000以上的芯片;
                      D组:芯片组里面的总成有一定损伤的芯片。


                      IP属地:广东12楼2013-04-28 06:08
                      回复
                        那么,关键部分来了:
                        现在intel把ABCD四个组的晶片放在一起,做一个统一的处理
                        怎么做呢?简单,就是统一屏蔽,具体做法如下:
                        ①让这一堆芯片的内存控制器都只开启两个
                        ②然后,所有的总线带宽都封到1000(因为1000以下的都丢掉了,所以按最低标准来的)
                        然后呢,这些BGA的CPU的芯片就做好了
                        按运算单元的完整程度来算,人家是I7的性能,所以就是i7的BGA版
                        (这里我故意不提根据运算单元的完好度再进行型号的细分,省的把问题搞复杂,各位大行家请不要吐槽我了,这是在简化思想让大家都能看懂啊...真要严谨的话我直接上传我的论文原件,让你严谨个够都没问题)
                        ╮(╯_╰)╭,你看,是不是很奇葩?次品拿出来卖,是intel没节操吗?
                        不,其实不是intel没节操,是转针这种行为没节操╮(╯_╰)╭
                        intel做的BGA的处理器,已经通过各种手段来避免BGA的U流通,又是把针脚改的面目全非,又是焊死在主板上,目的就是不让你取下来。
                        但是啊,作为一个小白,看了LZ的帖子后,被吓得不轻啊!超极本什么的岂不是天坑??


                        IP属地:广东13楼2013-04-28 06:08
                        回复
                          不不不,我说了,intel节操满满,人家是在物尽其用,超极本这不是坑,实际上,这是在合理的降低成本,毫无问题。
                          你可以理解BGA的消费级CPU的晶片都是能打乒乓球的矮子,PGA的晶片都是又能打乒乓球又能打篮球的高个子
                          恩,既然矮子不适合打篮球,那我就让他专心打乒乓球咯~就是这么简单嘛~
                          现在我们来分析下啊,BGA的消费级cpu都用在什么机器上面呢?
                          答案是超薄电脑,比如说超极本什么的,你见过有四个内存槽的不?
                          没有对吧?反正就是两个槽,两个内存控制器是不是无压力?乒乓球,不亦乐哉?

                          物尽其用,合理规避缺点,还能降低成本,这是高招。
                          那么继续
                          你在超极本上,见过显卡高于630的不?
                          答案是没有
                          当然,神州有个伪超极本,还有华硕
                          人家搭载的是640或者640le
                          但是为什么我说他是伪超极本呢?
                          因为他很厚,而且人家是PGA的U,是个打着潮流的名号出来招摇撞骗的家伙
                          当然,还有些搭着650跑着BGA的,比如苹果的某神器,你没有注意到苹果的650性能没有完全发挥吗~这个情况基本上就是“论16X卡插在8X槽上的性能损失”这种老课题~不深谈~
                          好了,说远了,扯回来。
                          本身呢,装载BGA的U的消费级机器,都是两个内存槽,显卡630以下的(或者干脆是集显)的轻量级平台。
                          是不是完美的规避了芯片的那些总线不足,内存控制器不足缺点?╮(╯_╰)╭
                          而且还降低了成本,还不会有任何质量问题
                          ╮(╯_╰)╭但是这个毫无问题是仅限于轻量级平台哦
                          也许你会问:英特尔推广超极本这个概念就是为了出掉bga的u?


                          IP属地:广东14楼2013-04-28 06:09
                          回复
                            答案是不,BGA的U很早前就有,而超极本只是大势所趋下的产物。
                            在超极本之前,消费级的笔记本上用BGA的都是些整体硬件平台不高的机器上的,这样子可以降低成本,而且在机器本身的硬件配置没有达到一定层次的话,是不会触及到BGA CPU的不足之处的;
                            在轻量级平台,BGA的消费级cpu是非常非常完美的解决方案(当然了,BGA转PGA没节操什么的)
                            而PGA封装的cpu为了考虑到其通用性,(你可以用它带着神卡610玩CF,但也可能带着Titan玩孤岛3)所有的规格都定得较高,所以成本高,但是如果你是用轻量级平台上的话,你根本就用不到那么高的规格嘛,这是浪费钱哦~
                            虽然如此,但是BGA的芯片终归还是“次品”,但是这不是功能上有故障,而不能用的次品,而是在某些方面性能不足。
                            是打乒乓球ok但是不适合打篮球的矮子哦~
                            相应的,BGA的CPU价格低廉便宜
                            真要给个总结的话,那无非就是:
                            完美的“废物利用”方案
                            这个“废物”在低端平台上能完全的施展自己的才能,还能节约成本,降低商品的价格,岂不乐哉?


                            IP属地:广东15楼2013-04-28 06:09
                            回复
                              接下来,到节操丢掉的部分:
                              首先,intel是非常注重品牌信誉的,所以bga的CPU的针脚,针脚顺序,cpu微码都和PGA的完全不相同
                              目的就是为了防止别有用心的人把它做成pga,放在市场上流通,╮(╯_╰)╭毕竟芯片本身是“残次品”啊,是针对低端平台专门做的嘛
                              还是那个比喻,高个子能打乒乓球也能打篮球,矮个子打不了篮球只能打乒乓球
                              那我就让矮个子直接去打乒乓球就好了嘛,多么轻松简单愉悦的一个决定啊~
                              但是你要矮个子穿高跟鞋去打篮球嘛....好吧,你要他上场的话,还是能上场的嘛,对不?只是打不过那些高个子而已嘛
                              总之呢,计算机是个协同工作的整体,就是这样子,你把矮子往高规格平台上塞,实在是有点为难别人了


                              IP属地:广东16楼2013-04-28 06:10
                              回复