ST200 familj
ST200 är en familj av mycket långa instruktionsord (VLIW) processorkärnor baserade på teknologi som utvecklats gemensamt av Hewlett -Packard Laboratories och STMicroelectronics under namnet Lx . Huvudapplikationen för ST200-familjen är inbäddad mediabehandling.
Lx arkitektur
Lx-arkitekturen är närmare den ursprungliga VLIW-arkitekturen som definieras av Trace-processorserien från Multiflow än EPIC -arkitekturen som exemplifieras av IA-64 . Precis, Lx är en symmetrisk klustrad arkitektur, där kluster kommunicerar genom explicita sändnings- och mottagningsinstruktioner. Varje kluster exekverar upp till 4 instruktioner per cykel med maximalt en kontrollinstruktion (goto, jump, call, return), en minnesinstruktion (ladda, lagra, förhämta) och två multipliceringsinstruktioner per cykel. Alla aritmetiska instruktioner arbetar på heltalsvärden med operander som tillhör antingen den allmänna registerfilen (64 x 32-bitars) eller till filialregisterfilen (8 x 1-bitars). Allmänregistret $r0 läses alltid som noll, medan generalregistret $r63 är länkregistret. För att eliminera vissa villkorliga grenar ger Lx-arkitekturen även partiellt predikationsstöd i form av villkorliga urvalsinstruktioner. Det finns ingen delningsinstruktion, men en delningsstegsinstruktion tillhandahålls. Alla instruktioner är helt pipelinerade. RAW - latenserna är encykel med undantag för belastningen, multiplicera, jämför med förgrenade RAW-latenser. WAR-latenserna är noll cykler och WAW-latenserna är en cykel.
De främsta arkitekterna för implementeringen av ST200 Lx var Paolo Faraboschi (HPL, arkitektur) och Fred Homewood (STM, mikroarkitektur). Nyckelmedlemmar i arkitektur- och mikroarkitekturteamet inkluderade Geoffrey Brown (HPL co-lead), Giuseppe Desoli (HP), Gary Vondran (HP), Trefor Southwell (ST), Tony Jarvis (ST) och Alex Starr (ST).
Arkitekturen var verkligen en verklig företagsövergripande utveckling, samlokaliserad under projektets tidiga varaktighet och varade i cirka två år.
ST200 kärnor
ST200 VLIW-familjen omfattar för närvarande ST210, ST220, ST231-kärnorna, som är enklusterimplementationer av Lx-arkitekturen. Skillnaderna mellan dessa kärnor är minimala:
- ST210 var den första STMicroelectronics-produkten baserad på Lx-teknologin.
- ST220 förbättrade ST210:s frekvens genom att lägga till ett exekveringssteg, vilket hade effekten att öka den maximala latensen till 3 cykler från 2.
- ST231 förbättrade ST220-arkitekturen med registerresultattavla och 32-bitars x 32-bitars multiplikationer för heltals- och bråkdatarepresentationer. En MMU lades också till så att ST231 kan användas som en värdprocessor.
Inom digital video rapporterade STM 2009 att de hade skickat över 40 miljoner system-on-chip (SoC) innehållande en VLIW-processor från ST200-familjen. Eftersom många av dessa SoC innehåller flera ST200:er (STi7200 innehåller fyra ST231) skickade de faktiskt över 70 miljoner av dessa VLIW-processorer.
Sammanställning av verktyg
Den första ST210-kompilatorn var HP Lx-kompilatorn som utvecklades vid HP Labs Cambridge, själv en ättling till Multiflow Trace-schemakompilatorn och kraftigt modifierad av HP för att rikta in sig på den inbäddade domänen. Från och med ST220 introducerade STMicroelectronics kompilatorer baserade på Open64 -teknologin. I dessa kompilatorer har Open64- versionen förbättrats genom att uppgradera dess GCC C och C++ front-end från 2.96 till 3.x och senare 4.x, för att uppnå full C++-kompatibilitet. GNU C-tilläggen har implementerats fullt ut i Open64 , inklusive asm -satserna. Som ett resultat Linux-kärnan kompileras för ST200.
De andra ST200-kompileringsverktygen är enkla portar av GNU as, GNU ld och GDB .