Arhitectură declanșată de transport

Arhitectura declanșată de transport ( TTA ) este o variantă a arhitecturii microprocesorului în care programele gestionează direct conexiunile interne (autobuze) între unitățile procesorului (de exemplu, ALU , fișierul de înregistrare ). Calculele sunt un efect secundar al transferului de date între blocuri: scrierea datelor în portul de intrare ( portul de declanșare ) al unui dispozitiv funcțional face ca acesta să înceapă procesarea de către acest dispozitiv. Datorită structurii modulare, arhitectura TTA este potrivită pentru proiectarea procesoarelor orientate către probleme ( ASIP ), în timp ce procesoarele TTA sunt mai versatile și mai ieftine decât acceleratoarele hardware pentru funcții fixe.

De obicei, un procesor TTA are mai multe magistrale de transport și multe unități funcționale (FU) conectate la aceste magistrale. Abundența FU vă permite să obțineți paralelism la nivel de instrucție . Concurența este determinată static de programator. În acest sens, și din cauza lungimii mari a instrucțiunii de mașină, arhitecturile TTA seamănă cu arhitecturile cu cuvinte de instrucțiuni foarte lungi (VLIW). Instrucțiunea pentru TTA constă din mai multe sloturi, câte un slot pentru fiecare autobuz. Fiecare slot determină modul în care datele vor fi transferate pe o anumită magistrală. Un astfel de control complet permite unele optimizări care sunt imposibile pentru arhitecturile clasice. De exemplu, este posibil să se transfere în mod explicit date între diferite FU-uri fără a stoca date intermediare într-un fișier de registru.



Procesoarele cu arhitecturi de clasă TTA erau disponibile comercial.

Comparație cu VLIW

Structura

Procesoarele cu arhitectură de clasă TTA constau din mai multe unități funcționale independente și fișiere de înregistrare, care sunt conectate prin autobuze și prize de transport.

Dispozitiv funcțional

Fiecare unitate funcțională efectuează una sau mai multe operații. Este posibil să se implementeze atât cele mai simple operații aritmetice (adunarea întregilor), cât și operații complexe arbitrare specifice aplicației țintă. Operanzii sunt transferați către FU prin porturile FU. Rezultatul operațiunii este transmis prin portul de ieșire al FU.

Fiecare FU poate implementa o conductă de calcul independentă .

Accesul la memorie și interacțiunea cu dispozitivele externe sunt gestionate de FU-uri speciale. FU pentru accesul la memorie este adesea denumit unitatea de încărcare/stocare .

Dispozitiv de control

Dispozitivul de control controlează procesul de execuție a programului. Are acces la memoria de instrucțiuni pentru a primi următoarele instrucțiuni ale mașinii. De asemenea, implementează comenzi de salt. De obicei, dispozitivul de control este canalizat și sunt alocate etape: încărcare, decodare, execuție a instrucțiunilor.

Înregistrați fișiere

Fișierele de înregistrare (RF) conțin matrice de registre de uz general care stochează variabilele programului. La fel ca FU-urile, RF-urile au porturi de intrare și ieșire. Numărul de porturi de intrare și de ieșire (numărul de RON citite simultan din matrice) poate fi diferit pentru diferite RF.

Autobuze și prize

Programare

Un exemplu de operație de adăugare pentru un procesor ipotetic TTA:

r1 -> ALU.operand1

r2 -> ALU.add.trigger

ALU.result -> r3

Întârzieri de operare

Unul dintre principiile principale ale TTA este simplificarea hardware-ului prin complicarea software-ului.

Implementări

Note

Vezi și

Link -uri