Tagged: 68000

Buffy Acellerator

何か、この時代になってスゴイものが出てきた。

68000と差し替えて

MC68000というMPU(今で言うCPU)がある。
おそらく、プログラマブルなCPUとしては当時画期的なものだっただろう事は想像に難くない。
そしてこのMC68000を使って生み出されたものには、非常にインパクトのあるものが多く、また当時このMC68000を使ったコンピュータは一種のトレンドにもなった。
AppleのMacintosh、Amiga 500などの今で言うレトロPCもあれば、当時のゲームセンターで稼働していたアーケード基板にも必ずといっていいほど、このMC68000が搭載されていた。MSV(NEOGEO)も当然である。
そして家庭用を見ればメガドライブが搭載していた事でも有名になった。メガドライブはこのMC68000とZ80という2つのCPUがその性能を支えていた。後から追加できるMEGA CD本体にも搭載されていたので、メガドライブはまさにこのMC68000がなければ成立しないコンシューマ機であった。
そして忘れてはならないのが、シャープのX68000である。おそらく、その後の日本のプログラマーを多数育てたのは、このX68000ではないかと思う。
実際には、MC68000の派生CPUが使われていたケースも多々あるが、基本は同じである。
このMC68000が、一時代を支えていたと言っても過言ではない。
そのMC68000というCPUを差し替えるだけで高速化できるというオープンソースCPUプロジェクトが進行中である。まもなくハードウェアの生産が開始される見込みだそうだが、そのプロジェクトは2つの内容からなるものらしいが、そのウチの一つがハードウェアで、前述の差替ハード「Buffy Acellerator」である。
何とも凄い時代になったもんだ“吸血鬼殺し”の名を持つこの製品はFPGAやCPLDといったプログラマブルロジックデバイスを一切使わないという、生粋のCPUアクセラレータで、68000の64ピンDIPソケットと互換性がある。よって、Amiga 500/1000/2000などのCPUと差し替えるだけで高速化が可能になるという。

実際はエミュレータ

この「Buffy Acellerator」は、ハードウェアとしてはOctavo製SoC「OSD335x-SM」を採用したもので、1GHzで駆動するCortex-A8プロセッサである。512MBまたは1GBのDDR3メモリを統合しており、68000のエミュレータをeXecute-in-Place(XiP)フラッシュROM上で走らせて、自分自身を68000のように振る舞うよう作られている。
ボードは8層基板で、より安定した信号を実現するため3層はグランドとなっている。CPU以外にはレベルシフタやSPIフラッシュといった動作に必要な部品を実装しており、UARTとJTAG端子も用意されている。
68000エミュレータになる「PJIT」は、Buffy Acelleratorのソフトウェア部分にあたり、68000のエミュレーションを行ないながら、スレッド化されたJIT(実行時コンパイラ)により1,000MIPSという性能を発揮するという。これは68040が1,200MHzで動作した時に相当する性能である。ちなみに本家68040は最大40MHzだった。
とりあえず、本オープンソースでは全ての機能を実装していないため、400MHz相当以上の性能のみ保証するとしている。
エミュレータの「PJIT」はインタプリタのように命令を実行する。インタプリタとはプログラムを1行ずつマシン語に変換して実行していくスタイルで、Basic言語などと同様である。これに対してプログラム全てをマシン語に変換して実行するスタイルの事をコンパイルという。これらはそれぞれ一長一短がある。
インタプリタはジッターを抑える事ができ、効率を引き上げられるが、コンパイルのように速くはない…のだが、それは昔の話。今はハードウェア性能が非常に高いので、インタプリタで命令を実行しても遅いという感じは受けにくい。今のBasicと同じである。
コンパイルはコンパイラーという変換ツールで開発言語をマシン語へと変換するので、一度変換すると修正するのに時間がかかる。弱点ではあるが、最終的にパッケージ化しやすい側面もあるので、一長一短なのである。
ま、生データで動いてくれる方が、実際は楽なのかもしれないが、そのあたりは仕事でプログラマーをやっている人の方が詳しいだろうと思う。

Continue reading…

Desktop Version | Switch To Mobile Version