ソフトウェアで機能を定義するLSIを使ってみた ―― XMOS Semiconductor社「XS1-G」レビュー

相田 泰志

tag: 組み込み 半導体

技術解説 2009年5月25日

 ここでは英国XMOS Semiconductor社の「ソフトウェア定義シリコン」を取り上げる.複数の処理を並列的に実行可能な機構を持つプロセッサ・ユニットを複数個持つことで,ハードウェアのような並列処理を可能にし,専用LSIのように使うことができるデバイスである.プロセッサ・ベースのため,C言語で記述されたソフトウェア・コードをほぼそのまま利用できる.Cベース言語からハードウェア(HDL)を合成する動作合成とは,まったく異なる仕組みである. (編集部)

 組み込み機器では,マイコンが広く使われています.複数の処理を並列的に処理したい場合は,μITRONなどのリアルタイムOSを利用するのが一般的です.

 リアルタイムOSの役割としては,例えば,温度コントローラのようなものであれば,制御のタスク,操作のタスク,表示のタスク,伝送のタスクなど,いくつかのタスクをタイマ割り込みやキー入力,伝送入力などのイベントをトリガとして動作させ,それぞれのタスクの処理を優先順位に従って行うという役割を果たしています.CPUでは複数の処理を同時に行えないため,タスクの切り替え処理や割り込み処理,タスクの優先順位の設定などがシステムを作る上で重要になってきます.

 このようなリアルタイム制御を行う際の面倒な処理(優先度や割り込み処理)を,新しいアーキテクチャで解消したのが英国XMOS Semiconductor社が開発した「XS1-G」です.

1. XMOSアーキテクチャの特徴

 XMOS社は,1980年代に登場した英国Inmos社の「Transputer」(トランスピュータ)を開発したDavid May氏がCTO & Co-Founderを務める会社です.XS1-Gは,トランスピュータの概念を組み込みデバイスとしてブラシュアップされたものとなっています.

 トランスピュータは,複数のCPUデバイス間をチャンネルと呼ばれるネットで結び,並列処理を実現したものでした.しかし当時は,CPUの高速化による効果の方がコスト・メリットが大きかったため,一部の並列処理ユニットとして使用されただけで,今ではほとんど残っていません.

 XMOSは,そのトランスピュータの概念を1チップにまとめることにより,ソフトウェアで機能を記述できる「ソフトウェア定義シリコン(Software Defined Silicon:SDS)」と呼ばれるチップに仕上がっています.

 次にXMOSの特徴,およびメリットをいくつかの例に分けて説明します.

● マルチスレッド

 XMOS社の「XS1-G4」は,内部に四つのXCoreと呼ばれるセルを持っています.

 XCoreは,32ビットのRISC(Reduced Instruction Set Computer)プロセッサを中心とした,図1のような構造となっています.内部に八つのスレッドと呼ばれるレジスタ郡があります.この一つのスレッドが通常のCPUの役割を持っています.そして,このスレッド(T0~T7)が図2のように,時分割で実行されます.メモリなどは,FIFO(First-in First-out)やフェッチ機構により,スレッドごとに影響しないようになっています.


図1 XCoreの構造

 


図2 マルチスレッド

 すなわち,時分割にて処理するため,八つのプログラムをそれぞれの干渉なしに同時に動かせます.もちろん時分割のため,RISCコアの速度は「1/実行スレッド数」になります.XS1-Gは400MHzで動作するコアを使用しているので,8スレッド同時に実行しても,それぞれのスレッドは50MHzの速度で実行できます.リアルタイムOSのような,タスク切り替えなどのオーバヘッドはありません.タスクが待たされるなどと考えずに,システムやプログラムを設計できます.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日