ens-lyon-2017 / compass2018

c'est du sabotage/de l'exploitation
0 stars 1 forks source link

Réfléchir à l'implantation machine d'un readße indexé, et aux perspectives #13

Open adud opened 6 years ago

adud commented 6 years ago

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 que Dpm et Dmp (pour l'instant, même avec l'écriture avec pré-décrément, on n'utilise jamais Read ~Write~ Setcounter et Read 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 fils Read Write et Setcounter qui n'auront plus aucun sens)

adud commented 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

fdedinec commented 6 years ago

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.

adud commented 6 years ago

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.