■ このスレッドは過去ログ倉庫に格納されています
8086 vs. Z80 vs. 6809 vs. 6502 その13
- 1 :ナイコンさん(ワントンキン MM40-H0Yp):2016/09/22(木) 21:55:59.59 ID:q3U9eYbNM.net
-
8086(8088)・Z80・6809・6502のうち、どのCPU(MPU)が優れているか議論するスレッドです。
CPU(MPU)アーキテクチャや周辺デバイス制御など
基本的に「石」に関連する議論なら、ほぼ何でもアリです。
♪ /.i /.i /.i
♪ ∠__ノ ∠__ノ ∠__ノ
〈,(・∀・;)ノ・∀・;)ノ・∀・;)ノ
└i===|┘i===|┘.i===|┘
〈__〈 〈__〈 〈__〈
■過去スレ
8086 vs. Z80 vs. 6809 vs. 6502 その12 [無断転載禁止]©2ch.net
http://hanabi.2ch.net/test/read.cgi/i4004/1468637057/l50
8086 vs. Z80 vs. 6809 vs. 6502 その11 [無断転載禁止]c2ch.net
http://hanabi.2ch.net/test/read.cgi/i4004/1462424764/
8086 vs. Z80 vs. 6809 vs. 6502 その10
http://hanabi.2ch.net/test/read.cgi/i4004/1407651926/
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/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 248 :ナイコンさん :2018/04/27(金) 02:40:33.93 ID:PGnxVeT40.net
- 命令表をINするとゲートロジックが出てくるAIとか出来そう
- 249 :ナイコンさん :2018/04/27(金) 22:48:03.67 ID:XgoeaLRp0.net
- >>247
v30ってES納期が決まっていて、ギリギリなスケジュールで開発してたから8080のエミュしか
実装できなかった。納期が緩ければz80エミュは楽勝だったのに。というお話だったのさ。
- 250 :ナイコンさん :2018/05/03(木) 10:01:33.91 ID:+P5xAI+P0.net
- >>249
チップ面積の制限だった、とどこかに書いてあった記憶があるが。
- 251 :ナイコンさん :2018/05/03(木) 16:16:00.16 ID:8wF37e3q0.net
- 納期とは書けないから面積が足りないと誤魔化したんでは?
- 252 :ナイコンさん :2018/05/03(木) 17:21:19.78 ID:uH03JRwr0.net
- 時間をかけて最適化を進めたらZ80エミュを入れれたって意味じゃないの?
設計時には入れられるかどうかすら未知数だったが、後の試行で無事に詰め込めたとかの実態があって、
あのとき時間をかけてたら入れれててたのにと開発者が後々まで思ってたとかを推す
誤魔化してただけの可能性もあるけど
- 253 :ナイコンさん :2018/05/03(木) 20:43:33.87 ID:gnuxY6up0.net
- 当事者しかわかんねえだろまあ当事者もボケはじめてる歳かもな
- 254 :ナイコンさん :2018/05/19(土) 20:36:40.90 ID:XYiLoCdv0.net
- Z80エミュにしたバージョンは88VAに積んだ
- 255 :ナイコンさん :2018/05/20(日) 03:13:11.23 ID:61eGgder0.net
- 88VAに作ったCPUは大損だったね
- 256 :ナイコンさん :2018/05/24(木) 18:29:34.20 ID:XH51H3xT0.net
- 今更のZ80符号なし16bit*16bit乗算
符号有りでも無しでも下位16bitは同じ結果というのは不思議
RR Cを削れることに今頃気付いて落ち込み中
;HL*DE > HLDE
mult16:
LD C,H
LD A,L
LD HL,0
LD B,16
SRL C
RRA
LOOP: JR NC,SKIP
ADD HL,DE
SKIP: RR H
RR L
RR C
RRA
DJNZ LOOP
LD D,C
LD E,A
- 257 :ナイコンさん :2018/05/25(金) 06:03:17.23 ID:WZqXHYbI0.net
- 削れないよね。
というより正しいのか?
- 258 :ナイコンさん :2018/05/28(月) 08:44:21.76 ID:QyzWbaeR0.net
- 16bit 符号付き乗算が内部レジスタだけで実行できて
6809@ 1MHzと処理時間が変わらないZ80なのに
効率の悪い8080のコードだらけだった
- 259 :ナイコンさん :2018/05/28(月) 12:33:04.74 ID:SgcESfrI0.net
- その1MHzのと変わらないのは何MHzのZ80ですか?
2.5MHz? 4MHzのZ80A? 6MHzのZ80B? 8MHzのZ80H?
- 260 :ナイコンさん :2018/05/28(月) 13:47:04.41 ID:u55+PHd00.net
- Z80-4MHzで6809-1MHzと互角、どっちも170usくらいで終わる
メモリのスピードは2倍違うから6809の方が優秀ってのが現実
- 261 :ナイコンさん :2018/05/29(火) 19:58:27.85 ID:RIhOeSu40.net
- >>256
とりあえず正しくて、RR Cは削れないけど…
これって随分前に別スレに投下されたヤツだよね?
- 262 :ナイコンさん :2018/05/29(火) 21:23:48.25 ID:yuZKPeZI0.net
- 正確にはRR Cをループの中から取るって意味でして書き直すと下のようになります
記憶にないけど別スレに投下したのはたぶん私です
;HL*DE > HLDE
mult16:
LD C,H
LD A,L
LD HL,0
LD B,8
RRA
LOOP1: JR NC,SKIP1
ADD HL,DE
SKIP1: RR H
RR L
RRA
DJNZ LOOP1
LD B,A
LD A,C
LD C,B
LD B,8
RRA
LOOP2: JR NC,SKIP2
ADD HL,DE
SKIP2: RR H
RR L
RRA
DJNZ LOOP2
LD D,A
LD E,C
- 263 :ナイコンさん :2018/05/31(木) 18:06:38.74 ID:LTH5PeBJ0.net
- Z80機のザ・コックピットに使われていた16bit乗算を少し改変
傑作コードである
;無符号 DE*BC > DEHL
LD HL,0000H
LD A,16
MUL321: ADD HL,HL
EX DE,HL
ADC HL,HL
EX DE,HL
JR NC,MUL322
ADD HL,BC
JR NC,MUL322
INC DE
MUL322: DEC A
JR NZ,MUL321
- 264 :ナイコンさん :2018/06/03(日) 16:48:18.26 ID:QjkpInDZ0.net
- さっきニュースサイトで希望ナンバーの人気数字の話が出てたけど、8008がランクインしてた
CPUの名前と重なる人気ナンバーはこれ1つだけだね
- 265 :ナイコンさん :2018/06/04(月) 18:05:41.11 ID:z9UVUrADM.net
- Intel 8086生誕40周年を記念したモデル「Core i7-8086K」が中国サイトに登場
https://gigazine.net/news/20180604-intel-core-i7-8086k/
- 266 :ナイコンさん :2018/06/04(月) 20:55:35.69 ID:5dbEveWs0.net
- >>263
傑作って… >>256,>>262の後で傑作と言われてもねぇ…
それはプログラムサイズの点で、かな?
- 267 :ナイコンさん :2018/06/05(火) 03:48:01.18 ID:ivQ3V9ut0.net
- >>265
68000円か
- 268 :ナイコンさん :2018/06/05(火) 12:07:26.78 ID:me15Luzk0.net
- >>263はこっちのが少し速い?
; DEHL=BC*DE
; PASS88
MUL16:
LD HL, 0
LD A, 16
RPT
ADD HL, HL
RL E
RL D
IF C
ADD HL, BC
IF C
INC DE
FI
FI
DEC A
RPTE NZ
- 269 :ナイコンさん :2018/06/05(火) 13:19:56.92 ID:/J2xkC0E0.net
- 6809のニーモニックもよろ
- 270 :ナイコンさん :2018/06/05(火) 19:47:54.49 ID:gbnnuo5e0.net
- >>268
速いね。
1回あたり7クロック、16回も実行されるので全体としては10%程度所要クロック数が削減される。
- 271 :ナイコンさん :2018/06/06(水) 02:02:00.35 ID:2etfW4wt0.net
- 6809らしくないダイレクトページを使ったコード
ザ・コックピットのダンプリストを逆アセして改造
; D x X => WORK32 符号あり
STX WXD
STD WXD+2
LDA WXD+1
MUL
STD WORK32+2
LDA WXD
LDB WXD+3
MUL
ADDB WORK32+2
ADCA #0
STD WORK32+1
LDD WXD+1
MUL
ADDD WORK32+1
STD WORK32+1
LDA #0
ADCA #0
STA WORK32
LDA WXD
LDB WXD+2
MUL
ADDD WORK32
TST WXD
BPL $+4
SUBD WXD+2
TST WXD+2
BPL $+4
SUBD WXD
STD WORK32
- 272 :ナイコンさん :2018/06/07(木) 12:03:47.41 ID:kz8bIemn0.net
- >>271
TST WXD+2はCMPX #0に置き換えて2サイクル節約
- 273 :ナイコンさん :2018/06/17(日) 14:43:49.52 ID:KslgSXVX0.net
- クロック基準のベンチマークってあまり意味無いんだよな。Z80だと64180やKC80では命令当
たりのクロック数は変わるし。KC80はスクラッチパッドメモリ積んでるのでゼロウエイト動作
するから書き方で変わるし。
>>268,271
どうせ作るなら16bit乗算よりも24/32bitサイズの四則演算ルーチんのほうがありがたいのだが。
- 274 :ナイコンさん :2018/06/20(水) 17:05:04.31 ID:ddTKl2p+0.net
- 加減算とか難しそうだな。
- 275 :ナイコンさん :2018/06/22(金) 01:21:57.93 ID:zWnKK5IE0.net
- どこが?
乗除の高速化の間違いか。
- 276 :ナイコンさん :2018/09/21(金) 23:58:52.54 ID:CU1FpCVf0.net
- CPUは、Centrral Prosessing Unitの略。「CPUをLSI化したもの」がMPUである。
- 277 :ナイコンさん :2018/09/22(土) 01:31:51.41 ID:84goj7TiM.net
- モトローラがMPUと呼んだから
- 278 :ナイコンさん :2018/09/22(土) 02:25:47.74 ID:E5FU4oJK0.net
- サラダ記念日
- 279 :ナイコンさん :2018/12/03(月) 13:42:48.23 ID:QMvpSF260.net
- Z80割り算16bit/8bit
; L=HL/E
LD A,H
LD B,08H
LOOP1: SLA L
RLA
CP E
JR C,SKIP
SUB E
INC L
SKIP: DJNZ LOOP1
- 280 :ナイコンさん :2018/12/03(月) 23:44:35.28 ID:Mdgt0f4j0.net
- 話の流れをぶった切って悪いが、i368とi368SXのような関係で、Z80にも内部16ビットのやつがあれば良かったな。
BC、DE、HL等の16ビット演算の高速化やPUSH、POPも数割高速化とかあったら楽しかっただろうな。
- 281 :ナイコンさん :2018/12/03(月) 23:55:59.40 ID:s24VaHGZ0.net
- Z280 とか Z8000 ってなかったっけ
詳細は知らんw
- 282 :ナイコンさん :2018/12/04(火) 09:08:43.33 ID:bAWrBFBg0.net
- どっちもzilogの16bitCPU。同類でナショセミにNSC800というCMOSなz80があったが
なかなか出荷されず。通称uso800といわれたいわく付き。
- 283 :ナイコンさん :2018/12/04(火) 11:04:09.12 ID:npI/DuqZ0.net
- R800のことか
- 284 :ナイコンさん :2018/12/04(火) 18:29:13.40 ID:4g+t+8b00.net
- 64180とか言うのもあった気が
- 285 :ナイコンさん :2018/12/04(火) 18:31:00.97 ID:SDelBrVN0.net
- Z80でも16ビット演算機能はあったぞ。INC/DEC のみだが。
The Z-80's 16-bit increment/decrement circuit reverse engineered
http://www.righto.com/2013/11/the-z-80s-16-bit-incrementdecrement.html
通常、1命令フェッチするたびにPCがインクリメントされる訳だが、その機構をINC/DEC BC/DE/HL/SP/IX/IYにも流用していたようだ
ADD HL命令が11clkなのに対して、16bit INC 命令が6clkと、半分ちょいで済んでたのは、このお陰。
ただし、この16bit INC/DEC 機構はフラグ変化しない(命令フェッチさせるだけなら不要)ので、
その副作用として16bit INC 命令もフラグ変化しなかった(できなかった)。
- 286 :ナイコンさん :2018/12/04(火) 18:45:13.17 ID:SDelBrVN0.net
- 16bit INC命令だけでなく、16bit DEC命令も同様ね
16bit INC/DEC命令でも、Zフラグか、あるいはCフラグだけでも変化してくれればプログラム書く上で便利だったんだが
残念ながら16bit INC/DEC機構にそういう機能自体がなかったようだ。
同様に8080のINX命令も5clkだったんで、もしかするとZ80だけでなく8080も16bit INC/DEC機構を持ってたのかもしれん。
- 287 :ナイコンさん :2018/12/04(火) 20:35:57.47 ID:4g+t+8b00.net
- つか、Z80の16bit INC命令が8080のINXのZ80版なだけではないの
速度で劣らせないために同じ仕組みで実行してるだけで
プラグ変化も8080と同じ仕様に揃えてるだけではないかな?
- 288 :ナイコンさん :2018/12/04(火) 23:18:19.55 ID:SDelBrVN0.net
- >>287
8080もZ80も両方とも嶋正利氏が携わったのだから、おそらく8080の時点で既にそうなっていたのだと思う。
ただ、>>285に引用したreverse engineerがZ80のもので、8080もそうだったとは断言できないので、上記の様に濁して書いた。
- 289 :ナイコンさん :2018/12/04(火) 23:34:55.38 ID:H+o6RKOF0.net
- 8086のincでフラグが動かないのは最初はほんとハマるよな。
- 290 :ナイコンさん :2018/12/05(水) 00:01:44.28 ID:Ci4Albm10.net
- >>287
よくみたらフラグがプラグに
寝ぼけてたようだ……
- 291 :ナイコンさん :2018/12/11(火) 15:37:54.39 ID:nbVIrjmW0.net
- 2018/12/11 09:03
共同通信
https://this.kiji.is/445012311270179937
---------------------
NASAの探査機ボイジャー2号、太陽圏を脱出し星間空間到達。打上げから41年
COSMAC頑丈杉
- 292 :ナイコンさん :2018/12/11(火) 18:57:34.73 ID:GizWtgmoM.net
- ボイジャーのCOSMAC見たいから誰か取ってきて
- 293 :ナイコンさん :2018/12/11(火) 21:23:35.48 ID:rWIgDV8+0.net
- >>285
インクリメンタ/デクリメンタが活躍するのはそれだけじゃない。
LD HL,(nn) が16クロック(4+3+3+3+3)で済むのはインクリメンタがあるおかげ。
PCから分離されて全体から利用できるようになっていなければ、Z80は4bitなので
恐らく 4+3+3+3+2+3=18CLK になっていたと思われる。
また、CALL命令でSPを素早くデクリメントしてくれているから 4+3+4+3+3=17CLK
で済んでいる。ALUに任せたら 4+3+3+5+3+2+3=23CLKになるんじゃないかな?
RETのSPインクリメントもそう。
インクリメンタ/デクリメンタの構成は頑張ってるね。何も考えずに速度優先(ゲート
消費多め)で考えたら全bitキャリールックアヘッドで作っちゃったりするけど、ゲート
段数が最長7段でよく考えてるよ。教科書の回路のようだ。
それでも結構な面積だな…そりゃ、とことん使い倒したくなるか。
にしても、何で4bitALUにしたかな?要らない裏レジスタをやめたら、現状のチップ
サイズでは難しくても、ほんの少しチップサイズの拡大で8bitALUにできただろうに。
- 294 :ナイコンさん :2018/12/11(火) 23:17:18.87 ID:QJi9hjFy0.net
- >>293
>Z80は4bitなので
はぁ?
どこかで流行ってたネタなのか?
- 295 :ナイコンさん :2018/12/11(火) 23:29:15.76 ID:v1mht/Ht0.net
- >>294
Z80のALU自体は4bit ALUなんよ
The Z-80 has a 4-bit ALU. Here's how it works.
http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html
- 296 :ナイコンさん :2018/12/11(火) 23:36:49.00 ID:v1mht/Ht0.net
- >>293
>にしても、何で4bitALUにしたかな?
intelから訴えられた時の対策、とか嶋氏がどっかで書いていたのを読んだような記憶がある
「ほら、ALUは4bit長だから、Z80は8080の模倣ではありません」と言うためだったらしい。
どこで読んだっけかなぁ・・・
当時zilogはできたての会社だから、もしintelから訴えられたら、ひとたまりもなかっただろうね。
- 297 :ナイコンさん :2018/12/12(水) 23:41:10.74 ID:LKG+ty5K0.net
- これから書くのはあくまで俺の想像で、全く裏づけゼロなので、そのつもりで読んでほしい。
また、すでに似たような話が他の人によって書かれていた場合は容赦してほしい。
現状のZ80の拡張命令群(0EDhで始まる命令)は以下の様になっている。
ED 00〜3F : 空きA
ED 40〜7F : LD,ADC,SBC,RETIなど
ED 80〜BF : LDIR命令など
ED C0〜FF : 空きB
何でこんなに偏った配置になっているのか前々から不思議に思っていたが、ある時、気づいた。
ひょっとすると当初のZ80案では、空きA・空きBにも命令が入る予定だったのではなかったのか、と。
そう考えたのは DDCB/FDCB 命令群の奇妙な機械語フォーマットだ。
これらの命令では DD/FD CB dd XX という風に符号付8bit偏移値 dd が前倒しで3バイト目に配置されている。
こちらも前々から不思議に思っていたが、これも当初のZ80案では、DDCB/FDCB 命令群だけでなく
DD/FD 命令群の全てが、この前倒し機械語フォーマットになる予定だったのではないか、と気が付いた。
つまり、全てが DD/FD dd XX という並びになるはずだったのではないか。(現行のZ80では DD/FD XX dd という並びになっている)
この場合、3バイト目の XX をフェッチするのと同時に IX/IY+dd の計算が並列で行えるので、3〜4clk分は確実に高速になる。
(また、その場合は、DDCB/FDCB 命令群も DD/FD dd CB XX の並びになっていただろう。ついでに現行よりも高速になっていただろう)
現行の DDCB/FDCB 命令群が前倒し機械語フォーマットになっている事から、この事に気が付かなかったとはとても思えない。
- 298 :ナイコンさん :2018/12/12(水) 23:41:32.19 ID:LKG+ty5K0.net
- ただし、この方法だと ADD A,(IX+dd) という様な命令は良くても、
LD IX,nnnn や INC IX、PUSH IX といった命令が 0DDh や 0FDh に入れられなくなってしまう。
そこで、これらの命令は当初のZ80案では、0EDh の空きA・空きBの箇所に入るはずだったのではなかろうか。
命令の例 現行のZ80 当初のZ80案?
LD IX,nnnn DD 21 nn nn ED 01 nn nn
LD IY,nnnn FD 21 nn nn ED 21 nn nn
PUSH IX DD E5 ED C5
PUSH IY FD E5 ED E5
LD SP,IX DD F9 ED D9
LD SP,IY FD F9 ED F9
これの対象になりそうな命令は 00h〜3Fh と 0C0h〜0FFh の範囲のみなので、ちょうど空きA・空きBに上手い事、はまってくれる。
ところが何らかの理由により、この当初Z80案は破棄されて、IX関連命令は全て0DDhに、IY関連命令は全て0FDhに
集約するという現行のZ80機械語フォーマットに変更されてしまったのではないだろうか。
しかし、拡張命令群(0EDh)の設計は途中まで進んでいたので、丸々捨てる様な事はせず、単純にIX/IY 関連命令だけを除外したため
現行の様な空きA・空きBが生じてしまったのではないだろうか。
また、DDCB/FDCB 命令群までも DD/FD CB XX dd という機械語フォーマットにしてしまうと余りにも遅くなってしまい、
DRAMリフレッシュに影響を及ぼしてしまいかねないため、これらだけは特例で前倒し機械語フォーマットのままにされたので
他の DD/FD 命令群との整合性が合わなくなってしまったのではないだろうか。
- 299 :ナイコンさん :2018/12/12(水) 23:41:55.67 ID:LKG+ty5K0.net
- なお、機械語フォーマットの変更だけなら(やや小さくて見づらいが)下記写真の "instruction PLA" の部分だけを
修正すれば可能そうに思える。これなら大幅に作り直さなくても済む。(それでも大変だろうが)
http://static.righto.com/images/z80/z80_labeled_inc.png
それと(1バイト短くなるので高速なはずの)偏移なし (IX)/(IY) アドレッシングが現行のZ80に無いのも、
隠し命令の IXH/IXL/IYH/IYL が明文化されなかったのも、この流れだったら上手く説明できる。
なぜなら、当初案の DD/FD dd XX の機械語フォーマットなら、(IX)/(IY) や IXH/IXL/IYH/IYL を入れる余地自体がないからだ。
途中で機械語フォーマットが変更になった時に、かろうじて IXH/IXL/IYH/IYL だけは追加でねじ込めれたけれど、
(一方で (IX)/(IY) の追加は "instruction PLA" のスペース不足で断念か)、すでにザイログ・ニーモニックを使った
開発環境の開発が進んでしまっていたため、機械語フォーマットの変更だけで手一杯で、構文修正を伴うような大幅な変更
(LD IXH,(IX+dd) とかができないので、単純に H/L の置き換えだけでは済まない)は見送られたためなのかもしれない。
繰り返しになるが、以上の話はあくまで俺の想像なので、真相はどうだったのかは分からない。
- 300 :ナイコンさん :2018/12/13(木) 10:54:06.12 ID:64Mn6FOG0.net
- Z80の場合周辺チップがM1サイクル中のデータバスを常に監視して
ベクトル出したり割り込み処理終了を検出しなきゃならないから
しまった!と思った時はもう手遅れだったとか
- 301 :ナイコンさん :2018/12/14(金) 01:33:25.32 ID:jlSTDHdC0.net
- 詳しいね。トランジスタ数の限界で作れなかった(PLA)のでしょう。
- 302 :ナイコンさん :2018/12/14(金) 15:06:43.35 ID:HHy4snt30.net
- 4byte語長だと遅くなるしロードストアのアドレッシングのみにウエハの面積割く位なら
掛け算命令追加したり当時普及したDRAMと接続しやすいようコントローラつけたり、
裏レジスタ設置してpush/popを避けるほうが良いと思う。
LSIの製造コスト小さくしてCMOS化したほうが低消費電力にもなると思うよ。
ソフト的には8080主流なので、互換性維持したほうがセールしやすいだろうし、
開発環境も8080用なのであえてロードストアだけZ80特有の命令使う事は無いだろうし。
高級言語ではスタック渡しも多いのでレジスタ直交的なアドレッシングは使わないんだよね。
LD IXH,(IY+dd)のようなポインタのポインタみたいなの使わないんじゃないかな。
- 303 :ナイコンさん :2018/12/15(土) 06:42:07.80 ID:RaoNNVgt0.net
- うちの職場、今年最後の産廃が終わってしまった。
まあ産廃箱の基板(古いCPUのってる)拾っても、それ使う頭ないけどな(´・ω・`)
- 304 :ナイコンさん :2018/12/15(土) 06:46:38.29 ID:RaoNNVgt0.net
- >嶋
昔「わが青春の4004」って副題の本読んだけど元ネタはそれかな?
記憶確認のために読み返そうと思ったけど、
古書の出物少ないし出物あっても高価なんで確かめようもない(´・ω・`)
- 305 :ナイコンさん :2018/12/15(土) 06:54:37.81 ID:RfF/KKxxa.net
- そういう時こそ図書館を活用するべきだろう。
- 306 :ナイコンさん :2018/12/15(土) 10:04:54.77 ID:yx164FWu0.net
- >>299
とても面白い考察ありがとう、少しだけ感動したw
確かに、DD,FD系の基本が CB系に通用しないのがずっと謎だと思ってたし、
ED系も謎の空白があるのは謎だった。
でもそこまで深く考えた事はなかったので、とても面白く読ませてもらいました。
- 307 :ナイコンさん :2018/12/15(土) 13:15:11.47 ID:QGiFQZE+a.net
- 割込みモード2だっけ?
使ったことないんだよな。
- 308 :ナイコンさん :2018/12/15(土) 13:51:12.64 ID:yx164FWu0.net
- >>307
割込みモード1だと割込みベクタが0038hに固定だけど、割込みモード2を使うと
別のアドレスにズラす事が出来ると気付いてから、たまに使うようになった。
- 309 :ナイコンさん :2018/12/15(土) 19:19:37.80 ID:ry4GFT+a0.net
- >>306
謎の空白の中には、命令として実装した後で何かあって削除してから発表したものも多分ある
OUT (C) 命令でアドレスバスに(BC)として16ビットアドレスが出力される件みたいにさ
- 310 :ナイコンさん :2018/12/16(日) 22:46:09.93 ID:PzbcfxzY0.net
- >>307
Z80のアセンブリ言語(機械語)を知っていて、それを使わないとは勿体ない。
- 311 :ナイコンさん :2018/12/18(火) 19:39:19.14 ID:byhiqfII0.net
- 冬休みの中学生はCでエミュレータ書いてみよう。
- 312 :ナイコンさん :2018/12/18(火) 21:15:55.78 ID:WFFz8vCla.net
- Java、C#、ExcelVBAだろ、中学生に書かせるなら
- 313 :ナイコンさん :2018/12/18(火) 21:17:20.28 ID:sDBuav6j0.net
- >>311
エミュはボケマジ化な退職者しごとでしょ。
中学生ならPython@ラズパイでdeep learningしいぇみてよ
- 314 :ナイコンさん :2018/12/18(火) 23:00:02.08 ID:Lzb31aVO0.net
- >>313
前途ある若者になんでそんな罰ゲームさせんだよ
ディープラーニングの末端コード書くのなんか土方の仕事だろ
- 315 :ナイコンさん :2018/12/18(火) 23:02:07.48 ID:RZ2Xv/zN0.net
- インタプリタ好きなら、今はPythonだよね〜!
- 316 :ナイコンさん :2018/12/19(水) 08:25:25.70 ID:Iycbr4LL0.net
- >>314
中学生はドカタじゃないよ! キリッ!
ゲームや趣味領域やお勉強の領域でね。
職業マに堕ちたらお終いということをまず教えないとねw
- 317 :ナイコンさん :2018/12/19(水) 13:59:47.99 ID:0SUZL+40d.net
- 第5世代コンピーター。。組合せ爆発。。。未踏プロジェクト。。。うっ頭が
- 318 :ナイコンさん :2018/12/22(土) 18:52:57.41 ID:xF7X2hJg0.net
- >>296
なるほどね、そういう側面もありえたかも。
8080は3電源かつノンオーバーラップの2相クロックという仕様なので、Z80と比べたら
トランジスタレベルでは別物に見えるとしても、ブロック図レベルではかなり近い相似形
な感じっぽいし。ま、アーキテクトが同じでオブジェクト互換なら嫌でもそうなるか。
上で挙げられたblogの詳細なブロック図のお陰で色々判ってきて面白いよ。
例えば INC HL の所要CLK数をみてみたりとか。
インクリメンタ・デクリメンタを色々なところから使い倒そうとして、かつトランジスタをケチ
った構造にするためにlatchの入力のところで双方向BUSを形成したことでPCのインクリ
メントに2CLK、続いてリフレッシュカウンタのインクリメントに2CLK。
通常の命令ではリフレッシュサイクルの2CLK目、M1サイクルの4CLK目から内部動作を
オーバーラップさせる目論見なんだろうけど、肝心のインクリメンタが塞がっていてリフレッ
シュサイクル終了まで待ちになって、その後にHLのインクリメントに2CLK。
通常の命令なら内部実行と次の命令のOPコードフェッチをオーバーラップさせるんだろうけど、
その際PCのインクリメントに必要なインクリメンタが塞がっているのでそれも出来ず、全部の
動作をシーケンシャルに実行して、それらの合計が6CLK。
対する8080では INX H は5CLK(かな?)、リフレッシュサイクルのせいでZ80の方が1CLK
余計にかかっている。
これも「いや〜、8080より遅いですしぃ」って言い訳の一つだったりするなら面白いな。
- 319 :ナイコンさん :2018/12/22(土) 19:26:31.43 ID:wox+0E/a0.net
- うーん、うったえられたとき対策って後付け言い分けのような気もしなくはないかなあ
8080比で命令数激増とレジスタ増量でトランジスタ数が増えすぎて、どっかで回路規模を削る必要に迫られたのでALUを小さくしただけじゃないの?
- 320 :ナイコンさん :2018/12/22(土) 20:57:33.02 ID:xF7X2hJg0.net
- ALUを4bitにしても、実はあまりチップ面積は減らなかったりするかも。
例のblogのインクリメンタ/デクリメンタの記事の冒頭にチップ全体写真が載っている
けれど、その中で"ALU logic"とあるのが4bit ALUを複数クロックに亘って駆動する
ステートマシンだろうね。これは8bit ALUなら基本的に不要。
それと、4bit化したせいでALUとあるブロック中の随所に入れざるを得なくなった
latchも不要。
さしてチップ面積縮小には寄与していないと思うよ。
そのせいで負うことになった性能上の不利に比べたら割に合わないと思うし。
「クローンを作るならALUを4bitに制限しろ」って言われたという方が説得力あるかな。
- 321 :ナイコンさん :2019/01/10(木) 23:50:56.64 ID:noTanJtp0.net
- CPUよりもメモリ売りたかったintelが訴える可能性ってあったのかな
文句言わなそう
- 322 :ナイコンさん :2019/01/11(金) 18:26:31.84 ID:pC37QlDA0.net
- チップセットよりCPUを売りたがっていた頃の、まだチップセットがCPU販促アイテムみたいだった時期でさえ、Intelは互換チップセットのベンダーに、法廷闘争含めた執拗な攻撃をしただろ
- 323 :ナイコンさん :2019/01/11(金) 18:42:26.07 ID:mbsyfR+zr.net
- チップセットメーカーが力つけ過ぎて支配される前に排除したのはインテルの立場なら正しい判断思うが
- 324 :ナイコンさん :2019/01/11(金) 21:51:51.54 ID:pC37QlDA0.net
- チップセットよりかCPUのほうが利益率が圧倒的に大きいから、利幅の小さいチップセットはライセンス料だけ取って他者に任せる方がいいんじゃないかと思う(第三者だから思うだけだが)んだがなあ
だいたい、互換チップセットは安いだけで性能が低かったしな
メモリアクセスのレイテンシが大きかったりアドレス変換テーブルのキャッシュサイズが小さかったりしてメモリアクセス遅かった。
- 325 :ナイコンさん :2019/01/24(木) 21:42:28.11 ID:9700It+L0.net
- socket7からslotへの移行時に、互換チップセットにAGP対応socket7チップセット作られて、移行が遅れたとか
i820の時、Rambusへ誘導しようとしたけど、SDRAM対応チップセット作られて失敗したとか
intelは痛い目見てるんで
それと、古くなったFabに作らせて、Fab稼働率を上げるという作業もあるんで
- 326 :ナイコンさん :2019/01/25(金) 00:52:48.33 ID:WDpFSKKy0.net
- 市場が求めてるものと違うものを強引に普及させようとしたから失敗したんだろ
そんなこと、それ以前にIBMだって失敗したわけじゃん、なんでIBMにできなかったことをIntelなら成功させられると思い込んでたんだろうな。
- 327 :ナイコンさん :2019/01/31(木) 18:51:14.93 ID:nqS7ahKtd.net
- スタックポインタを
システムとユーザーの2つ持つ方式と
フレームポインタを別に持つ方式とを
比較したら
思想の違いが面白いと思った今日この頃
- 328 :ナイコンさん :2019/01/31(木) 19:34:22.57 ID:1Ji+tF8j0.net
- VAX?
- 329 :ナイコンさん :2019/02/16(土) 23:21:45.96 ID:zaK1bs95a.net
- ユーザスタック、システムスタック、割込み処理用スタックを持ってるCPUもあるよね。
- 330 :ナイコンさん :2019/02/16(土) 23:45:14.50 ID:eKDW+/u00.net
- 68020とかか
- 331 :ナイコンさん :2019/02/17(日) 12:40:24.08 ID:mwtxEAfg0.net
- ARMもスタックポインタ複数型だね
ARM cortex-Mだとメインスタックポインタとプロセススタックポインタの2つ。SSPとUSPに近い感じだろうか
- 332 :ナイコンさん :2019/02/17(日) 18:08:31.91 ID:kqx+imUe0.net
- モトローラは6809からUSPあったな
- 333 :ナイコンさん :2019/02/17(日) 19:29:27.97 ID:RzCV7gj70.net
- 333
- 334 :ナイコンさん :2019/02/18(月) 13:10:35.29 ID:dC0VH6OR0.net
- Wikipedia見てちょっと混乱してるんだけど、65C02とWDC 65C02とW65C02Sって完全に同じものなの?
Programing the 65816 including the 6502, 65C02, and 65802って本には
"65C02は6502のCMOS版としてWDCで設計したのじゃよ"
”65C02の追加命令は(アドレッシングモードの拡張を除けば)BRA PHX PHY PLX PLY STZ TRB TSBの8種類で全部じゃよ?"
"RockwellのR65C02は、それが悪いとは言わんけど、独自追加されてるRMB SMB BBR BBSのせいで65C02や65802/65816との非互換を抱えているので、アペンディクス送りにしたのじゃよ”
てな感じの事が書かれてるんだけどさ
W65C02Sデータシートを見るとRMB SMB BBR BBSに加えて65802/65816で追加されたSTPとWAIもあることになってるんだ(ニモニックだけでなくオペコードも同じ)
じゃあ、65C02とW65C02Sは別物って事??
でもWikipediaにある日本語版のWDCのページではW65C02Sが1978年に開発されたって書いてあんのよね
じゃあ、65C02とW65C02Sは同じものってこと??
詳しい人いたら本当のところを教えて、お願い・・・
- 335 :ナイコンさん :2019/02/21(木) 17:42:59.65 ID:6oKDneLv0.net
- 拡張命令が問題の場合本家を尊重するだろうね本家の命令セットのみを使っても
不具合あるなら別物だろうねここの暇人たちのリソースも有限だからな質問に応える
メリットがあるならば答えてくれるかもね聞いて終わりですか
- 336 :ナイコンさん :2019/02/21(木) 20:30:07.39 ID:totusu7u0.net
- 追加された命令を装ってるけど本当は未定義だった命令を動作通りにオペコードを与えただけかもしれんしなあ
- 337 :ナイコンさん :2019/02/22(金) 08:18:29.44 ID:XMPLKbBg0.net
- 65C02の時に未定義部分は意図的に全てNOP動作にしたという話なので
65C02でNMOSな6502の隠し命令は65C02では動かない
となると、本を信用するなら、Rockwell R65C02の命令は65C02では動かなかった、ハズで
Apple //eとかで65C02の実物を当時実際に使ってた人がいたら
”そこらへんのトコ、どうなんですかね?”と聞いてみたかったんですが
もしかして、その、6502って日本では通りすがりにポロッと情報が出てこない程度には
マイナーだったりするんですかね?(汗
今でも簡単に手に入るW65C02S系列(W65C02S、W65C134SとかのS付きなやつ)ではR65C02のスーパーバージョンとして
x7とxFの列にR65C02のビット操作命令が詰め込まれてるんで、それらが乗ったボードで遊ぶ分にはスーパーバージョンとして使えばいいんですけ
でも、65C02向けに書いたつもりのプログラムが、現役当時の石では動かない可能性があるなんて、ちょっと悲しいじゃないですか
- 338 :ナイコンさん :2019/02/22(金) 12:23:02.04 ID:ogBMbi6o0.net
- Apple|| とか、当時の値段で軽く30万円越えてた(日本で)と記憶してるな
この値段じゃ、持ってたヤツの数もたがが知れてるだろ
だから、オリジナルの6502 or 派製品(Rockwll/WDC/etc) を弄る機会が有ったヤツが 多数いたとは思えない
日本で6502系といったら、 ファミコン & PCエンジン の方になっちう
こっちなら、ユーザーも多し、詳しいヤツもいるだろ
どれでも動くようにしたければ、拡張された命令の類は一切使わない
Rockwell と WDC とで C02 を作ったときに 異なる実装してしまったんだから
それについて、今更あれこれ言ってもしょうがない
- 339 :ナイコンさん :2019/02/22(金) 12:27:14.38 ID:o1pc46nlr.net
- ファミに6502を採用された理由がマイナーだったからだしな
- 340 :ナイコンさん :2019/02/22(金) 12:57:52.97 ID:ipMOFEBb0.net
- >>339
えっそうなの?
リコーがライセンス持ってたからかと思ってた
- 341 :ナイコンさん :2019/02/22(金) 16:25:43.21 ID:s1mW31Kn0.net
- わざとマイナーなCPUを採用することってあるよね。アーケードのV70とか。
- 342 :ナイコンさん :2019/02/22(金) 18:45:33.96 ID:to+vWzA8M.net
- >>341
それはバイナリ改ざん防止だな
- 343 :ナイコンさん :2019/02/22(金) 19:40:01.53 ID:ipMOFEBb0.net
- うーん
Apple、VIC/C64、PET とだいたい6502じゃね?
メジャーじゃね?
日本製のマイコン(パソコン前時代)は6502採用なかったね
だいたいZ80/68だよねえ
- 344 :ナイコンさん :2019/02/22(金) 19:46:48.60 ID:X4p48TEZM.net
- アーケードのV70使用って、デッドコピー基板対策でしょ。
当時学生だった俺にもデータシート入手出来たくらいだし、
バイナリ提示されればいくらでも改竄なんて出来たよ。
- 345 :ナイコンさん :2019/02/22(金) 22:20:15.17 ID:to+vWzA8M.net
- >>344
逆アセンブルできる技術者が少ないから標的になりにくいだけってことだな
- 346 :ナイコンさん :2019/02/22(金) 22:30:18.80 ID:/e4eo06s0.net
- >>343
それアメリカの話
日本じゃどマイナーだよ
当時aplleIIなんかの輸入品の超高級PCなんて持ってる人は金持ちか好事家くらい
- 347 :ナイコンさん :2019/02/22(金) 23:00:37.54 ID:EzwM6uro0.net
- >>340
正しい!
任天堂は使い慣れた80系にしたかったがコスト重視でリコー案を飲んだ。その後に後付けの理由が出てきた。
総レス数 961
275 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200