0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

专家与处理器架构未来

M8kW_icbank 来源:未知 作者:李威 2018-03-05 15:29 次阅读

一年一度的ISSCC(International Solid State Circuits Conference的简称,中文名固态电路年会)正式拉开帷幕,在这个被称为“集成电路奥利匹克”的会议上,来自全球各地的专家齐聚一堂,探讨集成电路的未来。计算机体系专家David Paterson也在会议上发表了题为《50 Years of Computer Architecture:from Mainframe CPUs to DNN TPUs and Open RISC-V》的演讲,让我们看一下体系结构专家眼里的处理器未来。

对过去处理器发展的回顾

他表示,在20世纪60年代初,当时IBM同时拥有4条完全不兼容的产品线(701 ➡ 7094、650 ➡ 7074、702 ➡ 7080和1401 ➡ 7010),IBM面临着非常严重的兼容性问题。其中每一条产品线都拥有各自完全独立的指令集体系结构(ISA),I/O系统和二次存储,磁盘存储系统,汇编程序,编译器,库以及市场利基。

这几条完全不兼容的产品线也使得当时的处理器设计变得异常复杂,设计者必须在数据存储路径和控制单元之间进行非常详细的区分。可以说,早期的计算机设计者所面临的最大问题就是控制单元的指令控制线是否正确,能够起到作用。

此前,Maurice Wilkes在1958年提出了用微程序设计的思想来设计控制单元,简化我们在设计过程中所遇到的问题,这种情况之下,我们只需要考虑一下几个问题:ROMRAM的价格问题,ROM比RAM便宜,而且ROM比RAM速度更快。

随着IC技术、微指令和CISC的发展,Logic、RAM和ROM都应用了相同的晶体管半导体RAM和ROM的速度也差不多;随着摩尔定律的发展,控制指令的存储空间也逐渐增加;允许更多的CISC;类似TTL 服务器这样的小型计算机的出现,推动处理器产业进入了新阶段。

伴随而来的是微处理器技术的革新。

David Paterson表示,上世纪70年代,在MOS技术和主流ISA的推动下,计算机经历了快速的发展,出现了以Intel i432为代表的产品。

之后也推出了Intel 8086等划时代的产品。

之后就到了微指令机器的二十世纪八十年代。

从CISC到RISC,架构面临瓶颈

计算机发展之初,ROM比起RAM来说更便宜而且更快,所以并不存在片上缓存(cache)这个东西。在那个时候,复杂指令集(CISC)是主流的指令集架构。然而,随着RAM技术的发展,RAM速度越来越快,成本越来越低,因此在处理器上集成指令缓存成为可能。

同时,由于当时编译器的技术并不纯熟,程序都会直接以机器码或是汇编语言写成,为了减少程序设计师的设计时间,逐渐开发出单一指令,复杂操作的程序码,设计师只需写下简单的指令,再交由CPU去执行。

但是后来有人发现,整个指令集中,只有约20%的指令常常会被使用到,约占整个程序的80%;剩余80%的指令,只占整个程序的20%。

于是1979年,David Paterson教授提出了RISC的想法,主张硬件应该专心加速常用的指令,较为复杂的指令则利用常用的指令去组合。使用精简指令集(RISC)可以大大简化硬件的设计,从而使流水线设计变得简化,同时也让流水线可以运行更快。

Paterson教授重申了评估处理器性能的指标,即程序运行时间。程序运行时间由几个因素决定,即程序指令数,平均指令执行周期数(CPI)以及时钟周期。程序指令数由程序代码,编译器以及ISA决定,CPI由ISA以及微架构决定,时钟周期由微架构以及半导体制造工艺决定。对于RISC,程序指令数较多,但是CPI远好于CISC,因此RISC比CISC更快。

据介绍,RISC有以下多个优点:

指令长度固定,方便CPU译码,简化译码器设计。

尽量在CPU的暂存器(最快的存储器元件)里操作,避免额外的读取与载入时间。

由于指令长度固定,更能受益于执行线路管线化(pipeline)后所带来的效能提升。

处理器简化,晶体管数量少,易于提升运作时脉。比起同时脉的CISC处理器,耗电量较低。

除了CISC和RISC之外,另一种流行(过)的ISA是超长指令字(VLIW)。

VLIW是美国Multiflow和Cydrome公司于20世纪80年代设计的体系结构,主要应用于Trimedia(全美达)公司的Crusoe和Efficeon系列处理器中。AMD的Athlon64处理器系列也是采用这一指令系统,包括其服务器处理器版本Operon。

同样Intel最新的IA-64架构中的EPIC也是从VLIW指令系统中分离出来的。VLIW架构采用了先进的EPIC(清晰并行指令)设计,我们也把这种构架叫做“IA-64架构”。每时钟周期例如IA-64可运行20条指令,而CISC通常只能运行1-3条指令,RISC能运行4条指令,可见VLIW要比CISC和RISC强大的多。

之后David Paterson还谈到了Intel 的安腾处理器和EPIC IA-64。

然而,VLIW架构遇到了巨大的失败。VLIW的问题,包括分支预测困难,Cache miss无法解决,代码爆炸以及最关键的,编译器过于复杂以至于无法实现。

此外,基于VLIW指令集字的CPU芯片使得程式变得很大,需要更多的内存。更重要的是编译器必须更聪明,一个低劣的VLIW编译器对性能造成的负面影响远比一个低劣的RISC或CISC编译器造成的影响要大。

David Paterson还对今天的ISA做了一个总结。他指出,目前处理器的ISA,已经30多年没有新的CISC ISA出现(Intel x86表面用的是CISC但是内部有硬件把CISC转换成RISC再真正执行)。VLIW在一些嵌入式DSP市场获得应用,但是在其他的市场都没有获得成功。考虑到处理器的数量,目前最主流的通用ISA还是RISC。

IT领域面临新挑战,TPU横空出世

按照David Paterson的观点,现在的IT技术面临新的挑战。例如登纳德缩放定律的失效,功耗成为了关键的约束;摩尔定律也面临困难,晶体管的提升变慢。另外,在架构上也有新的问题出现。

同时,处理器性能增长也面临性能增长瓶颈。

在David Paterson看来,对于任何运算来说,更换新硬件无非是为了两个目的:更快的速度和更低的能耗。但由于面临晶体管并没有变得更好、功率预算也不高等问题。许多架构师认为,现在只有领域定制硬件(domain-specific hardware)能带来成本、能耗、性能上的重大改进。

紧接着,David Paterson介绍了谷歌的TPU。

TPU 的核心是一个65,536的8位矩阵乘单元阵列(matrix multiply unit)和片上28MB的软件管理存储器,峰值计算能力为92 TeraOp/s(TOPS)。

与CPU和GPU由于引入了Cache、乱序执行、多线程和预取等造成的执行时间不确定相比,TPU 的确定性执行模块能够满足 Google 神经网络应用上 99% 相应时间需求。

CPU/GPU的结构特性对平均吞吐率更有效,而TPU针对响应延迟设计。正是由于缺乏主流的CPU/GPU硬件特性,尽管拥有数量巨大的矩阵乘单元 MAC 和极大的偏上存储,TPU 的芯片相对面积更小,耗能更低。

根据David Paterson的介绍,TPU是一个神经网络加速器芯片,将 TPU 与服务器级的 Intel Haswell CPU 和 Nvidia K80 GPU 进行比较,这些硬件都在同一时期部署在同个数据中心。测试负载为基于 TensorFlow 框架的高级描述,应用于实际产品的 NN 应用程序(MLP,CNN 和 LSTM),这些应用代表了我们数据中心承载的95%的 NN 推理需求。

尽管在一些应用上利用率很低,但 TPU 平均比当前的 GPU 或 CPU 快15~30倍,性能功耗比(TOPS/Watt)高出约 30~80 倍。此外,在 TPU 中采用 GPU 常用的 GDDR5 存储器能使性能TPOS指标再高 3 倍,并将能效比指标 TOPS/Watt 提高到 GPU 的 70 倍,CPU 的 200 倍。

David Paterson还做了一个可视的性能模型。

还对TPU /CPU/GPU 的Die Roofline做了对比。

TPU:

CPU:

GPU:

之后David Paterson还对CPU、GPU和TPU的Log Rooflines做了对比。

另外还有Linear Rooflines

他还将TPU & GPU的相关性能与CPU对比

在性能方面,David Paterson也做了对比。

还对TPU做了数据对比

按照David Paterson的总结了通用CPU开始变慢,特定架构的处理器将会流行与谷歌的TPU在DNN中发生重要作用,能够帮助完成不少任务等问题:

RISC V也是未来的一个机遇

David Paterson表示,SoC上拥有了很多ISA。

紧接着,他提出,我们是否真的需要不同的ISA?这些指令集是否真的需要归属于专人?

况且在ISA领域,之前并没有公认的标准,也没有开源免费的ISA,仅有商用的ISA,这让整个ISA领域的生态显得死气沉沉。David Paterson就提出了是否存在一个免费的ISA让所有人都能够使用的问题?于是,RISC-V应运而生。

要做开源的ISA,基于x86和ARM都几乎不可能,因为它们都太复杂,而且还存在IP的问题。

在2010年夏天,Paterson教授带领团队开始从头开始设计一个干净的ISA。经历了很多年,经过多次流片验证,终于在2014年发布了最终版spec,就是RISC-V(V是第五代的意思)。

RISC-V作为一个开源ISA,首先要满足对ISA的一般要求。

首先,它必须与现存的主流编程语言和软件兼容。

第二,它必须有直接硬件实现,而不是一个虚拟机。

第三,它必须有很好的弹性,能满足小至微控制器MCU)大到超级计算机的需求。

第四,能与各种实现方式兼容,包括FPGAASIC,全定制CPU,以及未来的其他实现。

第五,需要与各种微架构配适,包括有序执行,无序执行,单发射,超标量等等。

最后,还需要满足可扩展性(可以作为基础ISA,在特殊用途中加上额外的增强ISA),以及稳定性(不会一直变化,不会突然消失等等)。

除了满足一般的需求外,RISC-V还有自己的特色。

这个新近流行的架构还具备以下特点:

首先,它很简单,比其他的商用ISA规模都要小很多。

第二,它很干净,例如在用户与特权ISA之间泾渭分明,有非常清晰的界限。另外,RISC-V中没有与微架构或实现方式有关的特性,因此具有普适性。

第三,RISC-V是模块化的ISA,它的基础ISA集很小,但是可以根据用户需求去加载扩展集。

最后,RISC-V特别为了可扩展性和专精化做了优化,使用了可变长度的指令编码,并且有许多空间以供指令集扩展。

最特别的一点是,RISC-V支撑了一个开源的社区,包含了非盈利基金会以及开源代码库。RISC-V的愿景是未来各种灵活而低价处理器芯片的基础。RISC-V一开始的贡献者包括伯克利和SiFive(一家初创公司),目前在征求各类设计者加入开源社区,需要代码以及其他硬件IP(如PLL,PHY等等)。

现在的RISC-V联盟拥有了过百个会员:

另外还有很多的工作组:

David Paterson最后还总结一下几大使用RISC和RISC-V的理由。

第一,35年以来,RISC始终是一个好主意。

第二,RISC-V是免费开源架构,无须付费。

第三,它的ISA比起其他ISA来说简单许多,因此验证起来也方便许多。RISC-V可以在各种设计中比起其他ISA更高效,面积、功耗和性能都更好

第四,RISC-V很稳定,不用担心突然发生很大变化或者直接就消失。

第五,RISC-V可以作为各种SoC核的基础ISA。

现在RISC-V的小目标,是成为一种适合各种计算设备的业界标准ISA。一个新的处理器时代即将到来。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ISA
    ISA
    +关注

    关注

    0

    文章

    55

    浏览量

    43739
  • TPU
    TPU
    +关注

    关注

    0

    文章

    141

    浏览量

    20721
  • 开源架构
    +关注

    关注

    0

    文章

    8

    浏览量

    6951
  • 处理器架构
    +关注

    关注

    0

    文章

    8

    浏览量

    6678

原文标题:David Paterson眼里的处理器架构未来

文章出处:【微信号:icbank,微信公众号:icbank】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    对称多处理器和非对称多处理器的区别

    随着计算需求的日益增长,单处理器系统已经无法满足高性能计算的需求。多处理器系统应运而生,它们通过将多个处理器集成到一个系统中来提高计算能力。在多处理器系统中,有两种主要的
    的头像 发表于 10-10 15:58 873次阅读

    简述微处理器的指令集架构

    处理器的指令集架构(Instruction Set Architecture,ISA)是计算机体系结构中的核心组成部分,它定义了计算机能够执行的指令集合、数据类型、寄存、内存访问方式等,是连接
    的头像 发表于 10-05 14:59 442次阅读

    ARM处理器和CISC处理器的区别

    ARM处理器和CISC(复杂指令集计算机)处理器在多个方面存在显著的区别。这些区别主要体现在架构原理、性能与功耗、设计目标、应用领域以及市场生态等方面。
    的头像 发表于 09-10 11:10 449次阅读

    哪种嵌入式处理器架构将引领未来十年的发展?

    一段时间以来,许多工程师和开发人员一直在讨论嵌入式处理器架构未来。虽然嵌入式芯片架构市场上有明确的引领者,但该行业正在快速扩张,预计未来
    的头像 发表于 08-30 15:03 290次阅读
    哪种嵌入式<b class='flag-5'>处理器</b><b class='flag-5'>架构</b>将引领<b class='flag-5'>未来</b>十年的发展?

    X86架构处理器有哪些优点和缺点

    X86架构处理器作为计算机领域的重要组成部分,具有多个显著的优点和一定的缺点。以下是对X86架构处理器优缺点的详细分析。
    的头像 发表于 08-22 11:25 1987次阅读

    处理器的指令集架构介绍

    和执行。指令集架构不仅影响微处理器的性能,还决定了其兼容性、可编程性和应用场景。以下是对微处理器指令集架构的详细探讨,内容将围绕其定义、主要类型、设计原则、应用场景及
    的头像 发表于 08-22 10:53 1134次阅读

    嵌入式微处理器的分类 嵌入式微处理器的种类和型号

    的分类可以从多个角度进行划分,比如架构、指令集、用途等。下面将从这些角度详细介绍嵌入式微处理器的种类和型号。 一、架构分类 嵌入式微处理器架构
    的头像 发表于 05-04 16:31 2220次阅读

    嵌入式微处理器的分类特点 嵌入式微处理器作用

    领域,包括消费电子、工业控制、医疗设备、汽车电子等。 嵌入式微处理器可以根据其架构、指令集和性能等特点进行分类。常见的分类方法包括架构、工作频率、指令集和功能等。 从架构的角度来看,嵌
    的头像 发表于 04-21 14:52 1255次阅读

    嵌入式微处理器架构可分为

    嵌入式微处理器架构是指用于嵌入式系统的微处理器的设计和组织方式。嵌入式系统是指内嵌在其他电子设备中的计算机系统,它们通常用于实时控制、通信、处理数据等任务。嵌入式微
    的头像 发表于 04-21 14:39 1176次阅读

    嵌入式微处理器的基础是什么

    要求的硬件和软件技术。 在嵌入式微处理器的基础上,我们可以考虑以下几个方面进行详细讨论: 处理器架构和指令集:嵌入式微处理器通常在特定的指令集架构
    的头像 发表于 04-21 14:34 1100次阅读

    嵌入式微处理器有哪两种架构? 嵌入式微处理器技术的优缺点

    嵌入式微处理器是一种专门设计用于嵌入式系统应用的微处理器,通常集成了计算、控制和通信等功能。目前市场上存在两种主要的嵌入式微处理器架构,分别是CISC(复杂指令集计算机)和RISC(精
    的头像 发表于 04-21 09:54 1058次阅读

    嵌入式微处理器有哪两种架构?区别是什么?

    嵌入式微处理器是一种专门设计用于控制嵌入式系统的微处理器。它集成了处理器核心、存储、输入输出接口等功能,可以实现对嵌入式系统的控制和运算。嵌入式微
    的头像 发表于 04-21 09:41 633次阅读

    嵌入式微处理器架构分为哪几类型

    首先,让我们从宏观的角度了解嵌入式微处理器架构分类。它们主要可以分为以下几类
    的头像 发表于 04-07 15:25 679次阅读

    英特尔或调整近30年CPI ID命名规则,未来CPU架构/处理器命名曝光

    为适应这一改变,英特尔已为未来CPUID(1)中的EAX引入74个相关补丁,用以拓展非零值命名空間。此外,上述新闻媒体也提供了两组未来CPU架构处理器命名的参考信息
    的头像 发表于 04-01 15:46 851次阅读

    什么是NUMA架构?NUMA架构或将成为未来处理器发展趋势

    随着人工智能和云计算等技术的不断发展,处理器需要处理的数据量越来越大,对性能和效率的要求也越来越高。
    的头像 发表于 01-23 09:12 3432次阅读
    什么是NUMA<b class='flag-5'>架构</b>?NUMA<b class='flag-5'>架构</b>或将成为<b class='flag-5'>未来处理器</b>发展趋势