pas de l'exécution des instructions x86 à proprement parler (sinon ça serait corrigeable par microcode)
Hm les instructions x86 ne sont pas exécutées mais décodées vers des uop. Un problème au niveau du décodage ne serait pas forcement corrigible par microcode, mais ce qui n'est pas corrigible est en général mieux testé que le reste (il faut espérer...).
Toujours est-il que l'anticipation du problème pour le side-channel est en effet plus au niveau d'autres parties "câblées", personnellement j'ai un faible pour les BTB (mais je connais pas assez la microarch pour vraiment savoir si c'est une hypothèse raisonnable ou pas, c'est juste que je trouverais ça stylé)
Concernant la spéculation on est a peu près sûr qu'elle rentre en jeu dans le problème, et techniquement les instructions spéculées sont bien exécutées mais pas complètement retirées. L'idée c'est qu'il existe un changement d'état mesurable dépendant des données lues spéculativement dans la microarchitecture. Si vous avez du temps vous pouvez tester toutes les idées qui vous passent pas la tête, et AMA avec un peu de chance vous pouvez retrouver la technique avant la levée de l'embargo. Il est aussi possible qu'il faille une combinaison tordue mettant en œuvre plein d'interactions de pleins de features pour y arriver (ex: transactionnel, hyperthreading, page faults)
[^] # Re: autre lien
Posté par Guillaume Knispel . En réponse au journal Ça sent pas bon chez Intel ?. Évalué à 2. Dernière modification le 03 janvier 2018 à 15:24.
Hm les instructions x86 ne sont pas exécutées mais décodées vers des uop. Un problème au niveau du décodage ne serait pas forcement corrigible par microcode, mais ce qui n'est pas corrigible est en général mieux testé que le reste (il faut espérer...).
Toujours est-il que l'anticipation du problème pour le side-channel est en effet plus au niveau d'autres parties "câblées", personnellement j'ai un faible pour les BTB (mais je connais pas assez la microarch pour vraiment savoir si c'est une hypothèse raisonnable ou pas, c'est juste que je trouverais ça stylé)
Concernant la spéculation on est a peu près sûr qu'elle rentre en jeu dans le problème, et techniquement les instructions spéculées sont bien exécutées mais pas complètement retirées. L'idée c'est qu'il existe un changement d'état mesurable dépendant des données lues spéculativement dans la microarchitecture. Si vous avez du temps vous pouvez tester toutes les idées qui vous passent pas la tête, et AMA avec un peu de chance vous pouvez retrouver la technique avant la levée de l'embargo. Il est aussi possible qu'il faille une combinaison tordue mettant en œuvre plein d'interactions de pleins de features pour y arriver (ex: transactionnel, hyperthreading, page faults)