02 Oct, 2020 Blogs
By Brad Thomasson, Cognitive Software Engineer, IBM
After announcing the newest IBM POWER10 processor at the Hot Chips 2020 in August, our IBM Cognitive Systems Simulation team is now proud to present the IBM POWER10 Functional Simulator.
This publicly available simulation environment is designed to educate developers, facilitate porting of existing Linux applications to the POWER10 architecture, and enable new ones to be created.
This simulator provides enough POWER10 processor complex functionality to allow the entire software stack to execute. This includes loading, booting and running a little endian Linux environment.
Note that while the IBM POWER10 Functional Simulator serves as a full instruction set simulator for the POWER10 processor, it may not model all aspects of the IBM Power Systems POWER10 hardware and thus may not exactly reflect the behavior of the POWER10 hardware.
Features/support available in the simulator include:
- POWER10 hardware reference model
- Full instruction set simulator for Power ISA as implemented in POWER10
- Models complex SMP effects
- Architectural modeled areas:
- Functional behavior of all units (Load/Store, FXU, FPU, DFP, VMX, VSX, etc.)
- Exceptions and Interrupt handling
- Address translation, both Paravirtualized HPT and two level Radix Tree
- Memory and basic translation cache modeling (SLBs, TLBs, ERATs)
- Instruction Prefix Support
- VSX Matrix-Multiply Assist (MMA) Instructions for AI
- Reduced-Precision instructions to accelerate matrix multiplication
- Copy-Paste Facility
- New AIL/HAIL programmability feature for Linux/Hybrid cloud
- Linux and Hypervisor development and debug platform
- TCL command-line interface provides:
- Custom user initialization scripts
- Processor state control for debug: Step, Run, Cycle run-to, Stop, etc.
- Register and Memory R/W interaction
Our team is very open to feedback and questions. For all technical inquiries and suggestions, please reach out to our Cognitive Systems Simulation team through the Customer Connect Support Channel or consider joining the OpenPOWER Foundation Slack workspace.