TOPS SYSTEMS

GO NEXT GENERATION

SMYLEvideo GEN.2--そのアーキテクチャ

SMYLEvideo(Scalable ManYcore for Low Energy computing, video) GEN.2プロセッサの中身はどうなっているのでしょうか。実はSMYLEvideo GEN.2プロセッサは4種類の異なる性格のコアプロセッサを複数個組み合わせて作ることができるのです(デモ機では4種類の中では一番馬力のあるQVPコアを8個ならべてあります)。とはいえ4種類はバラバラなものではなく、兄弟コアとして共通する部分、それぞれに異なる特徴の部分があります。これを示す以下の図をまずご覧ください。

皆に共通するのはB-ISAと呼ばれる基本命令群と紫色の32ビットのレジスタ群です。この部分を使って4種類のプロセッサはまったく同じ32ビットのRISC命令を実行することができるのです。制御用にはここの部分で足りることが多いです。これに特化したのがMCと名付けられたタイプのコアです。それに対してより重いデータ処理に対応し、それぞれ64ビット幅、128ビット幅、256ビット幅のタイプに適応した3種のコアがあります。順にSVP、DVP、QVPと呼ばれています。これら3種類のプロセッサはV-ISAと呼ばれるSIMD命令セットを備えており、最大でそれぞれ8要素、16要素、32要素についての同じ種類の演算を一度に処理することが可能になっているのです。また、内蔵するデータレジスタの本数もゴージャズ。それぞれ128本という数のレジスタを搭載している(これはインテル社やARM社のプロセッサの持つレジスタ本数の数倍から10倍に匹敵します)ので、一度メモリから持ってきた内容を使いきるまで内部において置くことが可能となっています。それでは実際にデモ機の構成のSMYLEvideoではどのようにコアとメモリが組み合わされているのか見てみましょう

8個のQVPコアが並んでいます。それぞれのコアは独立した命令メモリ(IM)を持っており、コアとIMの間は専用の通路で結合されています。データについては1個の大きなメモリ(DM)を共用しており、それへの通路(バス)は共用です。画面等への入出力の経路はまた別で、専用のバスを持っています。ここまでは通常のプロセッサでもありえるパターンですが、以下の2つはSMYLEvideoに特徴的なものです。隣り合うコア間を巡るリングのようなRバスと、コア間の都合(同期)をつけるためのeバスです。このハードウエアのアシストのおかげで面倒で時間のかかるソフトウエアの助けなしに8個のコアは協調して動作することが可能となるのです。SMYLEvideoの上で実際のアプリケーション・ソフトウエアがどう実行されているかはこちらをご覧ください。