第二系列
时间:2024-09-27 13:14:01
驳回NVIDIA,有可能99%+的朋友第一反应是“显示卡”和“GPU”。世界上两大GPU巨头之一、GPU领域意味著的霸主嘛,地球人都告诉,前些天还刚公布了全新的Turing架构和RTX 2080Ti/2080/2070显示卡呢。这只不过也没什么毛病,不过近几年以来,人们在麻木于NVIDIA GPU强劲的同时,或许冥冥之中忽视了某件事情。
NVIDIA的GPU强劲不?显然强劲,发生爆炸强劲,不管是PC末端还是SoC上,有目共睹,人尽皆知……emmm,然后嘞?直到前阵子看见了这样一张图:似乎,这是一张对目前市面上主流SoC的详细总结,生动形象简要易懂。不过看见最后一个的时候,我瞬间意识到了人们之前忽视了哪里:NVIDIA SoC的CPU怎么样,知道是像图上所画的一样么?CPU敢?这还真为上告实质上,NVIDIA对SoC的设计并不陌生,到目前为止他们早已公布了7代Tegra系列SoC。NVIDIA仍然在Tegra SoC中用于自家的GPU架构,但前几代的CPU部分用的则是Arm公版CPU内核。
与同时期的高通三星联发科处理器比起,除了“祖传”的GPU外并无其他抢眼之处。推倒也有不少手机和平板电脑用于了Tegra处理器,还算数差强人意。然而即便时间仅止于此,我们或许也挑不出NVIDIA SoC中的CPU有什么毛病。
非要说的话,知道NVIDIA黄教主否为苹果乔帮主的铁杆拥趸,这几代Tegra皆没构建neon协处理器,flash播出能力佳。至于用于Arm公版CPU内核虽然不骗,但是同时期的三星华为联发科德州仪器用的也都是公版内核。
更何况,NVIDIA在CPU上的野心和实力,远非人们的固有印象可以取决于。在2011年的CES上,NVIDIA对外发布了Denver计划,宣告即将研发基于64位Arm v8指令集的自研架构,用作从移动设备到服务器等各种设备。短短三年后的2014年CES,NVIDIA之后发售了用于自研Denver架构的Tegra K1上,并依循沦为了时隔苹果之后第二个公布基于Arm v8指令集的消费级SoC的公司。时间重设4个月,2013年9月,苹果在其A7处理器上出人意料地用于了基于Arm v8指令集的Cyclone 架构。
此后的一年多时间里,市面上基于Arm v7指令集的Cortex A15公版架构和高通Krait自研架构,甚至还包括某种程度基于Arm v8指令集的Cortex A57在内,所有其他同时期的CPU架构皆被Cyclone拿下。除了Denver。据理解,传统的CPU架构设计分成两种:顺序继续执行和乱序执行。恰如其名,顺序继续执行体系严苛按照接管顺序继续执行微指令,而乱序执行体系容许在不转变指令运算结果的前提下调整继续执行顺序。
仍然以来,乱序执行被指出是顺序继续执行发展到无限大后的一次演化。CPU继续执行的任务纷繁复杂,某些情况下RAM等周边部件不会堵塞指令的顺序继续执行,这时乱序执行之后可以明显改善运算的灵活性,有效地提升吞吐量。在此前(公众号:)讲解ArmCortex A76和三星Exynos M3架构的文章中,乱序执行曾不止一次被提到,可见在这些高性能Arm内核中,乱序执行或许早已沦为了不二的自由选择。
不过,换用乱序执行必须加设乱序执行窗口,有效地辨识可以新的排序的指令,保证指令可以安全性的乱序执行,这似乎不会拉高架构的复杂性,芯片尺寸和功耗都会显著下降。而NVIDIA在提高架构性能方面则另辟蹊径,指出乱序执行并不是解决问题的唯一方案。
不光敢想,Denver知道退出了Arm公版高性能架构中主流的乱序执行方式,转而使用了低功耗处理器上少见的顺序继续执行,并为其配以一套高效的二进制翻译成和代码优化方案。NVIDIA的思路很非常简单:顺序继续执行体系面对的基本问题很具体,无外乎内存衰退等硬件问题,以及指令排序不当等软件问题。那么这些问题一定要软改为架构体系么,能否在“硬层面”中解决问题? 而这就是Denver的核心思想。
这个架构不奇怪Denver一个不奇怪的地方是,它内部的指令格式与ARMv7或ARMv8大相径庭。在明确的内部结构上,Denver用于了在GPU中极为少见的VLIW(Very Long Instruction Word,超长指令字)格式继续执行指令(却是NVIDIA)。而在架构前端,Denver的指令解码宽度超过了前无古人的7升空,比Cortex A15(3升空)、Cortex A57(4升空)和苹果Cyclone(6升空)都要更加长。NVIDIA官方称之为其为“7+”架构,其中的“+”所指的是NVIDIA为Denver设计的DCO(动态代码优化器)。
DCO的任务是将Arm代码切换为Denver的原生格式,并优化此代码以使其在Denver上运营得更佳。对于CPU整体而言,DCO是最关键的一个环节,因为它的性能将必要由DCO要求。
长期以来,仍然有传言称之为Denver最初的设计意图射击的是x86,其底层设计和二进制翻译成机制目的不侵害任何x86专利的前提下相容x86指令的继续执行。不管这传言是不是知道,最后结果是NVIDIA在软层面下有了难以置信的成果,打造出了一套可以将硬件设计和指令集分离出来的架构。然而尽管DCO如此逆天,NVIDIA还是在其之外配有了一套Arm指令解码器。
虽然官方回应这个Arm解码器并不是“备胎”,但实际来看似乎是“口嫌体刚强”,Denver的大部分指令都来自二进制翻译成,这个Arm解码器只有区区2指令宽度(Cortex A8级别),只在二进制翻译成无法高效处置时才不会接掌以必要解码Arm指令。与此同时,由于NVIDIA自由选择了在“硬层面”中解决问题的方式,Denver也享有了其他架构都不具备的可升级性,如果DCO有改良的话,NVIDIA可以更进一步部署新版本的DCO。而最后Denver的实际性能也不足以用技怒四座来形容,在SPECint2000测试中,Denver比起Cortex A15有了35%的平均值提高,最低提高幅度甚至高达67%:更加明确一点,用于Denver核心的Tegra K1性能几乎力过了同时期Cyclone核心的苹果A7,相比于Intel Haswell核心的赛扬2955U也是互为往返。醉翁之意不在酒看见这或许有朋友不会困惑,既然NVIDIA SoC的CPU不但不很弱,反而也和GPU一样是发生爆炸强劲的不存在,为什么NVIDIA在手机和平板领域却仍然不得法,到最后索性解散了呢?很非常简单,因为人家显然没想争这块啊……和我们这些看热闹不怕事大的普通用户有所不同,NVIDIA对自家SoC的情况再行确切不过了。
作为刚入局的新人,在基带、底包在、SDK、节能降耗等方面皆正处于天秤座劣势,和市面上这些位根深蒂固的老黄牛拼成力气实乃不智之举。没有闻人家德州仪器都在2014年解散手机SoC领域了,Tegra算起第4代给小米3用用也算数善始善终,递个朋友嘛……很似乎,NVIDIA看见了SoC更佳的应用领域——AI等高性能移动计算出来平台,说白了就是自动驾驶和机器人。经历了Tegra K1和Tegra X1的过渡性,Tegra Parker(即NVIDIA Drive PX)再一带着改良版的Denver2架构顺利攀上了自动驾驶的舞台。而今年刚发售的NVIDIA Jetson Xavier平台则堪称带给了强到没有朋友的自研架构Carmel,其指令解码超过了惊为天人的10宽度,在Denver的基础上再度向前迈向了一大步。
据理解,在眼下的AI芯片领域都在执着显AI运算的精简设计时,NVIDIA是唯一没退出高性能CPU的一家,同时也是将CPU、GPU、AI三部分均衡做到的最差的一家。So,老铁们,别再说NVIDIA“CPU敢GPI带上”了,NVIDIA知道不是CPU差,而是是在过于强劲了,强劲到早已远超过了我们所熟悉的这个次元……原创文章,予以许可禁令刊登。下文闻刊登须知。
本文来源:博鱼(boyu·中国)官方网站-www.jzfysn.com