Az ST200 VLIW típusú – nagyon hosszú utasításszót alkalmazó – processzormagok családja, mely a Hewlett-Packard Laboratories és STMicroelectronics vállalatok által közösen kifejlesztett, Lx elnevezésű technológián alapul. Az ST200 család fő alkalmazási területe a beágyazott médiafeldolgozás.
Az Lx architektúra Az Lx architektúra közelebb áll az eredetileg a Multiflow Trace processzorsorozat által meghatározott VLIW architektúrához, mint az EPIC architektúrához, melynek példája az IA-64. Meghatározása szerint az Lx egy szimmetrikus klaszteres architektúra, ahol a klaszterek explicit küldő és fogadó utasításokon keresztül kommunikálnak. Mindegyik klaszter ciklusonként legfeljebb 4 utasítást hajt végre, legfeljebb egy vezérlő utasítással (goto, ugrás (jump), hívás (call), visszatérés (return)), egy memóriautasítással (betöltés, tárolás, előzetes behívás (pre-fetch)) és két szorzó utasítással ciklusonként. Minden aritmetikai utasítás egész számokon végez műveleteket, az általános regiszterfájlhoz tartozó (64 × 32 bites) vagy az elágazási regiszterfájlhoz tartozó (8 × 1 bites) operandusokkal. Az $r0 általános célú regiszter mindig nulla értéket ad vissza, míg az $r63 általános célú regiszter a csatolóregiszter (link register) szerepét tölti be. A feltételes elágazások kiküszöbölése érdekében, az Lx architektúra részleges predikációs támogatást is nyújt feltételes kiválasztási utasítások formájában. Nincs osztó utasítás, az osztás műveletet több lépésben lehet elvégezni, amelyhez rendelkezésre áll egy osztási lépés utasítás. Minden utasítás teljesen futószalagos. A RAW (Read After Write) késleltetések egyciklusosak, kivéve a betöltés (load), szorzás és összehasonlítás elágazással műveletek RAW késleltetéseit. A WAR késleltetések nulla ciklusúak, a WAW késleltetések pedig egyciklusosak.
Az ST200 Lx implementáció fő tervezői Paolo Faraboschi (HPL, architektúra) és Fred Homewood (STM, mikroarchitektúra) voltak. Az architektúra és mikroarchitektúra tervezésében közreműködő csapat jelentősebb tagjai Geoffrey Brown (HPL, társvezető), Giuseppe Desoli (HP), Gary Vondran (HP), Trefor Southwell (ST), Tony Jarvis (ST), és Alex Starr (ST) voltak.
Az architektúra kifejlesztése egy valódi vállalatközi együttműködés volt, mintegy két éven át tartott, a projekt korai szakaszában közös létesítményben.
ST200-as magok
Az ST200 VLIW család jelenleg az ST210, ST220, ST231 magokat tartalmazza, melyek az Lx architektúra egyklaszteres megvalósításai. A közöttük lévő különbségek minimálisak:
Az ST210 volt az STMicroelectronics első terméke, amely az Lx technológián alapult. Az ST220 az ST210-hez képest javította a frekvenciát egy újabb végrehajtási fokozat hozzáadásával, melynek hatására a maximális késleltetési idő 2-ről 3 ciklusra nőtt. Az ST231-ben továbbfejlesztették az ST220 architektúráját, bővítve azt egy regiszter-pontozótábla (scoreboard) egységgel és 32 bit × 32 bites szorzással az egész és tört adatábrázolásokhoz. Belekerült egy memóriakezelő egység (MMU) is, miáltal az ST231 hoszt processzorként is használható.
Az STM 2009-ben azt közölte, hogy a digitális videófeldolgozás területén több mint 40 millió az ST200 családba tartozó VLIW processzort tartalmazó egylapkás rendszert (SoC-t) szállított. Mivel a legtöbb ilyen SoC több ST200-as processzort tartalmaz (például az STi7200 négy ST231-est), a cég valójában több mint 70 millió ilyen VLIW processzort forgalmazott.
Az ST200 család tagjait a HP nyomtatókban és szkennerekben alkalmazta.
Fordítóeszközök
Az ST210 számára készült első fordítóprogram a HP Labs Cambridge-ben kifejlesztett „HP Lx” fordító volt, amelynek kiinduló forrása a Multiflow Trace scheduling fordítója, amit a HP jelentősen módosított a beágyazott rendszerek területén történő alkalmazáshoz. Az ST220-astól kezdve az STMicroelectronics bevezette a Open64 technológián alapuló fordítókat. Ezekben a fordítókban az Open64 kiadást a GCC C és C++ front-end 2.96-ról 3.x-re, majd később 4.x-re való frissítésével javították, a teljes C++ kompatibilitás elérése érdekében. Az Open64-ben teljes mértékben implementálták a GNU C kiterjesztéseket, beleértve az asm utasításokat is. Ennek eredményeképpen a Linux kernel lefordítható az ST200-ra.
A többi ST200 fordítóeszköz a GNU as, GNU ld, és GDB közvetlen portjai.
Jegyzetek
Fordítás
Források
Fisher, Faraboschi, and Young: VLIW Processors: From Blue Sky to Best Buy, "IEEE SOLID-STATE CIRCUITS MAGAZINE", June 2009, 10-17. További információk
Kapcsolódó szócikkek VLIW médiaprocesszor
Kategória:Digitális jelprocesszorok Kategória:VLIW mikroprocesszorok Kategória:Mikroprocesszorok