Capabilities
This page list the capabilites available within the UNISIM repository. To have details on the definition of Capabilities, Services, Clients and Interfaces please refer to the Introduction page.
System Capabilities
User-level simulators do not simulate the whole operating system. To perform some ISA instructions like the system calls, it requires some additional System Capabilities mimicking the system behavior, such as the ability to handle system calls on the local host, ot the ability to handle pthreads in the simulated program.
All this capabilities can be found in the OS Support section.
Loader Capabilities
The first thing a simulator should do is to load the binary it will simulate to the main memory of the simulator. The Loader Capability allows to either load an operating system kernel for a full system simulator, or an elf binary for user-level simulators.
A loader can perform some extra functionality beyond loading the program into the main memory. It can for instance provide an access to the symbol table if the binary was compiling with some debugging functionalities.
- The ELF32/ELF64 Loader : Loader of ELF binaries for ARM and PowerPC.
Debugger Capabilities
The Debugger Capability does not directly target the debugging of the simulator, but the debugging of the simulated program. This allows to plug a real debugger to the simulated binary, to run it step by step for example. Apart from a standalone inline debugger, we provide the following debbugers:
- The GDB server Capability allowing to plug the simulators to a GDB server to use regular gdb commands.
Statistics & Logging Capabilities
The purpose of simulators is not only to compute timing information, but also to gather information about the behavior of the different hardware mechanism during the simulation. UNISIM propose several different capabilities targeting this particular purpose:
- The Statistic Capability : Provide an access to the internal counters of the modules. For instance the cache module will provide the information about the number of hits and misses that occurred.
- The Statistic File Capability : Provide a way to save and reload statistics to/from a file.
- The Logger Capability : Provide a way to dump information more complex than a counters, such as the information required by a GUI.
Power Capability
A Power Estimator Capability has been integrated in the UNISIM environment to help researchers estimate the energy consumption on their design. It is for now restricted to memory structures, but is planned to be extended to various different structures.
- The Power Estimator Capability : Helps model the energy dissipated by Caches and like memory structures present in the simulator
Area Estimator Tool
To answer the needs of the architects who have constraint of packing a certain amount of functionality on a limited surface area of the chip, Area Capability has been added to the UNISIM environment. This helps the designers know the areas to be occupied by the different components of the processor at the design stage.
- The Area Estimator Tool : Allows to compute the space required for memory like structures.
Access Time Estimator Tool
At cycle-level, the timing is provided by the simulator itself. However nothing prevent a designer to design an unreallistic cache at very high frequency, with very low access times. The following tools allow to compute reallistic access time for your caches:
- The Access Time Estimator Tool : Compute reallisitic access time for Cache like structures.