Réponse 1:

RISC est généralement un «magasin de charge» vers / depuis les registres. Généralement, trois registres sont utilisés, tels que ADD R1 = R2 + R3, le chargement et le stockage peuvent ou non être une exception avec seulement deux registres utilisés dans une instruction.

Le CISC permet généralement le calcul avec des valeurs à partir d'adresses mémoire, sans avoir besoin de les introduire d'abord dans les registres. Il pourrait également avoir des modes d'adressage plus (complexes), permettant à un ou plusieurs registres de générer des adresses.

Le CISC est généralement à deux opérandes, avec par exemple ADD ayant le même registre (ou adresse mémoire) utilisé pour la destination, mais également le même pour l'une des sources.

Auparavant, c'était un gros problème, et RISC câblé et CISC utilisant un microcode.

Désormais, microarchiteture pour CISC, au moins x86 (sinon tous les CISC utilisés, ce qui signifie que les mainframes IBM sont les seuls autres CISC survivants; les microcontrôleurs peuvent être une exception) décompose les instructions en microops (opérations de type micro / RISC) qui peuvent planifier la sortie de -Ordre contrairement au microcode d'origine.

RISC peut même le faire, par exemple un ARM plus récent (pas au début), de sorte que les différences sont moindres qu'auparavant.

ARM d'origine n'avait aucune instruction de division entière car elle était trop complexe, encore moins pour la virgule flottante. Maintenant, la [complexité] réduite pour R dans RISC s'applique moins car la virgule flottante est intrinsèquement complexe et tous les principaux processeurs RISC prennent en charge même jusqu'à la racine carrée et les instructions de trigonométrie.


Réponse 2:

CISC est optimisé pour faire autant de travail que possible à partir d'une taille d'instruction donnée. Cela est dû au fait que les processeurs n'avaient pas de cache à l'époque, et la lecture des instructions de la mémoire prendrait plusieurs cycles, donc une instruction complexe avec de nombreux changements d'état n'était pas un problème tant qu'elle était compacte.

RISC est optimisé pour les CPU qui * ont * un cache d'instructions, et cela change le goulot d'étranglement: les caches peuvent facilement vous fournir 64 et 128 bits de données à chaque cycle - tant qu'il est aligné. Du coup, vous pouvez exécuter 1 ou même 2 instructions par cycle tant qu'il n'y a pas de dépendance, donc des instructions propres qui ne provoquent qu'un seul changement d'état deviennent beaucoup plus rapides.


Réponse 3:

CISC est optimisé pour faire autant de travail que possible à partir d'une taille d'instruction donnée. Cela est dû au fait que les processeurs n'avaient pas de cache à l'époque, et la lecture des instructions de la mémoire prendrait plusieurs cycles, donc une instruction complexe avec de nombreux changements d'état n'était pas un problème tant qu'elle était compacte.

RISC est optimisé pour les CPU qui * ont * un cache d'instructions, et cela change le goulot d'étranglement: les caches peuvent facilement vous fournir 64 et 128 bits de données à chaque cycle - tant qu'il est aligné. Du coup, vous pouvez exécuter 1 ou même 2 instructions par cycle tant qu'il n'y a pas de dépendance, donc des instructions propres qui ne provoquent qu'un seul changement d'état deviennent beaucoup plus rapides.