<2008/11/27>
パソコン上のソフトを組むのって、目に見えるだけにいちいち突っ込まれてうるさいのだ。しかもOSのお伺いを立てながら動かないとならないんで、全然面白くない。
CP/MやらMS−DOSの昔と違って、今時期パソコン用のアプリ一本作るの大変よ。
下の方から言うと・・・ドライバでしょ、インターフェースのDLLでしょ、アプリでしょ、インストーラにヘルプ、PDFの取説にアイコンまで作らされる。パソコンに組み込む周辺ボードやUSB接続の外部機器なんかも一緒に作るとなると、ファームウエアまで作らないとだし。
開発ツールの使い方を憶えるだけでもへこたれるっす。
昔はWordMasterやP-Mate(エディタ)さえ使えりゃOKだったけどさ、今時期統合環境を使わないのはいやじゃん。
その点、組み込みのワンチップCPUのソフトは動きがちっとも見えないから文句言われなくて良いのだ。OSを入れなければ、自分が親分になって一番エライ状態でやりたい放題だし。
ドライバ?割り込み禁止するな?レイヤーを守れ?さっさと制御を離せ?うるせぇ、俺の好き勝手にするぜ(笑)
ちゅうわけで、今更ながらSHのお勉強を始めました。
で、早速SHに関して本を読んだりしたんだけど、かなりゴチュアゴチャしてるじゃんか。
「お客の要望を取り入れて、どんどん積み重ねていったらSHになりました」ってな感じのCPUなりよ。
2〜3年前に三菱のm16cを使ったんだけど、このCPUはとても単純で分かりやすくて結構でした・・いくら単純と言ってもZ80ほどじゃないよ(爆)
あんまり好きになれないSHだけど、まんずメジャーだから調べてみっか。
ここに書いてるのは現時点で分かったことだけなり。間違いもあると思うけど文句言わないでね。
文句じゃなくて褒めてくれるなら何を言っても良いよ(笑)
前にもアップしてたんだけど、一度引っ込めたのだ。
だけどやっぱりアップすることにした。
誰かの役に立つかもだもんな。大体からして、憶えたことを人に伝えずに墓まで持って行ってもしょうがないもんよ〜
技術者の皆様、なるべく楽して働こうね。
思いついたままに書いていくけど、そのうちに整理するかも。
<2008/11/27>
SHは商品名とCPUコア名が違うんでこんがらがるんだよ。ルネサスのSHシリーズの商品説明ページ(動画)
CPUコアとして一般人が現時点で入手可能なのはSH1〜SH4なんだけど、電力消費やコスト問題が無いんならSH3やSH4で良いよね。
SH3とSH4の違いは、速度とFPUの有無・・・今更わざわざFPUの無いSH3を使わなくてもSH4が良いよ。
んまDSPを使うとなるとSH3−DSPも選択肢に入るけど、SHには積和演算命令を3クロックでやっちまう命令が標準で入ってるんで、これでなんとかする気ならSH4で行けそう・・なおSH4−DSPは入手不可。
SH4を使うならSH4A(SH4の高速版)がもっと良いじゃん。
本当はSH4AL−DSP(低消費電力+DSP)を使いたいけど、こいつは貧乏人にはお呼びでない・・・大量ロットじゃないと売ってくれません・・・SH4AL−DSPコアのCPU商品名はSH−Mobileと言いまんねん。
ちゅうことで、貧乏人が現時点で買える最高性能のCPUコアはSH4Aってことになる。
ところでSH4AってのはCPUコアの名前なわけで、製品名は別なのだ。
日立のこのSHシリーズは命名規則が分かりにくくてさ、CPUコアの名前なのか商品名なのか分かりゃしまへん。
SH4Aコアを使った商品名として以下の物があるのだ。
SH7780:400MHzで動作。消費電力は1.5A程度(バスクロックを100Mに下げれば250mA程度とかなんとか)。
SH7785:600MHzで動作。消費電力は・・知らないけどもっと食うんじゃないの。
SH7730:266MHzで動作。消費電力は250mA程度。SDRAMインターフェース有り。
で、オラは今回は7730を試してみようと思うだ。
7785も試したいんだけど、この消費電力じゃバスクロックを下げないと厳しいよね。
で、バスクロックを下げて内部だけ早いのと、全体的に266Mで動くのとどの程度の差があるか知りたいって事もあるんで、まずは7730を使ってみようって魂胆なり。いずれ7785も使うべな。
7730は低消費電力で、その上SDRAMを繋ぎやすい。つまりDDR2とかじゃなくてもOK。
ハード屋のやりやすさと、お客の要望と・・良いバランスなのは7730辺りかな。
まんず第一段階として、7730の評価ボードを買って遊んでみよう。
購入予定の評価ボードはこれ。
で、調べたら手持ちのレンタル品PALMICEは対応してないんで、会社から借りてきたSH7710で遊ぶ事にした。SH7710はSH3-DSPコアなのだ。
SH7730はまた次回じゃな。
開発にはHEWとPALMICE2を使うだ。コンパイラはSHC。
なんでこれを使うかって?会社に有ったから(^^;
性能十分だし、アマチュアに比べればかなり贅沢な開発環境と言えるべや。
ところでコンパイラだけど、SHCとGCCと比べると実行速度で20%程度の差があるでよ(ここの一番下を参照)。
GCCは汎用コンパイラなんで、最適化は徹底してないんで、分かった上で使わんとだぜ。
この項は後で書き足す予定。