Posts Tagged ‘組み込み’

はじめて読む486

3月 8th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 戯言

仕事で使うわけではないのだが、x86系のCPUについてろくに知らん状態はまずかろうということで購入。
本自体は昔から名著と呼ばれているだけの内容とあって、今更自分がどうこう言う事はないので、このエントリはx86のCPUについての感想を中心に書く。

内容はOSで実現されている機能が486でどの様に実現されているか、また8086との互換性をどの様に保っているかが書かれており、HW屋よりSW屋のほうが読み易いと思う。

x86の感想としては、組み込みで使うマイコンやARM系のCPUと違って、やっぱりパソコン向けの機能がいっぱいあるなと。
それと同時に古い概念や制限を無理やり拡張した箇所が至る所にあって、中の人はイラン苦労をいっぱいしているんだろうなぁ、という憐憫の情が湧いた。

本の初版発行が1994年でWindows95がまだ無い時代。
NTがビジネス用途で使われ始めた時代となっているため、現代のCPUの拡張機能(MMX以降)についてはスッパリ抜けている。
少なくとも数年以内にマルチメディアや数値演算系、64bitOSをネイティブに操作する仕事には出会わないはずなので、今の自分には不要なのでよし。
どの道この本は入門書だし突っ込んだことを書かれても困るw

正直一回読んだだけじゃ(自分の悪い頭じゃ)完全に理解出来ない程度に複雑。
特に制御レジスタ周りの設計やプロテクトモード⇔リアルモードの行来の手順など、下位互換性を残したばかりに無理がある作りになっていたり、物理アドレスとリニアアドレスが中途半端にしか分離できてなかったりなどが、混乱した。

これだけ複雑で過去の遺産を引きずったCPUを、現代に続くμOp化、64bit対応、HyperThreadなどの高速化/並列化を実現したCPU屋はどんだけ頭がいいんだ。
互換性を残したまま高速化のために内部のアーキテクチャを刷新するのはどれだけ時間があっても自分には自信がない。

著書の最後は以下の言葉で締めくくられている。

本書を読破したみなさんには、オペレーティングシステム内部の動作を詳細に理解していただけたことと期待します。今後コンピュータを利用するどの場面においても、その背景にあるしくみに思いを巡らせることが大きな楽しみとなることでしょう。大いに自信を持って楽しんでいただきたいと思います。

1994年は個人でパソコンをコントロールできる最後の年だったのかなと思う。
これ以降Windows95が発売され一気にPCがコモディティ化した。
同時にブラックボックスが一気に増えたと思う。
著者の方がどんどん複雑化してくるCPUやOSを解説する中で、当時どんな希望を描いてこの言葉を読者にあてたのか興味がある。

Tags: , ,

実践デバッグ技法

1月 29th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 戯言

続けて書評をw

オライリーの「実践デバッグ技法」を読んだ。

動機は組み込みLinuxでどうしてもSTDOUTを使えない環境がでてきたりで、GDBをリモートで動かす必要が多々でてきたが、今までまともにGDBを使ったことがなかったため。

期待通り、実際の動かし方が分かりやすく書かれており、非常に役に立った。
惜しむらくはGDBのコマンド一覧をAppendixにつけておいて欲しかったかな。

今までGDBを勝手に使い辛いデバッガだと思ってきたが、実際は慣れるとスゲェ使い易いことがわかった。
Eclipseが用意できる環境でもGDB使っちゃうかもしれないくらい簡単に使えるようになったよ。

これまでGDBを体系的に説明する本やサイトを見てなかったせいかもしれんが、この本は良書だと思います。
Linuxを使ってアプリ開発をしているが、EclipseばっかりでGDBに及び腰になっている人はぜひGDBの使い易さを知って欲しい。

Tags: , , , , ,

組み込みソフトウェアエンジニアのためのハードウェア入門

1月 29th, 2010 by KUMA | コメントは受け付けていません。 | Filed in 戯言

という本を題名だけで購入。読んだ。糞でした。なのでリンクもしない。

組み込みSW屋向けの本ならソフトの話なんざ書くな。とくにBootloaderとかICEとか百も承知だっちゅうの。

HWについては、アナログの話ばっかり。確かに基本なんだろうけど、チャタリング防止にコンデンサ入れるとか、過剰電流抑えるのに抵抗いれとくとか、プルアップ、プルダウンの話とかは正直電気をまともに知らんので為になった。

たださ、デジタル回路について何も触れないのはダメだろ。
ソフト屋がHWのこと知る動機はHW屋とより深いコミュニケーションをとるか、キャリアチェンジだべさ。
ならお互いに重なるところではデジタル回路についてを深く書くべきだったんじゃないの?
そりゃオシロとかロジアナ使ってHW屋と合同デバッグもするけど、アナログ系の問題解決をSW屋には求められんよ。
むしろ必要なのは、デジタル回路の論理的不具合を理解して、CPUで代行したりとか、レジスタの設定値をHW屋に聞かなくてもデータシートやその他資料で理解できる力を手に入れることっしょ。

そんなわけでこの本の正式なタイトルは「アプリ系のソフト屋がマイコン趣味に手を出してみたい人向け、大まかな概念と開発手順を触りだけ説明する本」が妥当と思われる。

Tags: ,