This project aims to design and develop a new central processing unit (CPU) with a primary focus on correctness and object capabilities. The design will prioritize formal verification techniques, ensuring the CPU’s functional correctness while introducing innovative approaches to resource management using object capabilities for improved security, efficiency, and modularity.
As a part of our efforts, we have realized that different members of the team have different experience with various scientific and engineering fields and it would be very helpful to ensure that everyone has some basic understanding of all required topics. The workshops typically take place during the working group's regular meetings on Thursdays (see Events).
If there is enough interest, we are streaming the workshops online using https://meet.jit.si/ledum-wg-meetup. We are also trying to get our A/V streaming and editing skills to a level that allows for publishing the recordings of the workshops. Any help with such endeavor would be more than welcome.
The public laptop available in the social room, clearly labeled “Brmlab”, has some rudimentary setup for online streaming of Ledum Working Group Meetings. The online session can be setup as follows:
Warning: This part may change wildly at this stage.
- Compressed pointers: https://shipilev.net/jvm/anatomy-quarks/23-compressed-references/
- Read barriers pro concurent scavenger: https://blog.openj9.org/2019/03/25/concurrent-scavenge-garbage-collection-policy/ + HW support https://www.ibm.com/support/pages/pause-less-garbage-collection-java-ibm-z https://www.ibm.com/docs/en/zos/3.1.0?topic=ixg-ieagsf-guarded-storage-facility-services
- Chinual: https://tumbleweed.nu/r/lm-3/uv/chinual.html
- https://pqnelson.github.io/org-notes/comp-sci/lisp/machine/i/architecture.html
As a proof-of-concept an assembly language compiler and IDE support was implemented for a very simple Harvard architecture 8-bit CPU. A graphical emulator for the same simple CPU was created as well. The aim of these tooling efforts is to provide a unified framework for creating custom instruction sets including their assemblers and emulators.
~~META: status = active &relation firstimage = :project:ledum:320px-ledum_palustre_bluehend.jpg ~~