■ このスレッドは過去ログ倉庫に格納されています
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