第8回:G850S最速伝説?

6行表示のPC-G850シリーズには4つの機種が存在し、
発売順にG850、G850S、G850V、G850VSとなるのは多くの方がご存知だと思います。

これら4機種の中で、ネット上ではシリーズの2機種目である『G850S』が最速という噂があります。
しかし4機種とも所有している私の感覚ではそれぞれの機種の速度的な差異はあまり感じられませんし、
『G850S』が最速という根拠もあまり感じられなかったのも事実です。

そこで今回は簡単なベンチマークテストの様なプログラムを作り、
それぞれの機種の実行時間を測定してどの機種が速いのか、
そして機種間でどれくらいの差があるのかを確かめてみる事にしました。

ちなみに4行表示のG800シリーズの中ではフルドットの機種である『G815』が体感できるレベルで遅いです。
しかしそれ以外のE200、G801、G802、G811、G820、G830等は速度的な差異はほとんどないと思います。


 BASIC編 

プログラムは以下のようになります。
10:CLS :A=65:X=0:Y=0
20:FOR Q=0 TO 13000
30:LOCATE X,Y:PRINT CHR$ A
40:A=A+1:IF A=91 LET A=65
50:X=X+1:IF X=24 LET X=0:Y=Y+1:IF Y=6 LET Y=0:CLS
60:NEXT :CLS :PRINT ”END”:END

プログラムを実行すると画面の左上からアルファベットをA、B、C…と1文字ずつ表示していき、
Zまで行くとまたAに戻ります。
アルファベットが右下まで表示しきると画面がCLSされ、また左上から表示されます。
これらを既定のループ回分数繰り返して、最後にENDと表示され終了します。
プログラムの実行時間は『G850S』で実行した時に約3分の長さになるように調整しています。

実行イメージです。

測定方法は各機種とも3回ずつストップウォッチで測定し、その平均値を出しています。
参考としてE200/G800エミュレータ『g800』(G850VSのROMイメージ読み込ませ済)でも測定してみました。

▼結果発表▼

機種G850G850SG850VG850VS エミュレータ 
タイム 2分53秒69  2分59秒44  3分13秒59  3分13秒38 2分42秒52
順位
 1位との差 5秒7519秒9019秒69

エミュレータが実機よりもかなり速いのですがそれはさておき、
順位としてはG850、G850S、G850VS、G850Vとなりました。

G850VとG850VSは僅差ですがこれは測定方法による誤差ではなく、
G850VとG850VSを同時に実行した場合でもG850VSの方が僅かに速く終了する事が確認できました。

『G850S』はG850VやG850VSと比べるとかなり速いのですが、最速は初代『G850』という結果になりました。


 マシン語編 

次にマシン語で同じ動作をするプログラムを作ってみました。
BASICプログラムとの違いは、アルファベットを1文字表示した後に時間稼ぎのタイマーを入れています。

割と忠実にBASICプログラムをマシン語にコンバートしていますので、
マシン語をこれから勉強しようと思っている人は参考にしてみてはいかがでしょうか。

プログラムは以下のようになります。
10      ORG   100H
20      CALL  CLS
30      LD    A,65    ;『A』のキャラクタコ−ド
40      LD    (BOX),A
50      LD    HL,0    ;X=0,Y=0
60      LD    (XZA),HL
70      LD    BC,13000;ル−プ回数(BASICプログラムに合わせた)
80L1:   PUSH  BC      ;ここからメインル−プ
90      LD    DE,(XZA)
100     LD    A,(BOX)
110     CALL  0BE62H
120     LD    HL,BOX
130     INC   (HL)
140     LD    A,(HL)
150     CP    91
160     JR    NZ,NEX
170     LD    (HL),65
180NEX: LD    HL,XZA
190     INC   (HL)
200     LD    A,(HL)
210     CP    24
220     JR    NZ,NE2
230     LD    (HL),0
240     INC   HL
250     INC   (HL)
260     LD    A,(HL)
270     CP    6
280     JR    NZ,NE2
290     LD    (HL),0
300     CALL  CLS
310NE2: LD    BC,0632H;ここからタイマ−
320L2:  DEC   BC
330     PUSH  BC
340     PUSH  BC
350     POP   BC
360     POP   BC
370     LD    A,B
380     OR    C
390     JR    NZ,L2   ;ここまでタイマ−
400     POP   BC
410     DEC   BC
420     LD    A,B
430     OR    C
440     JR    NZ,L1
450     CALL  CLS
460     LD    DE,0
470     LD    HL,EN
480     LD    B,3
490     JP    0BFF1H
500EN:  DB    ’END’
510BOX: DB    0      ;キャラコ−ドを入れる箱
520XZA: DB    0      ;X座標
530YZA: DB    0      ;Y座標
540CLS: LD    DE,0   ;CLSの代わり(サブル−チン)
550     LD    A,20H
560     LD    B,24*6
570     JP    0BFEEH

▼結果発表再び▼

機種G850G850SG850VG850VS エミュレータ 
タイム 2分59秒93  3分00秒33  2分59秒83  2分59秒59 2分31秒46
順位
 1位との差 0秒340秒740秒24

相変わらずエミュレータが実機よりもかなり速いのですがそれはさておき、
想像していたよりも均衡した結果となりました。
そして最速の称号を持つ『G850S』が最下位になってしまいました。これは意外でしたね。

G850VとG850VSはハイコントラスト液晶を搭載し、消費電力も抑えられています。
そのためCPUのクロック数もG850やG850Sに比べて遅くなっているという話もありますが、
今回の結果を見る限りではクロック数は変わっていないような気がします。


 最後に 

今回のプログラムに使用した命令は、BASICとマシン語の命令のごく一部に過ぎませんので
当然この結果が全てではありません。
個人的にはBASICプログラムでは随分と機種間で差が開いたなと感じました。

私は普段はマシン語でプログラムを組む事がほとんどなので
それぞれの機種での速度的な差異はあまり感じられなかったのかもしれませんね。

この実験によりG850シリーズの優劣が決まるものではありません。
G850シリーズは処理が高速で、出回っている本体の数も多く、電卓としても使い勝手の良いポケコンですので、
これを見て興味を持った人はG850シリーズを入手してみてはいかがでしょうか。



もっと知りたいINDEX第1回第2回第3回第4回第5回第6回第7回第8回

TOPページに戻る
 
  inserted by FC2 system