Call for review: Arm’s Transactional Memory Extension (TME) We have recently uploaded a set of large patches that introduce (a)Partial support for hardware transactional memory (HTM) in gem5 (b)Architectural support in the Arm ISA for the Transactional Memory Extension (TME)
HTM support is implemented in the Ruby memory system—specifically by modifying the MESI_Three_Level protocol. Various additions are made to the APIs of CPU, ExecContext and ThreadContext. The existing fault/exception system is reused to handle transactional aborts and architectural checkpoint restorations. Both TimingSimpleCPU and O3CPU are augmented to support general HTM functionality. HTM support is a reworking of a previous pull request from Pradip Vallathol from his master’s thesis done at The University of Wisconsin-Madison. https://gem5.atlassian.net/browse/GEM5-587 Arm’s TME ISA adds four new instructions: - TSTART – Creates an architectural checkpoint and places the CPU and cache hierarchy into transactional state in which all subsequent operations are executed speculatively and are not visible to the rest of the system until committed atomically. - TCOMMIT – Makes all speculative (transactional) operations globally visible and removes the CPU and cache hierarchy from transactional state. - TCANCEL – Discards all speculative memory operations, rolls back the architectural state to a checkpoint taken at TSTART and removes the CPU and cache hierarchy from transactional state. - TTEST – Returns the current transactional depth (e.g. if TSTART is called inside a transaction), or a zero if not in transactional state. https://gem5.atlassian.net/browse/GEM5-588 Gerrit patchset: https://gem5-review.googlesource.com/c/public/gem5/+/30314/1 IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. _______________________________________________ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s