ようこそ、レジスタレスアーキテクチャの世界へ
Published by tanuma on 木曜日, 8月 15, 2013
FPGA評価ボードを買ったけど、サンプルを動かしただけで放置している方はいませんか?
電子工作にマイコンを使ってるけど、CPUの性能が低くて困ってる方はいませんか?
ちょっと(かなり)変わったCPUを使ってみたい方はいませんか?
このページでは、私が現在開発しているレジスタレスアーキテクチャによるマルチプロセッサについて、技術内容および関連コードを順次公開していく予定です。
マルチプロセッサというと、とても複雑で難解だと思われるかもしれません。でも大丈夫、とてもシンプルな構造でアマチュアの方でも十分手が出る程度のものです。(私もプロセッサに関してはアマチュアです。)
そして、構造がシンプルなだけでなく、小さなFPGAでも十分入るくらい回路がコンパクトで高速です。
このマルチプロセッサの特徴として、回路が非常にコンパクトであることと、キャッシュアクセス等によるタイミングの乱れがないため多くのデバイスをソフトウェアで直接制御できることが挙げられます。
例えば、安価なFPGAボード[DE0-Nano]を利用した場合、32ビットプロセッサを16個詰め込むことが可能です。さらに、簡単なVGA出力回路を付加すると、こういうことが出来たりします。
ボード上のSDRAMをVRAMとして画面表示していますが、このSDRAMの制御はほぼソフトウェアで行っています。50MHzのシステムクロックをそのままSDRAMに利用しているのでフルスピードとはいきませんが、命令とクロックが対応しているのでとても直観的でわかりやすいです。
さらに、加速度センサにアクセスして画面のスクロールを行っていますが、画面表示、加速度センサ読み取り、画面スクロール(VRAM開始番地設定)がそれぞれ個別のスレッドで並列実行しているので、何も難しいことはありません。
もうちょっと頑張ると、なんとカメラを直接つないだりすることも可能です。もっともっと頑張れば、ロボットの制御なんかもできそうですね。
現在公開中のデモシステムでは、ユーザーが自分で開発したソフトウェアをすぐに実行することが可能です。
ぜひ、お試しください。『デモシステム公開』 『デモシステム更新(カメラ制御)』
この新しいプロセッサ技術はまだまだ発展途上で皆様のお力添えを必要としております。コメントの書き込みを許可しておりますので、ぜひ忌憚ないご意見をお寄せください。
まずは、こちらからどうぞ。『レジスタレスアーキテクチャとは』