誤植があったのでなおした。ビデオ周りの説明が変だったのでなおした(赤い部分のあたり)。SRM BIOSについてちょっと記述。
後日、IntelPCの方が速度が高速になりAlphaは使用しなくなりました。個人的には速さにだけ興味があってアーキテクチャに興味があった訳ではないので、使わなくなったのも流れというものでしょう。ただそこにAlphaPCがあるならそれを捨ててしまうのはもったいないし、cccを使えばそれなりに速くなります。巧く使えば、いろんな働きはしてくれるでしょう。ただし、次の事を把握して使うことをお薦めします。
やると比較的ハマるのにゲインが少ないこと
以上のようなことを踏まえて使えば別に今でも使えないアイテムではありません。
もはや最近はAlphaウォッチャではないですが、一応、あるときAlphaを見つけてしまった人のためにアドバイスを :)
ARC BIOSもAlphaBIOSも同様に、WindowsNTをブートするための、BIOS。
ARCBIOSは、PC164、EB164時代にあったBIOSで、メニュー形式のCUI。
AlphaBIOSは、PC164LX(LX164ともいう)時代のBIOSで、GUIが付く。本質的にはあまり変らない。
PCのBIOSと違って非常に多機能で、HDDの物理フォーマットから、FAT16の論理フォーマットも出来る。
また、FAT16のファイルもアクセスでき、そのファイルを実行することができる。
miloにはブートメニュー設定があるが、これは、
どの(BIOSでアクセスできる)ボリュームから、
どの実行ファイルを、
どういうオプションをつけて実行するか?
という設定でしかない。非常にクリーンな設計である。
つまり、BIOSはLinuxをブートするとき、linload.exeという実行ファイルをmiloというオプションつきで実行し、
miloにその処理が移ることになる。また、miloのコマンドプロンプトにも、このBIOSに打ち込むことができるのである。
また、そのマシンにNTが入っているときは、FAT16のosloader.exeを実行している。これもまた同じ要領である。
MiloはMiniLoaderの略で、ソフトBIOSの一部だと思えばよい。PCでつかうLILOとは違い、ただのローダではない。
ちょっとしたMINI OSのようになっていて、lsなども使える。osのbootも出来る。
lsでHDDをアクセスするためには、SCSIやIDEのドライバが必要になる。bootも同様。つまり、miloはソフトBIOSやミニOSのようなもので、
マザーボードや接続される機器事にコンパイルする必要がある。自分でコンパイルすることも可能だが、gatekeeper.digital.comに、
それぞれのマザーボードで標準的なドライバを含んだmiloがあるので、だいたいのケースではそれでほぼ間違いなく動作する。
だいたい、AlphaのBIOS自体、いくつかの接続機器のドライバは含んでいるので(そうでないとFAT16のフォーマットとかは出来ないし)、
それ以外のものがブート時に必要なることは、あまりないだろう。
コマンドプロンプトでは、linuxライクなコマンドが入力でき、
ls /dev/fd0
でFDを一覧することができる。
miloでLinuxをブートする場合、
boot fd0:vmlinux.gz root=/dev/fd0 <以後カーネルオプション>
~~~~カーネル ~~~~~~~~~~~~~~ルートの場所
と指定すればよい。もちろん、違うカーネルで立ち上げたければ、ファイル名を変えれば良いし、
カーネルだけFDDなどの別のドライブから読むこともできる。
このコマンド入力を、BIOSのOSOPTIONSで指定できるが、省略すると手入力できる。
PCに比べてたら、カーネルがブートできなかったときの復旧手段がいくらでもあるのだ。
PC164で動くAlphaにはそれ以外にSRM BIOSがあります。基本的にはDigital UNIXのためのBIOSです。UNIXらしく、コンソールをシリアルに設定することも出来るので、ビデオカードを見つけられなくてもそれさえ入れれば、なんとかなるかもしれません(ただ、SRMBIOSを入れるまでの間にビデオなしで入れられるかどうかは覚えてないが)。
SRM BIOSを使ってLinuxをブートすることも出来ますが、なぜSRMBIOSを手に入れたかというと、netBSDが動かしたかったからです。
結論からすると、頑張らないとほとんどまっとうに使えなかったので、結局Linuxに戻してしまいました。上記でLinuxを押したのは、cccがLinuxのためにかかれているから・・・ということです。
RISCはもともとコンパイラと一緒に作成するものなので、gccやegcsのような標準的Cコンパイラでは最適化が足りなく、
CPU本来の速度がなかなか出てこない。
Linux/Alphaは結構古くからある非x86ベースのLinuxであるが、いざ動かしてみると、言われているほど速くなく、
一方でx86の猛烈な高速化にあまり、使うメリットは見いだせない状態でいた。
その後、よく使うMathライブラリに関しては、有志の手によって最適化され、それ相応に効果は出していたが、
関数はともかく単純な演算はコンパイラが行うことなので、結果的に使う側に努力が必要だった。
先日、CompaqがNTを断念するに伴って、ccc(旧DEC-CC)を無料で公開するに至った。
インストールは、rpmなので一瞬で終る。手順は次のとおりだ。
下記は、とあるベンチだが(もとはここにあり)
Alpha PC164LX 533 MHz | RedHat Linux 5.2 | egcs 1.1.1 R (-O2) | 333.000 sec. |
Alpha PC164LX 533 MHz | RedHat Linux 5.2 | Compaq C 6.2.0-2 (-O2) | 263.100 sec. |
Alpha PC164LX 533 MHz | RedHat Linux 5.2 | Compaq C 6.2.0-8 (-fast -lcpml) | 171.100 sec. | Sun Ultra 10 UltraSPARC 333MHz | Solaris 7 | cc -O | 912.643 sec. |