Ero sivun ”Transport triggered architecture” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
p typokorjaus
Yoneh (keskustelu | muokkaukset)
kh
Rivi 1: Rivi 1:
''Transport Triggered Architecture''(TTA) on eräs tietokoneen [[prosessori]]n suunnittelufilosofia.
''Transport Triggered Architecture''(TTA) on eräs tietokoneen [[suoritin|suorittimen]] suunnittelufilosofia.


TTA menee vieläkin pidemmälle kuin [[VLIW]] vastuun siirtämisessä laitteistolta kääntäjälle; VLIW-käskykannalla ohjelmakoodi vain määrittelee, mitkä käskyt saa suorittaa rinnakkain, mutta ei ota kantaa siihen, miten prosessori ne sisäisesti suorittaa, TTA-prosessorilla prosessorin sisäiset väylät näkyvät käskykannassa, ja koko prosessoria ohjelmoidaan antamalla näille väylille käskyjä siirtää dataa.
TTA menee vieläkin pidemmälle kuin [[VLIW]] vastuun siirtämisessä laitteistolta kääntäjälle; VLIW-käskykannalla ohjelmakoodi vain määrittelee, mitkä käskyt saa suorittaa rinnakkain, mutta ei ota kantaa siihen, miten suoritin ne sisäisesti suorittaa, TTA-suorittimilla suorittimen sisäiset väylät näkyvät käskykannassa, ja koko suoritinta ohjelmoidaan antamalla näille väylille käskyjä siirtää dataa.


esim. kahden rekistereissä olevan luvun yhteenlasku joka RISC-prosessorilla olisi muotoa
esim. kahden rekistereissä olevan luvun yhteenlasku joka RISC-suorittimella olisi muotoa


add R0, R1 -> R2
add R0, R1 -> R2


koostuu TTA_prosessorilla kolmesta datansiirrosta.
koostuu TTA_suorittimella kolmesta datansiirrosta.


R0 -> adder.operand
R0 -> adder.operand
Rivi 17: Rivi 17:
joista ensimmäiset 2 voidaan suorittaa samalla kellojaksolla ja siten sijoittaa samaan käskysanaan, viimeinen myöhemmin sijoitettuna toiseen käskysanaan.
joista ensimmäiset 2 voidaan suorittaa samalla kellojaksolla ja siten sijoittaa samaan käskysanaan, viimeinen myöhemmin sijoitettuna toiseen käskysanaan.


TTA-prosessorissa yhdessä käskysanassa voi olla niin monta siirtoa kuin prosessorilla on väyliä.
TTA-suorittimessa yhdessä käskysanassa voi olla niin monta siirtoa kuin suorittimella on väyliä.


TTA-prosessorin suurimmat hyödyt saadaan siitä että paljastamalla prosessorin sisäiset väylät käskykannassa näiden väylien ja näiden väylien yhteyksien laskentayksiöihin määrää voidaan vähentää suuresti, ja siten saada prosessorista pienempi, vähävirtaisempi ja suurempaan kellotaajuuteen kykenevä kuin vastaava [[VLIW]]-prosessori. Toinen merkittävä hyöty on muokattavuus; TTA-prosessorista on helppo suunnitella erilaisia versioita joissa esim. laskentayksiköitä on lisäilty, ja käskykantaa on helppo laajentaa koska uusi käsky on vain uusi kohde jonne dataa voidaan siirtää.
TTA-suorittimen suurimmat hyödyt saadaan siitä että paljastamalla suorittimen sisäiset väylät käskykannassa näiden väylien ja näiden väylien yhteyksien laskentayksiöihin määrää voidaan vähentää suuresti, ja siten saada suorittimesta pienempi, vähävirtaisempi ja suurempaan kellotaajuuteen kykenevä kuin vastaava [[VLIW]]-suoritin. Toinen merkittävä hyöty on muokattavuus; TTA-suorittimesta on helppo suunnitella erilaisia versioita joissa esim. laskentayksiköitä on lisäilty, ja käskykantaa on helppo laajentaa koska uusi käsky on vain uusi kohde jonne dataa voidaan siirtää.


TTAn haittapuolia ovat prosessorin huono sopeutuminen dynaamisiin tilanteisiin;
TTAn haittapuolia ovat suorittimen huono sopeutuminen dynaamisiin tilanteisiin;
keskeytysten toteuttaminen TTAlla on hyvin hankalaa ja koska mitään käskyjen uudelleenjärjestelyjä itse prosessorilla ei voida tehdä, välimuistihuti pysäyttää koko prosessorin. Lisäksi TTAn konekielikoodi vie verrattaen paljon tilaa, koska yhden laskuoperaation suorittamiseen joudutaan yleensä tekemään vähintään 2 datansiirtoa, jotka pitää erikseen koodata käskysanoihin. TTA-konekielikoodi on myös aina prosessorikohtaista eikä minkäänlaista binääriyhteensopivuutta prosessorin eri mallien välillä ole.
keskeytysten toteuttaminen TTAlla on hyvin hankalaa ja koska mitään käskyjen uudelleenjärjestelyjä itse suorittimella ei voida tehdä, välimuistihuti pysäyttää koko suorittimen. Lisäksi TTAn konekielikoodi vie verrattaen paljon tilaa, koska yhden laskuoperaation suorittamiseen joudutaan yleensä tekemään vähintään 2 datansiirtoa, jotka pitää erikseen koodata käskysanoihin. TTA-konekielikoodi on myös aina suoritinkohtaista eikä minkäänlaista binääriyhteensopivuutta suorittimen eri mallien välillä ole.


Täyden tehon saaminen irti TTA-prosessorista vaatii myös erittäin hyvän kääntäjän, koska kääntäjän vastuulla on enemmän kuin muiden prosessorityyppien tapauksissa.
Täyden tehon saaminen irti TTA-suorittimesta vaatii myös erittäin hyvän kääntäjän, koska kääntäjän vastuulla on enemmän kuin muiden suoritintyyppien tapauksissa.


Näistä syistä TTA-prosessoreja kaavaillaan lähinnä [[digitaalinen signaaliprosessori|signaaliprosessoreiksi]] eikä yleiskäyttöisiksi [[prosessori|prosessoreiksi]]. Toistaiseksi TTA-prosessoreita on lähinnä vasta tutkittu yliopistojen tutkimusprojekteissa eikä niitä tiedetä vielä otetun käyttöön missään tosielämän sovelluksissa.
Näistä syistä TTA-suorittimia kaavaillaan lähinnä [[digitaalinen signaaliprosessori|signaaliprosessoreiksi]] eikä yleiskäyttöisiksi [[suoritin|suorittimiksi]]. Toistaiseksi TTA-suorittimia on lähinnä vasta tutkittu yliopistojen tutkimusprojekteissa eikä niitä tiedetä vielä otetun käyttöön missään tosielämän sovelluksissa.





Versio 18. toukokuuta 2007 kello 19.19

Transport Triggered Architecture(TTA) on eräs tietokoneen suorittimen suunnittelufilosofia.

TTA menee vieläkin pidemmälle kuin VLIW vastuun siirtämisessä laitteistolta kääntäjälle; VLIW-käskykannalla ohjelmakoodi vain määrittelee, mitkä käskyt saa suorittaa rinnakkain, mutta ei ota kantaa siihen, miten suoritin ne sisäisesti suorittaa, TTA-suorittimilla suorittimen sisäiset väylät näkyvät käskykannassa, ja koko suoritinta ohjelmoidaan antamalla näille väylille käskyjä siirtää dataa.

esim. kahden rekistereissä olevan luvun yhteenlasku joka RISC-suorittimella olisi muotoa

add R0, R1 -> R2

koostuu TTA_suorittimella kolmesta datansiirrosta.

R0 -> adder.operand

R1 -> added.trigger

adder.result -> R2

joista ensimmäiset 2 voidaan suorittaa samalla kellojaksolla ja siten sijoittaa samaan käskysanaan, viimeinen myöhemmin sijoitettuna toiseen käskysanaan.

TTA-suorittimessa yhdessä käskysanassa voi olla niin monta siirtoa kuin suorittimella on väyliä.

TTA-suorittimen suurimmat hyödyt saadaan siitä että paljastamalla suorittimen sisäiset väylät käskykannassa näiden väylien ja näiden väylien yhteyksien laskentayksiöihin määrää voidaan vähentää suuresti, ja siten saada suorittimesta pienempi, vähävirtaisempi ja suurempaan kellotaajuuteen kykenevä kuin vastaava VLIW-suoritin. Toinen merkittävä hyöty on muokattavuus; TTA-suorittimesta on helppo suunnitella erilaisia versioita joissa esim. laskentayksiköitä on lisäilty, ja käskykantaa on helppo laajentaa koska uusi käsky on vain uusi kohde jonne dataa voidaan siirtää.

TTAn haittapuolia ovat suorittimen huono sopeutuminen dynaamisiin tilanteisiin; keskeytysten toteuttaminen TTAlla on hyvin hankalaa ja koska mitään käskyjen uudelleenjärjestelyjä itse suorittimella ei voida tehdä, välimuistihuti pysäyttää koko suorittimen. Lisäksi TTAn konekielikoodi vie verrattaen paljon tilaa, koska yhden laskuoperaation suorittamiseen joudutaan yleensä tekemään vähintään 2 datansiirtoa, jotka pitää erikseen koodata käskysanoihin. TTA-konekielikoodi on myös aina suoritinkohtaista eikä minkäänlaista binääriyhteensopivuutta suorittimen eri mallien välillä ole.

Täyden tehon saaminen irti TTA-suorittimesta vaatii myös erittäin hyvän kääntäjän, koska kääntäjän vastuulla on enemmän kuin muiden suoritintyyppien tapauksissa.

Näistä syistä TTA-suorittimia kaavaillaan lähinnä signaaliprosessoreiksi eikä yleiskäyttöisiksi suorittimiksi. Toistaiseksi TTA-suorittimia on lähinnä vasta tutkittu yliopistojen tutkimusprojekteissa eikä niitä tiedetä vielä otetun käyttöön missään tosielämän sovelluksissa.