概述
平台模型(如本章中描述的模型)允许在不需要实际硬件的情况下开发软件。软件模型从程序员的角度提供处理器和设备的模型。模型的功能行为等效于实际硬件。为了实现快速的模拟执行速度,牺牲了绝对计时精度。这意味着您可以使用PV模型来确认软件功能,但您不能依赖周期计数的准确性、低级组件交互或其他特定于硬件的行为。ARMv8-A基础平台中的处理器不基于任何现有处理器设计,但仍符合ARMv8-A体系结构规范。ARMv8-A基础平台使用ARM快速建模技术,是ARM处理器建模解决方案套件的一部分。这些建模解决方案在通过ARM Fast模型交付的模型组合中可用。在基本平台FVP中建模的处理器可以配置为与Cortex-A53和Cortex-A57处理器类似。
1、快速模型
Fast Models是一个用于创建以高仿真速度执行的虚拟平台模型的环境。它们提供了对基于ARM的系统的访问,这些系统适合在硅芯片可用之前进行早期软件开发。与ARM Development Studio 5(DS-5)结合使用,Fast模型可以帮助开发人员在整个开发周期中调试、分析和优化其应用程序。 然后,这些虚拟平台可以方便地分发给软件开发人员进行早期软件开发,而无需昂贵的开发板。他们:
- 每秒执行多达2.5亿条ARM指令,与实际硬件相当
- 为应用程序和固件以及早期驱动程序开发量身定制性能和准确性
- 快速引导Linux和Android等操作系统
- 提供基于ARM处理器的子系统的SystemC事务级消息(TLM)2.0导出
- 具有功能精确的ARM指令集模型,根据ARM处理器设计进行充分验证
- 模拟高级ARM技术,如缓存、MMU、LPAE、虚拟化、TrustZone和VFP
- 外设型号,例如以太网、LCD、键盘和鼠标
生成的平台配有组件体系结构调试接口(CADI),可以独立运行,也可以从合适的调试器运行。Fast模型自动为独立平台和集成平台生成所需的接口。Fast型号可用于许多ARM处理器和系统控制器,以及经典的ARM处理器和CoreLink系统控制器。 快速模型仅从处理器上运行的程序的角度考虑准确性。它们不试图准确地建模总线事务,也不准确地建模指令计时。 模拟作为一个整体有一个非常精确的计时概念,但代码翻译(CT)处理器并不声称使用类似设备的计时来调度指令。快速模型试图对硬件进行精确建模,但在执行速度、准确性和其他标准之间存在折衷。在某些情况下,处理器型号可能与硬件不匹配。 快速模型具有:准确的模型说明、正确执行架构正确的代码。 快速模型不具有:验证硬件、为所有架构上不可预测的行为建模、模型周期计数、模型时间敏感行为、SMP指令调度模型、衡量软件性能、模拟总线。
快速模型旨在准确地反映系统程序员的观点。软件能够检测硬件和模型之间的差异,但这些差异通常取决于未精确指定的行为。例如,可以检测指令和总线事务的精确计时、推测性预取和缓存受害者选择的影响方面的差异。某些类别的行为被指定为不可预测的,并且这些情况可以通过软件检测到。依赖这种行为的程序,即使是无意中,也不能保证在任何设备或快速模型上可靠工作。利用此行为的程序可能在硬件和模型之间执行不同。 通常,处理器在模拟时间的同一点发出一组指令(一个量),然后等待一段时间后再执行下一个量。定时的安排使处理器平均每个时钟周期一条指令。其后果是:
- 在模型上运行的软件的感知性能与实际软件不同。特别是,内存访问和算术运算都需要大量的时间。
- 程序可能能够检测处理器的量化执行行为,例如通过轮询高分辨率计时器
Details of how to purchase ARM Fast Models can be found at http://www.arm.com/fastmodels.
2、ARMv8-A基础平台
ARMv8-A基础平台是ARMv8-A体系结构的测试平台。它是一个简单的平台模型,能够运行裸机半托管应用程序并启动完整的操作系统。它作为一个平台模型提供,具有来自命令行的模拟配置,并使用平台中的外围设备进行控制。
TD
|