I think it was over a year ago that I hacked together the network support for this, submitted a few links to HN, Slashdot, and Reddit, and then proceeded to neglect it more or less entirely. It's really cool to wake up one day and see not only that it all still works, but that it's thriving, with heaps of new features. This is some killer work, Sebastian!
Please do get in touch with me if the router goes down. I can't believe it's stayed up this whole time!
Edit:
Please do read the README.md on GitHub, but demo links are here:
OpenRISC 2000 may end up converging on the RISC-V ISA. A blog post and accompanying comment[1] shed a bit of light on David Patterson (creator of the original RISC instruction set[2]) and his team's decision to setup an entirely new project.
EDIT: Looks like the RISC-V FAQ references the same blog post since so many people ask the same question.[3]
I am still fascinated by the sheer number of RISC CPUs out there. But more amazing than this is their similarity. I think we should develop a new (abstract) RISC CPU which combines all in one architecture :-) .
Joking apart, as a developer of jor1k I am also interested in RISC-V and constantly follow their
progress. I am still not sure, if RISC-V is just OpenRISC 2.0 or a competitor.
The technical keypoints of criticism of the OpenRISC architecture are true, but show me an architecture, which is free of bad design decisions?
The problem is usually not to build a new instruction set. It is in fact the easiest part I would say.
The most time consuming part is to build the toolchain including, emulators, Linux, gcc, binutils, libc
and tons of architecture dependent libraries and programs (gdb, strace, ltrace, libffi, xpcom, ...)
. And here RISC-V begins again from scratch which is a little bit sad.
You forgot to tell, that the RISC-V team build their own Javascript based emulator at
I didn't even realize they had built their own JS emulator. I'm not sure why they didn't choose to adopt much of the OpenRISC work - was hoping that their FAQ would have had more details, but it only referenced the blog post. However, it seems they're rather committed and have funding, so hopefully they can carry on the open and free RISC torch, whether alongside or via convergence with OpenRISC.
They're all somewhat MIPS-like, and that's mostly due to their heritage and the relative ease of creating them. What's more, they all seem to have similar (not so great) performance characteristics. Currently the only "RISC" ISA that has good performance/efficiency characteristics is the ARM, and that one has some very un-MIPS-like predicated instructions, combined shifts, and more complex addressing modes (including post-inc/decrement.)
Meanwhile, what AMD and Intel have done with x86 both in terms of performance and efficiency has been quite amazing, so I think what would be interesting to see is an OpenCISC/x86 that draws some inspiration from them, or at least something more ambitious and imaginative than yet-another-MIPS-clone. Otherwise, seeing all these projects attempting to revive the RISC fad, which is long over, feels rather misguided.
Just some technical details: The cores are emulated in one worker thread because shared memory in threads is still not supported by the engines.
You can use "htop" to see the cores at work.
You can run a multithreaded fractal generator with "mandelpar" too.
Please do get in touch with me if the router goes down. I can't believe it's stayed up this whole time!
Edit: Please do read the README.md on GitHub, but demo links are here:
Demo (1 core): http://s-macke.github.com/jor1k/
Demo (2 cores): http://s-macke.github.io/jor1k/index.html?cpu=smp&n=2
And increase the "n" querystring argument for number of cores up to 16.