2014年6月3日火曜日

micro iDSD開発(4) ソフトウェア・デザイン・チーム日誌(2)

この記事は、micro iDSDの発売を控えたiFIのテクニカル・チームがHead-FIやFaceBookに掲載しているものです。

以下は5月22日のHead-FIへの投稿------------

http://www.head-fi.org/t/711217/idsd-micro-crowd-design-software-teams-notes-arm-real-time-like-jack-bauer-page-43/525#post_10569555

マーク&ゴードンのハードワーク・パート2は、XMOSの“スター・クロッキング”方式です。
気に入っていただけると思いますよ。

ソフトウェア設計チームのメモ(2)
XMOSプログラム – スター・クロッキング方式

まずXMOS USBプラットフォームがあり、そして今iFi XMOS USBプラットフォームがあるのです。

XMOSの内部には、iFi-XMOSを動作させる際の革新的な “スター・クロッキング”方式があります。これは、他の多くの人々が使っているXMOSによってもともと提供されていた伝統的な“デイジー・チェーン”クロッキング方式から出発した、大きな進歩です。

なぜか? ストックされている(手が加えられていない)標準添付のXMOS USBのプラットフォームに関して言えば、私たちは全体のジッター・レヴェルに100%満足しているわけではありませんでした。特に、ハイスピードの信号には不満を感じていました。そのため、私たちの上級ソフトウェア・エンジニアたち(彼らは軍事防衛プログラムの経験を持っています)は、何日も徹夜してXMOSの標準的なソースコードを研究し、標準的なXMOSは伝統的な“デイジー・チェーン”クロッキング方式を使っていることを発見したのです。この“デイジー・チェーン”クロッキングは、スピードの遅いオーディオ信号ではまったく問題ないのですが、ハイスピードのオーディオ信号では最高のトポロジーではないのです。

彼がこれを発見できた理由は、彼が以前に軍事プロジェクトで働いていた時に、Ada(そう、Adaです)で全プログラムを書いていたからです(Adaは、最初のコンピューター・プログラマーと広く考えられている、Ada Lovelace エイダ・ラヴレイス(1815-1852)にちなんで名付けられました)。
(訳注/Adaは、米国防省が中心となって開発した高水準プログラム言語。「エイダ」と発音する。)

この背景を知るには、以下を参照してください。
http://en.wikipedia.org/wiki/Ada_(programming_language)

Adaで軍事レヴェルのことをやる理由のひとつは(もちろん、他にも多くの理由があるのですが)、リアルタイムで要求されることがあるからです(彼は以前に空対空ミサイルの標的システムの開発をしていたことがあるのです!)。

ですから、すべてがリアルタイムでなければならず、タイミングを外すエラーは許されないのです。換言すれば、この男は“タイミングに超敏感”なのです。








これを発見した後に、彼はXMOS USBプラットフォーム内部の全クロッキング・トポロジーの設計をやり直し、“スター・クロッキング”方式を利用しました。これは彼が、以前にミサイル標的システムの開発チームの一員だった時に使っていたものなのです。

これをオーディオに導入するには、以下のJVCの“K2”マスターリング・グレード・クロッキング方式に似たものを引用することができます。


カスタマイズされたiFi-XMOSの内部で、XMOSのソフトウェア・モジュールのすべてがそのレフェランス・クロックを単一の、超低ジッターのマスタークロックから得ていたら、“どうだろう”と、想像してみてください。

まさにこれが起きており、これが全体のシステムのジッターを著しく改善しているのです。そしてこれは、容易に耳で確かめることができます。アタックと減衰がよりはっきりと聞こえ、すべてが精確に再現されるからです。

続くパート3は、マイクロプロセッサー編です。


(2014.09.13)music to go! 佐々木様のご指摘により、訳の一部を修正しました。

0 件のコメント:

コメントを投稿