• [^] # Re: Rien sur les spécificités du nouveau bébé 1er du top 500 ?

    Posté par . En réponse à la dépêche Le Top 500 des supercalculateurs de juin 2016. Évalué à 10.

    AES, utilise généralement un cœur spécialisé chiffrement [...]

    Non. Sur les processeurs Intel, les instructions AES-NI ne sont ni exécutées par un coprocesseur, ni par un core dedié. Elles sont exécutées comme n'importe qu'elle autre instruction. En particulier, elles utilisent les registres SIMD (1) (donc pas de registres spécifiques), elles sont décodées et pipelinées exactement comme toutes les autres instructions, et sont dispatchées sur les ports d'éxecution du processeur (2). En fait, tout laisse à penser qu'elles ont été implémentées dans l'ALU SIMD, comme n'importe quelle autre instruction SIMD.

    (1) Voir Intel Manual Volume 2A, Instruction Set Reference, page AESENC
    (2) Voir Agner Fog, Instruction Tables, page(s) AESENC.

    les instructions SIMD à n opérandes sont complètement dans la philosophie RISC, on les trouve depuis des années, la philosophie du RISC, consiste à avoir des instructions simple [...]

    Honnêtement, je vois pas trop ce que les instructions SIMD des processeurs Intel récents (genre AVX) ont de RISC (ou de simple). Elles sont probablement parmi les plus complexes à décoder: le schéma de codage (VEX) supporte entre 2 et 4 opérandes, des registres de 128 bit ou 256 bit (3). Au passage les opérandes peuvent parfois être en mémoire, parfois dans des registres. Une partie de ces instructions est microcodée, et certaines font le café...
    Et malgré le fait qu'elles soient complexes, ces instructions permettent souvent des gros gains de performance.

    (3) Voir Intel Manual Volume 2A, Instruction Set Reference, section 2.3 Intel Advanced Vector Extensions

    la philosophie RISC

    Le problème est que tu manipules un concept tellement flou "la philosophie RISC" qu'on arrive pas à discuter. Tu nous dit que le philosophie RISC, c'est: un core simple, des instructions simple, et du KISS. On a montré que que RISC != core simple. Aujourd'hui le décodage d'instruction CISC, ça consomme que dalle en silicium comparé aux caches, pipeline et autre. Après, "instruction simple", ça ne veut rien dire. C'est quoi une instruction simple ? c'est une instruction pas microcodée ? c'est une instruction qui ne fait qu'une seule opération ? La seule chose qu'on peut dire c'est que RISC, c'est Reduced Instruction Set Computing, dont ça suppose un jeu d'instruction réduit, donc peu d'instructions, donc que des instructions généralistes. La multiplication actuelle des instructions SIMD, des plus en plus spécifiques, c'est pas très RISC parce que ça augmente la taille du jeu d'instruction. Pareil, le concept de "KISS", y'a rien de plus flou.