General informations
In this section you find general information about the Xmas project.
Xmas is distributed under GPL license. Read the GPL included in this software package for the license.
The primordial idea to build a cache engine was born in September 1995, but Xmas is born in November of 1995 as simple engine with a primitive text interface, to study more deeply how to work a cache. Now its has a GUI with a lot of dialogs!
Everyone want to learn quickly how to choose a cache, may try Xmas and compare the policies, replacements and write-mode implemented.
The cache requestes are generated by a virtual CPU that simulates a MIPS R2000/3000 core, but not the floating point unit. When it executes a program, you may see in real time how the data stream goes through the memory hierarchy.
The virtual CPU word is the same of your machine (32 bit for my Linux box) to obtain a simple architecture to implement memory, cache and vCPU, thus the range is up to 232. The most important vCPU features are:
The cache allow to hiding and storing memory request to masquerade a more fastest memory. With Xmas you may change a lot of cache proprieties like:
The Xmas central memory simulates the semantic of a real computer, where data and istructions are stored as number, in any case you may choose to see istructions in alfanumeric mode too. The main memory features are:
Xmas provide a complete integrated environment where you can write and test your programs.
The built-in editor features are:
To understand where your programs fails, Xmas help you with responsive incremental conditional breakpoint, you can stop the vCPU on a program counter value plus an optional condition on a generic vCPU register like
The first public release was announced in 1997. Long life to Xmas!
References & Bibliography
For cache policy, replacements and other:
To build Xmas software:
To buid Xmas WEB site:
![]() |
21:19:10 Tue 05-Dec-2000 http://punto.dov.it/~paolo/Xmas/info.php3 |