Open adud opened 6 years ago
En fait, je crois qu'on aurait très bien pu s'en sortir avec seulement 4 fils en plus de Dpm
et Dmp
dans la version initiale, et peut-être même dans une version pas trop poussée des accès mémoire. Mais c'est un peu charger la mémoire avec des circuits… À voir
Pas de pb à charger la mémoire avec des circuits. Par contre tout à coup cela me dérange si le processeur renvoie à la mémoire l'index qu'il vient de recevoir dans l'instruction.
Et ciel, on a déjà cela pour l'exécution d'un jump +75 par exemple. Le +75 passe dans un sens, puis dans l'autre, non? c'est couillon. Il ferait mieux de rester sur place.
Dans une machine de von neuman il passe sur le bus de données, puis est recopié sur le bus d'adresse. C'est pas plus économique mais moins couillon.
Bah.
J'ai envisagé cette possibilité, mais cela voudrait dire avoir un décodeur côté mémoire, donc que la mémoire comprend le code qu'elle envoie, et ce n'est pas vraiment son rôle. Je crois qu'on gagne en clarté à avoir une mémoire simple et pas surchargée. Donc oui, c'est couillon, mais je n'ai pas trouvé de solution satisfaisante. J'espère que ce coût sera contrebalancé par éventuellement la proposition de registres de saut de Maxime.
Si on veut un jour compiler le C, il nous faudra nécessairement un readße indexé pour avoir accès au 2è 3è… élément de la pile. On s'en sort actuellement avec 4 opérations et 2 registres (seulement 3 opérations et 0 registre si on considère l'ajout du
incctri
(incrément d'un compteur d'une constante)). L'implantation d'une telle opération dans la mémoire nécessiterait aussi une manière de faire une lecture sans incrément (si on lit le troisième élément de la pile, on n'a pas envie de perdre le premier). On peut impl·ém·anter ça en ajoutant un registre d'offset en mémoire, un autre pour sauvegarder un compteur et le remettre en état après usage, et communiquer toutes ces instructions à la mémoire via les combinaisons inutilisées sur les fils autres queDpm
etDmp
(pour l'instant, même avec l'écriture avec pré-décrément, on n'utilise jamaisRead
~Write
~Setcounter
etRead
Write
Setcounter
). Mais si on a ça, peut-être pouvons-nous enrichir les instructions d'accès mémoire (et peut-être devrons-nous renommer les filsRead
Write
etSetcounter
qui n'auront plus aucun sens)