Major change in direction for Pemu
Pemu is the broad name for all the projects that I'm working on that have to do with the Pemu computer. Pemu is also a computer, and the major problem I'm trying to combat is slowness. While 1 or 2 milliseconds is quick for executing 3 instructions 60,000 times and 81 MHz is pretty fast I want it to be even quicker. Currently in the source code every line of Pemu code is being fetched, decoded, and executed but there is a way to skip all of that and in the process speed up execution significantly.
Currently every line of Pemu code gets pretty much 1-1 translated to Rust code, and all the rest of the code is doing is figuring out how to translate it. So I thought, why not just save the results that never change to a Rust file and then use the Rust compiler to turn the Pemu file into an equivalent Executable, speed up execution tremendously. So that is the plan: turn Pemu from an interpreter to a compiler that compiles to Rust as an intermediate. This will likely take a long time, as I have to do this for the current 2 versions of Pemu (unstable and stable) and also I plan on keeping the interpreter available for those who don't want to download Rust. I plan on supporting both major versions until the final release, where I will stop supporting the interpreter. I'm not sure how fast this idea will turn out to be, but I expect at least a double in execution speed (~160 MHz).
Files
Get Pemu, a simulated computer
Pemu, a simulated computer
Pemu is a simulated CPU with an assembly language called Pasm and a easier language called Plow. Pemu is in pre-release.
Status | Released |
Category | Tool |
Author | Cottonballs |
More posts
- Major work on Pemu 2Feb 20, 2024
- Pemu 2 announcementJan 25, 2024
- In the full release of Pemu (coming soon) file I/O will be addedJan 20, 2024
- New features planned, and news about current updateJan 07, 2024
- New update Beta outJan 01, 2024
- Major Shift Proved Highly SuccessfulJan 01, 2024
- Speed increase from 200 kHz to 81 MHzDec 29, 2023
Leave a comment
Log in with itch.io to leave a comment.