MPSoC系统架构和高性能低功耗技术研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MPSoC系统架构和高性能低功耗技术研究
目录
1. MPSoC概述 (3)
1.1. SoC概述 (3)
1.2. SoC危机 (3)
1.3. MPSoC概述 (4)
2. MPSoC架构 (5)
2.1. 微处理器体系结构演化 (5)
2.2. MPSoC架构设计 (7)
2.3. 基于平铺方法的架构(Tile-based MPSoC) (8)
2.4. 基于网络的架构 (10)
2.4.1. 传统的基于网络的架构 (10)
2.4.2. 改进型基于网络的设计 (11)
2.5. 基于组件的架构 (12)
3. MPSoC高性能低功耗技术研究 (14)
3.1. 性能提高策略 (14)
3.1.1. 静态策略 (14)
3.1.2. 动态策略 (15)
3.2. 功耗降低策略 (15)
3.2.1. 动态功耗 (15)
3.2.2. 静态功耗 (16)
3.3. MPSoC系统Cache性能功耗研究 (16)
3.3.1. 基于体系结构的Cache分析 (16)
3.3.1.1. MPSoC系统Cache结构 (16)
3.3.1.2. 基于重用率的Cache存储共享技术 (17)
3.3.2. 基于一致性实现方法的Cache分析 (19)
3.3.2.1. 基于软件的一致性实现方式 (19)
3.3.2.2. 基于操作系统的一致性实现方式 (19)
3.3.2.3. 基于硬件的一致性实现方式 (20)
4. 总结和展望 (21)
4.1. 总结 (21)
4.2. 展望 (21)
4.2.1. 多核集群 (22)
4.2.2. 统一分布计算结构 (22)
4.2.3. 分布处理子系统 (22)
5. 参考文献 (22)
摘要:
本文通过对SoC以及MPSoC的概述,着重点明了SoC的危机和MPSoC的发展前景。

从微处理器体系结构演化、MPSoC架构、性能和功耗等方面对MPSoC进行的详细说明。

MPSoC的架构不仅仅要解决对上层应用的要求,还要兼顾性能的提高和功耗的降低。

尤其是针对MPSoC系统中的Cache性能功耗技术展开研究,对采用不同体系结构和一致性协议的Cache性能和功耗进行了分析。

最后总结MPSoC现在面临的机遇和挑战,指出了有待进一步攻克的问题。

关键字:MPSoC、多核、架构、性能、功耗、Cache
1.MPSoC概述
1.1. S oC概述
SoC(System on a Chip)通常指在单一芯片上实现的数字计算机系统,对所有或部分必要的电子电路进行包分组的技术。

该系统应包含两个基本部分:硬件部分和软件部分。

硬件部分包括μP、BUS、ROM/RAM、I/O等计算机系统的基本部件;软件部分主要指操作系统,也可以包括重要的应用软件。

SoC中包含了微处理器/微控制器、存储器以及其他专用功能逻辑,但并不是包含了微处理器、存储器以及其他专用功能逻辑的芯片就是SoC。

SoC技术被广泛认同的根本原因,并不在于SoC可以集成多少个晶体管,而在于SoC可以用较短时间被设计出来。

这是SoC 的主要价值所在——缩短产品的上市周期,因此,SoC更合理的定义为:SoC是在一个芯片上由于广泛使用预定制模块IP(Intellectual Property)而得以快速开发的集成电路。

总的来说,SoC具有如下四个特征:
实现复杂系统功能的VLSI;
采用超深亚微米工艺技术;
使用一个以上嵌入式CPU/数字信号处理器(DSP);
外部可以对芯片进行编程;
1.2. S oC危机
硅芯片技术的飞速发展给SOC设计带来新的危机。

为了保持产品的竞争力,芯片设计人
员面临的压力是在日益减少的时间内设计开发更多的复杂硬件系统。

新的通信产品、消费产品和计算机产品设计必须在功能、可靠性和带宽方面有显著增长,而在成本和功耗方面有显著的下降。

尽管SoC能够处理许多任务,但是计算能力不强,只能用于控制,通常缺少执行复杂数据处理任务所需要的带宽,例如网络数据包处理、视频处理和加密。

同时,单个的处理器已经无法满足日益增加的需求,而且在性能和功耗方面都遇到了无法逾越的瓶颈。

如何提高Soc的通用计算能力或数据处理能力将是继Soc之后的主流设计技术的核心任务。

如果一味的增加频率又造成了大量的功耗问题和其他附带影响,比如辐射、噪音、降温等等多种问题。

这个时候,科学家开始从多处理器方面寻求突破,给行业带来了信息的活力。

1.3. M PSoC概述
基于上述的思考,2002年提出了多系统芯片(Multi-Soc,MSoC)的概念,即提高性能的任务将由多个Soc组成的联合体来完成。

MSOC中的所有Soc并行工作,井互相交换信息,共同完成大型任务。

集成电路制造技术的持续发展和电路功能复杂度的持续提高支持了这种设想.此后,学术界进一步把这种“多系统”概念演化为“多核SOC”。

这个时候MPSoC孕育而生,给整个SoC产业带来了第二次春天。

多核的架构随着核的增加也逐渐成为关注的重点,架构直接影响着的整个系统的性能和功耗,对上层的软件的开发和调试都带来了深刻的影响。

下面是从2000到2016年的统计和预测数量:
图1-1 每芯片处理器数
MPSoC指的是在单一芯片上集成多个处理器的复杂SoC,由计算节点和通讯节点组成。

计算节点完成广义的计算任务,它们既可以是微处理器或SoC,也可以是单一功能的IP:通讯节点及其连线负责计算节点之间的数据通讯,可以是总线,也可以是网络或其他通讯工具。

在探索后Soc时代集成电路主流设计技术的过程中,从MSoC到MPSOC,再到NoC,是一个螺旋上升、不断深入的过程。

MSoC的研究工作主要是一些基础概念的探讨,到2002年,NoC的概念在学术界开始为人们所普遍接受,然而片上Network毕竟是全新的事物,理论上还很不成熟,于是产业界从总线结构切入到多核芯片的设计,因此随后的研究重心又转移到了基于总线结构的MPSOC技术的研究。

但随着工艺水平的快速提高,更多的处理器核将被集成到单芯片中,总线结构固有的局限性越来越明显了,因此基于Network的MPS再次受到更多的关注。

接下来我们将从架构、性能和功耗特别是Cache等多个方面来讨论MPSoC。

2.MPSoC架构
2.1. 微处理器体系结构演化
以MPSoC为代表的多核技术将成为下一代集成电路的主流设计技术。

集成电路制造工艺技术的不断进步提供了越来越多的资源,如何将这些资源转变为芯片的功能和性能是IC设计的持久话题。

从根本上讲,利用这些资源(如:更多的晶体管)提高性能的主要途径有两个:并行性和局部性。

简单地说,并行性尽可能将一个复杂的功能分解为多个并行执行的子功能;而局部性则尽可能多地将多个子功能集成到一块。

两者对资源的占有是一种竞争关系。

一方面,多个操作的并行执行,可以使得程序执行周期降低,但是需要更多资源的支持。

另一方面,数据的引用越接近处理器,访问深层次存储器的时延就越短。

同时也需要更多的资源来支持这种局部性。

因此,性能提高的最佳策略是使用适当的折中方法:既有一定的并行性,也有一定的局部性。

纵观微处理器技术的发展历史,我们可以发现并行技术的演化是其中的一条主线。

下面简单回顾一下并行性技术的发展历史,井以此推断下一代集成电路主流技术的基本走向。

图2-1 微处理器并行结构发展趋势[11]
图2-1将25年来微处理器体系结构大体分为三个阶段:位级并行阶段(Bit Level parallelism)、指令级并行阶段(Instructional Level Parallelism)和线程级并行阶段(Thread Level Parallelism)。

直到1986 年以前,位级并行一直是提升性能的主要方法,如处理器从4位发展到8位、16位和32位。

自32位处理器出现后,位级并行有所减缓,直到现在64位处理器在许多领域还都不是很适用。

指令级并行风行于20世纪80年代中期到90年代中期。

流水技术将一条指令的执行分解成多个步骤(取指、译码、整数运算、地址计算、回写等),使得多条指令的不同部分同时执行,保证每个周期几乎可以完成一条指令。

此外,超标量技术同时读取多条指令,并把它们发送到不同的功能单元(整数运算、存储操作、转移操作、浮点运算等独立硬件),这样不仅降低了通信开销,而且提高了并行执行效率。

随着流水深度的增大,以及每个周期发送指令数目的增多.一旦出现控制转移或高速缓存(Cache)扑空,整体性能所受的影响将会越来越大。

一个控制转移可能会引起处理器等待其流水线排空的时间称为时延。

为了降低或容忍时延,人们使用转移猜测、乱序执行等算法,使用容量更大、操作更复杂的缓存技术。

这些技术都是局部性的体现,每种技术都需要大量的硬件支持。

通过对计算机体系结构的模拟和对程序固有性质的分析,人们发现在一个单线程控制内的指令级并行仅在一定范围内有显著效果。

使用第一种方法的研究表明,由于平均每5条指令就有一次控制转移,当每个周期发送2条或者4条指令时,系统性能有较为明显的改善;而超过8条以后,性能提升不仅很少,而且设计复杂度也急剧增长。

正因如此,处理器性能的提升已经开始放缓。

有统计预测表明,在90年代,芯片的性能每年提高60'/,但是从2000年到2004年,这一速度已降低到每年40%,之后每年将仅提高20%。

由此可见,通过指令级并行提升性能的途径在一定程度上遇到了瓶颈。

人们自然而然地想到是否向更高的并行级别——线程级并行上发展。

在计算机领域,面向线程级和进程级开发并行性由来已久,如Synapse、Encore、Flex、Sequentl等都是上世纪八十年代出现的较早
的多处理器系统:将10个到20个徽处理器组织在一起,通过共享总线互连,在分时应用负载上有较好的吞吐量。

1994年,Intel定义的基于Pentium处理器的多处理器PC系统的标准更是为板级多处理器设计即线程级并行铺平了道路。

图2-2 单核与多核的性能提升比较
——基于Intel公司采用SPECint2000和SPECfp2000基准所做的测试
随着微电子工艺技术的进步和体系结构的演化,单芯片多核处理器出现了,如Power、Ce11、Niagara、Core2 Duo、Athlonn64、V ega、MPCORE等。

这些芯片的出现宣告了片上多核时代的到来.这些多核处理器普遍使用线程级或者任务级并行来提升芯片的性能。

如图2-2所示,单核模式下的利用局部性追求性能提升的脚步已经放缓,而塞于多核的线程级并行技术却为性能提高提供了新的动力,以MPSOC-SoC为代表的多核设计技术也将成为后Soc时代的主流设计技术。

2.2. M PSoC架构设计
这里我们将重点介绍MPSoC设计中的各种挑战。

首先是应用级别的挑战,在这个级别里面,必须保证编程模块和交互APIs可以很方便的进行配置。

另外任务的同步和控制也是在实时操作系统上的一个头痛问题。

MPSoC也对以前串行调试造成了极大的冲击,MP调试也是开发过程中急需解决的问题。

这里我们主要从性能和功耗两个方面阐述对架构设计需考虑的两个方面,同时也说明架构是如何在两个方面折中:
多核的性能是一个各方关注的方面。

在降低单个处理器处理能力的同时,怎么让多核同步工作达到或者超过单核的工作效率,是这个时期讨论比较多的话题。

这里主
要涉及到同构多核之间共享内存或者cache的方法和消息总线的策略。

在设计和性能的同时,功耗也是一个关注的问题。

单个处理器的处理能力降低,当然功耗也随之降低,其噪音和辐射都远远小于传统单核,这样可以使多核产品用户
对环境要求比较苛刻的条件下,比如医疗。

2.3. 基于平铺方法的架构(Tile-based MPSoC)
这个是一个在2004年提出来的解决方案,他很好的考虑了性能和功耗的问题。

首先介绍一下这个方案的整体架构:
图 2-3 tile-based MPSoC的架构
这里我们看出整个架构分为四个层次,让我们深入到这几个层次当中看看具体的细节。

门(Gates)和线路(wires)
在这个层次上,设计屏蔽了复杂的底层实现,包括晶体管,路由和接点等物理实现。

功能单元——门实现了可连接的、可顺序话的元素,并且把这些放在后端,上层用户可以不用关心具体实现。

连接单元——线路通过互相连接来互相通讯,保证功能的实现,并且对上层提供接口。

块(blocks)和总线(buses)
在这一层上屏蔽了门和线路的复杂实现,对下层进行抽象。

功能单元——块已经有比较强大的功能,可以分组实现,更加的方便和抵御重复的数据。

通讯单元——总线在逻辑上实现了信息的传递,不再需要考虑物理上的很多复杂情况。

功能核心(functional)和核间连接(interconnect)
这个层也屏蔽了块和总线的复杂实现。

这里是所有功能的核心实现。

通过核间通讯业达到了很好的性能要求,是单个处理器处理的核心部分。

平铺(tiles)和网络层(network)
在这个层次里面,我们已经屏蔽了单个核的复杂处理。

通过网络来实现多个核的通讯,最终在性能上达到复杂的要求。

这是一个最终实现的复杂示意图:
图 2-4 tiles-based MPSoC完成示意图1
图 2-5 tiles-based MPSoC最终示意图2
2.4. 基于网络的架构
2.4.1.传统的基于网络的架构
传统的设计方式是CPU和DMA和DRAM等通过一个bus总线来进行交互通讯。

三者各自独立,通过总线进行交流,性能和功耗等都是很大问题。

当然这个架构也无法满足多核通讯的要求,种种弊端要求我们必须改进这个结构。

传统架构示意图如下:
图 2-6 传统的基于网络的设计
2.4.2.改进型基于网络的设计
经过改进(图3-6)的设计对通讯部分进行了改革,实现了网络通讯,在每个单独部件,如CPU、DMA都增加了控制单元。

在网络上设置了缓存用来保存发出的信息和要求作废的信息。

网络上同样设置管理员和奴隶两个部件来完成同样的功能需求。

具体来说,基于网络的设计使用了OCP-IP的网络架构(可以查看)。

其使命是SOC产品设计“即插即用”中常见的IP复用问题提供设计,验证和测试。

使用了没有任何优先级的中立网络连接,定义了数据溢出,控制溢出和测试信号量等测试平台。

高度的可配置。

根据不同的功能需求,完成不同的配置。

对于相同的功能,提供多种选择,用户可以根据需求不同,选择自己最适当的配置。

数据通讯同步控制,实现了点对点的通讯要求。

实现的管道通讯、多线程,具有灵活的
握手协议。

图 2-7基于网络的设计
2.5. 基于组件的架构
基于组件的架构使得对于SoC开发的层次性变得异常清晰。

整个平台分为三个部分,软件任务,核心处理器和IP。

如图所示:
图 2-8基于组件的架构
普通的开发人员组织软件开发一般都是把软件按照对战一样的层次进行堆积,形成一个和规整的堆栈形式。

如图所示:
图 2-9堆栈形式的软件模型
这样开发表面上很有效率,但是其实各个相邻层次之间的耦合度很大,有些时候根本不能很好的进行层次划分,导致最后的功能划分不清,例如在第一层的专用软件层需要的功能,很想要API层提供给自己,但是API层仅仅提供了最简单的功能或者需要大量的组合才能实现,需要修改API层才能达到上层的需求,这个时候两个耦合度过大,造成了开发进度大大推迟,开发费用大大提高。

针对这个现状,开发人员提出了一个新的设计架构,那就是基于模型的架构方式。

首先感性的认识一下这个架构的样子:
图 2-10 基于组件的架构模型
从图中我们看到,在软件应用和软件组件之间,开发人员制定了一层特殊的API层,这样是两者能够通过固定接口通讯,下层对上层负责,上层不需要关心下一层是如何实现的,如果需要功能的改善,只需要相应的层里面改动,其他层次不需要进行改动。

这个仅仅是改动的一个个小小的点,降低了耦合度而已。

中间SoC设计是整个改进的
关键。

在SoC设计这里,首先进行了两个抽象——软件抽象和硬件抽象,这样开发人员不再需要关心上层的应用是怎么实现的,不需要考虑将来这个系统跑在什么样的开发板上,只需要关心自己最关心的组件之间的交互策略和性能等方面。

这样实现由三个好处: 实现了高度的抽象。

屏蔽了大量的复杂信息,开发起来效率很高,执行的性能也能达到很好的保证。

实现了高度的抽象的编程。

我们面对的是统一的接口,平台无关的硬件,开发人员可以专心在性能和功耗上面,这样开发、测试等都可以很快很好的完成。

高效的软硬件接口。

实现高度的抽象是建立在良好的软硬件接口之上的。

这样功能就可以不需要考虑什么样的软件应用,什么样的硬件,都可以写出一样高效,简介
的代码。

3.MPSoC高性能低功耗技术研究
3.1. 性能提高策略
我们采用数据压缩的方法提高性能。

首先系统假设多个核共享内存空间,并且有一块空间是各个核都共同享有。

各个子系统之间靠共享总线进行通讯;各个核也共享片外内存。

整个方法基于循环嵌套的平行策略。

在科学计算当中,我们知道数组是最长使用的结构。

所以我们这里把精力集中在这些经常使用的数据上。

在这种策略下,所有的循环嵌套都并行使用核心数据进行加速计算。

我们的策略是这样展开的。

首先我们使用编译器对代码进行检查,查看数据依赖和数据重用,然后对于有数据以来和重用的放在一个核上进行处理;不同依赖放在不同的核上,这样各个核就可以同时并行工作,这样就把核间通讯减少到最小,从而增加性能。

3.1.1.静态策略
对于数据,多核计算需要数据的时候对其进行解压缩,当计算完成保存数据的时候,在内存里面进行压缩保存,这样尽量少占用空间,示例图如下:
图 3-1数据在使用时候的压缩和解压缩
通过这样的策略我们能够达到一定的性能提高,但是效果不很理想,一旦系统需要反复的使用数据,这样压缩-解压动作反而使整个系统的性能降低。

3.1.2.动态策略
动态策略的主要思想就是要动态判断系统使用数据的情况来执行不同的策略。

在体系结构的时候我们知道,数据往往具有局部特性,在这个时候使用,那么下一个时刻往往还被使用,那么我们可以设定阀值来调节这个动态替换的过程;可以采用LRU的算法进行替换;或者统计系统以往的运行情况,然后根据历史数据进行裁定。

3.2. 功耗降低策略
在低功耗设计中都有两个方面:a)动态功耗;b)静态功耗。

下面详细介绍两者。

3.2.1.动态功耗
对于处理器的动态功耗设计,为了降低功耗,使得供电电压尽可能的接近计算所得的驱动电压,可是这个方法由于驱动电压的降低将带来门延时的增大从而降低了系统的性能。

所以可以在MPSoC中提供一套包含多个不同电压的供电系统,这样来为不同要求的供电,比如对于DSP等要求高速的场合可以提供较高的电压,对于IOP提供较低的电压。

另一种方法是动态降频(DFS)和动态降低电压(DVS)两者结合使用,这个方式是通过设置一个电压转换器和一个热探测器,当超出限制运行或者是CPU的负载改变时,DFS 和DVS起作用。

在没有到达新的工作频率和电压之前,处理器处于停止状态。

这种方法的实现是通过一个PLL和电压转换器来实现的,但是这两者又是模拟的,他们的精度容易收
到来自其下方的数字部分的噪声的影响,所以如何将他们与数字系统隔离还是个问题。

我们可以采用如下策略:将大的cache分成小的部分,这样在每次访问时只是一个小的部分的访问就可以达到降低功耗的目的。

同时在应用软件的设计中必须进行优化减少存储器访问来降低动态功耗。

3.2.2.静态功耗
在静态中,提高导通电压有利于降低漏电流带来的消耗,可是同样导致门延时增加。

一种可行的方法是在VDD到虚拟VDD之间加接一个P管,在VSS和虚拟地之间加接一个N 管,这称之为休眠晶体管,这种方法带来了很好的效果。

我们可以采用如下策略:为了降低静态功耗可以在某部分cache未使用时,关断对其的供电,但是这样将会导致其中的状态丢失。

另一种是对与未使用的部分提供一个状态保持电压,但是要控制优化漏电流,来降低功耗。

对于这两种方法的采用取决于在状态丢失后层次存储器中的其他层次恢复存储该部分所消耗的功耗和保持状态电压所消耗的功耗的大小。

3.3. M PSoC系统Cache性能功耗研究
Cache的结构对于高性能低功耗设计有着至关重要的作用。

下面从Cache的“体系结构级”以及“一致性实现”方面介绍MPSoC高性能和低功耗技术以及性能技术对低功耗的影响。

3.3.1.基于体系结构的Cache分析
3.3.1.1. MPSoC系统Cache结构
由于主存比起嵌入在芯片上的存储设备来说,速度慢而且耗能多,MPSoC系统往往选择多级Cache结构。

当前多数单片多处理器系统选择二级on-chip Cache。

每个处理器有个较小的私有一级Cache,因为一级Cache的访问延时直接影响到系统性能。

然而二级Cache的组织就大有不同了。

可能所有的处理器共享一个二级Cache,或者每个处理器都有自己的二级Cache。

共享的二级Cache更为宽松,减少了访问主存的次数。

但是它相对私有的二级Cache来说,导致较长的访问延时并产生更多的片内通讯。

另一方面,私有的二级Cache访问速度较快,但是它的空间利用率却比较低。

因为同一个内存块的数据可能在各个私有二级Cache中保存很多遍。

为了更有效的利用Cache存储,很多研究组织采取了一种折衷的办法。

即采用私有的二级Cache,但是允许偷取邻居的Cache存储空间,即可以将一些块存到其他处理器的Cache 中。

这样既保证了访问低延时,又在一定程度上增大了Cache空间的利用率。

并对如何选择选择目的Cache,和对哪些块进行转移提供了优化[3]。

CMP-CC方法以将替换出去的二级
Cache块一个随即概率数写到其他二级私有Cache中。

但是这种方法在将被替换出的二级Cache块保存到另外一个处理器的二级Cache中时,没有考虑到被替换出去的二级Cache块的重用性。

如果太多的块都没有被重用,二级Cache的单片多处理器性能会下降,同时增大能耗。

所以在将替换出二级Cache块保存到其他二级Cache之前,考察该块的重用性时非常重要的。

论文[3]中提出了一种基于重用率的Cache存储共享技术。

该技术同样基于私有二级Cache,系统结构如图3-2所示。

图3-2私有二级Cache的单片多处理器体系结构
3.3.1.2. 基于重用率的Cache存储共享技术
前一节介绍过,CMP-CC的方法将一个替换出的二级块以一个给定的概率写到另一个二级Cache中,不考虑该块被重用的可能性,从而可能使Cache中存在大量无用块,降低系统性能。

为了减少无用块的数量,使得重用率高的块尽可能存放在Cache中,减少内存访问次数,从而提高系统性能,降低能耗,计算被替换出的块的重用可能性是十分重要的。

在传统的块替换算法中,近期访问时间或访问频率被用来预测块的重用性。

而对二级Cache来说,近期访问时间基本起不到预测作用,所以,访问频率和两次连续访问之间的时间建个被用来预测重用性。

该算法被成为A TIF(Access Time Interval and Frequency)算法。

它使用一个四位的计数器记录较短时间内访问某个数据块的次数。

使用两位的计数器几率较长时间内访问某个数据块的次数。

取四位计数器的高两位和两位计数器的值,将A TFI分成十六个模式。

如果一个二级Cache的数据块被重用了,那么它对应的模式计数器加1,如果一个数据块没有被重用就替换出去,A TIF 模式计数器减1。

当计数器值为零的时候,则说明其重用率低。

使用A TIF算法计算重用率从而决定时候应当把要替换出的块写入其他Cache。

那么如何选择目的Cache,成为需要解决的另一个问题。

[3]文中提出了基于存储需要率的计算方法。

该方法认为,如果处理器P1的二级Cache中替换发生的次数多于处理器P2,那么处理器的P1的存储需要量比存储器P2要大。

基于这个原理,变量Repl interval_history(替换时间间隔历史)用来预测处理器的存储需要量。

每个私有二级Cache的替换时间间隔历史都会被记录下来,并随着每次替换的发生而更新,其计算公式如下:
其中,Repl interval_history(pre)是指上一次的存储需求量预测值,Repl interval_history(new)是通过公式计算出的新值。

Repl interval是值上两次连续替换之间的时间间隔。

如果一个二级Cache的Repl interval_history的值比较小,说明它的处理器对存储量要求比较大。

这个预测值只用在二级。

相关文档
最新文档