- Thomas DParticipantMarch 11, 2019 at 5:38 pmPost count: 21
Posted on GitHub here: https://github.com/TediusTimmy/MillULX
It’s actually a hybrid of a Mill and a RISC architecture. Instructions are built around being one word (32 bits) in size, but use a belt to manage results.
As the ReadMe says, it was built to show off four concepts:
1. The Belt
2. Split-Stream Encoding
3. Per-Result Metadata
4. Elided NOPs
I hope I haven’t taken the wind out of your sails for any patent that you have pending. It’s not my intention to steal your thunder: I just wanted to make a toy that people could play with that demonstrates what I feel are some important aspects of the proposed architecture.
There are some BAD tools for generating the input format, and a compiler for a trivial-to-compile language (that will not be named). Said compiler has been tested with some non-trivial programs, but Jon Ripley’s “Lost Kingdom” is too large for correct code generation.
PS. I know that the switch statement is not an efficient way to implement an interpreter, however the synchronization between three threads is probably the main driver of the vm’s performance. And the three thread implementation (which is a pain to debug and work with) was the only reason I saw this to the state it is in. (Much as the decomposition of while-loops into tail-call-recursive functions was the only reason I finished the included compiler.)
I don’t doubt that the thing is still full of STUPID bugs. Sometimes, I have trouble correctly determining “if a bit is set” correctly.
- Ivan GodardKeymasterApril 1, 2019 at 9:18 amPost count: 655
We have always said that the Mill is merely the first of the belt-machine architectural category; you and Witold are demonstrating that. I’m impressed.
If the legalities matter to you, we’d be happy to give you a free non-commercial license to our patent set.
You must be logged in to reply to this topic.