もう21時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50  

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

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

■過去スレ
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/

■関連スレやサイトなど ※補足などあれば>>2-9あたりで
68K v.s. x86
http://gimpo.2ch.net/test/read.cgi/i4004/1220728356/

半導体コレクション展示会場
http://www.st.rim.or.jp/~nkomatsu/ICcollection.html

2 :ナイコンさん:2012/04/09(月) 21:05:54.45
おつ!

3 :ナイコンさん:2012/04/09(月) 23:13:10.45
>>1 乙です

小松さんのコレクションのサイトを閲覧してて、初めて知ったんだけど
AMDの石のセカンドソースを、Intelが出すような例が昔はあったんだね

AMDの数値演算プロセッサ Am9511 → セカンドソース Intel 8231
ttp://www.st.rim.or.jp/~nkomatsu/peripheral/Am9511.html


4 :ナイコンさん:2012/04/10(火) 09:48:27.12
ああ、am9511は超有名だったからな。

そしていちょつ。

5 :ナイコンさん:2012/04/10(火) 12:42:52.15
Zilog Z180(HD64180)やIntel 8231/8257 (Am9511/9517のセカンドソース) への
柔軟な対応と、HD63C09へのどうしようもない対応が歴史を決定した。

オリジナルの6809のアーキテクチャに最大限の敬意を払って拡張され、
高速化され、CMOS化された優秀なセカンドソーサのチップを潰したMotrora。

MC68040、MC68060、PowerPC620、PowerPC G4と複雑化→開発遅れを
何度も何度も何度も同じ轍を踏んで、半導体事業撤退に至る。

6 :ナイコンさん:2012/04/10(火) 13:24:33.84
>>5
>高速化され、CMOS化された優秀なセカンドソーサのチップを潰したMotrora。

潰してないでしょ

7 :ナイコンさん:2012/04/10(火) 14:56:30.86
6309の独自拡張がモトローラと日立の紛争の原因とはなったようだが。

インテルやザイログは西海岸の企業だから製品や考え方に違いはあるだろ。
モトローラは西海岸の企業ではないから、企業文化としても災いしたのだろう。
現在はモバイルと通信に分社化され、モバイルはグーグルに買収という状態だ。
モバイル部門すら買収され影も形もないとなると問題は半導体部門だけじゃないだろうな。


8 :ナイコンさん:2012/04/10(火) 15:00:25.72
>>7
> 6309の独自拡張がモトローラと日立の紛争の原因とはなったようだが。

日立が勝手に拡張した内容をデータシートに載っけてモトローラに怒られただけ。
データシートの該当部分は削除になったけどチップの販売は普通に継続された。

9 :ナイコンさん:2012/04/10(火) 15:29:30.49
拡張仕様がリファレンスやデータシートに載ってない6309など、互換チップ以外に存在意義はないな。
実質的な圧力だろう。当時貿易摩擦もあったろうし東海岸の企業らしい。

モバイル部門がグーグルに買収されたら終了だろうかね。
モトローラという企業は、ビジネス的にチップだけでなく企業としてもイマイチだったのだろう。
そんな企業の作るチップを信じてしまった昔のPC板住人氏は残念でならない。


10 :ナイコンさん:2012/04/10(火) 16:09:43.49
>>9
>拡張仕様がリファレンスやデータシートに載ってない6309など、互換チップ以外に存在意義はないな。

CMOSだし、3MHz動作版もあったし、そんなことないでしょ。あんたバカじゃね?

11 :ナイコンさん:2012/04/10(火) 22:45:18.61
ロストテクノロジーで盛り上がってるな

12 :ナイコンさん:2012/04/11(水) 09:52:23.76
そもそもデータシートが外部非公開のエンジン制御用6301とかもっと魔改造されてるじゃん


13 :ナイコンさん:2012/04/20(金) 00:21:05.95
>>10
FM7系だと結構載せ替え流行ってたよ。


14 :ナイコンさん:2012/04/20(金) 00:25:11.85
>>13
マニアがどうこうした数なんて全体の生産量からすれば屁みたいなもんだろ。

15 :ナイコンさん:2012/04/20(金) 18:32:04.57
臭いって事?

16 :ナイコンさん:2012/04/20(金) 23:12:51.69
>>13
ないな。
ゲームが動かなくなるから。
あとFM77AV系はCPUが直付けだから、載せ換えはさらにハードル高い。

17 :ナイコンさん:2012/04/21(土) 00:23:48.02
>あとFM77AV系はCPUが直付けだから、載せ換えはさらにハードル高い。

DIPだし大したことない

18 :ナイコンさん:2012/04/22(日) 23:58:31.74
>>14
数が少ないからステータスになるのさ。
もちろんコテ持てない奴等はよだれ流してるだけ。

19 :ナイコンさん:2012/04/23(月) 07:10:13.84
いい加減な改造して不安定になるよりも
遅くてもノーマルで安定している方が良い

まして改造がステータスだなんて思っているヤツはアホゥ

20 :ナイコンさん:2012/04/24(火) 00:07:02.94
>>19
いいかげんな改造しか出来ない奴のいいわけだな。

21 :ナイコンさん:2012/04/24(火) 04:00:48.74
いい湯加減だよ

22 :ナイコンさん:2012/05/24(木) 02:20:35.52
6309はTFR,EXGの非互換さえなけりゃ神CPUだったのに。
惜しい、とても惜しい。

23 :ナイコンさん:2012/05/24(木) 02:55:48.77
この辺の話かいな?

http://www.6809.net/6809/?6309%CC%BF%CE%E1%C9%BD
> exg a,x のようなサイズの違うレジスタ同士の演算で、16ビット側レジスタの値は、 6809では
> 下位バイトが対象になるが、 6309では8ビットレジスタが16ビットレジスタペアになったときに
> 対応する位置が対象となる。 exg a,x なら 6309では xの上位バイトが対象となる。
> ※ 実のところ、サイズ違いの演算は あまり未定義アドレッシングと意識せずに使用されて
> いたと思われ (アセンブラで普通に指定できてたと思う)、 オーソドックスに組まれたと思われる
> ソフトが 6309にCPU換装して動かなくなる原因はこのへんだったらしい(?)。

24 :ナイコンさん:2012/05/24(木) 03:01:37.14
データシート上は互換だったのに、
未定義動作の互換性までは考えていなかったというオチ。

25 :ナイコンさん:2012/05/24(木) 03:07:10.31
まあ、8080→Z80でもけっこう非互換部分あるけど、あんまし文句言ってる人見たことないし、いいんでないの?

26 :sage:2012/05/24(木) 10:19:09.57
オーソドックスに組まれてないだろそれ。
素人ならともかく、プロが未定義使うってどうなの。

27 :ナイコンさん:2012/05/24(木) 12:01:08.05
エラーにしないアセンブラが悪い希ガス

28 :ナイコンさん:2012/05/25(金) 18:55:00.99
使うヤツが悪いに決まっているだろ
アセンブラ、コンパイラのエラー報告は忠告程度
エラーがなくても疑うのがプロ

29 :ナイコンさん:2012/05/25(金) 19:11:53.09
>>28
アセンブルのたび、リンクのたびに出力されたコードをプログラマが精査ですか? プロって大変なんですね。

30 :ナイコンさん:2012/05/25(金) 19:56:27.27
全てやる訳無いだろ、バカかオメーはよ
アグレッシブなコードだけ精査するに決まってんだろ
とろい突っ込み入れてんジャネーヨボケが

31 :ナイコンさん:2012/05/25(金) 20:16:52.41
>>30
え、それじゃあ「エラーがなくても疑うのがプロ」てのは嘘なの?

32 :ナイコンさん:2012/05/26(土) 01:05:06.91
なんだ、テスト中は全然こなかったのに、テスト終わるとさっそくやって来たな。

33 :ナイコンさん:2012/05/26(土) 01:16:34.31
>>32
キミの頭の中はまだ学生気分なの?

34 :ナイコンさん:2012/05/26(土) 18:32:14.09
ていうか、意識して未定義使うとかの話じゃなくて、
意図せずにないsrc/dstの組み合わせをしてしまったとかの話なの?

35 :ナイコンさん:2012/05/26(土) 18:37:34.16
アマチュア製アセンブラやコンパイラが普通に使われていた時代
アマチュアとプロの境界線も曖昧だった時代

未定義動作の記述ハジくとか石の製造メーカーが作ったアセンブラぐらいしかなさそうな気が

36 :ナイコンさん:2012/05/26(土) 18:42:02.19
>>35
> アマチュア製アセンブラやコンパイラが普通に使われていた時代

そんな時代あったか?

俺は使ったことない。

37 :ナイコンさん:2012/05/26(土) 18:47:44.08
なんか、マシン語とか言いながらバイナリダンプを指すような人達の会話に見えてるな…

38 :ナイコンさん:2012/05/26(土) 20:16:06.42
>>36
お仕事でCP/Mとか使っていたヒトは知らないかもしれんけど
アマチュアホビーストはそんな高いモノ普通は手が出なかったから
ホビーストお手製のシステムプログラムでお茶を濁していたのだ

39 :ナイコンさん:2012/05/26(土) 20:18:44.23
この場合は6309だからCP/MじゃなくてOS-9とかだな。

40 :ナイコンさん:2012/05/26(土) 20:22:44.85
パソコン一台買って小遣いが干上がった子供はソフトは自作か雑誌で手入力

41 :ナイコンさん:2012/05/26(土) 21:09:35.67
>>38
お仕事の話じゃないのか…

42 :ナイコンさん:2012/05/27(日) 00:36:45.64
>>33
ならいいな、そろそろ赤いちゃんちゃんこに手が届きそうなんだよ。

43 :ナイコンさん:2012/05/27(日) 02:50:36.30
>>42
頭の中が学生気分であるか否かと、年齢ってあんま関係ないんじゃない?

44 :ナイコンさん:2012/05/30(水) 12:46:27.02
1D SEX

45 :ナイコンさん:2012/05/31(木) 00:50:09.24
符号拡張命令はホントに人気だねぇ

46 :ナイコンさん:2012/05/31(木) 08:58:06.67
CBWすげぇ

47 :ナイコンさん:2012/06/02(土) 20:02:07.37
別人の横レスですが、たとえば B を破壊せずに
X の下位バイトを A で使いたいとき

PSHS B
TFR X,D
TFR B,A
PULS B

等とする代りに

TFR X,A

だと一命令で済むから、少しでも節約したい場合(プロ/アマ問わずゲーム等)
もしかすると裏技的な常套手段だったのかも
これが 6309 だと、下位でなく X の上位バイトが転送されてしまうので
いきなり不具合に…  単なる憶測ですみません
http://www.scribd.com/doc/72374827/6x09-Instruction-Sets


48 :ナイコンさん:2012/06/03(日) 11:57:12.93
だから、未定義命令を仕事で使っちゃだめだろ
純正品だってrevisionが変わったら動かなくなるかもしれん

49 :ナイコンさん:2012/06/04(月) 00:15:38.62
>動かなくなるかもしれん
その修正を有料で受けることを考慮した仕事を(ry


50 :ナイコンさん:2012/06/05(火) 13:09:06.34
TB級のHDDをカセットレコーダーエミュレーションさせて8bit機に活用出来ませんかね

51 :ナイコンさん:2012/06/05(火) 14:10:01.28
ICレコーダーでいいだろ

52 :ナイコンさん:2012/06/06(水) 08:14:47.88
999GBまど読んでエラーにする機能も実装

53 :ナイコンさん:2012/06/06(水) 17:49:06.96
>>48
ゲームとかでは使われている事が多々あって、実際MSXではHD64180機で動かないソフトが(ry


規格なんて、大手だって無視するんだぜwwww
iPadのUSB充電とか有名でしょw

54 :ナイコンさん:2012/06/06(水) 18:33:44.32
>>53
>MSXではHD64180機で動かないソフトが(ry

MSXでは64180の方が規格違反だろ。日立も64180のことをZ80コンパチとか謳ってないし。

55 :ナイコンさん:2012/06/07(木) 09:18:32.05
64180搭載機はZ80と切り替えられるから規格違反ではない

56 :ナイコンさん:2012/06/08(金) 06:17:37.93
>>55
動かないんだからどっか違反してんだろうな

57 :ナイコンさん:2012/06/08(金) 07:46:24.55
>>56
HD64180とかZ180とかZ380では
Z80のインデックスレジスタ関連の未定義命令が排除されてるってだけの事だな。

Zilog的には公式には存在しない命令なんだから
排除も何もない訳だがwww

58 :ナイコンさん:2012/06/08(金) 11:09:32.62
Z80も各命令の挙動についてマニュアルに全て書かれてる訳じゃないしな

59 :ナイコンさん:2012/06/08(金) 18:47:20.76
裏挙動があるのかー

60 :ナイコンさん:2012/06/14(木) 00:40:08.07
裏命令を使うとか今の基準で考えるとありえない事やってたんだな

61 :ナイコンさん:2012/06/14(木) 16:17:40.20
今は例外割り込みとかあるからな、普通に使えない。
(まぁまだCPUにもよるが…)

当時は速度が必要十分じゃなかったことと、メモリが高すぎたからな。
1バイト節約のためにトリッキーなことをするのも、たしなみみたいな意識もあったし。
(それはそれで色々問題あるが)


62 :ナイコンさん:2012/06/15(金) 00:03:34.84
ホントにメモリが逼迫していたり処理を速くしたくて
裏技を使うのは仕方が無いと思うけど
知っている事を自慢したくてとか、興味本位で使うヤツはギルティーだな

63 :ナイコンさん:2012/06/15(金) 02:35:14.21
64180とZ80じゃDAAしたときの挙動が違ってた気がする

64 :ナイコンさん:2012/06/15(金) 03:02:37.90
DAA命令って、8080でも、Z80でも、64180でも、マニュアルでちゃんとした動作の定義なかった気がする

65 :ナイコンさん:2012/06/15(金) 14:12:42.58
>>62
ある意味IOポート命令でVRAM(16bitアドレス指定アクセス)をするのもそうだな。
確か当初はOUT(C),Aとか上位バスにBレジの内容が出るとかいうのは、正式にはなかったはずだし。

DAAは8080A以降の命令じゃなかったかな、Aなしはなかったと思う。
それ以前に積極的に使う場所が限られてたような。

66 :ナイコンさん:2012/06/15(金) 14:18:08.23
>>65
>ある意味IOポート命令でVRAM(16bitアドレス指定アクセス)をするのもそうだな。
>確か当初はOUT(C),Aとか上位バスにBレジの内容が出るとかいうのは、正式にはなかったはずだし。

少なくともシャープのマニュアルには書いてあったぞ。

>DAAは8080A以降の命令じゃなかったかな、Aなしはなかったと思う。

Aなし→Aあり は電気的に改良されただけ。

67 :ナイコンさん:2012/06/15(金) 15:19:59.59
あ、そうだNECの偽物の話とごっちゃになってた。ぐぐって確認。

シャープのZ80だってところがミソってことだったんだろうなw

68 :ナイコンさん:2012/06/15(金) 15:42:56.83
Z80ってバグあったよね

69 :ナイコンさん:2012/06/16(土) 02:06:25.64
Zilogのマニュアルにも書いてあるがな

70 :ナイコンさん:2012/06/16(土) 02:27:10.74
>>65
>ある意味IOポート命令でVRAM(16bitアドレス指定アクセス)をするのもそうだな。
>確か当初はOUT(C),Aとか上位バスにBレジの内容が出るとかいうのは、正式にはなかったはずだし。

↓の269頁とか見れ
http://www.z80.info/zip/z80cpu_um.pdf

71 :ナイコンさん:2012/06/17(日) 03:06:15.27
288ページしかないんだが

72 :ナイコンさん:2012/06/17(日) 03:20:16.10
288ページもあれば、充分だと思うが。

まあ、out (c),a というニーモニックだし、"select the I/O device at one of 256 possible ports"
なんて書いてるから、たまたま A8-A15 に Bレジスタの内容がでるような設計になってて、
便利そうだということで仕様になったんだろうね。

73 :ナイコンさん:2012/06/17(日) 03:21:52.78
>>70
それ新しい版だから

74 :ナイコンさん:2012/06/17(日) 04:02:13.85
>>73
古い版のにはなかったとか言いたいならお前がそれ提示すればいいと思うよ

75 :ナイコンさん:2012/06/17(日) 06:09:05.91
ドヤ顔(笑)

76 :ナイコンさん:2012/06/17(日) 06:26:36.29
>>72
The contents of register C are placed on the bottom half (A0 through A7) of
the address bus to select the I/O device at one of 256 possible ports. The
contents of Register B are placed on the top half (A8 through A15) of the
address bus at this time.

77 :ナイコンさん:2012/06/17(日) 08:10:51.72
>>76
Bレジスタがアドレスの上半分に出てくるなんて書いてないだろ


78 :ナイコンさん:2012/06/17(日) 08:41:38.87
>>76
何を言いたいのか書いてくれないかな?

>>77
> The contents of Register B are placed on the top half (A8 through A15) of the
> address bus at this time.
> レジスターBの内容は、アドレスバスのトップの半分(A15によるA8)にこの時期に置かれます。

79 :ナイコンさん:2012/06/17(日) 08:44:04.33
ZiLOG Z80 Family User's Manual

OUT (n), A
Description: The operand n is placed on the bottom half (A0 through A7) of the address
bus to select the I/O device at one of 256 possible ports. The contents of the
Accumulator (register A) also appear on the top half (A8 through A15) of
the address bus at this time. Then the byte contained in the Accumulator is
placed on the data bus and written to the selected peripheral device.

OUT (C), r
Description: The contents of register C are placed on the bottom half (A0 through A7) of
the address bus to select the I/O device at one of 256 possible ports. The
contents of Register B are placed on the top half (A8 through A15) of the
address bus at this time. Then the byte contained in register r is placed on
the data bus and written to the selected peripheral device. Register r
identifies any of the CPU registers shown in the following table, which also
shows the corresponding three-bit r field for each that appears in the
assembled object code:

80 :ナイコンさん:2012/06/17(日) 11:07:27.07
ザイログ発行の資料にBレジスタの事が謳われていないんだから
それを見込んだプログラミングはトリッキーと言われても仕方が無いね
シャープについてはもう言う事無い、ただ異常としか
これからは使わないようにしようね

81 :ナイコンさん:2012/06/17(日) 11:17:35.15
>>80
>>79はZiLog発行資料な

82 :ナイコンさん:2012/06/17(日) 11:41:08.73
>これからは使わないようにしようね

そもそも、今後Z80のプログラムを組む可能性のある人は
ほとんど居ないんじゃなかろうか。

83 :ナイコンさん:2012/06/17(日) 11:58:53.22
>>81
だからそれのどこにもそんなこと書いてないじゃん
ザイログの資料にないことは全部裏技
裏技使えばどこかで問題が出る可能性が残る
だから使わないようにしようね
正統派のプログラマーは

84 :ナイコンさん:2012/06/17(日) 12:03:36.89
>だからそれのどこにもそんなこと書いてないじゃん

???

85 :ナイコンさん:2012/06/17(日) 12:09:12.63
>>83
>だからそれのどこにもそんなこと書いてないじゃん
>ザイログの資料にないことは全部裏技

http://www.zilog.com/docs/z80/um0080.pdf の15ページ、'Figure 7. Input or Output Cycles' に
A15-A0 のタイミングまで書いてあんのに?

86 :ナイコンさん:2012/06/17(日) 12:09:58.04
都合の悪いことは見えなくなる人かな?

87 :ナイコンさん:2012/06/17(日) 12:16:24.77
古いのもってこいよ

88 :ナイコンさん:2012/06/17(日) 12:31:27.41
レジスタBの値がアドレスバスの上位に出るから積極的に使ってネ
VRAMなんかI/Oアドレスに繋いでアクセするすると良いよ
とでも書いてあると思っているのか

マニュアルは事実だけしか書かれていない
それをどう使うかはユーザー次第
トリッキーなコード書くのもユーザー次第
メンテナンスが出来るならどんなコードでも良いんだよ


89 :ナイコンさん:2012/06/17(日) 13:56:52.30
>>70
それさところどころ間違ってるとこあるよね。
IN A(C)はED 7BじゃなくてED 78だよね。
ED 7B xx xx は LD SP,(nn)だよね。

90 :ナイコンさん:2012/06/17(日) 14:05:46.88
Z80の売りの一つなブロック入出力命令だと実質使えないんだから
積極的に16bitI/Oアドレス使ってねとは書けないよなwww

91 :ナイコンさん:2012/06/17(日) 15:23:39.19
>>90
Z80の売りの一つはDRAMのリフレッシュ機能だからDRAM以外は繋いじゃダメ、くらいナンセンスな話だな。

92 :ナイコンさん:2012/06/17(日) 16:07:07.59
>>90

Bレジスタがアドレスバスに出るから、OTIRとかINIRとかで
「あと何回で転送が終わるか」がCPUの外からも見えて便利なわけだなwww


93 :ナイコンさん:2012/06/18(月) 22:50:44.03
>>90
大活躍の間違いじゃないか

94 :ナイコンさん:2012/06/19(火) 02:13:47.11
I/OはA0-A7とA8-A15を入れかえて配線すると便利ですよ
とマニュアルに書いてて欲しかった
そうすれば公知の事実になったのに

95 :ナイコンさん:2012/06/19(火) 02:21:36.04
>>94
SONYのSMCナントカはそんな感じのI/Oマップだったらしいけど、なんか便利だった?
VRAMの並びがリニアでない時点でダメダメな気がするけど。

96 :ナイコンさん:2012/06/19(火) 02:29:12.84
なんでリニアでないとダメダメなの?

97 :ナイコンさん:2012/06/19(火) 02:31:36.85
16ビットでアドレス計算したあとペアレジスタの上下入れ替えるなんてしたくないよね

98 :ナイコンさん:2012/06/19(火) 02:37:08.78
I/Oのアドレス上下入れ替えて、VRAMはI/Oにぶら下げられるわ、1命令でI/Oは
アクセスできるわって話なら、I/Oのアドレス入れ替えるの止めてメモリの64KBの内
256バイト潰してメモリマップドI/Oにするのも考慮していいと思う。

99 :ナイコンさん:2012/06/19(火) 18:08:09.09
>>97
入れ替える必要ないんでないの?

100 :ナイコンさん:2012/06/19(火) 18:30:39.11
たとえば 320x200 の解像度で1ドット1バイトのビットマップを実現したとして、
アドレスがリニアなら 0000〜F9FF になるとこをアドレスの上下入れ替えて
0000〜FFF9(XXFA〜XXFF は非使用)に割り当てる。
そうすると VRAM を I/O 領域にマッピングできるし、XXFA〜XXFF の非使用
領域はアドレスの下位のみデコードして他のペリフェラルを繋げられ、アクセスも
OUT(n),A の1命令でアクセスできるってことだろ。
VRAMのアクセスは上下入れ替えが生じてる分面倒くさくなる。

178 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.9 2010/05/24 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)