ForwardCom / manual

Reference manual for ForwardCom instruction set and software standards
Other
160 stars 8 forks source link

Roadmap ... #13

Closed gschadow closed 1 year ago

gschadow commented 5 years ago

Hi, first, I feel compelled to congratulate you about the breath and depth of your prolific work of which I came to see a glimpse today. People who publish in anthropology, evolutionary biology, software and hardware are rare in this world. I am amazed.

Secondly I am looking at your ForwardCom project and this idea of designing a new CPU from scratch, one that combines the best we know today and cuts the baggage of 50 years of history.

I found you via a different, similar project, called MRISC32 by a certain Marcus Geelnard. Here is a link: MRISC32 A Vector-First CPU Design, a Homepage and a GitHub project.

I would like to know how you see your work compare with this. And now I am going to ask you the same list of questions that I asked Marcus Geelnard:

  1. Let's say you are done (and your seem to be pretty close to done) what then?
  2. What might be the next steps from the CPU to an actual instance of a computer that people could use?
  3. Is this ever going to get anywhere, and what would it take to get there?
  4. Is there ever a chance to actually compete with the architectures that the market provides today on performance and price? And what might it take? Angel VC Investment? Open Source Community support?
  5. I see you have been on this project since end of 2017 and you are still committing, albeit less. Would you run out of steam?
  6. How do you see yourself comparing with the MRISC32 project? And how do you see that project going?
  7. What is the role of custom hardware in an age where most hardware is being virtualized in "the cloud"? (I used to rent a cage in a data center, but 4 years ago I dissolved all of this and now do everything on AWS. There was an interesting cloud computing provider ScaleWay, who used their own custom hardware, but they had severe limitations that I don't think anyone can run production on them, still, it's an example for the role of custom hardware today.)
  8. How might your project revolutionize the world? Or will it only ever be a thing of a 1-off hobbyist?
  9. I see you already ported GNU binutils, that's cool. What would be the operating system? Linux? NetBSD? (NetBSD has good track record of support of diverse hardware old and new) Minix? Or maybe no UNIX at all?
  10. Maybe its use is a single user computer like the LISP Machine? (The point being: with cheap hardware, why must everything be thought about as a multi-user system? In the end, what any one operation cares about is run their one WebAPP, their one database, the multi-user multi-processing environment seems like legacy, unnecessary if you can throw hardware at it! Definitely worth considering not running generic context switches in the middle of your parallel vector pipeline operation.)
  11. Might something be gained by setting up a foundation and attract tax exempt money? (I could help with that and even spend something. It's probably too early.)
AgnerF commented 5 years ago

Thank you for drawing my attention to MRISC32.

The ForwardCom instruction set has many features that makes it more efficient than other instruction sets. See https://forwardcom.info/ for the details.

The next step will be an FPGA implementation. I don't have the time for this right now because I am busy with other projects. Maybe I can find some students who will make this as a project.

Next, people might start to use ForwardCom for university projects and build a community around it, in the same way as they are doing with https://riscv.org/. RISCV is for small low-end projects, ForwardCom is for larger scalable projects and vector processor projects.

The intuitive high-level assembly language will make projects easier. Next, we need to make a Clang compiler back end.

I imagine that the first applications for ForwardCom will be in FPGA soft cores. It is quite expensive to develop an ASIC chip.

You are asking how ForwardCom might revolutionize the world? Well, if for some reason x86 is collapsing under its own weight, if people need a non-proprietary instruction set for legal reasons, if people need an efficient scalable instruction set for large vector processors, or if people need a new instruction set for any other reason, ForwardCom is ready to be applied.

If people need a non-proprietary instruction set, they probably also need an non-proprietary operating system, for example Linux. The OS may need modifications if you want to take advantage of the new efficient memory management system.

The ForwardCom project doesn't need money in the current situation, it needs people!

extreemecoder commented 5 years ago

I had also come across your ISA a while back when researching ISA design. Your project has helped me learn so much already. Currently I am studying for a degree in computer science and will be starting my focus courses soon and I would love to create a working version of your ISA on my FPGA. Are you ok if I try and take on creating a working version of your ISA? It would be great if I could contribute and help further the development of your ISA. Maybe even one day seeing this as a common option amongst other processors and their ISAs.

AgnerF commented 5 years ago

Yes, you are very welcome to make an FPGA softcore. You may look at my emulator to get inspiration on how to decode the instructions. You may split the execution unit into lanes of 64 or 128 bits each so that you can expand it just by adding more identical lanes.

https://opencores.org/ is a good place to look for resources and help

AgnerF commented 4 years ago

I am starting to make a softcore now. Any help will be appreciated.