Quirks UVM
(Universal Virtual Machine)
Goals
The goal of this project is to build some new virtual architecture. It
produces some questions: why somebody need new, for example. I've
started this project on the last week of the previous millennium
because I've not found any suitable VM for my goals at that
moment. Then I summarize (after some investigations) the features I'd
like to view in a new VM. I've found that some of those goals
are achieved in some existing projects, but the project which
achieves all of them doesn't exists.
[more]
Ideas
The main idea is construct a virtual machine from pieces called
"Arithmetic Modules". Each module is a virtual device with a set of
input/output ports. Each module can perform any operation - from very
simple to very complex. Then we construct more complex units by
connecting these modules. Add some general operations like `move' and
branches to it and you will get something like we have gotten.
Our new goal - add a mechanism of describing modules (by XML) and
adding new ones to existing architecture.
See this picture (
general view on our codegenerator).
Documentation
- The Quirks quickest guide (
online ,
DVI ).
It is a brief introduction to the UVM principles.
- The Quirks UVM architecture overview (
online ,
DVI ).
It is a more detailed review of the UVM architecture.
- The Quirks UVM command set (
online ,
DVI ).
It is a Quirks UVM commands reference.
- The Quirks UVM binary code file format (
online ,
DVI ).
It is a description of a binary module format which Quirks uses.
Benchmarks
News
- (11 Apr 2002)
First small Ada program was compiled to UVM with our quirks-ada
compiler.
- (7 Apr 2002) We have added
commands for debug printing. So, now we can write "Hello, World!" from
Quirks :).
- (31 Mar 2002) Bench mark
results for 1.1d3 (this version will be released soon) are available
here.
Our plans
Resources
We have two mailing lists:
- The
quirks-UVM-announce
mailing list contains information about releases and other valuable events
related to the project. You can subscribe by sending your request to
quirks-uvm-announce-request@lists.sourceforge.net
or through this
web page
.
- The
quirks-UVM-users
mailing list is intended for various discussions. You can contribute
this project by sending a letter (if you have some thinks about the
goals or design, fill free to post your message). You can subscribe by
sending your request to
quirks-uvm-users-request@lists.sourceforge.net
or through this
web page
.
We need your help!
If you would like to participate the development, send e-mail
to
(
Sergei Lodyagin, the Quirks UVM project leader).