大家都在看

主页 > 赏析门户 >Tegra 4架构完全解析,旧架构新核心重装上阵 >

Tegra 4架构完全解析,旧架构新核心重装上阵

2020-05-24 来源:http://www.75nsb.com 677

Tegra 4架构完全解析,旧架构新核心重装上阵 在数位科技近几年的发展中,大家对智慧型手机与平板电脑等行动装置的依赖性越来越高,行动装置的功能也进化为浏览网页、执行游戏等运算负担较为吃重的工作。在这波发展趋势的带动下,行动装置对处理器性能的需求也越来越高,推陈出新周期更逐渐追上电脑的脚步。NVIDIA将在今年推出全新Tegra 4处理器,持续进攻行动装置市场。

初代Tegra默默无名

在2008年的时候,NVIDIA发表了Tegra APX与Tegra 600系列处理器,前者主攻智慧型手机市场,而后者的目标是车用电脑与小笔电,处理器核心皆为採用ARMv6架构的ARM11MPCore家族处理器。然而直到2009年9月,Tegra才随着Microsoft Zune HD的推出,正式投入市场,第一支採用Tegra的手机则是由Microsoft Kin拔得头筹。

在2010年1月的消费性电子展(CES)中,NVIDIA发表了隶属Tegra 2系列的Tegra 250,核心皆架构从ARMv6提升至ARMv7,获得许多厂商青睐,提升Tegra在市场上的能见度。不过它缺少NEON指令集,所以对于多媒体支援力比较薄弱,以至于无法播放1080p High Profile的影片。

Tegra 3发光发热

选择超人名字Kal-El作为开发代号的Tegra 3,似乎想要藉此透露它能够提供超乎寻常的力量,Tegra 3是全球第一款四核心ARM Cortex-A9处理器,并且具有12个GeForce GPU核心,为了提高电力效率的4+1核心设计,也添增了与其他产品的区隔性。

透过NEON加强多媒体功能

NEON指令集又称为MPE(Media Processing Engine,媒体处理引擎),为64、128位元混合式SIMD指令集,虽内建于所有Cortex-A8处理器核心,但是在Cortex-A9却成为选配。NEON技术可以加速多媒体与讯号处理演算法,可应用于多媒体编、解码与2D、3D绘图等领域,根据ARM官方资料的叙述,NEON至少能提供2倍于ARMv6 SIMD性能。

架构依旧,核心翻新

Tegra 4虽然沿用上代4+1核心架构,但处理器核心从前代的Cortex-A9,提升为Cortex-A15,图形处理器无论在核心数量及时脉上,都有明显的提升。据NVIDIA公布的消息,Tegra 4能够提供20倍于Tegra 2,或是6倍于Tegra 3的绘图效能,可以期待Tegra 4带来更好的运算性能。

协同核心再现

NVIDIA曾在2012年行动通讯大会(MWC)中表示,四核心将成为自家SoC晶片的标準规格,四核心的运算性能对于大部分使用者来说已经十分充足,名号也能够满足行销面的需求,在电源管理机制设计得当的前提下,四核心的电力消耗并不会带来太多负面影响。然而其明显的缺点,或许只有生产成本的考量。

为了提升续航力,Tegra 4延续了Tegra 3的省电概念,在晶片中塞入第五颗处理器核心,不过名称从协同核心(companion core)改为省电核心(battery saver core)。当装置处于背景处理邮件、社交软体同步,或是播放影片、音乐等,低效能需求情境时,系统将关闭正常核心,并使用省电核心负责执行程式。为了进一步节省电力,当系统进入省电模式时,正常核心中2MB的L2快取记忆体(L2 Cache)也会一併关闭,改为使用独立的512KB L2快取记忆体。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲左边的晶片为Tegra 4的本体,右边的晶片则为i500软体数据晶片。Tegra 4晶片中上方金色的部分为省电核心,下方则是4颗正常核心,左右两侧绿色部分即为72个GeForce核心。(图片来源

执行单元与吞吐量提升

Tegra 4所採用的Cortex-A15核心具有8个执行单元,能在单一时脉中执行8个指令,相较于Cortex-A9只有5个执行单元,可以有效提高效能。但是增加执行单元的效果并不是白吃的午餐,处理器的效能与记忆体延迟有紧密的关连性,如果因频宽、延迟,或是快取失败等因素,造成处理器闲置等待资料送入的话,就会严重影响效能表现。

为了要发挥额外执行单元的效能,处理器必需要提高指令平行化(Instruction Level Parallelism)的程度,藉由更深层的乱序执行(Out-of-Order execution),榨乾每个执行单元的效能。在此同时,记忆体平行化(Memory Level Parallelism)的需求也会一併提高,以应付处理器对快取及分支预测的依赖。

乱序执行提高整体效能

预先读取指令是提高乱序执行的效率的重点,如果扩大乱序找查窗口(Out-of-Order lookup window),能增加预读命中的可能性,进而减少当预读错误时所造成的延迟与处理器资源闲置。

根据NVIDIA官方提供的Tegra 4白皮书,Tegra 4具有128个微动作(micro-operation)找查窗口(Out-of-Order lookup window),而竞争对手Quualcomm Krait架构只有40个。一般来说,1个ARM指令通常只会对应1个微动作,但是部分比较複杂(偏向CISS架构)的指令,可能包含2个或更多微动作,当处理器执行这种指令时,较多的找查窗口有助于分支预测以及乱序存取记忆体,大幅提高记忆体平行化程度,有效增进效能。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲Tegra 4、4i规格对照表

微动作为指令元素

处理器可接受最基本的工作叙述称为指令(instruction),也称为巨称集指令(macro-instruction),当指令被存入暂存器(register)之后,就会进行解码动作,每条指令可以被分解成许多处理器的动作,这些所得的动作就称为微动作。例如使算术逻辑单元进行1次运算,或是将暂存器资料写入汇流排(bus),都是微动作的範例。

分享式L2快取快又省电

Tegra 4的每个正常核心中,L1具有指令与资料快取记忆体各32KB,4个核心共享2MB容量L2快取记忆体。L2快取记忆体可依使用情况切割为不同大小,分配给不同的核心使用,例如可以切1280KB给负担较大的核心,其他3个核心则各使用256KB,若是执行多执行绪程式时,不同核心也能共用同一块快取区域。这种共享式设计可以最大化快取记忆体效益,减少快取失败的发生机率,进而减少向主记忆体读取资料的次数,得到节省电力的附加效果。

NVIDIA也在白皮书中抨击对手,指Krait的4个核心各自独立搭载512KB容量L2快取记忆体,虽然总容量一样,但是当程式需要512KB以上空间时,快取记忆体即无法负荷,势必增加快取失败的机率。此外当某一核心要存取其他核心中的快取时,跨核心资料交换的延迟将大幅增加,且Krait的非同步对称多工技术(Asynchronous SMP)准许各核心运作于不同时脉,当高速运行中核心要与低速核心交换资料时,也需承受效能耗损。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲Tegra 4共享式L2快取记忆体拥有比较大的使用弹性,而Krait的独立式设计不但无法应负512KB以上容量需求,存取不同时脉核心的资料时,对效能的影响也比较大。

延伸阅读:

NVIDIA 发表 Tegra 4 处理器、NVIDIA GRID 云端游戏系统

Windows 8、RT 同门生死斗:x86 对决 ARM、Atom Z2760 对决 Tegra 3 效能实测

4大名牌 ARM 处理器特色说分明,买授权自己开发,各家硬体差在哪?

4+1核 Tegra 3:解开效能5倍速、还能更省电的秘密

(后面还有更多Tegra 4介绍!)

4个核心速度一致

NVIDIA也不忘在作业系统部分攻击对手。Tegra 4的多核心管理机制採用第2代可变式对称多工技术(Variable Symmetric Multiprocessing),它的特色为可以关闭闲置中的核心,也能够依处理器负载动态调整运作时脉,唯独开启中的核心需以相同时脉运作。除此之外,它不允许正常核心与省电核心同时运作,系统仅能择一使用。

NVIDIA表示Android与Windows RT等系统,预设会将所有处理器核心视为相同,且具有相近的效能,作业系统的工作排程会基于这个规则运作,当多个核心运作于不同时脉的时候,每个核心所具备的效能就会有所差异,这个现象会打乱工作排程机制,进而导至整体效率低下。无论Tegra 4以正常核心或是省电核心运作,在同一时间下只有唯一的运作时脉,因此各核心效能落差不会太大,有助于作业系统安排工作排程。

乱序执行的优势

由于处理器的运算通常会有前后相依的问题,排序在后的工作可能需要前面的结果做为运算元,所以必需等待前面工作完成,然而这等待的时间就是效能的耗损。乱序执行的基本概念,在于避免处理器闲置等待资料,乱序执行会利用等待资料的时间,先处理其他可以执行的指令,在全部工作结束后重新排序运算结果。顺序执行与乱序执行的工作流程分别如下:

顺序执行:
    读取指令。将指令分配到对应处理单元,若指令缺乏所需资料,则等待资料送入。处理单元执行指令。将结果回存至暂存器。

乱序执行:

    读取指令。将指令储存至排序伫列。当所需资料送入后,将指令从排序伫列分配到对应处理单元(可不依排序处理)。处理单元执行指令。将结果回存至结果伫列。当排序在该指令之前的所有指令都完成后,将结果回存至暂存器。

从流程中可以看到,乱序执行会依序读取指令,但是在处理的过程中,会搁置需要等待资料送入的指令,让排序在后不需等待资料的指令插队,然后在将结果再依顺序排入结果伫列,待被跳过的指令都执行完成后,再将排序过的结果送出。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲乱序执行可灵活运用等待资料送入的零碎时间,让不需等待的指令插队,降低等待运算元或是存取取资料所造成的效能耗损。

绘图核心採传统架构

Tegra 4的图型处理器并没有採用Unified Shader设计,而是将72个GeForce核心拆分为24个Vertex Shader与48个Pixel Shader,官方只有说明在电力效率与负载弹性的权衡下,选择了分离设计所带来较佳电力效率,并没有进一步说明详细原理,也没有提供对照数据。

Tegar 4的Vertex Shader总共具有6组顶点处理引擎(Vertex Processing Engine),每组引擎由4个GeForce核心组成,具有16KB、96-entry快取记忆体,能够有效降低向外部晶片存取资料的需求。根据官方白皮书的资料,架构的改进让每个GeForce核心在相同时脉下,可以带来1.5倍于Tegra 3的效能,且前后代图型处理器Vertex Shader数量相差6倍,相乘之下差距达9倍之谱。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲从Tegra 4的图型处理器示意图中可以清楚地看到,它总共具有6组顶点处理引擎,以及4组像素管线,像素管线可再分为3组ALU,负责进行各种数学运算等工作。

无法完整支援OpenGL ES 3.0

Tegar 4总共具有4组像素管线(Pixel Fragment Shader Pipeline),每组像素管线可细分为3组ALU,每个ALU则是由4个GeForce核心组成。在实际运作时,会以ALU做为最小层级的单元,并称为MFU(Multi-Function Unit,多功能处理单元),因此Tegar 4总共具有12组MFU,MFU可以执行函数、三角函数、对数、倒数、平方根以及MOV等指令(组合语言中的複製)。

Pixel Shader总共具有16KB的像素快取记忆体,均分为4组4KB容量L1快取记忆体,以供像素管线使用,官方表示此设计可以降低向外部画格缓冲区(frame buffer)存取次数达50%,对于效能与电力效率都有正面的影响。

不过令人遗憾的是,Tegar 4的Pixel Shader只支援FP20精度(即20bit精度),即便NVIDIA表示人眼不容易分辨FP20与FP32的图像品质,选用FP20可以提高效能、缩小晶片尺寸,进而提升电力效率,但是OpenGL ES 3.0要求精度需达FP32,所以Tegar 4无法完整支援。虽然短期内不会造成太多影响,但当越来越多游戏採用OpenGL ES 3.0后,NVIDIA只能靠THD(为Tegra最佳化的App)或新晶片来解决问题。

Early-Z刬除不必要像素

Tegra 4也是透过光栅引擎(Raster Engine),将Vertex Shader描绘的顶点资料转换为平面上的点阵资料,不过不同于传统绘图模式在Pixel Shader结束工作后,才由Z Buffer剔除不必要物件,Tegra 4会透过Early-Z在Pixel Shader运作前,先将不会出现在画面上的物件剔除。

Early-Z的好处是可以避免Pixel Shader描绘不会出现的物件,但它的代价就是Vetrex Shader需要执行2阶段运算。第1阶段时,Vetrex Shader会绘製所有不透明物件,并取得各像素Z值,过程中Pixel Shader不会有任何动作,第2阶段则与一般绘图过程相同,由Vetrex Shader与Pixel Shader描绘出完整画面。Early-Z最大优势在于可以降低Pixel Shader存取记忆体的需求,降低电力消耗,但是过程中很可能让Vetrex Shader成为效能瓶颈所在,不一定能提高整体效能。

可升级的数据晶片

Tegra 4与前代产品一样,并未整合行动通讯功能,需透过i500软体数据晶片协助。i500最大的特色就是採用软体定义无线电波技术(Software Defined Radio),不但目前可以支援DC-HSPA+、LTE等最新规範,未来也能透过软体升级方式,支援往后推出的规範,同时也能给予各电信商最大的客製化弹性。

i500整合ICE9045基频晶片与ICE9245 RF晶片,并内建具备8个1.3GHz可程式化核心的Deep eXecution Processor处理器,以提供行动通讯所需的运算效能,它不但可以满足目前多频LTE UE Category 3 100Mbps所需的150 GFLOPS/s运算量,也确定可以升级至LTE UE Category 4 150Mbps,应用面相对宽广。

(后面还有Tegra 4i介绍以及Tegra 4效能实测)

Tegra 4i採Cortex-A9

NVIDIA也发表了尺寸、功耗较低的Tegra 4i处理器,两者架构相近,皆採用4+1核心设计,不过Tegra 4i仍採用Cortex-A9内核。回顾过去,Tegra 2採用Cortex-A9 r1p1版本,Tegra 3则是r2p9,Tegra 4i採用的是最新的r4p1版本。

Cortex-A9 r4p1最大的变革在于快取架构的提升,GHB、L2 TLB、BTAC皆扩大4倍,规格与Cortex-A15相同,能够提高分支预测的準确度,进而提高效能。根据NVIDIA表示,Cortex-A9 r4p1相较于r2p9,可以提高15%效能,再加上Tegra 4i最高时脉可达2.3GHz,更可拉大与Tegra 3的差距。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲Tegra 4i的处理器部分採用Cortex-A9核心,但同样为4+1架构设计,图形处理器核心数量降为60个。下方粉红色区域,即为整合至内部的i500软体数据晶片。(图片来源

GHB、LTB、BTAC

GHB(Global History Buffer,全域历史缓冲)为採用先进先出(FIFO)资料架构的缓冲区,它会将快取失败的资料暂存起来,当缓冲区空间用罄时,会先删除较旧的资料,可用于「校正」快取运作模式,增加快取命中率。

LTB(Translation Lookaside Buffer,转译找查缓冲)会储存虚拟记忆体位置(virtual address)与实体记忆体位置(physical address)的对应关係,避免每次存取记忆体时,都需要向记忆体中的分页表查寻位置,进而省下记忆体本身与资料传输所产生的延迟。

BTAC(Branch-Target Address Cache,分支目标记忆体位置快取)则是会记录虚拟记忆体位置中的资料所在,以免记忆体位置映射改变、快取资料重新排列后,系统无法直接存取该资料。当BTAC快取命中后,系统会直接将BTAC作为程式计数器(Program Counter),并视为存取资料的依据,可以将快取延迟降低为0个週期。

缩减绘图,整合i500

Tegra 4i的图形处理器架构与Tegra 4相近,只具有4组顶点处理引擎与2组像素管线,但是每组像素管线由6组ALU组成,而不是Tegra 4的3组,每组顶点处理引擎与ALU仍由4个GeForce核心组成,核心总数只有60个。此外它的记忆体控制器也降为单通道32bit,最高时脉仅为660MHz,理论效能只有Tegra 4的82.29%。

不同于Tegra 4将i500採外挂方式处理,Tegra 4i直接将i500整合进处理器内部。Tegra 4晶片尺寸为23 x 23mm(BGA封装)或14 x 14mm(FCCSP封装),而i500晶片尺寸为7 x 7mm,相加之后占用面积分别为578mm2或245mm2,然而Tegra 4i晶片尺寸仅为12 x 12mm,占用面积为144mm2,只有Tegra 4的24.91或58.78%,更适合用于手机等体积较小的装置。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲Tegra 4i的图形处理器与Tegra4架构相同,但它只有3组顶点处理引擎,及2组像素管线,每组像素管线中包含6组ALU。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲Tegra 4、4i图形处理器比较表

效能成长惊人

NVIDIA于Tegra 4的处理器与图形处理器白皮书附上效能数据,因此笔者选择Htc New One与Nexus 7等2款产品进行测试与比较。Tegra 4的数据为NVIDIA官方,以搭载时脉为1.9GHz的Tegra 4之平板电脑测得(其他细节未公开),而New One则是搭载时脉为1.7GHz的Qualcomm Snapdragon 600处理器,Nexus 7採用Tegra 3家族中最低阶的Tegra 3 T30L处理器,时脉仅为1.2GHz。

在Sunpider测试中,可以看到而New One表现约为Nexus 7的2倍,而Tegra 4约为Nexus 7的3倍,安兔兔测试也呈现相近的结果。GLBenchmark部分笔者需特别声明,NVIDIA提供的数据为2.5版成绩,但是该版本目前已无法使用,故对照组採用2.5.1版进行测试,Tegra 4可领先Nexus 7的6~8倍。

Tegra 4的效能看起来不错,不要忘了上市时,Tegra 4很可能会依耗电量将产品分为不同时脉的版本,故不是所有採Tegra 4的装置都能有如此神勇的表现,而且Qualcomm Snapdragon 800处理器也将于今年第2季上市,届时最强行动处理器(尤其搭载于手机之版本)鹿死谁手还很难预测。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲SunSpider为JavaScript效能测试工具,使用内建浏览器的情况下,Terga 4完成所有项目所需的时间最短。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲在负担较吃重的1080p解析度测试下,Terga 4效能可以领先Nexus 7约6.06倍,表现相当出色。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲安兔兔成绩能够反应装置整体效能,虽然NVIDIA并没有公布测试平台细节,但是还是能略知Terga 4效能的强大。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲在负担较轻的720p解析度测试部分,Terga 4领先Nexus 7的幅度可拉大到约7.97倍,差距只能用夸张来形容。

后续接班人已出现

虽然Tegra 4尚未上市,不过NVIDIA已经在3月下旬举办的GPU技术研讨会(GPU Technology Conference)中,透露了接下来2款Tegra处理器的消息,并维持了以美国漫画英雄做为开发代号的传统。下个世代的Logan将引进CUDA 5.0与OpenGL 4.3,而且预计于2014年初发表。预计在2015年发表的Parker,将搭载64位元ARM架构Denver核心与Maxwell图型处理器,并将採用台积电的FinFET电晶体(鳍式场效电晶体)技术,势必能在控制功耗的同时,提供更强大的效能。

为了要让开发人员有合适的CUDA测试环境,NVIDIA也发表了Kayla开发平台,它採用Tegra 3处理器与MXM介面的独立显示晶片,有趣的是其显示晶片採Kepler架构,并具有2组SMX(共384个GeForce核心)。从使用Cortex-A9核心的Tegra 3处理器,虽可看出它并不是Logan的原型机,但显示晶片或许暗示着Logan的某种可能性,令人不禁期待往后Tegra的发展。

Tegra 4架构完全解析,旧架构新核心重装上阵

▲例代Tegra名称的由来

本文同步刊载于电脑王杂誌
  Tegra 4架构完全解析,旧架构新核心重装上阵
欢迎加入电脑王杂誌粉丝团



上一篇: 下一篇: