This project is an attempt to redesign, as a web application, all the features of the famous y86 pedagogical computer architecture teaching environment. It manages sequential and pipe-lined processors, both for 32 and 64 bit word sizes.
Context
The original y86 environment is a Tcl/Tk-based pedagogical tool created by Randal E. BRYANT et David R. O'HALLARON in the context of their course Computer Systems: A Programmer's Perspective.
Because of its simplicity and pedagogical efficiency, this tool has been widely adopted worldwide by the computer architecture teaching community. Yet, as its underlying technologies and design began to obsolete, several me-too's have been created using, notably, web technologies.
At Université de Bordeaux, we used for some time a web-based version of the tool for y86 programming and execution, but still relied on the initial Tcl/Tk version of the tool for HCL programming and processor design. For the sake of simplicity and in order to provide students with a consistent and integrated framework for processor design and machine code execution, we decided to launch a project to create a web-based version that would comprise the HCL part as well.
The specifications of the new tool have been provided in 2020 to a team of four students of the Projet de Programmation informatics Master 1 course at Université de Bordeaux. Several subsequent teams and interns contributed further to the development of the tool, which is now fully functional and used for teaching.
Minor issues may remain. Further contributions are always welcome!
Credits
First Master 1 student team (2020)
- Alexis BANDET
- Valentin GAISSET
- Romain GUISSET
- Florian SIMBA
Supervised by:
- Aurélien ESNARD
- François PELLEGRINI
- Francieli ZANON BOITO
Second Master 1 student team (2021)
- El Hadji Pathé FALL
- Corentin Abel MERCIER
- Benjamin MORO
- Nicolas MARIN PACHE
- Nathan PRECIGOUT
Supervised by:
- François PELLEGRINI
- Francieli ZANON BOITO
First Master 1 summer intern (2022)
- Mohamed Amine BEN AMARA
Supervised by:
- François PELLEGRINI
Third Master 1 student team (2023)
- Thomas CASTAGNOS
- Julien CHAVEROUX
- Pierre-Henri DUPOUY
- Jeremy PAQUIOT
Supervised by:
- François PELLEGRINI
Second Master 1 summer intern (2023)
- Thomas CASTAGNOS
Supervised by:
- François PELLEGRINI
Minor updates (2025)
- Charles GOEDEFROIT
- François PELLEGRINI
Sources of code and inspiration
-
js-y86, by Victor AGUILAR and Xuming ZENG
See it in action