And as I said, I measured this lag and find it not that bad.
I also said I could try zCPU instead of a simulated one.
You clearly misunderstood me.
Your E2 simulates a CPU, which means that it has to run commands to do what the CPU does. Example, it has to compare the input with opcodes, etc.
Now, if you make a CPU thats supposed to run an OS, in an E2, your asking for huge lag, and huge slowdown. Every opcode might consist of multiple Opcodes, because the E2 has to compare the opcodes to a set of predefined ones, it has to make variables, etc.
And as I said, I measured this lag and find it not that bad.
I also said I could try zCPU instead of a simulated one.
I still know, but one Machine word might be close to, heck, i dont know, 5 ops?
But good luck on this anyways, cant wait to see the result![]()
Last edited by Tasuit; 11-13-2009 at 10:49 AM.
Well yeah, I'm with them it would be much better done on the CPU. It wont lag because the E2 quota is designed to stop that however as it becomes more complicated it could present as excessively slow.
Having said that, there is NOTHING wrong with doing it in E2 as your re-creating a CPU environment for it to run in. If nothing else you will learn more than you ever thought you would in the process. Believe me I know. So go for ityou've got my support.
Depending how accurately you want to re-create the wire CPU environment it could be directly transferable as well. If you want to heavily recreate a authentic CPU though you would need to tweak a few things first.
Last edited by Riddler; 08-14-2010 at 05:05 PM.
I remember BP saying anything in CPU/GPU forum is allowed to be bumped.
No matter how many Z's you put after Plz, you still spell as well as a piece of cheese.
http://somone77.net
Yeah I looked at the dates. I also looked at the front page "NEWSFLASH: Thanks to BP and "Hello, I'm a task switcher" tutorial, the project is alive again! (23 June 2010)" Not to old. It's an interesting project with an interesting idea, bump never hurt anyone![]()
If you're interested if there is any progress, well, just a little. It's all put on hold at least until I can finish a compiler.
The bottleneck was the difficulty of figuring out if certain function works correctly or works at all. To somehow make it easier I've been using E2s as placeholders for some parts of the OS, interfaced with the CPU by memory gates working as "command caches" or request queues. Whenever the CPU needs some OS function it would write the function number and arguments into the queue, and then the E2 would execute the request. If the CPU cannot continue without getting the return value from the function in the E2, that means a pause for at least 2 ticks. It would be a massive slowdown if some function needs to be called often (like memory allocation) but at least I can use hints, prints and outputs to see what's really happening inside.
Hopefully, if the C->CPU compiler I'm writing works as intended plus the debug features, this should be a lot less painful.
Bookmarks