Abstract To understand modern computer architecture performances, everyone must know how a cache manipulate and hide the data stored in its. Develop a truly optimized software means to be able to keep the CPU at maximum speed and it means understand how a cache works and to keep its at maximum hit rate. The cache purpose is to hide a large and chiper but slow memory with a little but fast expensive memory. Nobody can't waste expensive cache silicon at any level (in or out CPU). |
Motivation Xmas is designed to learn and understand any kind of cache policy or replacement, all with an environment where the user can try the program and see the data flow accross memory hierarchy. With the Xmas statistics, cache and memories snapshot you can compare any kind of policy or replacement between them, moreover you can trace any cache changes. Many others Xmas features are designed to simply the use and to speed up your work. | ||||
Description of Xmas Xmas is a memory hierarchy access simulator, with focus on primary cache. It provide a complete integrated environment where you can work and understand the cache behaviour. The basic idea is to provide a simple and useful tool to understand the cache behaviour in a hierarchy memory. It has an executor that understand (partial, not floating point unit) MIPS R2000/3000 assembly code, thus you can execute an assembly input file and monitor the cache behaviour with some statistics. Inside Xmas is available a dinamic executor configuration when it is waiting command from you. This last release give you some usefull features like an enhanced editor, responsive incremental conditional breakpoint, program tracer, a calculator and much other tools to use Xmas quickly and easily. Xmas allow you to monitor every kind of memory dinamically and change the behaviour at run time to compare the cache features, moreover Xmas give you some debugging utility like editor, program tracing and much other. Thanks to Xmas run-time configuration you can make it more comfortable to your needs. For example you can convert any memory level to alfanumeric mode insted of numeric format. Xmas store its status accross user session, so when you re-run it, you will have the same environment with the same data of the last time. |
Cache & replacement Xmas implements a lot of policies, replacements and write modes. The following is a briefly description of the semantics: cache policies:
replacements:
write modes:
Test files & supported istructions
If you want to know quickly how Xmas works try these test files, load ones with the editor and write it into memory, so you can press the Run button!
However you can only see all the istructions supported in the last release of Xmas.
Hardware/Software requirements
Verify that your system has this requirements to avoid problems during compiling or use:
PS: the libraries are included in every Linux distribution. If you want to print in PostScript® mode you need to install LaTeX. To send an email you need the mailx package.
Compiling information
These steps are need to get the Xmas executable, after you have downloaded the package from any of the sites around the world:
NB: Some Windows® systems when download Xmas, automatically decompress the file but with a wrong file name! be alert!
If you want to compile a static binary version add the -static flag option when gcc link all the object files at the end of make process.
Installation and configuration
To install Xmas, simply copy the executable in your favourite binary directory. Many of the Xmas options can be changed at run time with the preferences window and saved for the next times.
The future releases will be more user friendly and many other run time options will be added to meet your needs.
|
![]() |
21:19:10 Tue 05-Dec-2000 http://punto.dov.it/~paolo/Xmas/docs/index.php3 |