カーネル/VM探検隊の発表原稿

色々つらつらと書いていて気づいたのだが、ソースコードレベルでの解説を試みるならこんな与太話する時間ないと思う。
ボツかなぁこれは。と思ったので取りあえずここに貼ってみる。


MIPSの歴史
SGIワークステーションに長い間使われていました。
DECやソニーNECなどのワークステーションでも使われていました。
組み込み分野でも成功し、Windows CEマシン、ゲーム機(NINTENDO64、PS、PS2PSP)、ネットワーク機器など幅広く使われています。
1999年の時点ではRISCプロセッサの出荷数の1/3がMIPSでした。

現在はARMにお株を奪われた形でシェアがさがってしまいましたが、依然としてゲーム機やネットワーク機器を中心に広く使われています。

MIPSアーキテクチャで動作するBSD
オープンソースBSDで最初にMIPSで動いたのはNetBSDのようで、かなりの部分をMachカーネルから持ってきているみたいです。
リリースはNetBSD 1.2、1996年の事で対応機種はDECstationでした。
その後、様々な機種/プロセッサに対応しルータのファームウェアなどで実際に商用利用もされています(採用が公開されている例:IIJのSEIL)。

MIPSでSMP
MIPSでSMPを実装しているハードウェアとして代表的なものはやはりSGIワークステーションですが、既に歴史的なハードウェアである事、ハードウェアの仕様が公開されてない事などもあり、過去にSGIが開発に直接携わっていたLinux/MIPSでは対応しているものの、あまりBSDでは対応が進んでいません。

しかし、近年組み込み向けSoCとしてマルチコアなチップが出てきており今後もそのようなチップが増えて行く方向にある為、いずれ対応する必要が出てきます。

マルチコア対応しているチップとしては、以下のようなものが出てきています:
Broadcom SiByte SB-1シリーズ(1〜4コア、Ciscoルータに搭載)
・Cavium Networks OCTEONシリーズ(1〜32コア、ブロードバンドルータなどに搭載)
・中国科学院 龍芯三号(4コア、2010年発売予定)

また、SONYPSPに搭載されているPSP CPUはR4000×2の構成になっており、片側はIOプロセッサやメディアプロセッサとして利用されています。