2010-09-05

XMOSメモ

ブログに書くと、一発で仕事バレするようなニッチネタなのでここにメモっとく。

 

XMOS 2007年の記事

http://www.atmarkit.co.jp/fsys/zunouhoudan/091zunou/xmos_cpu.html

ここではボロカスに書かれていたが、やっと安い評価キットが出はじめた。

XMOS 2010年の記事

http://www.csp-consortium.org/apps/XMOS_training_kit%282010-08%29.pdf

ニコニコ技術部あたりが食いつきそうなネタではあるものの、今の所ニコ動でXMOS検索しても1本も出てこない。

デジキーですぐ買える。チップ1000円~3000円。小規模な評価キット2万~3万ぐらい。

ちなみに総産研にXMOSという名前を使った特殊なMOSトランジスタ研究発表があるが、それとは全く別物。

 

特徴:

普通にC言語でも使えるらしいが、チップの特徴を活かすためにはXC言語という専用の言語を使う。

昔、トランスピューターをやってた人達が作った。なので、XCの実態はトランスピューター用言語とC言語を混ぜたような感じ。

http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF

 

・小規模な組み込み向けの用途において、安価チップで、並列処理とかイベントドリブンな処理が可能、という点が画期的。並列処理は大規模コンピューティングだけのものじゃないよ!という熱いメッセージ

ハードウエアの動作をソフトエミュレーションする処理は、いわゆる「ワンチップマイコン」よりは得意&楽。

・XCは言語仕様としてポインタが削除されてる(!)。XCをC言語派生言語と呼んでいいのか迷う所。

 

現状の安価なXMOSチップボトルネック

・XCは、昔のトランスピュータを勉強した経験がある人じゃないと、上手には使いこなせないクセモノ。いい感じにガラパゴス化しとる。

・大容量のメモリをつなぐことを想定した専用ハードを持ってないので、自ずと用途は限られる。(DRAMのI/Fをエミュレータでやれ、なんて言われても絶対嫌だ。)

浮動小数点をサポートしてない。(裏技はあるらしい)

・XCの言語仕様は、「木に竹を接いだ」ような状態で、お世辞にも美しいとは言えない。ソースコード眺めてるだけでムカつく。(将来的に改善される可能性はある)

・「チャネル」というのが1つのキモだが、この帯域幅が今時のチップとしてはしょぼい。ただしこの欠点は大量のチップを並列に使えば、理論上はある程度補うことが可能らしい。

MMUを持たないので、Linux移植できないのか、と言われるとツラい。

 

XMOS応用例 Youtubeでもやっと数千再生しか行ってない。

http://www.youtube.com/watch?v=4gbFagvjSfU

http://www.youtube.com/watch?v=eLyn2Ghq_oE

http://www.youtube.com/watch?v=atAdpt5SZe8

今、XCとXMOSに取り組めば、あっという間に国内のこの界隈では有名人になれるかもしれない。強いて言うならそこが唯一の魅力。

 

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん