2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

6809とZ80

1 :アセンブラ使うとほんと差を感じたよね:01/12/16 18:53
新板ってひろゆきのお言葉があるもんだと
思ってた。
メルマも来ないし。

2 :6809E:01/12/17 01:46
OS-9 とか FREX はどうなったの?

3 ::01/12/17 01:50
FLEX だ

4 :古い人:01/12/17 02:54
OS−9はまだあるよ、っていうか現役。
http://www.microware.co.jp/products/index.html

FLEXは聞かんなー

5 :古株PSユーザ:01/12/17 06:43
9809マンセーな俺のファーストパソはFM−7だった。
タモリが若かった。

6 :出張あさはかマン:01/12/17 13:24
6800とか6809とか
68系の初期、アキュムレータが8ビットのころはSEXという命令がありましたね・・・

7 :名無しさん@お腹いっぱい。:01/12/17 18:32
>>6
 まじ?! ははh 受け!

8 :FM-77:01/12/17 19:04
6809でアセンブラを覚えて、いまは日立のSHを使ってるけど、違和感なく移行
できたなぁ。FLEXもってました。殆ど使わなかったけど。OS-9はBASIC09のため
だけに使ってたけど、やっぱり遅くてつらかった。最後は自分でDOSやコンパイラ、
漢字変換を作ろうとして挫折したっけ。6809マンセー!

9 :名無しさん@お腹いっぱい。:01/12/17 19:25
今おぼえてんのは
c3とcdとc9ぐらいだなあ

10 :出張あさはかマン:01/12/17 19:52
>>7
証拠
ttp://www23.tok2.com/home/fm7emu/ysm7/ysm77/6809c.gif

11 :FM-7 オーナー:01/12/17 22:49
どーせなら、6809 vs Z80 の宗教戦争しようぜ。
とりあえず、

Z80 って直行性がなさすぎ。
ありそーでない命令がある。逝ってよし。

#ん、日本語になってねーな(藁

12 :名無しさん@お腹いっぱい。:01/12/18 01:02
>>11

勝てば官軍!!!

#ちなみに今の漏れはMacユーザー。

13 :名無しさん@お腹いっぱい。:01/12/18 01:22
相対ジャンプは計算がメンドウ。今でこそアセンブラが計算するけど、
ハンドアセンブルだと…なんでZ80マンセー(つってもZ80でも相対JUMP
あるけどね)

14 :名無しさん@お腹いっぱい。:01/12/18 04:11
6809レジスタ少なすぎ。ダイレクトページやスタックフレームに作業領域
わざわざ作るのも面倒すぎ。あとマシンコード汚すぎ。SレジスタとUレジ
スタで命令長違うのもダサすぎ。
でも PSH 命令と PUL 命令だけはいいネ!それは認める。

15 :あさはかマン:01/12/18 06:28
Z80にはMMUが無い・・・
せいぜいCP/M、限界でMSX-DOS2で我慢するしかない・・

16 :名無しさん@お腹いっぱい。:01/12/19 00:24
Z80マシン語の入門書でも、IX、IYや裏レジスタなんかは
もう少し先のステップで学びます、とかいって説明省かれてたり。
あと、PC8801用の本とか、8080ニーモニックだったりして。

17 :FM-7 オーナー:01/12/19 03:05
I/O Mapped I/O は美しくない。
なんだよ、INP/OUTP って。

18 :FM-7 オーナー:01/12/19 03:06
あれ、IN/OUT だっけ?
# 厨房でスマソ。

19 :反68:01/12/19 03:07
Z80はひたすらやったな(笑)
6809はマニュアルしかみてないけど68000が6809の延長上のアーキテクチャ
だったら、オレはそっちに移ってたかもね(笑)
・・・6502もやってたから(微笑)

20 :反68:01/12/19 03:09
IXH・IXL・IYH・IYLをループ中のうまく配置していかにステート数を下げ
るか・・・なんて事もやってたな(笑)

21 :FM-7 オーナー:01/12/19 03:12
Z80(8080) なんて、所詮電卓の進化さ。
6809(6800) はミニコンの MPU 化だもんね。

22 :反68:01/12/19 03:14
>>21
どうだろうな?賛否両論あんだろうけど、オレはどっちでも構わないね。
・・・どっちもなんというか、なんか、マニアックだったな(微笑)

23 :さあね:01/12/19 03:19
>>21
いま考えるとどっちもどっちの感にたえないね

24 :反68:01/12/19 03:20
じゃあね(笑)

25 :名無しさん@お腹いっぱい。:01/12/19 05:23
懐かしい!
Z80って言葉は、青春のにおいがするよ…

26 :名無しさん@お腹いっぱい。:01/12/19 08:24
マイクロマウス系ではZ80大人気なのは何故かつーのを勉強してみるべし。>>21
適材適所ってことだ。

27 :名無しさん@お腹いっぱい。:01/12/19 09:38
>>18
X1はI/O空間にGRAM配置したおかげで、色々楽だったよーん。

28 :名無しさん@お腹いっぱい。:01/12/19 10:39
>>26
適材適所って言うより、単にZ80が入手しやすいからじゃないの。
つーか、まだ6809って まだ生産されてんの?

個人的には6809の方が好き。
(これは付き合いが長かったせいかも)

29 :FM-7 オーナー:01/12/19 11:51
>>26
ハード屋さんやハードに強い人はやっぱり、Z80 っていいますね。
8080 系の周辺が生かせるからとか、DRAMのリフレッシュとかでしたっけ?

30 :FM-7 オーナー:01/12/19 12:07
>>27
Z80 の IO 命令本来は 8 bit 空間(C レジスタだっけ)なのに、
X1 は堂々と [BC] レジスタで 16 bit 空間にアクセスしてましたよね。
  Z80 ってバンク切り替えなんかいらずに 64KB * 2 使えるじゃん。
と内心関心していたのは事実。

つーか、Z80 の IO 命令のレジスタインデックス修飾って本来何ビット?

31 :名無しさん@お腹いっぱい。:01/12/19 12:14


32 :名無しさん@お腹いっぱい。:01/12/19 12:16
>>27
縦方向の並び方が変・・・
なんで素直に左上から右下へ1本につながってないんだ?

33 :名無しさん@お腹いっぱい。:01/12/19 12:16
>>30
純粋なZ80ならば8ビット。
X1のはCPU内部で変な処理入れてたんじゃ?
BCレジスタで16ビットとは言っても、Bでバンク指定してたとか
そういうタイプなんじゃないの?。よく知らんけどさ。

34 :名無しさん@お腹いっぱい。:01/12/19 12:53
Z80のメモリはアドレス・バス16本の64KB。
I/Oポートも同じアドレス・バスを使っているから、I/Oポートも元々64KBあったんよ。
でもそれまでの他のマシンはハード的に下位8本しかつながってなかった。

だって「I/Oポートにメモリをつなげる」って方法を考えつかなかったもん。
「I/Oポート」は「I/Oポート」としか考えてなかったから、下位8ビットだけで充分と思われていた。

X1の使い方こそむしろZ80本来の使い方とも言える。バンク切り換えとか変な処理とか特殊な事とかしてないよ。

35 :名無しさん@お腹いっぱい。:01/12/19 13:06
Z80ってI/Oアクセス時にBレジの内容がA15-A8に出てくるのですか
知らんかったよ・・・・タイミングはA7-A0と同時なのかな。
東芝のZ84Cでも同じかな??データブックには書いてないや。

36 :名無しさん@お腹いっぱい。:01/12/19 13:15
アセンブラいじってたらIXHとIXLを自分で見つけた。
なんか嬉しかったよ。

X1のG-RAMはI/Oにあったってのは扱いやすかったんだけど、
Z80AのINとかOUTって遅いんだよねえ。
同時アクセスモードは使いにくかったし。

37 :古い人:01/12/19 13:20
>>35
TMPZ84C00Aのマニュアルにも、ちゃんと
*6 C→A0〜A7
B→A8〜A15
って書いてあるよ。
LH0080のマニュアルとかでも同じだから、裏技とかではなくて
Z80の仕様だね。

38 :35:01/12/19 13:26
>>37
あ、ほんとだTHX。
ニーモニック表の端っこにかいてありました。
アクセスタイミングのところに書いてなかったから気づきませんでしたよ。
つーかこれ知らなかったせいで、
昔余計な回路をつけた製品を設計してしまったのは
ここだけの秘密だ。

39 :出張あさはかマン:01/12/19 17:07
Z80の16ビットI/O空間が大っぴらに書けなかった理由は
DMAが難しいからだと思われ・・・

40 :古い人:01/12/19 18:06
I/Oを16ビットで使うと、一部のI/O操作命令が使いにくく(使えなく)なるから
あまり使われてなかったのでは。

ちなみにZ80DMAは普通に16ビットI/Oをサポートしてる。

41 :出張あさはかマン:01/12/19 18:25
>>40
でしたっけ?
ちょとデータブックあさってみます。

42 :27:01/12/19 19:20
16ビットI/OのDMA転送できますよ。
当時、X1turboで試しましたから。何をやったかってとGRAMのスクロール・・・。
ゲームに使えるかと思ったけど甘かった。

参考文献は「試験に出るX1」と「Z80ファミリハンドブック」

43 :ナイコンさん:01/12/20 01:25
>>32
同じ(?)CRTC使ってるレベル3やS1でも、あの配列だったよ。
右端に行くと8ライン下の左端に出るやつ。
描画時色々やりにくいから、ソフト作る上でのメリットは
文字座標(X,Y)->Addr.ルーチンがハイレゾ、ローレゾ共用できる
位しかなかったと思う(X1には関係ない話)。
これのお陰で、単純に(FM系の様に)CRTCいじって縦の
スムーズスクロールさせることも出来なかった。

44 :ナイコンさん:01/12/20 11:27
>>40
Bレジスタをカウンタにするループ系がほとんど使えなくなっちゃったね。

45 :ore:01/12/20 16:47
>>4
私も持ってはいたが活用してなかったよ、FLEX
http://www.blackbeltsystems.com/flexem.html

46 :ナイコンさん:01/12/20 16:52
6809ユーザーって何かつうと80系ユーザー馬鹿にしてたんだけど
なんとなく今のMAC信者と通じるものがあるなあと思った今日この頃。

47 :ナイコンさん:01/12/20 18:53
6809はCPUのくせにリフレッシュが入るんだっけ?ばかみたい

48 :小泉孝太郎:01/12/20 19:10
>>47
なんすか、それ。

49 :ナイコンさん:01/12/20 20:07
>>47
Z80もDRAMのリフレッシュが222[msec](多分)毎に入るよ。
ちなみに、Rレジスタがリフレッシュ位置を決めるレジスタで
1回のリフレッシュ毎にカウントアップされる。

50 :出張あさはかマン:01/12/20 20:23
>>27=42
ちゃんとデータあさってみました。
[A15..A8]はニーモニックには書いてありますが、タイミングが未定義
すなわちタイミングの保証はされていない信号だったようで。

Z80DMAはどうやらI/Oはレジスタの内容をそのままスルーしてしまうようです。

51 :古い人:01/12/20 20:42
Z80DMAのI/Oアクセスのタイミング表には、ちゃんとA0-A15まで
記述されてるのよね。

Z80CPUは、確かにIOアクセス時のタイミング表にA0-A7までしか
記述がないから、A8-A15は未定義という認識は間違いではないけど、
命令表にはあからさまに書いてあるからなぁ・・・

52 :ore:01/12/20 20:46
>>46
少数派はなんとか優位性を主張したがるもんだよ。
俺も当時は09派だった。
Z80使ってみて、そんなに悪くないじゃんと思ったもんだ。

53 :古い人:01/12/20 20:48
>>47
何のリフレッシュの事をいってるのかよくわからんけど、
バスサイクルの中にリフレッシュサイクルが存在するのは
Z80の方だよ。

54 :ore:01/12/20 20:58
09といえば8x8乗算を1命令11クロックでできたっけ

55 :ナイコンさん:01/12/20 21:07
>>54
スゲェ〜!Pentium並みのクロック数だぞ

56 :ナイコンさん:01/12/20 22:48
Rレジスタね。

57 :27:01/12/21 12:29
>>50
まー、一応X1turboじゃ動いた、という事で。
そのうち実機ひっぱりだしてソース探してみます。
まだ読めるかなフロッピー・・・。

58 :ore:01/12/21 12:32
>>55
8x8の上に符号なしです。
それでも当時は驚きました。

59 :47じゃないけど:01/12/22 01:35
The 6809 is a dynamic processor, which means its internal registers are
like dynamic RAM -- they need to be constantly refreshed.
This refresh occurs whenever the internal clock is running.
But, unlike the Z80, the 6809 stops its internal clock when the MRDY (a.k.a. WAIT\) line is held low.
The result: hold MRDY low for more than 16 usec, and the CPU registers become garbage!
(This interesting fact is contained in a teeny tiny footnote in the 6809 data sheet.)
6800もそうだけど、コンデンサーをRAMに使っているから

60 :古い人:01/12/22 03:29
>>59
6809がダイナミック構成なのは知ってるよ。

昔のチップは結構ダイナミック構成のが多かったから、
特に6809が異質な構成だったとも思えないけど。

ちなみに、6309はスタティック化されてたような気がする。

61 :ナイコンさん:01/12/22 03:48
>ちなみに、6309はスタティック化されてたような気がする。

日立の HD63C09 のことか?

62 :古い人:01/12/22 11:12
>>61
そう。

63B09もあったね。
対応クロックが違うだけだけど。

63 :あれから20ねん:01/12/22 15:18
>>47 これの事でしょう。

「バースト転送などで、DMA/BREQを連続して”L”レベルに保つ時、
MPUは14DMAサイクルごとにオート・リフレッシュを行い、バスを使用するので、
DMA側はバスを使用することはできません。
このオート・リフレッシュサイクルはBA,BGが一時的に”L”レベルになることでわかります。
したがって、DMAコントローラーでは常にBA,BG信号を監視しておく必要があります。」

HALTを使えばこのオート・リフレッシュサイクルは無いんだけれど、
DMA/BREQに比べて、バス解放までの時間が長い。
実行中の命令が終了するまで待たされるからね。

なんでCPU内部のことをバスにまで及ぼさないといけないかは、理解できず、
「バカ!モトローラ」って私も当時、思っていました。

64 :ナイコンさん:01/12/22 16:21
6809ってメモリアクセスをしない内部処理だけのムダサイクルが多かったよね
これを見つけたらクロックを2倍にしてやるアクセラレータを作ったよ
アホだったからメモリごと高速化した方がいいことに気付かなかった

65 :ナイコンさん:01/12/22 17:02
CPUも台所職人がいっぱいいたんだ。
すごいなー

66 : ◆MZ80K.vA :01/12/22 19:20
6809の人に相対ジャンプ命令にけちを付けられた記憶があります。
6809だと普通に書いてもリロケータブルになると言うのだけど、
そうなの?

67 :ナイコンさん:01/12/22 20:07
z-80 絶対派
6809 相対派 早退

68 :ナイコンさん:01/12/22 20:39
ゲームボーイカラーはZ80のカスタム版だったんですよね?

69 :JOY ◆chesX68k :01/12/22 21:16
>>68 そう。
裏レジスタとインデックスレジスタが無い。当然 EX EXXも無し。
フラグレジスタも簡略化されてる。当然、削られたフラグに関する
条件ジャンプや条件リターン命令も無し。
命令コードの体系も変わってる。
そのかわり、LD命令が拡張されてたり、SWAP r など新しい命令が
追加されてたり。
・・・・懐かしい。

70 :古い人:01/12/22 23:37
>>64
6309は、隠れ機能でムダサイクルを削るモードがあったような記憶が・・・

>>69
GBのCPUって、Z80というより8080だよね・・・

71 :FM-7 オーナー:01/12/23 00:02
>>66
条件ジャンプは相対ジャンプのみ(無条件ジャンプは絶対アドレスジャンプもあり)
でしたし、ほとんど全ての命令で PC 相対アドレッシングが使えたので、
完全にリロケータブルになります。

だたし、DP レジスタを利用したダイレクトページアドレッシングを用いると、
245バイト単位のリロケータブルになります。
これは主にグローバル領域として使用しました。

DP は 8bit の特殊なレジスタで、16bit アドレス空間の上位 8 bit に出力され、
下位 8bit 空間はオペランドで指定します。
(これによりオペランドが1バイトですむメリットがあり、実行クロックも得します)


# DP が 16 bit だったら、面白かったと思うのは私だけではないハズ!!

72 :FM-7 オーナー:01/12/23 00:03
>>71
>245バイト単位のリロケータブルになります。
256バイト
typo です。スマソ

73 :ナイコンさん:01/12/24 19:53
I/O16bitってのはSMC-70もやってたよね、たしか

74 :ナイコンさん:01/12/24 20:05
>>69
6502カスタムかと思ってた。
なぜに80系? なんか有利な点があるのかな。

75 :ナイコンさん:01/12/26 01:16
値段とか色々あるし一概に言えんでしょ。
数年前の日経エレクトロニクスに連載されてたファミコン開発秘話みたいな
やつによると、ファミコンで6502カスタム採用したのもマイナーだから解析
されにくかったからって理由だったし。

76 :JOY ◆chesX68k :01/12/26 03:06
>>74
確かに普通に考えると、旧ファミコンと同じ65系が挙げられるとは思うん
だけどなー。6502だったらファミコンでの資産を活かせるわけだし。
携帯機用にカスタムするというところで、何か問題があったのかもね。
シリアル通信もやらなきゃいけなかったし。
ハード的にどうこうとかは良く判らないので、石に詳しい人の見解キボーン!!
単純に、安価で量産できるからとか。大穴で、グンペイさんが好きだったとか。

>>75
マイナーな解析されにくいCPUってのが6502採用の理由とは初耳。
でも、当時は既に海外の8ビット機(AppleやCommodoreやAtariの)で採用
されていてメジャーな存在ではあったよね?。
日本ではマイナーだったのかも。

77 :古い人:01/12/26 04:42
ファミコンが6502なのは、リコーが持っていたCPUコアを採用したからそうなった
だけでは。
最初はZ80にしたかったみたいだけど。

GBも製造メーカの手持ちコア(で一番安く出来そうなの)を採用しただけでしょう。

両方とも、単に安価に量産できるから、ってのが正解だと思う。

78 :ナイコンさん:01/12/26 12:14
要するにプログラマのことはどうでもいいわけだね

79 :JOY ◆chesX68k :01/12/26 18:25
今になって6809の仕様書を眺めると、良いなぁって思う。マヂで。
オレ使ったこと無いけんねー、6809は。当時リアルタイムで使ってみたかったよ。
富士通と日立、それ以外で採用されたマイコンってあった?

>>77
あの仕様のカスタムZ80って、GB以外にも組み込み用で採用されてるんかな?。
自販機とかさ。任天スペシャルカスタム(グンペイカスタム)かと思ってたよ。

>>78
正直、任天とはそういうカイシャなのです(笑)。

80 :ore:01/12/26 21:02
>>79
6809パソコン日本限定でなければ
TRS-80 Color Computer 通称COCO があります。
ゲームパソコンにもOS-9マシンにもなったようです。
ttp://discover-net.net/~dmkeil/coco/
ttp://nitros9.stg.net/coco_game_list.html

81 :ナイコンさん:01/12/26 21:15
>>79
>>正直、任天とはそういうカイシャなのです(笑)。
任天に限らず、カイシャとはそーゆーもんだろう(;´Д`)

82 :ナイコンさん:01/12/26 21:17
z80しか使ったことないが、6809のハンドアセンブルって、
どういう手順でやりました?相対ジャンプとか。
いったんラベルで書いて、あとでアドレスに置き換えるとか?

83 :古い人:01/12/27 00:13
>>79
GBと同じCPUコアは、クーラ(だったかな)の制御用に採用されてたような。
プログラマに厳しいといえば、スーファミのCPUもそうですね・・・

6809は、アーケードゲームで大量に採用されていましたね。

84 :ナイコンさん:01/12/27 00:23
Z80もつかわれてましたよん。
たしかペンゴとか

85 :ore:01/12/27 10:13
>>83
アーケードで6809ってマッピーとI ROBOTしか知らないんですが、
他にどんなのありました?

インベーダーが8080で、ナムコ初期のはZ80x3個構成が多かったみたい。
(ポールポジションが8086他でリブルラブルが68K、以降しばらく68Kが主流に)

86 :ナイコンさん:01/12/27 10:30
25です。

すいません。めちゃめちゃスレ違いかもしれないんですが・・・
私の父が昔(20年以上前)に使っていたコンピュータって
カセットテープで記録してたんですが当時は皆そうだったのですか?
ちなみに画面はとっても小さくキーボードと一体化していて
プログラムを打ち込んでゲーム(インベーダー)とか足し算とか
できる感じのでした。
当時でいくらくらいしたんだろう・・・

87 :86:01/12/27 10:32
しまった。「年いくつスレ」に書こうとして誤爆しました。
でもあそこもスレ違いか・・・
どこで質問したらいいでしょう・・・

88 :JOY ◆chesX68k :01/12/27 10:33
リブルラブルは 6809*2 + 68000という贅沢仕様だったはず。
Goooogleで調べてみたところ、かなりの数ありますねー。
有名ところだと、XEVIOUS(Z80+6809), FantasyZone(6809のみ), ナムコSystem1(6809)。
まだまだいっぱいあると思う。
知らず知らずのうちにお世話になっとるなー。

89 :古い人:01/12/27 10:37
>>85
ナムコは、1983〜1988年位までの作品は、ほぼ全て6809でした。
リブルラブルも、メインCPUは6809でサブCPUが68kですし。
コナミも、1983〜1990年位まで全部の作品ではないですが、6809アーキテクチャの
CPUを使用してました。
パロディウスだ!なんかは、完全なカスタムCPUですがアーキテクチャ自体は6809
そのものでしたし。

他、タイトーの一部の作品(ハレーズコメットとか)にも使われていましたね。

90 :ナイコンさん:01/12/27 10:44
>>85,88
6809はナムコの80年代の基板に沢山使われてる。
ポールポジションはZ8002x2+6809だったかな・・?
サンダーセプターは68000+6502x2だったと思う。
System2は68000x2+68B09x1、
System21は68000x3+68B09+TMS320C25x1(初期)、68000x2+68B09+TMS320C25互換x4(後期)
FantasyZoneは68000+Z80(サウンド)で間違いない。
ゼビウスはZ80x3だったような気がする。

91 :ore:01/12/27 11:07
>>88
>>89
>>90
皆さんありがとうございます。
うーんそうでしたか。知らないことが多いな。
Z80と68000の間に結構6809が使われていたんですね。
勉強になりました。

92 :ナイコンさん:01/12/27 11:11
>>86
HPの巨大関数電卓か?(w
ハァハァ

93 :86:01/12/27 11:27
あれは電卓だったのですか!?でも
キーボードもついていたような・・・

94 :古い人:01/12/27 12:03
>>86
カシオ FX-9000Pだったりして。
マイナー過ぎるか。
http://my.reset.jp/~toragiku/kopa3/fx9.htm

妥当なところで、MZかPET/CBMかな。

95 :86:01/12/27 13:13
>94 古い人さん
ありがとうございます!検索しまくった結果
MZ-80Kと判明しました!
スレ違いなのにありがとうございます!

96 :ナイコンさん:01/12/27 23:21
Z80使いだった厨房の頃、6809は間接アドレッシング命令が豊富でうらやましかった。
自作FORTHのインナーインタプリタを実装する時、Z80だとどうしても汚くなる所が、
6809だと2命令ぐらいで済んでしまうんだなコレが。
反動でZ80の裏レジスタ使いまくった妖し気なコードを書いていたYO。

97 :FM-7 オーナー:01/12/28 01:20
Xevious は Z80 x 3 で間違いないです。
Libble Rabble は前出とおり 6809 x 2 + 680000。
Pole Position は Z8002 x 2 + Z80 で 09 はないです。
Mappy が 6809 x 2 ですね。

98 :ナイコンさん:01/12/28 03:57
ギャプラスは6809x3だったよね

99 :ナイコンさん:01/12/28 04:08
スーパーリアル麻雀PIIIは6809×2だったと思う。

100 :ナイコンさん:01/12/28 04:29
>>99
Z80だね。
ttp://www.ksky.ne.jp/~ooashi/srm/srmhw/index.html

101 :ナイコンさん:01/12/28 04:31
いやはや、ここにはアセンブラ使いな人が多いんぁ。
アセンブラを使えてはじめて厨房を卒業。という感じだったよな。
その昔は。

102 :99:01/12/28 05:49
>>100
今まで知らなかったよ、ありがとう。

103 :ore:01/12/28 11:23
>>97
ポールポジションはZ8002ですか。
初めて16bitCPUを使ったアーケードゲームという
ふれこみは覚えていて、てっきり8086たと思ってました。
Z8002は外部バス8ビットのやつですよね。

104 :ナイコンさん:01/12/28 11:28
>>103
8088とか68008は8bitだけど。
Z8002でgoogleしてみそ。
セグメントがなくて、メモリ空間が64KBなのがZ8002。

105 :ナイコンさん:01/12/28 14:09
>>104
あ、本当だ。
ttp://www.st.rim.or.jp/~nkomatsu/zilog/Z8000CPU.html
ご指摘ありがとう。

106 :ore:02/01/09 16:50
Z80の裏レジスタ知ったときには、なんてレジスタが沢山あるんだ!
と思った私。

107 :ore:02/01/09 16:55
ところで、IXH,IXLみたいな未定義命令はなんで未定義なんでしょう。

108 : :02/01/09 18:02
モス・テクノロジー社のZ80を持っています。

109 :ナイコンさん:02/01/09 19:12
>>107
ザイログからしてそんな命令使える事に気づいていなかったとか?

110 :ナイコンさん:02/01/09 19:24
で、I/Oポートへのブロック転送命令って結局実在したの?

111 :ore:02/01/09 21:20
>>108
羨ましい
SONYのV30なら見たことあります。

112 :ナイコンさん:02/01/10 05:41
>>107
HLの間接アドレッシング部分を利用したことによる副産物だったから。
HLのマシン語コードの前にDDやFDを付けるだけでIX,IYになるのは有名な話。
自分のエミュレータでもそのようにして作りました。

Z280では、IXH,IXLなどを含んだ命令が命令表に載っていますよ。

113 :ore:02/01/10 12:28
>>112
ええ、そのあたりの事情は私も知ってます。
副産物とはいえザイログも使えるのはわかっていたわけで、結構便利なのに
何故に公表しなかったのかなというのが質問の意図でした。
設計者が考えていたレジスタの役割に沿わないとか、手違いとか、
将来変更の余地の残したとか、こんなの誰も使わないと思ってたとか、
データシート書いた人は知らなかったとか、いろいろ考えたんですけど、
イマイチ説得力がないので。

114 :ナイコンさん:02/01/10 13:43
回路設計の前にソフトウェアのマニュアルが完成していた、でないか
CPU内部は副産物でもマニュアルのページ数はしっかり増えるから

ALUが実は4ビットってのは事実なのかな

115 :ナイコンさん:02/01/11 09:22
>>113
8080に対して、HLと同様に使える16ビットレジスタとして
IX,IYを増やし、その性格をアピールしたかったからと思われます。

また、8080と上位コンパチと宣伝する際、8080で揃っていた
レジスタアドレッシングと互換性のなくなるIXHなどの存在は不利。
そこで、隠してしまった可能性も高いですね。

116 :ナイコンさん:02/01/12 00:18
6809のインダイレクトアドレッシングを実際に使った人いますか?
自分は、結局使わなかった・・・
これのせいで、Z80で6089エミュレータ作ったときは混乱しかけました。(^^;
このとき、6809ってすごいなぁって思いましたよ。

117 :ナイコンさん:02/01/13 05:54
>>110
INIR,OTIRなどの命令は存在してましたよ。
ただし、Bレジスタがカウンタになるので、Z80をよく知っている
プログラマが、IO空間8ビットの機種で使うだけだったと思います。
マイクロソフト系の機種はZ80の固有機能をほとんど使わなかった
ので除外、シャープX1系やソニーSMC系は16ビット空間だったから
使用不能、使っていた可能性がある機種としては、シャープMZ系
あたりだけになると思います。

118 :ore:02/01/14 00:07
>>117
MSX2ではVRAMがVDPに繋がってて、VRAMへ入出力するときは
in,out系で行います。in,outするごとに対象VRAMアドレスが
インクリメントするしますから、inir,otirが普通でした。

119 :ナイコンさん:02/01/14 00:30
>>117
INIR,OTIRはブロック転送とはいえないんじゃ?

INI,OTIは、INC Bとセットにして使った覚えがあるなあ。

120 :ナイコンさん:02/01/14 01:28
>>119
X1turboでSIOやDMAにコマンド送るのにOUTIはINC Bと
合わせて良く使ったなあ。

121 :ナイコンさん:02/01/14 01:36
勉強になるYO!

122 :ナイコンさん:02/01/14 01:57
>>116
6809のインダイレクトアドレッシングは
BASICでいうON GOTOみたいな処理で便利だったかも。
でもリロケータブルにならないのが弱点。
何人かで分担してプログラムを書くと、
そのへんがバラバラなモノになりがちだった。
サイクル数命のヤツと変にカッコつけたコード書くヤツとか。

123 :ナイコンさん:02/01/14 02:04
>>114
Z80のALUは4bitだよ。

124 :ナイコンさん:02/01/14 02:14
それでADD HL,DEなんかが異常に遅いのだな

125 :ナイコンさん:02/01/14 02:39
別にALUの幅はそれ程関係ないのでは?

126 :ナイコンさん:02/01/14 09:12
>123
SC/MPのALUは1ビットだっけ?

127 :出張あさはかマン:02/01/14 16:51
>>113
おそらくあとでCPUを改良してデコードロジックを追加するときに
潰しが利くようにわざと定義しなかったということとでしょう。

たとえIXH,IXLを定義して無くても
INC命令が暗黙に(reg + 1) mod 256というニュアンスを含んでしまった事から
ペアレジスタが256バイト境界のバンクインデックスレジスタ扱いされてしまった訳です。
しかし上位レジスタは汎用8ビットレジスタを兼ねている・・・・

結果、互換性を保ったまま扱えるアドレスの幅を増やすためには
レジスタの数を増やす事となり、命令形態が崩壊するので
MMU外付け以外は困難という悲劇的な事態を招いたという気が。

128 :ナイコンさん:02/01/14 17:50
>>126
SC/MPの内部構成は分からんが,Z80のは嶋氏の作られた資料に書いてあるから鵜呑みに出来る。

129 :ナイコンさん:02/01/14 22:25
>>127
何度読み返しても解読不能です。

130 :OUTIまとめ:02/01/15 01:02
殆どの解説書にOUTIの命令動作が
1. OUT (C),(HL)
2. DEC B
3. INC HL
などと「お前ホントに確認したのかよ」とツッコミいれたくなるのだが
実際は
1. DEC B
2. OUT (C),(HL)
3. INC HL
と、"DEC B"が先ず実行される。

普通はこんな感じ。
ex1)
loop:
LD E,(HL)
OUT (C),E
INC HL
DEC D
JR NZ,loop

OUTIを使えばレジスタが1つ空き、1バイト小さく、5ステートも速い(w
ex2)
loop:
INC B
OUTI
DEC A
JR NZ,loop

今はループなんかしないで"INC B","OUTI"をずらーっと書いてる。
メモリ豊富だし、エディタの画面は広いし…

131 :ナイコンさん:02/01/15 01:12
>>130
X1/X1turboじゃよく使いましたね。
確か「試験に出るX1」には、OUTIの命令動作についても書いてありました。

Z80でメシが食えるお仕事ですか?うらやましい・・・。

132 :ナイコンさん:02/01/15 03:23
そーいえば、非零/零の処理でこんな感じの方法を良く使ってた…

NonZero:
 DB 3EH
Zero:
 XOR A
 LD (flag),A

あと、こんな感じのとか。
res1:
 LD A,1
 DB 01H
res2:
 LD A,2
 DB 01H
res3:
 LD A,3
 LD BC,xxxx

今はメモリいっぱいあるから無用なテク。

133 :ナイコンさん:02/01/15 03:49
今、制御系など以外でそういうテクが使える仕事ってあります?

i-modeもJAVAらしいし、基本的に全部高級言語になってしまったような
印象があるんですが、今でもがしがしハードウェア叩くようなことって
あるんでしょうか。

134 :ナイコンさん:02/01/15 04:13
JAVAもアセンブラで書けば色々できるぞ。ハードは叩けんけど。

135 :出張あさはかマン:02/01/15 09:32
>>128
このネタは誰とも議論したことが無いので私も自信あんまりありません。
えと、こういうケースを考えてるのです。

;リングバッファ
io_port equ 0020h;入力ポート(適当)

LD BC,io_port
LD D,high(wbuf)
LD A,(wpos)
LD E,A
INC E
IN A,(C)
LD (DE),A
LD A,E
LD (wpos),A

org 08000H
wbuf:ds 256 ;リングバッファのメモリ
wpos:db 0;リングバッファの書き込みポインタ

・・・とかやる場合があるのですが、
名目上分割できないIX、IYレジスタではこういう書き方ができないので
互換性に問題が出ないビット幅拡張をする
レジスタの候補としては一番適当なんでは?(遅いけど)

それとも86系みたいに16ビット幅に拡張したXA、XB、XD、XHレジスタを作って

LD XD,wpos >> 8
LD (XDE),A

とやるか・・・

しかし、
INC XAやDEC XAは8ビットで桁上がりしなくなるので
(ってCyフラグ立たないが)ジャンプ条件を旧来のままとすれば、
INC Aで立つZフラグ(xx00H)と
INC XAで立つZフラグ(0000H)を区別しないとならない・・・

dec a ;もし、DEC AとDEC XAが同じコードである場合、
jp z,nn ;XAの上位桁が0でないときjp命令の結果は純正Z80と異なる。

という問題が出る気が。

136 :ナイコンさん:02/01/16 22:14
>>135
電波か?

137 :出張あさはかマン:02/01/17 15:12
>>136
そうかも。
私もよくわかんないのです。

インデクスレジスタを8ビットづつに分けることが拡張性を犠牲にする、
というのは果たして本当なのか・・・?

138 :出張あさはかマン:02/01/17 22:31
覚悟したうえで曝しあげ。
やっぱり気になる・・・

139 :ナイコンさん:02/01/17 22:41
>>138
いや、いまは"醸し"あげが正しいんだよ(w

140 :出張あさはかマン:02/01/17 23:27
50年の樽が曝し出すウイスキーの味、てやつですね(w

・・・本題はー?

141 :ナイコンさん:02/01/18 01:14
>>127,135,137
通しで読むと、どのような回答を期待しているのか判断しかねます。
私なりの判断で書きました。

>インデクスレジスタを8ビットづつに分けることが拡張性を犠牲にする、
>というのは果たして本当なのか・・・?
Z80は8080の拡張CPUと考えると、
今の内部ロジックのままでは拡張性がないですね。

DDHやFDHが来たら、HLをIXやIYに切り替え、
さらにオフセットを読み込むという巧妙な方法を取ったおかげで
限られたコア面積に搭載でき、しかも未定義命令が発生したわけで、
現在の技術なら、いくらでも拡張できると思われますが??

>dec a ;もし、DEC AとDEC XAが同じコードである場合、
>jp z,nn ;XAの上位桁が0でないときjp命令の結果は純正Z80と異なる。
Z80の8ビット命令そのままに、8ビットレジスタ個々を
16ビットにしてしまったら、当然互換性はないですね。

もし、個々を16ビットに伸ばしても、従来の8ビット命令と
符号変化に互換性を残したい場合は、符号拡張させるしかないですね。
当然、伸ばしたMSB8ビットは、INC,DEC命令を実行するたびに
00HやFFHにつぶされまくります。
そして、これとは別に16ビット操作の命令を用意する、と。


142 :ナイコンさん:02/01/18 01:50
今風のRISCに似ているのはZ80ではと、
レジスタ多くて、裏レジに切り替えがあって、アドレッシングは貧弱なので。


143 :ナイコンさん:02/01/19 03:21
>レジスタ多くて、
当時としては確かにレジスタ多かったけど、命令毎に使用できるレジスタが
限定されてるところはあんまりRISCっぽくないよね。

>裏レジに切り替えがあって、
裏レジスタってRISCっぽい?SPARCかなんかと勘違い?

>アドレッシングは貧弱なので。
ここだけは同意するけど。

144 :ナイコンさん:02/01/19 03:26
>当時としては確かにレジスタ多かったけど、命令毎に使用できるレジスタが
>限定されてるところはあんまりRISCっぽくないよね。

これってRISCっぽくない?


145 :ナイコンさん:02/01/19 03:35
>これってRISCっぽくない?

RISCっぽくないよ。

146 :ナイコンさん:02/01/19 05:40
RISCっぽいんだ!!!!


147 :ナイコンさん:02/01/19 10:15
で、結局Z80は、16BitレジスタのDECでフラグが変わらないんだよな?
ダマされた人結構いるんじゃない?

148 :出張あさはかマン:02/01/19 11:11
>>141
そうかなるほど。符号拡張という線がありましたか。

こう考えてたのです。

とりあえず汎用レジスタを16bit化
->ロードイミディエイト命令がext,code,nn(L),nn(H)の
 4バイトかそれ以上になる
->タダでさえ遅い命令フェッチサイクルが伸びるのはあんまり好ましくない・・・

16ビット拡張命令系を用意
->一番頻度の高いINC/DEC命令で拡張コードを使う・・(符号拡張で解決可?)
->遅い

という意味です。

149 :ナイコンさん:02/01/19 14:11
>>146
ぜんぜんRISCっぽくない。
レジスタ間演算は貧弱だし、メモリ操作命令が豊富過ぎ。

>>147
マニュアルくらい読めよ


150 :141:02/01/19 14:11
>>148
従来の命令をそのまま保持するなら、
速さを犠牲にして命令を追加するしかないですね。
結局、モードを分けて、新命令セットをデザインするのが効率よさそうです。

ちなみに、Z80の拡張ネタは祝一平氏がOh!X上で先に出してました。
モトローラ系の命令セットは美しいですよ。
ザイログは、Z280は苦労の塊ですが、Z8000はなかなか良い。


151 :141:02/01/20 10:05
>>149
147氏は合ってますヨ・・・


152 :ナイコンさん:02/01/20 14:49
>>151
>マニュアルくらい読めよ>だまされた奴
ってことでわ?(^ ^;)


153 :ナイコンさん:02/01/20 15:20
>>152
あ、なーるほど。控えめに書いてよかった。
MCな人の可能性もあったもので。


154 :ナイコンさん:02/01/20 17:26
>>153
>>147の「結局」って部分ですか…<MCな人
なるほど、読みが深い…(^ ^;)  ネンチャクスマソ


155 :あ゛〜〜(=154):02/01/20 17:33
>>154 「MCな人」って、もとろ〜らの石USERってことですよね?


156 :ナイコンさん:02/01/24 03:33
当たり!
でも、マイコンにかかわる人は、
両方を知っていることがほとんどだから、
ま、控え目にお伺いするということで。


157 :141:02/01/24 04:01
カキコに不足があったことをお詫び申し上げます。

>>148氏の意思を尊重し、
8ビットレジスタを単純に16ビットに伸ばし、
フラグ変化を引き継ぐことを想定していました。(これが変という突っ込み)

フラグ変化をしない16ビットのINC・DEC命令は
従来のレジスタペアだけでよいと考えていました。

でも、こんなレジスタの使われ方をするCPUなんてデザインしないよなぁ、普通。

私の頭の中では、A〜Lが16ビットになっても、
BCと指定したら、従来通り、Bの右半分、Cの右半分が合体
して16ビットになっているのを想像していますが、間違ってますか?>>148


158 :ナイコンさん:02/01/25 01:03
>>149
6809よりは、Z80の命令セットはRISCっぽくない?
て事なんだけど。
もちろんZ80だって全然RISCらしくはないが。
昔モトローラは材ログに対して、アドレシングが豊富であればレジスタは要らないと。
所詮Z80はマイコンチップだ。6809はミニコンやオフコンの上位機のやり方と同じで
レジスタを減らし、アドレシングを豊富にしたと言っていたのでは?
その考えのおかげで現在はIBMの下請けでPowerPC作るハメになったのでは?
と言いたい。

159 :ナイコンさん:02/01/25 01:13
>>158
そう。その思想で、あまりにも豊富なアドレッシングを持つ68000
は、8086系の様に高速化できなかった。
今を見れば6809はダメな設計思想だった。

160 :ナイコンさん:02/01/25 03:14
今のインテルの石が高性能なのは市場をほぼ独占できたお陰で
開発に莫大な費用を掛けられるお陰では?
今のインテルチップの様に内部は RISC 構造にするんだったら
68000 の豊富なアドレッシングもそれほどの足枷とはならない
筈。よく使用される単純なアドレッシング命令なら68000でも命
令コードはそんなに長くならないし。

161 :ナイコンさん:02/01/25 03:32
68000のアドレッシングモードって80x86に比べてそれほど豊富とも思えんのだけど。>>159
ポストインクリメントやプリデクリメントならサポートしてるRICSプロセッサも良くあるし。

162 :ナイコンさん:02/01/25 03:57
>>158
RISCってのは高級言語の使用を前提としたアーキテクチャだから、
スタック周りのアクセスの方法や16ビット以上の演算に弱いZ80は
RICSらしいとは言い難い。

163 :出張あさはかマン:02/01/25 06:56
>>157
Acc.とB,D,Hのペアで上位に当たる汎用レジスタだけ16ビットにしてます。
INC HL=INC XHLということです。

特に上位レジスタとアキュムレータだけ16ビットにした理由は
レジスタペアにしたときに従来命令をそのまま通しても
上位はかろうじて無視できるということを考慮してます。

IX, IYならばアキュムレータを拡張さえすれば
いくら幅が増えてもそんなに影響しないかな・・と。

164 :ナイコンさん:02/01/25 12:47
>>160
Macが680X0を捨てる時の理由が、680X0を高速化する事は技術的に困難だったからの筈。
今の技術だと高速化できるんだろうが。
>>162
だから。Z80だってRISCらしくないけどって言ってるでしょ。
6809と比較した場合だけの話なんだって。

165 :ナイコンさん:02/01/25 13:01
>>160
Macが680X0を捨てたときの理由が、680X0を高速化する事が技術的に困難だったからの筈。
今の技術なら高速化できるかもしれんが。
>単純なアドレッシング命令なら68000でも命令コードはそんなに長くならないし。
命令長の問題ではない。メモリーアクセスはCPU内部処理より遅いので、
それに貴重なコードを割り当てる事が無駄なのです。

>>162
だからZ80だってRISCらしくはないって言ってるでしょ。
6809と比べた場合だけの話なんだって。


166 :ナイコンさん:02/01/25 13:12
>>165
x86はその無駄を68K以上にやってるような・・・

167 :ナイコンさん:02/01/25 14:36
>>165
Z80が6809よりRISCらしいのってレジスタ多いところだけ
#話はずれるがレジスタ少ない6502のほうがよほどRISCらしい

168 :ナイコンさん:02/01/25 15:53
>>167
初期のRISCの定義っていうと
・シンプルな命令セット(命令語は固定長)
・ロード/ストアアーキテクチャ(レジスタ間演算が基本)
・演算は3オペランド命令
ってとこでしょうか。

これを考えると6809,Z80,6502はどれもRISCじゃないけど、その中でも、
レジスタの用途に直交性が無いZ80をRISCとは呼びたくないです。

6502は0ページをレジスタと見なすなら、RISC的と言ってもいいかなぁ。


169 :ナイコンさん:02/01/26 02:30
>>168
しかし、6502の0ページはメモリアクセス。レジスタとはみなせない。
レジスタなんかいらねえ思想の始まり。
6809では、Bで256ページになって、いやって程のメモリアクセス。
さらに、6502の0ページをレジスタとみなしても,直交性はあるか?
0ページとアキュームレータは全然同等ではないぞ。

Z80プログラマはメモリを使わず、いかにレジスタのみで処理をさせるかが
勝負だった。RISC的だ。

>>167
アドレッシングが貧弱な所もRISC的だ。

ミニコンを引き合いに出した、当時の68系のアーキテクチャこそ。
最もCISCを代表していた。
それが現在の68系絶滅の原因だろう。
いいかげんな80系は今でも生き残っている。


170 :ナイコンさん:02/01/26 03:01
アーキテクチャのせいじゃないと思うがな
インテルはモトローラより商売が上手かっただけだと思う

171 :ナイコンさん:02/01/26 03:19
>>165
命令長の問題ではない。メモリーアクセスはCPU内部処理より遅いので、
それに貴重なコードを割り当てる事が無駄なのです。

RISCについてもうちょっと勉強して出直してこいや。

172 :ナイコンさん:02/01/26 05:20
ゲイツが IBMにintelを薦めたのが運命の分かれ目だね。
IBMも最初は 68kを考えてたって聞くし。
キルドール(だっけ) が会ってたら、CP/M68Kになってたかな?


173 :ナイコンさん:02/01/26 06:24
>>172
CP/M68Kが誕生した背景には、日立が絡んでいるはず。PL/M68Kという
68KのPL/Mコンパイラを日立は作り込んでいたから。ただ、実際には
CP/M68Kの用途としてはAtariSTのTOS/GEMの一部としてROM-OSとして
活かされたのが量的には多いはず。TOS/GEMはDRIの著作製品。

PL/Mという言語は元々キルダールがインテルのために設計した言語で
インテルは工業用途・組み込み用途のコンパイラとして作っていた。
8080/8086/8051など、主力デバイスにはPL/Mが用意されていた。この
点がインテルの強み。PL/M はCode/ROM Data/RAMのエリアマッピング
を明確に切り分ける機能が優れていたから、DRI系のOSはDRI-DOSにし
てもROM化が比較的容易だった。この点で、MSのコンパイラはCodeと
Dataのセグメント分けがぐグチャグチャなので、ROM化は困難だった。
これはCP/M80のBascomから今日まで一貫したMS社のだらしなさ。ま、
家電へ移行を考えている今のMS社は内部的にはそれを解決できるだろ
うけどね。

174 :ナイコンさん:02/01/26 19:25
>>171
おまえこそRISCわかってんのか?
メモリーアクセスは遅いんだよ。
遅い上に、メモリーアクセス命令は並列処理できないんだよ。

68系のアドレッシングが、固定長の命令に収まっても、高速化の足しにはならない。
1命令語の中のアドレッシング指定の部分を削ってでも、レジスタ増やしてレジスタ指定子
にした方が高速化の足しになるんだよ。

68系のアドレッシング命令が固定長の命令セットに収まるから、
あるいは、長くはならないから問題ないて事はない。
すなわち、命令長の問題ではないって事だ。

分かるか?

175 :ナイコンさん:02/01/26 20:40
171と174はイケンが一致してると思われ。

176 :ナイコンさん:02/01/26 20:45
>おまえこそRISCわかってんのか?
>メモリーアクセスは遅いんだよ。
>遅い上に、メモリーアクセス命令は並列処理できないんだよ。

CPUとL1キャッシュが同じ速度で動作してる今の時代に何言ってんの?

>68系のアドレッシングが、固定長の命令に収まっても、高速化の足しにはならない。

RISCについてもうちょっと勉強して出直してこいや。

>1命令語の中のアドレッシング指定の部分を削ってでも、レジスタ増やしてレジスタ指定子
>にした方が高速化の足しになるんだよ。

68000のレジスタの数って現行のRISCプロセッサに比べてもそう少ない
もんでもないんだが。

>68系のアドレッシング命令が固定長の命令セットに収まるから、
>あるいは、長くはならないから問題ないて事はない。
>すなわち、命令長の問題ではないって事だ。

ここまで書いてきてどうやら>>174が68000のアーキテクチャについて
誤解してる(知らない)ような気がしてきたな。気が向いたらでいいが
IA32があれだけ高速化できてて68系ができない理由について述べてく
れや。

# ところでColdFireって知ってるか?>>174

177 :ナイコンさん:02/01/26 21:17
>>176よ、正直すまんかった。
>>174は、8ビット時代が長すぎて最近のアーキテクチャについていけんのだよ。
昔の妄想と、現代の知ったか知識とがごちゃ混ぜになっているジジィなんだよ。
だから、どうか許してやってくれよ。


178 :ナイコンさん:02/01/26 21:46
クルーソーで68Kアーキテクチャを使えるようにしてくれないかな

179 :ナイコンさん:02/01/26 22:01
6809とZ-80のスレで、どっちがRISCっぽいかの話に、
なんか68000やらL1キャッシュやら言い出してる厨が紛れ込んできたようで。

180 :ナイコンさん:02/01/26 22:10
>>179はこのスレが>>159以降68Kが話題の中心になっているのに今頃気がついた
>>174であるに1MIPS。

181 :ナイコンさん:02/01/26 22:35
>6809とZ-80のスレで、どっちがRISCっぽいかの話に、
>なんか68000やらL1キャッシュやら言い出してる厨が紛れ込んできたようで。

>>142-179の間で>>159からあとは殆ど68000の話ですが何か?

>今頃気がついた>>174であるに1MIPS。

頑として自分の妄想に執着する>>142であるにDhrystone=1600

182 :ナイコンさん:02/01/26 22:44
Dhrystone=1600 って VAX MIPS=1のことだっけ。

183 : :02/01/26 22:49
勉強して来いって言ってるやつがぜんぜん勉強してないってのはなんだよ

184 :ナイコンさん:02/01/26 22:59
いい歳してベソかくなYO! >>183=>>174

185 :157:02/01/26 23:39
出張から戻ってきた。盛りあがているねぇ。戯言sage



186 :ナイコンさん:02/01/27 00:02
6502はRISCっぽかったよね。命令セットがシンプルなとことか
パイプラインとか。
レジスタの数は代表的なCISCプロセッサである68000やTRONチッ
プやV60等の例を見ても判る通りRISCか否かの判断には関係ない
と思われ。

…と話を蒸し返してみるテスト

187 :ナイコンさん:02/01/27 02:29
>>176
L1キャッシュといえどもメモリー。CPUダイの上では分離された構造だ。
同時に2つのアドレスにアクセスは出来ない。1サイクルに1アドレスだ。
またキャッシュのミスヒットを考慮すると、結局メモリアクセスは遅い。
レジスタとL1キャッシュが同じだと思ってんの?

1命令でいくつものメモリーにアクセスせにゃいかん命令をもつ68Kは
高速化しにくい。豊富なアドレッシングを捨てれば68Kはなんとかなる
かも知れんが。で、ColdFireではそうしたんだろ。

スーパースケーラの同時実効性を判定する回路は、デコードされたマイクロ命令数
と、アドレス情報、レジスタ情報等の2乗に比例して複雑になる。
IA-32がPentiumの時代、当時の集積度では68系はスーパースケーラ化
できなかったんだろう。

>>181
>>182
外れだ。

で、Z80は6809よりはRISCっぽかった。

188 :ナイコンさん:02/01/27 03:45
>>187
で、IA32は高速化できて68Ksではダメな理由は?
あとZ80がRISCぽいっていうところの「RISCぽい」って内容の解説も宜しく。

189 :ナイコンさん:02/01/27 03:55
>>188
「RISCぽい」といってる人間の中でだけ完結している「xxっぽい」じゃないかなあ。
正直、電波っぽくてみていて可哀想だよ。

190 :176:02/01/27 04:19
>L1キャッシュといえどもメモリー。CPUダイの上では分離された構造だ。
>同時に2つのアドレスにアクセスは出来ない。1サイクルに1アドレスだ。
>またキャッシュのミスヒットを考慮すると、結局メモリアクセスは遅い。
>レジスタとL1キャッシュが同じだと思ってんの?

で、今のIA32とどう事情が違うって言うの?

>1命令でいくつものメモリーにアクセスせにゃいかん命令をもつ68Kは
>高速化しにくい。豊富なアドレッシングを捨てれば68Kはなんとかなる
>かも知れんが。で、ColdFireではそうしたんだろ。

「1命令でいくつものメモリーにアクセスせにゃいかん命令」って具体
的に何?コンパイラの出力見てれば分ると思うけどそんな命令なんて大
して使われないよ。その辺の事情はIA32もたいして変わらんでしょ。

>スーパースケーラの同時実効性を判定する回路は、デコードされたマイクロ命令数
>と、アドレス情報、レジスタ情報等の2乗に比例して複雑になる。
>IA-32がPentiumの時代、当時の集積度では68系はスーパースケーラ化
>できなかったんだろう。

それはアーキテクチャの差かな?当時のPentiumと68系がどれ程の違いが
あったのか、是非御説明願いたいところだが。

>で、Z80は6809よりはRISCっぽかった。

で、キミの言うところの「RISCっぽい」ってのは何だい?

191 :ナイコンさん:02/01/27 04:24
>>189
「RISCっぽいんだ!!」とか言ってるほうは楽だね。



#周りから見るとホント可哀相だけど…

192 :ナイコンさん:02/01/27 04:35
RISCっぽい思想の上でコードが書かれてるなら良かったんだけどな

193 :ナイコンさん:02/01/27 04:49
>>190
>>187

どちらの意見にも味方をするつもりはないのだが、
・680x0系がx86系のような進化をしなかったのはアーキテクチャの問題ではなく、マーケッティングとかの問題だろう。
68060 という、スーパースケーラなMPUが作られてます。出すのが遅すぎてどこにも採用されなかったため、後が続かなかったと。

・命令キャッシュ/データキャッシュの分離とか、アクセスラインを2ポート用意するとか、
キャッシュに並列アクセスする方法はあるし、実際に採用されている。
それに、メモリアクセスが多い命令って、間接アドレッシングとかのことだと思うが、そういう命令がないアーキテクチャの場合、メモリアクセスを複数回実行しなきゃいけなくなるだけなので、速度的には問題にはならないだろう。
1命令でのメモリアクセスは多くてもたかだか読み出しが4回、書き込みが1回ぐらいだし。
680x0系の複雑な命令の場合、整数演算ユニットの方が問題になるだろう。

それでも、80x86系の rep の方がよっぽど頭が痛いと思うが。

・PentiumPro以降のように、μOP に分解するスタイルになってしまえば、元々の命令セットで1命令あたりのメモリアクセスの多い/少ないはあまり関係なくなる。
複雑な命令は、それだけ多くのμOPに分解されるだけ。


194 :ナイコンさん:02/01/27 04:51
Z80の命令セットではCとかで組んでもあまり高率のいいコードに落ちる
とは思えないのですが(どんなコンパイラを使ったとしても)、「Z80は
RISCっぽい」と主張される方々はその辺をどうお考えですか?

195 : :02/01/27 04:52
IA32が高速化できたのはIntelがとっても努力したからでないかなぁ

196 : :02/01/27 04:53
>>194
前段と後段と関連性が見えないんだけど?

197 :ナイコンさん:02/01/27 04:55
>>193
おお、初めてマトモな見識の人が降臨した様な気がする。

198 :ナイコンさん:02/01/27 08:12
z80が RISCっぽいってのは、おれも戯言で主張したことはあるよ。
10年ぐらい前だったかな。当時はまだ Pentiumもでてないぐらいで、
RISCと CISCがちゃんと別れてたなあ。

RISCとは何か、って主張が contextなしに意味を持たないのと同様、
RISCっぽい、って主張も contextなしには意味はない。
そういうところをついた言葉遊びでしょ。

アドレッシングが少なくて、レジスタが (6809にくらべりゃ) たくさん
あって、多くの命令は M1サイクルでおわったってぐらいか。
それが RISC的思想に基づいたものではもちろんなかったのはたしかだけど。

っていうか、ARMは RISCじゃないって思うけどどうよ?
# って、どっかの板でやった話を蒸し返してみるテスト


199 :ナイコンさん:02/01/27 08:17
ARMかぁ。JTAGにバグが無ければいいチップだった(これ以上は語れません(w

200 :ナイコンさん:02/01/27 10:05
>>193
> それでも、80x86系の rep の方がよっぽど頭が痛いと思うが。

おれもx86コンパチ設計して思ったんだが、rep単体も問題だが、
rep, lock, seg_prefixが重なったときの挙動がとてつもなく面倒。
i8086の挙動がほとんどバグのような仕様になっているのが
問題の原因だとは思うんだが。


201 :ナイコンさん:02/01/27 17:50
>>193
>68060 という、スーパースケーラなMPUが作られてます。出すのが遅すぎて…
その通り、出すのが遅すぎた。それが技術的問題だ。
>キャッシュに並列アクセスする方法はあるし、実際に採用されている。
実際にはキャッシュはアドレスとデータを保持している。
アドレスのマッチングが必要で外部メモリの様にアクセスラインのみの
2ウェイ化だけでは、デュアルインターフェイスにはならん。
やはりレジスタの様にはいかんのだ。

>>194
何度も言うように、6809よりはって事だ。Z80だってそんなにRISCっぽくはない。

>>198
その通り、言葉遊びだ。
俺はZ80はRISCっぽいというのは、Z80を誉めている分けではない。
当時の状況を考えると、それはいい事ではなかった。
それを、今考えるとどうであったかと言っているだけだ。
そしてそれが、その後の80系と68系の運命に少しだけは影響しているか
と言う事だ。

202 :ナイコンさん:02/01/27 18:31
アンタ痛すぎるよ>>201

203 :ナイコンさん:02/01/27 18:40
>そしてそれが、その後の80系と68系の運命に少しだけは影響しているかと言う事だ。

ザイログも今はダメダメじゃない?インテルは儲かってるみたいだけど。
で、「Z80はRISCっぽかった」ってのがどう影響してるって言うの?

204 :ナイコンさん:02/01/27 19:00
唐突ですが、このスレ的にR800はどうなんでしょう。

205 :ナイコンさん:02/01/27 19:36
なぜか、6809に比較して、Z80や8080を誉める(?"RISCっぽい"が誉めるになってるかどうか知らんが)と不機嫌になる人が多いな(わら

206 :193:02/01/27 20:06
>201
> 実際にはキャッシュはアドレスとデータを保持している。
> アドレスのマッチングが必要で外部メモリの様にアクセスラインのみの
> 2ウェイ化だけでは、デュアルインターフェイスにはならん。
「デュアルポートRAM」って知ってる?
アドレスバスやデータバスなどの信号線をまるごと全部2組持っていて、
それぞれから同時にアクセスできるような構造のメモリがあるのだよ。
昔のパソコンでも、VRAMとかによく採用されてる。


207 :ナイコンさん:02/01/27 20:23
>>205
あやふやな知識で偉そうに語ってる態度がそうしてると思われ

208 :ナイコンさん:02/01/27 20:24
「RISC」ってアーキテクチャはそれだけでは何のメリットも無い。それどころか、
ある処理を行うのに必要な命令数が増えるので、CISCに比べて遅くなる傾向にある。
RISCは、そのシンプルな構造を生かして、より高速なチップを作ったり、より
少ないトランジスタ数で作ったりして初めて意味がある。

Z80の4MHzと6809の2MHzがだいたい同じ速さであり、
ザイログはより高クロックのものを目指して頑張っていた、
というあたりのことをもって、Z80をRISCっぽいと主張することはできそうだが、
「RISCっぽい」ことには何の意味もない主張だと思う。


209 :ナイコンさん:02/01/27 21:39
>>206
デュアルポートRAMってCRTCが読み出す方のポートは
シリアル出力なんぢゃねーの?


210 :ナイコンさん:02/01/27 21:46
ちょっとは調べれ>>209

211 :ナイコンさん:02/01/27 22:33
>>209
そういうチップも有るし、>>206の説明みたいなチップもある。
どっちもデュアルポートRAMで、単にインターフェースの問題。
VRAM用だったら片方のポートはシリアル出力の方が便利だからそういうのを使ってることが多いだけ

212 :ナイコンさん:02/01/28 00:18
>>68060 という、スーパースケーラなMPUが作られてます。出すのが遅すぎて…
>その通り、出すのが遅すぎた。それが技術的問題だ。

単純に技術的問題って言い切れるかな。大体モトローラって本業は無線屋だよ。

213 :ナイコンさん:02/01/28 00:25
>>206
あの書きこがデュアルインターフェイスメモリを知らん様に見えるか?
キャッシュのデュアル化はキャッシュ用でないメモリ程単純でないって書いただろ。
ましてやデュアル化以上にマルチ化は難しい。だからレジスタの様にはいかんのだよ。
L1がCPUと同クロックだから、メモリもレジスタも同じなんて言うバカな主張を
まだ引き下げないつもりか?

>>208
う〜ん。意味がないって言い切れるあなたは何者?
まあ、あなたの言うように、RISCっぽいCISCって最悪じゃんって意味も含めて
俺はZ80は6809よりRISCっぽいと言っているのだが。


214 :ナイコンさん:02/01/28 00:32
IA32があれだけ高速化できてて68系ができない理由について述べてくれや >>213

215 :208じゃないけど:02/01/28 00:35
「Z80は6809よりRISCっぽい」と言う言葉遊びに意味があるということを説明してくれや >>213

216 :ナイコンさん:02/01/28 00:39
68Kは知らないと素直に言えば楽になるよ>>213

217 :176:02/01/28 00:48
>L1がCPUと同クロックだから、メモリもレジスタも同じなんて言うバカな主張を
>まだ引き下げないつもりか?

>>206さんと違うよ。
それに俺「メモリもレジスタも同じ」なんて主張はしてないけどね。

218 :ナイコンさん:02/01/28 01:22
>212
ではなぜ規模の小さいAMDが技術的にインテルに対抗できるんだ?

モトローラだって大変大きな会社だ。開発費の不足のみであれほど
市場を持っていた68を高速化できなかったと思うか?

いいかげん市場規模のみが68を追いやったという幻想を捨てなさい。


219 :ナイコンさん:02/01/28 01:24
なんかZ80がRISCっぽいってのと理想のRISCアーキテクチャについて語る
のとゴッチャになってないか?>>213

220 :ナイコンさん:02/01/28 01:38
>ではなぜ規模の小さいAMDが技術的にインテルに対抗できるんだ?

AMDは半導体専業だから引くに引けないんじゃないの?
技術的には対抗してても未だに利益は出てないよね。

221 :206:02/01/28 01:48
>>213
今時のCPUだと、キャッシュがデュアルポートなのは当たり前だし、
IntelのMcKinleyなんて4ポートだ
ttp://www.watch.impress.co.jp/pc/docs/article/20010919/kaigai01.htm


222 :ナイコンさん:02/01/28 01:51
>いいかげん市場規模のみが68を追いやったという幻想を捨てなさい。

ではi386が68Kに比べて高速化に適したアーキテクチャであったという
ことを証明しないと。>>218
俺はPC用のプロセッサは数が出るのと利ざやが大きい分開発費を多く
掛けれるってのがi386アーキテクチャが未だに残ってる主な原因だと
おもうけどね。
68KアーキテクチャもPalmなんかでは現役だから(もうすぐARMに置き
換わる様だが)、そう駄目だった訳でもない。単にモトローラとイン
テルでは進化の方向性が違ってたって訳じゃないの。

223 :ナイコンさん:02/01/28 02:02
なんか>>159=>>164=>>165=>>169=>>174=>>187=>>201=>>213=>>218って
自分が答えられない問題は無視して、そうでないのには必死に噛み付い
ているのね。

#自己中ってのはそんなもんかな?

224 :ナイコンさん:02/01/28 02:08
z80でHL以外のindexed indirect命令を充実してくれるといいのになあ。
マクロ展開は面倒なのでパスしたかった。

225 :ナイコンさん:02/01/28 03:46
>>220
モトローラの半導体事業は片手間というのか?面白い主張だ。

>>221
俺から言わせればMcKinleyでやっと4ポートだ。
レジスタがいらんと言う話にはならん

>>222
果たして開発費の問題だろうか?現在の差は市場に後押しされているだろうが。
IA-32がPentiumからPentiumProになる位の時代。68衰退の分岐点の時代。
68の高速化にニーズが無かった訳ではない。
当時の半導体生産技術では、利益の出る形で、=チップの大きさや歩留りの関係等で
IA-32並に高速化できなんだのだろう。
そうするには、コンパイラが使わない様な命令を削ってしまう必要があった。
そうIA-32がシンプルだった。とう言うのが、
* 68よりは、 高速化に適したアーキテクチャだ。

226 :ナイコンさん:02/01/28 04:06
>ではi386が68Kに比べて高速化に適したアーキテクチャであったという
>ことを証明しないと。>>218

何も2chで名無しが証明しなくても、その後の歴史が証明済じゃん(w

227 :221:02/01/28 11:25
>>225
「レジスタがいらん(>>225)」とか「メモリもレジスタも同じ(>>213)」なんて主張は誰もしてないだろ。
「メモリーアクセスは遅いんだよ。遅い上に、メモリーアクセス命令は並列処理できないんだよ。(>>174)」
って言うから、並列処理している例を挙げてるだけなんだが。

ちなみに、680x0はレジスタ16個なのに対し、x86は8つで、680x0の方がレジスタ数多いぞ。
メモリアクセスの点だけで見るなら、x86の方が高速化には不利だ。

>>187
> 豊富なアドレッシングを捨てれば68Kはなんとかなる
> かも知れんが。で、ColdFireではそうしたんだろ。
ColdFire は豊富なアドレッシングを捨ててないよ。しいて言うなら、バイトやワードの演算命令を捨ててるってとこだ。

>>225
> 当時の半導体生産技術では、利益の出る形で、=チップの大きさや歩留りの関係等で
> IA-32並に高速化できなんだのだろう。

同レベルの技術を採用したCPU同士、トランジスタ数で比較すると、
68030と80386は約30万、68040とi486は約120万でほぼ同じ。
68060は250万に対し、Pentiumは300万。
どれも初登場時のクロックは似たようなものだし、
680x0側がアーキテクチャの問題で高速化できなかったようには見えない。


228 :ナイコンさん:02/01/28 11:59
>>204
このスレ的には無視らしいぞ(w
なんか変な言い争いのほうで忙しいらしい。

229 :ナイコンさん:02/01/28 13:10
ギロンにお忙しいお二人へ
「x86と68k」スレ作ってそこで思う存分やってくれ。
6809とZ80について語らせてくれよう(苦笑)

あばよ!


230 :ナイコンさん:02/01/28 13:11
>>227
>ちなみに、680x0はレジスタ16個なのに対し、x86は8つで、680x0の方がレジスタ数多いぞ。
>メモリアクセスの点だけで見るなら、x86の方が高速化には不利だ。

命令セットを見るとそう思うかもしれないけど、P6以降は、レジスタリネーミングっつてね、
レジスタは見かけ以上にイパーイあるんだよ。そのアサインはハードウェアがやってて
プログラマブルじゃないだけ。

231 :ナイコンさん:02/01/28 13:29
R800は6809側に対抗馬がないから議論しにくいだろう。HD63C09では力不足だと思うし。

R800って、ほとんどの命令を1クロックで実行できて同クロックのZ80より4倍速いんでしたっけ。
MSX TurboR はR800-7MHzだからZ80-28MHz相当、と。

これとわたりあうとなると、スーパースケーラで1クロックに2命令実行するぐらいしないとダメかな。


232 :227:02/01/28 13:43
>>230
ちゃんと理解して書いてる?
レジスタリネーミングは、パイプラインやスーパースケーラでのレジスタ間の依存関係を解消するための技術だ。
命令1-命令2-命令3-命令4という命令列を実行する場合、単純に逐次実行するなら、レジスタの数だけ記憶領域があればすむが、
この4命令を同時に処理するためには、「命令1実行後のレジスタの状態」「命令2実行後のレジスタの状態」…を
個別に記憶する必要がある。それができるように内部的に記憶領域を増やしているのがレジスタリネーミング。

結局の所、「ある命令を実行した後のレジスタの状態」つまり実際に記憶できるデータが増えるわけではないので、
レジスタ数よりも多くのデータを覚えようとしたら、メモリに読み書きするしかない。

233 :ナイコンさん:02/01/28 14:04
>>231
問題はメインメモリのスピードだね
3.6Mhzのクロック時でさえM1に1WAIT入ってたからなぁ


234 :http://nara.cool.ne.jp/mituto:02/01/28 14:52
3月24日〜27日に立命館大学BKCに田中洸人氏が来ます。
http://210.172.69.179/jps_search_02au
http://nara.cool.ne.jp/mituto

235 :ナイコンさん:02/01/28 16:36
>>233
メインメモリ用にノーウェイトのRAMを内蔵というのも考えたのですが、素直すぎてあまり面白くないですね。

いっそのこと、64KBのキャッシュを搭載してしまう、というのはどうでしょうか?
ヒット率100%


236 :ナイコンさん:02/01/28 17:12
>>230
>>232
あのさ、あん達が頭いいのはわかったからいいかげんスレにそった話題を話してくれない?
そうでなければ新スレ作ってそこでやってね。

>>235
OhXにそんな話がのってたよ。
それはキャッシュと言わないけどね(w

237 :ナイコンさん:02/01/28 18:33
同感。
特に、227ウザイよ。
何をそんなにムキになってんだ。
元モトローラの技術者で、リストラでもされたのか(藁

238 :ナイコンさん:02/01/28 19:43
Z80Hにで256KBのキャッシュメモリ2個積んでってのはやってるんだけど、ROMが遅いんで困るね。
ROMのイメージをRAMに移して高速化しないといかんかなー。

239 :ナイコンさん:02/01/29 00:41
>>238
Z80Hくらいなら、今時のフラッシュメモリなら十分間に合うんじゃない?

>>236
少なくとも>>230は頭よくないよ。

240 :ナイコンさん:02/01/29 07:24
>>239
周りの雰囲気読めないあんたもそうとう頭悪そう。
学校で何を教わってきたの?

241 :ナイコンさん:02/01/29 11:06
>>239
粘着荒らしに決定。
とっととカエレ!!

242 :ナイコンさん:02/01/29 13:26
R800は松下MSXの広告によればRISCだそうですが、これを鵜呑みにしても
問題ないでしょうか?

("R"を冠してるし、本当にRISCなんだろなあ、とは思うが)

243 :ナイコンさん:02/01/29 13:34
昔はRISCうんぬんは考えなかった(そんなものなかったから)
話はどちらのCPUがソフトを作りやすいかに尽きた。
だから俺は6809が好き。
Z80は本筋以外に覚えなければいけないことが多すぎた。
ただIO空間も64K取れるところはうらやましかったが。

244 :ナイコンさん:02/01/29 13:39
>>242
アーキテクチャでなくて、内部構造がRISCって取る分には問題ないと思われ

245 :ナイコンさん:02/01/29 14:16
>>242
ファジーだとかニューロだとかと同じで、ただのうたい文句でしょう。
「RISCは構造が簡単だからハードワイヤードロジックで実現できる」が一人歩きして
「ハードワイヤードロジックで実現しているから、これはRISCだ」になってしまっているというか…

R800のRISCっぽさはi486と同じようなもんだと思う。
どちらもハードワイヤードロジックで、1命令を1クロックで実行できるようにしたCPUだしさ。

まさか、R800ってZ80命令をμOPに変換してたりしないよね…

246 :225:02/01/29 21:36
>>230は俺じゃないよ。
彼はおそらく、ギロンと関係ない、ただの>>227のレジスタ少ないって
話への突っ込みだろ。>>232>>239さん。
あんたの>>221みたいな、ギロンと関係ない突っ込みさ。
頭よくないなんて言うなよ。>>239

しつこいって言われてるんで、もう止めような。
またいつかこのスレがマターリしてきたら6809とZ80の宗教論争しような。
ttp://www2.nsknet.or.jp/~azuma/nu/nu0001.htm


247 :ナイコンさん:02/01/29 21:54
レス不用。
速やかに消えろ。

248 :ナイコンさん:02/01/29 22:21
>>243
IO空間64Kは反則ワザだ。(W

オレはZ80しか使えないけど、他のアーキテクチャから見て、
Z80の覚えにくいところって、どの辺?
8080からの拡張部分とか?




249 :ナイコンさん:02/01/29 22:37
私は6809から移行しましたが、覚えにくいと思ったことはありません。
ただ、6809なら1行や2行で済むところが、数倍になる場合があり
ソースの見通しが悪くなるのはイヤでした。当時は画面が狭かったし。

250 :ナイコンさん:02/01/29 22:40
Z80と6809か・・・なつかしい。
Z80は、命令がスマートにまとまってて飲み込みやすかった。
6809は、・・・あのアドレシッングの多さには最初面食らったなあ・・・。
Z80…裏レジスタ使いまくってひたすら高速に最適化してたっけ…。


251 :239:02/01/29 23:07
>>238
なんか今時の EP-ROM ってえらく高速なのもあるみたいね。

ttp://www.st.com/stonline/prodpres/memory/selector/mpge_a20.htm

35nS とかあるんでビックリしたよ。入手できれば ROM 交換でなんとかなるかも。

252 :239:02/01/29 23:08
〜〜 謝罪 〜〜
軽い気持ちで書いたんだけどえらい怒らせちゃったみたいでスマンソ >>240 >>241
あと俺のこと >>225 と勘違いされた方も居ると思うんで其方にもスマソ >>225 & ALL
また ROM に戻らせてもらうよ。

253 :ナイコンさん:02/01/29 23:21
結論:まだ生き残ってるZ80の勝ち

254 :ナイコンさん:02/01/29 23:30
6809系ってもう残ってないの? 最近の事情には暗くてスマソ。
仕事では、圧倒的にZ80が多かったんで個人的にはZ80になれちまってんだが。
6809・・・あのアーキテクチャーのスマートさは結構見事だった。
・・・それをいうならZ80だって制御系にはスマートだったというつっこみはナシYo。


255 :ナイコンさん:02/01/29 23:33
どっちもとっくにチップ単体じゃ生き残ってないでしょ。

256 :ナイコンさん:02/01/30 00:06
宗教論争といえば、何で6502系が話題にでないの?

一世を風靡したAppleIIに採用された由緒正しいCPUで、
ファミコンやPCエンジンにも使われた分、6809よりはよっぽど数が多そうなのに…

257 :ナイコンさん:02/01/30 00:11
>宗教論争といえば、何で6502系が話題にでないの?

このスレのタイトル見たか?

258 :ナイコンさん:02/01/30 01:10
>>248 >>249
直行性の低い命令セットで苦労しなかった?
LD (DE),B とか EX BC,HL とか SUB HL,DE とか有りそうでない命令で。
あと RRA と RR A とかのフラグ変化の違いとか。

259 :256:02/01/30 01:13
>>257
スレタイ見たうえで、なんで「6809とZ80と6502」じゃないのかな〜?ッと思いまして…


260 :ナイコンさん:02/01/30 03:13
>>258
いや、始めから「そういうものだ」と思って使ってれば然程は…。

261 :ナイコンさん:02/01/30 03:25
>>258
多少同意。・・・なんでこの命令ナインやロ?
と、思いながら組んでました。まあ、結局は、慣れちまったけど。
それにしても、8080のアセンブラー言語と比べるとZ80は、はるかに洗練されていた
感じ。

262 :ナイコンさん:02/01/30 03:38
>>258 (EX BC, HL)
PUSH BC
PUSH HL
POP BC
POP HL

4バイトになるのがいやだったら
はじめからDEに来るように使ってた。
イヤミじゃなくって、ほんとにそういうもんだと。


263 :ナイコンさん:02/01/30 09:17
>>262
PUSH BC
LD B,H
LD C,L
POP HL
の方が速くないか?またバイト数なら
PUSH BC
EX (SP),HL
POP BC
の方が少ない。

とか当時はよく考えたなぁ、、、。

264 :ナイコンさん:02/01/30 09:49
アセンブラで全部やるときは役割がはっきり決まっている
Z80で不便はなかった。でもレジスタがもう一個あれば
と思うときはあった。

265 :ナイコンさん:02/01/30 10:14
pushと popで state数違ってなかった?
11と 10だっけ?


266 :ナイコンさん:02/01/30 11:32
Z80で面食らったところ。
・AレジクリアにXOR使うってなんなんだ?
・条件ジャンプが足りねーよ
・16ビットのINC、DECでフラグが変化しない
・ありそうなのにない命令が山ほどある
・裏レジスタが使いずらい
・割り込みしょぼい

でもシェアが広いから結局Z80天下になったんですよね。
命令なんて表向きマクロ切っちゃえば隠せるし(激遅だけど)

267 :ナイコンさん:02/01/30 12:49
8080からの拡張部分

ブロック転送…便利なんで使う。
裏レジスタ…自分が混乱するんで使わない。
インデックスレジスタ…きまりきったルーチンで使う。

自分はこんな感じでした。


268 :ナイコンさん:02/01/30 14:13
Z80ってレジスタごとに用途が決まっているので、
数だけで見れば6809よりも多いけど、実際には多い気分にならなかったです。。
その辺を割り切って使えば、結構使いやすいし、直交性が無いのも気にならなかった。

高速性を追求し、メモリアクセスを減らすべくレジスタをやりくりしだすと、
とたんに頭が痛くなりましたが…

269 :ナイコンさん:02/01/31 03:41
80系から入ったんで、データはレジスタに置いて最適化するのが常識だったんだけど、
初めて6809やらなきゃいけなくなった時にはレジスタ間の演算が殆どできないんで悩んだよ。
80系の時には一時のデータをメモリに格納するなんてことは考えもしなかったんだけど、
6809だとダイレクトページやスタック上に作業領域を作るのが定石と気付いてからは
それほど苦労はなかったな。ただ最初の頃はやっぱ違和感感ずるんだよね。

270 :ナイコンさん:02/01/31 09:22
>80系の時には一時のデータをメモリに格納するなんてことは考えもしなかったんだけど、
そう? push/popはその範疇に入らないかな?

271 :269:02/01/31 10:17
>>270
>そう? push/popはその範疇に入らないかな?
あー、ちょっと言葉が適切じゃなかったな。
「一時のデータ」→「変数の値」って置き換えて欲しい。

272 :ナイコンさん:02/02/01 16:38
>266
LD A,0h は2バイト。8080ならMVI A,0hだっけ
XOR A は1バイト
Z80に限らず1970年代のマイコンはメインメモリ256バイトとか限られたメモリ容量で動いていたので、
「メモリの1バイトは血の一滴」という標語があったほど、トリッキーなことをしてメモリ消費量を減らしていた。
いまだに組み込み系の小容量ワンチップマイコンでは生きている知恵かな。
Cで開発していると、そういうのは隠蔽されちゃって「何これ?の世界だよね」


273 :ナイコンさん:02/02/02 16:43
>>266
>・割り込みしょぼい
割り込みモード2で複数の割り込み要因に対応できるとこやモード0の柔軟性の高さ
なんかは、洗練された 6809 の割り込み機能より強力では?

274 :ナイコンさん:02/02/03 01:30
>>266
質問!6809にAをクリアする専用の命令ってあったの?
Z80ではLD A,0が正しいのだろうが、1バイトで済む XOR A が一般的
俺は SUB Aってやてたけどね。

Z80で悩ましいと思えるのは Cフラグをクリアする命令がない事かな。
OR A で代用するんだけどね。

275 :266じゃないけど:02/02/03 01:38
CLRA

276 :ナイコンさん:02/02/05 15:48
サブルーチンの最後に PCといっしょに他の registerも
いっしょに復帰できるのがかっこよかった.. >> 6809


277 :ナイコンさん:02/02/05 20:10
>>276
でも5クロックくらい内部処理で喰われていたような

278 : ◆KnrmAajY :02/02/20 11:44
Z80(PC-8001)だとできなかった「魔神語」が、
6809(日立S1)でできるようになった。

ベーマガで、そんなマシン語シューティングが
掲載されたことがある。


279 :ナイコンさん:02/02/20 12:28
68系はメモリマップ怒I/Oだったんで、ハード的に「高くつく」んです。
「まじめに」デコードかけるとね。この辺、Z80は周辺チップでずいぶん
手を抜けた。
また、そのおかげで68は割り込み系のソフトの使いまわしが辛かったな。

ソフト的には09はものすごく書きやすかったし、マルチタスクモニタなんか
でも鼻くそほじっても書けました。しかしFIRQでも遅い(前出のレジスタの
スタック退避なんかでね)んで、結構困りましたね。
Z-80の強力な割り込みはうらやましかったなあ。

でもメモリマップ度I/Oは全命令がI/Oに対して使えるんで、ハード屋が68を
わかっててロジック組んでてくれるとすごい楽。

当時はソフト屋もハードのコトわかってたし、ハード屋もコードを書けた。
境目は薄かったが、ソフト寄りの奴は68、ハード寄りの奴はは80を支持して
いたことが多かったな。

280 :ナイコンさん:02/02/20 14:35
>>278
CPUはいいとして滅茶苦茶難解なハードのS1でよくマシン語がマスターできましたね。
当時厨房だった俺はメモリ周りがどうしても理解できなかったよ。

281 :ナイコンさん:02/02/20 17:57
80系でもメモリマップドI/Oは使えますよ。
ハードウェアの設計次第ですけど。
バースト転送が必要ないI/Oならアイソレートにしますけどね。

282 :ナイコンさん:02/02/20 18:29
>>S1
純正MMU(6829)よりよかったなあ。あのページングのメモリ管理。
日立ハイソフトと工学社でソフト販売独占しなければ、天下取れたマシンだった
のにね。惜しいよ。どこに行ってもソフト売ってないんだもの。

283 :ナイコンさん:02/02/23 00:13
>>280
FMシリーズのほうが難解では?
どちらかのMPUをHALTしないと書き込めない、なぞのたった128Bytes共有RAM、
そしてその貴重な領域の先頭8Bytesはなぞのキーワード「uchiyama」。

284 :ナイコンさん:02/02/23 01:54
>>283
FMって逆にいえばそれ以外は素直なつくりだよ。
同じような構成のFP1100なんかはメイン側からサブのメモリに書き込むと内容が反転したり、
サブのCPU自体がメインと全然違っていたりしてずっと難易度が高かった。
S1は1CPUだけどメモリ管理が複雑な上に中途半端にベーシックマスターの
互換性を引きずっていたからかなり面倒だった。
でも慣れると他よりずっとプログラムが組みやすかったけどね。

285 :ナイコンさん:02/02/23 05:16
>>284
FP1100!! あのキーボード叩くたびに鳴るウザイbeep音が懐かしいな。
セパレートキーボードのくせにコード直結。サブは8085でしたっけ?
10進演算PCをZ80で作ったCASIOって変。後の16bitのFPはVRAMが変だったなあ。

S1はOSが乗っていたようなものだから、SWIシステムコール使うっちゅうのが
正道なんだよね。それと「バンク」ではなくて「メモリウィンドウ」の考え方
が理解できないと、どうにも使えなかったな。

で、やっとおいしいところ使って組めるようになったころには絶滅してたS1。

286 :ナイコンさん:02/02/23 08:20
YAMAUCHI IKEMOTO

287 :283:02/02/23 17:56
>>286
それだ。スマソ。

288 :ナイコンさん:02/02/26 01:26
ハァハxハァハァ(*´Д`)

289 :ナイコンさん:02/02/26 01:31
FP-1100出品されてんぞ。
http://page5.auctions.yahoo.co.jp/jp/auction/e5853042


290 :ナイコンさん:02/02/26 02:13
野球ヲタワラタ

http://ime.nu/www.baseball-lover.com

291 :ナイコンさん:02/02/26 11:46
>>289
いまさらFDなしのパソコン買ってどうするんだよ(w
もっともFDついててもメディアがないけど。

292 :ナイコンさん:02/03/03 04:31
本屋で久しぶりにベーマガ見掛けたんだけど、表紙に「6809」の文字が
あったんでビックリしたよ。
ペラペラと立ち読みしてみたら、21世紀の今になってなんでか6809の
特集やってた。細かい誤りだらけでツッコミどころ多すぎな記事だったけど、
当時を思い出せてちょっと良かった。

293 :出張あさはかマン:02/03/12 22:22
調べてたらZilog社は2001年11月付けで
米国破産法11章(日本でいうなら会社更正法)の適用を申請してた事が判明。
3/1付けのリリースで再編成計画うんぬんとか書いてあったので調べてみたら・・・

かなりびっくり。

294 :ナイコンさん:02/03/19 01:37
私的にはメモリーマップドI/Oの方がハードの設計は楽です。
ソフト含めて開発の時間も軽減出来るし。
取って出しなら6809の方が楽です。
いまなら6309とかになりますが。

295 :ナイコンさん:02/03/19 01:40
6809と6309ってどう違うんですか?
周辺回路内蔵とか?
googleで検索しろって感じですが。


296 :ナイコンさん:02/03/19 01:43
>>293
なにいいい???
って、まあ、組み込みでも最近はパッとしてなかったし仕方無いのかもね。

>>295
なんでも非公開のネイティブモードが凄かったらしいです。


297 :ナイコンさん:02/03/19 02:19
>>295
一番簡単な違いは6809がNMOSプロセスなので電気を喰う。
6309はCMOSプロセスなので低消費電力。

しかし、それは表向きのこと。レジスタが拡張されて、モトローラとの契約外の事をしたために黒歴史に。
ttp://www.st.rim.or.jp/~nkomatsu/hitachi/HD6309.html
でその片鱗を見ることが出来る。


298 :ナイコンさん:02/03/20 03:09
6809はゴピーって感じ。
Z80はピコーって感じ。


299 :ナイコンさん:02/03/22 12:38
>>297のリンク先より(6309)
『Vレジスタの下に0と書かれたゼロレジスタがありますが、これもレジスタレジスタ間演算でだけ有効で、常に0が読み出されます。』
もしかしてこの『ゼロレジスタ』ってPowerPCにもない?
PowerPCのレジスタはr0〜r31まであるけど
オペランドにr0を指定すると数値のゼロ扱いになるケースがあったような。
(でもr0はちゃんと値を保持出来る普通のレジスタ)

300 :ナイコンさん:02/03/23 01:31
>>299

MIPS Rシリーズとか、SPARC とか、
RISC アーキテクチャではゼロレジスタはメジャーな存在です。

0を即値で使うためだけにレジスタを一つ減らすとはなんと豪快な…、
って気もしますが、RISCだとレジスタ数が多いですし、
命令の直交性や命令セットのシンプルさ
(全ての演算で、命令セットを複雑にすることなくオペランドに即値0が使えるようになる)
とかいったことを考えると、レジスタ数が減るデメリットよりもメリットの方が多いのでしょう。

301 :299:02/03/23 04:34
>MIPS Rシリーズとか、SPARC とか、
>RISC アーキテクチャではゼロレジスタはメジャーな存在です。

そうだったんですか。
PPCのマニュアルでは明示的に「ゼロレジスタ」というものが出て来なくて
何だかよく分からなかったんですが>300さんの説明で非常に納得がいきました。
ありがとうごさいました。

302 :ナイコンさん:02/03/25 01:52
話はそれますが、
Z80も、「XOR A」のところを、「CLR A」とかいう
ニーモニックにすれば良かったのに。
フラグ変化は「仕様です」ってことにして。


303 :ナイコンさん:02/03/25 03:21
>>302
俺はMACRO80(M80)でそう定義して使ってた。
Z80アセンブラの定番は、M80と思うのだが、
6809の定番アセンブラは何なのだろ。

304 :ナイコンさん:02/03/25 03:27
>>302
たぶん設計時点で気づいてなかったんでは?

305 :sage:02/03/25 03:47
>>304
そうではないと思う。
8080と比らべてLDみたいな命令を全てLDにしている所からも
Z80はニーモニックをシンプルにする方向にあったと思う。


306 :ナイコンさん:02/03/25 03:55
ちょっと聞きたいんだけど
MSXのM80では6502がアセンブル出来たけど
CP/MのMACRO80でも出来たのかな?
知ってる人いる?

307 :ナイコンさん:02/03/25 04:24
ジェネリックなM-80ではできません。
なんでMSXができるのかというと、元々AppleII用のCP/Mソフトカードを発売していたMSが
「Apple Language Development System」(A.L.D.S アルダスと読む)としてz80/6502両方アセンブルできるように
したものを流用したからです。

当時もマイクロソフトはとても優秀なハードメーカーでした(笑)
ちなみにz-80ソフトカードのデザインは日本人が行っていました。

308 :ナイコンさん:02/03/25 09:16
>>303
6809の場合、定番アセンブラより定番OSがなかったのが痛い。
FLEXにもOS-9にも良いアセンブラがついてきたが。
>>306
長年、MSXのM80ってMSX-TOOLSのやつ?
6502がアセンブルできるとは知らなかった。

309 :ナイコンさん:02/03/25 17:59
>>303
xasm09(Z80/86のクロス)かA09かなー

310 :ナイコンさん:02/03/25 23:47
>307
そんな事情があったのか
>308
MSX-TOOLSのやつです
実行ファイルをダンプしてたら
.6502の文字列があって気づいた

311 :ナイコンさん:02/03/28 18:43
>>300
予断だが、ゼロレジスタは遅延スロットとならぶ
大きな負の遺産だ。

312 :ナイコンさん:02/03/29 00:37
ゼロレジスタは、捨てレジ(レジスタの中身を壊さないdestレジ)として
大変有効なんだがな。

313 :ナイコンさん:02/03/29 10:20
どのアーキテクチャか忘れたけど、比較命令が無いのがあった。
dstをゼロレジスタにして演算命令を実行すればいいというのは結構感動したな。

314 :ナイコンさん:02/03/29 18:39
+1、-1の演算や、Cache Flush にも必要だな。<- ゼロレジスタ

315 :311:02/03/29 20:07
>>312
どういう時に有効なのかわからん。
必要なら1命令でゼロクリアできるし、
そもそもゼロレジスタを使う場面は即値のロードくらいしか
思いつかん。

>>313
dstレジスタの内容はどうせ使わないんだから破壊してもいいでしょ。
比較命令の代わりに使うとしても、WWハザードを起こす場合が
やっぱり思いつかん。

>>314
これもわからん。即値の加算じゃだめなの?
キャッシュのフラッシュって実行アドレスを指定するだけだと
思うんだけど。

プリフェッチはゼロレジスタへのロードよりも、
専用命令を用意したほうがいいと思う。

ゼロレジスタを特別あつかいするロジックは、
ゲート数は微々たるもんでも、クリティカルパスに載っていそうで、
あんまり気分がよくない。

316 :出張あさはかマン:02/03/29 23:35
3オペランド命令(C <= A+B)は、2オペランド命令(A <= A+B)と比較して、
コンパイラに通したときにスタックの移し変えが必要ないので
RISCではこっちを採用しました。

で、そのときにA <= Bを、A <= B + 0と書く事で
更にコンパイラの処理を軽くしようとしたわけです。

捨てレジは、実はコンパイラ上で「いつも不定」という風に
特別扱いしたレジスタを作ればよいというのは正論です。

しかし、演算段のフラグを実行段で使う(1命令で必ず結果を消費する)
フラグレジスタの無いタイプのRISC(MIPSとか)で
if (A = 0) then branch、みたいな命令を動かす場合、
かなり前の命令で0を作成しないとパイプラインが巧く作動しなくなります。
それでいつも0である、0レジスタがあります。

一方、結果をフラグにストアしてから使うタイプの命令セットでは、
フラグの演算に1命令サイクル分の余裕があり、
0ロジックを別付けしても十分に間に合うので普通は0レジスタを作りません。

即ち、0レジスタとフラグの所持との間には、トレードオフがあるのです。

特に(自分が良く使う)MIPSでは
パイプライン・キャッシュの効率の優先、そしてTLBの存在が前提にあるため
ハードウェアでサポートされているスタックというものは存在しません。
だからフラグなし、0レジスタありという構成になっているのです。

(ただし、スタック退避と復元は必ず複数命令で行う必要があるため、
 ハンドアセンブルでは極めて使いにくい)

ちなみに、0レジスタは、本来記憶素子があるべきところに
0レベルへの配線がつけられているだけで回路上特別扱いはされていません。

SHはハードウェアスタックがあって、フラグレジスタがあるという風に
だいぶ状況が違うので0レジスタは無かった気が。

317 :ナイコンさん:02/03/30 00:24
SH-5ではゼロレジスタが新設された。
やっぱ必要だったんだね。

318 :311:02/03/30 02:24
>>316
> で、そのときにA <= Bを、A <= B + 0と書く事で
> 更にコンパイラの処理を軽くしようとしたわけです。
んー、これなら即値0の加算でいいでしょ。
ゼロレジスタのでる幕はなし。

> しかし、演算段のフラグを実行段で使う(1命令で必ず結果を消費する)
> フラグレジスタの無いタイプのRISC(MIPSとか)で
> if (A = 0) then branch、みたいな命令を動かす場合、
> かなり前の命令で0を作成しないとパイプラインが巧く作動しなくなります。
beq rA,r0,target
見たいな感じね。
これは確かに定数0を利用するけど、ループの外で一回ゼロにクリアすれば
すむはず。

> 一方、結果をフラグにストアしてから使うタイプの命令セットでは、
> フラグの演算に1命令サイクル分の余裕があり、
> 0ロジックを別付けしても十分に間に合うので普通は0レジスタを作りません。
SPARCがこのタイプですね。
ところがスーパースカラのCPUでは、比較結果がそのままフェッチユニットに直接
(レジスタをはさまずに)つながっていて、
sub rA,rB,rC
beq target
は同時に実行できます。
(mips風ならbeq rA,rB,target)

> 特に(自分が良く使う)MIPSでは
> パイプライン・キャッシュの効率の優先、そしてTLBの存在が前提にあるため
> ハードウェアでサポートされているスタックというものは存在しません。
最近のCPUはみんなリターンスタックは持っているよ。

> だからフラグなし、0レジスタありという構成になっているのです。
なぜ「だから」になるのかがわからんです。

> ちなみに、0レジスタは、本来記憶素子があるべきところに
> 0レベルへの配線がつけられているだけで回路上特別扱いはされていません。
レジスタリネーミングをするとこうは単純にいかないのです。
ゼロレジスタはリネームしちゃいけないよというロジックが必要になるんで。

>>315
> SH-5ではゼロレジスタが新設された。
> やっぱ必要だったんだね。
俺は日立の設計センスを信用していないんで。

319 :ナイコンさん:02/03/30 12:51
スレ違うんじゃねーか‥‥?

320 :出張あさはかマン:02/03/30 15:46
というかすでに板違い・・・

一命令中に演算結果を消費するタイプなら一クロック以内に分岐する都合、
リターンアドレスを保存するレジスタをおけば
データメモリにアクセスせずにフェッチサイクルに入れるという、それがおいしい所でしょう。

しかし、実際に割り込みハンドラを組むと、
結局全レジスタを保存するのであんまり意味なし。
メモリも安くなった昨今では、オペコードメモリだけが遅いと言う事も無いわけです。

そもそも、4セットアソシエイティブぐらいのキャッシュがあれば
多少のタスクスイッチを行ったとしてもスタック領域のミスヒットは少ない
という話も無きにしもあらず。

さらにリネーミングを入れてしまうと確かに0の意味はあんまり無いです。
(というか、3値演算問題も軽くなるし)

RISC自体がレジスタリネーミングの前の発想ということもあるかと。

絶対必要だ、ということは無いと私も思います。(でもちょっと好きだ0レジスタ)
ある意味でアーキテクトの趣味の問題かもしれません。

321 :311:02/03/30 20:45
調子にのってしまった。スマソ。

Z80の思い出:
・I/OにFM音源をつかったオルゴールをRAMなしで作った記事があってびっくりした。
・Z80ファミリ揃いぶみのX1turboが憧れだった。
・HD64180は信号はむしろ6800系だったと思う。Z180=HD64180Zだった筈。

322 :ナイコンさん:02/04/04 05:37
>HD64180は信号はむしろ6800系だったと思う。Z180=HD64180Zだった筈。
Zilogとのもめごとを嫌ってCP/M互換プロセッサなどと謳って登場したZ80の
スーパーセットCPU HD64180はあまりに洗練されていたためZilogが逆にセカンド
ソーサになるという珍しいCPUだった。MMUと掛け算と、あとなんだっけ?

323 :ナイコンさん:02/04/04 09:54
>>322

324 :323ゴメソ:02/04/04 09:58
>>322
DMAでバグってなかったっけ



325 :ナイコンさん:02/05/25 15:00
FM-8フルセット、オークションに出しました。
興味のある方は、ご覧下さい。
http://page5.auctions.yahoo.co.jp/jp/auction/e11552774


326 :ナイコンさん:02/05/25 15:51
>>322
R800にもそういう話はあったんだけど結局Zilog版はでなかった。
(当時の雑誌に契約結んだって書いてあった。飛ばし記事かもしれんが)

327 :ナイコンさん:02/05/28 01:16
6809系で一番速いのは6309の3MHzということになるのでしょうか?
Z80には8MHzのものがありましたよね、確か。
(PC8801mkIISRシリーズの後期の型に搭載されていたと思う)
6809はレジスタ−メモリ間で演算を行うので、
CPUのみの高速化は意味がないということで、
より高速なものがでなかったのかな?

328 :ナイコンさん:02/05/28 11:06
Z80は3クロックで1バスサイクル(命令読み出しは4)。
68系は1クロックで1バスサイクル。
この違いを無視してクロック数で判断するっていう・・が
今も昔もいるんだなぁ・・。


329 :ナイコンさん:02/05/28 16:04
Z80 4MHzと6809 2MHzがほぼ同じ速度と聞いたことがあるから、
Z80 8MHzは6809 4MHz相当?

330 :ナイコンさん:02/05/28 18:46
>>328
横からすまんが、327のこと?327だったら比較ではなく、
6809系により高速なものがでなかった原因を問い掛けてるだけだな。
ちがったらスマソ

331 :ナイコンさん:02/05/28 23:21
初期型のZ8000をも上回る集積度を持った6809は高クロック化が高くつくので、
32bit時代まで見越した68000シリーズに移行したんじゃないかなぁ。

組み込み系の監視や制御などの小規模システムなら6802で事足りるし、
高クロックの'09でなきゃ処理できないような仕事には68000が、16bit
バスじゃ大げさなら68000とバイナリ互換の68008が、と板ばさみに
なって行き場を失ったように見えたな。


332 :327:02/05/28 23:55
>>330
そうですそうです。
わたしの書き方がちょっと悪かったですね。

>>331
なるほど。モトローラは68000の方に力を入れていたんですね。
68000の8bitバス版なんてあったとは驚き。

333 :ナイコンさん:02/05/31 01:27
>>332
68008ですね。

8bitで惨敗したIntelが8086の8bitバージョン、8088で6809とベンチマーク
やって、「6809は遅い!」とやられてしまったので、我慢できず68008を
デビューさせたら、自ら6809にとどめを刺してしまう罠。

日立S1向けに68008カード+OS-9がすごい値段で販売されてたっけ。

334 :ナイコンさん:02/05/31 12:15
アセンブラソースはすっきりしても各命令のバイト数と実行サイクルが大きいからね
狭い8ビットバスを遊ばせておいて8088に勝てるわけない

335 :ナイコンさん:02/05/31 17:29
post byteはオイタだったよな>6809
5bit Offset外してでもインストラクションセットは8bitに収めなきゃ。
機能テンコモリにして低価格化、高集積化、高クロック化できないっちゅー
という構図にハマるのはこのころから始まったんだな、モトローラ。

336 :ナイコンさん:02/05/31 21:50
>>334
6809はメモリ効率よかったと思う。
市販のゲームで、PC88ではディスクアクセスするところを
FM77ではしなかったというのがあったよ。

337 :ナイコンさん:02/06/01 15:32
Z80のニーモニック
EX (SP),HLは、 EX SP,HLではないか?と小一時間たずねたい。


338 :ナイコンさん:02/06/01 20:20
>>337
電波ですか?

339 :ナイコンさん:02/06/01 21:34
>>338 面白そうだから語らせてみよう

340 :あ゛〜〜(=154):02/06/02 16:53
>>339
来ないみたいね。
印輝ニモニックだと「XTHL」。
2文字目の「T」はスタックトップ。

水差し、すまそ


341 :340:02/06/02 16:54
>>340
なんぢゃこの名前わ…
逝ってきます…


342 :ナイコンさん:02/06/03 00:19
ageないと来ないのかな.
小一時間語ってください>>337

343 :ナイコンさん:02/06/04 02:11
10年近く前、Z80からi486に移った時。条件CALL命令がないのに
ショックを受けた。

344 :ナイコンさん:02/06/04 02:24
>>343
ASM86使うんならマクロ作るからあんまり関係ないような
バイト数えるなら関係ありそうだが、ASM86でバイト数える
のはラベルの飛び先知ってないと難しいからね。
MN1610(別名L-16A)みたいに機械語30個しかない世界も
あったのよ、コードの多さじゃ当時Z80が最高だったと思う

345 :ナイコンさん:02/06/04 02:57
>>344
30個ですか?要コンパイラですな。

346 :ナイコンさん:02/06/04 10:20
LkIT-16のキーにはそれぞれアセンブラ命令が書いてあったくらいだからして

347 :ナイコンさん:02/06/04 14:21
09はアセンプラレベルでは命令少なかったけど、ハンドアセンブル時
banch系命令で指を折る罠。
「あ、タリン。long branchを・・あ、ポストバイトが・・あ゙〜〜〜〜!!」

348 :ナイコンさん:02/06/04 14:31
>>345
コンパイラもあったけどインテルPL/Mの親戚だったよ。
当時はCよりSYSL,SPL(PL-1の親戚)が主流だったから
Z80用にもPL/Zなんてのがあったね。09にはこんなのな
かったけど
SPL-16Aなんての使ってたが、みんなサブルーチンの先頭
で「GEN」とか書いて、後はアセンブラでゴリゴリ
「ENDGEN」の後にはReturnしか書かない。

349 :ナイコンさん:02/06/04 23:59
>>347
ハンドアセンブルでリロケータブルやるなよ。

350 :ナイコンさん:02/06/05 00:55
>>349
09のブランチ命令はすべて相対ジャンプだよ。

351 :ナイコンさん:02/06/05 02:03
>>350
ブランチで絶対ジャンプをスキップするんだ
8086のコンパイラでも活用してたな

352 :manko_chinko ◆c2rpKRNM :02/06/28 22:48
この前家庭教師の先生にアンセンブラの本かしてといったら
6809の本を貸してくれました。
で、どうしろと。

353 :ナイコンさん:02/06/29 14:45
いきなりPentium本やRISC本よりはいいかもよ。


354 :ナイコンさん:02/06/29 16:14
相対ジャンプってマルチタスク向きだよね
実行プログラムをどこに配置しても大丈夫だし

355 :manko_chinko ◆c2rpKRNM :02/06/29 17:13
僕としては8086系をやりたいんです

356 :ナイコンさん:02/06/29 17:27
本くらい買え

357 :manko_chinko ◆c2rpKRNM :02/06/29 17:32
何の本がおすすめでしょうか。

358 :ナイコンさん:02/06/29 19:02
目的が何かにもよると思うが。
リアルモードでいいのかとか。
家庭科って・・・中学生?高校生かな。

359 :manko_chinko ◆c2rpKRNM :02/06/29 20:33
>>358
今中学三年生です。

>リアルモードでいいのかとか。
リアルモードってなんですか?(汗

360 :manko_chinko ◆c2rpKRNM :02/06/29 20:39
アクセス可能なメモリ領域が1Mbyteまでって事ですか?>リアルモード

361 :manko_chinko ◆c2rpKRNM :02/06/29 20:54
つまり、起動時にはリアルモードで、その後ソフトウェアによって
プロテクトモードに移行するんですね
んでWindowsはプロテクトモードを利用してて、むかしのMS-DOSとかは
リアルモードを利用するんですね。あってますか?

362 :ナイコンさん:02/06/29 22:56
リアルモードはそんなとこだけど。

C言語は分かりますか?VC++でも持ってれば
デバッグ画面にして逆アセンブルリストを見れば勉強になる。

それがだめなら、どっかで16bit(リアルモード)のアセンブラ
を入手して勉強したほうがいいと思う。本はヤフーオークション
へいって8086とかで検索すれば見つかるよ。


363 :ナイコンさん:02/07/02 01:45
「はじめて読む8086」あたりなら、今でも書店で見かける。
対象機種なんかは古いけど、知識を入れるには手ごろでしょう。

364 :ナイコンさん:02/07/03 02:18
ついにネタが尽きたか・・・しかも板違い

365 :ナイコンさん:02/07/09 03:26
Z80のNMIは何であんな中途半端なアドレスなんだ?
CP/Mが関係あるのか?

366 :ナイコンさん:02/07/09 20:49
>>365
66hはCP/MのFCBなので、CP/MとZ80のNMIは両立しない罠。

367 :340:02/07/13 01:31
>>366
NMI かかったらバンク切り替えするようなハード構成にすれば…
X1-Turbo とかそーじゃなかったっけ?

368 :通りすがりの名無し:02/07/13 01:33
>>367
名前ミスった。スマソ

369 :manko_chinko ◆c2rpKRNM :02/07/13 17:53
ええ、どうも。
はじめて読む8086がいいということで
やっとこさ手に入れました
(なんとamazonで注文したら一ヶ月かかるらしい!)

370 :ナイコンさん:02/07/13 19:36
中古が嫌いでなければ、昔の書籍はヤフオクの方が・・・
これとか。
http://page2.auctions.yahoo.co.jp/jp/auction/b24565835

371 :ナイコンさん:02/07/14 00:31
Z80用の「はじめて読むマシン語」なら、
ブクオフの100円コーナーで購入しました。
今となっては、実用書とはなりませんが、
読み物としては、おもしろいです。

372 :ナイコンさん:02/07/14 20:57
>>367
X1turboの場合、現在のバンクがROMだったらIPLリセットと同じで
RAMでHuBASICだったらBASICのホットスタート。

でもなんで66Hなんだろね。

373 :ナイコンさん:02/07/22 18:10
>>336

>PC88ではディスクアクセスするところを
>FM77ではしなかったというのがあったよ


PC88では音楽演奏しながらディスクアクセスするところを
FM77では音楽演奏しながらディスクアクセスできなかったというのがあったよ。

FM77ユーザーだったので泣けた。


374 :ナイコンさん:02/07/23 17:59
 あぁ〜!やっとこログ読み終えた。
 こんな板あったのですね。昔に戻ったみたい。
(とはいえ、随分後発の石に侵食されてるけど)
 たまーに書き込めたらよいな。よろしく>皆さん



375 :ナイコンさん:02/07/23 19:08
XOR A,B
XOR B,A
XOR A,B

思いついた人は天才かと思ったもんです(当時リア消)

で、今のCPUでこれやると余計遅い・・



376 :ナイコンさん:02/07/23 23:22
>>333
>日立S1向けに68008カード+OS-9がすごい値段で販売されてたっけ。

龜レスだが声を大にして一言言わせてもらう!
68008カードにセットになってたのはCP/M-68KとS1-OSだ!
OS-9も専用カードだが載ってたのはRTCだ!
折れはその凄い値段の68008カードとS1-OSの方を買ったのだ!
一言じゃなくなったのは笑って許して欲しいのだ!

377 :ナイコンさん:02/07/24 00:37
うーん。洩れはあの当時S1買う人はインテリだと思ってた。
だって本体もオプションも高かった。そのくせマイナーだったし。
でも今考えたらカコイーよね、S1って。人と違うっていう感じで。
CP/M-68KってCコンパイラ付きでしたよね。かこいい!

378 :ナイコンさん:02/07/25 10:30
シェルのpushd popd は なぜ pushd pulld じゃないの? と怒る

379 :ナイコンさん:02/07/25 11:32
>>378
辞書見ろばか。PullじゃなくてPopの方が正しいんだよ。

380 :ナイコンさん:02/07/27 01:22
>>379
少なくとも25年前からアンプ方面ではpush pullって言ってますが何か?


381 ::02/07/27 04:06
http://www.e-chene.com/ace/333333/

382 :ナイコンさん:02/07/27 05:49
>>380
数少ない知識のアンプのプッシュプルから連想しちゃったんだね、よしよし。
かわいそうにねえ。

Stackの動作を考えろバカ。pullじゃなくてstackに入ったデータはpopするんだよ。


383 :MB−S1ユーザ:02/07/27 08:35
S1は2台買ったよ。
最初はモデル10なんだけど専用のカセットテープレコーダーじゃないと
セーブできなくて仕方がなく専用を買ったよ。
まぁその分、性能はよくて他の機種でも安定して利用できた。
2台目はモデル40、5インチFDドライブが2台付いている奴だ。
こいつには金を注ぎ込んだよ。
専用プリンタ買ったり、拡張音源ボード互換FM音源ボードを自作したりしてね。
I/Oじゃなくてマイコンの方で音源ボードの記事を書いたのが俺。
64KByte拡張メモリボードを改造して512KByteに文字通り拡張した。
で、OS-9Level2 これ最強。LISP09でProlog。後藤滋樹先生の本を読んで勉強した。

384 :ナイコンさん:02/07/27 10:00
>>382
困ったもんだな。pullでも間違いでないよ。
6809はpullなんだが、知ってるか?

385 :ナイコンさん:02/07/27 10:49
ここはジジババが来る板だぞ。
消防の喧嘩はよそでやれ。な。

386 :ナイコンさん:02/07/27 15:51
>>384
主流じゃないモトローラを出して見苦しいぞ(W

387 :ナイコンさん:02/07/27 16:29
>>386
スレ題みれよ、慌て者め。

海外産のマイコンボードで時々 68HC11 が乗っているようだけど
これは 6809の子孫?


388 :ナイコンさん:02/07/27 19:36
子孫っていうか、組み込み用のMPUだな。
http://www.faqs.org/faqs/microcontroller-faq/68hc11/
とか行ってみ。

389 :ナイコンさん:02/07/27 20:33
6802系の組み込み用

390 :ナイコンさん:02/07/28 01:05
>>388
>>389
情報Thxです。
6809 というより 6802 に近い、でよろしいのかな?
googleってたら JR-100,200 にも相当品が2個も乗っていたんだってね。
知らんかったよ。

391 :ナイコンさん:02/07/28 01:18
ttp://www.itofamily.com/ito/collections/index.html
よそのスレで紹介されてたけど、すごいコレクション。
ここの解説によると 組み込みマイコンという意味では
6801 の子孫になるのか。

392 :ナイコンさん:02/07/28 12:58
>>379
じゃあその辞書とやらを教えてくれや。

え?わざわざ燃料足すなって?
いやこういう一文の得にもならないいがみ合いもなつかしいもんでつ(W

393 :ナイコンさん:02/07/29 19:05
>392
民明書房刊「英語ずてん」だと思われ(w

394 :ナイコンさん:02/08/10 01:36
保守age

395 :ナイコンさん:02/08/17 21:25
なぜに6502を語らせないんじゃー!

396 :ナイコンさん:02/08/18 06:24
スレタイは6809とZ80だけど、他にないし単独スレたてるほどでも
ないので、ここで6502語ってもだれも怒らないと思うよ。

397 :ナイコンさん:02/08/20 10:40
A9 00

398 :ナイコンさん:02/08/27 15:13
>6502
じゃあSC/MPは?

399 :~:02/08/29 17:08
39

400 :ナイコンさん:02/09/01 15:40
400ズザー

SC/MPでも東芝12bitでもOK


401 :ナイコンさん:02/09/05 16:23
かの昔、8080A vs 6802論争の影で、

この3者でどれが優れているか?という

あつい論争があったことを知る者は少ない。

その後AppleIIで6502は大ブレイクしてメジャー入り、

仲間はずれにされたが、

6502をはぶんちょにした2者はばちが当たり死滅。

402 :ナイコンさん:02/09/08 20:32
井の中から見たApple][のイメージですか?(藁

403 :ナイコンさん:02/09/09 20:51
ちうか、どして680*2*なのか?6800じゃないのか?と小一時間(略)

404 :ナイコンさん:02/09/10 06:51
>>403
クロックオシレータが面倒だったんだよ。6800より6802の方が数が出てたんだけど。
小一時間説教してやるからそこのマザーボードを裏返してそこにすわれや。

405 :ナイコンさん:02/09/10 18:21
>TLCS-12A vs SC/MP vs 6502

うわ、すごい話が出てきたな。(かつてTLCS派ダターヨ)

Motorolaがミニコンのダウンスケールで美しい命令セットだと?
笑わせる。東芝だ。東芝が一番だ。インストラクションセットをちょっと探したが
ネット上で見つからなかった。しかしこれを見たときの衝撃は震える物があったyo!

09でやっと乗算命令か。くす。TLCSはすでに除算命令があるぜ。たかが8bitのくせに
生意気ぬかすんじゃねぇー。
80系など安い以外に見るべき所はないね。所詮電卓の派生物に手足をとって付けた
ようなくだらないCPUだ。

I/OではSIOが乗ってるSC/MPがちょっとうらやましかった。
6502のBCDもちょっとうらやましかった。
しかしそれでも圧倒的に高性能でマトモなコーディングをさせてくれるのはTLCSだ。
電子立国日本の国産CPUだ。ウオオ東芝TLCS-12Aバンザイ!

なのになぜか後継Chipも出ず絶滅。
あれ? こんなはずでは・・・・

>>404
6809Eも外部回路で4倍クロックを分周してE/Q作ってましたな。

406 :ナイコンさん:02/09/10 18:49
知らない石の話をされてもなあ・・・

407 :ナイコンさん:02/09/10 19:59
>>405 TLCS-12AにBASICあった?

408 :ナイコンさん:02/09/10 21:19
>>404
クロックが面倒だなんてこたあ知っとるわ。
6802とvsするならむしろ8085とちゃうんかと。
とりあえずお前もそこのΛ-1の基板を裏返してすわれや。ラッピングだから痛いぞ。

いや正直6802の方が数がでてたってのは初耳なんですが、
トレーニングキットや評価ボードでなく組込系の話ですか?

409 :ナイコンさん:02/09/10 22:31
どんなに良いものでも支持されずに廃れたものはそれまでです。
死して屍を拾うものなし。
z80これ最強

410 :ナイコンさん:02/09/10 22:57
Z8000って結局出たのか?

411 :ナイコンさん:02/09/10 22:57
そのZ80もすでに廃れてますがな。
そういうこと言う人はペンティアムでも買ってなさいってこった。


412 :ナイコンさん:02/09/10 23:14
Z8000は出たよ、なに言ってるの?
それよりZ480は出た?

413 :411:02/09/11 00:30
あ〜、漏れは409のレスなのねん。
ついでだから言っときましょか。>>410
ザイログってすでに潰れてますがな。Z480は永遠にでません罠。


414 :ナイコンさん:02/09/11 00:50
ザイログ再建しとるがな。でる可能性が無いともいえない罠。
http://www.zilog.com/

415 ::02/09/11 09:25
>405
TLCS-12Aはキットの名前で、CPUの名前はT3190だったと思うじょ。

>407
結果論はやめなって。もう決着は付いてるんだからさ。

416 :415:02/09/11 09:39
名前デリートしようとしたら間違えて投稿しちゃった。スマソ
>407
BASICは無かったがゲーム数種出てたな。ブロック崩しとか、そんなやつ。
上の>407は>409の間違いね。

で、T3190だけど、1Word=12bitというのが、やっぱなじまなかったんだろうね。
後継で一気に16bitまで持って行っていればPASOPIAもさぞすごいマシンになった
だろうに、惜しいCPUを無くしたものだ。日本はみんなセカンドソーサになっちゃっ
たからね。(Emotion Engineも一代で終わるみたいだし、残念。)

#スレ違いにつき退散。

417 :ナイコンさん:02/09/11 13:52
>>408
うーん、昔のパチンコ(Z80系のLE801だかに変わる前)のCPUは6802が使われていたんだね。
出荷数はパチンコ台の数(+JR100/200、これは雀の涙)がどれだけあるかを考えると、ベーシックマスターなどのPCなんかよりも遙かに多いって事だ。
工業用組込系なんだけど6802を4つ使った機械を設計していたよ。
世界で一番売れていた8ビットCPU(+コア)は6502でもあるしな。(Appleとクローン+PET+VIC+ファミコンとニセモノ+ATARIの各種ゲームマシン他)
Z80なんかよりも遙かに多かった。初耳かな?アメリカのサイトで6502製品の累計とZ80(とセカンドソース)の累計を比べたサイトがあったんだが・・・

Λ-1かあ、よく知ってたね。ラッピングがすごいのは自作のS-100バックプレーンだ(笑)
28本バスという製品をアメリカから取り寄せたら自分で巻けとゲージとスロットにワイヤーとラッピング
ツールが入っていただけというインチキな製品があってな。まあ、当時はそんなもんだったんだけどな。

それから8085とくらべるなら6805じゃないか(笑)どっちもシリアル機能付きだしな。

418 :ナイコンさん:02/09/11 13:54
>>400
誰かCOSMACを語る勇者はおらぬか?

419 :ナイコンさん:02/09/11 19:58
知り得た範囲だけの情報を力説されてもねえ(W

420 :ナイコンさん:02/09/11 20:30
>>417
ああ、そういやパチンコ基板に使われてたってのは聞いたことがあるですよ。
組込系には思い至らなかったけど、ちょっと考えてみりゃあ圧倒的ですな。

RAMは工房のころ擦り切れるまで読んでたよ。棚ずれのH68/TRに6847の
ディスプレイI/F作ってつないだりして。2114が\2,000もしたんだよなあ。

6805となるとそれはそれで微妙に筋違いって気もしないでもないが(W

421 :ナイコンさん:02/09/12 13:53
>>419
知らない事を力説されるよりまし。

422 :ナイコンさん:02/09/12 13:55
>>420
8085って国内製品だと、PC-8201とTK-85以外に何に使われてた?

423 :ナイコンさん:02/09/12 22:16
ちょっとスレ違いっぽくてすまんのだが、8085って、ほんとに何がいいのかよく
わからないCPUだったな。
8080は、実質的には8228,8224を追加しないとコンピュータとしての用を成さな
かった。それを8085は1チップ化したわけだが、8080よりほんの少し遅れて出た
6800は当初から1チップだった。
RST5.5,RST6.5,RST7.5という新しい割り込みも、本当に必要だったのかどうか
よくわからん。8080に8214を付ければ8レベルの割り込みは可能だった。さらに
「たったの」3レベルを付け加える事にどれだけの意味があったのか。
それと、もっとも不可解なのが「シリアルI/O」。これってただの1ビット入
力ポートじゃねーか? 一体なんの意味があったんだ?

424 :ナイコンさん:02/09/13 10:16
>>423
DRAMを使わず割り込みが5本以下で、申し訳程度でいいから(ホストで開発した
コードを受け取るためだけに欲しいとか)ちょっとシリアルが欲しいなんて場合、
結構便利でした。組み込み系ではこんな用途は今でもごまんとありますね。

単体で5本、周辺回路も特別なソフト側の仕掛けもなく割り込みが使える(=サービス
ルーチンの直接起動が出来る)のは8bit系列ではこの石だけでした。割り込みや
シリアルに対して専用命令やマスクレジスタも用意していましたから、便利に使え
ました。

高度な制御や大量のDRAMを使うなら迷わずZ-80ファミリーを使えば良いんですが、
ファミリLSIがやや高く付くんですね。マルチプレックスのAD0-AD7に直接つなげる
専用のRAMもあり、メインメモリ数K事足り、高度な拡張命令も必要ない方面で
(自販機やモータ制御)などではかなり使われていました。
また、規模が小さいためCMOS化が早く、省電力方面でも有利な時期がわりと長く
続きました。

425 :420:02/09/13 23:43
>>422
ざっと調べたらMITEC-85Aてのがあったやね。
それ以外にも、当時のトラ技の巻末で何機種か見た記憶があるけど、記憶違いかもしれん。


426 :ナイコンさん:02/09/14 01:41
松下のマイブレーンなんとかも8085じゃなかったか

427 :ナイコンさん:02/09/14 15:10
8080の命令セットはやっぱりイヤだな

428 :ナイコンさん:02/09/14 15:32
>>427
octalで並べると命令が直交するってのがいやだな。
Z80は3バイト命令以上のアドレシングがムカツク。あと、欲しい命令が結構ない。マクロ展開はいやじゃ。
6802/6502はもちょっと命令が欲しい。
6809は8086みたいなエフェクティブアドレスがいや
80x86、セグメントしね。

429 :ナイコンさん:02/09/14 16:22
>>426
松下通信工業のMybrain700

430 :ナイコンさん:02/09/14 17:09
z80ってさぁ、オペコードフェッチ4サイクル使うじゃん。アレってどうにかならないのかね。
つまりパイプラインキャッシュを使って平均1サイクルに収めるとかさ。
そのためにはz80特有のモード2の割り込みをやめて、外部割込みピンを増やして
8086みたいな仕組みにして欲しい。
あとDRAMリフレッシュも事実上いらないから省いてしまうとか。
ハード的制約が多いから、z80って使われなくなってきているんだと思うよ。
ソフトウェアは限りなく互換でいいからインタフェースを新しくすれば
まだまだ生き残れるのになぁ…。

431 :ナイコンさん:02/09/14 17:20
>>423
当時8085の存在意義はハードウェアインタフェースの改善だったと思うよ。
8080は+12Vが必要だったし周辺ICが必須だったから。
出始めのz80は高価だったし8251や8255などの接続のノウハウもなかったし。
当初は独自のニモニックや増えた命令などハードルがいくつかあって、
懐疑的な見方もあったから。
結局量産化でz80も8085と変わらない、もしくはそれ以下で販売されるように
なって一気に8085は淘汰されたけれどね。

432 :ナイコンさん:02/09/14 21:10
>430
R800

433 :ナイコンさん:02/09/15 00:42
>>430
つうか素のZ80を選ばなきゃならん理由はもはやないよな。

434 :ナイコンさん:02/09/15 10:50
Z80のインデックスレジスタ氏ね。なんであんなに遅いんじゃ。
たいていの場合、インデックスレジスタのオフセット使うより
HL、DE、BCをうまく使ったほうが速かった。
あんなゴミレジスタ追加するくらいならもっと使える命令増やして欲しかった。

435 :ナイコンさん:02/09/15 23:06
>>428
エフェクティブアドレスがイヤつーのはなんでよ?
>>80x86、セグメントしね
には禿しく同意だけどな。

436 :ナイコンさん:02/09/24 10:40
>>435
> >>428
> エフェクティブアドレスがイヤつーのはなんでよ?

09にいちゃもん付けたかったけど見つからなかっただけなんでわ? だって
>6809は8086みたいなエフェクティブアドレスがいや
8086のほうが後発だしょ?

09を出来悪くまねしたのがx86!とか言ってみるテスト

437 :ナイコンさん:02/09/24 18:59
>>436
MMUが無かったから無意味というのではどおじゃ?(笑)

438 :ナイコンさん:02/09/28 17:14
MC6829つーMMUがあったよ。


439 :ナイコンさん:02/09/30 11:31
> 438
広告まで打っていたけど、ブツは市場に出たっけ?>6829

440 :ナイコンさん:02/09/30 21:35
むう、あっちには
http://pc.2ch.net/test/read.cgi/i4004/1009359454/36
って書いてた。鵜津死(W

441 :ナイコンさん:02/10/02 16:56
80x86のセグメントの美しさに気づかない奴はいつまでもマイコン厨。
まあ、確かに非常にウザくなることもあるが、悪いのはMS-DOSだよなぁ。

442 :ナイコンさん:02/10/03 00:11
>>441
おとなしく座ってるから80x86のセグメントの美しさについて小一時間語ってくれ。


443 :ナイコンさん:02/10/03 04:39
80x86で、しかも細かい話だが、誰か教えてほしい。
例えば add ax,[bx] の機械語は 03h 07h で、add [bx],ax なら 01h 07h に
なるから、1バイト目が xxxxxx1x なら ope reg,ea で、xxxxxx0x なら
ope ea,reg という解釈であっているはずだ。
なのになぜ、mov ax,[mmnn] は 0a1h nn mm に、mov [mmnn],ax は 0a3h nn mm と
いう機械語になるんだ?ここだけ、ディスティネーション・ビットの解釈が逆転して
いるように見えるのだが...
これって設計上のバグ?

>>441
せめてリアルモードが24ビット空間だったら、まだマシだったのだが。
なんで20ビットなんて中途半端な空間サイズが選択されたんだろう?


444 :ナイコンさん:02/10/03 22:27
ピン数けちったんじゃないか?トカイッテミル


445 :ナイコンさん:02/10/05 00:12
>>418

 自分はCOSMAC使ってたよ(20年ぐらい前になるが)。
 カナーリ前にデータシート無くしてから触っていなかったけど、
こないだ再Getできたので、また復活させようかと思っている。
 兄弟(1852とか)がもう動かないので、今度作るのは勉強が
てらPLDを使ってみようかな。って考えてるよ。
 COSMACは今でも大好きな石だけど、欲を言えばR0とR2への依
存が無ければなぁ・・・と思ったことはあった。

 ・・・おじゃましました。

446 :443:02/10/05 00:42
>>444
ttp://www.st.rim.or.jp/~nkomatsu/intel8bit/i8080.html
ttp://www.st.rim.or.jp/~nkomatsu/intel8bit/i8085.html
ttp://www.st.rim.or.jp/~nkomatsu/intel16over/i8086.html
全部40ピンのDIPか。リードフレーム使いまわしだな、こりゃ。
1MB空間で半分のピンを食っちまうんじゃ、それ以上増やせなくても当然だったかも。
と思っていたら以下のを見つけた。
ttp://dec.bournemouth.ac.uk/staff/awatson/micro/datasheets/80c86.pdf
んー、QS0,QS1 はどういう時に使うんだ?そもそも出力する必要はあるんか?
RD はS0〜S2 のデコード結果でいいんでは?加えてミニマムモードは省略だ。
おや?4ピン確保できたぞ。40ピンDIPでも16MB空間は可能だったな。


447 :ナイコンさん:02/10/07 08:59
>>405

 話題に乗れんですまんバッテン、自分のTLCS-12Aへの評価は、
「ぅを12bit!」
「除算ついてる!!すげー!!」
だった。
 12Aは勉強したい時には既に資料が無く、悔しい思いをした
記憶あり。
 誰かdatasheetのURL知ってたら教えてちょ!
(俺datasheet持ってるんで、コピーしたる!でも良いです。
自分がT芝にCOPY許諾請求しますので・・・。)

448 :ナイコンさん:02/10/23 10:05
>>447
ttp://www.wide.ne.jp/a5s/ex80.html

ここのWebmasterに連絡を取れば複写ぐらいしてくれるかも。

449 :09:02/11/08 23:48
LEA最強age

450 :ナイコンさん:02/11/09 00:30
intelのMPUはどうして直交性のない目的レジスタばかりなんだろうね
8086系も結局8080のレガシーな構成をそのまま引きずってるからだとは思うけど

IA64っていつ民生に降りてくるんだろ

451 :ナイコンさん:02/11/09 00:49
>>450
つかあの糞アーキテクチャがここまでのびたのはi8080以来上位互換性
マンセーだったから。
そういう意味ではIA-64よりx86-64が本命になるかもしれない。
未確認だがIntelもIA-32に64bits拡張を行うかもしれないそうだ。

VLIWはコンパイラの性能に依存するのも好きになれないところだな。
IA-64なんて一緒にやってたHP以外今のところ(まともには)使ってないやん。

452 :ナイコンさん:02/11/09 02:34
Z80は未来のCPUだからマンセー!!
証拠↓
ttp://www.sharp.co.jp/corporate/news/021022.html

453 :ナイコンさん:02/11/09 09:12
>>452
CPUそのものより動作デモでMZ-80Cを使ったのが萌え!
ttp://www.zdnet.co.jp/mobile/0210/22/n_cgs.html

KでもK2/1200でもなく、Cというのがたまらなく良い。

454 :ナイコンさん:02/11/09 22:10
レジスタの直交性なんてのに価値があったのは、
コンパイラがまだヴァカだった時代のみ。

455 :ナイコンさん:02/11/09 23:29
コンパイラつくる側に気持ちになれ!

456 :ナイコンさん:02/11/10 00:37
IA32は、気にするほど直行性低くないだろ。


457 :イオ:02/11/10 02:28
頭の体操として、セグメント方式の Z80 を作ってみた。
Z8000 と違って、Z80 バイナリ互換を保たせている。
ttp://www.ksky.ne.jp/~smile4me/cpu/io80.htm
なぜ、セグメント方式なのかは、他の方式が既に実在するので
新しいソリューションを提供してみたかったから。
    MMU方式  HD64180, Z280
    リニア方式  Z380, eZ80
    ページ方式  KC160


458 :ナイコンさん:02/11/10 03:26
アドレス拡張はz380みたいなリニアが一番綺麗だと思うけどね
ただz80バイナリっつーのは完全互換でなけりゃ意味ないっしょ
レガシーを活用するのがz80の生命線だから

個人的にはKC160みたいにI/Oアドレスにマッパを載せてくれた
ほうが根本的な概念の変更がなくって扱い易くていい
それよりM1サイクルのキツキツのメモリー制御を
今の技術でどうにかしてくれたほうが256倍発展的だね
願わくばR800みたいにファーストページでのアクセスと
(いやSD-RAMやDDRでもいいけどさ..w)
Z280/Z380みたいな多段キャッシュや
パイプラインを装備して実質の実行速度を確保してくれれば
これからのユビキタスには面白い期待もできるものだけど

459 :ナイコンさん:02/11/10 03:39
面白い提案の気持ちを削ぐ気はないけど
だいたいアレだ、今更z80でマルチタスクOSを動かすわけでも
ないだろうし、巨大なメモリー空間割り当ててもあんまり意味が..
本気でやるなら68000程度のシステム特権命令、保護命令と
仮想メモリに対応できる割込制御を加えないとキツイと思うよ

460 :ナイコンさん:02/11/10 04:10
コモドール64買っとけ!

461 :ナイコンさん:02/11/11 01:53
http://www.rabbitsemiconductor.com/products/microprocessors.html
おまいら、こういうのもあるぞ

462 :ナイコンさん:02/11/11 08:14
>>450
8080はオクタル(8進)でならべてみそ。おそらく8008とかからの引きずってる部分なのかなあ

463 :ナイコンさん:02/11/11 08:17
>>461
うさだ2000とうさだ3000と命名。萌えプロセッサということで。

464 :ナイコンさん:02/11/11 11:40
っつうか、進化したZ80系で話をするなYO!

Z80と6809で話しろ!

465 :イオ:02/11/12 02:47
>458
互換性だが、モード切り替えしなければ、完全互換(のはず)。
さらに切り替えても、互換モードに戻せる。
もっとも LD A,A 等を使っているケースなんてあるのだろうか?
リニア方式が一番なのには御意。ただそれだと Z380 か eZ80 の
二番煎じができるだけで頭の体操にはならないんで。
セグメント方式の利点として、コード64kB、データ64kB の計128kB
オンリーという手が使える。最初に DS/ES/SS に 0x0100 を
セットすれば、後は 16bit アドレシングの操作だけで済む。
キャッシュやパイプラインは当然有るものだと思って作った。
最低限、フェッチ+デコード+実行、の3段に分けないと
使いものにならないほど、複雑なバイナリコードなんで。

>459
1MB 空間だと 8086 に瓜二つになってしまう。ただでさえ似ているのに。
だから違いを強調する意味でも 16MB 空間にしてみた。別に 4MB でも
8MB でもよかったのだが、まあ、切りのいい所ということで。
あと特権系命令は必要だろうか?オーバースペックという気がするが。

>461
2000 の方は ttp://member.nifty.ne.jp/nohishi/r2000.htm で
酷評されてる。

>464
むう。http://pc.2ch.net/test/read.cgi/i4004/1008436790/
の方がよろしかった?


466 :ナイコンさん:02/11/12 20:52
>>465
Iレジスタも16bitに拡張しませんか?

移動候補は
http://pc.2ch.net/test/read.cgi/i4004/1009359454/l50
もあるぜよ。

467 :イオ:02/11/13 01:59
>466
それは一時考えていた。8bit のIH レジスタ(仮名)を追加し、
I レジスタとあわせて 24bit 指定できるようにしようかと思った。
さらに RST 00H を救済するため、RST/NMI/INT の時も IH レジスタを
使って、0x000000 以外にマップできるようにもしようかと思った。
しかし、16bitセグメント+16bitオフセットから24bit 絶対アドレスを
生成する回路のことを考えると 8bit の IH レジスタよりも 16bit の
IS (Interrupt Segment) にした方が具合よさそうに思い始めた。
ところが IS をフルに追加する余地が無い。ES を削除して代わりに
IS を、というのも一瞬考えたが、とても実用的でない。また IS だと、
割り込みベクタのアドレス算出が ((IS + I) << 8) + (D7〜D1 の値) に
なってしまう。やむを得ないところだが、ほとんど値の変わらない
IS と I を毎回加算しなければならないことが馬鹿らしく見えてしまった。
それならばと、IS を ISH と ISL の上下に分け、ISL は常時0にし、
LD ISH,A と LD A,ISH を追加して...というところで、ドツボに
はまりこんでいる気がし始めて、全てを破棄して止めてしまった。

とはいえ、0xED 0x65 と 0xED 0x6D の2コードを空けてはある。
ここに LD IH,A、LD A,IH を入れるべきか、LD ISH,A、LD A,ISH を
入れるべきか。それとも無茶を承知で LD IS,HL、LD HL,IS を入れる
べきか...

http://pc.2ch.net/test/read.cgi/i4004/1009359454/ はPCの
スレという気が。CPUそのものは、ここか >465 で書いたスレか
と思っていたんだが...どこがよろしい?


468 :イオ:02/11/14 23:58
>>467 を書いた後、二日ほど考え直していたが、結論を出した。
5番目のセグメントレジスタ IS を追加する。
合わせて、IS 操作用に LD IS,acc16 と LD acc16,IS も追加する。


469 :ナイコンさん:02/11/15 21:40
8ビットCPUも組み込み系ならまだ現役だけど、
Z80は180系に淘汰されてしまった気がする。

8085は未だ現役だけどね
ttp://www.oki.com/semi/japanese/products/c_mcp.htm


470 :ナイコンさん:02/11/18 20:12
>>469の40PIN DIPパッケージ懐かしいぞage

471 :ナイコンさん:02/11/18 21:49
4004の16PIN DIPパッケージ(始めて見た時)ぶっ飛んだぞsage

なまじ、データ4bit、アドレス12bit という知識だけはあったので
どうやって納まっているんだ?と、とほーにくれてしまった。
3分割されていると知ったのは、その後のこと。


472 :ナイコンさん:02/11/19 02:46
http://gamble.2ch.net/test/read.cgi/slot/1037629418/l50
パチスロ解析しませんか?
【LE2080A】個 人 で も 解 析【丸裸】(inスロ板)

473 :ナイコンさん:02/11/23 00:21
>>471
1命令実行に最低8クロック(w
しかもメインクロックは数百KHz(ww

メンテ兼ねてageとくか。

474 :ナイコンさん:02/11/23 09:33
>>473
クロック自体は 740kHz の様子。(Interface 2002年6月号)
ただし御指摘のように1命令8クロックなので、かなり遅い。
8桁の足し算で 0.85 秒もかかるらしい。(w
ttp://smithsonianchips.si.edu/ice/4004.htm


475 :ナイコンさん:02/12/05 16:09
>>474
8ビットを2階に分けて読んできた挙句BCDかけると
そのくらいかかるだろうな。まじめにコード書いて検証
してみる気にはならんが(笑)。

age!

476 :474:02/12/05 22:30
>>475
いや、10進数8桁の足し算だと思われ。

人間工学的には0.3秒以内に応答が返ってこないと
リアルタイム性を感じないそうだ。
その3倍も時間がかかるのだから、かなり待たされる
感じがするのではないだろうか。
俺はガキの頃、そろばんをやっていたが、8桁なら
下手すれば、そればんの方が早かったかもしれん。

477 :ナイコンさん:02/12/06 13:08
そろばんは A+B の B の入力=A+Bの計算だからちょっとずるい
電卓の方も B の方の入力中に裏で計算してればレスポンスは良くなるだろう…

478 :ナイコンさん:02/12/06 16:05
>>476
ゴメソ書き方が悪かった。
× 8ビットを2階に分けて読んできた挙句BCDかけると
○ (8ビットを2階に分けて読んできた挙句BCDかける)×8桁

ま、とにかく遅そうだっちゅうことで・

479 :ナイコンさん:02/12/06 22:28
>>477
RPN電卓なら演算記号の入力と同時に実行されるので”=”の
入力手間分早い。”()”も入力不要だし。

480 :474:02/12/07 00:16
>>476
そればんって何だよ>俺 (笑)
>>477
入力時点でBの桁数が不明なので不可能。
結局、数字キー以外が押されるまで演算部はお留守番。
>>478
8ビットを二回に分けるって?
4004 はデータ領域は1アドレス4ビットなのだが。
>>479
RPN 方式電卓ではAとBの区切りはどうやるの?
スペースキーでも打つのかいな?


481 :ナイコンさん:02/12/07 00:24
>>477
演算子ボタンをモード切替と解釈して、数値は下位桁から入力する
方式にすれば、加減乗算については可能だな<算盤式電卓

482 :479:02/12/07 00:32
>>480
RPN電卓では(普通の電卓もそうだが)、演算子キーを数値のセパレータとする。
演算を行わずに数値をスタックに積む(数値入力終了の通知)にはエンターキーを
用いる。

483 :ナイコンさん:02/12/07 00:40
>>480
すまん。1桁4bitづつでOKでつね。
(8bitCPUの16進→10進補正命令が頭にこびりついて勘違い)

逝ってきます・・・・。

484 :474:02/12/07 01:15
>>481
俺も同じことを一瞬考えたが、現方式を使っている人々に
逆順に入れろ、といっても受け入れられないと思って書かなかった。
なら、桁数分ボタンを付ければまだしも、と思ったが、
だったら、そろばんの方が遥かにマシ、ということに気づいてしまった。
>>482
了解。
これが「AとBの間に一呼吸入れる」という回答だったら、
もっと面白かったのだが。技術的に。
>>483
4ビットの10進補正ならテーブル変換だけで十分そう。

485 :477:02/12/07 02:01
>>484
初期の電卓って、桁ごとに0〜9のキーがありませんでしたっけ?
えらいたくさんのキーが並んでるのを見た覚えがあるのですが…

今作るなら「億」「万」てなボタンがあればいいかなと思います。「億」を押した時点で桁位置が確定。


486 :474:02/12/07 02:10
>>485
そう言われれば、俺もそんな写真見たような気がするなあ。
すっかり忘れておったよ。

487 :ナイコンさん:02/12/07 02:38
キヤノン「千万単位」
http://cweb.canon.jp/pressrelease/2002-01/pr_calc.html
記事は最近の機種ですが、「千万単位」自体は結構古くから
あります。


488 :474:02/12/07 02:44
>>487
電卓って国内だけで毎年一千万台も売れるのか。すげーな。

489 :ナイコンさん:02/12/08 00:45
>>383
断空我?

490 :ナイコンさん:02/12/09 22:43
なんでZ80の話題ばっかなのさ。
6809は「凄かった」の一言で終わってんのかね。

491 :ナイコンさん:02/12/10 13:18
>>490
だったら自分で何かネタ振んな。

492 :ナイコンさん:02/12/14 03:55
実際に使い込んだ人間は少ないので、
Oh!FMあたりの記事を鵜呑みに「すごかった」伝説だけが一人歩き。

493 :ナイコンさん:02/12/14 04:59
命令体系の対称性と共に68系の優位点とされたのは
「低クロックなのに速い」だったわけだが
6809は90°二相クロックなので、無印(公称1MHz)で
実質4MHz、B09(公称2MHz)で実質8MHzと、
実質的なクロックはZ80より高く、実はCPIが低かった。

494 :ナイコンさん:02/12/14 14:59
命令の直交性で喜ぶのはコンパイラ作者だけ。
しかしながら8bitマシンではメモリ小さいから
コンパイラの実用性には疑問符がつくのだが。

495 :ナイコンさん:02/12/14 15:55
>>494
アセンブル言語で書くときも、直行性が高い方が有り難いのですが。

496 :ナイコンさん:02/12/14 19:25
アセンブル言語、ねぇ…。ル

497 :ナイコンさん:02/12/14 19:53
男ならハンドアセンブルじゃ!

498 :ナイコンさん:02/12/14 23:10
ゲーム機なら最近まで高速化したい部分にアセンブラ普通に使ってましたが。
あと、WindowsやLinuxの長年定評のあるコンパイラを使うぶんには問題ないけど、
そうでない場合は、デバッグ時にはアセンブリ言語の知識があったほうがいいし、
コンパイラのバグになやまされたりすると洒落にならんし。

499 :495:02/12/15 14:26
>>496
すいません。アセンブ*リ*言語の間違いでした。

500 :ナイコンさん:02/12/17 22:52
500ゲットさせていただきます...

501 :ナイコンさん:02/12/17 23:19
>>497
いつぞやのAh!SKI!誌の片隅に、

「ハ ン ド コ ン パ イ ル」

という恐ろしくも微笑ましい文字が躍っていましたな。

502 :ナイコンさん:02/12/18 00:08
 俺じゃないところが情けないが・・・。

 俺の知人の1人に、MZ-80限定の人間コンパイラがいたぞ。
しかもそいつ、アセンブリを知らない奴だったので、BASIC
から直接ダンプに変換してた!
 ・・・今そいつ、どうしてるかな・・・。


503 :ナイコンさん:02/12/18 00:09
ふーん、よかったね

504 :ナイコンさん:02/12/18 02:27
FORTHでハンドコンパイルしたことあったな。
まあ、ただアドレスずらずら並べるだけだけど。

505 :ナイコンさん:02/12/18 12:57
Cコンパイラ使うことなんか考えたらZ80はスタック操作が貧弱つうか
ほとんど考えられてないからつらいよな。IXとかにSPコピーして使う
こともできるけど、スタックフレームが128バイト超えたらダメだし。
その点、6809なら無理のないコードを出せそうだ。

506 :ナイコンさん:02/12/18 14:33
My Computer誌の別冊で6809のニーモニックをCライクにして
開発効率を上げる、というのがあったっけな。

信号線のタイミングチャートから、09の豊富なアドレシングの説明、
全命令コードとの詳細な解説にオペランドをいんちきな指定した際
(TFRやEXGで8bitと16bitレジスタを交換するとか)の実験結果、
簡便ながら周辺LSIの解説、ゼロからのフルスクラッチによる6809
マイコン製作(なんと開発初期に使うトグル・スイッチ+Writeボタン
により1バイトずつ書き込むROMライタから、CRTCとメモリのサイクル
スチール検算まで丁寧に解説)、さらに簡易モニタのコーディング作業と
その全コードという、6809派にとってはお宝本。

Z80系でここまでワイドな内容の本はなかった。

ちなみにこの本の表紙の裏がMMU6829の広告だった。

507 :ナイコンさん:02/12/18 20:02
Z80でCコンパイラ、K&R時代の仕様ならやりくりできたね。
あと引数のレジスタ渡しで楽して速いとか。

508 :ナイコンさん:02/12/27 01:46
Z80の何かのプログラムを逆アセしてて、
IYを自動変数用のスタックポインタ専用に使ってたのがあって、
なるほどなあと思ったことがあるが、
コンパイラがそういう仕様だったんだろうか。


509 :ナイコンさん:02/12/30 23:31
名前からしてインデックスポインタだったし。

510 :ナイコンさん:03/01/05 05:54
6809の系譜はHD6309で終わりですか?ちょっと悲しい

あと、海外でのメジャー採用例はTRSのCoCoくらいでしょうか?

511 :ナイコンさん:03/01/05 18:31
結果的にはZ-80系の圧勝だったワケだが。

512 :ナイコンさん:03/01/05 18:57
>>510の質問に答えられないなら引っ込んでろよ(w

513 : :03/01/07 11:45
先日HD63B09を注文したら、生産を中止したと言われた。
HD63C09ならOKということで、事なきを得た。
もっとも日立直系のところではないので、実際のところは不明。
直系のところに注文したら、口座が無くなっているからと、情報もらえず。
少量生産しているところは辛い。って日立の工場の設備だったけど。

514 :ナイコンさん:03/01/09 00:03
512は誤爆?

515 :ナイコンさん:03/01/09 08:28
へぇ、HD6309って今でも入手できるんだ。
まだ需要があるってことなのかな。

516 :ナイコンさん:03/01/10 00:41
修理でわ。

517 :ナイコンさん:03/01/10 04:27
>>516
なるほど、保守部品か・・・

6809も、Z80のKC80みたいな組み込み用ワンチップ品があれば
新規開発にも使えるのにな。
なんでどこも作らないのかなぁ。

518 : :03/01/10 16:55
修理じゃないよー。
10年以上使っている基板。

519 :ナイコンさん:03/01/10 18:37
>>517
PICやAVRがあるからなぁ。
新規案件にはいまさらZ80/6809なんて過去の遺物は使いたくないよ。
いくらワンチップ化されててもね。

520 :山崎渉:03/01/13 21:34
(^^)

521 :ナイコンさん:03/01/24 10:11
ttp://ne.nikkeibp.co.jp/embedded/2003/01/1000016795.html
>組み込み機器のソフトウエア開発などを手がけるユビキタスは、
>TCP/IPの処理に向けた,8ビット・マイコン「Z80」搭載の評価
>ボードを開発した。
>10MHzで動くZ80コアで独自開発した「TCP/IP-OS」と呼ぶOSを
>動作させることで,Ethernetを使った約15kビット/秒の通信を
>可能にする。

522 :ナイコンさん:03/01/24 13:26
>>519 Z80で育った、おっちゃん連中を説得できる事出来ればね。

523 :ナイコンさん:03/01/24 20:47
>>521
Z80でTCP/IPってきつくない?
俺H8/3069でも苦戦してるんだけど。
ひょっとしてTCP/IPアクセラレータみたいなもん積んでるのか?

524 :ナイコンさん:03/01/24 21:14
>>523 ん? トラ技で特集記事がなかったかな?

525 :ナイコンさん:03/01/24 21:41
>>523
きついから 15kビット/秒しか出ないってことじゃないの?
スライディングウインドウを諦めてウィンドウサイズ1にしてしまえば、送信・受信が交互に行われるわけで、
忙しい間はACKを返さないことにして、とりあえず 1パケットは頑張って受信できるようにしとけばなんとかなるのでは?


526 :ナイコンさん:03/01/25 01:10
PICくっつけてそっちに任せれば?

527 :ナイコンさん:03/01/25 17:01
両方使ってるとビットの並びが面倒でしたな。

528 :ナイコンさん:03/01/25 18:32
PICの割り込み反応速度遅すぎ…普通にZ80でやればヨカータヨ…結局ポーリング

529 :ナイコンさん:03/01/29 00:22
>>522
あと新CPUのためのOJTの決済モナー

530 :ナイコンさん:03/02/15 00:10
>>527
バイトの並びのことれすか?
09 >> big endian
80 >> little endian
多バイト長演算ルーチン以外はZ80系でも
big endianで書くので素性バレバレ!

531 :6809マンセー!:03/02/22 03:18
実はZ80派なんだが。

このスレ向けのすごいID(OS/9best)見つけたので、ご紹介。


「きもい」という言葉ができてから
http://human.2ch.net/test/read.cgi/nohodame/1043568744/l50

1 名前:のほほん名無しさん 投稿日:03/01/26 17:12 ID:OS/9best
この言葉ができてからすごい殺伐としてきたと思うんだが

532 :ナイコンさん:03/03/16 22:33
TCP/IPの話がでてたんで、これ張っとくわ。
なんつーか笑うしかないのう・・・。
http://www.lantronix.com/lang/jp/products/d_xport.html

533 :ナイコンさん:03/03/16 22:39
★男はココを見るべし★女と金と???★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html

534 :山崎渉:03/04/17 12:21
(^^)

535 :山崎渉:03/04/20 06:03
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

536 :山崎渉:03/05/28 17:12
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

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

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)