Etchings on sand, an impression of a Silicon Artist...
Here are a few ideas for innovation that can leverage OpenSPARC code-base.
The idea is to create a FPGA synthesizable Java machine, which can natively execute Java Opcode. In other words drop the word "Virtual" from the Java Virtual Machine (JVM).
JOP and picoJava-II are two implementations.
Google's Dalvik Virtual Machine, is similar to Java but different in many ways. Android application layer runs on Dalvik and thus smart phone will be smarter (by being faster) if the application processor executes the opcode natively. Read more...
Google's Go Language (golang) being designed by stalwarts of language design like Ken Thomson and Dennis Ritchie. Its being designed for writing massively threaded servers. With 28 nm FPGA technology available, OpenSPARC source can be reconfigured to run Go natively. Stay Tuned...
By adopting an established virtual machine specification that has a proven execution engine, we can skip the first three stages of the development.
Refer to Chapter 7 (page 85) of OpenSPARC Internals book for development methodology. Also, see Chapter 11 "OpenSPARC Extension and Modification—Case Study", page 227 of the same book.
In 7.2 Models section, the first three stages :
Design Specification
Architectural Specification
Architectural Model
are already given, by the virtue that we are following a well established language and opcode specification.
We can directly proceed with the next stage that is defining the Micro-architectural Model.
The views expressed on this blog are my own and do not necessarily reflect the views of my employer.