架构探索一直是产品设计的圣杯。它有可能彻底改变产品工程。研究和用例评估表明,在架构探索期间,可以实现 80% 的系统优化和几乎 100% 的性能/功耗权衡。
不幸的是,架构探索未能起飞,除了在公司投入大量资源和时间的利基口袋。架构探索一直被高度误解,并且已经推出了声称架构探索的产品,但它们是现有产品(如指令集模拟器、软件时序分析和硬件验证)的包装器。使用一组类库突出显示语言不足以建立方法、轻松创建模型、根据基准进行验证以及性能系统优化。
架构探索的主要障碍是缺乏高端内核、互连、缓存和存储器的架构模型。有限的模型范围往往适用于架构探索不会增加重要价值的低端处理器,周期精确的模型每秒最多运行 1,000 条指令,需要很长时间来安装、学习和组装,并且在 IP 交付后发布。这些模型需要数周时间才能运行一个基准测试,并且对于比较验证非常有用。此外,它们不能跨核心、SoC、系统和软件进行扩展。
架构模型对于 IP 提供商和 EDA 供应商来说往往优先级较低,因为他们必须提供 RTL 和软件工具,如编译器、调试器和验证 IP。此外,为大规模分发创建架构模型需要特殊的技能,因为该过程会针对每个核心类型重新开始。组装需要很长时间,需要多种资源,并且运行速度极慢。每个新的处理器内核都有如此多的变化 - 缓存的读/写宽度,多线程,ISA版本,可变管道阶段,指令调度到执行单元的调度逻辑和指令缓冲区。
具有随机性的传统架构模型,被组装大型系统和数据中心的公司使用。这些模型将模拟不同类型的请求和任务的延迟和功耗。
另一个主要问题是验证过程。对于新处理器,用于验证模型准确性的基准数据有限。对于功耗、缓存命中未命中率和内存吞吐量,此问题更为严重。当然,FPGA 板可以通过使用具有更新的缓存、互连和内存设置的旧版本内核来减轻部分负载。测试新内核正确性的最佳方法是仔细检查每个可能的方案,包括并发执行,为缓存层次结构和 DMA 运行较旧的跟踪,并生成确保绝对覆盖的方案。
Mirabilis Design最近采取的一种方法是在具有图形开发环境的离散事件模拟器上提供混合处理器架构库。这类架构模型消除了早期方法的所有问题。这是一个常见的生成器,它使用电子表格来定义核心配置。内部定序器通过消除不影响流程正确性、性能和功耗的逻辑来优化仿真性能,并提供灵活的选项列表来定义不同的流水线变体。这种方法的优点在于可以快速构建新的甚至不存在的内核。
这种方法具有多种好处,包括:
单个库模块可以将微控制器建模为高性能处理器。
处理器库具有研究单个集群、多核集群组、片上系统和完整系统(如 ECU、雷达或超级计算机)的仿真性能。
此方法提供了一个大型供应商核心库。
混合内核与随机内核不同,具有运行软件跟踪的能力。
扩展库具有所有连接和方法,使生成的内核与缓存、动态系统缓存、TileLink、AMBA AXI、NoC、DDR、LPDDR、GDDR、DMA 和网桥完全集成。
这些使用混合处理器的型号可用于选择时钟速度、缓冲区大小、宽度和容量,同时提供拓扑、路由、信号大小和设备连接。在电源方面,系统模型可以确定最佳电源状态集和最佳电源管理算法。在这个早期阶段分析功率可以深入了解配电、电池容量、充电系统和热要求。混合模型的准确性支持软件性能调整以及调度程序和仲裁程序的选择。
需要为性能生成所需的指标包括延迟、吞吐量、缓冲区占用、命中率、管道停止、MIPS 和周期/指令。对平均和即时功率、能量耗散、每个任务和设备的功率以及能量管理算法的影响进行真正的功率分析指标。高级分析将涵盖功能正确性、发生故障时的行为和服务质量。
要在混合处理器中定义的属性包括对执行单元和延迟周期的 ISA 分配、浮点和整数单元数、每个群集的核心数、顺序和无序的分布以及大/小内核的数量。缓存配置可以涵盖包含/排除、容量、关联性、库计数、暂存器的使用以及各种替换和写入策略。对于互连,吞吐量要求、缓冲区占用、最有效的仲裁算法以及传输突发/闪烁大小。在内存中,该模型可以测量带宽、延迟和跟踪、顺序和随机地址的打开/关闭页。
在 SoC 级别,可以使用 DMA 与 TCP 传输、张量操作探索和拆分锁定安排。必须测试系统是否跨集群的任务分区、内存控制器调度、路由器数量和设备连接。随着系统越来越接近客户部署,可以扩展相同的型号以集成多个处理器集成,最大限度地减少芯片到芯片的开销,将应用程序分发到处理器以及存储策略。
架构师可以从供应商列表中进行选择,也可以在几天内创建一个新供应商。一旦处理器内核实例化,用户可以连接其他半导体IP以形成完整的SoC。在短时间内,用户可以拥有一个多核多集群、基于 NoC 的 SoC,其中包含 GPU、TPU/AI 加速器、存储器、显示器控制器、以太网和其他接口。为了仿真此模型,IO由泊松分布和数据范围生成的数据流触发,处理器执行软件跟踪以执行仿真。多个 SoC 可以通过相干的 PCIe 或 CXL 组合,也可以与高速以太网网络或可靠的 OpenVPX 背板连接。
新的混合处理器对加载/存储行为具有指令感知功能,按顺序/无序执行,支持多指令获取和调度,支持每个管道阶段的不同属性,支持阶段之间的流控制、任务问题的队列、跳转管道阶段、管道和缓存之间的缓冲、可变读写宽度以及抢占支持。混合方法可以扩展到 20 个执行单元,类型分别为整数、浮点数、矢量、分支、加载和存储。同时,每个执行单元的流水线级数可以可变,最多可以定义 20 个。
混合处理器的所有这些新功能都支持使用缓存地址执行软件跟踪。为了准备在此处理器型号上执行的软件,全自动系统会生成用于负载存储的指令序列、指令高速缓存地址和数据高速缓存地址。架构模型与流量和软件执行的结合提供了一个有效的平台来测试内核、缓存、互连和内存的准确性。该测试涵盖了端到端设计的延迟和功耗,还测量了缓存命中率和内存吞吐量。这种新的基准测试方法向用户灌输了信心,并确保了高质量的权衡分析。
新的混合处理器可供使用 ARM 或 RISC-V 内核开发定制 SoC 的系统公司、集成多个非异构主站、加速器、GPU 和其他处理单元的半导体公司以及实施新应用程序和高级 AI/ML 工作负载的 AI 公司使用。在所有市场中,系统和半导体的竞争都非常激烈,新产品的时间表正在缩短。由于半导体短缺,公司必须更长时间地使用现有的SoC,确定新的应用,并支持现有设备上的更多功能。进行广泛的体系结构覆盖将提供实际性能和容量的详细视图,从而为将产品集成到其环境中的客户提供有价值的见解。
混合处理器
的一个重要附带好处是能够运行软件并获得目标配置上软件性能的准确视图。当今的 SoC 配置非常复杂,在 FPGA 上运行它会导致您错过一致性、数据分配、跨集群的工作负载分布以及数据路径和缓存之间的复杂通信。软件团队可及早了解在多核架构上并发运行一组软件任务时的时序和功耗。
同样,每个内核都提供缓存层次结构组织和与项目连接的变体,例如回写、宽度、块大小、预取条件、库、关联性、专用与系统等。然后是来自DDR,LPDDR,GDDR,HBM和商用内存控制器中不同类型的调度程序的存储器。最后,不同的互连选项:特定于供应商的片上网络、极小的 NoC、AMBA 变体和 Tilelink。为此,添加 DMA、网桥、中断、动态共享缓存单元、IO、以太网、CAN/CAN-FD 和 PCIe 以获得完整的要求。
混合处理器是电子设计行业的一项重大创新。它为架构师提供了更多功能,并使团队能够在开发之前可视化系统行为。由于分析速度很快,因此可以实现真正的架构覆盖,并且可以涵盖性能、功耗、服务质量、效率、可靠性和功能正确性。通过添加软件性能分析和调优,所有系统团队都可以在同一环境中参与。随着设计人员参与新应用、小型工艺技术和不断增长的电源要求,混合处理器是未来的趋势。
审核编辑:郭婷
-
微控制器
+关注
关注
48文章
7444浏览量
150830 -
处理器
+关注
关注
68文章
19096浏览量
228792 -
编译器
+关注
关注
1文章
1617浏览量
49014
发布评论请先 登录
相关推荐
评论