D'après ma compréhension, la plupart des processeurs grand public modernes sont basés sur une logique synchrone. Certaines applications à haute vitesse (traitement du signal, etc.) utilisent la logique ansync pour sa vitesse plus élevée.
Cependant, sur le marché actuel, la vitesse des produits de consommation est l'un des principaux arguments de vente (voir AMD vs Intel.) Le développement d'une lithographie plus compliquée est-il plus rapide que l'adoption d'une logique entièrement asynchrone? Ou la logique ansync est-elle trop compliquée / peu pratique pour les applications VLSI?
digital-logic
vlsi
synchronous
Corsair64
la source
la source
Réponses:
J'ai passé quelques années dans une startup à commercialiser la technologie de conception asynchrone, donc je connais les raisons:
async n'est pas intrinsèquement plus rapide. Le pire retard de trajet reste le même. C'est juste que parfois vous bénéficiez d'une exécution de chemin plus rapide.
async a également des frais généraux de détection de fin.
Outils de conception. C'est vraiment le plus gros: il n'y a pas vraiment de "flux" asynchrone complet d'outils disponibles avec la même qualité que la conception synchrone.
Formation. Vous devez effectivement recycler tous vos concepteurs sur le nouveau paradigme et les nouveaux outils.
Risque et conservativisme. Une grande partie de l'industrie consiste à «produire quelque chose de similaire à la dernière, mais un peu différent». Cela a de très grandes chances de fonctionner. Les entreprises sont beaucoup plus réticentes à construire quelque chose de totalement différent, car il a beaucoup plus de chances d'être une radiation totale coûtant des dizaines de millions de dollars.
la source
Il est très tentant de concevoir des circuits intégrés asynchrones. Les autres réponses couvrent déjà de nombreuses raisons de réfléchir à deux fois avant de le faire. En voici encore un:
Le développement des circuits intégrés n'est pas terminé avec la conception. La vérification et le test sont tout aussi importants. Non seulement les outils de conception sont très avancés pour les circuits synchrones, mais c'est la même chose avec les outils de simulation et les équipements de test.
Vérification
Il ne suffit pas que les circuits fonctionnent dans des conditions de laboratoire. Ils doivent être robustes en ce qui concerne la plage de tension de fonctionnement (V), la plage de température de fonctionnement (T) et la variation due au processus de fabrication (P). Pour la logique synchrone, cela peut être garanti à l'aide d'une analyse de synchronisation statique. Le circuit est décomposé sur tous les chemins de synchronisation, de la bascule à la bascule. Les temps de configuration et de maintien sont vérifiés pour chaque chemin de synchronisation unique et pour différentes combinaisons de P, T et V. Ces combinaisons PTV sont les soi-disant coins de simulation.
Une vérification similaire pourrait être effectuée pour les circuits asynchrones, mais elle est beaucoup plus difficile et beaucoup moins supportée par les outils de conception. Il limite également le concepteur aux constructions asynchrones qui peuvent être vérifiées. Il n'y a pas de vérification fiable pour les circuits asynchrones arbitraires.
Tester
Des difficultés similaires se posent lorsqu'il s'agit de tester le matériel. Le test de la logique synchrone est entièrement pris en charge par les normes et l'équipement de test. Le test des circuits asynchrones est non seulement plus compliqué, mais en raison du manque d'abstraction de synchronisation, il n'est même pas suffisant pour prouver que le circuit fonctionnera pour tous les coins du PTV. Le circuit pourrait échouer en raison des conditions de course à une combinaison de PTV, qui n'est pas couverte par les virages.
Sommaire
Les concepteurs de circuits intégrés n'ont pas abandonné le paradigme asynchrone, mais la logique asynchrone présente de lourds inconvénients lors de la vérification et de la validation. Dans un contexte industriel, la conception de circuits intégrés asynchrones doit être limitée à une construction dont il peut être prouvé qu'elle fonctionne sur tout l'espace des paramètres de variation du processus, ainsi que sur les plages de fonctionnement pour la température et la tension.
La conception dite «localement synchrone globalement asynchrone» est un moyen d'obtenir plus d'avantages et moins d'inconvénients des deux paradigmes de synchronisation.
la source
Les compteurs binaires asynchrones sont plus simples car ils n'utilisent qu'une cellule mémoire ou une bascule T par division par deux. D'où les anciens CD et 74HC4020 et 4040 offrent de nombreuses étapes binaires à moindre coût. Le délai de propagation dans chaque étape signifie qu'il ne peut pas être utilisé sans conditions de concurrence critique ou avec un décodage de porte des adresses binaires, sauf si le délai de propagation est inférieur à 1/2 cycle d'horloge d'entrée en utilisant le bord arrière pour verrouiller le résultat. La latence de sortie est ensuite multipliée par N étages.
Les compteurs binaires synchrones utilisent une cellule de mémoire supplémentaire à D FF pour retarder, mais minimisent le retard à 1 valeur pour n'importe quelle longueur de compteurs afin qu'il consomme plus de surface.
Par conséquent, tous les processeurs utilisent des horloges complémentaires pour optimiser la latence attendue en lecture / écriture d'adresse et de mémoire afin de maximiser le débit mais sans dépasser le temps de propagation, de configuration et de maintien.
La mémoire utilise désormais de nombreuses phases telles que DDR, 3DR, 4DR, 5DR en particulier pour la mémoire graphique, mais avec des horloges CPU allant beaucoup plus vite que le taux de RAM à cycle unique, de sorte que les retards d'adresse de lecture et d'écriture peuvent être chronométrés par un ou plusieurs ou la moitié des comptes super-horloge (par exemple 100 MHz xN) désignée par le nombre T fractionnaire ou entier pour chaque paramètre. Ces retards d'hélice augmentent avec la température. Pour CMOS et réduisez avec une tension Vram plus élevée qui, si elle est correctement refroidie, pourrait réduire la latence ou toute autre augmentation du Pd et de la température et l'aggraver (plus lentement). Ainsi, le refroidissement, V, f, T sont tous essentiels pour une latence optimale, qu'il soit utilisé pour les opérations Async ou Sync.
la source
Les premières conceptions logiques étaient asynchrones. Souvent, ils étaient également mélangés à des circuits analogiques. Cependant, avec le temps, les conceptions sont devenues plus compliquées, ce qui a exigé davantage d'ingénieurs pour travailler sur une seule conception. Les chronogrammes de l'async. la logique peut être lourde quand il y a beaucoup d'états. Ajoutez maintenant une équipe d'ingénieurs essayant d'interfacer différents blocs de logique ensemble, mais les synchronisations entre eux ne sont pas très bien alignées. Les dessins deviennent fragiles aux changements de manière imprévue.
Entrez la conception de la logique synchrone. Maintenant, tous les flux d'état sont alignés sur un signal d'horloge qui permet aux interfaces d'être très bien définies et plus robustes contre les changements de conception. Oui, il pourrait utiliser plus de portes, mais il est (généralement) stable par conception; par opposition à stable tant que personne n'y touche!
la source