July 26, 2023
TEMU 4.0.3 is a critical bug fix, addressing the following:
- A race condition was identified in the parallel scheduler, that could result in a deadlock during initialization. While unlikely to happen in interactive use of TEMU, it was possible to trigger it when running TEMU in batch mode on very heavily loaded hosts.
TEMU 4.0.2 is a bug fix release, addressing the following:
- SPWROUTER AMBA port resets not functioning correctly
- GRCAN incorrect mapping of sync-registers
- GRIOMMU register writes should not overwrite read-only bits
TEMU 4.0.1 is a bug fix release, addressing the following:
- GDB server not translating addresses using the MMU
- GDB server using deprecated memory interface
- GDB server issuing hwbreak as stop reason to GDB, triggering a bug in GDB
Terma is proud to announce that TEMU 4, a new major version of TEMU has been released.
This version introduces two major new features:
Parallelisation of TEMU
TEMU now has a parallel processor scheduler, enabling the parallel emulation of multi-core processors. The scheduler enables the user to configure a number of threads (based on available system resources), and assign processor cores to the individual threads. We have observed close to optimal speedup in several cases using this scheduler. Note that the legacy single-threaded machine model scheduler is still available and can be used if exact determinism is needed.
User Configurable Speed Factor
TEMU now enables the user to configure an average Cycles per Instruction (CPI) or Instructions per Cycle (IPC) factor. This enables us to statically adjust the throughput of instructions per simulated second without adjusting physical parameters such as the clock frequency which is used by timers.
The feature enables a user to adjust the speed of the simulation, which can be an advantage when real-time performance is needed.