intel吧 关注:743,173贴子:2,951,576

桌面11代好像是Skylake的旁枝(请有gcc的网友帮忙测试一下)

只看楼主收藏回复

桌面6~10代是Skylake构架,一直在做修补、改进。
桌面11代是Sunny Cove构架,由英特尔的以色列团队研发。用在移动10代、Xeon服务器3代、桌面11代。
Sunny Cove好像是Skylake的增配版,见下图(左Skylake、右Sunny Cove)。
增加了:AVX512指令集、几个运算单元、L1数据缓存、L2缓存、微指令缓存、乱序执行缓存……。看国外专家测试,还有类似Zen2/3的PSF优化(Predictive Store Forwarding),就是如果把寄存器写入内存之后再读,可以零延迟完成。
感觉Sunny Cove像Skylake的旁枝,Skylake像主干。
看了桌面10代、桌面11代的勘误表(Errata Table),相比10代桌面,11代的设计错误少很多,不知是真的错误少,还是研发资源比Skylake差很多,导致很多问题没有被跟进。
有一个测试可以验证这一点,10代的勘误表有一个popcnt缺陷,11代的勘误表没有这个缺陷。如果测试11代真没有这个错误,可能就是前者了。
请有gcc的网友花2分钟测试一下,代码见楼下。


IP属地:北京1楼2021-10-31 13:01回复
    把下面代码保存成test.c文件,然后用这两条命令编译一下,看看结果分别是多少:
    g++ -O2 test.c
    g++ -Os test.c
    执行方式:
    ./a.out 2
    请感兴趣的网友测试一下。
    #include <iostream>
    #include <chrono>
    #include <x86intrin.h>
    __attribute__((__target__("popcnt")))
    int main(int argc, char* argv[]) {
    using namespace std;
    if (argc != 2) {
    cerr << "usage: array_size in MB" << endl;
    return -1;
    }
    uint64_t size = atol(argv[1])<<20;
    uint64_t* buffer = new uint64_t[size/8];
    char* charbuffer = reinterpret_cast<char*>(buffer);
    for (unsigned i=0; i<size; ++i)
    charbuffer[i] = rand()%256;
    uint64_t count,duration;
    chrono::time_point<chrono::system_clock> startP,endP;
    {
    startP = chrono::system_clock::now();
    count=0;
    for( unsigned k = 0; k < 10000; k++){
    // Tight unrolled loop with uint64_t
    for (uint64_t i=0;i<size/8;i+=4) {
    count += _mm_popcnt_u64(buffer[i]);
    count += _mm_popcnt_u64(buffer[i+1]);
    count += _mm_popcnt_u64(buffer[i+2]);
    count += _mm_popcnt_u64(buffer[i+3]);
    }
    }
    endP = chrono::system_clock::now();
    duration = chrono::duration_cast<std::chrono::nanoseconds>(endP-startP).count();
    cout << count << '\t' << (duration/1.0E9) << " sec \t"
    << (10000.0*size)/(duration) << " GB/s" << endl;
    }
    free(charbuffer);
    }


    IP属地:北京2楼2021-10-31 13:05
    收起回复
      根本不是这样的。Skylake与Sunny cove根本是两个微架构。Sunny Cove源自icelake,一路进化到Gold cove。


      IP属地:四川来自Android客户端3楼2021-10-31 13:09
      收起回复
        11代核心cypress cove,是willow cove的桌面砍缓版


        IP属地:江苏来自Android客户端5楼2021-10-31 15:24
        收起回复
          11代是结合怪,cpu部分类似sunnycove,gpu部分类似willow cove,用的xe核显


          来自Android客户端6楼2021-10-31 16:28
          收起回复
            sunny cove(icelake)、willow cove(tigerlake)、cypress cove(rocket lake)的架构有什么区别和联系?


            7楼2021-10-31 17:44
            收起回复
              相比之下 我倒是觉得笔记本11代 像个四不像


              IP属地:福建来自Android客户端9楼2021-10-31 20:32
              收起回复
                多点这种帖子才有意思


                IP属地:湖北来自Android客户端10楼2021-11-01 00:48
                回复
                  有没有用11代桌面的网友顺手跑一下2楼的代码,只要一两分钟时间就好了,可以推测出Sunny Cove系列在Intel的地位。


                  IP属地:北京来自Android客户端13楼2021-11-01 11:29
                  回复
                    Sunnycove改动很大啊倒是Willowcove变化不大


                    IP属地:山西来自iPhone客户端15楼2021-11-01 21:59
                    收起回复
                      Mark


                      IP属地:天津来自Android客户端16楼2021-11-02 02:05
                      回复
                        这是i吧吗?讨论技术不是这个吧的风格呀,不过我支持楼主


                        IP属地:北京来自Android客户端17楼2021-11-02 08:48
                        回复
                          用5600x在虚拟机里面敲可以吗 刚开始学的嵌入式 不懂


                          IP属地:安徽来自iPhone客户端18楼2021-11-02 18:08
                          收起回复
                            所以推荐买更新的11代吗,相比较10代


                            IP属地:安徽来自Android客户端20楼2021-11-02 19:11
                            收起回复