I-类 I6500-F
专为自动化时代安全关键系统设计的CPU IP
人工智能 (AI) 技术浪潮方兴未艾, 许多产品设计的目的是让芯片更加了解其环境,并由此模拟人类智慧般的增强控制和自动化功能的能力。 我们看到人工神经网络正在从消费产品到ADAS以及自动驾驶到工业应用等广泛的系统中出现。
随着AI技术的采用,所需的计算性能水平要高得多,并且专用加速器和基于CPU的通用计算能力的结合正在解决这一问题。 因此高性能多处理器系统是必要关键。
在汽车和工业市场等领域,功能安全性也至关重要。 这些系统必须从系统级别进行设计,并具有高度的冗余性。 第一步是确保产品通过设计实现正确的行为,并由严格的QMS流程进行管理。 对安全至关重要的产品还必须检测并响应操作过程中可能发生的错误。 系统的设计必须符合功能安全的行业标准,包括用于汽车的ISO 26262和用于工业应用的IEC 61508。
MIPS I6500-F是MIPS CPU产品线中的最新IP核,它基于经过验证和受人尊敬的MIPS64 架构 MIPS64架构,扩展了多样的可许可核的种类和可扩展性,从而据此开发的应用程序,可轻易满足了新兴自主产品的功能安全和性能要求 。
MIPS I6500-F作为ASIL B(D)的SEooC
MIPS I6500-F是依安全建构于内文外(SEooC)的设计精神开发的IP内核,该内核使应用范围广泛的客户可以将该IP集成到其系统中,并获得全面的文档包作为其系统级安全包的一部分。 这不仅显着缩短了系统开发流程并降低了风险,而且提高了效率,因为MIPS能够优化附加功能冗余,以满足所需的安全级别,同时将附加冗余产生的虚耗开销降至最低。
MIPS I6500-F SEooC软件包设计用于要求最高功能安全级别的系统:ASILD。要达到此级别,并非每个IP内核都需要达到ASILD。相反,系统被分解为IP,每个IP内核都达到一个级别 与ASIL B类似,但具有更长的故障检测时间和故障覆盖率。
MIPS I6500-F内置的附加功能
- 汇流排的奇偶保护
- 接口超时保护
- 支持逻辑BIST(LBIST)复位操作以及操作期间的定期操作
- 跨存储器的ECC
内外异构
在嵌入式应用程序中,计算工作量自然是多线程的,但是每个线程都需要特定的性能级别。 随着AI的出现,这些计算线程中的许多已经足够专业化,可以从专用计算单元或加速器中受益。 MIPS I6500-F提供良好的弹性能够紧密的支持,结合成一个复杂的系统
多线程
欲最大化CPU的性能取决于如何最小化对系统内存的延迟。 即使具有缓存层次结构,CPU在等待数据时仍会停顿,这是多线程通过在这段时间内运行其他线程来显着提高性能的地方。
多线程是使用其他内核的一种更节省区域的替代方法,并且为同时执行两个线程(而不是顺序执行)提供了典型的40%性能提升。
内核的异质组合
可以将具有高性能要求的线程作为一个线程在内核上运行,并且可以对该内核进行优化,以通过增加资源(例如1级缓存大小和FPU / SIMD功能)来最大化此单线程性能。 其他线程可以共享其他内核以提高效率,而性能较低的线程可以在针对低功耗进行了优化且具有独立控制的时钟频率和电压的内核上运行。
I6500-F允许单个群集内的核心配置的任意组合,以最佳地满足系统需求。
加速器集成
作为专用加速器,诸如AI的人工神经网络之类的专业计算任务可实现最高性能和最高效率。 这些加速器需要与通用CPU内核紧密协作,以实现CPU内核的灵活性与加速器的高效性能的结合。
为此,I6500-F通过以下方式提供了非常低的通信延迟:
- 专用的AXI辅助端口,用于直接与加速器控制寄存器通信
- 与加速器共享虚拟内存(SVM),以便可以将数据作为指针而不是通过复制进行传递
- 使用IOCU端口通过I6500-F群集2级缓存对内存进行低延迟一致性访问
- 系统级别的硬件高速缓存一致性,以允许来自加速器的高带宽流量直接访问系统总线,以维持CPU内核的性能,同时保留SVM的优势
- 多线程使线程可以专用于管理加速器的操作,从而以零上下文切换开销提供高效率
性能扩展
系统级别的硬件高速缓存一致性允许将异构I6500-F群集和加速器或其他专业计算IP的组合集成在一起,以实现每个系统所需的任何性能级别。
MIPS I-类 I6500-F 系列的主要特点
- 异构内部:在单个集群中,设计人员可以通过使用不同的线程组合,不同的缓存大小,不同的频率甚至不同的电压水平配置每个CPU来优化功耗。 可以通过IOCU端口进行连接,从而通过加速器实现优化的低延迟共享虚拟内存(SVM)操作。
- 异构外部:具有AMBA®ACE接口的最新MIPS Coherence Manager与普及的ACE一致性结构解决方案(如Arteris和Netspeed的解决方案)使设计人员可以- 混合使用处理集群的芯片配置-包括高带宽加速器端口-以提高系统效率。
- 同步多线程(SMT):基于跨几代MIPS CPU实现的超标量双发射设计,此行之有效的功能可在每个时钟周期执行来自多个线程的多条指令,从而提高利用率和CPU效率。
- 硬件虚拟化(VZ):I6500-F建立在MIPS I6400 内核首创的实时硬件虚拟化功能的基础上。设计人员可以通过安全可靠地将多个CPU内核与一个内核合并来节省成本,在需要多个内核的地方节省功率,并为每个应用程序动态确定地分配CPU带宽。
- **SMT + VZ: **I6500-F中SMT与VZ的结合为需要实时响应的应用提供了“零内文切换”。该功能以及暂存器的提供使I6500非常适合需要确定性代码执行的应用。
- 高可信度:跨其处理系列使用的MIPS多域安全技术可在可信环境中隔离应用程序,从而通过分离为安全性奠定了基础。
- 计算密集型,数据处理和网络应用程序的理想选择:I6500-F专为将高性能/高效数据传输到本地计算资源而设计,每个CPU具有数据暂存器,并具有在线程和内核之间快速路径消息/数据传递的功能。
- 简单方便的软件开发:I6500-F基于成熟的MIPS ISA,在多个供应商的开发生态系统中得到广泛支持。 采用I6500-F的客户可以享受广泛的编译器,调试器,操作系统,系统管理程序和应用程序软件的所有选择,这些编译器,调试器,操作系统,虚拟机管理程序和应用程序软件均针对MIPS ISA进行了优化。
- SEooC ASIL B(D)软件包:严格的QMS流程,通过优化的功能冗余解决系统错误,以满足系统级ASIL D功能安全标准。
- 其他功能安全包:IEC 61508支持其他功能安全市场领域,以供工业使用。
MIPS I-类 I6500 基本内核功能
- 64-bit MIPS64® 版本6指令集架构
- 经过验证,成功且得到良好支持的64位架构
- MIPS32的超集–直接运行MIPS32软件
- 带有同步多线程(SMT)的平衡的9阶段双发射管道
- 每个周期在单个线程或两个线程上同时执行超标量
- 每个核心最多4个线程
- 指令绑定–将连续的整数或浮点加载或存储合并到一个操作中,从而提高内存密集型数据搬移代码最多增加2倍
- 高性能双发射FPU / SIMD单元-可选
- 32 x 128位寄存器组,向SIMD单元加载或从SIMD单元存储128位
- 本机数据类型:8/16/32/64位整数和定点,16/32/64位浮点
- 符合IEEE-754 2008
- 全面的硬件虚拟化
- 提供内核和用户空间的root和guest虚拟机特权级别
- 支持多个来宾,每个来宾具有完整的虚拟CPU等同来宾OS无需修改即可运行
- 单独的TLB,root和guest虚拟机的COP0内文,提供完全隔离,快速内文切换,由root处理异常和中断
- 完整的SoC虚拟化支持(IOMMU和中断处理–请参阅多核功能)
- L1 快取
- 具有ECC,4路组关联的32KB或64KB的指令和数据
- 数据暂存器RAM(D-SPRAM)
- 具有ECC的最大1 MB,用于确定性的低延迟访问和/或高性能的数据处理以及将其移出标准高速缓存存储器层次结构(例如,直接将DMA直接移入内核的本地D-SPRAM)
- 可编程内存管理单元(MMU)
- 具有阵列的第一级和第二级TLB,支持可变和固定页面大小
MIPS I-类 I6500 系列多核和多集群功能
- 一致的多核和多集群平台,提供可扩展的实现,以支持同构和异构计算应用程序
- 内核和输入/输出一致性单元(IOCU)端口混合的灵活性可实现计算和吞吐量优化,从而为应用程序需求提供更好的异构性能
- 支持多达64个计算集群的多集群实施
- IP可重覆使用:可交付的单群集IP与一致性结构替代方案(与ACE兼容)结合使用,以实现多群集可扩展性,或完整的多集群子系统可交付产品
- 每个集群的多核系统旨在实现最大的集群级带宽
- 一致性管理器 (CMv3.5)
- 可扩展到一致的多集群实施
- 在单个群集中,最多支持以下多端口配置:
- 单个群集中的六个核心(加上最多两个硬件I/O一致性单元)IOCU端口,或
- 八个IOCU端口,用于“群集”硬件加速器(即使在同一群集中没有CPU内核)
- 新的基于目录法的一致性方案–改善了功耗,性能和可伸缩性
- 高带宽256位内部数据路径和外部系统接口
- 集成的L2缓存(L2 $):16路集关联,最大8MB内存
- 双管道可最大化L1 $未命中的带宽
- L2 $ RAM上的ECC选项可提供更高的数据可靠性
- 可配置的等待状态到RAM以实现最佳的L2 $设计
- L2 $硬件预取,可实现更高的吞吐量和性能
- 多达四个辅助AXI端口提供启用功能,例如:
- 非一致性内存事务的单独路径
- 共享对低延迟外设的访问
- 共享对低延迟和确定性SPRAM的访问(在集群内,甚至跨集群)
- 线程间通信 (ITC)
- 核心或群集中线程之间传递消息/数据的快速路径,更高效率的替代方案
- 全域中断控制器(GIC),每个集群256个中断
- 先进的电源管理
- 内核级DVFS(动态电压和频率缩放调整)–每个内核可在独立的时钟和电压级下运行
- 系统和SoC级别的虚拟化支持
- 每个集群最多31个来宾执行环境
- IOCU包括I / O MMU; GIC具有虚拟中断
- 在系统界面给定访客ID ,用于集成到多集群和虚拟化SoC设计中
- 先进的调试功能–调试和跟踪
- 调试单元(DBU)支持JTAG或APB界面,以实现Coresight™兼容性
- 程序和数据跟踪(PDtrace™),带有片上或片外跟踪缓冲