※これは97年に社内のイントラネット上で公開していたものです。リンク先は無くなっている可能性大です。

有 象 無 象


1997.11.27 #24 根性あるOS

 学生の頃、FM77AVにOS-9を入れて遊んでいた事がある。OS-9はOS本体もモジュール構造で、8bitにしてはしっかりしすぎるくらいの作りであった。
 ある日、久しぶりに使おうとするとブートフロッピーが壊れているらしく、リードリトライのシークを激しく繰り返している。そのままほうっといたらなんとプロンプトがでた。メモリにロードできたモジュールを確認してみる。ちょうどエラーが起きたトラックに乗っていたと思われるモジュールは抜けていたが、ロードできるぶんのモジュールだけなんとか読み込んでブートしたようだ。恐ろしく根性のある奴。今のOSはほとんどがカーネル1本になっているので、もしディスクが壊れていたら立ち上がらないであろう。うむ。感心感心。

1997.10.27 #23 1GHzいっちゃった

 #21で今世紀中にプロセッサのクロックは1GHz越えそうだなあと言っていたら本当にいっちゃったみたい。ISSCC98で1.1GHzのPOWERPCが発表予定だそうです。IBMの最新半導体プロセス7Sでは、アルミ配線層の代わりに銅を使用して高速化しているということで、解説がwww.chips.ibm.comに載っていました。POWER3のことも載っています。
 じゃ予想を上方修正して、今世紀中には5GHzはいくなあ。

1997.10.24 #22 16進の文字

 32bitは16進では8文字。0から9とAからFで表現するが、このうちA-Fまででどんな単語があるだろうか。
というのもSunのある資料を読んでいると、メモリの空き領域を0xDEADBEEFという値で埋めている例があった。他にも0xCAFEBABEというのがあるらしい。えらく気に入ったので、他にどんな組み合わせがあるか調べてみた。(これ)
これはSunOSなどに入っている英語辞書のテキスト(/usr/dict/words)からegrep '^[abcdefABCDEF]$'で取り出したもの。蛇足ながらこれはaからfまでのアルファベット1文字以上のみでできた単語という正規表現です。
 バリエーションが足らん!という方は 0→O,1→I,2→Zまたはto,4→for,5→S,9→Qなどと読み替えると組み合わせ数がぐっと増えます。これでデバッグが楽しくな…ると…いいです…ね。うん。

1997.10.15 #21 New Processor

 MicroProcessorForumでIntelとHPが共同開発しているMercedが発表されました。インテルのニュースリリースによると、"VLIW"ではなく"explicitly Parallel Instruction Computing(EPIC)"だそうです。
 あとはIBMの64bitプロセッサPOWER3やSunの600MHz Ultra-SPARCIIIとか。今世紀中には1GHzいくなあ本当に。

1997.09.08 #20 MacにOSいっぱいインストール計画

 OSのインストールはアプリケーション等を動かすための手段のひとつではあるが今回はOSのインストール自体が目的である。さてどれだけできるか。
・Macintosh LC630 (68LC040)
 68系Mac用にはLinuxやFreeBSDがあるが、サポートしているのは68030搭載機種がメイン。なぜ68LC040はダメかというと、浮動小数点関係にバグがあり、ソフトによる浮動小数点エミュレータがうまく動かないらしい。一番簡単な解決方法は、68040を買ってきて68LC040と交換すること。このあとFreeBSDを入れる。
・PowerMacintosh 6300/160 (PowerPC603e)
 BeOSはこのPCIベースの603eで動作する。(このため選んだようなもの)わははは。Linuxは今のところ601もしくは604しかサポートしていない。他にUnixを動かしたければMacOSのアプリケーションとして動かすMacTen Codebuilderがある。X11R6付き、Tシャツ付きで22,000円で見かけた。あとはVirtualPCやSoftWindows等のWindowsエミュレータが面白そう。
 「何に使うの」と問うてはいかん。愚問である。
追記: BeOS PreviewRelease(2回分のアップデート付き)をぷらっとホームで購入。ユーザーズガイドが入っていた。

1997.09.04 #19 IBM360とMC68000

 「コンピュータの構成と設計」(パターソン&ヘネシー)下巻を読んでいたら、アドレス空間について以下のような記述があった。
 IBM360のアーキテクトはアドレス・サイズの重要性を認識しており、アドレスを32ビットまで拡張できるようにアーキテクチャを計画した。しかし実際には、IBM360では24ビットしか使用されなかった。その理由は、大きなアドレス・サイズを使用した場合、下位モデルの速度が遅くなることが懸念されたからである。不幸なことに、アドレス・ビット中の「未使用」の上位8ビットを独自の情報を格納するために利用するプログラマがいたために、後でアドレス・サイズを拡張しようとする作業は混乱を極めた。
 これに似た様な話を何かで読んだことがある。Macintoshで使用しているマイクロプロセッサ、MC68000もアドレスサイズは32ビットだけど実際に有効なのは24ビットで、やはり余った8ビットをプログラマが使用していた。これらのソフトは32ビットに対応したMC68020を搭載したモデルでは動かなかったらしい。
 仮にアドレッシング用のレジスタ(A0〜A7)の上位8ビットを常に0になるようにしていたとすると、データ用の32ビット幅のレジスタ(D0〜D7)とのデータ転送で情報が欠けてしまう。また、アドレスレジスタにストアすれば上位8ビットが0になることを利用したプログラムが書かれただろう。
 アーキテクトが予期しなかった使われ方をされた例だが、これはやはり拡張性を犠牲にしたプログラマの責任か。

1997.09.01 #18 BeOS DR9(PR)でまた遊ぶ

 雑誌MacTechの付録で入手したBeOS DR9 PR (前回はAAPR) をインストール。外付けのSCSIディスクにあっさりと入りました。今回のリリースにはviエディタが付属しているので、早速それでhello.cを書いてコンパイル。(ソースリストはみんな知っているので略) ああ、動く。これで私もデベロッパー。[勘違いしつつ、続く]

1997.08.22 #17 VIC-1001を譲り受ける

 帰省して、家を新築した友人の所へ遊びにいったら、高校のころ使っていたVIC-1001が出てきた、ということで貰ってきました。たしか主記憶は5キロバイトだったような。ROMカートリッジのPACMANで遊んでいたなあ。しかし見つかったのは本体のみで、ROMカートリッジとマニュアルはありませんでした。あのマニュアルには6502(CPU),VIA(I/O),VIC(VIDEO)それぞれのチップの詳細な解説が載っていたのに。
 後日、その友人から連絡がありました。「ライトペンがあったぞ」「そんなもん持ってたの」「お前が作ったんやろーが」 だんだん思い出してきた。当時の雑誌に載っていたのを作ったんだった。その他にもデータが入ったカセットテープが数本。ラベルにはすぐにわかる私の字。そうか、このパソコンは昔から私が使っていたのか。
そういや大学のマイコンクラブにもVIC-1001はあって、これ用に3KB-RAMの拡張基板を作ったことがありました。(素子は2114×6個を使用) 今度は手持ちの32KB-RAMを載せてやろう。
※Altavistaあたりで"VIC-20"で検索すると800件ぐらい引っかかります。

1997.07.22 #16 LISPマシンELISで遊ぶ

 ELISの思い出その3。当時私は巨大な日本語辞書と格闘していまして、そのデータをELISで処理しようとしていました。しかしUNIXには標準であるSORTコマンドがELISにはありません。sort関数はあるけど、ソート対象が巨大だとシステムがダウン。ELISには仮想記憶がない。そこで一週間考え(もっとかかったかもしんない)、N.Wirthの本を参考にしながら外部ソートのプログラムを書いてみました。入力ファイルを主記憶に入る程度のサイズに分割し、同時に読み込み、比較して小さい順に吐き出していくマージソートという手法でやったらうまくいったんですが、ガベージコレクションがしょっちゅうかかり、ソート完了まで結構な時間がかかりました。
 ELISの貸し出し元であるNTT-ITの方が使用状況を確認に来られたので、このソートプログラムについて聞いてみたら「作り方が悪い」そんなミもフタもないお言葉… そもそもガベージコレクションを避ける様な書き方をしなければならないそうで、私のプログラムはセルを浪費しすぎだったようです。
 ん〜難しいぞLISP。つづく

1997.07.17 #15 LISPマシンELISのPeek

 ELISの思い出その2。ELISには独自のウィンドウシステムがありました。コンソール画面はTAO Listenerと呼ばれていました。
 ELISにあって他のOS(UNIXやWindows/MacOS等)で見たことのないアプリケーションで、Peekというのがありました。これはいま現在オープンしているファイルシステムの入出力を表示し、ストリーム入力ならば転送量をパーセント表示してくれるという精神衛生上非常によろしいソフトでした。標準入出力をよく使うUNIX上にないかなあ。

1997.07.11 #14 パソコンマニア向け コネクタ接続一覧

 まずはhttp://www.blackdown.org/~hwb/hwb.htmlをどうぞ。パソコンに関するコネクタのピンアサインなどがたくさんあります。BeBoxのGeekPortやVIC-20(日本ではVIC-1001)のコネクタまで載ってました。

1997.06.25 #13 OS/2のCD-ROMの袋

 OS/2 warp4 のVoiceTypeDirection(ヘッドセット付)アップグレードを買ってしまった。 ヘッドセットに釣られて買ったのだがたいした物じゃなかった。IBMのサイトからダウンロードするかOS/2 MAGAZINEの付録CD-ROMの方が安上がりでした。
 しかしこのアップグレードCD-ROMはそのまま最新のパッチ適用済のOS/2をインストールできるので、旧版のOS/2は不要です。店頭で購入時ライセンス証書を提示するのですが、それでチェックは済ましている様です。(店によってはチェックなし)
 そのCD-ROMですが、warp4では雑誌付録のCD-ROMの袋にわざわざとじしろがついたようなのに一枚ずつはいってました。インストール時はえらい作業効率が悪いのです。今回のアップグレードではバインダみたいなのに三枚CD-ROMが入ってました。きっとクレームがついたんでしょう。でも、MicrosoftのWindows95やNT4.0,IBMのPC-DOS7.0/Vだとちゃんとプラスチックケースに入っているのになんでこんな所をケチるんだろ。

1997.06.18 #12 Prolog、マシンPSI

 学生の頃、払い下げのPSIとELISを使う機会があった。
 PSIはICOTの第五世代コンピュータプロジェクトの初期に開発されたPrologマシンで、業務用冷蔵庫並の筐体に512キロバイトものメモリが実装されていた。設置は三相200Vの電源工事も含め自分でやったのだが、作業をやってるうち、各部分に統一性がないのに気付いた。本体の200Vやディスプレイの電源はいいとして、コンソール接続ボックス、キーボード、マウスのACアダプタとそれぞれ別々の電源を要求するのだ。PSIは各部分を協賛するメーカーがそれぞれ担当したらしいが、それでこんな風になってしまったのか。
 結局、起動に30分以上もかかるPSIで遊ぶのはやめて(つーよりPrologを理解できなかった)、もうひとつNTT-ITから借用したLISPマシンELISを2年間使うことになるのだが、その話は[続く]

1997.06.16 #11 たまごっち発見

 昨日パソコンショップでWin95用のたまごっちCD-ROMを見つけました。やあ、危うく買うところでした。買っても家では遊べないよね。
 ある時計屋さんでたまごっち(本物)と時計を抱き合わせて一万円で売ってましたが、時計屋のプライドはないのかーっ。
※追記 たまごっちもいちおう時計でした

1997.06.13 #10 出荷試験装置のアイデア

 計算機の出荷テストをする時には各種のテストプログラムを走らせて動作確認を行います。普通はハードディスク上に各種テストプログラムがあってそれを走らせるのですが、中にはBootROMに入れて動作させるものもあります。このROMを毎回差し替えるのは作業効率を落とすので、外部からROMデータを切り換える装置を作ったりするわけです。
 んで、私が考えたのはテストする計算機側に赤外線インターフェースを備えたボードを取り付け、リモコンでプログラムを選んで実行する、というものです。[9][9][9]の[0][1] [予約]などと押すとプログラムが転送されリセットがかかり勝手にテストしてくれるのです。この話を周囲の数人にしたら一笑に付されました。
 いいと思うんだけどなあ。

1997.06.13 #9 ページャ+マイコン=インフォネクストS21

 NTTドコモから発表されたインフォネクストS21はPCMCIAカードにインフォネクストD11相当の機能をPCMCIAカードに入れ、パソコンとのデータのやりとりができるんだそうです。雑誌で見た情報によるとChipCard相当の機能を持ちプログラミング可能とか。
 インフォネクストD11はモニター応募したら当たったので今使ってますが、電子メールのメッセージを受信して表示できるので便利です。このデータをページャ自身で加工したりできるんでしょうか。プログラミング環境が簡単に用意できるのであれば使ってみたいものです。

1997.06.11 #8 BeOSで遊ぶ!

 続きです。BeOSのapplicationフォルダからterminalを選択しクリックするとコンソールウィンドウが開き、UNIXと同じコマンドが使えます。早速hello.cをコンパイルしてみました。おおこれこれ。ちなみにviは無かった(^^; [続く]

1997.06.10 #7 BeOS導入!(いれただけ)

 やっとBeOS DR9を入手しました。雑誌MacTechの付録です。この日のために用意しておいたPowerMac6300/160(動作リストのPerforma6360と同等品)の外付けディスクにインストール。何の問題もなくブートしました。デモをいくつか動かしてみましたが漢字Talk7.5よりも軽い気がする。いまメモリは16MBしかなく、漢字Talkではアプリケーション1つか2つ起動するのがやっとですが、BeOSの方はフライトシミュレータとボールが弾むデモ、ロゴが回転するデモを同時に動かしても問題ありません。内部はUNIX互換のコマンドもあるようだし楽しみです。
 Be社のホームページ http://www.be.com

1997.06.05 #6 BSDLとは?

 昨日、いきなり「BSDLを作れ」と言われても何のことやらわからないので調べて見ました。まずは手持ちの雑誌から:
DESIGN WAVE MAGAZINE No.8(CQ出版) 重点企画 マルチメディア機器の検査・故障診断技術, p.100 バウンダリ・スキャン検査技術,(塗矢康三、平山勝啓)
 によるとBSDLとはBoundary Scan Description Language の略で、LSIのバウンダリスキャン回路の動作を記述したもので、言語仕様はVHDLのサブセットだそうです。一般的に半導体メーカが提供するファイルなので、LSI設計元であるウチで用意しろということのようです。
 ためしにAltavistaで"BSDL"を調べてみたらたくさんありました。
おまけ:
TIのホームページ BSDLの説明

1997.04.24 #5 シナジー幾何学からの手紙

 「GADGET - past as Future」怪しい機械としか出て来ないCD-ROMのアドベンチャーゲーム「GADGET」の完全版を楽しんでおりましたら一部でいきなりWindowsのダイアログボックスが出てきてファイル名をたずねてくることがありました。アンケートはがきにそのことを書いて送ったら開発元のシナジー幾何学から調査結果を記した手紙が送られてきました。参照するファイル名の後ろにアンダースコアが残っていて、Windows95では(ファイル名が間違いでも)参照できるもののWindowsNT4.0では参照できず上記の様な現象が起こるということ、WindowsNT4.0では恥ずかしながら詳細な動作テストを行ってないといったことが書かれてありました。アンケートはがきはDMを送るときの参考にしかしないだろうと思ってたんですが、ちゃんと読んでユーザにフィードバックしてくれるんですねシナジー幾何学は。同封されていたステッカー多数は粗品でしょうか:-)
 今朝コンビニで「GADGET - past as Future」のサンプル版みたいなのを見つけました。1980円。うーむ押さえておきたいが・・・
シナジー幾何学

1997.04.09 #4 DDIのαDATAはISDN 32Kbps対応

 DDIグループが提供しているPHSのデータ通信サービス「αDATA」が4月1日よりISDN 32Kbpsの通信に対応しました。それまでは14.4KbpsのFAX/MODEMしかサポートしてなかったんですが、なんと通信カード側にあらかじめ隠しコマンドが用意されていたのでした。DDIが公開している通信カードの設定方法はこちらです。私が使っているのはセイコー電子工業のMC-6500ですが、説明書には何にも書いてなかった様な気がする。
 αDATA32という規格もあってこれは αDATA + PIAFS のことらしく、αDATA規格のみで32Kbpsの通信はできる、ということでさっそく今夜試してみよう。

1997.04.07 #3 香港でLSIを設計すると・・・

 昨日の夜テレビで風水の特集をやってたんですが、香港あたりでLSIのレイアウトをやるときはやはり風水師が配置を決めるんでしょうか。ビルの建設も風水に従ってやる位ですからひょっとしたら。どなたかご存じの方は教えてください。

1997.04.02 #2 浮動小数演算プロセッサ(FPU)のフラグについて

 浮動小数演算が存在する・しないを表すフラグはなんで有るんだろう?
 昔のCPUでは浮動小数演算は外付けのコプロセッサでやっていたため、そのコプロセッサが存在するかどうかはステータスレジスタに反映されていた。存在しない場合はソフトウェアによるエミュレータによって浮動小数点演算を行っていた。最近のCPUはFPUを内蔵しているため、フラグは(互換性を無視すれば)いらないんじゃないだろうか。
 しかし、SPARC-V9アーキではFPUのEnable/Disableフラグがある。プログラム側でFPUを無い様に見せるのはどういった理由だろうか。
 と考えていたら雑誌(SuperASCIIか日経バイトかどっちか)に記事があった。OSのコンテキスト切り換え時にいままで使っていたレジスタの値を保存するが、そのプロセスが整数演算しか使わないと判っている場合はFPUをdisableすることによりFPUのレジスタを保存する必要がなくなる。これによりコンテキスト切り換えが高速になる、ということだった。
 おおなるほど。知らなかった。

1997.03.21 #1 高クロックではベタ・アースより平行ペア線が良い

 DESIGN WAVE MAGAZINE No.8(CQ出版)の記事"高速ディジタル回路用のプリント基板技術の実験的考察"(大塚寛治)によると、166MHzのパルス伝送ではベタ・アース基板より単層ペア配線基板の方が特性がよいという結果が報告されています。高速信号の伝送ではベタ・アースの容量成分が影響するそうです。また、この記事では技術者の高速化設計に対する努力不足を指摘しています。


 竹下世界塔へ