微架构吧 关注:176贴子:525
  • 53回复贴,共1

当年设计出P6架构的工程师都是奇才啊。。。

只看楼主收藏回复

最近在看Intel P6架构的介绍,已经吓坏了。
从顺序前段到乱序后端,三路解码,微指令库,寄存器重命名,高效率打乱再还原,而且全部采用流水线设计并每周期都完美控制数据流动,避免数据冒险,分支预测失误,还能接受系统中断,保存及暂停处理。。。我已经不知道该说什么了。比起90年的一代Pentium和486的架构,P6的改变也太疯狂太伟大了,简直就是革命。然而我也在想,P6虽然不是第一个乱序执行的处理器,但也基本上就是把能想到的方法全用上了,为了提高IPC,架构越来越复杂,95年的Pentium Pro用了四百万晶体管,超出当时A21264一倍,但以后还能复杂到哪儿去,又如继续何革命?

我刚学架构时只考虑怎么用逻辑电路连接内存啊,寄存器啊,加法器啊,等等,根本没想过将指令分成步奏,更别说平行处理或乱序处理。继承P6的Netburst架构加深了流水线,但因为材料和物理原因,频率提升也就限制在了4GHz左右,之后的Core,Nehalem,甚至11年的Sandy Bridge架构除了细节上的改变,比如SNB先按指令长度解码再根据长度对应不同的解码器,不用的可以关掉省电,但SNB在根本上依然和P6很相似,按需前段,分微指令dispatch,乱序后端。这些年的CPU性能提升也基本上是靠外界因素造成的,比如Core增加了核心数量,可效利用软件和编译器优化,Nehalem集成了内存控制器,等等。

所以我认为P6是一个很伟大的架构,或许太伟大了,可以说活了足足15年。研究这个架构后我学到了不少,也理解为什么这么多教材都拿它为例子。我同时也担心以后x86的发展余地,是否还能见到如此大规模,根本上的革命。


1楼2015-03-26 13:18回复
    p6确实被大量的引用。非常经典的例子。事实上如果按照处理器类型代际来看,从单周期处理器到流水线处理器, 到超标量,再到动态超标量。主流处理器基本走过了这么几个时代,直到今天,动态超标量依然是处理器在微架构方面的主流,所以要这么说所有的动态超标量处理器都有p6的影子。。。。。实际上已经没有再怎么大的革新了。。。。。不过p6终究还是老了,摩尔定律的发展使得处理器存储器层次性能大幅度的加强,众所周知,存储器延迟是IPC的最大敌人是吧。而且ISA的大幅度发展(还是要感谢摩尔定律),使得CPU的吞吐能力也是日新月异。我觉得人们只是把对于CPU的发展的眼观放到了其他的层面上。


    来自Android客户端2楼2015-03-27 10:35
    回复
      P6确实是一代经典,基本上现在超标量处理器设计的教程都以P6和21264作为模板,可以说在现在的绝大部分处理器都可以看到P6的影子,包括嵌入式的Cortex-A系列(A9以后)。但是,P6绝对不代表了处理器架构的全部,实际上P6所代表的乱序执行体系也不是处理器架构的最终音,理由很简单,P6以及现在的乱序执行体系无法处理小于1个时钟周期的乱序执行,实际上计算1*1和计算32*32的时间不可能完全一致,但是现在的乱序执行架构无法进行如此细粒度的划分。可以考虑一下,处理器的保留站中有如下指令:3*1,695*695,1*2,假设某处理器有两个乘法器,一般会怎么分配呢,第一周期:3*1,695*695,第二周期:1*2.....这需要两个周期。但是,某些更先进的处理器(如A3),则可以做到,在一个乘法器执行695*695的周期内,另一个乘法器执行了1*2,3*1,则实际上相当于在一个周期内完成了这些运算。要想让处理器做到这种级别的乱序执行,显然,P6所代表的架构是不够的,还需要更多的硬件完成(同步器,分离器)。


      IP属地:陕西来自Android客户端3楼2015-03-27 14:15
      收起回复
        P6之后,仍然有很多经典高效的处理器架构,比如MIT的多个实验架构,比如动态跟踪架构处理器,这些处理器的执行效能有些甚至不在超标量体系之下,然而,一个严重的问题是,这些架构的编程模型基本与现有模型无法兼容,这也就是为什么最近10年来,处理器架构仍有高速发展,但是通用处理器架构仍然保持不变的原因


        IP属地:陕西来自Android客户端4楼2015-03-27 14:22
        收起回复
          我在去年曾经在FPGA上实现过一个三发射乱序执行的MIPS处理器,基本上常见的超标量体系应该有的部分都加上去了,但是部分设计有折中。超标量体系现在实现起来并不算太困难,也有很多开源的verilog代码可供参考,有兴趣你也可以做着试试。


          IP属地:陕西来自Android客户端5楼2015-03-27 14:28
          回复
            处理器架构真的博大精深,P6只是其中较广流传的一个,深入学习的话,你会发现很多很有意思的架构,比如那个多元动态可重组架构


            IP属地:陕西来自Android客户端6楼2015-03-27 14:30
            收起回复
              Intel自家的安腾哭晕在厕所,就是因为架构步伐跨的太大了,结果遭遇了和21264同样的命运。。。
              哎,没人感谢以色列的设计团队么?


              IP属地:安徽来自Android客户端7楼2015-04-04 00:18
              回复


                来自Android客户端8楼2015-04-05 22:35
                回复
                  楼主有兴趣找找DEC Alpha 21464的设计,我个人对Alpha这种极端的设计感兴趣——在当年来说Alpha挖掘ILP可谓是极度疯狂的,尽管Alpha貌似是已知商用处理器中内存模型最弱的,而且我在Cyclone上似乎看到了Alpha的影子,激进的ILP设计——虽然最后21464只是一个Good paper design最后被砍,但有不少人都对21464非常感兴趣。包括我自己。楼主可以找找关于21464当年的设计。
                  以下摘自wikipedia:“The unproduced 21464 or EV8 would have been the first to include simultaneous multithreading, but this version was canceled after the sale of DEC to Compaq. The Tarantula research project, which most likely would have been called EV9, would have been the first Alpha processor to feature a vector unit.[6]”


                  来自iPhone客户端9楼2015-08-12 02:04
                  收起回复
                    时代辈有俊杰出


                    来自Android客户端10楼2016-03-24 21:58
                    回复
                      …… 非专业人士,就是想了解一下处理器的历史,不知道从什么了地方开始找0.0


                      IP属地:广东来自Android客户端11楼2017-10-20 01:19
                      回复