ブログに書くと、一発で仕事バレするようなニッチなネタなのでここにメモっとく。
http://www.atmarkit.co.jp/fsys/zunouhoudan/091zunou/xmos_cpu.html
ここではボロカスに書かれていたが、やっと安い評価キットが出はじめた。
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言語を混ぜたような感じ。
・小規模な組み込み向けの用途において、安価なチップで、並列処理とかイベントドリブンな処理が可能、という点が画期的。並列処理は大規模コンピューティングだけのものじゃないよ!という熱いメッセージ。
・ハードウエアの動作をソフトでエミュレーションする処理は、いわゆる「ワンチップマイコン」よりは得意&楽。
・XCは言語仕様としてポインタが削除されてる(!)。XCをC言語の派生言語と呼んでいいのか迷う所。
・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に取り組めば、あっという間に国内のこの界隈では有名人になれるかもしれない。強いて言うならそこが唯一の魅力。