cavium 应用MIPS内核的OCTEON家族处理器CPU介绍

放眼现今的网络、安全、无线及存储应用系统,对于最高性能及最低功耗的优质处理器需求持续升高。Cavium Netowrks公司的OCTEON家族处理器经过高度优化,相当适合control-plane、data-plane应用或两者的混合,以优异性能提供网络、安全、无线及存储等应用最佳的选择。OCTEON和OCTEON Plus处理器已被大多数的网通OEM厂所使用,凭借低成本以及低功耗等优势带来市场最领先的性能。

OCTEON处理器介绍

OCTEON系列产品包括了三代且软件完全兼容、高度集成的多内核处理器:OCTEON (CN3XXX)、OCTEON Plus (CN5XXX)及OCTEON II (CN6XXX)。这些处理器在优化之下提供了高性能、高带宽以及低功耗。OCTEON处理器可应用于control-plan、data-plan或是两者的混合。OCTEON处理器提供了最佳的解决方案,包含智能网络、无线和100Mbps到40Gbps的存储应用。OCTEON全系列产品都共享相同的架构,使得全系列处理器软件都能兼容。OCTEON处理器的区别基于下列几项:

● cnMIPS的内核数目
● 内核频率及internal interconnect
● I/O接口的种类和数目
● 硬件加速器的种类和数目
● 高速缓存的容量以及结合性

每个OCTEON产品都提供一组功能组(feature set),让应用目标能有最好的功能和性能。编写好的软件可应用在不同的型号,只要它们有相同的功能(feature)。

OCTEON系列处理器特色

OCTEON系列处理器的特色如下所示:
● Custom-designed dual issue MIPS64 release 2cores,伴随着Cavium Netowrks创新的指令以提高性能
● 1到32内核的处理器提供最广泛的性能、功耗以及价格的选择性,同时提供全面的软件兼容性
● 内置的硬件加速器大幅提升应用上的性能、负载平衡以及同步处理
● 有着DMA引擎的高速内部连结,优化了OCTEON处理器的数据流量
● 集成的I/O接口和内存控制器能减少BOM成本及缩小产品的设计
● 简明的软件架构基于标准的C/C++编码,GNU toolchains,业界标准的操作系统,及optimized software stacks因为有了硬件加速器、灵活的软件架构、标准的MIPS64、toolchains、Packet-linked locks、scaling support和操作系统,使得软件开发的复杂性缩至最小
OCTEON处理器的优点
● 内置了硬件加速器
● 每个内核专属的加解密处理器
● 芯片上各单元的内部连结
● Cavium Networks特有的专属指令集
● 阶梯式的高速缓存

OCTEON系列产品目标应用
OCTEON处理器被使用在各式各样的OEM设备。例如:
● 路由器
● 交换器
● 集成式管理器
● 内容感知交换器
● 应用感知网关器
● 三合一宽带网关器
● 无线网络存取集成设备
● 基站
● 内核网络设备
● 存储网络设备, 存储系统
● 服务器及智能网卡
OCTEON系列产品主要特色
OCTEON系列产品主要特色简述如下:
32个内核,速度达1.5 GHz
OCTEON家族的多内核处理器最多支持到32个cnMIPS内核,其速度从300MHz到1.5GHz。
● OCTEON和OCTEON Plus的产品支持1到16个内核,速度从300MHz到800MHz
● OCTEON II的产品最多可至32内核,速度高达1.5GHz硬件加速单元器--多重的硬件加速器内建在每个OCTEON处理器。这些硬件加速器减轻了内核的负载,降低软件开发的费用和复杂度。这些加速器包括了打包处理加速器、加解密处理加速器、应用程序加速器、特制化的加速器。

专用的DMA引擎
专用的DMA引擎让每一个硬件加速器都有存取内存的功能。某些型号的处理器提供了额外的存储器到PCI PCIe/PCI/PCI-X DMA引擎。

高速互连
硬件单元和内核是高速互连的。这些互相连结在与内核同样的频率下工作。每个内部连结是由多个总线偕同流水线操作技术以及复杂的硬件调停逻辑所组成的。总线的带宽和布置经过了最优化,使得数据传输更有效率,也消除潜在的瓶颈。有些OCTEON II的型号含有cross-bar hyper-connect的技术使其内核数可达32或更多。

业界标准的开发工具和操作系统
业界标准的开发工具(GCC, GDB)和操作系统(包括SMP Linux)都已被用在OCTEON处理器的内核、硬件加速器、以及Cavium Networks-specific说明书。使用者可以方便地编写C/C++程序,并且可以继续沿用现有的软件。在MISP64和MIPS32 ISA架构下编写的软件都可以延续使用。

灵活的软件架构
因OCTEON有良好的硬件架构,使其在软件设计上非常的灵活,包括当需要更多性能时聚集内核运算能力。常见的配置是data-plane加上control-plane。在这种配置中,一组内核运行data-plane应用,另一组内核运行SMP Linux或其它通用的操作系统提供control-plane功能。如果需要的话,可以将任意内核加至data-plane,以获得线性的性能增强。

新型的软件开发
因为有了硬件加速器、灵活的软件架构、标准的MIPS64 ISA、业界标准的toolchains和操作系统,软件开发的复杂度被缩至最小。Cavium Networks提供了软件开发套件(SDK)。该SDK包括了GNU C/C++编译器和其它开发工具、C语言的APIs、一个简单的执行器,它可以在没有任何操作系统下执行代码、以及Cavium Networks SMP Linux。Cavium Networks还提供可选配的软件组合以支持更复杂的功能。

打包管理加速器
打包的传送与接收是由可配置型软件的打包管理加速器所自动控制的。加速的项目包含:
● 打包数据缓冲器自动配置与释放
● Layer-2至layer-4打包表头解析,例外检查以及checksum的计算
● 可达七组支持VLAN stacking的打包流向分类
● 进入处理器的打包数据自动存储于L2/DRAM
● 打包的顺序和排序由硬件自动管理,不需要软件做特别的锁定
● 打包数据的传送由硬件加速器来管理

TCP/UDP加速器
TCP/UDP的加速功能包括:
● 打包管理的加速
● 收到打包时自动检查表头
● 传送时自动产生TCP/UDP checksum
● Timer单元有效支持TCP重送的实现

每个内核硬件加速安全算法*
可选配的内核安全引擎加速了共通的安全算法。(请参阅HRM的完整硬件加速算法列表)在下面的列表中,两个星号(**)表示该安全算法只存在特定的安全引擎中。OCTEON的硬件加速安全算法包括:
● 强大的乘法累加单元可快速处理RSA和Diffie-Hellman运算所需要的模指数运算
● Security hash算法:
MD5, SHA-1, SHA-224, SHA-256,SHA-384, and SHA-512, AES XCBC, HMAC
● Symmetric cryptographic算法:
- 3DES and DES in ECB and CBC modes
- AES in CBC, ECB, CTR, LRW, ICM, XTS,GCM, and CCM modes
- RC4
- KASUMI** (OCTEON Plus, OCTEON II)
- SNOW 3G** (OCTEON II)
- SMS4** (OCTEON II)
● Asymmetric key operations:
- RSA, DSA, DH
● TKIP Operations: TKIP
● Galois field multiplication (可同时用于像SNOW3G的安全性以及RAID计算)

每个内核CRC引擎
每个内核的CRC引擎加速产生了CRC:
● 硬件CRC计算(最多到32位):例如加速AAL2协议处理的CRC10以及加速AAL5协议处理的CRC32
● CRC硬件同时也可以加速ROHC(Robust Header Compression)协议处理以及iSCSI checksum的计算和验证

FIPS认证支持
其它的特色使得高级FIPS (Federal Information Processing Standards)的认证更容易,包括:
● NIST-认证过的算法
● 安全密码硬件装置RNG(Random Number Generator)。此装置被设计为处理即将到来的FIPS标准
● 为了安全金钥而设的片上内存安全*,此内存无法通过I/O接口存取
● 特别设置的管脚以消除所有存储的金钥
● 受限制的PCI主机接入

存储应用加速
存储应用的加速包括:
● RAID引擎*:RAID5及RAID6的RAID/XOR加速
● 每个内核专属的安全引擎*
● Galois field乘法(包含在每个内核的安全加速)同样可用于RAID计算
● De-duplication加速

其它架构上的特色包括了下列清单:
● MIPS64发布2整数ISA
● 额外的Cavium Networks特有专属指令集加强了MIPS内核以创造cnMIPS内核。这些特有的指令大部分都是由C/C++所自动产生的
● Dual-issue ALU与额外的安全加速协处理器单元。结合了两个指令与额外的安全单元,在一个周期内,两个以上的运算是有可能同时被执行的
● 阶梯式高速缓存包括:
- L2快取与EEC保护,范围从256KB至2MB(OCTEON II:最多可达4MB),由内核与I/O子系统共享
- L1指令快取(Icache)与奇偶保护,每内核32KB(OCTEON II:最多可达37KB)
- L1数据快取(Dcache)与奇偶保护,每内核8KB至16KB(OCTEON II:最多可达32KB)
● 32-entry至64-entry的TLB(OCTEON II:最多可有128-entry)支持:
- 可变的页大小从4KB至256MB
- 读取和执行抑制了每页选择(用于防止溢位攻击和恶意代码)
● 内存的选项包括:
- DDR2从DDR2-400至DDR2-800(OCTEON与OCTEON Plus)
- DDR3最高可达DDR3-1600(OCTEON II)
● 每个内核的写入缓冲器与aggressive写入相结合,限制内存的写入次数以减少不必要的总线传输
● 业界标准的I/O接口:XAUI*, SPI-4.2*, PCIe*, PCI/PCI-X*, SGMII*,RGMII*, GMII*, MII*, (OCTEON II:serial RapidIO* (sRIO), and Interlaken*)
● 支持NOR及NAND*内存
● 从NOR内存启动(CN52XX支持从NAND启动)
● Misc I/O包括:UARTs, USB 2.0* (包含PHY),TDM/PCM*, TWSI, SMI/MDIO, MII*, Boot Bus,GPIOs, LEDs
● PCIE/PCI/PCI-X的DMA引擎*用在DMA与PCI主机内存存取或是从内存直接至内存
● 样式内存控制器*:用于连接样式内存至内核以及字符串样式比对引擎

图1:以理想化的方式将OCTEON芯片上所有的硬件单元全部显示,此图也同时展示出只在特定型号才有的硬件单元。OCTEON II处理器的功能将不显示在下图。但OCTEON II处理器将包含许多下图所展示的功能并将有增强和全新的功能。

图1 OCTEON和OCTEON Plus处理器概览

附注: 档案中OCTEON在特定型号下才有的硬件标有星号(*)

发布了56 篇原创文章 · 获赞 37 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/weixin_42096901/article/details/103181659
今日推荐