Le projet LS 6502 est une réalisation du très célèbre processeur MOS 6502 sur le simulateur logique Logisim. Ce processeur, étant célèbre, a marqué l’époque des ordinateurs et des consoles de jeux des années 80. Comme titre d’exemple, les ordinateurs Apple II, Commodore 64, et BBC Micro, étaient tous à base de processeurs 6502. Beaucoup de consoles de jeux très populaires aussi utilisaient ce processeur, comme Atari 2600, Nintendo Entertainment System (NES), et Atari Lynx.
L’implémentation était réalisée sur le simulateur logique Logisim (l’image du processeur en stand-alone en bas). Un simulateur normalement destiné à un usage académique pour des petits projets, et pas des processeurs complets. Malgré cela, le simulateur arrive normalement à faire fonctionner ce processeur, avec un nombre assez élevé de composantes élémentaires dépassant les 2500. L’implémentation était une construction from scratch, ça veut dire que les composantes préconstruites de la bibliothèque de Logisim étaient évitées au maximum, et que la plupart des parties étaient construites en bas niveau avec que des portes logiques et des flip-flops, sauf peut-être pour les mémoires comme la RAM et la ROM.
L’implémentation en interne, ou ce qu’on appelle la microarchitecture, ne suis pas exactement celle du processeur original MOS 6502. Le LS 6502 a été implémenté différemment dans un souci de simplicité et de réduction de porte logique. Malgré que la microarchitecture soit différente et plus réduite, elle arrive à simuler parfaitement le jeu d’instruction du processeur MOS 6502. Pour s’assurer que le processeur simulé arriver à suivre exactement le même comportement d’exécution des instructions d’un processeur 6502, le test Klaus Dormann 6502 Benchmark avait été exercé sur le processeur, ce qui a permis d’ailleurs de trouver plusieurs bugs et de pouvoir les corriger (l’image en bas représente le LS 6502 utilisé dans une architecture basique pour l’exercice du benchmark). En contrepartie, la réduction hardware du processeur à induit à ce que les spécifications temporelles ne soient plus respectées. Ainsi, le processeur LS 6502 ne prend pas le même temps d’exécution (en cycle d’horloge) qu’un processeur réel MOS 6502. Généralement le processeur simulé nécessite plus de temps.
Pour tester le processeur dans un environnement réel, une architecture simpliste semblable à celle des ordinateurs des années 80 a été reconstruite. Utilisant, comme c’était connu à l’époque. Le BASIC comme système d’exploitation et langage de programmation. Le Enhanced BASIC a été intégré à la ROM de l’architecture, ce qui permettait d’utiliser comme une machine semblable aux ordinateurs des années 80 sur le simulateur Logisim. Malgré que le temps de réponse fût très très lent (l’image en bas est une capture de cette architecture à base de BASIC).
Lien GitHub
- GitHub depot : https://github.com/kara-abdelaziz/LS6502
- Projet Hackaday : https://hackaday.io/project/198142-ls-6502