Redian新闻
>
CPU,疯狂五十年

CPU,疯狂五十年

公众号新闻

👆如果您希望可以时常见面,欢迎标星🌟收藏哦~


来源:内容由半导体行业观察(ID:icbank)编译自pcwatch,谢谢。


1971年发布的Intel 4004 中的晶体管总数约为 2,300 个(根据 Masatoshi Shima 的回忆录为 2,237 个),但显然在设计时有指示将其保持在 2,000 个以内。为什么这么难呢?答案在于当时的半导体制造技术还不成熟(与现在相比)。



回看细节,其制造工艺为10μm,芯片尺寸约为4mm x 3mm,12平方毫米(照片1)。当时我们还在用直径50毫米(或者更确切地说是2英寸)的晶圆进行制造(图2),理论上一块50毫米的晶圆可以生产大约130种产品。然而,当时的生产良率很低,所以我们想知道是否可以生产 100 件。当时的晶圆制造成本并未公开,但有一个像这样的图表(图3),显示在1971年,一个晶体管的成本为0.3美元。这意味着 4004 的制造成本将略低于 700 美元。



顺便说一句,英特尔最初以 60 美元的价格出售此产品,因此卖得越多,亏损就越多,但在 1974 年,当继任者 4040 推出时,每个晶体管的成本为 0.07 美元,即 161 美元。到 1976 年,生产成本为每个晶体管的价格为 0.015 美元,制造成本低于 35 美元。所以,当然,如果从长远来看,它是有利可图的,但目前还不清楚英特尔管理层在多大程度上预见到了这一点。



不过,暂时亏损也还好,虽然除非市场建立起来才不会带来未来的生意,但想要限制亏损数额也是理所当然的。2,000 颗或更少意味着制造成本低于 600 美元,但 4004 无法满足这个要求。这就是为什么早期的 CPU 存在制造成本和良率问题,而大规模的第一个故事是电路无法安装。


而且,晶圆最初是50毫米,后来逐渐增大到75毫米/100毫米/150毫米,但即便如此,也不可能突然制造出100平方毫米芯片的CPU。1974年的8080采用6μm工艺制造,尺寸为20.1平方毫米,1978年的8086采用3μm工艺制造,尺寸为32平方毫米。随着芯片尺寸逐渐增大,可用晶体管的数量也随之增加(8086已29,000。大约是 4004 的 10 倍。)换句话说,在那个时代,由于电路尺寸的原因,尝试整合各种功能是不可能的,所以即使人们想要包含一些功能,也常常被推迟。


“iAPX 432”是一个很大的失败,因为设计时根本没有考虑到这一点。设计于1975年开始,芯片于1981年完成,但它不能包含在一个芯片中,而且指令有多个芯片配置由解码器“iAPX 43201”(66.3平方毫米)、指令执行“iAPX 43202”(74平方毫米)和外围I/O“iAPX 43203”(75.3平方毫米)组成。(更重要的是,甚至虽然它是一个如此巨大的芯片,但它没有内置内存控制器;iAPX 43205 可用)。


而且,iAPX 43201和43202之间的通信成为瓶颈,工作频率最高被限制在8MHz。毕竟几乎没有采用它的例子(英文版维基百科有一个SBC的形象:配备iAPX 432的单板计算机,并且可以肯定的是Intel本身以SBC的形式销售了至少100套) .它就这样消失了。总之,以当时的半导体制造技术,制造大型复杂的CPU仍然很困难。


迈向以IPC≧1为目标的时代

这个方向可能在 20 世纪 80 年代末发生了变化。指令集已变为32位,对包括虚拟内存在内的成熟操作系统的支持以及相关的安全实现已经完成,但可以使用的晶体管由于小型化而变得更加灵活。虽然这只是“轻微”的水平,并不会导致电路规模的急剧增加,但它已经使得创建与以前的设计不同的设计成为可能。


英特尔的“80486”和摩托罗拉的“MC68030”都在芯片中内置了高速缓存。80486 还将其解码器从微码更改为硬连线,大大提高了其吞吐量。以所谓的MIPS值来说,工作频率为33 MHz的80386约为11.4 MIPS,这意味着执行一条指令平均需要3个周期,但工作频率为25 MHz的80486为20 MIPS ,或每条指令 1.25。周期已缩短。


这一时期也见证了 RISC 处理器的兴起。在商业产品中,先驱者是富士通和TI等公司生产的MIPS R2000和R3000、SPARC和microSPARC以及IBM的POWER( *1 ) ,但这些产品在一个周期内处理一条基本指令。假设可以完成了(尽管有一些值得怀疑的),并且通过拥有一个简单的指令集使其成为可能,虽然代码密度略有下降,但已经可以用高工作频率来补偿这一点。


顺便说一句,MC68030的处理器配置与MC68020基本相同,因此IPC方面没有太大提升(MC68020为2.8MIPS@20MHz,MC68030为3.3MIPS@20MHz)。然而,遵循该模型的 MC68040 通过使用流水线处理实现了 44MIPS@40MHz。


然而,无论我们如何努力加速这条指令流水线,理论极限都是 1MIPS@1MHz。当然,一条流水线一次只能处理一条指令。而在同步电路(内部电路与时钟同步运行的数字电路)中,无论延迟如何,吞吐量都不能高于 1。


直到20世纪80年代,方向是逐步增加可用晶体管的数量,并逐步增加功能和指令的数量,以提高性能。我认为最后一代将是英特尔的“80386”或摩托罗拉的“MC68020”。那是一个用晶体管来支持32位和虚拟内存的时代,而指令处理本身仍然是非流水线结构,并且只有一个指令处理单元。



那么MC68040是如何达到1.1MIPS@1MHz的呢?它有多个指令流水线(MC68040有两个)。这就是所谓的超标量方法(图 4)。Intel 还在其 Pentium 一代中使用了这种超标量,达到 188MIPS@100MHz。自然,RISC处理器也纷纷效仿,通过推出配备超标量的产品(UltraSPARC和MIPS R10000),他们成功地将IPC提升到1以上。


那么,如果继续发展超标量,性能会不会有所提升呢?指令依赖性是有限制的(根据指令的上下文,可以同时发出的指令数量受到限制)。乱序首先在Intel的Pentium Pro中实现,然后是AMD的K6(或者更确切地说,旧的NexGen的Nx686)来解决这个问题,RISC处理器也引入了它。


顺便说一句,与这种乱序相关的事情之一就是将 CISC 指令转换为 RISC。Pentium Pro和Nx686/K6内部实现为RISC处理器,前端解码器将x86指令转换为独特的RISC指令(最初流行称此为RISC86,但现在不再如此。通过转换为MicroOp(这是现在通常称为 MicroOp),简化结构并加快流程已成为可能。


之后AMD发展了K7,Intel发展了Pentium II/III,并支持基于SIMD的计算,但SIMD虽然带来了数据处理性能的提升,但与IPC的提升没有任何关系,这里就先不提了。


高工作频率挑战和多核实现失败

那么下一代会增加管线数量来提高性能吗?事实并非如此。这称为波拉克定律或波拉克经验法则,这是因为性能受“处理器的性能与其复杂性的平方根成正比”这一表述的支配(图 5)。


随着管道数量的增加,面积大小也会增加,但性能仅以面积大小的平方根增加。换句话说,即使裸片尺寸增加一倍,性能也只会提升1.4倍。这是使用晶体管的低效方法。



第一个想法是提高工作频率。Intel将其实现为Pentium 4,但正如你所知,它的目标是5GHz,但实际上未能达到4GHz。这是因为90nm工艺的漏电太大,导致其无法正常工作,而即使是采取了一些对策的65nm,仍然无法实现高速运行。


因此,英特尔将取消名为 Tejas 的核心,转而专注于多核。


波拉克规则侧重于单个核心内的复杂性,但如果幸运的话,您可以通过使用两个核心使处理性能加倍。如果两倍大小的核心只是1.4倍大小,那么最好增加核心数量。


AMD从Athlon 64核心开始就为双核准备了外围电路,并于2005年推出了双核Athlon 64 X2。英特尔还在 2005 年推出了一款名为 Pentium D 的双芯片 MCM 配置产品,并于 2006 年发布了 Core 2 Duo(一个芯片上有两个核心)和 Core 2 Quad(有两个芯片配置)。进入。至少从表面上看,性能随着核心数量的增加而提高,现在的挑战变成了如何让所有核心都完成自己的工作。


顺便说一句,随着高工作频率和多核开发的挑战加剧,大多数 RISC 处理器失去了市场,只剩下 Arm(当时称为 ARM 除外)。


阿姆达尔定律和再次改进 IPC

 那么,增加核心数量是否更有利呢?批发商并没有回答这个问题。著名的阿姆达尔定律在这里脱颖而出。阿姆达尔定律定义为:



其中:


  • Slatency:整体性能提升率

  • p:可以并行执行的总处理的百分比

  • s:可并行运行的部件的性能提升率


例如,如果一个程序由4核CPU处理,但可以并行运行的部分占总数的30%,则总体效率为1 ÷ ((1-0.3) + 0.3 ÷ 4) = 1.2903。..这意味着加速只有29%。简而言之,无论你增加多少个核心,如果处理是顺序的,那就没有意义了。


使用 Excel,您可以感受到更快的速度,因为您可以在同时更新多个单元格时划分处理,但是当您在 Word 中键入时,没有同时处理,也没有变慢,因此您不能指望性能改进.这并不是说没有。


因此,在此期间,Intel和AMD积极与软件供应商(主要是微软,但也包括其他厂商)接洽,试图以某种方式增加其应用程序中的多线程支持。这是值得的(?),而且我认为 Windows 变得越来越重并不是巧合。


核心数量不断增加,64核心的产品实际上正在向消费者推出,但与此同时,企业再次致力于改进IPC。对于英特尔来说,这是 Sandy Bridge 一代,它显着增强了后端处理管道。然而,尽管英特尔在 22 纳米工艺方面表现良好,但由于未能推出后续的 14 纳米和后续的 10 纳米工艺,它有点绊脚石。


首先,提高IPC=加强流水线,因为可以使用的晶体管数量随着工艺小型化而增加,所以我们实现它是为了利用这种增加,所以如果我们不引入工艺,我们就会缺乏事实证明,我们需要资金来增加管道。结果,Intel此时别无选择,只能增加核心数量(而忽略了die尺寸的增加),导致核心数量不必要的增加。


而AMD则在Bulldozer核心上遭遇重大失败,一度处于默默无闻的状态,但在2017年凭借Zen核心卷土重来。核心数量和 IPC 的增长速度与英特尔的 Core i 相当,而且情况仍然如此。


异构计算时代?

在这些提高性能的技术中,异构计算或异构多核是自 20 世纪 90 年代以来人们一直在谈论的一项技术,但尚未完全普及。简而言之,CPU 可以为任何类型的处理提供一定水平的性能,但一般来说,它们不具备加速特定处理的功能。


例外的是基于SIMD的扩展指令,它已经逐渐演变为MMX/3DNow!/SSE/AVX,最近AMX也加入了这个群体,这确实可以加快特定处理的速度。在 MMX 和 3DNow! 时代,它们旨在加速 JPEG 和 MPEG 的解码速度,这在当时是有问题的,并且适用于数据处理性能比指令处理性能更重要的应用。事实上,这一点直到今天都没有改变:CPU 继续为指令处理性能很重要的应用程序努力工作,并且为数据处理性能很重要的应用程序安装额外的加速器。


现在,“异构计算”这个术语自 20 世纪 90 年代以来就已存在,但其具体目标是在 2000 年代末出现的。简而言之,它是一个 GPU。AMD特别热情,为了缩小当时已经消亡的Bulldozer核心的性能差距,该公司正在大轮子上开发硬件和软件,以实现使用GPU进行异构计算的APU。实施将由双方共同进行。


在硬件方面,第一代的结构是CPU和GPU简单地通过PCI Express在内部连接,但从那时起,它逐渐演变为使用具有缓存一致性的总线连接两者。


在软件方面,我们采用了HSA(异构系统架构)这个术语,在这个术语下我们将利用OpenCL来推动应用接口的集成。HSA 最终发生的故事可以概括如下,但也许很自然地说,这只是在 Zen 出现之前争取时间的一种方式,但也无可奈何…… 不过,你仍然可以使用OpenCL,所以这并不是浪费。


NVIDIA在此之前已经广泛提供CUDA,但该公司只提供GPU(Tegra APX 2500自2008年起就已提供移动端,但仍然不为客户提供CPU)。(该公司还于2010年退出了芯片组业务) ),所以与其说是把GPU当作CPU的加速器,不如说感觉更像是GPU是处理的主处理器,CPU是对其的补充,意义与异构计算略有不同。


NVIDIA目前正在推出GH200,它将基于Arm的CPU核心和GPU结合在一个封装中,特别是在HPC领域,并计划使用这款Arm CPU + NVIDIA GPU作为异构计算平台的核心。


英特尔是落后者。就该公司而言,我认为原因之一是当时的 CPU 太强大了。2013 年 Brian Krzanich 接任 CEO 后,公司突然开始收购各种非 CPU 资源。


特别是在AI方面,英特尔进行了各种收购,比如2016年收购了Nervana Systems,一个月后收购了Movidius,三年后收购了Habana Labs,同时英特尔也犯了各种错误,比如实际上放弃了Nervana Systems。我认为他们无论如何都应该收购 Imagination Technologies 的 GPU,但他们却在 2017 年邀请了 AMD 的 Raja Koduri,并从那里再次开始构建 GPU。


顺便说一句,他们还收购了 Altera(尽管它最近已成为一家独立公司,并且将不再受到支持)。一个名为 oneAPI 的庞大框架已经被建立来集成所有这些东西。


异构计算有效吗?

这样一来,各个公司都准备了异构计算的平台,但这行得通吗?本月的主题是:首先得出结论,我想:“这不是不可能吗?” 原因是各个公司的解决方案不兼容。


Intel 说 oneAPI 涵盖了一切,但实际情况是 oneAPI 本身就是一个巨大的拼凑体,或者说他们只是想让它看起来像是他们把所有不相关的东西都集成在了 oneAPI 的名下。oneAPI 的最初愿景是能够通过一个 API 统一处理所有计算资源,但即使是现在


  • oneDPL(oneAPI DPC++ 库)

  • oneMKL(oneAPI 数学内核库)

  • oneDAL(oneAPI数据分析库)

  • oneDNN(oneAPI深度神经网络库)

  • oneCCL(oneAPI集体通信库)

  • oneTBB(oneAPI 线程构建块)

  • oneVP(oneAPI视频处理库)


oneAPI 库有七种类型,除此之外,OpenVINO 正在推广用于 AI 推理。此外,之前的 Habana Labs 产品线仍然不受 oneAPI 支持。不过,如果说这是多平台就好了,也就是说,它涵盖了所有 AMD 和 NVIDIA GPU、AMD NPU 等,但当然事实并非如此。



对于 AMD 来说,情况有点复杂。IEEE FCCM23(现场可编程定制计算机)于去年 (2023 年) 5 月举行,以下是该活动的幻灯片(图 7)。套上像oneAPI这样的外衣是不现实的,应用程序基于MLIR(多级中间表示)编写,然后通过LLVM/ROCm/MLIR-AIE/CIRCT由CPU或加速器处理。故事是关于分配的。


乍一看,这似乎自由度相当高,很容易支持多供应商,但例如 NVIDIA 或 Intel 会为自己的 GPU 或 NPU 提供图 7 中的红色部分吗?,似乎有可能。感觉没有任何好处,而且一开始在 MLIR 中编写应用程序时障碍很高。


另外,我理解使用 CIRCT 进行编程FPGA。


更笼统地说,AMD 目前将所有精力都集中在 ROCm 作为 GPU 的库上,ROCm 当然可以在 Radeon 上使用,但当然不适用于 NVIDIA 和 Intel 的 GPU。是的(虽然我很高兴Windows 自去年以来已被添加到支持列表中,尽管之前它不受支持)。



关于AI,如果你想用GPU,就用ROCm,如果你想用CPU,就用ZenDNN,如果你用NPU,就用基于ONNX的Ryzen AI软件。根据2022年金融分析师日路线图(图8),Unified AI Stack 2.0计划逐步发布,包括面向客户,但具体发布日期目前尚未透露。所以,据我所知,AMD只考虑自己的硬件。更不用说英伟达了。


在这种情况下,异构计算的普及意味着在检查应用程序运行在什么平台上后,Intel应该使用oneAPI或OpenVINO,AMD应该使用ROCm或Unified AI Stack,NVIDIA应该使用CUDA。这意味着你必须编写代码,以便您可以使用每个代码来执行处理。


类似的故事在游戏世界中已经存在。所谓超分辨率,可以在游戏中支持所有NVIDIA的DLSS、AMD的FSR、Intel的XeSS,然后根据运行环境启用/禁用各个选项,异构计算也必须做同样的事情。有多少应用程序需要这样的时间和精力呢?当然,如果供应商(即AMD、Intel、NVIDIA)愿意支付支持它的成本,他们可能会支持它,但我认为他们负担不起那个成本。


应用程序供应商可能不愿意支持它,除非提供一个可以被多个供应商统一使用的通用API,类似于OpenCL。然而,像OpenCL一样,这种通用API往往是半成品,即使制定了规范,它们也可能在没有得到太多使用的情况下最终消失。


考虑到这一点,我不禁认为异构计算只会在某些环境中变得流行,例如HPC和嵌入式系统,在这些环境中可以唯一确定要使用的组件。也许客户唯一的选择是继续使用异构计算以外的方法来争取更快的速度。


原文链接

https://pc.watch.impress.co.jp/docs/column/tidbit/1563042.html

点这里👆加关注,锁定更多原创内容

END


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。


今天是《半导体行业观察》为您分享的第3664期内容,欢迎关注。


推荐阅读


EUV光刻机重磅报告,美国发布

碳化硅“狂飙”:追赶、内卷、替代

芯片巨头,都想“干掉”工程师!

苹果,玩转先进封装

GPU的历史性时刻!

大陆集团,开发7nm芯片

张忠谋最新采访:中国会找到反击方法

EUV光刻的新“救星”

『半导体第一垂直媒体』

实时 专业 原创 深度

公众号ID:icbank


喜欢我们的内容就点“在看”分享给小伙伴哦

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
皮衣老黄套路多!被抢破头的GPU,其实没有任何惊喜疯狂!凌晨4点排队,疯抢茅台、爱马仕、草莓熊……Costco开业,实探来了GPU,巨变前夜又一款“中国版”GPU,浮出水面研发光子计算芯片OPU,「光本位」完成近亿天使+轮融资|36氪首发五十年前今天的一张纸System76 升级 Serval WS Linux 移动工作站,最高 i9-14900HX CPU+RTX 4070 GPUSystem76 升级 Serval WS Linux 移动工作站:最高 i9-14900HX CPU+RTX 4070 GPU纽约新年第一天突发!时报广场逆行疯子,疯狂冲撞致9伤!皮衣老黄套路多!被抢破头的 GPU,其实没有任何惊喜加拿大顶尖大学“硬刚政府”,疯狂发钱:每人$3000!这些专业能领…研发光子计算芯片OPU,「光本位」完成近亿天使+轮融资丨早起看早期GTC 对话黄仁勋:我眼中的 GPU,和别人有很大差别78、长篇民国小说《永泰里》第十六章 生死一线(2)疯狂!凌晨4点排队,疯抢茅台、爱马仕、草莓熊……华南首家Costco开业,记者实探现场EDA巨头拥抱GPU,用超算助力芯片设计连续两起血案!时报广场逆行疯子,疯狂冲撞致9伤为什么说GPU再火,AI平台也少不了强力的CPU跨年夜连续两起血案!纽约时代广场司机失控逆行,疯狂冲撞致9伤! 皇后区这高速“死亡弯道”两车相撞事故,造成五人死亡....业界首次!搭载英伟达GPU,50倍性能提升!Zilliz发布Milvus 2.4向量数据库血案!时报广场逆行疯子,疯狂冲撞致9伤!教育;学习;评价标准;相信未来英伟达推「万亿参数」GPU,继续加速「AGI 时代」34年新高,疯狂的日本股市深入了解浮点运算——CPU和GPU算力是如何计算的Elon Musk抢购英伟达GPU,也要买AMD芯片AMD Strix Point 移动处理器将采用 XDNA2 NPU,实现 3 倍生成式 AI 性能历史车轮大提速,百年会有王者兴《十七帖》读议(四)GPU、CPU和DRAM接口互联技术6063 血壮山河之随枣会战 第三章 17芯片战争早已打响!谷歌15个月打造首个TPU,欲和老黄平起平坐AI行业买英伟达GPU,花的钱比赚的多17倍AMD推出锐龙8040系列APU,采用Zen4 CPU+RDNA3 GPU英伟达新款“中国版”GPU,又一次浮出水面
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。