Abstract
In this paper, a tool for automatically generating test programs for MIPS64 memory management units is described. The solution is based on the MicroTESK framework being developed at the Institute for System Programming of the Russian Academy of Sciences. The tool consists of two parts: an architecture-independent test program generation core and MIPS64 memory subsystem specifications. Such separation is not a new principle in the area: it is applied in a number of industrial test program generators, including IBM’s Genesys-Pro. The main distinction is in how specifications are represented, what sort of information is extracted from them, and how that information is exploited. In the suggested approach, specifications comprise descriptions of the memory access instructions, loads and stores, and definition of the memory management mechanisms such as translation lookaside buffers, page tables, table lookup units, and caches. A dedicated problem-oriented language, called mmuSL, is used for the task. The tool analyzes the mmuSL specifications and extracts all possible instruction execution paths as well as all possible inter-path dependencies. The extracted information is used to systematically enumerate test programs for a given user-defined test template and allows exhaustively exercising co-execution of the template instructions, including corner cases. Test data for a particular program are generated by using symbolic execution and constraint solving techniques.
Highlights
A computer memory is known to be a complex hierarchy of data storage devices varying in volume, latency and price
There are several test program generation (TPG) tools based on formal specifications of memory subsystems
test data (TD) are transformed to the instruction set architectures (ISA)-specific preparation code
Summary
A computer memory is known to be a complex hierarchy of data storage devices varying in volume, latency and price. In addition to registers and main memory, Kamkin A.S,, Kotsynyak A.M. Specification-Based Test Program Generation for MIPS64 Memory Management Units. It is widely accepted that test program generation (TPG) is an essential approach to microprocessor verification [3]. A TPG tool consists of two components: (1) an architecture-independent test generation core and (2) an architecture specification, or model. We would like to share our experience in creating a MicroTESK-based TPG for verifying MIPS64 MMUs [1], [2].
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Proceedings of the Institute for System Programming of the RAS
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.