組み込み分野に限らない,とても大切なことが書かれている本 ―― 『組込みプロセッサ技術』

大野 典宏

tag: 組み込み 半導体 Interface

書評 2009年4月17日

組み込み分野に限らない,とても大切なことが書かれている本

 

13processor.jpg枝廣正人,黒田一朗著
協力 中森 章
監修 情報処理学会組込みシステム研究会
CQ出版社
ISBN-10: 4789845494
ISBN-13: 978-4789845496
263ページ
2,800円(税別)
2009年3月
CQ出版WebShop

 

 CPUというと複雑で難しいLSIと思えるかもしれませんが,実は原理を煎じ詰めると「恐るるに足りないくらい単純な物」なのです.

 一般に使われているノイマン型コンピュータが行っていることとは
 

  1. プログラム・カウンタの値が示すアドレスの命令を呼び出す
  2. 命令をデコードし,実行する
  3. その結果,次に呼び出す命令のアドレスをプログラム・カウンタに代入する

と,ただこれだけの事にすぎません.

 では,なぜに,今のように複雑なLSIだと思われるようになってしまったのでしょうか.

 それは「より便利にしたいから」という,その一点につきます.周辺機器へのI/Oはあったほうが良いに決まっています.ストアード・プログラム型ですから,メモリ管理や高速メモリ・バスが無ければ速度が稼げません.命令は多い方が良いに決まっているし,できれば並列に命令を処理してくれたり,浮動小数点計算などは別のユニットで行った方が良いに決まっています.

 そして,目的に応じて,その処理に適したCPUを用意した方が便利なのは当たり前のことでしょう.それでCISC(Complex Instruction Set Computer)RISC(Reduced Instruction Set Computer)DSP(Digital Signal Processing)といった区別ができたり,VLIW(Very Long Instruction Word)SIMD(Single Instruction-Multiple Data)のような考え方が出てくるわけです.

 ですから,事の本質を複雑にさせているのは周辺機器の情報や命令体系だけの問題であって,それが違うだけだと考えれば,単なる「言われたことしかできないデクノボウなLSI」でしかないのです.

 というわけで,コンピュータ・アーキテクチャの特徴を活かしきるのは難しいが,CPU単体を理解するのはそれほど難しいことではないということをまず理解してください.

 ところで,最近,「組込み」って聞きますけど,「組込み」とそうじゃないコンピュータの区別などは,もはやありません.

 使っているCPUは同じ,OSも同じ,開発環境も同じ…で,分けて考える方に無理があるのです.

 確かに,黎明期はPC本体よりも実は周辺機器の方が処理が複雑で,機械制御なども含まれていたため,組み込み機器の方が高度で値段も高いというねじれた時期もありましたが,今はもう関係ありません.スマートホンとPCで動いているCPUは同じ,OSも同じで,違うのは箱の大きさだけ…というのが当たり前の世界になっています.

 というわけで,今回紹介する本書ですが,はっきりと指摘すれば,タイトルで損をしています.「組込みプロセッサ技術」ではなく,立派なプロセッサ・アーキテクチャ総論になっているのです.

 パソコンでテレビが見られて,携帯電話でもテレビが見られる,そしてテレビでもテレビが見られる…要するに,中の機能は一緒だと暴露しているようなものです.そろそろ「組込み」という言葉にこだわったり,カテゴリの中に居続ける必要はないと考えています.

 本書では,プロセッサの基本的な事項から始めて,いかに速く,いかに効率良く,いかに省電力に,いかに簡単に開発できるのか.そういった工夫を網羅的に解説しています.これまでにプロセッサがたどってきた歴史と,その時々で行われた工夫が垣間見えるので,かなり興味深い作りになっています.

 特筆すべきなのは,これから主流になっていくと予想されるマルチコアのプロセッシング技術について,詳細に解説している点でしょう.SMP(Symmetric Multiprocessing)AMP(Asymmetric Multiprocessing)の違いや,各プロセッサのコアを効率よく動かすプログラミング手法にまで触れられているので,これからプロセッサのことを学ぼうとする読者にとっては最もタイムリな本だと言えるかもしれません.

 ただ,残念なことは,こういう種類の本は,年々寿命が短くなっているという点です.マルチコアが普通になり,OSもコンパイラも対応が完了する頃には,次のコンピューティング手法と言われているグリッド・コンピューティングが民生品のレベルにまで落ちてくることでしょう.

 そうなると,グリッド・コンピューティングで問題になる,解法の分析と分割という新しい数学的な問題に直面します.

 すでに,チューイング・ガム程度でもLinuxが動くボードが販売され始めていますが,そういった安いボードを何枚も並べて1台の小さなマシンの中で並列計算や分散計算を行うことも夢ではなくなってきています.

 たぶん,本書の寿命はあまり長くないかもしれません.今はそれくらいに社会の需要の変化の速度が速いので仕方がありません.でも,少なくとも当面は,本書に書かれている知識くらいは持っておかなければならないとだけは指摘しておきましょう.

 勉強と思うと厳しいですけど,実際に読んでみると先人の苦労が垣間見えて面白いですよ.


大野 典宏
Project NR
norihiro.oono@gmail.com

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日