シーメンス時代に開発された「TriCore」 今は車載MCUで息づく:マイクロプロセッサ懐古録(19)(3/4 ページ)
今回はInfineon Technologiesが手掛ける「TriCore(トライコア)」を紹介する。十分、現役なのだが、登場して30年以上が経過しているので、“懐古録”として取り上げられるほど長い歴史を持つプロセッサだ。
2003年に「TriCore 2」が登場
そんな訳でTriCore 1は、いまだに広く使われ続けている。そして2003年には後継になるはずであったTriCore 2が発表されている(図9)。コプロセッサのサポートやFPUの搭載に加え、パイプライン段数がやや増えている事などが示されている訳だが、TriCore 1との最大の違いはHardware Multi-Threadをサポートしていることである(図10)。もっとも、別に2つのThreadが同時に動く訳ではなく、明示的な命令(このためにYield命令が追加された)ないしInstruction Cache Missが発生した場合にThread切り替えが行われるとしている。とはいえ、ではCache Missが無ければずっと特定Threadが動作するかというと、ちゃんとどちらのThreadにもMinimum Execution Timeが設定可能で、Thread timerを利用して両方のThreadに動作時間保証を設定できる。
図9:2003年7月に開催されたEmbedded Processor Forum 2003における発表資料より。そういえば、もともとTriCore 1が発表されたのも1997年のMicroProcessor Forumであった[クリックで拡大]
このMulti-Threadであるが、当時TriCore 2は携帯電話向けのマーケットを狙っていた(図11)。要するにBaseband処理などの定型データ処理はScratch Padをフルに生かして片方のThread(のDSPというかMACユニット)で処理しながら、もう一つのThreadをApplication Processor的に使う、というシナリオを想定した構図である。
図11:Multi Threadを使わないと性能は大幅に落ちる。これをMulti Threadにすることで若干性能が改善する。で、片方のThreadは常時Scratch Padを使うようにすれば大幅に実効性能が改善する、と言いたいらしい[クリックで拡大]
性能に関して言えば、1.5V動作の場合0.5mW/MHzの効率と、3000MIPS/Wのピーク性能。1.1Vに落とすとそれぞれ0.3mW/MHz、5000MIPS/Wになるとされていた。製造プロセスは0.13μmを想定しており、動作周波数は図11にあるように333MHz程度だろうから、ピーク性能で言えば1.5Vで1000MIPS、1.1Vで1665MIPSになる計算だ。ただ、恐らく1.1Vでは233MHzくらいが上限だろうから、1100MIPS程度にとどまった可能性が高い。どちらにしてもかなり高い性能ではあるのだが、これはMACユニットを使った場合の話であって、パイプライン構造を見る限りMACを使わないALUの性能はそこまで高くなっているように見えない。恐らくはTriCore 1と同じく1.5MIPS/MHz前後(2MIPS/MHzまで行けるかどうか怪しい)というあたりで、もちろん、2003年前後のFeature Phone向けのアプリケーションプロセッサとしてはそこそこの性能にはなっただろうが、当時競合だったARM9とかARM11に対して優位性があったか?と言われると疑問ではある。
そしてこのマーケットは結局Symbian OSが動くかどうかであり、残念ながらTriCoreのサポートは最後まで無かった。結局TriCore 2を搭載した製品は筆者が知る限り存在しない。ちょっと後になるが、2006年にInfineonはGSM携帯電話向けに65nmプロセスを使ったチップセットをリリースすると報じられたが、最終的にこれが出荷されたかどうか既に判然としないし、このチップがTriCore 2ベースだったかどうかも既に不明である。
Copyright © ITmedia, Inc. All Rights Reserved.
