2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

8086 vs. Z80 vs. 6809 vs. 6502 その10

1 :ナイコンさん:2014/08/10(日) 15:25:26.31 .net
8086(8088)・Z80・6809・6502のうち、どのCPU(MPU)が優れているか議論するスレッドです。
CPU(MPU)アーキテクチャや周辺デバイス制御など
基本的に「石」に関連する議論なら、ほぼ何でもアリです。

■過去スレ
8086 vs. Z80 vs. 6809 vs. 6502 その9 (再び)
http://hello.2ch.net/test/read.cgi/i4004/1365951318/
8086 vs. Z80 vs. 6809 vs. 6502 その9 (短命)
http://ikura.2ch.net/test/read.cgi/i4004/1362833400/
8086 vs. Z80 vs. 6809 vs. 6502 その8
http://ikura.2ch.net/test/read.cgi/i4004/1333965297/
8086 vs. Z80 vs. 6809 vs. 6502 その7
http://ikura.2ch.net/test/read.cgi/i4004/1319314159/
8086 vs. Z80 vs. 6809 vs. 6502 その6
http://toki.2ch.net/test/read.cgi/i4004/1286766300/
8086 vs. Z80 vs. 6809 vs. 6502 その5
http://toki.2ch.net/test/read.cgi/i4004/1280380374/
8086 vs. Z80 vs. 6809 vs. 6502 その4
http://gimpo.2ch.net/test/read.cgi/i4004/1252639237/
8086 vs. Z80 vs. 6809 vs. 6502 その3
http://gimpo.2ch.net/test/read.cgi/i4004/1235851359/
8086 vs. Z80 vs. 6809 vs. 6502 その2
http://gimpo.2ch.net/test/read.cgi/i4004/1213527504/
8086 vs. Z80 vs. 6809 vs. 6502
http://bubble6.2ch.net/test/read.cgi/i4004/1165801265/
6809とZ80 part 2
http://bubble4.2ch.net/test/read.cgi/i4004/1093190685/
6809とZ80
http://bubble2.2ch.net/test/read.cgi/i4004/1008496410/

102 :ナイコンさん:2014/12/02(火) 23:09:13.78 .net
bitcoinでも掘るとか?

103 :ナイコンさん:2014/12/02(火) 23:10:40.37 .net
>>94
1バイトの命令(フェッチが軽い)で
16ビット値のロード/ストアとインクリメント、デクリメントまでやってくれるからな。

104 :ナイコンさん:2014/12/02(火) 23:28:28.84 .net
>>101
「1〜100まで足す」はもともとZ80有利ってことで設定されたお題で、
「けど6502でもそこまで酷いことにはならないよ」ということだろ。

105 :ナイコンさん:2014/12/02(火) 23:29:56.00 .net
6805だとどうなんの?

106 :ナイコンさん:2014/12/03(水) 02:07:56.43 .net
>「けど6502でもそこまで酷いことにはならないよ」ということだろ。

同じ時代の製品ならまあ当たり前。

107 :ナイコンさん:2014/12/03(水) 02:15:51.03 .net
>>104
>「1〜100まで足す」はもともとZ80有利ってことで設定されたお題で、

もともとは6502が速いって前提でのお題でしょ。

6502 は遅かったのか?
http://www.wizforest.com/diary/140728.html

で、Z80有利な条件でも6502は健闘してるって主張でしょ。

108 :ナイコンさん:2014/12/03(水) 11:40:50.96 .net
え?「1〜100まで足す」が「6502が速いって前提でのお題」なの?

109 :ナイコンさん:2014/12/03(水) 12:16:52.84 .net
> さて、先ほどは単純な機能でクロックを比較しましたが、これだと 6502 に
>有利な命令ばかり選んでいるのではないか、という気もします。
>もう少し、Z80に有利な条件で見てみましょう。
>
>Z80 はレジスタが多いですし、一部のレジスタでは 16bit 計算もできます。
>また、ループ専用の命令もあります。
>これらは 6502 にはないものです。
>
>また、Z80 はメモリアクセスが遅いので、レジスタの多さを活かしてメモリ
>アクセスがない題材を考えましょう。
>
>そこで、1〜100 の数字を全て足すプログラムを作ってみましょう。

110 :ナイコンさん:2014/12/03(水) 12:36:42.33 .net
1〜100だと合計は5050になるから集計する為には16bit値での計算になるって事か?

1〜1000までの合計を求めるという事にすりゃ集計値は500500で20bit長だし
足しこむ値も8bit値を超えるから、もっとZ80有利になるんか?

111 :ナイコンさん:2014/12/03(水) 13:15:44.71 .net
ちなみにAVRだとどんな感じ?

112 :ナイコンさん:2014/12/03(水) 13:53:00.19 .net
AVR、演算処理は8bit単位がほとんどだけど
正直8bitマイコンと言っていいのか疑問なんだがww

それはともかく、avrだと16bitのinc/dec使えるレジスタが制限される訳だけど
こいつは2クロックかかり、レジスタに定数読んどいてadd&adc/sub&sbcの2命令でやっても同じ速度だから余裕〜

z80のループ部分
addhl,de
inc de
djnz
をavrで
add
adc
sub
sbi
dec
brne
としても、add/adc/sub/sbi/decが1クロック、条件ブランチbrneが1/2クロックになって
6クロックぐらい…

113 :ナイコンさん:2014/12/04(木) 11:37:40.13 .net
http://www.wizforest.com/tech/Z80vs6502/multiply.html
Z80の8bit乗算は8bitの加算+右シフト使った方が速いのになぜかみんなADD HL,**を使ってしまう

114 :ナイコンさん:2014/12/04(木) 14:18:41.48 .net
>>113
お前が速い奴投稿すりゃいいじゃん

115 :ナイコンさん:2014/12/04(木) 19:13:27.82 .net
>>113
速いやつまだあ?

116 :ナイコンさん:2014/12/05(金) 06:28:45.23 .net
256bit乗算してみて

117 :ナイコンさん:2014/12/05(金) 18:51:25.21 .net
;Z80 16bit加算命令使用  H*L->HL
  LD E,L
  SUB A
  LD L,A
  LD D,A
  LD B,8
LOOP:
  ADD HL,HL
  JR NC,SKIP
  ADD HL,DE
SKIP:
  DJNZ LOOP
  RET
  
;Z80 8bit加算命令使用  D*E->DE
  LD B,8
  SUB A
  RR E
LOOP:
  JR NC,SKIP
  ADD A,D
SKIP:
  RRA
  RR E
  DJNZ LOOP
  LD D,A
  RET

118 :ナイコンさん:2014/12/05(金) 19:00:30.61 .net
n*(n+1)/2
6809だと乗算命令(D=A*B)があるので
[2](2)LDA #100
[2](6)TFR A,B
[1](2)INCB
[1](11)MUL
[1](2)LSRA
[1](2)RORB
で終わり。8バイト25クロック。6502、Z80の5〜6倍高速。

119 :ナイコンさん:2014/12/05(金) 19:03:29.34 .net
>>117
で、何クロック?
http://www.wizforest.com/tech/Z80vs6502/multiply.html;p1#unionZ80

120 :ナイコンさん:2014/12/05(金) 19:05:16.07 .net
>>118
6809は乗算は速くて当たり前なので次は除算を頼む

121 :ナイコンさん:2014/12/05(金) 19:05:22.91 .net
ランダムアクセス
[4](4) LDY #DATA
[3](5) LEAU YTABLE,PCR
[2](8) LDD ,Y++
[2](3) BMI END
LOOP:
[1](2) ASLA
[2](6) LDX A,U
[1](3) ABX
[2](6) LDA ,Y+
[2](4) STA ,X
[2](8) LDD ,Y++
[2](3) BPL LOOP
END:

YTABLE:
DEFW VRAM+$000, VRAM+$020, VRAM+$040, VRAM+$060, VRAM+$080, VRAM+$0A0, VRAM+$0C0, VRAM+$0E0
DEFW VRAM+$100, VRAM+$120, VRAM+$140, VRAM+$160, VRAM+$180, VRAM+$1A0, VRAM+$1C0, VRAM+$1E0
DEFW VRAM+$200, VRAM+$220, VRAM+$240, VRAM+$260, VRAM+$280, VRAM+$2A0, VRAM+$2C0, VRAM+$2E0
23バイト+テーブル48バイト。

1キャラクタの書き込みに 32クロック。これを 48回繰り返します。
前処理は 20クロック。合計1556クロック。6502より10%くらい速い。ちなみにDATAは
DEFB YPOS0,XPOS0,CHAR0
DEFB YPOS1,XPOS1,CHAR1
DEFB $80,0,0
というごく普通の形式。

122 :ナイコンさん:2014/12/05(金) 20:02:04.41 .net
>>120
いや、RSAに使える位の桁数で頼む。

123 :ナイコンさん:2014/12/06(土) 00:29:12.93 .net
>>119
1waitありで294クロックが250くらいになる

124 :ナイコンさん:2014/12/06(土) 01:10:45.53 .net
    LD  DE,101*25+100 ; 10 (11)
    LD  B,8         ; 7 (8)
    SUB A         ; 4 (5)
    RR  E         ; 8 (10)
LOOP:
    JR  NC,SKIP     ; 12 / 7 (13 / 8)
    ADD A,D        ; 4 (5)
SKIP:
    RRA           ; 4 (5)
    RR  E         ; 8 (10)
    DJNZ LOOP      ; 13 / 8 (14 / 9)
    LD  D,A        ; 4 (5)

11+8+5+10+8*(13+5+10+14)-5+5 = 370

125 :ナイコンさん:2014/12/06(土) 01:15:06.47 .net
誤    LD  DE,101*25+100 ; 10 (11)

正    LD  DE,101*256+100 ; 10 (11)

126 :ナイコンさん:2014/12/06(土) 01:21:08.43 .net
>>113
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < 速いコードまだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  愛媛みかん |/

127 :ナイコンさん:2014/12/06(土) 01:28:14.25 .net
    LD  DE,101*256+100 ; 10 (11)
    LD  B,8         ; 7 (8)
    SUB A         ; 4 (5)
    RR  E         ; 8 (10)
LOOP:
    JR  NC,SKIP     ; 12 / 7 (13 / 8)
    ADD A,D        ; 4 (5)
SKIP:
    RRA           ; 4 (5)
    RR  E         ; 8 (10)
    DJNZ LOOP      ; 13 / 8 (14 / 9)
    LD  D,A        ; 4 (5)
    SRL  D         ; 8 (10)
    RR  E         ; 8 (10)

11+8+5+10+8*(13+5+10+14)-5+5+10+10 = 390

128 :ナイコンさん:2014/12/06(土) 18:56:19.87 .net
>>123
マジかよ!スゲェな!! で、コードは?

129 :ナイコンさん:2014/12/06(土) 20:24:07.57 .net
開発者「このCPUなら同じコスト、同じクロックで倍近い性能が出せます!!」
上司「じゃぁクロックは半分にしてもいいね。」

130 :ナイコンさん:2014/12/06(土) 20:35:42.45 .net
> 上司「じゃぁクロックは半分にしてもいいね。」

半分にするメリット挙げないとリアリティないなあ。
安いメモリ使うとかビデオとクロック共用してコストダウンとかの例は実際にあったんだし。

131 :ナイコンさん:2014/12/06(土) 20:47:23.11 .net
メリット思いつくんだろ?だったらそれが理由でいいじゃん。

132 :ナイコンさん:2014/12/06(土) 20:53:11.40 .net
省電力

133 :ナイコンさん:2014/12/06(土) 20:54:46.02 .net
> メリット思いつくんだろ?

クロック半分にして得られるメリットなんて全く思いつかないよ。

134 :ナイコンさん:2014/12/06(土) 21:07:13.63 .net
省電力ならクロック落とすより止めること考えるべきだよなあ。

135 :ナイコンさん:2014/12/06(土) 21:14:09.05 .net
クロック半分なら新型じゃなくて安い普及型が使えるとか?

136 :ナイコンさん:2014/12/06(土) 21:21:32.10 .net
そもそも何の話かわからんので「倍近い性能」が出せたところでメリットが
あるのかもわからない。

137 :ナイコンさん:2014/12/06(土) 21:25:49.90 .net
あれか? 日電の32bit機とかか

138 :ナイコンさん:2014/12/06(土) 21:32:52.79 .net
まぁ上司に知識があることを望むこと自体間違ってるってことだな。

139 :ナイコンさん:2014/12/07(日) 04:04:04.00 .net
倍近い性能が出せたとしてどういうメリットがあるのか主張できない奴が
開発者として無能なだけだな。

140 :ナイコンさん:2014/12/07(日) 06:08:53.92 .net
のちの展開考えたら一気に性能2倍になっても次の製品でほどんと増えないんじゃ意味ないから性能落として小出しにするのが正解

141 :ナイコンさん:2014/12/07(日) 06:18:03.32 .net
何の話かもわからないのに正解もクソもない

142 :ナイコンさん:2014/12/07(日) 06:27:44.03 .net
>>127
DJNZがムダw
8個並べろw

143 :ナイコンさん:2014/12/07(日) 10:48:53.59 .net
チームリーダー「1ルーチン256バイト以内でな」

144 :ナイコンさん:2014/12/07(日) 10:58:12.61 .net
>>142
http://www.wizforest.com/tech/Z80vs6502/multiply.html
> ・ローカルルール
> 2014.8.8 追記
> 8bit 掛け算なので、筆算にして8段、8回以上のループ展開は存在しないと思います。
> ただ、8回はあまりに多いので、半分の4回までは展開を許すことにします。
>
> ただし、展開されるループ1回分は、5命令を超えないことを条件にします。(あまり
> 巨大なループを展開するのはおかしいので)

145 :ナイコンさん:2014/12/07(日) 11:26:34.37 .net
> DJNZがムダw
> 8個並べろw

146 :ナイコンさん:2014/12/07(日) 11:46:01.81 .net
普通に全体サイズで制限すればいいのにな

147 :ナイコンさん:2014/12/07(日) 11:49:01.94 .net
それじゃファミコン有利にできないじゃない

148 :ナイコンさん:2014/12/07(日) 12:04:31.38 .net
マッパーでメモリ増やし放題という話かー

149 :ナイコンさん:2014/12/07(日) 14:35:13.31 .net
>>123
kwsk

150 :ナイコンさん:2014/12/07(日) 18:48:41.96 .net
>>134
止めると再起動のハードが要るから

151 :ナイコンさん:2014/12/07(日) 19:36:27.01 .net
>>150
そんなの場合による

152 :ナイコンさん:2014/12/07(日) 19:38:32.47 .net
>>150
仕様としてクロック停止が必要ならコストは掛けられる筈

153 :ナイコンさん:2014/12/07(日) 20:14:51.59 .net
HALITO!

154 :ナイコンさん:2014/12/07(日) 20:36:15.99 .net
>>152
横からスマンが何言いたい?

155 :ナイコンさん:2014/12/07(日) 20:48:24.22 .net
>>152
いつの間に仕様になったんだよ w
そう言うコスト等も含めて、クロックダウンでやるかクロック停止にするかの仕様を決める話だろ
なんでもかんでもクロック停止が良いわけじゃない

156 :ナイコンさん:2014/12/07(日) 20:49:20.02 .net
直接言われなきゃ自分じゃ分からないほど馬鹿なのかな??

157 :ナイコンさん:2014/12/07(日) 20:51:50.55 .net
>>155
> いつの間に仕様になったんだよ w

>>132が言い始めたときからの要求仕様でしょ

158 :ナイコンさん:2014/12/07(日) 21:05:23.69 .net
>>157
クロック止める方が常に省電力とは限らんし

159 :ナイコンさん:2014/12/07(日) 21:13:43.28 .net
どのような運用されるかを考えた上で仕様を決めることは当たり前のことで、

>止めると再起動のハードが要るから

なんて言い出すのは馬鹿。

160 :ナイコンさん:2014/12/08(月) 00:46:36.30 .net
>>144
REPT 8
U
ENDM

161 :ナイコンさん:2014/12/08(月) 02:05:23.50 .net
>>160
> 8bit 掛け算なので、筆算にして8段、8回以上のループ展開は存在しないと思います。
> ただ、8回はあまりに多いので、半分の4回までは展開を許すことにします。

162 :ナイコンさん:2014/12/08(月) 05:12:38.90 .net
>>159
> なんて言い出すのは馬鹿。

あ〜あ、技術的な反論できずに馬鹿とか言い出しちゃったよ w

163 :ナイコンさん:2014/12/08(月) 05:20:21.58 .net
馬鹿は

>どのような運用されるかを考えた上で仕様を決めることは当たり前のこと

が技術的な話と理解できないんだなw

164 :ナイコンさん:2014/12/08(月) 08:14:30.09 .net
> 当たり前のこと

世間ではそれを常識と言います
で、なにが技術的なんだい?w

165 :ナイコンさん:2014/12/08(月) 08:29:03.79 .net
そもそもその手の仕様は製品企画とか使ってる奴の慣れとか部品の入手性とかの非技術的な要因で決まることもあるしな
技術的って言いたいだけでしょ

166 :ナイコンさん:2014/12/08(月) 11:56:55.42 .net
脱線し過ぎ

167 :ナイコンさん:2014/12/09(火) 00:51:21.67 .net
クロックの停止って話に関連するんだけどさ、今どきのプロセッサでもプリチャージ
ロジック回路って使っているんだろうか。

168 :ナイコンさん:2014/12/09(火) 01:28:21.35 .net
>>161
無意味な基準。

169 :ナイコンさん:2014/12/09(火) 01:40:31.27 .net
得意顔で>>160投稿したんだろうなーw笑えるww

170 :ナイコンさん:2014/12/09(火) 08:00:59.04 .net
>>167
ないんじゃないかなぁ...
PC とかに使うような CPU だと集積度上がってるし、クロックも高いからプリチャージなんてやってる暇ないし、組み込み用なんかだと数ms 毎に動作させるのも面倒だし

171 :ナイコンさん:2014/12/09(火) 14:16:32.81 .net
>>161
M80使ったことないの?w

172 :ナイコンさん:2014/12/09(火) 14:41:35.28 .net
M80使ったことがある奴なら

> REPT 8
> U
> ENDM

こんなマヌケなこと書かないw

173 :ナイコンさん:2014/12/09(火) 14:44:55.49 .net
  REPT 8
    JR  NC,SKIP     ; 12 / 7 (13 / 8)
    ADD A,D        ; 4 (5)
SKIP:
    RRA           ; 4 (5)
    RR  E         ; 8 (10)
  ENDM

これじゃエラーになるしなあ、>>160はM80使ったことないのかな?

174 :ナイコンさん:2014/12/09(火) 14:45:39.73 .net
結局あっと驚くようなアイデアはここじゃ出てこないってことだよね。
僕たちはなぜこんなにも凡人揃いなのか。

175 :ナイコンさん:2014/12/09(火) 14:47:57.13 .net
>>173
ローカルラベル使ったことないの?wプッ

176 :ナイコンさん:2014/12/09(火) 14:48:51.67 .net
>>175
しーっ!こいつらDUAD止まりだからw

177 :ナイコンさん:2014/12/09(火) 14:52:06.03 .net
>>175
M80のローカルラベルがどういう条件で使えるか知ってる??

178 :ナイコンさん:2014/12/09(火) 14:54:54.47 .net
>>175
この程度ならラベル使わずにリファレンスカウンタ相対でいいじゃん。

ローカルラベル? M80使ったことないの?

179 :ナイコンさん:2014/12/09(火) 15:00:12.82 .net
>>174
>結局あっと驚くようなアイデアはここじゃ出てこないってことだよね。

>>123待ちでしょ

180 :ナイコンさん:2014/12/09(火) 15:01:03.19 .net
>>176
ワロタw

181 :ナイコンさん:2014/12/09(火) 15:01:45.49 .net
>>177
質問に質問で答えるのは無知の証拠wプッ

182 :ナイコンさん:2014/12/09(火) 15:03:17.18 .net
>>175
知らないってことね、了解w

183 :ナイコンさん:2014/12/09(火) 15:04:16.53 .net
フツーにテーブルデータ用意すれば計算しなくてもいいのになw
バカはやっぱりバカw

184 :ナイコンさん:2014/12/09(火) 15:05:43.48 .net
>>183
http://www.wizforest.com/tech/Z80vs6502/multiply.html に投稿したら?

185 :ナイコンさん:2014/12/09(火) 15:07:51.32 .net
>M80使ったことないの?w

>ローカルラベル使ったことないの?wプッ

半可通マジかっこ悪い

186 :ナイコンさん:2014/12/09(火) 15:29:27.22 .net
バカやっぱりバカw

187 :ナイコンさん:2014/12/09(火) 15:31:10.63 .net
得意顔で>>171投稿したんだろうなーw笑えるww

188 :ナイコンさん:2014/12/09(火) 15:32:47.52 .net
得意顔で>>175投稿したんだろうなーw笑えるww

189 :ナイコンさん:2014/12/09(火) 15:40:39.65 .net
屈辱感w

190 :ナイコンさん:2014/12/09(火) 15:57:23.41 .net
M80使ったことがないw

191 :ナイコンさん:2014/12/09(火) 16:02:21.69 .net
DUAD-PC88Dなら使ってたけど、残念なことにマクロ機能ないんだよな。

192 :ナイコンさん:2014/12/09(火) 16:24:39.43 .net
M80使ったことがないw

193 :ナイコンさん:2014/12/09(火) 16:30:15.15 .net
M80使ったことがないw

194 :ナイコンさん:2014/12/09(火) 20:38:20.64 .net
M80使ったことがないw

195 :ナイコンさん:2014/12/09(火) 20:46:16.56 .net
8bitCPUはバイナリ直接打ち込むものだろ。

196 :ナイコンさん:2014/12/09(火) 22:50:33.63 .net
ってことはあの6800でもA*B->ABは72〜96クロックでできたのか
バカにしてすまんかった
 STA $TEMP (4)
 CLRA (2)
 LSRB (2)
*ここから
 BCC $+4 (4)
 ADDA $TEMP (3)
 RORA (2)
 RORB (2)
*ここまで8個並べる 

197 :ナイコンさん:2014/12/09(火) 23:19:05.41 .net
はいバカ丸出しw

198 :ナイコンさん:2014/12/09(火) 23:55:39.14 .net
>>113
速いやつまだあ?

199 :ナイコンさん:2014/12/10(水) 00:28:48.13 .net
>>196
誤 STA $TEMP (4)
正 STAA $TEMP (4)

200 :ナイコンさん:2014/12/12(金) 00:58:00.83 .net
86系は自民党、68系は民主党なんだろ

201 :ナイコンさん:2014/12/12(金) 03:37:54.16 .net
「80は巨人、68は阪急」

総レス数 1007
237 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200