Citation:
HDL ? C'est quoi ?
Hardware description language. Un raccourci pour parler de Vérilog ou VHDL (<== HDL
)
Citation:
(bon je chercherait sur internet mais je suppose que tu parle de portes logiqies ici au vu de la suite du message)
Oui même si le HDL n'est pas toujours au niveau porte logique ou netlist, mais peut être d'un plus haut niveau avec des process et autres machine à états.
Citation:
Euh, donc en "dur" sur le 6809 le "MUL" est une suite d'addition ?
Sur le 6809 le MUL est implémenté comme une suite de shift + add réparti sur 8 étapes d'une machine à état. Quand tu regardes un produit c'est du shift + add du produit partiel, mais au lieu de le faire un shift + add par tick d'horloge, tu peux dérouler l'algorithme et tout faire en une étape idéalement.
Le shift en "matériel" c'est juste du déplacement de fils. Ca coute rien en porte logique ou en temps d'execution. Donc la multiplication matérielle n'est que fondamentalement la somme de tous les produits partiel. Chaque produit partiel est le AND entre l'un des nombres d'origine et l'un des bits de l'autre. Fondamentalement tous les produits partiels peuvent être calculés en parallèles (et en consommant pas mal de place sur le circuit électronique) en 1 cycle, et donc le vrai cout (en cycles) est la réalisation de N additions le plus rapidement possible. Et c'est là que se trouve le problème de fond de la multiplication.
Additionner pleins de nombres est une opération qui théoriquement peut se faire en un cycle. Mais d'une part ca prend plein de place sur le circuit, et surtout la propagation de toutes les retenues ralentie l'ensemble. Les solutions (hardware) réalisant les additions en parallèle en réduisant l'impact des retenues entre en scène à ce niveau là. Il y a pleins de solutions qui existent. L'une des plus utilisée est de répartir les additions le long du pipeline d'execution pour avoir un résultat de multiplication par coup d'horloge (chaque multiplication coute 15 cycles par exemple, mais si le pipeline a 15 étapes, on peut manger et sortir une nouvelle multiplication à chaque cycle), mais on peut faire encore mieux avec les
représentations binaires redondantes internes permettant (moralement) d'additionner sans retenues. En pratique il y a un mélange de plein de techniques et de compromis.