2009年10月13日
大人の科学「4bit マイコンGMC-4」
本屋さんの前をとおると、いつも気になっていた大人の科学 Vol.24「4bit マイコン GMC-4」。
買っちゃいました。
ワンボードマイコンといえば、NEC TK-80ですが、世代的に触ったことはなく。
大学の実習で、教育用マシン語CASL互換のものを使ったことがある程度だが、それでも8bit CPUだった。
64bit CPU全盛の今の時代、なぜに4bitなのか。
冊子によるとGMC-4は、学研電子ブロック FXマイコンR-165と互換をもたせて開発されたものとのこと。
しかも、いまや4bit CPUなんて作っているところがないらしく、GMC-4では8bit CPUを載せて、4bit CPUをエミュレーションしているという。
よく作ったものである。
iphoneほどの大きさで、単三乾電池三本で動くモバイルマシンである。(笑)
ぼくは小学校の頃、電子ブロックEX-150は友達が持っていたので、遊んだことがあるが、R-165というのは知らなかった。
さて、4bitとは、いかほどのものか。
CPUが4bit(0~15)なので、命令コードは、0~15の16種類。
そのうちのひとつの命令がサブルーチンコールであり、サブルーチンは16個用意されている。
なので、命令として揃えられているのは、15+16で31種類。かろうじて足し算、引き算はあるが、右bitシフトがあっても左bitシフトはない。
命令コード表は、こちらのブログで上手にまとめてくれている。
入力は、0~Fの数字キーと、アドレスセット、アドレスインクリメント、実行、ソフトウェアリセットの4種類。
出力は、デジタル表示の数字LEDが1つに、二進(ON/OFF)LEDが8個、圧電スピーカによるBEEP音(16段音階)。
メモリーは、00番地から5F番地までの96バイト。
プログラム領域が80バイトで、残りの16バイトがデータ領域。
4bitなので、1バイトで2ワードの命令が入る。ただしアドレス指定は、2ワード(1バイト)使う。
レジスタは、4種類(A,B,Y,Z)+裏レジスタ4種類(A',B',Y',Z')。
アセンブラはないので、ひたすら手作業でコンパイルしなければならない。
JUMP命令とかは、アドレスを数えたりと、かなり苦行だ。
マシン語は、電気回路とソフトウェアの境目に位置するプログラム。
Cやrubyの高級言語に慣れてしまった今のぼくの思考には、この限られたリソースを使ったロジックは、かなり難解なパズルだ。
GMC-4が発売されて、三カ月。GMC-4でググると、いろいろ楽しいものがみつかる。
アセンブラ
http://scratch.mit.edu/projects/abee/591249
Cコンパイラ
http://terus.jp/engineering/gmc4cc/
BASICコンパイラ
http://softyasu.net/g4cbasic.html
USB接続してキーボードから入力するインターフェースの作成
http://airvariable.asablo.jp/blog/2009/08/21/4530702
冊子のほうは、計算尺からENIACまでの機械式計算機の歴史と、Apple II、TK-80あたりからPC-9801あたりまでのパソコン黎明期の歴史など、なかなか楽しく読めた。
アスキーっていう会社は、ほんと日本のパーソナルコンピュータ技術の牽引役を十分にはたした、なくてはならない会社だったんだな、と改めて思う。
また、記事のなかで、テグザーが紹介されていて、これはたしかに楽しかった、とノスタルジックになってみたり。
mixiアプリのグラディウスのように、今のプラットフォームでプレイできないかググってみると、PS3でリニューアルして、テグザー NEOなんてのが出ているらしい。
ちょっとやってみたい。
今の時代に4bitコンピュータ。
ぼくがコンピュータをはじめたころ(PC-8001の時代)は、すでにBASICのスクリーンエディタがあった。
今でこそ、こうしたハンドアセンブルも、エディタ上でやれば、さほど苦労もないが、TK-80の時代のように紙の上でコンパイルをするしかなかった時代や、パンチカードで入力をしていた時代の先人には、ほんとうに頭が下がる。
ただ単にプログラムがかけるというだけでなく、コンピュータそのものの動作原理まで理解するには、GMC-4は、なかなかよい教材だと思う。
GMC-4で遊んで、横に置いておいたiphoneを手にとると、30年の歳月をタイムスリップした眩惑を感じる。
買っちゃいました。
ワンボードマイコンといえば、NEC TK-80ですが、世代的に触ったことはなく。
大学の実習で、教育用マシン語CASL互換のものを使ったことがある程度だが、それでも8bit CPUだった。
64bit CPU全盛の今の時代、なぜに4bitなのか。
冊子によるとGMC-4は、学研電子ブロック FXマイコンR-165と互換をもたせて開発されたものとのこと。
しかも、いまや4bit CPUなんて作っているところがないらしく、GMC-4では8bit CPUを載せて、4bit CPUをエミュレーションしているという。
よく作ったものである。
iphoneほどの大きさで、単三乾電池三本で動くモバイルマシンである。(笑)
ぼくは小学校の頃、電子ブロックEX-150は友達が持っていたので、遊んだことがあるが、R-165というのは知らなかった。
さて、4bitとは、いかほどのものか。
CPUが4bit(0~15)なので、命令コードは、0~15の16種類。
そのうちのひとつの命令がサブルーチンコールであり、サブルーチンは16個用意されている。
なので、命令として揃えられているのは、15+16で31種類。かろうじて足し算、引き算はあるが、右bitシフトがあっても左bitシフトはない。
命令コード表は、こちらのブログで上手にまとめてくれている。
入力は、0~Fの数字キーと、アドレスセット、アドレスインクリメント、実行、ソフトウェアリセットの4種類。
出力は、デジタル表示の数字LEDが1つに、二進(ON/OFF)LEDが8個、圧電スピーカによるBEEP音(16段音階)。
メモリーは、00番地から5F番地までの96バイト。
プログラム領域が80バイトで、残りの16バイトがデータ領域。
4bitなので、1バイトで2ワードの命令が入る。ただしアドレス指定は、2ワード(1バイト)使う。
レジスタは、4種類(A,B,Y,Z)+裏レジスタ4種類(A',B',Y',Z')。
アセンブラはないので、ひたすら手作業でコンパイルしなければならない。
JUMP命令とかは、アドレスを数えたりと、かなり苦行だ。
マシン語は、電気回路とソフトウェアの境目に位置するプログラム。
Cやrubyの高級言語に慣れてしまった今のぼくの思考には、この限られたリソースを使ったロジックは、かなり難解なパズルだ。
GMC-4が発売されて、三カ月。GMC-4でググると、いろいろ楽しいものがみつかる。
アセンブラ
http://scratch.mit.edu/projects/abee/591249
Cコンパイラ
http://terus.jp/engineering/gmc4cc/
BASICコンパイラ
http://softyasu.net/g4cbasic.html
USB接続してキーボードから入力するインターフェースの作成
http://airvariable.asablo.jp/blog/2009/08/21/4530702
冊子のほうは、計算尺からENIACまでの機械式計算機の歴史と、Apple II、TK-80あたりからPC-9801あたりまでのパソコン黎明期の歴史など、なかなか楽しく読めた。
アスキーっていう会社は、ほんと日本のパーソナルコンピュータ技術の牽引役を十分にはたした、なくてはならない会社だったんだな、と改めて思う。
また、記事のなかで、テグザーが紹介されていて、これはたしかに楽しかった、とノスタルジックになってみたり。
mixiアプリのグラディウスのように、今のプラットフォームでプレイできないかググってみると、PS3でリニューアルして、テグザー NEOなんてのが出ているらしい。
ちょっとやってみたい。
今の時代に4bitコンピュータ。
ぼくがコンピュータをはじめたころ(PC-8001の時代)は、すでにBASICのスクリーンエディタがあった。
今でこそ、こうしたハンドアセンブルも、エディタ上でやれば、さほど苦労もないが、TK-80の時代のように紙の上でコンパイルをするしかなかった時代や、パンチカードで入力をしていた時代の先人には、ほんとうに頭が下がる。
ただ単にプログラムがかけるというだけでなく、コンピュータそのものの動作原理まで理解するには、GMC-4は、なかなかよい教材だと思う。
GMC-4で遊んで、横に置いておいたiphoneを手にとると、30年の歳月をタイムスリップした眩惑を感じる。
- 共通テーマ:
- 自作PC テーマに参加中!