/ «2005-01-12 (Wed) ^ 2006-06-01 (Thu)» ?
   西田 亙の本:GNU 開発ツール -- hello.c から a.out が誕生するまで --

Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール


2005-01-14 (Fri)

[MCU] Abstract of MSP430 and Texas Instruments

MSP430

彷徨の果て、現在市販されている16bit MCUの中から、私のハートを射止めたのは、既に何度も紹介した Texas Instruments 社のMSP430である。

MSP430は、消費電流が1MIPSあたり250μA・待機時1μA未満という、超低消費電力が最大の謳い文句となっており、市中の電気・ガスメーター、血圧計やパルスオキシメーターなどの医療器具、テスター、果てはシューズなどに、幅広く採用されているMCUである。

アーキテクチャ野郎にとって気になるのは、まずレジスタ構成と、命令コードであるが、内部には16ビット汎用レジスターがR0からR15まで計16本、そして7つのアドレッシングモードが用意されており、C言語への最適化効率を強く意識した設計になっている。逆に、命令数は極限まで絞り込まれ、その数は驚くなかれたったの27である。基本的かつ必要最低限の命令セットのみが提供され、「足りない部分は、各自ソフトウェアで工夫して頂戴」という訳だ。

最近のMCUは、多機能化を計るあまり、ニーモニック(MOV, INC など命令の略称)を見ただけでは、一体何をする命令なのか、全く予想もつかないものが多い(中でも国内メーカーのニーモニックやポート名に対するネーミングセンスの悪さは際だっている)。結果として、プログラマーは新しい命令体系の習得および難解な略称名の暗記に、膨大な時間を費やされることになる。

これに対して、MSP430の場合は一瞥しただけで了解できる、汎用ニーモニックで構成されているため、過去にアセンブラーの経験があるプログラマーであれば、マニュアルをざっと斜め読みする程度で、命令セットの全体像を把握できてしまう。この分かりやすさが、初学者にも大きなメリットとなることは、言うまでもない。

優れたドキュメント群

よく練られたMCUはいくつか存在するが、MSP430が飛び抜けて際だっているのは、自身を支える豊富で良質のドキュメント環境にある。

先日、H8/300H に初めて興味を持ったユーザーが、Renesas Japan のサイトから、その製品概略を知ることは極めて難しいことを書いた。Texas Instruments ではどうだろうか?

まず、トップページでは、H8/300H と同じく10行前後の要約が示されているが、先頭に示された次の一行は、これ以上の名文は考えられないほど、完璧にMSP430の特徴を言い表している。

The MSP430 family of ultra-low-power 16-bit RISC mixed-signal processors from
Texas Instruments provides the ultimate solution for battery-powered measurement applications.

超低消費電力、16ビット RISC、Mixed signal processor、バッテリー駆動の計測機器に最適。この一文を読めば、経験あるエンジニアであれば、「ほー、アナログに強いTIのことやから、得意のADコンバーターやオペアンプ内蔵型の16bit RISC core MCU を出して来たんかいな。しかも、超低消費電力ねぇ、面白そうやんけ!」と来る訳だ。そして、読者の読みを予測したかのように、補足説明が下段で示されている(さりげなく値段も)。何気ない10行に見えるが、実は練りに練られた文章であることが分かる。

Paper work

この10行、実は学術論文で言うところの "Abstract" に相当する。ちなみに、論文は通常以下のパートから構成される。

  • Title (タイトル)
  • Abstract (要約)
  • Introduction (序論)
  • Materials and Methods (方法)
  • Results (結果)
  • Discussion (論考)
  • References (参考文献)

大学院生は、仕事が出来上がると、この枠組みに従い慣れない Paper work にいそしむことになる。誰もが最初は Results および Discussion にしか目が向かず、残りはケーキの飾りぐらいにしか捉えていないものだが、実は全てのパートが同じぐらいに重要なのである。一流誌になればなるほど、Reviewer (査読者)は Introduction から References に至るまで、実に細かく注文を付けてくる。また、経験を積むにつれ、Title と Abstract が持つ重みが分かるようになる。

The significance of Title and Abstract

PubMed (医学生物学文献データベース)ACM Digital Library などで文献検索を行った場合、適切なキーワード設定を行っていれば、そこそこの数の文献一覧が表示される。このあたりの感覚は、Google と同じであるが、文献検索における違いは、論文のタイトルおよび Abstract をチェックすることで、非常に高い確度で論文の "選別" を行える点にある。

参考までに、ACM Portal Digital Library 上で "Plan 9" の検索を行った際、トップに現れる文献を挙げておこう。この文献は、Rob Pike 氏による Plan 9 の Overview であるが、平易にして明快な Abstract はさすがだ。このように、文献検索においてはその場で論文の絞り込みが行えるよう、必ず Abstract が表示可能になっている。ちなみに、Digital library 中の全文PDFを入手するためには、会員登録(有料)が必要だが、このあたりに関しては Google Scholar と併せて、後日取り上げてみたい。

さて、情報がこれほど身の回りに溢れてくると、玉石混淆の中から、自分にとって価値ある情報をいかに効率的に拾い上げるかが、重要になってくる。ヒットした文献を片っ端から読みまくり、質の低い論文に「あ〜ぁ、またしょうもない論文を読んでしまったよトホホ・・」と、溜め息をついているようでは、限られた時間を有効に使うことは到底出来ないからだ。こうして、短い Abstract から真贋を読み取る "嗅覚のトレーニング" を積まざるを得なくなるのである。嗅覚が犬並みに研ぎ澄まされてくると、不思議なことに書き方のツボも分かってくる。

推察するに、MSP430 の Abstract を担当した著者も、その昔トホホを経験したに違いない。そして、自分の経験から、駄文がいかに読者の貴重な時間を損なうものであるかを学び、優れた文書がいかに読者の理解と成長を助けることができるかを悟ったことだろう。

MSP430 のサイト全体からは、このようなトレーニングを積んだ著者(達)が、持てる力のすべてを注ぎ込みながら、ユーザーのために尽力している姿が伺える。中でも私が度肝を抜かれたのは、Abstract 中の MSP430 Family でリンクされた、PDF ファイル。合計9ページから構成されるこのファイルは、エンドユーザーを対象にした MSP430 の Overview である。中でも、2ページという限られた空間の中で繰り広げられる、図入りの特徴紹介は神業的な完成度だ。見事という他ない。このような良質で魅力的なパンフレットを見せられれば、初めてのユーザーも「ちょっと検討してみようか」という気になるだろう。

このほか、Publications や Contributed articles という、堅気の人は到底使わない Academic な表現がサイト上で使われているところから見ても、著者もしくはサイト監修者は大学院において徹底的なトレーニングを受けた、Ph.D. (博士号取得者)ではないかと思われる。

上記のように書くと、「会社が売り上げを伸ばすために、ドキュメント整備に奔走するのは、当たり前なのではないか?」という指摘を受けることがある。確かに背景はその通りであろうが、「上司から命令されたので書きました」という "させられ体験" から、優れた文書は決して生まれない。著者自身が文書の価値と意義を知り、なおかつ担当したテーマに "惚れ込んでいる" 必要がある。

まさに心意気の世界であるが、MSP430 の最深部まで踏み込むと、TI エンジニアの凄さが垣間見えてくる。