Oui, l'AIS joue un rôle.
Imaginez cette condition hypothétique si l'ISA supporte une instruction (comme mov en x86) qui peut prendre un opérande après 3 niveaux d'indirection (rappelez-vous le mode d'adressage indirect du x86). Appelons ce système A.
Sur un autre système, vous pouvez avoir un maximum de deux niveaux d'indirection, que l'on appelle B.
Sur A et B, si nous donnons 4 comme nombre minimum de cadres, voyez ce qui se passe. B fonctionne bien mais pas A, voici la raison :
quand une instruction qui a 3 niveaux d'indirection dans son opérande est chargée dans le processeur pour être exécutée, rappelez-vous que nous n'avons que 4 trames pour ce processus, supposez ce scénario
Le cadre 1 sera pour l'instruction elle-même.
La trame 2 sera pour le 1er niveau d'indirection, l'opérande est dans une autre page.
La trame 3 sera pour le 2ème niveau d'indirection, peut-être n'était-elle pas dans la plage d'adresses de la trame précédemment allouée.
cadre 4, la même chose se produit avec le niveau suivant d'indirection.
Maintenant, rappelez-vous le pipeline, seulement après que la récupération de l'opérande soit faite, nous pouvons passer à l'étape d'exécution suivante, mais nous n'avons pas l'opérande final, nous avons seulement l'adresse de l'endroit où il se trouve dans le cadre 4, maintenant vous obtenez un défaut de page, donc vous enlevez un des cadres précédemment alloués pour traiter et redémarrer l'instruction qui a causé le défaut, mais encore une fois la même chose se produit. Le système B n'a pas ce problème.
Autant que je m'en souvienne, c'est de cette manière que l'ISA joue un rôle dans la détermination du nombre minimum de cadres pour un processus. Référez-vous à Galvin, je pense que le livre couvre ceci dans la section mémoire virtuelle.
Mais c'est en théorie, je ne sais pas comment le processus se déroule dans un système réel comme Linux.
Santé :)
Edit:- Comme indiqué dans le lien que vous avez indiqué, l'instruction peut traverser la limite de la page.