Je viens de l'informatique et je souhaite étudier le calcul de processus pour une utilisation dans la conception de circuits asynchrones.
Je regarde donc la pratique actuelle sur les circuits asynchrones. Il existe de nombreux articles qui disent que l' impossibilité d'augmenter la vitesse d'horloge conduit à une architecture CPU multicœur . Cependant, aucun ne dit vraiment comment la coordination asynchrone entre les cœurs est réalisée.
Je veux que vous confirmiez / corrigez mes hypothèses suivantes sur la façon dont le processeur multicœur actuel gère la coordination asynchrone:
- Chaque cœur a des signaux d'horloge distincts, qui n'ont pas besoin d'être en phase les uns avec les autres. Sinon, le problème de distribution du signal d'horloge ne serait pas vraiment résolu, n'est-ce pas?
- Les cœurs se coordonnent uniquement au niveau de la programmation. C'est-à-dire, faire un test et définir sur une certaine mémoire (RAM ou registre). Et pas quelque chose de bas niveau comme un protocole de poignée de main utilisant un circuit de rendez-vous .
integrated-circuit
cpu
Apiwat Chantawibul
la source
la source
Réponses:
Vous mélangez deux idées indépendantes (orthogonales) dans la théorie des circuits numériques: les circuits asynchrones et les processeurs multicœurs.
Circuits asynchrones: circuits qui ont plus d'une horloge, et les horloges sont asynchrones (c'est-à-dire ont une relation de phase non constante et imprévisible).
Certains circuits peuvent utiliser deux horloges (par exemple), mais l'un n'est qu'une division par 2 de l'autre. Ces circuits ne sont pas asynchrones car il existe une relation de phase connue entre les deux horloges, bien que les fréquences des horloges soient différentes.
Vous pouvez avoir un processeur monocœur ayant peu d'horloges asynchrones et un processeur multicœur avec tous ses cœurs fonctionnant sur la même horloge (ce dernier n'est qu'un processeur imaginaire - tous les vrais processeurs multicœur ont de nombreuses horloges qui se composent plusieurs mutuellement) horloges asynchrones).
Les circuits asynchrones sont un sujet majeur de la conception numérique. L'explication ci-dessus est basique.
Processeurs multicœurs: peu de microprocesseurs (cœurs) connectés en parallèle qui utilisent du matériel et des logiciels sophistiqués pour atteindre des performances élevées.
La pratique habituelle est de rendre les cœurs aussi indépendants que possible en termes d'horloges / puissance / exécution / etc. Cela permet un ajustement dynamique (au moment de l'exécution) de l'activité du processeur (c'est-à-dire la puissance consommée) aux besoins réels du système.
Mon impression est que ce que vous cherchez est une explication sur les processeurs multicœurs , pas sur les circuits asynchrones.
Ce sujet est beaucoup, beaucoup plus vaste que tout ce que l'on peut mettre dans la réponse.
Les réponses à vos questions, cependant:
J'espère que cela t'aides.
la source