当前位置:   article > 正文

嵌入式开发系统中的加密性能:第1部分_openswan strongswan

openswan strongswan

嵌入式系统上的密码学基础密码术是处理数据的艺术和科学,因此外部团体在没有任何秘密的情况下就无法撤消或模仿该操作。它启用了高级功能,例如:

存储和传输期间信息的机密性

用户身份验证

接收/检索的信息的完整性

不可否认交易的

有效性数据和资源的可用性信息和资源的

受控访问

诸如IPsec和SSL之类的网络安全协议以及诸如IKE(Internet密钥交换)之类的密钥协商和管理应用程序使用各种加密算法来实现这些高级目标。

影响加密性能的变量

尽管加密启用的安全协议有很多好处,但也有不利之处。密码学的计算量很大。安全协议(相对于其非安全类似物)涉及的额外处理步骤会给经常使用密码安全性的系统带来沉重的CPU使用率。

为了解决这个问题,飞思卡尔等半导体供应商将密码加速器集成到了用于嵌入式网络和通信系统的处理器中。

尽管这似乎是故事的结局,但实际上仅仅是开始。嵌入式开发处理器中加密加速器的存在并不会自动提高安全协议的性能。

系统(或嵌入式处理器)的理论密码性能与其在给定应用程序中的性能之间可能存在巨大差异。

本文的目的是使用飞思卡尔PowerQUICC集成通信处理器作为示例,识别和解释影响系统级安全性能的变量,并演示这些变量如何在测量的吞吐量中体现出来。

加速架构 有许多加速器实现,但是只有一些基本架构。流通 和后备 两种基本架构。

直通加速器

直通加速器在数据从一个位置“流”到另一位置时对数据执行加密操作。在存储系统中,此流程可能是从系统内存到硬盘驱动器;在网络系统中,流可以在网络接口和系统内存之间。

直通式安全处理器的定义特征是嵌入式处理器的CPU具有一定程度的自治权。直通安全处理器的网络示例通常能够终止IPsec。

嵌入式开发处理器的CPU上运行的软件的角度来看,IPsec不存在,并且所有的包和有效负载处理都是对明文数据执行的。IPsec的终止意味着直通安全性加速器能够对数据包进行分类,确定数据包是否需要IPsec处理,如果需要,则确定其属于哪个隧道或安全关联。

流通加速器还必须能够执行所有IPsec头和尾处理,并保持安全会话状态。直通加速器或直通加速器前面的直通网络处理模块必须能够处理第2层和第3层标头以及IP碎片等条件。

将正常的下层选项视为异常会创建一个拆分的编程模型(大多数数据包通过加速器,某些数据包到达CPU上的软件),这可能是会话状态管理中的一个大麻烦。

直通加速器实现通常是ASIC或类似网络处理器的,这意味着对安全协议更改(或安全协议下方的协议)的适应性可能受到限制或不存在。

实现的性质倾向于将直通加密加速器推向使用范围的相对两端。一方面是高性能(10 Gbps),高成本(> 150美元)的离散安全处理器。

类似NPU的设备可以通过微代码更新来支持多种安全协议(尽管通常一次只能支持一个)。这些设备用在高端系统中,因为这些系统可以吸收冗余分类功能的成本以及加速器冗余存储器总线的成本。

另一端是流通的专用加密加速器。这些加速器通常集成到本身就是ASSP的SoC中。

用于电缆调制解调器的芯片组可能具有带DES解密加速功能的DOCSIS MAC / PHY,而SATA控制器可能具有用于磁盘扇区加密的集成AES。这些实现可能具有一些可配置性,但没有可编程性。

尽管直通加速可实现很高的理论性能百分比,但由于它们缺乏可编程性,昂贵的冗余硅片面积或两者的结合,因此很少集成到通用嵌入式处理器中。

后备加速器

与直通加速器相比,后备加速器几乎没有自主权。该体系结构由执行数据包分类的软件驱动实体(例如CPU或NPU)定义为安全处理的前提条件。CPU还执行OS功能(缓冲区/内存管理)和网络协议处理。

诸如IPsec之类的网络安全协议非常复杂,有状态,并且有很多选项。IPsec要求在每个数据包的基础上查阅安全策略数据库和安全关联数据库。

这次协商确定了将保护数据的算法以及这些算法的加密密钥。必须监视密钥寿命并启动密钥刷新。

IPsec的各种模式要求对原始IP数据包进行不同的封装,并且所有这些模式均要求在进行加密处理之前对数据包进行碎片整理。CPU为加速器运行设备驱动程序,以卸载加密算法处理。

第一个广泛使用的加密加速器是外部后备设备,例如HiFN 7901和Motorola(现为Freescale)MPC180。这些外部设备通过专有和标准总线(例如PCI)连接,这些加速器被集成到嵌入式通信处理器中是自然的发展。后备加速器有两个主要子类别,即低级 和高级 。

低级加速器 。低级加速器没有标准定义。但是,任何无法读写数据的加速器(缺乏DMA功能)都可以称为低级加速器,无需过多争论。如果加速器无法获取自己的数据,则嵌入式处理器CPU上的软件必须对外部DMA(可能是两个,一个用于输入,一个用于输出)进行编程,以将数据传输到加速器的FIFO。

如果这些FIFO不支持外部DMA握手信号(DREQ,DACK),则CPU可能会发现将数据直接写入加速器FIFO并读取输出的效率更高。虽然低级加速器可以异步运行,但切换到其他任务并不现实。

除非加速器具有大的FIFO并且要处理的数据很小,否则CPU将必须循环运行,在将数据写入输入FIFO和从输出FIFO轮询/读取数据之间交替进行。

一些后备加速器的级别极低,并被实现为CPU的辅助处理单元(APU)。加速器与处理器的这种紧密耦合具有非常低的设置开销(本系列后面将讨论)的优点。

缺点是加密APU需要持续的CPU干预,并有效地使该架构同步并阻止其他操作。因为许多安全协议操作都要求对数据执行加密和身份验证(例如用于IPsec的3DES-HMAC-SHA-1),所以这种架构风格变为串行,同步和阻塞,其中串行是指3DES,后跟HMAC -SHA-1。

如果将具有DMA功能的加速器的DMA功能一次绑定到一个功能,则仍然可以将其视为低级加速器。单一功能意味着DMA描述符具有支持请求的必填字段,例如“从位置1获取密钥,从位置2获取数据,执行3DES加密并写入位置3”。

乍一看,这似乎是足够的。但是,大多数安全协议操作都要求以定义的顺序对同一数据执行加密和身份验证。如果对3DES-HMAC-SHA-1执行IPsec,则要求处理器创建两个简单的描述符(一个用于3DES,另一个用于HMAC-SHA-1)。

加速器将这些描述符视为两个独立的操作。由于这些操作是分开处理的,因此要读取和写入数据的数据将被读取和写入两次:一次用于3DES加密,第二次用于HMAC-SHA-1完整性检查。

这种简单的DMA功能是否足以使此类加速器脱离低级类别,这取决于读者。这种“双通道” DMA架构可能是高级加速器的最低等级。尽管提供了一定程度的异步性以实现任务切换,但是具有DMA功能的双通道加速器可能比双通道加密APU的性能要低,因为双通道DMA加速器无法在两个独立的描述符之间缓存数据。

高级加速器。 如果通过原始或不存在的DMA功能定义了低级加速器,则通过复杂的DMA功能(包括流水线的读写功能,分散/聚集功能以及单遍加密和消息身份验证)定义了高级加速器。

高级后备加速器体系结构在诸如内存延迟高而带宽低的外围总线(如PCI)上发展为外部协处理器。为了获得价值,这些后备加速器必须以最少的CPU开销和内存总线带宽来完成尽可能多的工作。

为了实现这些目标,加速器变得与处理流程高度异步,因此CPU可以在检查加速器的进度之前进行任务切换并做大量工作。

高级加速器始终支持单遍加密和身份验证。有些甚至支持附加级别的协议处理卸载,例如添加安全协议头和尾。

加速器数据流

无论是内部还是外部,低级或高级,后备加密加速器的指令和数据流都是相似的,即使它们的性能和效率不同。

下面的图1 显示了PowerQUICC III处理器的高级框图,以说明集成通信处理器中后备加速器的位置。

图1:具有后备加密加速器的PowerQUICC处理器

图2 和图3依次 显示了高级密码加速器(例如Freescale SEC)的典型数据流。处理步骤如下所述。

步骤1。 数据包到达以太网接口,并放置在主存储器的缓冲区中。此步骤特定于PowerQUICC的优化包括以太网中断合并和将数据包头存储到L2高速缓存。

第2步。 在通知(或通过轮询发现)一个数据包可用于处理时,CPU读取数据包头以执行分类。分类涉及软件根据各种表检查标题字段。

在此特定示例中,IPsec分类涉及在两个数据库中的查找:一个安全策略数据库,用于确定是否需要对数据包进行IPsec保护;以及一个安全关联数据库,用于确定在封装数据包时要使用的特定IPsec隧道和参数。

步骤3。CPU为安全引擎(SEC)创建一个描述符,该描述符包括配置信息以及指向密码操作所需的密钥,上下文和数据的指针。

在将数据包发送到加密加速器之前,CPU对数据包执行的预处理量取决于加速器的功能。一些加速器仅执行加密操作。其他加速器执行一定级别的协议处理,例如添加IPsec标头。

第四步。 CPU将指向描述符的指针写入SEC加密通道(DMA)。

图2:后备安全架构步骤1-4

步骤5。 SEC从主存储器中获取描述符。

步骤6。 SEC将自己配置为根据描述符进行单次处理,并开始从主内存中获取密钥,上下文和数据。它在处理过程中将解密的数据写回到内存中。

步骤7。 操作完成时,SEC会通知CPU(可配置选项,用于通过中断或轮询位进行通知。)

步骤8。 核心对数据包执行修饰格式化。

步骤9。 内核为以太网接口创建一个Tx缓冲区描述符。

步骤10。 以太网接口转发解密的数据包。

图3.后备安全架构步骤5” 10

后备架构在嵌入式处理器中已变得相当普遍,其原因如下:

由于它们利用了现有SoC平台资源,包括内存,分类资源和协议状态维护资源,因此可以经济高效地实现它们。

软件对数据进行预处理和后处理的能力以及提供更广泛的加密处理指令的能力,为支持各种应用程序和协议用例提供了所需的灵活性。

尽管后备加速器的性能通常比流通式体系结构低,但后备加速器可为广泛的应用程序提供足够的性能。(所有当前的PowerQUICC通信处理器都实现后备结构。)

尽管将安全加速器并置在其他通信处理器的网络接口模块中,但在集成通信处理器中没有明确的流过处理示例。因此,本文的其余部分将重点讨论影响后备架构性能的变量。

非安全与安全协议栈的区别

应用程序和协议栈的开销是处理器执行的指令,以确定对给定数量的数据需要执行哪些操作以及如何执行。

这些指令与加速器设备驱动程序开销不同,因为无论是否可用加速,这些应用程序/协议堆栈开销都存在。安全应用程序和安全协议栈的开销通常令仅使用非安全类似物的用户感到震惊。

下面的图4 显示了明文转发方案(使用Linux 2.6 TCP / IP堆栈的IPv4转发)和使用Linux 2.6 TCP / IP堆栈和OpenSwan IPsec的IPsec转发方案的吞吐量(Mbps)和CPU使用率。

为了强调安全协议处理的开销,IPsec在封装安全协议(ESP)模式下运行,同时禁用了加密和身份验证(空/空)。

这是IPsec的非兼容模式(不允许禁用身份验证),但是它证明了与安全协议处理相关的性能大幅下降。

图4. IPv4和IPsec ESP隧道的性能比较(空/空)

图4所示的测量是在具有Power Architecture e500v2内核,运行频率为1.33 GHz的飞思卡尔MPC8548E器件上进行的。此测量中使用的网络测试设备的吞吐量限制为2 Gbps(2 X 1 Gbps以太网链路),否则,在所有数据包大小下,IPv4性能将大大超过ESP Null / Null性能。

实际上,可以计算CPU频率除以转发的数据包数量,并显示IPsec ESP空/空转发每个转发的数据包消耗的CPU周期是普通IPv4转发的3.2倍。

在大数据包大小下,由于测试设备的限制,IPv4和ESP Null / Null吞吐量趋于一致,IPv4拥有80%以上的空闲CPU来执行其他任务,而ESP Null / Null仍然占用了大部分CPU周期。

为什么安全协议比非安全协议那么“重”得多?具体细节因协议而异,但是在几乎每种情况下,安全协议都需要更复杂的分类来确定是否需要保护数据包(如果需要,则使用哪些安全参数)。

安全协议也是有状态的,因为用于加密和/或认证数据的加密密钥具有生命周期。这些生存期可以用加密的字节数,自首次使用密钥以来的秒数,自上次使用密钥以来的秒数(空闲超时)或以上所有条件(首次出现)来度量。

最后,安全协议向报文添加标题字段,从而允许将报文转发到安全隧道的另一端,而无需透露有关通信方的信息。

这些标头通常被填充在现有标头之间,或者它们会导致简单的转发中不需要的内存副本或内存缓冲区操作。

ESP Null / Null性能代表具有后备加密加速功能的IPsec ESP的理论最佳情况性能。具有零驱动程序开销,零处理延迟和足够的原始性能的“完美”后备引擎可以等于ESP Null / Null性能,但不能超过它。

所有安全协议堆栈都不相等

IPv4转发与IPsec ESP Null / Null转发之间的性能差异非常大,但是IPsec堆栈与运行这些堆栈的操作系统之间也存在显着差异。

在同一设备上运行的不同Linux IPsec堆栈会产生非常不同的结果。对于开源堆栈(StrongSwan,OpenSwan和Netkey),我们发现最佳和最差堆栈之间有2倍的差异,这是在协议堆栈开销占主导的小数据包大小下测得的。

尽管这比IPv4和IPsec ESP Null / Null之间的3.2倍差异小,但仍是一个很大的差异。专有的IPsec堆栈可以进一步扩大这些差异。

在Linux 2.6上运行的Mocana NanoSec IPsec堆栈的性能比经过测试的最快的开源堆栈IPsec再次高出1.75倍,尽管其中一些优点来自Mocana的加密加速API(在下一节中介绍)。

飞思卡尔没有足够的数据来完全量化在同一PowerQUICC设备上使用不同操作系统运行同一IPsec堆栈的影响。

我们拥有的有限比较数据(吞吐量和CPU利用率)表明,假设网络驱动程序针对比较中使用的所有操作系统均进行了优化,则操作系统之间的差异小于IPsec堆栈之间的差异。

加密API和设备驱动程序开销

先前对应用程序和协议堆栈差异的分析使用ESP空/空或软件加密来消除硬件,加密API和驱动程序开销,以便比较堆栈本身。

本节重点介绍到加密硬件的接口,这是后备加密加速器性能中的重要变量。

具有讽刺意味的是,我们进行的Linux IPsec堆栈比较之一是OpenSwan,它是吞吐量最低(因此开销最高)的堆栈,目前提供了最好的开源加密API:OpenBSD加密框架(OCF)。

最有效的开源堆栈StrongSwan没有任何特定的API,这意味着通常将加密设备驱动程序直接移植到堆栈上,以作为软件加密函数调用的直接替代。

Netkey由所谓的Linux 2.6本机加密API支持,该API与现代后备加密加速器的接口非常差。较新的Scatterlist Crypto API解决了许多本机Crypto API的缺陷。

诸如Mocana的NanoSec之类的一些商业IPsec安全堆栈非常重视与后备加密加速器的有效交互,因此在非加速和加速用例中均优于开源堆栈。

但是其他专有堆栈将加密加速API视为必不可少的东西,并创建了性能低下,公分母最低的API,从而导致总体性能不佳。

下面的> b>图6中显示的“硬件加速IPsec比较”图提供了几个IPsec堆栈的吞吐量比较,包括加密API和驱动程序开销。所有堆栈都在Linux 2.6上运行,并使用3DES-HMAC-SHA-1执行IPsec ESP隧道。

用于进行这些测量的设备是飞思卡尔MPC8548E,e500v2 CPU的频率为1.33GHz,SEC 2.1后备加密加速器的运行频率为266 MHz。

较早的图4中的IPv4和ESP空/空测量 是在相同条件下进行的,可以与下面的图6进行准确比较。图6中所示的特定堆栈和API,硬件加速IPsec的比较如下:

Mocana NanoSec IPsec,带有Mocana的Acceleration Harness API和Freescale SEC驱动程序的Mocana版本。高度异步,支持SEC单遍描述符。

可从Mocana获得的商业解决方案专门针对PowerQUICC架构进行了优化。功能齐全,记录完整,经过详尽测试(VPNC认证),生产质量并得到完全支持。(Mocana软件的免费源代码试用版可以从其站点下载。

具有OpenBSD加密框架(OCF)API和Freescale版本的SEC驱动程序的OpenSwan IPsec(开源)。高度异步,支持SEC单遍描述符。

飞思卡尔开发了SEC驱动程序的一部分,可在OCF中使用,并将其提供给Linux社区。一些新的飞思卡尔PowerQUICC SDK的BSP中还包含OpenSwan,OCF和SEC OCF驱动程序作为参考代码。

OpenSwan IPsec驱动程序集成是参考代码,而不是飞思卡尔支持的软件产品,并且受OpenSwan和OCF的发展的影响。

StrongSwan IPsec(开放源代码)具有SEC驱动程序子集的直接端口,以替换StrongSwan软件加密例程。支持SEC单遍描述符,但同步运行。

在继续处理要加密的数据包之前,IPsec堆栈会轮询SEC是否完成,并且在等待时对其他任何数据包均不起作用。飞思卡尔过去已经发布了StrongSwan IPsec的参考实现,但是最近没有与StrongSwan进行任何开发。飞思卡尔不支持此代码。

带有Linux 2.6本机加密API的Netkey IPsec(开源),带有SEC通用驱动程序。该API不支持高级加密加速器(不支持单遍加密和身份验证)或异步操作。

飞思卡尔仅将SEC驱动程序移植到此堆栈/ API中仅用于评估目的。飞思卡尔最近发布了在Scatterlist API下工作的SEC驱动程序的参考实现,其性能类似于OpenSwan / OCF。

图5.硬件加速IPsec的比较

比较前面的图4 和上面的图5 的吞吐量,可以看出SEC驱动程序开销相对较小。ESP Null / Null和具有硬件加速3DES-HMAC-SHA-1的ESP的性能在小数据包大小时相似,其中,软件开销的差异因处理的大量数据包而放大。

随着数据包大小的增加,所有软件开销(堆栈,API,驱动程序)变得越来越不重要,后备加速器的原始性能变得越来越重要。

低级/高级加速器之间的API /驱动程序差异

如所讨论的,许多(但不是全部)安全协议栈具有支持高级加速器功能(特别是单遍处理和高度异步操作)的加密API。每个支持高级加速器功能的加密API也都支持低级加速器功能。

一些低级加速器非常低级,以至于它们不需要将驱动程序移植到API或协议栈。加速器的功能通过一个库公开,用户可以将其与操作系统一起编译,以直接替代软件加密例程。

具有直接替代软件的架构的缺点是软件加密同步运行(加密运行时不会运行其他进程),并且当安全协议同时要求加密和身份验证时,这些操作必须串行运行。

下图6所示的“ API和体系结构对处理步骤的影响”图说明了单遍异步处理和双遍同步处理之间的区别。

图6. API和体系结构对处理步骤的影响

低级加速器具有较低的软件开销来开始处理。库调用使软件直接将密钥写入密钥寄存器,并将数据直接写入输入FIFO。这与高级API相反,后者必须创建与请求相关的中间数据结构,然后调用高级加速器的设备驱动程序来创建描述符。

与直接写入低级加速器相比,描述符表示一个间接级别(因此产生了开销)。这意味着,如果给定等效性能的处理器执行协议栈和API /驱动程序/库,则低级加速器可能会具有更好的小数据包性能。

下面的图7 说明了低级加速器的更快启动时间如何使其具有更好的小数据包性能,而具有单通功能的高级加速器具有更好的大数据包性能。

图7.底层和高层加速器的相对性能

假设加密加速器的原始性能和IPsec堆栈开销相同,则确切的性能交叉点取决于执行软件的处理器的性能(堆栈,API和驱动程序/库)。

如果处理器等效(频率,每个时钟指令),则交叉点在64到256字节数据包大小范围内。

如果将高级加速器与具有更高频率,更高IPC的处理器(例如PowerQUICC Power Architecture CPU)集成在SoC中,则可能没有交叉点,并且具有高级加速器的设备可以执行在所有数据包大小上都更好。

加密原始性能

算法加速器的原始性能有可能成为系统级性能中较大的变量之一,尤其是在数据量较大且软件开销较少的情况下,尤其如此。

尽管工作频率明显不同,但使用相同处理技术节点制造的ASIC风格的单独算法加速器具有相似的原始性能。

算法加速器的工作频率并不是其原始性能的良好指标,因为每个时钟周期的内部置换数量仅是在更多或更少的流水线级之间进行权衡的实现。

大多数加速器供应商对算法的原始性能都有很好的了解,并且该值可能会因算法和密钥长度而异。AES加速器往往比3DES加速器快,并且使用128b密钥进行加密通常比256b密钥进行加密更快。

为了达到更高的原始性能水平,加密加速器可以实现单个算法加速器的多个副本(即,四个AES加速器以实现总计10 Gbps的速度)。这种总体原始性能并不意味着可以以10 Gbps的速率加密单个数据,而是可以以2.5 Gbps的速率加密四个数据。

本文前面介绍的软件开销的可变性应该明确加速器供应商在尝试提供准确的系统级性能估计时面临的困难。

某些厂商不愿尝试,而只是发布其算法加速器的原始性能。只要性能被标识为“原始”,“峰值”,“理论”等,并且标识了算法,这就是合法的营销简化。 提防供应商发布原始性能数据,并暗示它们是可实现的系统级性能结果。

如前所述,给定技术节点中算法加速器的ASIC实现可能具有相似的原始性能,但是如果该实现未在硬件中完全实现该算法,则原始性能可能会大大降低。一些最早的后备加密加速器是用DSP实现的。

它们具有比通用处理器上的软件实现更好的性能,但比ASIC实现的性能低得多。与完全ASIC实施相比,部分(或完全)微编码/汇编编码的实施还具有低得多的原始性能。

非常低级的加速器特别容易实现为硬件/汇编代码混合体,其中某些算法通过加密APU加速,而其他算法则作为加速器库中的汇编代码实现。

加速器可能仅实现算法的最内层循环,并且依赖汇编代码来修改加速器中处理回合之间的处理上下文(例如计数器或初始化向量)。

极低级加速器中的类似混合也可以用于执行HMAC,其中加速器支持基本哈希,并且汇编代码在HMAC生成的适当时间加载密钥I-Pad和O-Pad。

基于DSP的混合低级硬件/汇编代码实现为新算法和新模式提供了一定程度的适应性,但是用户必须确定与ASIC-相比,这种适应性是否值得大幅降低原始性能(以及更高的功耗)样式加速器。

尽管学术界不断发布新的算法和模式,但历史趋势是每十年一种新的加密算法获得广泛的商业采用。

与现有设备兼容的需要,以及算法在获得美国国家标准技术研究院(NIST)和全球同行机构认证之前所需要的建立信任的漫长周期,导致新算法的推出速度相当缓慢。

总线带宽

在后备加密处理期间消耗的内存带宽量可能大大超过纯文本操作中使用的带宽。无论要加密处理的数据是大文件还是小数据包,都必须首先将数据从网络或外围接口移至系统内存,再从系统内存移至加速器再移回,最后再从系统内存移至网络或外设接口。

除了数据移动之外,加载安全上下文(至少加密密钥)还消耗了总线带宽。

下表1 比较了纯文本IPv4转发和IPsec ESP隧道模式之间的带宽消耗。请注意,此比较仅考虑安全协议标头和尾部消耗的额外带宽,以及往返于加速器的数据和密钥的移动(假定为单程高级加速器)。

表1.带宽利用率

与其他安全协议表查找,指令提取或体系结构特定的数据结构(例如以太网和加速器描述符)相关的增加的内存带宽消耗未包含在表中,尽管这些操作每次可能消耗大量的额外带宽。

消耗的额外内存带宽的百分比取决于特定的安全操作和正在处理的数据的大小。下表2 显示了在整个数据包大小中,与简单IPv4转发相比,IPsec ESP模式消耗的带宽增加了百分比。

请注意,一个1518字节的输入数据包大小比其他大数据包大小具有更高的百分比增长,因为大多数网络具有此大小的最大传输单元(MTU)。在IPsec数据包中发现额外的标头字节会导致碎片,这会占用额外的内存带宽。

表2.总线带宽按数据包大小增加的百分比

如果加速器未正确集成到嵌入式处理器的总线结构中,或者嵌入式处理器本身具有内部或外部存储器总线瓶颈,则加密性能可能会受到限制。

PowerQUICC SEC始终连接到主系统总线,以最大程度地降低总线带宽的可能性,从而限制系统级密码性能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/805258
推荐阅读
  

闽ICP备14008679号