Transport triggered architecture
Les termes transport triggered architecture désignent en anglais un type d'architecture de processeur où la seule instruction disponible permet de déplacer une valeur d'un registre à un autre.
Principe
Au lieu de constituer une instruction à part entière, toutes les opérations se font en transférant des valeurs dans des registres spécifiques : certains contiendront les opérandes, d'autres fourniront les résultats.
Pour une instruction d'addition, par exemple, on commencerait par déplacer les opérandes dans les registres correspondants, par exemple AddI1 et AddI2. Après un délai suffisant, le résultat est disponible dans le registre AddO, et peut être réutilisé.
Comparaison avec les autres architectures
Comme l'architecture RISC, l'architecture TTA tente de réduire la complexité du jeu d'instruction et de déléguer les optimisations au compilateur. Elle va néanmoins beaucoup plus loin : le compilateur doit généralement gérer jusqu'aux délais des différents calculs.
Elle présente aussi des similitudes avec les architectures VLIW, car les processeurs conçus ainsi possèdent souvent plusieurs unités de calcul. Le parallélisme entre instructions y est aussi entièrement déterminé par le compilateur. En revanche, le banc de registres d'une architecture TTA nécessite typiquement moins de ports de lecture et d'écriture[1].
Implémentations
Ce type d'architecture, bien que peu employé, a néanmoins été utilisé tant à des fins de recherches que pour des processeurs commercialisés.
Notes et références
- (en) Jan Hoogerbrugge et Henk Corporaal, Register File Port Requirements of Transport Triggered Architectures (lire en ligne)
Bibliographie
- Johan Janssen, Compiler Strategies for Transport Triggered Architectures, (lire en ligne)